5

ビルド ツリーからターゲットをエクスポート/インポートするために CMake 機能を使用しようとしています (この wiki ページを参照してください)。私はこのdependencyライブラリを持っています:

add_library(dependency SHARED dependency.cpp)
export(TARGETS dependency FILE dependency-targets.cmake)

そして、実行可能ファイルは別のプロジェクトでこのライブラリを使用します:

include(${DEPENDENCY_PATH}/dependency-targets.cmake)

add_executable(main-app main.cpp)
target_link_libraries(main-app dependency)

これはうまくいきます。このエクスポート/インポート メカニズムが外部バイナリを参照する便利な方法を「のみ」提供することは理解していますが、実行時にコンパイルできるかどうか疑問に思ってdependencyいます。インポートメカニズムを使用するか(疑わしい)、別のメカニズムを使用しますか?makemain-app

4

1 に答える 1

1

「superbuild」パターンとExternalProjectを調べることができます。

ExternalProject_Add()アイデアの要点は、コマンドだけを使用する1つの「スーパービルド」プロジェクトを設定することです。これにより、実際のプロジェクトとそのすべての依存関係が設定されます。

于 2013-02-14T14:19:18.253 に答える