Tôi đang cố gắng tạo một dự án đơn giản trên CLion. Nó sử dụng CMake (tôi là người mới ở đây) để tạo các tệp Makefiles để xây dựng dự án (hoặc một số loại nó)
Tất cả những gì tôi cần là chuyển một số tệp không thuộc dự án (một số loại tệp tài nguyên) sang thư mục nhị phân mỗi khi tôi chạy mã của mình.
Tệp đó chứa dữ liệu thử nghiệm và ứng dụng mở nó để đọc chúng. Tôi đã thử một số cách để làm như vậy:
Thông qua
file(COPY ...
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/input.txt DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/input.txt
Trông đẹp nhưng nó chỉ hoạt động một lần và không sao chép lại tệp sau lần chạy tiếp theo.
Thông qua
add_custom_command
OUTPUT
phiên bảnadd_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/input.txt COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/input.txt ${CMAKE_CURRENT_BINARY_DIR}/input.txt)
TARGET
phiên bảnadd_custom_target(foo) add_custom_command( TARGET foo COMMAND ${CMAKE_COMMAND} copy ${CMAKE_CURRENT_BINARY_DIR}/test/input.txt ${CMAKE_SOURCE_DIR})
Nhưng không ai trong số nó hoạt động.
Tôi đang làm gì sai?
configure_file
sẽ không hoạt động với các thư mục con, ngay cả khi bạn sử dụng GLOB để tạo danh sách tệp.