2011-08-12 33 views
18

Tôi có một câu hỏi rất đơn giản. Cách tìm thư mục mẹ trong CMake?CMake: thư mục chính?

Giả sử rằng ${MYPROJECT_DIR}=/dir1/dir2/dir3/myproject/ và tôi muốn ${PARENT_DIR}=/dir1/dir2/dir3/.

Làm cách nào để thực hiện điều đó? SET(PARENT_DIR ${MYPROJECT_DIR}/../) dường như không đúng cú pháp ...

Cảm ơn bạn rất nhiều.

Trả lời

31

Tính đến CMake 2.8.12, cách đề nghị là sử dụng lệnh get_filename_component với DIRECTORY tùy chọn:

get_filename_component(PARENT_DIR ${MYPROJECT_DIR} DIRECTORY) 

Đối với phiên bản cũ của CMake, sử dụng các tùy chọn PATH:

set (MYPROJECT_DIR /dir1/dir2/dir3/myproject/) 
get_filename_component(PARENT_DIR ${MYPROJECT_DIR} PATH) 
Các vấn đề liên quan