Tôi có hai câu hỏi liên quan đến CMakeCMake: Cách lấy tên của tất cả các thư mục con của một thư mục?
1) Giả sử rằng chúng ta có một biến ${MY_CURRENT_DIR}
có chứa đường dẫn của một thư mục chứa nhiều thư mục con: mydir1, mydir2 và mydir3. Tôi muốn phát hiện các thư mục con này và đặt tên của chúng vào ${SUBDIRS}
(không phải đường dẫn đầy đủ của các thư mục này, chỉ có tên của chúng). Làm thế nào để làm điều đó tự động?
2) Giả sử rằng ${SUBDIRS}
chứa "mydir1 mydir2 mydir3". Cách thay thế
ADD_SUBDIRECTORY(mydir1)
ADD_SUBDIRECTORY(mydir2)
ADD_SUBDIRECTORY(mydir3)
bằng vòng lặp trên ${SUBDIRS}
?
Cảm ơn bạn rất nhiều.
để cải thiện hiệu suất, đặc biệt là nếu 'dirlist' dài, sử dụng 'LIST (APPEND dirlist $ {child})' thay vì 'SET (dirlist $ {dirlist} $ {child})' [xem tại đây] (http://www.cmake.org/Wiki/C Make_Performance_Tips # Use_LIST.28APPEND _.... 29) – ParokshaX
Lưu ý quan trọng: điều này sẽ không hoạt động với 'GLOB_RECURSE', chỉ với' GLOB' – Synxis
GLOB_RECURSE có LIST_DIRECTORIES mặc định sai trong khi GLOB có LIST_DIRECTORIES mặc định là true. Nếu bạn sử dụng recurse, bạn sẽ phải đặt nó thành true – Jaco