Qt Creatorプロジェクトのグループを設定しようとしていますが、それらの間でいくつかのカスタムライブラリが共有されています。これらはすべてC++11とBoostを使用し、Gitリポジトリで管理されます。
現在、CMakeとシンボリックリンクを使用しています。したがって、既存のディレクトリ構造はおおよそ次のようになります。
projects/
libraryOne/
include/
libraryOne/ ; Parent in -I paths, then #include "libraryOne/foo.h"
src/
libraryTwo/
include/
libraryTwo/
src/
libraryOne/ ; symbolic link
libraryThree/
include/
libraryThree/
src/
libraryTwo/ ; symbolic link
applicationOne/
CMakeLists.txt
libraryOne/ ; symbolic link
libraryTwo/ ; symbolic link
libraryThree/ ; symbolic link
build/
applicationTwo/
CMakeLists.txt
libraryOne/ ; symbolic link
libraryTwo/ ; symbolic link
libraryThree/ ; symbolic link
build/
applicationThree/
CMakeLists.txt
libraryOne/ ; symbolic link
libraryTwo/ ; symbolic link
libraryThree/ ; symbolic link
build/
特定のアプリケーションをビルドするにはbuild/
、そのアプリのサブディレクトリに移動して実行cmake ..
し、からmakefileを生成しますCMakeLists.txt
(そのため、すべての仲介者とビルド製品が下に配置されますbuild/
)。次に、実行しmake
ます。
これは、この特定のセットアップがどのように進化したかであり、かなり不格好です。CMakeの依存関係を削除し、Qt Creatorを使用しgit clone
て個々のソースリポジトリ(1つ以上のアプリケーション)に簡単にアクセスできるようにし、.proファイルを読み込んでから、[ビルド]を押して動作させます。
その他の願い:
- シンボリックリンクを作成する必要はありません
- ファイルの追加と削除は、makefileを編集せずにGUIで実行できる必要があります
- アプリケーションをエディターにロードすると、ライブラリも編集できるようになり、ビルドの依存関係が自動的に処理されるようになります。
- デバッグモードでは、任意のライブラリにブレークポイントを設定でき、環境はそのライブラリで停止できます。
- ソースコードのサブディレクトリではないディレクトリにオブジェクトファイルと実行可能ファイルを配置します
このような「クリーンな」例があるかどうか疑問に思っています...QtCreatorの世界で従うべき良い例はありますか?.pro
ファイルがこの種のクロスプラットフォームを自動的に処理することを期待するのは野心的すぎますか?