Xcodebuild генерирует промежуточные файлы и файлы .o с абсолютными путями - PullRequest
0 голосов
/ 21 мая 2018

Я запускаю xcodebuild для сборки своего проекта через командную строку, и странно то, что промежуточные файлы сборки и объектные файлы из папки сборки содержат жестко закодированные абсолютные пути от моего компьютера.Я думаю, что xcodebuild делает это автоматически.

Есть ли способ сделать их относительными?Я довольно долго искал это, но безуспешно.

Мне это нужно, потому что я хочу перенести весь проект на другую машину и запустить некоторые модульные тесты xcode через xcodebuild с параметром test, не перестраивая проект, поэтому в результате мне нужно также перенести файлы сборкина этой машине.Проблема заключается в том, что пути к предыдущему компьютеру (на котором была выполнена сборка) присутствуют в файлах сборки и файлах .o и не соответствуют текущему пути к машине.

Пример:
Путь к проекту машины сборки: / Users / MyBuildUser / BuildFolder / XcodeProject
Путь к проекту тестовой машины (местоположение передачи): / Users / MyTestUser / TestFolder / XcodeProject
Путинапример: / Users / MyBuildUser / BuildFolder / XcodeProject / Sources / Source.h

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

Проблема была в том, как я создал проект.Генерация осуществляется с помощью CMake.По умолчанию CMake везде использует абсолютные пути, и это запрещает перемещать сгенерированный контент с рабочей станции на другую, как описано здесь:

Как указать CMake использовать относительные пути

0 голосов
/ 21 мая 2018

Пути могут быть установлены в Xcode> Preferences> Locations с помощью кнопки Advanced ... :

Оттуда выберите Custom> Relative to Derived Data или Relative to Workspace.

enter image description here

...