我正在使用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] 删除。
我来说两句