Подтвердить что ты не робот

CMake: родительский каталог?

Как найти родительский каталог в CMake?

Предположим, что ${MYPROJECT_DIR}=/dir1/dir2/dir3/myproject/ и я хотим ${PARENT_DIR}=/dir1/dir2/dir3/.

Как это сделать? SET(PARENT_DIR ${MYPROJECT_DIR}/../) не выглядит правильным синтаксисом.

4b9b3361

Ответ 1

Начиная с 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)