次のディレクトリ構造があるとしましょう。
root
  |
  +--projects
  |      |
  |      +-test
  |         |
  |         +-CMakeFiles.txt
  |
  +--libs
       |
       +-testlib
            |
            +-CMakeFiles.txt
testを含みCMakeFiles.txt、testlibまたを含みますCMakeFiles.txt。「test」は実行可能ファイルを生成し、「testlib」は静的ライブラリを生成します。
シンボリックリンクを使用せず、「testlib」ライブラリを「test」内のサブディレクトリに移動せずに、「test」を「testlib」にリンクさせたい。
「testlib」は「test」のサブディレクトリではないので、できません
add_subdirectory("../../libs/testlib")
テストCMakeFiles.txtでは-CMakeは「testlib」が「test」サブディレクトリにないことについて文句を言います。
また、システムにはいくつかの異なるコンパイラがあるため、「testlib」ライブラリをある種の中央ディレクトリに単純にインストールすることはできません。そのためtest、ローカルコピーをコンパイルしてtestlibリンクします(つまりtestlib、サブディレクトリのように)。また、「test」プロジェクトが変更された場合は、「testlib」を自動的に再構築する必要があります。
それで、どうすればそれに対処できますか?WindowsXPSP3でCMake2.8.4を使用しています。