2012-01-17 7 views
1

オブジェクトファイルのセットがある場合、どのようにしてCMakeで静的ライブラリを構築しますか? autotoolsのでCMakeを使ってオブジェクトファイルから直接ライブラリを構築する方法

私は、オブジェクトファイルのリストであること

libXXX.a: $(OBJFILES) 
    $(AR) cru [email protected] $(OBJFILES) 
    $(RANLIB) [email protected] 

OBJFILESを行うだろう。

CMakeでそれを行うには?

EDIT:元のcxxファイルを再コンパイルできません。ライブラリを作成するためにオブジェクトファイル(* .o)を使用する必要があります。 CMakeLists.txt

答えて

3

、のようなものcustom commandを追加します:あなたは、特定のターゲットにあなたのlibXXX.aを追加するadd_custom_targetadd_dependenciesを使用することができ、必要な場合は

add_custom_command(OUTPUT libXXX.a COMMAND ${AR} cru ${OBJFILES}). 

を、またはおそらく依存関係をカスタマイズするためです。

1

使用add_library

add_library(XXX STATIC foo.c bar.cc baz.cxx) 
+0

ありがとうございます。しかし、ここでのポイントは、私はオブジェクトファイルを持っており、cxxファイルを再コンパイルできないということです。したがって、既存のオブジェクトファイルを使用してライブラリを作成したいだけです。 – Barth

関連する問題