2011-08-07 9 views
1

私はcmakeでビルドされたプロジェクトを持っています。私のcmakelistsでは、自分自身のcmakelistsを持っている依存関係 "foo"を構築するために add_subdirectory(externals/foo) を持っています。cmake、add_subdirectoryを生成したプロジェクトファイルに追加しないでください。

これで、fooのソースとヘッダー全体が生成されたプロジェクトファイル(Eclipseを使用しています)にも含まれるようになりました。しかし、私が望むのは、自分のプロジェクトをEclipseで利用できるようにすることだけです(Eclipseは同じフォルダ構造内のサブプロジェクトに問題があります)。 "foo"からのcmakelistsは "foo"を自動的にビルドしてプロジェクトにリンクするためにのみ使用されます。私はしかし、私のIDEでそれを見たくない。

これは可能ですか?はいの場合:どのように?

答えて

1

EclipseをCMakeで使用すると、Eclipseプロジェクトを手動で(新規プロジェクトウィザードで)作成し、CMakeでは標準のmakefileジェネレータを使用します。少し余分なセットアップが必要です。ソース外のビルドを行っている場合は、プロジェクトのプロパティにビルドディレクトリを設定する必要があります。通常は、ビルドコマンドをmake VERBOSE=1に設定します。

私はEclipseジェネレータを使用していないのでわかりませんが、より良い解決策がないため、Eclipseプロジェクトをより詳細に制御できるため、この方法で問題を解決できます。

0

いいえ、何をコンパイルするかを教えていないと、どのようにコンパイルすればよいでしょうか?プロジェクトファイルをプロジェクトファイルに入れたくない場合は、追加しないでください。

ただ、それ自体で外部のlibをコンパイル(「cmakeのの外観/ foo」を使用)し、その後

target_link_libraries(your_project externals/foo/bin/foo.lib) 
でプロジェクトのCMakeLists.txtでライブラリを追加
関連する問題