【发布时间】:2015-09-15 10:59:47
【问题描述】:
我正在将一个大型库项目从 Linux 移植到 Windows。幸运的是,我们甚至在远程移植之前就使用了 CMake,因此不需要太多调整。
我认为在 Windows 上本地开发 Windows 部件以便于测试可能是个好主意,因此我使用 CMake-gui 创建了一个 VS Studio
我的项目是这样组织的:
lib/ # 库源代码 包括/ mylib/ # 公共可安装头文件
在我添加的顶部 CMakeLists.txt 中
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
所以我的内部源文件包含标题,就像外部应用程序一样。
现在的问题如下:Visual Studio 2015 在大量系统头文件中的“外部引用”目录中显示公共头文件。哪些头文件属于项目并不明显。
如何让 VS 显示独立于系统包含的公共标头?
【问题讨论】:
-
您希望在 Visual Studio 项目中显式列出的所有头文件都必须在 CMake 目标的源列表中作为源文件列出。然后您可以通过
source_group(... REGULAR_EXPRESSION ...)命令对这些源/标头进行分组。有关详细信息,请参阅 Keeping file hierarchy across subdirectories in CMake 和 How to keep source folders hierarchy on solution explorer?。 -
如果我能够接受此评论作为正确答案,我会这样做。非常感谢。
-
不客气。把我的评论变成了答案。我添加了一个示例实现。
标签: c++ visual-studio cmake cross-platform