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

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

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

Список конфигураций находится в ветке 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 строку

на

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

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

Пример на GitHub

Build Configurations Overview

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *