Я был разочарован CMake-CPack почти неделю.
Плохо то, что онлайн-документация CMake-CPack плохо документирует эту часть.
После поиска в Google я нашел эти переменные для использования:
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
Что я пытаюсь сделать, так это: упаковать пакет Debian с помощью fakeroot make package
, когда пакет установлен sudo dpkg -i MyProgramPackageName
, установить его в /usr/local
с подкаталогом MyProgramPackageName
. То есть все файлы должны быть установлены под /usr/local/MyProgramPackageName-V.1.2.3
.
Я пытался (CMake 2.8.3 и CMake 2.8.5) настроить эти переменные. Я перепробовал так много комбинаций, но не смог.
Единственный успешный способ:
Set(CPACK_PACKAGING_INSTALL_PREFIX /usr/local/MyProgramPackageName-V.1.2.3)
Но эта переменная даже НЕ задокументирована, и ее поведение не может быть гарантировано. Если вас смущает мой вопрос, посоветуйте, когда использовать CPACK_PACKAGE_INSTALL_DIRECTORY
? потому что описание документации об этой переменной действительно привлекательно, и это действительно то, что я хочу, но я просто не мог заставить его работать.
Пожалуйста, посоветуй мне.
Питер