在CMake脚本CMakeLists.txt
中,如何检测当前的构建目标,就像通过-A
选项传递给cmake命令的参数一样?有变量WIN32
用于检测Windows,但仍然没有-A
选项的参数,例如-A X64
。
if (WIN32)
#do something
endif (WIN32)
答案 0 :(得分:2)
-A
文件中的平台名称可通过CMAKE_GENERATOR_PLATFORM
变量在CMakeLists.txt
文件中访问。
关于您的措辞,让我注意到CMake中没有诸如“当前构建目标”之类的东西。相反,CMakeLists.txt
文件定义了哪些目标将在CMake创建的生成的Makefile中可用(例如,通过add_executable
或add_library
)。 CMake本身不针对特定目标执行构建。建立哪个目标取决于您如何执行生成的Makefile,例如make <targetname>
。