Cmake总结

来源:互联网 发布:明道办公软件官网 编辑:程序博客网 时间:2024/05/21 20:21

Cmake可以帮助我们简化对多个文件的同时编译,使得项目构建变得简单起来。Cmake的主要特点是:
跨平台,并可生成native编译配置文件,在Linux/Unix平台,生成makefile,在苹果平台,可以生成xcode,在Windows平台,可以生成MSVC的工程文件;简化编译构建过程和编译过程,Cmake的工具链非常简单:cmake+make;Cmake有两种编译方式:in-source build(内部构建),out-of-source build(外部构建)。

1.cmake变量引用的方式:
cmake中使用IF使{}取值。

2.自定义变量的方式:
使用SET 指令,就可以构建一个自定义变量了,比如SET(SRC_LIST main.c t1.c t2.c),就可以通过${SRC_LIST}来引用这个自定义变量了。

3.cmake常用变量:
CMAKE_BINARY_DIR=PROJECT_BINARY_DIR=< projectname >_BINARY_DIR,如果是in source编译,就是工程顶层目录,如果是out-of-source编译,指的是工程编译发生的目录。

CMAKE_SOURCE_DIR=PROJECT_SOURCE_DIR=< projectname >_SOURCE_DIR,无论哪种编译方式,都是工程顶层目录。

CMAKE_CURRENT_SOURCE_DIR指的是当前处理的CMkeLists.txt所在的路径。

EXECUTABLE_OUTPUT_PATH和LIBRARY_OUTPUT_PATH分别重新定义最终结果的存放目录。

4.cmake调用环境变量的方式:
使用$ENV{NAME}就可以调用系统的环境变量了。

5.cmake常用指令:
MESSAGE用于向终端输出用户定义的信息。
ADD_DEPENDENCIES定义target依赖的其他target,确保在编译本target之前,其他的target已经被构建。
ADD_EXECUTABLE
ADD_LIBRARY
ADD_SUBDIRECTORY
ADD_TEST
FILE
INCLUDE
INATALL
FIND_指令
IF
WHILE

注意:在linux系统中,一般的流程如下:
源文件→cmakelists.txt→cmake→makefile→make→生成可执行文件。

0 0
原创粉丝点击