Конфигурации сборки Delphi во внешнем файле

При сборке исполняемого файла для тестирования и при сборке готовой версии для пользователей используются разные настройки компилятора. В Delphi для этого применяются конфигурации сборки. В этом посте описано как настроить хранение этих настроек во внешних файлах. Внешние файлы удобно использовать когда проектов много - настройка каждого отдельно занимает время, увеличивается вероятность ошибок, а если понадобятся изменения то придется обновить все проекты.

Описание подходит для Delphi 2010 и более новых версий. Общие рекомендации по настройке параметров компилятора в этой статьеopen in new window.

Список конфигураций находится в ветке Build Configurations в менеджере проекта.

Список конфигураций

Откроем настройки для просмотра подробностей

Конфигурации сборки Редактор конфигураций

В новом проекте три конфигурации

  • Debug - для отладки и тестирования;
  • Release - готовая версия;
  • All configurations - родительская конфигурация для всех остальных конфигураций.

Конфигурации можно добавлять и у удалять (в том числе Debug и Release). Конфигурация All configurations не удаляемая, в ней указываются общие для всех конфигураций настройки.

В версиях Delphi которые это поддерживают, под отдельные платформы настраиваются свои конфигурации. Мне этим пользоваться не приходилось, поэтому в этом посте будет настроена конфигурация только под win32.

Создадим новый файл настроек для конфигурации Debug

Добавления нового optset

Сохраним его рядом с файлом проекта в отдельный каталог

config/debug.optset

Теперь отредактируем его

Редактирование optset

Включим Oweflow checking и Range checking

Редактирование optset

Перейдем в редактор конфигурации Debug для проверки

Редактирование параметров Debug Настройки Debug с внешним файлом

Настройки перекрывают друг друга в следующей последовательности: самый низкой приоритет у родительской конфигурации All configurations, потом из подключенного файла debug.optset, потом настройки проекта.

Сейчас в проекте такая ситуация для Oweflow checking:

  • В All configurations значение не заданно (not set)
  • В debug.optset значение True
  • В проекте значение неопределенно и берется из dubug.optset (переопределенное значение выделяется жирным)

Создадим второй проект и подключим к нему конфигурацию из внешнего файла.

Подключение файла настроек к проекту Подключение файла настроек к проекту

Путь к файлу получается выбрать только полный, но в настройках проекта сохраняется относительный. Поэтому проблем при хранении файла конфигурации в системе контроля версий не будет.

Теперь при изменении настроек в optset они автоматически изменятся во всех связанных проектах.

Проверим это. Изменим в файле debug.optset строку

true

на

false

Теперь открываем настройки любого проекта и видим что значение изменилось. В некоторых версиях Delphi старое значение отображается до перезапуска IDE.

Обновленные настройки Debug

Пример на GitHubopen in new window

Build Configurations Overviewopen in new window

Последниее изменение: 24.08.2023, 06:42:55