2013-04-05 16 views
5

最新のLLVM libc++ 3.3 SVNから3.3はCMakeLists.txtが付属しています。私はCMakeの初心者ですが、昨日、RHEL 6.4 x86_64ホストでlibc++のチェックアウトを構築できるほど十分に調査しました。LLVMの静的ライブラリと共有ライブラリの両方をビルドするlibC++ 3.3

さらに、上記のCMakeLists.txtに十分なCPack関連コマンドを追加してlibcxx-3.3.svn-0.el6.x86_64.rpmを生成することができました。しかし、おそらくCMakeの新機能のために、私は静的な共有ライブラリと同時に共有ライブラリを構築することはできません。

はい。私はIs it possible to get CMake to build both a static and shared version of the same library?を見直しました。しかし、add_libraryを使用してすべてのソースファイルを列挙する代わりに、libc++CMakeList.txtで使用されるアプローチをAPPENDを使用して使いたいと思います。

私は、静的libに

40 option(LIBCXX_ENABLE_SHARED "Build libc++ as a shared library." ON) 
41 

それとも私があるとして、それを残して、共有ライブラリを構築することができを構築するためにOFFして以下の行40でONを交換することにより、静的libが発生する可能性があります。

私はまた、例えば、NOTやコメント行232と233を除いて、次の行を書き留めました。しかし、私が何を試しても、静的なlibを共有ライブラリと共に構築することはできませんでした。

232 if (NOT LIBCXX_ENABLE_SHARED) 
233 list(APPEND LIBCXX_CXX_FEATURE_FLAGS -D_LIBCPP_BUILD_STATIC) 
234 endif() 

CMakeList.txtファイルを同時に作成するにはどうすればよいですか?

答えて

3

OK。私はadd_libraryコマンドを使用して、すべて*.cppのリストを使用して、「試して真の」方法を使用することに決めました。それはOOTBで動作するので、私はそれを解決策と考えています。

CMakeで熟練を向上させるためには、もう一度この問題を再訪します。

関連する問題