CMake-CPack tarafından neredeyse bir hafta boyunca sinirli oldum.CMake-CPack Paket Yükleme Yolu Kabus
Kötü olan şey, CMake-CPack çevrimiçi belgelerinin bu bölümü iyi belgelememesidir. ile, paket paket sudo dpkg -i MyProgramPackageName
tarafından yüklenen fakeroot make package
kullanan bir Debian paketi /usr/local
kurun:
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
Ne yapmaya çalışıyorum geçerli:
Googling sonra bu değişkenler kullanmak bulundu Bir alt dizin MyProgramPackageName
. Yani, tüm dosyalar /usr/local/MyProgramPackageName-V.1.2.3
'un altına yüklenmelidir.
Bu değişkenleri ayarlamak için (CMake 2.8.3 ve CMake 2.8.5) deniyorum. Çok fazla kombinasyon denedim ama başarısız oldu. başarılı
tek yoludur:
Set(CPACK_PACKAGING_INSTALL_PREFIX /usr/local/MyProgramPackageName-V.1.2.3)
Ancak bu değişken bile belgelenmiş DEĞİLDİR ve davranış garanti edilemez. Eğer soru ile kafanız karıştıysa, lütfen CPACK_PACKAGE_INSTALL_DIRECTORY
'u ne zaman kullanmamı önerirsiniz? çünkü bu değişkenle ilgili dokümantasyon açıklaması gerçekten caziptir ve benim istediğim şey budur, ancak çalışmayı başaramadım.
Lütfen tavsiye edin. CPACK kullandığı
Peter
Kafam karıştı. Paketlemek için CPACK kullanıyorum, böylece uygulamayı istediğim yere yükleyeceğim. INSTALL yönergesinde, her zaman bir klasör veya dosyaları INSTALL_PREFIX/DIRECTORY için göreceli bir yola kurarım. –
Sadece yükleme hedefinde göreceli bir yol istiyorsunuz - CMAKE_INSTALL_PREFIX'e otomatik olarak bağlanır, belirtmeye gerek yoktur. Mutlak bir yol belirtmek, tüm bu yükleme işlerini berbat hale getirmek için uygun bir yoldur. –