Visual c++ 组织CMake项目,以便在Visual C+中轻松浏览源代码+;
(我是CMake的新手,对Visual Studio不太熟悉。) 我需要实现一个相对较大的库,解决方案/项目文件将由CMake生成,我的问题是我希望VC GUI中的文件组织反映磁盘上的目录结构 基本上,库被分成不同的部分。例如,其中一个称为“common”,将实现库使用的一些头。在磁盘上,它将位于一个特定的“公共”目录中,该目录可能有一个或多个子目录Visual c++ 组织CMake项目,以便在Visual C+中轻松浏览源代码+;,visual-c++,cmake,Visual C++,Cmake,(我是CMake的新手,对Visual Studio不太熟悉。) 我需要实现一个相对较大的库,解决方案/项目文件将由CMake生成,我的问题是我希望VC GUI中的文件组织反映磁盘上的目录结构 基本上,库被分成不同的部分。例如,其中一个称为“common”,将实现库使用的一些头。在磁盘上,它将位于一个特定的“公共”目录中,该目录可能有一个或多个子目录 src/ common/ ... portfolio/ ... asset/ contracts/
src/
common/
...
portfolio/
...
asset/
contracts/
physical_assets/
...
mathutils/
...
我希望在Visual Studio的解决方案资源管理器中看到相同的内容,
但我只知道如何将解决方案拆分为不同的项目。
我该怎么做 不确定这是否是您想要的,但是:首先确保将“工具->选项->项目和解决方案->解决方案浏览器模式”设置为“显示所有文件”。然后,如果在根源目录(可能与CMakeLists.txt所在的目录相同)中创建VS项目,VS将显示该目录及其所有子目录中的所有文件 我认为你做不到。如果使用“显示所有文件”,您将获得所需的内容,但仅限于项目级别。在根目录下创建VS项目可以让您查看所有文件,但您仍然需要为每个要生成的exe/dll/等创建单独的项目。请记住,VS术语中的解决方案是一组项目,而不是目录树。您可以使用CMake FAQ的
源代码组来实现这一点。我找不到这些选项。我的版本是VC7.1。)此外,我可以看到所有文件,但它们都显示在解决方案资源管理器的同一目录中。这不是你的Visual C++版本发生的吗?啊,我用VS2008…我看到了整个目录结构,因为ot在磁盘上。谢谢你的回答。我可以在VisualC++中手动创建子目录,在解决方案资源管理器(右击Addio->新目录)中,所以我认为这不是不可能的,但只是没有被CMASE处理。问题是,在下次运行CMake时,解决方案将被重写,所以在VS中对解决方案的任何更改都将在那时丢失。