使用CMake的Visual Studio 2017的文件夹结构

哈维尔·德·佩德罗

我正在使用Qt在C ++中使用CMake生成解决方案的新项目中。

该项目很大,在Visual Studio 2017和QtCreator中都可以正常工作。大多数人会使用Ninja生成用于构建的解决方案,然后将构建导入QtCreator。但是我更喜欢使用VS IDE。

问题在于,使用QtCreator时,解决方案资源管理器将保持文件夹结构,但是在VS中,所有项目(库和dll)都从解决方案(根)挂起,因此我丢失了一些有价值的信息。

我是CMake的新手,我想知道是否有一种方法可以生成具有与源代码相同的文件夹结构的VS解决方案,而不影响QtCreator解决方案。

九柱游戏

CMake确实支持将Visual Studio解决方案资源管理器中的项目组织到文件夹中,因此您可以命名文件夹以镜像系统上的目录结构。例如,如果您的项目是这样组织的:

Utilities/LibraryA
Utilities/LibraryB
Executables/tools/ParserExecutable

您可以在VS Solution Explorer中使用set_target_properties命令withFOLDER来指定每个项目的包含文件夹:

实用程序/CMakeLists.txt

set_target_properties(LibraryA PROPERTIES FOLDER "Utilities")
set_target_properties(LibraryB PROPERTIES FOLDER "Utilities")

可执行文件/工具/CMakeLists.txt

set_target_properties(ParserExecutable PROPERTIES FOLDER "Executables/tools")

您可以尝试使用CMAKE_CURRENT_SOURCE_DIR而不是显式命名文件夹来实现此目的的自动化,但首先要从一个简单的案例开始!

另外,请确保将其添加到顶级CMake中以为项目启用VS文件夹。

set_property(GLOBAL PROPERTY USE_FOLDERS ON)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Visual Studio 2017 -TFS - 组织文件夹结构输出

如何更改“ Visual Studio 2017”文件夹位置?

Visual Studio 2017中的“ onecore”文件夹

Visual Studio 2017 - 打开文件夹 - TFVC 集成

将Visual Studio文件夹结构导出到Excel

如何在Visual Studio中设置文件夹结构

更改Visual Studio 2017使用的NuGet软件包文件夹

在Visual Studio 2017的Xamarin.Android项目中将可绘制文件夹替换为mipmap文件夹?

Visual Studio 2017 的 Projects 文件夹有项目名称文件夹和它的 sln 文件,但为什么它们不在它的常规项目文件夹中?

Visual Studio 2017/2019 无法完全打开项目文件夹的所有文件

Visual Studio 2019 不会从 .csproj 文件自动创建文件夹结构

查找Visual C ++工具的包含Visual Studio 2017的文件夹位置

Visual Studio 2017:如何在解决方案文件夹中包含NuGet包

Visual Studio 2017中的Nuget安装会跳过名为“ Windows”的内容文件夹

在文件夹视图中时,Visual Studio 2017中的项目属性在哪里?

从Visual Studio 2017任务列表中排除文件夹

Visual Studio 2017-发行文件夹中可能不需要的dll

如何自动化Visual Studio 2017 Web项目发布到文件夹

如何移动随Visual Studio 2017安装的Android SDK文件夹?

在Visual Studio 2017中更改项目的nuget包搜索和安装文件夹

Visual Studio 2017在本地AppData文件夹中占用磁盘空间

Visual Studio 2017科尔多瓦; 更改Android构建的目标文件夹

无法识别解决方案文件夹中的Visual Studio 2017 Nuget.config

Visual Studio 2017 防止忽略挂起更改 TFVS 上的 Packages 文件夹

Visual Studio 2012中的“浅文件夹结构” InstallShield选项

使用CMake在同一文件夹中生成两个Visual Studio解决方案

Visual Studio项目文件夹约定

项目中的 Visual Studio 文件夹

为使用Liferay Developer Studio的Liferay Maven项目推荐文件夹结构