インストールターゲットが乱れていると、Reflect ExternalProjectsに苦労することがあります。そのため、プロジェクトのメインプロジェクトファイルを生成する前にExternalProjectsをビルドしてインストールしたいことがあります。それはCMakeとどのように行うことが可能ですか?メインプロジェクトを構成している間にcmake ExternalProjectをビルドするには?
1
A
答えて
3
あなたは、configureのためexecute_process
内cmake
コールを使用してExternalProjectが含まれていますCMakeのプロジェクトを、構築することができる:
other_project/CMakeLists.txt:
project(other_project)
include(ExternalProject)
ExternalProject_Add(<project_name> <options...>)
CMakeLists.txt:
execute_process(
COMMAND ${CMAKE_COMMAND} --build . ${CMAKE_SOURCE_DIR}/other_project
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/other_project
)
このようなy other_projectは、ディレクトリ${CMAKE_BINARY_DIR}/other_project
に(--build
オプションのために)構成され、ビルドされます。 ExternalProject_Add
コールでインストールを無効にしない場合は、other_projectのビルド時に実行されます。
通常、メインプロジェクトの変数からSOURCE_DIR
、BINARY_DIR
、INSTALL_DIR
のようなExternalProjectのオプションを推測する必要があります。あなたはachiveそのための2つの方法があります。
(
execute_process
コマンドの前に)メインプロジェクトから呼び出され、configure_file
とother_projectためCMakeLists.txtを作成します。メインプロジェクトの変数を
-D
のパラメータとして${CMAKE_COMMAND}
に渡します。
関連する問題
- 1. cmakeのExternalProjectに相当するqmakeはありますか?
- 2. インポートされたライブラリをCMake ExternalProjectにリンクします
- 3. cmake - クリーニングから `make clean`を防ぐExternalProject
- 4. CMakeでOpenCVを構成してビルドすることができません
- 5. cmakeの:ビルド済みのライブラリで構成され、新しいライブラリのターゲットを作成し、私はcmakeのでカスタムターゲットを作成しようとしている
- 6. メインプロジェクトにフレームワークプロジェクトを追加し、メインプロジェクトからフレームワークプロジェクトの設定を構成する方法
- 7. CMakeのメインプロジェクトに生成されたサブプロジェクトの設定ファイルを追加します。
- 8. CMake:特定のビルド構成のディレクトリを除外する方法は?
- 9. CMake + msbuildですべての構成を構築する方法
- 10. ExternalProjectでCMakeエラーが発生しました
- 11. Cmake | UWP :: Cmakeを使用してユニバーサルWindowsアプリケーションを構築する
- 12. CMakeでビルド時間に環境変数を設定する方法は?
- 13. Repo(googletest)に複数のライブラリがある場合のCMake ExternalProjectの処理方法?
- 14. CMakeは常にすべてのプロジェクト構成の構成を生成しますか?
- 15. cmakeファイルなしでjhbuildを使ってライブラリOpenFaceをビルドするには?
- 16. TCパイプラインで共有リソースをロックする(ビルド構成間)
- 17. CMakeを使ってOpenSceneGraphプロジェクトを構築するには?
- 18. 異なるビルド構成を使ってMakeを使ってプログラムをビルドするには?
- 19. cmake:各ビルドでファイルを再生成
- 20. アプリをビルドしている間にライブラリファイルを変更します。
- 21. CMake&ExternalProject:特定のファイルを見つけることができません
- 22. ASp.Netビルド構成は常にデバッグモードです
- 23. cmakeカスタムコマンドを使用してCMakeでライスラッパーを構築します。
- 24. CMake:プロジェクトをビルドするときにC++ファイルを実行する
- 25. CMakeでプロジェクトをビルドするにはどうすればいいですか?
- 26. マルチプラットフォームのcmakeビルドでライブラリを検索するには?
- 27. cmakeベースのプロジェクトをQtでビルドするには
- 28. Cmakeによるビルドの依存性
- 29. "Distribution"ビルド構成と "Release"ビルド構成の違いは何ですか?
- 30. CMakeでMPakeをビルド