cmakeのは、インストールのルールについては、以下のようなものを生成します。cmakeが生成したトップレベルのMakefileにインストール後のコマンドを追加することはできますか?
# Special rule for the target install
install: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
/usr/local/bin/cmake -P cmake_install.cmake
.PHONY : install
私がやりたいことは、それはのようになりますのでcmake_install.cmake後に実行されるいくつかのカスタムコマンドが起動されていている。
# Special rule for the target install
install: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
/usr/local/bin/cmake -P cmake_install.cmake
post_install_command_1
...
post_install_command_n
.PHONY : install
私たちが書いたことのために、 "add_custom_command(TARGET ... POST_BUILD ...)"を使って欲しいことをすることができます。しかし、たくさんのサードパーティ製のものがインストールされています。私は本当にそれらのすべてのためのPOST_BUILDカスタムコマンドを追加したくありません(現在19つのプロジェクトがあり、処理が必要なものを特定するのは難しいかもしれませんインストール後ではなくビルド後)。カスタムコマンドが1か所(つまり、インストール処理の最後の部分)でのみ使用され、必要なすべてを行うことがわかっている場所であれば、維持するほうがずっと簡単だと思います。
トップレベルのMakefileのインストールルールにコマンドを追加することはできますか?
ありがとうございました!私はこのようなことを試したことを誓うとうまくいきませんでした。もう一度試してみるとうまくいくようです。私はそれが動作しないように、タイプミス(または何か)があったに違いないと思う。 – joast
これは私のサブディレクトリでのビルドでは機能しません。一番外側のCMakeLists.txtの終わりは、すべてのcmake_install.cmakeがサブディレクトリからインクルードされる前に実行されます。 – rickfoosusa
特に、ルートからサブディレクトリのインストールパスとターゲットを指定するのは難しいですが、最終的には動作します。 – taranaki