【发布时间】:2021-12-13 23:02:17
【问题描述】:
我有一个项目要移植到 cmake。源码架构如下:
src
|- FolderA
|-fileAa.cpp
|-fileAb.cpp
...
|- fileA.cpp
|-CMakeLists.txt
...
文件fileA.cpp如下:
#include <FolderA/fileAa.cpp>
#include <FolderA/fileAb.cpp>
//etc
我的CMakeFiles.txt 如下(FolderA 中的文件不包含在add_library 函数中)
#...
add_library(... fileA.cpp ...)
#...
而且效果很好。当我尝试构建库时,如果我修改FolderA 中的任何文件,则仅重建文件fileA.cpp 并重新构建库。
但是,当我为 Xcode 生成项目时,FolderA 中的文件未显示。有没有办法告诉 cmake 我希望它在我的 Xcode 项目(以及任何其他支持的 IDE)中包含 FolderA 中的文件,但不将它们添加到要为 add_library 函数编译的文件列表中?
我尝试将 FolderA 中的文件属性设置为 HEADER 并仍然将它们包含在 add_library 中(如 here 所述)并且它有点工作,但在 Xcode 中文件显示在平面层次结构中我想保持相同的结构:
我在 Xcode 中想要什么:
|-FolderA
|-fileAa.cpp
|-fileAb.cpp
...
|- fileA.cpp
我在 Xcode 中有什么:
|-fileAa.cpp
|-fileAb.cpp
|-fileA.cpp
...
我有办法告诉 cmake 将文件夹及其内容包含到为 IDE 生成的项目中,而无需将我想要的文件添加到要编译的文件列表中?
【问题讨论】:
标签: c++ xcode visual-studio cmake