cmake find_package 中,include_directories,target_link_libraries 的值怎么知道?
拿Sophus庫為例:
find_package(Sophus REQUIRED)
include_directories(${Sophus_INCLUDE_DIRS})
target_link_libraries(useSophus ${Sophus_LIBRARIES})
我們怎么知道要連接Sophus_INCLUDE_DIRS,Sophus_LIBRARIES,而不是SOPHUS_INCLUDE_DIRS,SOPHUS_LIBRARIES或其他,其實
find_package主要是找到.cmake文件,然后這些變量在.cmake 里面定義了,我們看Sophus/SophusConfig.cmake:
# Sophus source dir
set( Sophus_SOURCE_DIR "/home/xxx/slamcode/ch4/Sophus")
?
################################################################################
# Sophus build dir
set( Sophus_DIR "/home/xxx/slamcode/ch4/Sophus")
?
################################################################################
set( Sophus_INCLUDE_DIR? "/home/xxx/slamcode/ch4/Sophus;/usr/include/eigen3" )
set( Sophus_INCLUDE_DIRS? "/home/xxx/slamcode/ch4/Sophus;/usr/include/eigen3" )
?
set( Sophus_LIBRARIES? ? "/home/xxx/slamcode/ch4/Sophus/libSophus.so" )
set( Sophus_LIBRARY? ? ? "/home/xxx/slamcode/ch4/Sophus/libSophus.so" )
?
set( Sophus_LIBRARY_DIR? "/home/xxx/slamcode/ch4/Sophus" )
set( Sophus_LIBRARY_DIRS "/home/xxx/slamcode/ch4/Sophus" )
?
然后就知道那些變量可以用了吧
?
?
?
轉載于:https://www.cnblogs.com/YouXiangLiThon/p/8644527.html
總結
以上是生活随笔為你收集整理的cmake find_package 中,include_directories,target_link_libraries 的值怎么知道?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: String常用方法总结
- 下一篇: Python攻克之路-random模块