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)
Другие вопросы по тегам