gpt4 book ai didi

visual-studio - 带有 CMake 的 Visual Studio 2017 的文件夹结构

转载 作者:行者123 更新时间:2023-12-03 15:49:13 25 4
gpt4 key购买 nike

我正在使用 C++ 使用 Qt 在一个新项目中工作,该项目使用 CMake 生成解决方案。

该项目相当大,在 Visual Studio 2017 和 QtCreator 中都运行良好。大多数人使用 Ninja 生成构建解决方案并将构建导入 QtCreator。但我更喜欢使用 VS IDE。

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

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

最佳答案

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

Utilities/LibraryA
Utilities/LibraryB
Executables/tools/ParserExecutable

您可以使用 set_target_properties 命令与 FOLDER 在 VS 解决方案资源管理器中为每个项目指定包含文件夹:

实用程序/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)

关于visual-studio - 带有 CMake 的 Visual Studio 2017 的文件夹结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57163098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com