Windows 从命令行在CMake项目上设置MSVC运行时
调用CMake时,有没有办法在命令行上设置MSVC运行时?我希望避免必须更改Windows 从命令行在CMake项目上设置MSVC运行时,windows,cmake,windows-runtime,Windows,Cmake,Windows Runtime,调用CMake时,有没有办法在命令行上设置MSVC运行时?我希望避免必须更改CMakeList.txt 谢谢CMake不支持从命令行设置MSVC运行时库。事实上,CMake最近才获得了通过设置MSVC运行时的支持。但是,您可以使用自定义命令行变量来影响MSVC\u RUNTIME\u库变量在项目中的定义方式。在您的CMake代码中添加以下内容: if(MY_MSVC_RUNTIME STREQUAL "MT") message("Setting MT(d)") set_prope
CMakeList.txt
谢谢CMake不支持从命令行设置MSVC运行时库。事实上,CMake最近才获得了通过设置MSVC运行时的支持。但是,您可以使用自定义命令行变量来影响
MSVC\u RUNTIME\u库
变量在项目中的定义方式。在您的CMake代码中添加以下内容:
if(MY_MSVC_RUNTIME STREQUAL "MT")
message("Setting MT(d)")
set_property(TARGET MyTarget PROPERTY
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
elseif(MY_MSVC_RUNTIME STREQUAL "MD")
message("Setting MD(d)")
set_property(TARGET MyTarget PROPERTY
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")
else()
message("Setting MT(d) (default)")
set_property(TARGET MyTarget PROPERTY
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
endif()
这允许您从命令行在多线程
和多线程之间切换。调试部分将根据Visual Studio解决方案配置(调试或发布)自动添加或排除
cmake -DMY_MSVC_RUNTIME=MD ..