Как создать единую кроссплатформенную систему сборки C++ для Windows и Linux (x86_64/aarch64) с использованием Python, CPython

Программы на Python
Ответить
Гость
 Как создать единую кроссплатформенную систему сборки C++ для Windows и Linux (x86_64/aarch64) с использованием Python, C

Сообщение Гость »

Проблема
Разработка приложений C++ (особенно на основе Qt) для нескольких платформ обычно включает в себя фрагментированный рабочий процесс:
  • Поддержка отдельных сред ОС (Windows для MSVC, Linux для GCC).
  • Установка и управление массивными цепочками инструментов (Qt, MinGW, MSVC, aarch64-linux-gnu) на на каждой машине.
  • Управление несколькими клонами репозитория или постоянное переключение контекстов IDE.
  • Устранение сложностей конфигурации CMakePresets.json при поддержке нескольких компиляторов и платформ.
  • Отсутствие единого интерфейса для переключения между собственными сборками, кросс-компиляцией и контейнерными сборками.
  • Ручное управление переменными среды для путей цепочки инструментов, префиксов Wine и Монтируется том Docker.
  • Нет стандартизированного способа совместного использования конфигураций цепочек инструментов между проектами или членами команды.
Мне нужен способ сборки для Windows (native/MinGW/MSVC) и Linux (x86_64/aarch64) на одном хосте Linux без
установки всех этих цепочек инструментов вручную или переключения операционные системы. В идеале это решение должно:
  • Поддерживать Wine для кросс-компиляции целевых объектов Windows с использованием MinGW или MSVC.
  • Использовать контейнеры Docker для изолированных сборок Linux (GCC x86_64/aarch64), включая Wine для кросс-компиляции.
  • Разбирать и использовать CMakePresets.json для предварительно заданной конфигурации.
  • Предоставить систему интерактивного меню для выбора конфигураций сборки.
  • Автоматическая настройка среды набора инструментов для каждой платформы.
  • Разрешить дополнительную портативную установку набора инструментов, чтобы избежать массовых общесистемных установок.
Как можно организовать сценарий сборки на основе Python, который использует либо собственные компиляторы, либо
контейнеры Docker для беспрепятственной обработки этих различных сред?

Подробнее: https://stackoverflow.com/questions/799 ... arch64-bui
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»