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.11/variable/CMAKE_ENABLE_EXPORTS.html