Хороший вопрос.Прежде всего, , вы не можете сделать эти сборки за один шаг на одной платформе .Однако вы можете найти систему сборки, которая позволяет легко создавать кроссплатформенную сборку и инструмент для автоматизации ваших задач. Это дает вам решение, котороеизбавляет вас от ручного построения, и вы можете полностью сосредоточиться на разработке кода.
CMake (как уже упоминалось) обеспечивает хорошее решение для кроссздание .Короче говоря, через CMake вы получаете, например, решения / проекты Visual Studio, make-файлы или тому подобное для целевой платформы, которые вы затем используете для построения на этой конкретной платформе.Ваша задача - поддерживать файлы сборки CMake, а CMake позаботится о том, чтобы генерировать конкретные файлы сборки для платформ, на которых вы строите.
Вы упоминаете, что сборки были построены «за один шаг» - это нужно немного исправитьиначе через автоматизацию сборки.То есть, используя систему Continuous Integration (CI), такую как упомянутые Jenkins, Hudson или CruiseControl .В вашем случае вам нужно делать сборки на трех разных платформах (Windows, Linux и OSX), что означает, что вам нужно иметь CI, работающий на каждой платформе.Эти системы при настройке будут проверять изменения в репозитории исходного кода, а когда изменения будут найдены, источник будет выбран, а затем с помощью CMake он сгенерирует специфичные для платформы файлы сборки для платформы, на которой работает CI, затем соберет, протестирует и, наконец,сообщить результат, как прошла сборка.