CMake を使用してビルド システムをセットアップしようとしています。このプロジェクトはいくつかの小さなプロジェクトで構成されており、その一部は外部で開発されています。私が望むディレクトリ構造は次のようなものです:
ベースディレクトリ
|--libA
| |-src ( .cxx, source files )
| |-libA ( header files, such that #include statements are "libA/headerA.h" )
| |-bin ( executable, binary, object files )
| |-build ( CMake output, makefiles, platform specific stuff, not in CVS/SVN )
| |-CMakeLists.txt
|
|--libB
| |-- ..similar structure
私は libA と libB を別々のプロジェクトと考えています。潜在的に、libA の構成は外部ライブラリ (libxml2 など) へのリンクも記述し、適切なリンク オプションを設定し、それらのパッケージのパスを含めます。libB を libB に依存させ、たとえば、LD_LIBRARY_PATH、INCLUDES 変数などに自動的に追加する一連のマクロを取得できるようにしたいと考えています。スケーラブルな方法。
これを非常にうまく行った別の構成管理ツールを使用しましたが、業界標準にはなっていないため、cmake に移行したいと考えています。CMake がこれらの相互依存性を処理する方法の良い例を見たことがありません。「include($(CMAKE_MODULES_PATH) libA/CMakeLists.txt)」だけが必要ですか、それとも作成する必要がある別のファイルがありますか。ありがとう。