CMake sẽ chỉ cài đặt một mục tiêu thực thi nếu bạn áp dụng các install
chức năng với nó, ví dụ:
install(TARGETS ExecutableTest RUNTIME DESTINATION "bin")
Để ngăn chặn việc cài đặt của ExecutableTest
cho một Release
xây dựng, thêm một hạn chế CONFIGURATIONS
:
install(TARGETS ExecutableTest RUNTIME DESTINATION "bin" CONFIGURATIONS Debug)
Hoặc, bạn có thể tạo ExecutableTest
một op tional mục tiêu, đó là không được xây dựng theo mặc định:
add_executable(ExecutableTest EXCLUDE_FROM_ALL ${ExecutableTestFiles})
và sau đó tùy chọn chỉ cài đặt các ExecutableTest
nếu nó đã được xây dựng một cách rõ ràng:
install(TARGETS ExecutableTest RUNTIME DESTINATION "bin" OPTIONAL)
Tất cả các chỉ tiêu kiểm tra tùy chọn có thể được gộp lại trong một mục tiêu siêu tới cho phép xây dựng chúng trong một bước:
add_custom_target(MyTests DEPENDS ExecutableTest ExecutableTest2 ExecutableTest3)
tôi cần nó cho cả Debug và phát hành, vì vậy đề nghị đầu tiên, mặc dù won khả thi' t làm việc. một với mục tiêu tùy chọn có vẻ chính xác những gì tôi muốn, sẽ cho nó một thử trong một giây và sẽ cung cấp cho câu trả lời này một chevron ngay sau đó. – bobah
# 2 đã ngăn chặn các bài kiểm tra được xây dựng, Có cách nào để nhóm tất cả các mục tiêu tùy chọn này để có thể nói "làm cho mytests" không? – bobah
xem câu trả lời được cập nhật. – sakra