2

私が取り組んでいるプロジェクトは、次のようにルートフォルダー(VOBS)に編成されています。

|--BUILD_FOLDER
| |-- BUILD_SCRIPTS
| |-- SOME_MORE_CODE
|
|--COMPONENT_A
|--COMPONENT_B

これらはClearCaseVOBSであるため、CMakeLists.txtを配置するための上位レベルのルートフォルダーはありません。この設定はCMakeパターンに適合していないようです...

  • これはCMakeを使用する上での目玉ですか?
    • CMakeは、1つのポイントから下降するため、すべてが階層的である必要があるようです。。
  • CMakeはWindows/Linux以外のターゲットに適したツールですか?
    • プロジェクトはカスタムcコンパイラを使用し、サードパーティのツールを呼び出していくつかの形式のアプリケーションファイルを生成します。
4

1 に答える 1

0

コンポーネントは、CMakeLists.txtファイルがあるディレクトリのサブディレクトリである必要はありません。コンポーネントと同じランクのフォルダに配置し、ADD_SUBDIRECTORYコマンドで相対パスを使用するだけです。

ADD_SUBDIRECTORY(../componentA)
ADD_SUBDIRECTORY(../componentB)

それが私があなたにあなたのフォルダを配置することを提案する方法です

|--BUILD_FOLDER           <-- this directory is created by "make" (???)
| |-- BUILD_SCRIPTS
| |-- SOME_MORE_CODE
|
|--META_FOLDER  <--- place CMakeLists.txt here
|--COMPONENT_A
|--COMPONENT_B

OpenJDK 6のビルドにも同様のディレクトリレイアウトが使用されました(ただし、当時はCMakeの代わりに通常のmakeが使用されていました)。

于 2009-10-20T10:13:25.847 に答える