NoneCmake : установить входящие в комплект поставки include и lib
У меня очень простая проблема, для которой я не могу найти решение:
Я работаю с компанией, которая время от времени отправляет мне две директории, одна с файлами.h, а вторая с библиотекой в двух формах: общая и статическая. сказать -
X/include/*
X/lib/libX.so
X/lib/libX.a
Я хотел бы обернуть этот ввод в проект cmake, который выполняет это простое действие - создать цель cmake, которую я могу установить, псевдоним, версию и т. Д.
1 ответ
Вы можете посмотреть здесь, так как это довольно хорошо объясняет, как импортировать цели.
Примерно так должно работать:
# Shared library
add_library(LibX-Shared SHARED IMPORTED)
set_target_properties(LibX-Shared PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "X/include"
IMPORTED_LOCATION "X/lib/libX.so"
)
# Static library
add_library(LibX-Static STATIC IMPORTED)
set_target_properties(LibX-Static PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "X/include"
IMPORTED_LOCATION "X/lib/libX.a"
)
Тогда вы сможете использовать эти цели в CMake:
target_link_libraries(myexe LibX-Shared)