【发布时间】:2015-11-01 12:35:48
【问题描述】:
我有一个生成库的项目:
project (myCoolLibrary)
ADD_LIBRARY(my_cool_library SHARED ${mysources_SRC})
另一个应该使用这个库的项目:
find_package (myCoolLibrary REQUIRED)
INCLUDE_DIRECTORIES("${myCoolLibrary_INCLUDE_DIRS}" )
add_executable(myCoolExe ${my_sources_SRC} )
TARGET_LINK_LIBRARIES(myCoolExe ${myCoolLibrary_LIBRARIES} )
有没有办法可以更改第一个文件,以便第二个文件自动工作?那通过在第一个文件上运行 CMake,然后在输出上运行 make,然后在第二个文件上运行 CMake,CMake 能够找到包?
我只是将第一个项目的构建地址提供给第二个包的答案也是可以接受的。
【问题讨论】:
-
DevSolar,我读过那篇文章。老实说,我觉得它有点太复杂了,我不喜欢。我希望有一个更简单的方法。另外,如果我是对的,我必须运行“make install”才能让它工作,尽管这很有意义。
-
同一篇文章指出another article是一个较新的解决方案。我会试试这个,看看会发生什么。
-
只是一个提示:可以在 daniperez 的博客文章中找到更简洁的描述:Use CMake-enabled libraries in your CMake project (III)。
-
@Florian 这是最终奏效的,也是我想要的。我必须解决这个问题以正确反映我想要的。另外,如果您写了一个解决方案,我会将其标记为答案,否则我将在几天内自己完成。谢谢。
标签: cmake