2

私は現在、いくつかの自己記述クラス (「mycode.cpp」および「mycode.hpp」) を、Cmake で構成された既存の大きな C++ プロジェクトに追加したいと考えています。これらのクラスは、既存のプロジェクトの「lib/pointrender」フォルダーにある「myfolder」にあります (以下のダミー階層を参照)。

|- libs 
|    |- core
|    |   |- ...
|    |- pointrender
|        |- myfolder
|        |     |- mycode.cpp
|        |     |- mycode.hpp
|        |- existingclasses.cpp
|        |- existingclasses.hpp
|        |- project.cmake
|- CMakeLists.txt

CMakesLists.txt では、pointrender フォルダーがサブプロジェクトとして宣言されています。

declare_subproject(libs/pointrender)

コードを既存の cmake 構成に追加するにはどうすればよいですか? project.cmake のサブフォルダーとして追加し、myfolder に別の CMakeLists.txt を追加しますか? または、別の project.cmake ファイルを使用してサブプロジェクトとして追加するのが最善ですか? 違いは何ですか?

4

1 に答える 1

2

これproject.cmakeinclude()一部CMakeLists.txtであり、その一部として実行されます。あなたが使用しているプロジェクトの作成者は、何らかの理由でこれをロールアウトしたため、おそらくそのインフラストラクチャを使用してカスタム コードを追加する方がよいでしょう。

これを行う通常の方法は、独自CMakeLists.txtに作成add_subdirectory()し、上位レベルから実行することです。

詳細が必要な場合は、質問をproject.cmake内容で更新する必要があります。

于 2012-11-13T16:02:13.010 に答える