我正在修改CMakeLists。txt编译具有依赖项的库。我不知道如何提供到上面子目录中位置的相对路径
CMAKE_CURRENT_LIST_DIR
.通常我会用
CMAKE_当前_列表_目录
创建相对路径,或使用绝对路径。后者在这里不是一个选项。
以下是我的情况:
使用CMakeLists。txt,它目前找不到其他库(在这里,
FIRST
,
SECOND
,及
THIRD
)通过
find_package(FIRST REQUIRED)
find_package(SECOND REQUIRED)
因此,我想通过以下方式设置include/lib路径:
FIRST_INCLUDE_DIR=
FIRST_LIBRARY=
SECOND_INCLUDE_DIR=
SECOND_LIBRARY=
当前,对于当前正在处理的listfile的完整目录,如下所示:
message("${CMAKE_CURRENT_LIST_DIR}")
输出
/home/travis/build/repohandle/libraryname/00_pkg_src/libraryname/src/package
但是
第一
和
第二
以下是:
/home/travis/build/repohandle/libraryname/00_pkg_src/libraryname/src/first
/home/travis/build/repohandle/libraryname/00_pkg_src/libraryname/src/second
我怎样才能链接到
/src/first
和
/src/second
使用相对路径?
比如:
FIRST_INCLUDE_DIR="${SOME_LOCATION}/src/first/include"
FIRST_LIBRARY="${SOME_LOCATION}/src/first/"
SECOND_INCLUDE_DIR="${SOME_LOCATION}/src/second/include"
SECOND_LIBRARY="${SOME_LOCATION}/src/second/include"