Мы стремимся использовать повторное использование программного обеспечения на встроенных платформах ARM / Linux. Некоторые из наших аппаратных платформ предназначены для конкретных потребностей клиентов. Конечно, приложение будет настроено по-разному.
Хотя это не продукт для Android, для одного он слишком велик по сравнению с нашим, но он делает хорошую аналогию в том, что помимо константы, основанной на Linux, пользовательский интерфейс отличается от внешнего вида, есть разные телефоны Есть разные процессоры, есть разные прошивки для разных радиостанций и т. д. Таким образом, есть много конфигураций для управления. И конфигурации являются разреженной матрицей, в которой не все комбинации существуют.
Непрерывная интеграция также не полностью исключена в будущем.
Таким образом, в ближайшем будущем конечная точка выглядит так:
Основной набор библиотек, который мы хотим продолжать развивать и применять везде. Наследование классов предоставляет настройки. Таким образом, существует конфигурация сборки для типов приложений.
Горстка настроенных аппаратных платформ ARM / Linux. Кажется, BAL / класс платы HAL для наших библиотек — это путь. Это означает конфигурацию сборки, чтобы выбрать правильное оборудование / плату.
Несколько прошивок сопроцессора, соответствующих аппаратному обеспечению / плате, но API для наших библиотек тот же. Так что есть конфигурация сборки в зависимости от прошивок.
Горстка реализации для различного внешнего вида / приложений. Это еще одна конфигурация сборки.
Излишне говорить, что есть много путей include, # define и исключений файлов, чтобы все это работало.
Итак, как вы можете видеть, если мы хотели собрать коллекцию проектов Eclipse / CDT в рабочей области, которая позволяет нам создавать все эти варианты одновременно в одной и той же среде, в Eclipse / CDT существует множество конфигураций для создания и управления ими. Если графический интерфейс является единственным способом управления, существует множество щелчков мышью. И после этого нет простого способа проверить правильность настройки всех конфигураций, не щелкая мышью. Нет панели управления. Есть ли текстовый редактор для управления всем этим?
Я пытался сделать свою домашнюю работу. Я понимаю, что на вкладке «Пути и символы» есть кнопки «Импорт настроек …» и «Экспорт настроек …». Но он делает одну конфигурацию за раз, для одного проекта за один раз. Это не кажется очень систематичным и легко что-то упустить.
Я также смотрю непосредственно на .cprojects, но волнуюсь, что если я допустил ошибку, Eclipse просто тихо сделает неожиданные вещи и приложит большие усилия, чтобы исправить.
У коллег-экспертов есть лучшее предложение?
Задача ещё не решена.
Других решений пока нет …