跳到主要内容

CMake 常用变量

CMake 常用变量

CMAKE_BINARY_DIR、PROJECT_BINARY_DIR、<projectname>_BINARY_DIR:指的是工程编译发生的目录
CMAKE_SOURCE_DIR、PROJECT_SOURCE_DIR、<projectname>_SOURCE_DIR: 指的是工程顶层目录
CMAKE_CURRENT_SOURCE_DIR: 指的是当前处理的 CMakeLists.txt 所在路径
CMAKE_CURRENT_BINARY_DIR: 指的是工程编译结果存放的目标目录,可以通过 set 命令或 ADD_SUBDIRECTORY(src bin)改变这个变量的值,但是 set(EXECUTABLE_OUTPUT_PATH <new_paht>) 并不改变这个变量的值,只会影响最终的保存路径
CMAKE_CURRENT_LSIT_FILE: 指的是当前 CMakeLists.txt 文件所在完整路径
CMAKE_CURRENT_LSIT_LINE: 指的是调用这个变量当前所在行(在MakeLists.txt中的行数)
CMAKE_MODULE_PATH: 指的是自己加入的cmake模块路径,通过set来设置
EXECUTABLE_OUTPUT_PATH 和 LIBRARY_OUTPUT_PATH:定义最终编译结果的二进制执行文件和库文件的存放目录
PROJECT_NAME: 指的是通过set设置的PROJECT的名称
ENV{NAME}: 指的是环境变量,通过set(ENV{NAME} new_path)设置,通过$ENV{NAME}调用
CMAKE_INCLUDE_PATH和CMAKE_LIBRARY_PATH:这两个是系统变量而不是cmake变量,需要在bash中用export或在csh中用set命令设置
CMAKE_MAJOR_VERSION: CMAKE主版本号,比如 2.4.6 中的2
CMAKE_MINOR_VERSION: CMAKE次版本号,比如 2.4.6 中的4
CMAKE_PATCH_VERSION: CMAKE补丁等级,比如 2.4.6 中的6
CMAKE_SYSTEM:系统名称,比如 Linux-2.6.22
CMAKE_SYSTEM_NAME: 不包含版本的系统名,比如 Linux
CMAKE_SYSTEM_VERSION: 系统版本,比如 2.6.22
CMAKE_SYSTEM_PROCESSOR: 处理器名称,比如 i686.
UNIX: 在所有的类UNIX平台为 TRUE,包括 OS X 和 cygwin
WIN32:在所有的win32平台为 TRUE,包括 cygwin