export
Экспорт целей из дерева сборки для использования внешними проектами.
export(EXPORT <export-name> [NAMESPACE <namespace>] [FILE <filename>])
Создает файл <filename> , который может быть включен внешними проектами для импорта целей из дерева сборки текущего проекта. Это полезно во время кросс-компиляции для создания служебных исполняемых файлов, которые могут работать на целевой платформе в одном проекте, а затем импортировать их в другой проект, компилируемый для целевой платформы. Если задан параметр NAMESPACE, строка <namespace> будет добавлена в качестве префикса ко всем именам целей, записанным в файл.
Установки целей связаны с экспортом <export-name> с помощью параметра EXPORT команды install(TARGETS).
Создаваемый этой командой файл специфичен для дерева сборки и никогда не должен устанавливаться. Смотрите команду install(EXPORT) для экспорта целей из дерева установки.
Свойства, установленные на сгенерированных целях IMPORTED, будут иметь те же значения, что и окончательные значения входных целей TARGETS.
export(TARGETS [target1 [target2 [...]]] [NAMESPACE <namespace>]
[APPEND] FILE <filename> [EXPORT_LINK_INTERFACE_LIBRARIES])
Эта сигнатура похожа на сигнатуру EXPORT, но цели перечислены явно, а не задаются как имя экспорта. Если задан параметр APPEND, сгенерированный код будет добавлен в файл, а не перезаписан. Ключевое слово EXPORT_LINK_INTERFACE_LIBRARIES, если присутствует, приводит к экспорту содержимого свойств, соответствующих (IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?, когда политика CMP0022 равна NEW. Если цель библиотеки включена в экспорт, но цель, к которой она ссылается, не включена, поведение не определено.
export(PACKAGE <name>)
Сохраняет текущий каталог сборки в реестре пакетов пользователя CMake для пакета <name>. Команда find_package может учитывать каталог при поиске пакета <name>. Это помогает зависимым проектам находить и использовать пакет из дерева сборки текущего проекта без помощи пользователя. Обратите внимание, что запись в реестре пакетов, создаваемая этой командой, работает только в сочетании с файлом конфигурации пакета (<name>Config.cmake), который работает с деревом сборки. В некоторых случаях, например, для пакетирования и системных установок, нежелательно записывать в реестр пользовательских пакетов. Если переменная CMAKE_EXPORT_NO_PACKAGE_REGISTRY включена, команда export(PACKAGE) ничего не сделает.
export(TARGETS [target1 [target2 [...]]] [ANDROID_MK <filename>])
Эта сигнатура экспортирует скомпилированные CMake цели в систему сборки Android NDK, создавая файл Android.mk, который ссылается на предварительно скомпилированные цели. Android NDK поддерживает использование предварительно скомпилированных библиотек, как статических, так и динамических. Это позволяет CMake скомпилировать библиотеки проекта и сделать их доступными для системы сборки NDK вместе со всеми транзитивными зависимостями, флагами включения и определениями, необходимыми для использования библиотек. Сигнатура принимает список целей и помещает их в файл Android.mk, указанный параметром <filename>. Эта сигнатура может быть использована только если политика CMP0022 равна NEW для всех указанных целей. Будет выдано сообщение об ошибке, если эта политика установлена в OLD для одной из целей.
© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.7/command/export.html