zoukankan      html  css  js  c++  java
  • 使用CMake管理工程

     

    1.什么是CMake?

    请参考

    http://en.wikipedia.org/wiki/CMake

    http://www.cmake.org/

    简单来讲,CMake是一套跨平台的工程构建工具。传统的*nix下生成Makefile的工具主要是autotools系列。这些工具根据不同的系统可以生成相应的makefile。相比于传统的autotools系列工具。CMake可以根据不同平台下的IDE生成相应的工程文件。目前至少支持makefile,Visual studio系列, eclipse cdt, mingw,和codeblocks等。

    2.一个CMake的例子。

    假设现在希望生成一个名为Test的工程,包括hello.cpp一个文件(在目录Test下)

    1 #include <stdio.h>
    2
    3 int main(int argc,char **argv)
    4 {
    5 printf("Hello world!\n");
    6 return 0;
    7 }

    现在希望CMake构建该工程。

    首先,CMake需要CMakeLists.txt文件来配置。于是在Test目录下新建CMakeLists.txt文件。

    CMakeLists.txt文件内容

    PROJECT (Test)
    SET(SRC_LIST hello.cpp)
    ADD_EXECUTABLE(test ${SRC_LIST})

    然后构建项目,在命令行下(对应于windows下的command shell),进入Test目录。

    cmake .

    即可(注意.表示当前目录)。CMake便会自动生成相应的Makefile(或者visual studio的工程文件)

    3, 更多参考

    上述例子比较简单,更多CMake的用法可以参考CMake的官方文档和wiki,http://www.cmake.org -->help --> document and wiki

    另外,个人感觉CMake的官方文档本身写的很生硬和晦涩。一般性的应用推荐下面这个tutorial

    http://sewm.pku.edu.cn/src/paradise/reference/CMake%20Practice.pdf

    (其中pdf文件文件第6页最后一行,SRC_LIST应为${SRC_LIST},相信大家很容易可以看出来原文的笔误)

    基本上正常使用所需要的内容,上述tutorial 都已包含。而且例子很多,强烈推荐。

  • 相关阅读:
    socket通信简介
    存储过程多次遍历
    js动态表格笔记
    Java excel导出笔记
    Eclipse快捷键
    oracle表,视图,存储过程,函数,序列.....查询
    Java基础笔记
    Active MQ学习笔记
    linux svn
    html中submit和button的区别
  • 原文地址:https://www.cnblogs.com/cute/p/2159454.html
Copyright © 2011-2022 走看看