общий файл проекта Xcode, с внешней системой сборки в другом месте - PullRequest
1 голос
/ 15 февраля 2011

Я работаю над проектом с нескольких машин и предпочитаю использовать Xcode в качестве своей IDE, хотя я собираюсь с помощью инструмента сборки SCons.

Я следовал указаниям этого обсуждения, чтобысинхронизировать мой проект .pbxproj файл с помощью Git.Это работает хорошо.Новые исходные файлы отображаются в дереве проекта и т. Д. У меня нормально работает сборка на одном или другом компьютере.

У меня проблема в том, что инструмент сборки scons установлен по другому абсолютному пути.на разных машинах.Он не находится ни в каком пути, который использует XCode.

Может кто-нибудь сказать мне, как использовать переменную среды или другие средства в настройках цели XCode для внешней цели инструмента сборки, чтобы я мог указать правильный инструмент сборкиместоположение, а также построить каталог продукции?Цель состоит в том, чтобы файл .pbxproj работал на обеих моих машинах без изменений, но переменная окружения была бы установлена ​​по-разному на каждой машине.

Спасибо.

1 Ответ

1 голос
/ 15 февраля 2011

Хорошо, поэтому я придумала рабочее решение, использующее уровень косвенности.Сначала XCode вызывает оболочку bash, дающую имя сценария для запуска, который находится в том же каталоге, что и мой файл проекта XCode.Сценарий имеет умение указывать путь инструмента сборки, используя значения переменных среды, установленных в моем файле environment.plist.Переменные среды, установленные там, распространяются на среду процесса оболочки bash.

Особенности: В целевых настройках, часть Custom Build Command, у меня есть

Инструмент сборки: "bash"

Аргументы: "build_script $ PRODUCT_NAME"

Каталог: пусто

Файл build_script представляет собой скрипт bash, сохраненный в той же папке, что и мой файл проекта XCode.По сути, он просто меняет каталог на тот, где находится мой репозиторий исходного кода, а затем вызывает инструмент сборки scons, получая путь к scons из переменной окружения.

...