Add support for PBXBuildStyle
Bigpet opened this issue Β· comments
Context π΅οΈββοΈ
I was trying to use Xcodegen to reference a target inside a xcode project generated by cmake.
/* Begin PBXBuildStyle section */
C3A1C34E5D9A41E99812FB9C /* Release */ = {
isa = PBXBuildStyle;
buildSettings = {
COPY_PHASE_STRIP = NO;
};
name = Release;
};
/* End PBXBuildStyle section */
Later on used in
/* Begin PBXProject section */
5F89BF4899BD4F768A3616BC /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = YES;
LastUpgradeCheck = 1340;
};
buildConfigurationList = A855B1006B43451EBA296B88 /* Build configuration list for PBXProject "myproj" */;
buildSettings = {
};
buildStyles = (
C3A1C34E5D9A41E99812FB9C /* Release */,
);
What π±
It could not add a target from the cmake generated xcodeproj as a dependency and just returned the error "The element PBXBuildStyle is not supported."
Proposal π
This element seems like it's the base of XCConfigurationList
which is supported, so this element might be able to be handled similarly.
this seems related: CocoaPods/CocoaPods#6325
And they appear to mostly blame cmake as the culprit.
In case anyone lands here via google, I used this script from here before the initial generation to make it work. If CMake overwrites it again, it still works until you try to use xcodegen again: https://gist.github.com/Bigpet/9c8f950aa5dd3ad99923d4d98cf87209
I got my issue solved by editing the *.xcodeproj file. While I can't find any Reference to the element being "deprecated" or "outdated" officially. Apparently it's just accepted that if the XCode UI of newer versions doesn't generate an element, it's de-facto "outdated".