1

给定一组目标文件,您将如何使用 CMake 构建静态库?

使用自动工具我会做

libXXX.a: $(OBJFILES)
    $(AR) cru $@ $(OBJFILES)
    $(RANLIB) $@

OBJFILES 是目标文件的列表。

如何在 CMake 中做到这一点?

编辑:我无法重新编译原始 cxx 文件,我必须使用目标文件 (*.o) 来创建库。

4

2 回答 2

3

添加自定义命令,例如:

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

如有必要,您可以使用add_custom_targetadd_dependencies将您的 libXXX.a 添加到特定目标,或者自定义依赖项。

于 2012-01-18T10:45:17.917 回答
1

用于:add_library_CMakeLists.txt

add_library(XXX STATIC foo.c bar.cc baz.cxx)
于 2012-01-18T01:12:09.257 回答