如何在CMAKE中指定相对路径?

时间:2014-11-06 19:16:29

标签: cmake

我想在CMake中指定一个相对于当前目录的路径,但是找不到解决方案。

我的项目位于以下路径:

C:/Projects/ProjectA/CMakeLists.txt

我想使用set()命令

指定以下目录的相对路径的名称
C:/External/Library

换句话说,什么是

的CMake翻译
../../External/Library?

谢谢,

1 个答案:

答案 0 :(得分:21)

几乎完全相同,只是你允许CMake在另一个位置运行“out-of-tree”构建。您可以通过指定相对于${CMAKE_CURRENT_SOURCE_DIR}的路径来执行此操作,该路径是包含当前CMakeLists.txt文件的目录。

${CMAKE_CURRENT_SOURCE_DIR}/../../External/Library

但是,您可能需要重新考虑,而是使用FIND_LIBRARY和FIND_FILE命令搜索一组预定义的位置,以便您的库的用户不必保持相同的相对结构。