我使用的是Visual Studio 2013、CMake 3.5.1和Windows 10。 我正在尝试通过CMake复制一些文件,如下所示:
file(COPY ${IMAGES} DESTINATION ${CMAKE_BINARY_DIR}/bin/Release)
是否可以使用代表配置的变量来替换“Release”:
file(COPY ${IMAGES} DESTINATION ${CMAKE_BINARY_DIR}/bin/${Variable})
我尝试过
file(COPY ${IMAGES} DESTINATION ${CMAKE_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE})
当我使用message命令打印时,CMAKE_BUILD_TYPE是一个空字符串,我也尝试了
file(COPY ${IMAGES} DESTINATION ${CMAKE_BINARY_DIR}/bin/$<CONFIGURATION>)
但是由于某些原因,file命令无法解释$<CONFIGURATION>
,而像此类的命令
add_custom_target(run COMMAND ${CMAKE_BINARY_DIR}/bin/$<CONFIGURATION>/Test.exe)
如何在CMake中提取Visual Studio当前是以Release还是Debug模式构建的正确方法?
cmake -G“Visual Studio 15 2017 Win64”..
创建了一个VS解决方案,现在我有一个 *.sln 项目和CMAKE_CONFIGURATION_TYPES = Debug; Release; MinSizeRel; RelWithDebInfo
(我想这很标准)。 我能够使用配置管理器(或下拉菜单)更改配置。如何在CMakeLists.txt
中检索当前选择的配置? - Netherwireadd_custom_target
能够工作是因为自定义目标会在手动或程序化生成 sln 文件之后被调用。 - user3667089