2

私はOgreとCEGUIを使用するプロジェクトを構築していますが、cmakeには構築ツールがあります。現在、いくつかの問題が発生しています。CEGUIはコンパイルされていない依存関係を見つけることができませんが、Ogreはそれらを見つけます。プロジェクトの一般的な構造は次のとおりです。

Base
   BaseLevelCmake
   Deps
   CEGUI
     UpperLevelCmake
   Ogre
     UpperLevelCmake
   There deps
Project
   MyProjectCmakelist

したがって、この質問は2つの側面からなる質問です。

  1. どうすればCmakeにコンパイルされていないコードを見つけさせることができますか?
  2. 上位レベルのCmakeリストを変更せずにdepsの場所をヒントするにはどうすればよいですか?«

私の目標は、SCMからBaseフォルダーをフェッチし、すべてのdepsをフェッチするGetDeps(.sh / .bat)を開始してから、cmakeを呼び出します。これにより、すべてのビルドファイルが作成され、OgreとCEGUIが構成されます。

今のところ、ほとんどすべてのdepを手動で構築し、環境へのパスを追加して、それらを見つけられるようにする必要があります。すべてが自動であると便利です。

4

1 に答える 1

1

CEGUIを開発/保守せず、代わりにコンパイル解除ソースを自分で追跡する場合は、アップストリームで提供されているビルドおよびインストールスクリプトを使用してみませんか?あなたはどちらかを使うことができます

ADD_CUSTOM_COMMAND(OUTPUT CEGUIlib 
    COMMAND CEGUI build script
    COMMAND CEGUI install script
)

またはADD_CUSTOM_TARGET(CEGUIlib_build_install COMMANDCEGUIビルドスクリプトCOMMANDCEGUIインストールスクリプト)

CEGUIを開発/保守していて、すべてのソースファイルを配列に入れたい場合は、次を使用できます。

FILE(GLOB ...)

また

FILE(GLOB_RECURES ...)

すべてのソースファイルをキャッチし、さらに使用することができます

LIST(APPEND ... )
LIST(REMOVE_ITEM ...)

リストからソースコードを追加/削除します。

ライブラリの検索には、次を使用できます

FIND_LABRARY(...)

それをするために。

于 2013-02-12T06:36:14.930 に答える