zl程序教程

您现在的位置是:首页 >  后端

当前栏目

CMake常见变量——Project和CMake相关信息

变量 信息 相关 常见 project CMake
2023-09-14 09:15:49 时间

link

CMAKE_AR: 静态库的归档工具的名称。这个变量指定了用于创建档案或静态库的程序的名称。
CMAKE_ARGC: 在脚本模式下传给CMake的命令行参数的个数。当运行在-P脚本模式下,CMake设置该变量为命令行参数的个数。
CMAKE_ARGV0: 在脚本模式下传给CMake的命令行的第一个参数。
CMAKE_BINARY_DIR: 构建树的最外层路径,是当前CMake构建树的最外层的全路径。对于在源码中构建的情况,它与CMAKE_SOURCE_DIR的值一样。
CMAKE_BUILD_TOOL: 执行构建过程的工具。该变量设置为CMake构建时输出所需的程序。对于VS 6, CMAKE_BUILD_TOOL设置为msdev, 对于Unix,它被设置为make 或 gmake。 对于 VS 7, 它被设置为devenv. 对于Nmake构建文件,它的值为nmake。
CMAKE_CACHEFILE_DIR: 该变量设置为包含CMakeCache.txt文件的目录的全路径。通常与CMAKE_BINARY_DIR的值一样。
CMAKE_CACHE_MAJOR_VERSION: 用于创建CMakeCache.txt文件的CMake的主版本号。只有当CMake运行于在由一个不同版本的CMake创建的cache文件时,这个变量的值才会不同。
CMAKE_CACHE_MINOR_VERSION: 用于创建CMakeCache.txt文件的CMake的次版本号。只有当CMake运行于在由一个不同版本的CMake创建的cache文件时,这个变量的值才会不同。
CMAKE_CACHE_PATCH_VERSION: 用于创建CMakeCache.txt文件的CMake的补丁版本号。只有当CMake运行于在由一个不同版本的CMake创建的cache文件时,这个变量的值才会不同。
CMAKE_CFG_INTDIR: 构建时对每个配置的输出子目录的引用。对于在一个构建树中支持多个配置的本地构建系统(例如Visual Studio或Xcode),该值就是对指定单个配置输出子目录的一个构建时变量的引用。对于Makefile产生器,该变量解析为”.”。因为在此构建树,只有一个配置。示例的值 如下:
$(IntDir) = Visual Studio 6
$(OutDir) = Visual Studio 7, 8, 9
$(Configuration) = Visual Studio 10
$(CONFIGURATION) = Xcode
. = Make-based tools

由于这些值由本地构建系统解析,该变量只适合用于命令行下,这些命令在构建时被解析。使用例子如下:

add_executable(mytool mytool.c)
add_custom_command(
OUTPUT out.txt
COMMAND C M A K E C U R R E N T B I N A R Y D I R / {CMAKE_CURRENT_BINARY_DIR}/ CMAKECURRENTBINARYDIR/{CMAKE_CFG_INTDIR}/mytool
${CMAKE_CURRENT_SOURCE_DIR}/in.txt out.txt
DEPENDS mytool in.txt
)
add_custom_target(drive ALL DEPENDSout.txt)

CMAKE_COMMAND: 指向cmake可执行程序的全路径。

CMAKE_CROSSCOMPILING: 当前CMake是否是交叉编译。
CMAKE_CTEST_COMMAND: 指向ctest可执行程序的全路径。
CMAKE_CURRENT_BINARY_DIR: 当前正在处理的构建目录。每个由add_subdirectory添加的目录将会在构建树中创建一个构建目录。对于直接在源码目录中编译的情况,当前正在处理的构建目录就是当前源码所在的目录。
CMAKE_CURRENT_LIST_DIR: 当前处理的CMakeLists.txt文件所在的目录。
CMAKE_CURRENT_LIST_FILE: 当前处理的CMakeLists.txt文件的全路径。
CMAKE_CURRENT_LIST_LINE: 当前处理的CMakeLists.txt文件的行号。
CMAKE_CURRENT_SOURCE_DIR: 当前处理的源码路径。
CMAKE_DL_LIBS: 包含dlopen和dlclose的库的名称。
CMAKE_EDIT_COMMAND: cmake-gui或ccmake的全路径。
CMAKE_EXECUTABLE_SUFFIX: 该平台上可执行程序的后缀。
CMAKE_EXTRA_GENERATOR: 额外的用于构建工程的产生器。当使用Eclispse, CodeBlocks或KDevelop产生器时,CMake会产生Makefile文件以及相应的工程文件(CMAKE_GENERATOR)。该IDE工程文件产生器存储于CMAKE_EXTRA_GENERATOR(如:”Eclipse CDT4”)
CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES: 共享库额外的后缀名。这些共享库不是CMAKE_SHARED_LIBRARY_SUFFIX。在分析某个目标链接的库时,CMake使用该变量识别外部共享库文件。
CMAKE_GENERATOR: 构建工程的产生器。它将产生构建文件 (e.g. “Unix Makefiles”, “Visual Studio 6”, etc.)
CMAKE_HOME_DIRECTORY: 源码树的顶级目录的路径。
CMAKE_IMPORT_LIBRARY_PREFIX: 链接的引入库的前缀。CMAKE_IMPORT_LIBRARY_PREFIX_ overrides this for language .
CMAKE_IMPORT_LIBRARY_SUFFIX: 链接的引入库的后缀。CMAKE_IMPORT_LIBRARY_SUFFIX_ overrides this for language .
CMAKE_LINK_LIBRARY_SUFFIX: 链接的库的后缀。如Windows下是.lib。
CMAKE_MAJOR_VERSION: CMake的主版本号。
CMAKE_MAKE_PROGRAM: 该变量主要是为了向后兼容。参见:CMAKE_BUILD_TOOL.
CMAKE_MINOR_VERSION: CMake的次版本号。
CMAKE_PARENT_LIST_FILE: 正在处理的CMakeLists.txt文件的父CMakelists.txt文件所在的路径。
CMAKE_PATCH_VERSION: CMake的补丁版本。
CMAKE_PROJECT_NAME: 当前工程的名字。
CMAKE_RANLIB: 静态库的随机化工具的名称。
CMAKE_ROOT: cmake的安装目录。
CMAKE_SCRIPT_MODE_FILE: 脚本模式下正在处理的脚本文件。
CMAKE_SHARED_LIBRARY_PREFIX: 链接的共享库的前缀。TCMAKE_SHARED_LIBRARY_PREFIX_ overrides this for language .
CMAKE_SHARED_LIBRARY_SUFFIX:链接的共享库的后缀。CMAKE_SHARED_LIBRARY_SUFFIX_ overrides this for language .
CMAKE_SHARED_MODULE_PREFIX: 链接的可加载模块的前缀。CMAKE_SHARED_MODULE_PREFIX_ overrides this for language .
CMAKE_SHARED_MODULE_SUFFIX: 链接的可加载模块的后缀。CMAKE_SHARED_MODULE_SUFFIX_ overrides this for language .
CMAKE_SIZEOF_VOID_P: void指针的大小。
CMAKE_SKIP_RPATH: 如果为真,将不添加运行时路径信息。默认情况下是如果平台支持运行时信息,将会添加运行时信息到可执行程序当中。这样从构建树中运行程序将很容易。为了在安装过程中忽略掉RPATH,使用CMAKE_SKIP_INSTALL_RPATH。
CMAKE_SOURCE_DIR: 源码树的最顶级目录。当在源码中编译时,与CMAKE_BINARY_DIR的值一致。
CMAKE_STANDARD_LIBRARIES: 链接到每个可执行程序和共享库的标准库。它包含一系列库。
CMAKE_STATIC_LIBRARY_PREFIX:链接的静态库的前缀。CMAKE_STATIC_LIBRARY_PREFIX_ overrides this for language .
CMAKE_STATIC_LIBRARY_SUFFIX: 链接的静态库的后缀。CMAKE_STATIC_LIBRARY_SUFFIX_ overrides this for language .
CMAKE_TWEAK_VERSION: CMake的tweak版本。
CMAKE_USING_VC_FREE_TOOLS: 当使用了免费的Visual tools时为真。通常当编译器是Visual Studio免费工具时,该变量设为真。
CMAKE_VERBOSE_MAKEFILE: 当开启时创建verbose的构建文件。默认为false.当设置为真时,CMake会产生verbose构建文件,它会显示使用到的每个命令行。
CMAKE_VERSION: CMake的完全版本号。格式:major.minor.patch[.tweak[-id]]。
PROJECT_BINARY_DIR: 工程的构建目录。
PROJECT_NAME: 工程名。
PROJECT_SOURCE_DIR: 当前工程的顶级目录。
[Project name]_BINARY_DIR: 对应工程的顶级构建目录。
[Project name]_SOURCE_DIR: 对应工程的源码目录。

————————————————
版权声明:本文为CSDN博主「山庄来客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fuyajun01/article/details/8891749