给定一组目标文件,您将如何使用CMake构建静态库?
使用autotools我会做
libXXX.a: $(OBJFILES)
$(AR) cru $@ $(OBJFILES)
$(RANLIB) $@
OBJFILES是一个目标文件列表。
如何在CMake中做到这一点?
编辑:我无法重新编译原始的cxx文件,我必须使用目标文件(* .o)来创建库。答案 0 :(得分:3)
添加custom command,例如:
add_custom_command(OUTPUT libXXX.a COMMAND ${AR} cru ${OBJFILES} ).
如有必要,您可以使用add_custom_target和add_dependencies将libXXX.a添加到特定目标,或者可以自定义依赖项。
答案 1 :(得分:1)
在add_library
中使用CMakeLists.txt
:
add_library(XXX STATIC foo.c bar.cc baz.cxx)