在CMakeLists.txt中检测CMake构建目标?

时间:2019-04-11 00:59:37

标签: cmake

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

if (WIN32)
    #do something
endif (WIN32)

1 个答案:

答案 0 :(得分:2)

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

关于您的措辞,让我注意到CMake中没有诸如“当前构建目标”之类的东西。相反,CMakeLists.txt文件定义了哪些目标将在CMake创建的生成的Makefile中可用(例如,通过add_executableadd_library)。 CMake本身不针对特定目标执行构建。建立哪个目标取决于您如何执行生成的Makefile,例如make <targetname>