Xcode 4.2 - добавить производные файлы в проект - PullRequest
4 голосов
/ 07 февраля 2012

Я использую генератор парсеров бизонов в своем проекте Xcode 4.Я написал пользовательское правило сборки для генерации C ++ - исходного файла из файла грамматики * .y:

/usr/local/bin/bison
--defines="${DERIVED_FILES_DIR}/${INPUT_FILE_BASE}.hpp"
--output="${DERIVED_FILES_DIR}/${INPUT_FILE_BASE}.cpp"
--verbose "${INPUT_FILE_PATH}"

Как видите, Xcode помещает сгенерированные файлы в папку $DERIVED_FILES_DIR.Теперь мне нужно экспортировать сгенерированный заголовочный файл grammar.hpp с объектными файлами в виде библиотеки.

Проблема в том, что Xcode не разрешает экспортировать файлы, которые не включены в проект.

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

path = $DERIVED_FILES_DIR

До сих пор я нашел два возможных способа сделать это: Как ссылаться на файлы с переменными среды? Ссылка на файл относительно DERIVED_FILE_DIR в Xcode .В любом случае у меня не работает.

Может, кто-нибудь знает лучший способ добавить сгенерированные файлы в проект?

Ответы [ 2 ]

0 голосов
/ 18 июня 2013

Я закончил генерировать файлы в каталоге ${SRCROOT} с пользовательской целью сборки make, используя Makefile, которая обрабатывает регенерацию производных файлов.Я только добавил эти сгенерированные файлы в проект и сделал все фактические цели сборки зависимыми от этой цели make.

0 голосов
/ 16 июня 2013

Ваши лучшие варианты:

  1. Создайте файлы в вашем SRCROOT
  2. Создайте файлы в BUILT_PRODUCTS_DIR

Оба имеют «Относительно... "опции, которые позволят вам добавить файлы в ваш проект.

...