Chciałbym utworzyć wieloplatformowy instalator dla systemu opartego na C++, który buduję.Jak utworzyć instalator z CMake + CPack + NSIS w systemie Windows?
Używam CMake do budowania wszystkiego i byłoby wspaniale, gdybym mógł użyć CPack do instalacji. Mam już CPack pracujący na OSX, ale nie mogę go uruchomić w systemie Windows. Aby to ułatwić, próbowałem uzyskać przykład pod adresem http://www.cmake.org/Wiki/CMake:Packaging_With_CPack, aby pracować z oprogramowaniem instalacyjnym NSIS. Nie mogę znaleźć instalatora NSIS w dowolnym miejscu po skonfigurowaniu (z generatorem VS 2010 Win64).
Może jestem zdezorientowany, ale pomyślałem, że będzie można stworzyć pakiet instalacyjny tylko ze źródłem, CMake, CPack i NSIS bez potrzeby Visual Studio. czy to możliwe?
Łącze do pełnego samouczka (ten pod adresem http://www.cmake.org/Wiki/CMake:Component_Install_With_CPack pomija odpowiednie informacje, aby uzyskać dział NSIS i nie wspomina o generatorach lub kompilatorach) byłby bardzo pomocny, lub podstawowe wyjaśnienie, w jaki sposób mogę uzyskać dostęp do tego mitycznego wygenerowany instalator NSIS byłby świetny.
Oto CMakeLists.txt dla powyższego przykładu:
cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR)
project(StPMS)
add_library(mylib mylib.cpp)
add_executable(mylibapp mylibapp.cpp)
target_link_libraries(mylibapp mylib)
install(TARGETS mylib
ARCHIVE
DESTINATION lib
COMPONENT libraries)
install(TARGETS mylibapp
RUNTIME
DESTINATION bin
COMPONENT applications)
install(FILES mylib.h
DESTINATION include
COMPONENT headers)
set(CPACK_GENERATOR NSIS)
set(CPACK_PACKAGE_NAME "MyLib")
set(CPACK_PACKAGE_VENDOR "CMake.org")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "MyLib - CPack Component Installation Example")
set(CPACK_PACKAGE_VERSION "1.0.0")
set(CPACK_PACKAGE_VERSION_MAJOR "1")
set(CPACK_PACKAGE_VERSION_MINOR "0")
set(CPACK_PACKAGE_VERSION_PATCH "0")
set(CPACK_PACKAGE_INSTALL_DIRECTORY "CPack Component Example")
SET(CPACK_NSIS_MODIFY_PATH ON)
INCLUDE(CPack)
Idealny. Nie mogłem znaleźć żadnej spójnej dokumentacji dotyczącej tego, co należy zrobić, gdy dojdzie się do użycia VS. Naprawdę doceniam pomoc! – sklum