CMake:根据其他子项目构建子项目header
CMake: build subproject depending on other's subproject header
我有一个项目包含两个子目录(简化):
project(superproj)
add_subdirectory(foo-api)
add_subdirectory(bar-api)
bar-api
使用 foo-api
headers 并希望它们安装在 $PREFIX/include/foo
中(其文件包含 #include <foo/header.h>
)
但是当我编译这个超级项目时,我不想 foo-api
实际安装在我的系统中。在这种情况下如何构建 bar-api
?是否可以在不弄乱 bar-api
的 CMakeFile 的情况下这样做?我想让这两个项目尽可能独立,所以可以单独克隆和构建它们。
project(superproj)
include_directories(foo-api/path/to/includes)
add_subdirectory(foo-api)
add_subdirectory(bar-api)
它的操作传播到当前目录中的所有子目录。是的,考虑 target_include_directories
现代版本的 CMake,正如 Florian 在评论中提到的那样。
我有一个项目包含两个子目录(简化):
project(superproj)
add_subdirectory(foo-api)
add_subdirectory(bar-api)
bar-api
使用 foo-api
headers 并希望它们安装在 $PREFIX/include/foo
中(其文件包含 #include <foo/header.h>
)
但是当我编译这个超级项目时,我不想 foo-api
实际安装在我的系统中。在这种情况下如何构建 bar-api
?是否可以在不弄乱 bar-api
的 CMakeFile 的情况下这样做?我想让这两个项目尽可能独立,所以可以单独克隆和构建它们。
project(superproj)
include_directories(foo-api/path/to/includes)
add_subdirectory(foo-api)
add_subdirectory(bar-api)
它的操作传播到当前目录中的所有子目录。是的,考虑 target_include_directories
现代版本的 CMake,正如 Florian 在评论中提到的那样。