c++ - 检查是否从 CMake 生成 Visual Studio 解决方案或 Makefile

标签 c++ visual-studio 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" ..

最佳答案

即使生成器不是 Visual Studio(例如 Windows 上的 Ninja),也可以设置 CMake MSVC 变量。

要检查 CMake 生成器是否为 Visual Studio(即 msbuild),请执行以下操作:

if (CMAKE_GENERATOR MATCHES "Visual Studio")
    # Do Visual Studio specific stuff
else()
    # Other stuff
endif()

关于c++ - 检查是否从 CMake 生成 Visual Studio 解决方案或 Makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26836361/

相关文章:

android - 尝试初始化 monoAndroid 包时出错

svn - 如何使用 CMake 和 SVN 对源外构建目录进行版本控制

c++ - 更改资源文件后如何在 CLion 中进行 CMake 构建

c++ - 可以使用 OpenCV 函数 cvtColor 就地转换矩阵吗?

c++ - C/C++ 警告 : address of temporary with BDADDR_ANY Bluetooth library

c++ - 在 QJSEngine 中访问动态属性

c# - 代码分析找不到引用,失败并出现 0 个错误或警告

c++ - 如何从缓冲区读取特定字符串

visual-studio - Microsoft Multilingual非法字符在构建路径上

gcc - 让 CMake 使用 gccfilter