cmake tạo ra một cái gì đó như sau cho sự cai trị cài đặt:Có thể thêm các lệnh sau khi cài đặt vào Makefile cấp cao nhất được tạo bởi cmake không?
# Special rule for the target install
install: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
/usr/local/bin/cmake -P cmake_install.cmake
.PHONY : install
Những gì tôi muốn làm là có một số lệnh tùy chỉnh thực hiện sau khi cmake_install.cmake được gọi để nó trông giống như sau:
# Special rule for the target install
install: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
/usr/local/bin/cmake -P cmake_install.cmake
post_install_command_1
...
post_install_command_n
.PHONY : install
Tôi có thể làm những gì tôi muốn bằng cách sử dụng "add_custom_command (TARGET ... POST_BUILD ...)" cho những thứ mà chúng tôi đã viết (6 - 10 macro để cập nhật). Tuy nhiên, có một loạt các thứ bên thứ ba được cài đặt và tôi thực sự không muốn thêm các lệnh tùy chỉnh POST_BUILD cho tất cả chúng (hiện tại có 19 dự án với nhiều dự án hơn và có thể khó xác định những gì cần xử lý sau khi xây dựng thay vì sau khi cài đặt). Tôi nghĩ sẽ dễ dàng hơn để duy trì nếu lệnh tùy chỉnh chỉ được sử dụng ở một nơi (tức là phần cuối cùng của quá trình cài đặt) và nơi tôi biết chúng sẽ làm mọi thứ cần thiết.
Có thể lấy cmake để thêm lệnh vào quy tắc cài đặt của Makefile cấp cao nhất không?
Cảm ơn bạn! Tôi thề rằng tôi đã thử một cái gì đó như thế này và nó đã không hoạt động. Thử lại lần nữa và nó hoạt động.Đoán tôi phải có một lỗi đánh máy (hoặc cái gì đó) mà giữ nó làm việc. – joast
Tính năng này không hoạt động đối với bản dựng của tôi với các thư mục con. Sự kết thúc của CMakeLists.txt ngoài cùng được thực hiện trước khi tất cả các cmake_install.cmake được đưa vào từ các thư mục con. – rickfoosusa
Ít khó khăn, đặc biệt là liên quan đến việc chỉ định đường dẫn cài đặt thư mục con và mục tiêu từ gốc, nhưng cuối cùng nó hoạt động. – taranaki