CMakeで私はadd_subdirectory(gtest)
を使ってプロジェクトをテストするためにgtestをビルドします。私はCPackを使ってインストーラを作っています。何もインストールせずにadd_subdirectory()
いくつかのファイルでgtest repo(これはgitサブモジュールです)がinstall()
で実行されるため、インストーラで終了します。明らかに私はそれを望んでいない。特定のサブディレクトリに対してinstall()
コマンドをCMakeListsから削除するだけで無効にする方法はありますか?
なぜあなたは直接あなたに関連していないツールを構築しているGTESTを使用していないたので、これは愚かな質問かもしれませんが、...決してあなたのプロジェクトの*プロジェクト*ですか?なぜあなたはGTestを別にビルド/インストールしないのですか? (私は自分のプロジェクトの中にBoost.Testを構築しません) – DevSolar
これは、プロジェクトの構築とcmakeとのリンクを簡単にします。 'add_directory'を使ってツリーに構築した場合、それを見つけ出すことなく' target_link_libraries(mytest gtest) 'を実行することができます。エレガントではありませんが、この問題とは別に、本当にうまく機能します。 – Timmmm
しかし、 'find_package()'が何かのために 'add_subdirectory()'を使用していて、問題を発見したところで、 'add_subdirectory()'が*意図した* .. find_package()(それほど難しいことではない)と 'add_subdirectory()' *を削除すると、あなたの問題は解決されるはずです。 ;-) – DevSolar