【发布时间】:2011-06-21 18:19:22
【问题描述】:
我正在尝试使用 CMake 在 C++ 项目与其使用的库之间建立一些简单的依赖关系。
设置如下
- 项目
- 依赖关系
项目本身包含包含来自Dependency 的标头的源文件,并且在构建可执行文件时,它需要链接到Dependency 的静态库。
到目前为止,我可以让它工作,但我必须在 CMakeLists.txt 文件中手动为 Project 指定 Dependency 的包含目录。我希望自动将其拉出,并且我已经探索了使用 find_package() 命令的选项,但成功有限,并使事情变得更加复杂。
我想要做的就是在Project 之前构建Dependency 并让Project 链接到库并拥有它的包含目录。有没有一种简单简洁的方法来实现这一点?
我当前的 CMake 文件:
Project,文件CMakeLists.txt:
cmake_minimum_required (VERSION 2.6)
project (Project)
include_directories ("${PROJECT_SOURCE_DIR}/Project")
add_subdirectory (Dependency)
add_executable (Project main.cpp)
target_link_libraries (Project Dependency)
add_dependencies(Project Dependency)
Dependency,文件CMakeLists.txt:
project(Dependency)
add_library(Dependency SomethingToCompile.cpp)
target_link_libraries(Dependency)
【问题讨论】: