Как собрать библиотеку напрямую из объектных файлов с помощью CMake - PullRequest
1 голос
/ 17 января 2012

Учитывая набор объектных файлов, как бы вы создали статическую библиотеку с CMake?

С автоинструментами я бы сделал

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

OBJFILES как список объектных файлов.

Как это сделать в CMake?

РЕДАКТИРОВАТЬ: я не могу перекомпилировать исходные файлы cxx, я должен использовать объектные файлы (* .o) для создания библиотеки.

Ответы [ 2 ]

3 голосов
/ 18 января 2012

Добавить пользовательскую команду , что-то вроде:

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

При необходимости вы можете использовать add_custom_target и add_dependencies , чтобы добавить вашу libXXX.a для конкретной цели или, возможно, для настройки зависимостей.

1 голос
/ 18 января 2012

Использование add_library в CMakeLists.txt:

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