CMake: родительский каталог? Как найти родительский каталог в CMake? Предположим, что ${MYPROJECT_DIR}=/dir1/dir2/dir3/myproject/ и я хотим ${PARENT_DIR}=/dir1/dir2/dir3/. Как это сделать? SET(PARENT_DIR ${MYPROJECT_DIR}/../) не выглядит правильным синтаксисом. Ответ 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)
Ответ 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)