2011-08-12 94 views
18

我有一个非常简单的问题。 如何在CMake中找到父目录?CMake:父目录?

假设${MYPROJECT_DIR}=/dir1/dir2/dir3/myproject/和我想要${PARENT_DIR}=/dir1/dir2/dir3/

如何做到这一点? SET(PARENT_DIR ${MYPROJECT_DIR}/../)似乎不是正确的语法...

非常感谢。

回答

31

随着CMake的2.8.12的,推荐的方法是使用get_filename_component命令与DIRECTORY选项:

get_filename_component(PARENT_DIR ${MYPROJECT_DIR} DIRECTORY) 

对于旧版本的CMake的,使用PATH选项:

set (MYPROJECT_DIR /dir1/dir2/dir3/myproject/) 
get_filename_component(PARENT_DIR ${MYPROJECT_DIR} PATH)