现在看到一个开源代码的CMakeLists文件,现在来学习里面的一些东西;
${PROJECT_SOURCE_DIR}
文件里有多个这个,这是获取变量PROJECT_SOURCE_DIR的值;但是没看到PROJECT_SOURCE_DIR的定义;PROJECT_SOURCE_DIR是CMake的预定义
变量表示工程的根目录;
我当前的代码在 D:\3dtile\Cesium3DTilesConverter-master 目录;是不是指这个目录;
还有2个常用的预定义变量是,
PROJECT_BINARY_DIR 运行 cmake 命令的目录,通常是 ${PROJECT_SOURCE_DIR}/build
PROJECT_NAME 返回通过 project 命令定义的项目名称;
set(CMAKE_CXX_STANDARD 17)
这是指定C++标准;这里指定了17,那么项目要在支持C++17的编译环境才能编译;
C++标准有以下;
C++98/C++03标准,C++11标准,C++14标准,C++17标准,C++20标准,C++23标准;
CMAKE_MODULE_PATH
预定义变量;定义自己的 cmake 模块所在的路径,SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake),然后可以用INCLUDE命令来调