概述
CMake定义为高级编译配置文件,具有以下特点:
1、开源代码,使用类BSD许可发布。
2、跨平台,并可以生成native编译配置文件,在linux/Unix平台,生成makefile,在苹果平台可以生成Xcode,在windows平台,可以生成MSVC的工程文件。
3、能够管理大型项目。
4、简化编译构建过程和编译过程。cmake的工具链:cmake+make。
5、高效率,因为cmake在工具链中没有libtool。
6、可扩展,可以为cmake编写特定功能的模块,扩展cmake功能。
基本语法规则
1.变量
变量使用 ${ValueName} 方式取值,但在IF语句中直接使用变量名。
1.CMAKE_BINARY_DIR 或 PROJECT_BINARY_DIR 或<ProjectName>_BINARY_DIR:均代表编译目录。如果是内部构建,就是指工程顶层目录;如果是外部构建,就是指工程编译发生的目录。
2.CMAKE_SOURCE_DIR 或 PROJECT_SOURCE_DIR 或 <ProjectName>_SOURCE_DIR:均代表工程顶层目录。
3.CMAKE_CURRENT_SOURCE_DIR:代表当前处理的 CMakeLists.txt 所在的路径。
4.CMAKE_CURRENT_BINARY_DIR:如果是内部构建,与CMAKE_CURRENT_SOURCE_DIR相同;如果是外部构建,则代表目标编译目录。
5.CMAKE_CURRENT_LIST_FILE:这个变量所在的CMakeLists.txt的完整路径。
6.CMAKE_CURRENT_LIST_LINE:这个变量所在的行。
7.CMAKE_MODULE_PATH:定义cmake模块所在的路径
8.EXECUTABLE_OUTPUT_PATH 和 LIBRARY_OUTPUT_PATH:分别重新定义最终结果的存放目录。
9.PROJECT_NAME:项目名称