Próbuję naprawić formułę homebrew, która używa xcodebuild
zbudować zależność. Niestety zależność ta zależy od starszego zestawu SDK, MacOSX10.12.sdk
. Nie mogę sprawić, by ten projekt używał nowszego zestawu SDK, ponieważ wymagałoby to ogromnej refaktoryzacji bazy kodu. Co więcej, ta biblioteka pochodzi od Apple i zdecydowali się na celowe upuszczenie jej w najnowszym SDK Xcode.
Na szczęście udało mi się znaleźć zestaw SDK, którego potrzebuję to repozytorium na Github. Jednak teraz nie wiem, jak zmusić xcodebuild
korzystać z zestawu SDK, którego potrzebuję. Bez względu na to, jakie opcje lub zmienne ustawię, xcodebuild
zawsze używa domyślnego zestawu SDK z Xcode.
Wersja używanego przeze mnie systemu to 10.12.6. Tak, mimo że sama wersja systemu to 10.12, Xcode odmawia użycia zestawu SDK, który pasuje do tej wersji.
Więc jak mogę zmusić xcodebuild
korzystać z mojego starszego zestawu SDK w moim własnym katalogu?
-sdk
flaga.xcodebuild
wciąż wywołujeclang
z flagami takimi jak-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk
i-mmacosx-version-min=10.13
. To również wywołujelibtool
zMACOSX_DEPLOYMENT_TARGET=10.13
i-syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk
ilovezfs
(jeden z opiekunów homebrew) pomógł mi rozwiązać problem bez konieczności używania starszego SDK ustawiając niektóre zmienne środowiskowe. Wyjaśnia to tutaj. Próbowałem już robić to, co on zrobił, ale myślę, że spieprzyłem to, próbując użyć starszego SDK.