c++ - 是否可以将文件添加到 Visual Studio 中的 CMake 生成的解决方案文件夹中?

标签 c++ visual-studio cmake

这个问题或多或少是这个问题的热身:

how to get cmake to add files to msvcs solution tree

它从来没有得到有效的答案,所以我想稍微改变一下:

是否可以使用 cmake 2.8.3 引入的 cmake 解决方案文件夹将文件直接添加到 vs 解决方案?我想做相当于 VS->Solution->Add->Existing Item 的 cmake。所以我的文件将出现在属于解决方案而不属于项目的文件夹中。

我找到了如何使用解决方案文件夹将目标分组到文件夹中的示例,代码如下:

set_property( GLOBAL PROPERTY USE_FOLDERS ON)
set_property(TARGET ${TARGET_NAME} PROPERTY FOLDER "Test") 

那么我可以向文件夹中添加一个文件而不是目标吗?

最佳答案

这可能是不可能的。

CMake 将其 Assets 组织成项目目标。该项目对应于 Visual Studio 的解决方案文件,而每个目标将在各自的解决方案中生成一个 Visual Studio 项目。

现在的问题是 CMake 不允许向 CMake 项目添加文件。事实上,CMake 项目只不过是目标的集合,几乎不提供自定义选项。因此,您提到的 USE_FOLDERS 选项只能用于在解决方案中对 VS 项目进行分组,而不是单个文件。

最接近您要求的可能是添加一个 custom target保存您的文件。然而,这仍然会在解决方案中生成一个 VS 项目(除了你的文件之外,它还包含一堆其他东西)而不是一个普通文件夹。

关于c++ - 是否可以将文件添加到 Visual Studio 中的 CMake 生成的解决方案文件夹中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20251829/

相关文章:

在抽象类中找不到 C++ 标识符

c - 在 Windows 中区分 cmd 行参数和拖动到图标参数的方法?

android - 复选框 onchange 事件 android cordova visual studio 不工作

c++ - 如何在 CMake 中设置编译标志?

c++ - TCS MockVita 2019 第二轮问题 : Hop Game

c++ - 在 X 轴上翻转 QGraphicsItem "inplace"(左/右)

android - 我可以通过 Visual C++ 将 C++ 中的空项目转换为 Android 应用程序吗?

c++ - 对C头文件的 undefined reference

c++ - CMake、C++ 和 Jenkins/持续集成

c++ - 如何在 Windows 控制台中禁用用户选择