すでにCMakeを使用している既存のプロジェクトでCLion1.2.1を評価しています。プロジェクトは、いくつかのライブラリモジュールと1つの実行可能ファイルで構成されています。
デバッグ用に実行可能ファイルと構成ファイルをbinフォルダーにまとめるために使用するインストールターゲットがあります。
...
install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_BINARY_DIR}/bin/)
install(FILES config.xml DESTINATION ${CMAKE_BINARY_DIR}/bin/)
コマンドラインでビルドするときは、次のコマンドを実行します。
make install
期待どおりにバイナリをビルドし、成功した場合は上記のインストールコマンドを実行します。
私の問題は、CLionに「インストール」ターゲットを実行させることができないことです。新しい実行/デバッグ構成を作成できると期待していましたが、[ターゲット:]ドロップダウンには、add_executable()およびadd_library()を使用して追加されたターゲットのみが含まれています。
また、[設定]ダイアログの[ビルド]オプションに「インストール」を追加してみました。ただし、これは正しくない「クリーン」を含むすべてのターゲットに対してインストールを実行します。
UPDATE:2018.1 EAP、ビルド181.3741.16 の時点で、プロジェクトでインストールターゲットが定義されている場合、CLionはcmake install
の実行をサポートします。
元の回答:
CLionはまだこの機能を実装しているとは思いません。ただし、make install
を実行するCMake "カスタムターゲット"( add_custom_target()
を使用)を追加することで、この制限を回避できます。コマンド:
add_custom_target(install_${PROJECT_NAME}
$(MAKE) install
DEPENDS ${PROJECT_NAME}
COMMENT "Installing ${PROJECT_NAME}")
これで、CLionの[ターゲット]メニューからinstall_YOUR_PROJECT_NAME
ターゲットを「ビルド」するだけです。
更新:
よりクロスプラットフォームの手法は次のとおりです。
add_custom_target(install_${PROJECT_NAME}
"${CMAKE_COMMAND}" --build "${CMAKE_BINARY_DIR}" --target install
DEPENDS ${PROJECT_NAME}
COMMENT "Installing ${PROJECT_NAME}")