WINDOWS_EXPORT_ALL_SYMBOLS
Новое в версии 3.4.
Это свойство реализовано только для инструментов, совместимых с MS, на Windows.
Включите это булево свойство, чтобы автоматически создать файл определения модуля (.def) со всеми глобальными символами, найденными в входных .obj файлах для библиотеки SHARED (или исполняемого файла с ENABLE_EXPORTS) на Windows. Файл определения модуля будет передан компоновщику, вызвав экспорт всех символов из .dll. Для глобальных символов данных, __declspec(dllimport) всё ещё должен использоваться при компиляции с кодом в .dll. Все остальные символы функций будут автоматически экспортированы и импортированы вызывающими сторонами. Это упрощает портирование проектов на Windows, уменьшая необходимость в явном dllexport разметке, даже в классах C++.
При включении этого свойства, ноль или более .def файлов могут быть также указаны в качестве исходных файлов целевого объекта. Экспорты, указанные этими файлами, будут объединены с теми, которые обнаружены из объектных файлов, для создания одного файла определения модуля, который будет передан компоновщику. Это может быть использовано для экспорта символов из .dll, которые не находятся ни в одном из его объектных файлов, но добавляются компоновщиком из зависимостей (например, msvcrt.lib).
Это свойство инициализируется значением переменной CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS, если она установлена при создании целевого объекта.
© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.22/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.html