Итак, я хочу создать библиотеку C, которую можно установить таким образом, чтобы ее можно было легко использовать в других проектах с помощью функции find_package
в cmake. В частности, я хочу, чтобы проект, скажем, под названием foo, был доступен следующим образом:
find_package (foo-1.0 REQUIRED)
message ("!-- foo found version \"${FOO_VERSION}\"")
message ("!-- foo include path \"${FOO_INCLUDE_DIRS}\"")
message ("!-- foo libraries \"${FOO_LIBRARIES}\"")
Затем эти переменные могут использоваться с целями в других проектах cmake, например:
add_executable (example example.c)
target_include_directories (example PRIVATE "${FOO_INCLUDE_DIRS}")
target_link_libraries (example PRIVATE "${FOO_LIBRARIES}")
Хотя мой вопрос:
- Каким образом должна быть установлена статическая или совместно используемая библиотека c, чтобы ее можно было найти по
find_package
(то есть, какое место назначения нужно).
- Как мне выставить переменные типа
FOO_LIBRARIES
, чтобы функция find_package
выставляла их в проекте, вызывая find_package
?