2011-08-12 140 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)