Использование ccache с Xcode 4

Есть ли способ использовать ccache с Xcode 4, чтобы улучшить время сборки C ++?

Используя переменные среды, я установил CC и CXX в ccache, но сборка не выполняется, поскольку ccache не распознает некоторые параметры, которые выводит Xcode 4.


person amfcosta    schedule 10.01.2013    source источник
comment
Почему вы вообще хотите использовать ccache? Xcode по умолчанию работает так же, как ccache; он будет повторно компилировать только те файлы, которые изменились с момента последней компиляции (если вы не очистили проект перед сборкой или не изменили настройки сборки). Поэтому я сомневаюсь, что вы заметите какое-либо ускорение при использовании ccache в Xcode.   -  person Mecki    schedule 14.01.2013
comment
@Mecki, xcode не кэширует продукт сборки. Например. если вы переключаетесь между ветвями, xcode повторно компилирует много файлов, он уже был скомпилирован раньше. В этом случае ccache значительно улучшит время компиляции.   -  person timblechmann    schedule 10.07.2013


Ответы (2)


Ccache поддерживает Clang начиная с версии 3.2 и новее.

См. Здесь возможное решение о том, как использовать ccache в Xcode: https://pspdfkit.com/blog/2015/ccache-for-fun-and-profit/

person Joel Rosdahl    schedule 27.01.2013

В этом ответе показан метод, в котором ccache можно использовать с Xcode, установив определяемые пользователем переменные CC и CXX в проекте Xcode. . Этот конкретный ответ заключался в использовании CMake для создания файлов проекта Xcode, но тот же принцип применяется к проектам Xcode, созданным вручную. Переменные CC и CXX действуют как переопределения для используемого компилятора, поэтому их переадресация на сценарий оболочки, который вызывает ccache с компилятором, который вам нужен, обеспечивает желаемую функциональность. Обратите внимание, что я тестировал его только с Xcode 7, но я ожидаю, что более ранние версии, вероятно, тоже будут работать. Эта статья Питера Штайнбергера также в основном описывает функциональные возможности, которые вы хотите без использования CMake, но он использует ту же технику установки переменных проекта CC и CXX Xcode.

person Craig Scott    schedule 10.04.2016