cmakeとnsisでcpackを使用して、生成された.exeファイルを環境変数に追加するインストーラを生成しようとしています。cpack cmake windows "ABSOLUTE path INSTALL DESTINATION forbidden"
私は、各サブディレクトリがcmakelist.txtを持ってadd_subdirectory(
とサブディレクトリを追加
れる主cmakelist.txtを持っています。今の終了時にメインサブディレクトリで
私が追加されました:
SET(CPACK_NSIS_MODIFY_PATH ON) SET(CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION OFF) INCLUDE(CPack)
及びIを添加 cmakelist.txt各 "サブ" に: SET(CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION OFF) INCLUDE(CPack)
私はこのエラーを持っている:
CPack: Create package using NSIS CPack: Install projects CPack: - Install project: MIALSRTK CMake Error at D:... ABSOLUTE path INSTALL DESTINATION forbidden (by caller):
(これが私が試した理由です:SET(CPACK_ERROR_ON_ABSOLUTE_INSTA LL_DESTINATION OFF)、何も変更されていません)。 私は管理者としても実行しようとしました。
私もここで解決策を試してみました:CPack NSIS, generate installer for Windows
をけど(パック)は、作品には思われない場合。それはelse(pack)の部分に入ります(コマンドメッセージを使ってどこに行くのかを確認しました)。
この問題を解決する方法はありますか?
OK、メインのcmakelist.txtにSET(パックTrue CACHE BOOL "CPACKを使用")を追加しました。少なくとも、それは良いif文に入ります。宛先はまだ良くありません。 (パック) メッセージ( "私はここにいる") をインストールした場合、それはbinディレクトリ に入らない(TARGETS \t \t mialsrtkRefineHRMaskByIntersection \t \t \t \t DESTINATIONビン) ELSE (パック) メッセージ(「私はすべき はINSTALL( \t \t mialsrtkRefineHRMaskByIntersection \t \t \t \t DESTINATIONの$ {CMAKE_INSTALL_PREFIX}/bin)に ENDIFを対象)「ここではありません(パック) –
「目的地はまだ良くない」とはどういう意味ですか?エラー "絶対パスのインストール先は禁止されました"が残っていますか?または何? – Tsyvarev
、もはや、.exeファイルは必要なディレクトリにありません。 (全てが欲しいです 。私がcmakeとcpackと呼ぶbuildフォルダのbinディレクトリに移動します。 は、「cmake without cpack」モードで仮想スタジオを使用してInstallをビルドすると動作します。私がcpackを使用しているときはそうではありません。私はcmakeを行い、pack = trueの設定と生成を行います。 "宛先のビン"。私はビジュアルスタジオでプロジェクト全体を構築します。 (そして.exeはbin/testにありません)。その後、私はcpackを実行します。 、cpackは、仮想スタジオ –