Spec-Zone.ru › CMake 3.26

ENABLE_EXPORTS

Указывает, экспортирует ли исполняемый файл символы для загружаемых модулей.

Обычно исполняемый файл не экспортирует символы, поскольку он является конечной программой. Исполняемый файл может экспортировать символы для использования загружаемыми модулями. Когда этот параметр установлен в значение true, CMake позволит другим целевым объектам «связывать» исполняемый файл с помощью команды target_link_libraries(). На всех платформах для целевых объектов, которые связываются с исполняемым файлом, создаётся зависимость от целевого объекта. Обработка исполняемого файла в строках связывания загружаемых модулей варьируется в зависимости от платформы:

  • В системах на базе Windows (включая Cygwin) вместе с исполняемым файлом создаётся «библиотека импорта» для перечисления экспортированных символов. Загружаемые модули связываются с библиотекой импорта, чтобы получить символы.
  • В macOS загружаемые модули связываются с самим исполняемым файлом, используя флаг -bundle_loader.
  • В AIX вместе с исполняемым файлом создаётся «файл импорта» компоновщика для перечисления экспортированных символов для импорта при связывании других целевых объектов. Загружаемые модули связываются с файлом импорта, чтобы получить символы.
  • На других платформах загружаемые модули просто связываются без ссылки на исполняемый файл, так как динамический загрузчик автоматически свяжет символы при загрузке модуля.

Этот параметр инициализируется значением переменной CMAKE_ENABLE_EXPORTS, если она установлена при создании целевого объекта.

© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.21/prop_tgt/ENABLE_EXPORTS.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API