Tôi muốn đổi tên tệp trình cài đặt mà CPack (v2.8.7) tạo để bao gồm số phiên bản thu được tại thời gian xây dựng từ hệ thống kiểm soát phiên bản. Nó xuất hiện điều này không thể được thực hiện bằng cách thiết lập các biến CPACK_ * vì điều đó xảy ra tại thời gian "cmake".Đổi tên đầu ra của CPack
Điều tôi muốn có thể làm là chạy "(n) tạo gói" và có tệp trình cài đặt được tạo mà không cần thêm lệnh nào. Hai cách tiếp cận có thể có mà tôi biết là thao tác các biến tên tệp CPack tại thời gian xây dựng và đổi tên đầu ra cuối cùng của CPack.
Nếu sử dụng "include (CPack)" trong tệp CMakeLists.txt thì có vẻ như CPack luôn chạy cuối cùng và bạn không thể có lệnh sau khi tạo. This mailing list message cho thấy rằng một mục tiêu tùy chỉnh có thể được viết để chạy CPack, nhưng tôi đã không thể tìm ra cách để làm điều đó mà không cần tạo đệ quy vô hạn.
Làm cách nào để thực hiện điều này?
Bạn có thể tiến thêm một bước nữa và tạo ra 'CPackOptions.cmake.in' và' create-cpackoptions.cmake' từ CMakeFile.txt. Điều này có nghĩa là bạn không cần hai tệp trong cây nguồn của mình. Ví dụ: tập tin «tệp (WRITE $ {CMAKE_BINARY_DIR} /CPackOptions.cmake.in" (CPACK_PACKAGE_FILE_NAME \ "@ proj_name @ - \ $ {CPACK_PACKAGE_VERSION} r @ revision @ - \ $ {CPACK_SYSTEM_NAME} \") ")' –