Câu trả lời:
Khi nào bạn muốn tạo thư mục?
Để tạo một thư mục khi CMake tạo hệ thống xây dựng,
file(MAKE_DIRECTORY ${directory})
Trong add_custom_command()
lệnh (có thêm quy tắc xây dựng tùy chỉnh cho hệ thống xây dựng được tạo) và add_custom_target()
lệnh (có thêm mục tiêu không có đầu ra để nó luôn được xây dựng), bạn chỉ định các lệnh sẽ thực thi khi xây dựng. Tạo một thư mục bằng cách thực hiện lệnh ${CMAKE_COMMAND} -E make_directory
. Ví dụ:
add_custom_target(build-time-make-directory ALL
COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})
Để tạo một thư mục lúc cài đặt,
install(DIRECTORY DESTINATION ${directory})
Để tạo một thư mục lúc cài đặt,
install(DIRECTORY DESTINATION ${directory})
Cả hai sẽ chạy vào thời gian cấu hình:
file(MAKE_DIRECTORY ${directory})
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})
Để tạo trong quá trình xây dựng, hãy sử dụng mục tiêu tùy chỉnh:
add_custom_target(mytargetname ALL COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})
Ngoài câu trả lời của Chin Huang, bạn cũng có thể thực hiện việc này khi xây dựng với add_custom_command
:
add_custom_command(TARGET ${target_name} PRE_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})
Bạn cũng có thể thay đổi thời điểm, khi thư mục của bạn được tạo bằng PRE_BUILD
| PRE_LINK
| POST_BUILD
thông số.