CMAKE_ENABLE_EXPORTS
Указывает, экспортирует ли исполняемый файл символы для загружаемых модулей.
Обычно исполняемый файл не экспортирует символы, так как это конечная программа. Исполняемый файл может экспортировать символы для использования загружаемыми модулями. Когда эта переменная установлена в значение true, CMake позволит другим целевым элементам link к исполняемому файлу с помощью команды TARGET_LINK_LIBRARIES(). На всех платформах создается зависимость целевого элемента от исполняемого файла для целевых элементов, которые с ним связаны. Для платформ DLL будет создана библиотека импорта для экспортированных символов, которая затем используется для компоновки. Все системы на основе Windows, включая Cygwin, являются платформами DLL. Для платформ, отличных от DLL, требующих разрешения всех символов во время компоновки, таких как OS X, модуль link к исполняемому файлу с использованием флага, например -bundle_loader. Для других платформ, отличных от DLL, правило компоновки просто игнорируется, так как динамический загрузчик автоматически свяжет символы при загрузке модуля.
Эта переменная используется для инициализации свойства целевого элемента ENABLE_EXPORTS для целевых элементов типа исполняемый файл.
© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.9/variable/CMAKE_ENABLE_EXPORTS.html