Cm ake 的介绍和使用 Cm ake 实践 Cmake 优点: 1. 开发源代码,实用类BSD 许可发布。 2. 跨平台,并可以生成 native 编译配置文件,在 linux/unix 平台,生成 makefile,在 mac 平台可以生成 xcode,在 windows 平台可以生成 msvc 工程的配置文件。 3. 能够管理大型项目 4. 简化编译构建过程和编译过程,只需要 cmake+make 就可以 5. 高效率 6. 可扩展,可以为 cmake 编写特定功能的模块,扩充 cmake 功能 如何安装 cmake 1. Cmake 的安装可以使用autotools 进行安装,点击 cmake-2.8.6.tar.gz 链接,可以对软件进行下载。 2. ./configure 3. make 4. sudo make install Cmake 的原理 Helloworld cmake //main.cpp #include
int main() { printf("hello world from main\n"); return 0; } 创建CMakeLists.txt(注意大小写一个字母都不能错) 向该文件中加入以下几行(稍后会做解释) PROJECT (HELLO) SET(SRC_LIST main.cpp) MESSAGE(STATUS "This is BINARY dir " ${HELLO_BINARY_DIR}) MESSAGE(STATUS "This is SOURCE dir "${HELLO_SOURCE_DIR}) ADD_EXECUTABLE(hello ${SRC_LIST}) 运行以下命令: cmake . (别忘记加上这个点,表示当前目录) 注意执行完这句话之后会生成几个文件如下: CMakeFiles, CMakeCache.txt, cmake_install.cmake 等文件,并且生成了 Makefile 然后执行 make 就可以生成可执行文件 hello 这是当前目录下就会生成可执行文件如下图: 对例子的解释: CMakeLists.txt的内容如下: PROJECT (HELLO) SET(SRC_LIST main.cpp) MESSAGE(STATUS "This is BINARY dir " ${HELLO_BINARY_DIR}) MESSAGE(STATUS "This is SOURCE dir "${HELLO_SOURCE_DIR}) ADD_EXECUTABLE(hello ${SRC_LIST}) Project的指令的语法是: PROJECT(projectname [CXX] [C] [JAVA]) 这个执行是用来定义工程的名称的和定义工程支持的语言。这个指令也隐式的定义了两个cmake变量:_BINARY_DIR以及_BINARY_DIR,这里就是HELLO_BINARY_DIR和HELLO_SOURCE_DIR,两个变量指的都是当前工程的路径。 SET指令的语法: SET(VAR[VALUE] [CACHE TYPE DOCSTRING [FORCE]]) Set指令是用来显式的定义变量的,我们之前用到的是SET(SRC_LIST main.cpp)如果有多个源文件,也可以定义成S...