Я использую CMAKE с C, и на самом деле я создаю две очень маленькие статические библиотеки.
Моя цель:
- Библиотеки скомпилированы и связаны в файлы *.a. [ЭТО РАБОТАЕТ]
- Затем я хочу скопировать эти *.a файлы в /usr/local/lib [ЭТО ТАКЖЕ РАБОТАЕТ]
- Насколько я знаю о библиотеках (очень мало), они связаны с помощью
-lnameoflib
, который является флагом компилятора. ХОРОШО. Я подготовил свой CMakeLists.txt, и он фактически копирует файлы *.a в/usr/local/lib
. Однако, чтобы иметь возможность использовать их в программе, мне также нужно скопировать их заголовочные файлы в/usr/local/include
, затем я могу включить их простым способом#include <mylibheader.h>
. Вот как я понимаю это сейчас.
И мой вопрос - как правильно копировать заголовочные файлы в папку /usr/include с помощью CMAKE? Я бы хотел, чтобы они автоматически копировались при выполнении make install
, как файлы *.a.
Для обеих библиотек у меня есть знакомый CMakeLists.txt:
project(programming-network)
add_library(programming-network STATIC
send_string.c
recv_line.c
)
INSTALL(TARGETS programming-network
DESTINATION "lib"
)