Tôi đã thất vọng bởi CMake-CPack trong gần một tuần.Đường dẫn cài đặt gói CMake-CPack Nightmare
Điều xấu là tài liệu trực tuyến CMake-CPack không ghi lại phần này tốt.
Sau khi googling, tôi thấy biến này để sử dụng:
CPACK_PACKAGING_PREFIX # NOT documented
CMAKE_INSTALL_PREFIX # Documented, but the behavior seems weird
CPACK_INSTALL_PREFIX # NOT documented
CPACK_PACKAGE_INSTALL_DIRECTORY # Documented, but this variable does NOT work as the online document described
CPACK_PACKAGING_INSTALL_PREFIX # NOT documented
Những gì tôi đang cố gắng làm là: gói một gói Debian sử dụng fakeroot make package
, khi gói được cài đặt bởi sudo dpkg -i MyProgramPackageName
, cài đặt nó để /usr/local
, với một thư mục con MyProgramPackageName
. Tức là, tất cả các tệp phải được cài đặt theo /usr/local/MyProgramPackageName-V.1.2.3
.
Tôi đã cố gắng (CMake 2.8.3 và CMake 2.8.5) để điều chỉnh các biến này. Tôi đã thử rất nhiều kết hợp, nhưng thất bại.
Cách duy nhất thành công là:
Set(CPACK_PACKAGING_INSTALL_PREFIX /usr/local/MyProgramPackageName-V.1.2.3)
Nhưng biến này được thậm chí không ghi nhận, và hành vi không thể được đảm bảo. Nếu bạn đang nhầm lẫn với câu hỏi của tôi, xin vui lòng tư vấn cho tôi khi sử dụng CPACK_PACKAGE_INSTALL_DIRECTORY
? bởi vì mô tả tài liệu về biến này thực sự hấp dẫn, và nó thực sự là những gì tôi muốn, nhưng tôi không thể làm cho nó hoạt động được.
Vui lòng thông báo cho tôi.
Peter
Tôi đang bối rối. Tôi đang sử dụng CPACK để gói nó, để nó sẽ cài đặt ứng dụng đến nơi tôi muốn. Trong chỉ thị 'INSTALL', tôi luôn cài đặt một thư mục hoặc tập tin vào một đường dẫn tương đối đến INSTALL_PREFIX/DIRECTORY. –
Bạn chỉ muốn một đường dẫn tương đối trong đích cài đặt - nó sẽ tự động cài đặt tương ứng với CMAKE_INSTALL_PREFIX, không cần chỉ định. Chỉ định một đường dẫn tuyệt đối là một cách thuận tiện để có được tất cả các công cụ cài đặt này gây rối. –