首页 > 解决方案 > 在 CMakeLists.txt 中检测 CMake 构建目标?

问题描述

在 CMake 脚本CMakeLists.txt中,如何检测当前的构建目标,例如通过-A选项传递给 cmake 命令的参数?有变量WIN32可以检测 Windows,但仍然没有-A选项的参数,例如-A X64.

if (WIN32)
    #do something
endif (WIN32)

标签: cmake

解决方案


-A随标志提供的平台名称可通过变量在CMakeLists.txt文件中访问。CMAKE_GENERATOR_PLATFORM

关于您的措辞,请注意,CMake 中没有“当前构建目标”之类的东西。相反,该CMakeLists.txt文件定义了哪些目标将在由 CMake 创建的生成的 Makefile(例如 viaadd_executable或)中可用。add_libraryCMake 本身不会为特定目标执行构建。构建哪个目标取决于您如何执行生成的 Makefile,例如make <targetname>.


推荐阅读