CMakeLists.txt 文件中有一些无需显式定义即可使用的全局变量,这些变量用于管理项目的构建过程。常用的包括:
-
${CMAKE_SOURCE_DIR}
:这个变量表示项目的根源目录,即包含 CMakeLists.txt 文件的目录。通常用于指定源代码文件的位置。 -
${CMAKE_BINARY_DIR}
:表示 CMake 生成的构建文件(例如编译器生成的中间文件和可执行文件)的根目录。这通常用于指定构建文件的输出位置。 -
${CMAKE_CURRENT_SOURCE_DIR}
:表示当前处理的 CMakeLists.txt 文件所在的目录。这个变量在多目录项目中很有用。 -
${CMAKE_CURRENT_BINARY_DIR}
:表示当前处理的 CMakeLists.txt 文件的构建目录,通常与${CMAKE_CURRENT_SOURCE_DIR}
相对应。 -
${CMAKE_MODULE_PATH}
:一个包含了额外的模块查找路径的变量。这可以用于自定义模块的位置。 -
${CMAKE_INSTALL_PREFIX}
:指定安装目录的根路径。在安装项目时,可用于确定安装文件的位置。 -
${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
和${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
:分别指定库文件和可执行文件的输出目录。 -
${CMAKE_BUILD_TYPE}
:指定构建的类型,如 Debug、Release 等。这在控制编译选项和优化时非常有用。
这些变量在 CMake 构建系统中非常有用,可以帮助你管理项目的目录结构、文件位置以及构建过程中的各种参数。