Добавление пользовательских назначений в Xcode 4 - PullRequest
4 голосов
/ 26 июля 2011

Я пытаюсь использовать XCode с существующим проектом, который имеет собственную систему сборки.У него есть несколько разных целей платформы, и я хотел бы иметь возможность указать любую из них и легко ее построить.Все, что должен сделать Xcode - это запустить make build-platform DEBUG=1 или что-то подобное.

Я создал проект External Build System (в категории Mac OS X, поскольку это был единственный вариант). Моя единственная предсказуемая проблема -Список назначений.Все, что я вижу здесь сейчас, это:

  • Мой Mac 64-битный
  • Мой Mac 32-битный

Я искал везде, о чем могу подуматьизменить их, но безрезультатно.Мне нужен список различных платформ здесь.Как я могу это сделать, и как правильно настроить параметры сборки в зависимости от места назначения?

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

Ответы [ 2 ]

1 голос
/ 25 августа 2011

Мне нужно работать с внешним проектом Makefile в Xcode 4, он только 32-битный.Мне кажется, хитрость для удаления элемента «Мой Mac 64-bit» заключалась в том, чтобы установить значение архитектуры (ARCH) на «i386».

build settings

На вкладке «Информация»Я устанавливаю параметры makefile и цель:

enter image description here

Эти изменения на самом деле только косметические для пунктов меню XCode - это зависит от моих сборочных файлов для сборки для правильной архитектуры.У меня снят флажок "пройти настройки сборки ...", поэтому я игнорирую настройку ARCH, и все остальное в этом отношении.

enter image description here

Мне не нужноi386 и x86-64, но если бы я это сделал, мне нужно было бы добавить правила в make-файлы для создания универсального двоичного файла.

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

Надеюсь, это поможет.

0 голосов
/ 25 августа 2011

Если вы хотите построить платформы отдельно, вам нужно будет создать отдельные конфигурации.В противном случае шаг сборки XCode соберет все определенные архитектуры, которые вы определили в конфигурации, в один двоичный файл (например, i386 + x86_64).Это верно, независимо от того, запускается ли сборка из IDE XCode или из командной строки xcodebuild, я предполагаю, что вы используете последний вариант, поскольку у вас есть внешняя система сборки.

...