Если вы распространяете свою программу в виде исходного кода, то CMake - это отличный инструмент для автоматического обнаружения библиотек и генерации подходящего материала для создания исходного кода (make-файлы, проекты XCode, проекты Visual Studio и т. Д.) на всех упомянутых вами платформах.
Для создания бинарных файлов для распространения и тестирования вашей программы в других ОС, возможно, самая простая вещь - просто запустить другие ОС в VirtualBox или что-то подобное? Я занимаюсь разработкой в Linux, но если я хочу проверить, правильно ли работает моя кроссплатформенная программа в Windows, я запускаю экземпляр этой ОС в VirtualBox и пробую его.