ビルドしているC++ベースのシステム用のクロスプラットフォームインストーラを作成したいと思います。WindowsでCMake + CPack + NSISを使ってインストーラを作成するには?
私はCMakeを使ってすべてをビルドしています。私はCPackを使ってインストーラを作ることができれば素晴らしいと思います。私はすでにOSX上で動作しているCPackを持っていますが、Windows上で動作させることはできません。作業を簡単にするために、私はという例題をNSISインストーラソフトウェアで動作させようとしました。 VSIS 2010 Win64ジェネレーターを使用して設定した後で、NSISインストーラーがどこにも見つかりません。
私は混乱しているかもしれませんが、Visual Studioを必要とせずにソース、CMake、CPack、およびNSISだけでインストールパッケージを作成することができると考えました。これは可能ですか?
完全なチュートリアルへのリンク(http://www.cmake.org/Wiki/CMake:Component_Install_With_CPackは、NSISを動作させるために関連情報をスキップし、発電機やコンパイラについては触れていません)は、非常に役に立ちます。または、この神話にどのように到達できるかについての基本的な説明生成されたNSISインストーラは素晴らしいでしょう。ここで
はCMakeLists.txtは、上記の例のためである:
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)
パーフェクト。私は一度一人がVSの使用の点に達すると何をすべきかに関する一貫した文書を見つけることができませんでした。私は本当に助けに感謝します! – sklum