Как обернуть внешнюю библиотеку в пакет conan, добавив поддержку построения в качестве разделяемой библиотеки
Я пытаюсь обернуть парсер Google Gumbo в пакет Conan. В основном мне удается поддерживать Linux Mac и Windows, но у меня возникают некоторые проблемы при создании (и использовании) его в качестве общей библиотеки в Windows (.dll + .lib).
Мой текущий прогресс здесь. Я решил обойти систему сборки autoconf от Gumbo и предоставить CMakeLists.txt, который я копирую при получении исходных текстов. Таким образом, я надеялся, что смогу полностью поддерживать Windows.
Я не очень знаком с Visual C++, но из того, что я понимаю, Visual C++ отличается от других компиляторов тем, что он не экспортирует символы по умолчанию, где Gcc и Clang экспортируют все.
Это приводит к тому, что мой пакет Conan не может быть собран в некоторых сценариях, потому что в режиме совместного использования он просто генерирует.dll (а не соответствующий.lib).
Пробовал использовать модуль GENERATE_EXPORT_HEADER в CMake, но это мало чем помогло, с тех пор мне пришлось бы фактически использовать макросы, которые он генерировал в методах, которые должны быть экспортированы. Но я просто пытаюсь обернуть библиотеку без необходимости раскладывать и адаптировать ее.
Другой вариант - использовать файл.def. В этом случае это может сработать (не так много символов для экспорта), но для меня это будет не очень полезно (сложнее проверить, действительно ли я экспортировал все, что мне нужно, труднее поддерживать, не очень полезно для решения той же проблемы в другие ситуации с гораздо большим количеством символов для экспорта).
Есть ли рекомендуемый способ сделать это?