2010-05-11 27 views
5

Tôi cần xây dựng một thư viện được đặt tại vị trí tùy chỉnh được lưu trữ trong biến CUSTOM_OUTDIR. Hiện tại, tôi đang sử dụng mã sau đây để đảm bảo rằng thư viện được sao chép vào vị trí thích hợp của nó.cmake add_library tại một vị trí tùy chỉnh

ADD_LIBRARY(example MODULE example.c) 

GET_TARGET_PROPERTY(FILEPATH example LOCATION) 
ADD_CUSTOM_COMMAND(
    TARGET example POST_BUILD 
    COMMAND ${CMAKE_COMMAND} 
    ARGS -E copy ${FILEPATH} ${CUSTOM_OUTDIR} 
) 

Tuy nhiên, đây không phải là giải pháp tốt khi sao chép được thực hiện sau post_build và tôi kết thúc với hai bản sao của thư viện. Có cách nào để thiết lập CMAKE_BINARY_DIR chỉ cho thư viện example để chỉ một bản sao của nó được lưu giữ ở vị trí thích hợp không?

Trả lời

8

Lệnh

set_target_properties(example PROPERTIES 
    LIBRARY_OUTPUT_DIRECTORY "${CUSTOM_OUTDIR}" 
) 

nên làm những gì bạn muốn. Tôi không ở trước một máy phát ngay bây giờ, kiểm tra sau.

Các vấn đề liên quan