私は私の仕事のprojetsの1をコンパイルするcmakeのを使用しています、ここで取引がCMakeの:同じ静的ライブラリを使用して、複数のサブプロジェクト
ある-
client/
CMakeLists.txt
server/
CMakeLists.txt
libs/
libstuff/
CMakeLists.txt
CMakeLists.txt
だから私が個別に各サブプロジェクトをコンパイルすることができ、そして構築したいですクライアントとサーバーの両方をルートフォルダから削除します。
クライアントとサーバーにlibstuffが必要だとします。
クライアントとサーバーCMakeLists.txtの両方でlibのパスに「add_subdirectory」を使用しようとしましたが、サーバーまたはクライアントをコンパイルするときに動作しますが、ルートディレクトリから両方を実行しようとすると動作します。
CMake Error at common/libplugin/CMakeLists.txt:33 (ADD_LIBRARY):
add_library cannot create target "plugin" because another target with the
same name already exists. The existing target is a static library created
in source directory "/home/adrien/git/r-type/common/libplugin". See
documentation for policy CMP0002 for more details.
だから私は新しいw/cmakeの種類だと私は何をすべきか分からない、私はadd_dependenciesを使用する必要がありますか?私はあなたのルートCMakeLists.txtに3本のadd_subdirectory電話を入れてお勧めしますあなたの助けを
おかげで、
「別々にコンパイルする」とはどういう意味ですか? VSプロジェクトやmakefileをビルドすると、コンパイルするプロジェクトを選択することができます。 – Philipp