Я надеялся, что WINDOWS_EXPORT_ALL_SYMBOLS в CMake избавит от необходимости изменять исходный код, написанный для G CC, чтобы он был правильно связан в MSV C.
Так что с этим допущением я неверно истолковал цитируемую выше документацию где написано:
Для глобальных данных символов, __declspec(dllimport)
все еще должны использоваться при компиляции с кодом в .dll
и воспринял это как ограничение функции CMake, а не как требование MSV C (что было моей ошибкой).