检查是否从CMake生成Visual Studio解决方案或Makefile
Check if generating a Visual Studio solution or Makefile from CMake
我如何在CMakeLists.txt中知道我正在生成Visual Studio解决方案还是Makefile?
我需要将外部项目添加到这样的解决方案中:
INCLUDE_EXTERNAL_MSPROJECT(cs-tests ${CMAKE_CURRENT_SOURCE_DIR}/cstests/cstests.csproj)
但我只想在打的时候做
cmake .. -DCMAKE_BUILD_TYPE=Debug -G "Visual Studio 12 2013"
当我打电话时没有:
cmake -G "NMake Makefiles" ..
CMake MSVC
变量可以设置,即使生成器不是Visual Studio
(例如Windows上的Ninja
)。
为了检查CMake生成器是否是Visual Studio(即msbuild),以下操作完成了任务:
if (CMAKE_GENERATOR MATCHES "Visual Studio")
# Do Visual Studio specific stuff
else()
# Other stuff
endif()
生成器的名称存储在CMAKE_GENERATOR
中。它应该包含-G
选项给出的确切字符串。
MSVC
变量也应该设置为TRUE
,MSVC12
和MSVC_IDE
也是如此(尽管我目前无法从文档中确认这一点)
相关文章:
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- 使用 Git 处理 C++ Visual Studio 2019 解决方案的外部依赖项源代码管理的最佳方法是什么?
- MS Visual Studio 解决方案结合了非托管C++项目和 C# 项目
- 在 Visual Studio 解决方案中设置所有项目的运行时库
- C++ Visual Studio 解决方案的共享属性表(调试和发布)
- 如何从Visual Studio解决方案中完全删除Google测试
- 使用 VCEXPRESS 和现有的 Visual Studio 解决方案调试.exe文件
- 将CMAKE项目添加到Visual Studio解决方案中
- 带有Appveyor上的G-Tests的Visual Studio解决方案
- 从颠覆下载Visual Studio解决方案时,滤波器信息会丢失
- 从Visual Studio解决方案生成生成生成文件(用于GCC)
- 消除visual studio解决方案文件夹中的临时文件
- 为Visual Studio解决方案中的所有项目设置目录结构
- 在同一个 Visual Studio 解决方案中使用 MDd 和 MTd
- 在CMake中包含Visual Studio解决方案
- 在 Visual Studio 解决方案中链接两个项目
- 检查是否从CMake生成Visual Studio解决方案或Makefile
- 如何在Linux下构建Visual Studio解决方案
- 如何将CMake包含和库添加到Visual Studio解决方案中
- 如何配置使用项目中源文件的目录结构生成Visual Studio解决方案