From e49a2fe21d645d4ff45e1289ad195484cd4da484 Mon Sep 17 00:00:00 2001 From: Benoit Foucher Date: Wed, 19 Aug 2015 19:14:15 +0200 Subject: [PATCH] Added support for Xcode 7 beta --- Classes/Plugin.m | 2 +- Classes/SliceCompilerSpecification.m | 190 +++++++++------------------ Headers/Xcode.h | 3 +- Info.plist | 10 +- test/test2/slice/slice.ice | 3 +- test/test2/slice/slice2.ice | 1 - test/test2/slice/slice3.ice | 7 + test/tests.xcodeproj/project.pbxproj | 17 ++- 8 files changed, 89 insertions(+), 144 deletions(-) create mode 100644 test/test2/slice/slice3.ice diff --git a/Classes/Plugin.m b/Classes/Plugin.m index 096c183..68bb7cd 100644 --- a/Classes/Plugin.m +++ b/Classes/Plugin.m @@ -6,7 +6,7 @@ #import -#define ICE_BUILDER_VERSION "2.0.3" +#define ICE_BUILDER_VERSION "2.1.0" @interface IceBuilder : NSObject { } diff --git a/Classes/SliceCompilerSpecification.m b/Classes/SliceCompilerSpecification.m index 3d1e666..f302e5d 100644 --- a/Classes/SliceCompilerSpecification.m +++ b/Classes/SliceCompilerSpecification.m @@ -22,6 +22,8 @@ @interface XCMacroExpansionScope : NSObject } @property(readonly) PBXTargetBuildContext *buildContext; -(id) dependencyGraphCreationContext; +-(id) evaluatedStringValueForMacroNamed:(id)arg1; +-(id) evaluatedStringListValueForMacroNamed:(id)arg1; @end @interface PBXTargetBuildContext(IceBuilder) @@ -55,7 +57,7 @@ @interface SliceCompilerConfiguration : NSObject @property (readonly) NSArray* options; @property (readonly) NSString* error; --(id)initWithContext:(PBXTargetBuildContext*)context; +-(id)initWithContext:(PBXTargetBuildContext*)context withScope:(XCMacroExpansionScope*)scope; @end @@ -70,7 +72,7 @@ @implementation SliceCompilerConfiguration @synthesize options; @synthesize error; --(id)initWithContext:(PBXTargetBuildContext*)context +-(id)initWithContext:(PBXTargetBuildContext*)context withScope:(XCMacroExpansionScope*)scope { if(!(self = [super init])) { @@ -79,7 +81,7 @@ -(id)initWithContext:(PBXTargetBuildContext*)context NSFileManager* fileManager = [NSFileManager defaultManager]; [fileManager changeCurrentDirectoryPath:context.baseDirectoryPath]; - NSString* sliceIceHome = [context expandedValueForString:@"$(SLICE_ICE_HOME)"]; + NSString* sliceIceHome = [scope evaluatedStringValueForMacroNamed:@"SLICE_ICE_HOME"]; NSString* version = nil; if(sliceIceHome.length > 0) { @@ -112,7 +114,7 @@ -(id)initWithContext:(PBXTargetBuildContext*)context sliceIceHome = homeCpp; } - cpp = [[context expandedValueForString:@"$(SLICE_CPP_FLAG)"] isEqualToString:@"YES"]; + cpp = [[scope evaluatedStringValueForMacroNamed:@"SLICE_CPP_FLAG"] isEqualToString:@"YES"]; NSString* exe = (cpp ? @"slice2cpp" : @"slice2objc"); translator = [[sliceIceHome stringByAppendingPathComponent:@"bin"] stringByAppendingPathComponent:exe]; @@ -133,7 +135,7 @@ -(id)initWithContext:(PBXTargetBuildContext*)context } else { - NSString* sdksRaw = [context expandedValueForString:@"$(ADDITIONAL_SDKS)"]; + NSString* sdksRaw = [scope evaluatedStringValueForMacroNamed:@"ADDITIONAL_SDKS"]; NSArray* sdks = [sdksRaw componentsSeparatedByString:@" "]; BOOL found = NO; for(__strong NSString* sdkDir in sdks) @@ -205,10 +207,10 @@ -(id)initWithContext:(PBXTargetBuildContext*)context // set or if libc++ is set explicitly, link with libraries // suffixed with -libc++ // - if((([[context expandedValueForString:@"$(IPHONEOS_DEPLOYMENT_TARGET)"] doubleValue] >= 7.0 || - [[context expandedValueForString:@"$(MACOSX_DEPLOYMENT_TARGET)"] doubleValue] >= 10.9) && - ![[context expandedValueForString:@"$(CLANG_CXX_LIBRARY)"] isEqualToString:@"libstdc++"]) || - [[context expandedValueForString:@"$(CLANG_CXX_LIBRARY)"] isEqualToString:@"libc++"]) + if((([[scope evaluatedStringValueForMacroNamed:@"IPHONEOS_DEPLOYMENT_TARGET"] doubleValue] >= 7.0 || + [[scope evaluatedStringValueForMacroNamed:@"MACOSX_DEPLOYMENT_TARGET"] doubleValue] >= 10.9) && + ![[scope evaluatedStringValueForMacroNamed:@"CLANG_CXX_LIBRARY"] isEqualToString:@"libstdc++"]) || + [[scope evaluatedStringValueForMacroNamed:@"CLANG_CXX_LIBRARY"] isEqualToString:@"libc++"]) { libsuffix = @"-libc++"; libstdcpp = @"-lc++"; @@ -224,7 +226,7 @@ -(id)initWithContext:(PBXTargetBuildContext*)context // Make sure we are compiling with the libc++ library, we no longer support libstdc++ // libstdcpp = @"-lc++"; - if([[context expandedValueForString:@"$(CLANG_CXX_LIBRARY)"] isEqualToString:@"libstdc++"]) + if([[scope evaluatedStringValueForMacroNamed:@"CLANG_CXX_LIBRARY"] isEqualToString:@"libstdc++"]) { error = @"Ice Touch doesn't support libstdc++"; return self; @@ -234,7 +236,7 @@ -(id)initWithContext:(PBXTargetBuildContext*)context // // Do we want to link service client libraries? // - BOOL linkWithServices = [[context expandedValueForString:@"$(SLICE_LINK_WITH_SERVICES)"] isEqualToString:@"YES"]; + BOOL linkWithServices = [[scope evaluatedStringValueForMacroNamed:@"SLICE_LINK_WITH_SERVICES"] isEqualToString:@"YES"]; // // Format for link option @@ -277,7 +279,7 @@ -(id)initWithContext:(PBXTargetBuildContext*)context [opts addObject:[NSString stringWithFormat:format, lib]]; } - if([[context expandedValueForString:@"$(PLATFORM_NAME)"] isEqualToString:@"macosx"]) + if([[scope evaluatedStringValueForMacroNamed:@"PLATFORM_NAME"] isEqualToString:@"macosx"]) { [opts addObjectsFromArray:[NSArray arrayWithObjects:@"-liconv", @"-lbz2", nil]]; } @@ -348,55 +350,26 @@ -(void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName nam @implementation SliceCompilerSpecification -// Run the slice compiler with --depend-xml to determine the dependencies for the given slice file. --(NSArray*)dependenciesForSliceFile:(NSString*)path - inTargetBuildContext:(PBXTargetBuildContext*)context - withMacroExpansionScope:(XCMacroExpansionScope*)scope +-(NSArray*)dependenciesForSliceFile:(NSString*)path command:(XCDependencyCommand*)cmd { - NSMutableDictionary* env = [[[NSProcessInfo processInfo] environment] mutableCopy]; - SliceCompilerConfiguration* conf = [[SliceCompilerConfiguration alloc] initWithContext:context]; - if(conf.error) - { - [context addDependencyAnalysisErrorMessageFormat:@"%@", conf.error]; - return [NSArray array]; - } - - if(conf.shlibpath) - { - [env setObject:conf.shlibpath forKey:@"DYLD_LIBRARY_PATH"]; - } - NSTask *dependTask = [[NSTask alloc] init]; NSMutableArray *args = [NSMutableArray array]; - [dependTask setLaunchPath:conf.translator]; - [dependTask setEnvironment:env]; - [dependTask setCurrentDirectoryPath:[context baseDirectoryPath]]; + [dependTask setLaunchPath:[cmd commandPath]]; + [dependTask setEnvironment:[cmd environment]]; + [dependTask setCurrentDirectoryPath:[cmd workingDirectoryPath]]; NSPipe* newPipe = [NSPipe pipe]; NSFileHandle* readHandle = [newPipe fileHandleForReading]; NSData* inData = nil; - // write handle is closed to this process [dependTask setStandardOutput:newPipe]; - // Stderr goes no-where. - //[dependTask setStandardError:newPipe]; - /* set arguments */ - if(scope) - { - [args addObjectsFromArray:[self commandLineForAutogeneratedOptionsWithMacroExpansionScope:scope]]; - } - else - { - [args addObjectsFromArray:[self commandLineForAutogeneratedOptionsInTargetBuildContext:context]]; - } - [args addObjectsFromArray:[[context expandedValueForString:@"$(build_file_compiler_flags)"] - arrayByParsingAsStringList]]; - [args addObject:[NSString stringWithFormat:@"-I%@", conf.slicedir]]; + [args addObjectsFromArray:[cmd arguments]]; // Use old style dependency parsing? - if(conf.cpp) + BOOL cpp = [[cmd commandPath] rangeOfString:@"slice2cpp"].location != NSNotFound; + if(cpp) { [args addObject:@"--depend"]; } @@ -462,7 +435,7 @@ -(NSArray*)dependenciesForSliceFile:(NSString*)path return [NSArray array]; } - if(conf.cpp) + if(cpp) { NSMutableArray* dep = [NSMutableArray array]; NSString* soutput = [[NSString alloc]initWithData:output encoding:NSUTF8StringEncoding]; @@ -510,29 +483,36 @@ -(NSArray*)dependenciesForSliceFile:(NSString*)path } } --(NSArray*) computeDependenciesForFilePath:(NSString*)input - ofType:(PBXFileType*)type - outputDirectory:(NSString*)outputDir - withMacroExpansionScope:(XCMacroExpansionScope*)scope +- (id)processDependencyInfoFileIfNecessaryForCommand:(id)cmd commandInvocationSucceeded:(BOOL)r; { - return [self computeDependenciesForFilePath:input - ofType:type - outputDirectory:outputDir - inTargetBuildContext:scope.buildContext - withMacroExpansionScope:scope]; + return ^ { + NSMutableArray* dependencies = [NSMutableArray array]; + for(XCDependencyNode* node in [cmd inputNodes]) + { + NSEnumerator *e = [[self dependenciesForSliceFile:[node path] command:cmd] objectEnumerator]; + NSString *filename; + PBXTargetBuildContext* context = [cmd buildContext]; + while((filename = [e nextObject])) + { + XCDependencyNode *node = [context dependencyNodeForPath:[context absolutePathForPath:filename]]; + [node setDontCareIfExists:YES]; + [dependencies addObject:node]; + } + } + [cmd setDiscoveredInputNodes:dependencies]; + }; } -// Called by Xcode 4 -(NSArray*) computeDependenciesForFilePath:(NSString*)input ofType:(PBXFileType*)type outputDirectory:(NSString*)outputDir - inTargetBuildContext:(PBXTargetBuildContext*)context + withMacroExpansionScope:(XCMacroExpansionScope*)scope { return [self computeDependenciesForFilePath:input ofType:type outputDirectory:outputDir - inTargetBuildContext:context - withMacroExpansionScope:nil]; + inTargetBuildContext:scope.buildContext + withMacroExpansionScope:scope]; } -(NSArray*) computeDependenciesForFilePath:(NSString*)input @@ -542,9 +522,9 @@ -(NSArray*) computeDependenciesForFilePath:(NSString*)input withMacroExpansionScope:(XCMacroExpansionScope*)scope { // compute input path (for variable substitution) - input = [context expandedValueForString:input]; + input = [context absolutePathForPath:input]; - SliceCompilerConfiguration* conf = [[SliceCompilerConfiguration alloc] initWithContext:context]; + SliceCompilerConfiguration* conf = [[SliceCompilerConfiguration alloc] initWithContext:context withScope:scope]; if(conf.error) { [context addDependencyAnalysisErrorMessageFormat:@"%@", conf.error]; @@ -552,7 +532,8 @@ -(NSArray*) computeDependenciesForFilePath:(NSString*)input } // The output file goes in the derived files dir. - NSString* generatedOutputDir = [context expandedValueForString:@"$(SLICE_OUTPUT_DIR)"]; + NSString* generatedOutputDir = [scope evaluatedStringValueForMacroNamed:@"SLICE_OUTPUT_DIR"]; + NSString* outputBase = [generatedOutputDir stringByAppendingPathComponent:[[input lastPathComponent] stringByDeletingPathExtension]]; NSString* sourceExtension = (conf.cpp) ? @"cpp" : @"m"; @@ -562,85 +543,35 @@ -(NSArray*) computeDependenciesForFilePath:(NSString*)input // create dependency nodes XCDependencyNode* outputSourceNode; XCDependencyNode* outputHeaderNode; - XCDependencyNode* inputNode; - if(scope) - { - outputSourceNode = [context dependencyNodeForPath:sourceOutput]; - outputHeaderNode = [context dependencyNodeForPath:headerOutput]; - inputNode = [context dependencyNodeForPath:input]; + XCDependencyNode* inputNode = [context dependencyNodeForPath:input]; - [[scope dependencyGraphCreationContext] addNodeToClean:outputSourceNode]; - [[scope dependencyGraphCreationContext] addNodeToClean:outputHeaderNode]; - } - else - { - outputSourceNode = [context dependencyNodeForName:sourceOutput createIfNeeded:YES]; - outputHeaderNode = [context dependencyNodeForName:headerOutput createIfNeeded:YES]; - inputNode = [context dependencyNodeForName:input createIfNeeded:YES]; - } + outputSourceNode = [context dependencyNodeForPath:sourceOutput]; + outputHeaderNode = [context dependencyNodeForPath:headerOutput]; - // Add dependencies - NSEnumerator *e = [[self dependenciesForSliceFile:input - inTargetBuildContext:context - withMacroExpansionScope:scope] objectEnumerator]; - NSString *filename; - while((filename = [e nextObject])) - { - NSString *filepath = [context absolutePathForPath:filename]; - XCDependencyNode *node; - if(scope) - { - node = [context dependencyNodeForPath:filepath]; - } - else - { - node = [context dependencyNodeForName:filepath createIfNeeded:YES]; - } - [node setDontCareIfExists:YES]; - [inputNode addIncludedNode:node]; - } + [[scope dependencyGraphCreationContext] addNodeToClean:outputSourceNode]; + [[scope dependencyGraphCreationContext] addNodeToClean:outputHeaderNode]; // Create slice2objc command - XCDependencyCommand* dep; - if(scope) - { - dep = [context createCommandWithRuleInfo:[NSArray arrayWithObjects:(conf.cpp ? @"slice2cpp" : @"slice2objc"), - [context naturalPathForPath:input],nil] + XCDependencyCommand* dep = [context createCommandWithRuleInfo: + [NSArray arrayWithObjects:(conf.cpp ? @"slice2cpp" : @"slice2objc"), [context naturalPathForPath:input], nil] commandPath:conf.translator arguments:nil forNode:outputHeaderNode toolSpecification:self withMacroExpansionScope:scope]; - [dep addArgumentsFromArray:[self commandLineForAutogeneratedOptionsWithMacroExpansionScope:scope]]; - } - else - { - dep = [context createCommandWithRuleInfo:[NSArray arrayWithObjects:(conf.cpp ? @"slice2cpp" : @"slice2objc"), - [context naturalPathForPath:input],nil] - commandPath:conf.translator - arguments:nil - forNode:outputHeaderNode]; - [dep setToolSpecification:self]; // So Xcode knows how to parse the output, etc. - [dep addArgumentsFromArray:[self commandLineForAutogeneratedOptionsInTargetBuildContext:context]]; - } + [dep addArgumentsFromArray:[self commandLineForAutogeneratedOptionsWithMacroExpansionScope:scope]]; + [dep addInputNode:inputNode]; [dep addOutputNode:outputSourceNode]; - [dep addArgumentsFromArray:[[context expandedValueForString:@"$(build_file_compiler_flags)"] - arrayByParsingAsStringList]]; - + [dep addArgumentsFromArray:[scope evaluatedStringListValueForMacroNamed:@"build_file_compiler_flags"]]; [dep addArgument:[NSString stringWithFormat:@"-I%@", conf.slicedir]]; [dep addArgument:input]; [dep setPhaseNumber:3]; // This is the phase that the yacc plugin uses. - if(conf.shlibpath) { [dep addEnvironmentValue:conf.shlibpath forKey:@"DYLD_LIBRARY_PATH"]; } - // Create dependency rules. The source and the header depend on the input file. - [outputSourceNode addDependedNode:inputNode]; - [outputHeaderNode addDependedNode:inputNode]; - // Add the source & headder output to the generated source files. [context addPath:sourceOutput toFilePathListWithIdentifier:@"GeneratedSourceFiles"]; [context addPath:headerOutput toFilePathListWithIdentifier:@"GeneratedSourceFiles"]; @@ -648,7 +579,7 @@ -(NSArray*) computeDependenciesForFilePath:(NSString*)input // // Add linker options (unless this is a static library project). // - if(![[context expandedValueForString:@"$(MACH_O_TYPE)"] isEqualToString:@"staticlib"]) + if(![[scope evaluatedStringValueForMacroNamed:@"MACH_O_TYPE"] isEqualToString:@"staticlib"]) { [context addCompilerRequestedLinkerParameters: [NSDictionary dictionaryWithObject:conf.options forKey:@"AdditionalCommandLineArguments"]]; @@ -659,7 +590,7 @@ -(NSArray*) computeDependenciesForFilePath:(NSString*)input NSArray* current; NSString* includeDir = [conf.icehome stringByAppendingPathComponent:@"include"]; - current = [[context expandedValueForString:@"$(HEADER_SEARCH_PATHS)"] arrayByParsingAsStringList]; + current = [scope evaluatedStringListValueForMacroNamed:@"HEADER_SEARCH_PATHS"]; if(![current containsObject:includeDir]) { NSMutableArray* copy = [current mutableCopy]; @@ -668,7 +599,7 @@ -(NSArray*) computeDependenciesForFilePath:(NSString*)input } NSString* libDir = [conf.icehome stringByAppendingPathComponent:@"lib"]; - current = [[context expandedValueForString:@"$(LIBRARY_SEARCH_PATHS)"] arrayByParsingAsStringList]; + current = [scope evaluatedStringListValueForMacroNamed:@"LIBRARY_SEARCH_PATHS"]; if(![current containsObject:libDir]) { NSMutableArray* copy = [current mutableCopy]; @@ -677,7 +608,6 @@ -(NSArray*) computeDependenciesForFilePath:(NSString*)input } } - // The output of the plugin is a single source node. - return [NSArray arrayWithObject:outputSourceNode]; + return [NSArray arrayWithObjects:outputSourceNode, outputHeaderNode, nil]; } @end diff --git a/Headers/Xcode.h b/Headers/Xcode.h index b8a9964..61f4865 100644 --- a/Headers/Xcode.h +++ b/Headers/Xcode.h @@ -1297,7 +1297,6 @@ // unsigned char markByte; // } _cmnd2009; } - - (id)dependencyNode; - (BOOL)outputFilesHaveBeenUpdated; - (void)unlockInputAndOutputFiles; @@ -1415,6 +1414,7 @@ - (id)outputNodes; - (void)addInputNode:(id)arg1; - (id)inputNodes; +- (void)setDiscoveredInputNodes:(id)arg1; - (void)invalidateConfigurationSignature; - (void)invalidateInputSignature; - (void)setPhaseNumber:(unsigned long long)arg1; @@ -1425,6 +1425,7 @@ - (void)setBuildContext:(id)arg1 commandNumber:(unsigned long long)arg2; - (id)_buildStateId; - (id)buildContext; +- (id)macroExpansionScope; - (void)detachFromOtherGraphObjects; - (void)dealloc; - (id)init; diff --git a/Info.plist b/Info.plist index b967902..ae84b61 100644 --- a/Info.plist +++ b/Info.plist @@ -22,15 +22,19 @@ 1.0 DVTPlugInCompatibilityUUIDs - 37B30044-3B14-46BA-ABAA-F01000C27B63 - A2E4D43F-41F4-4FB9-BB94-7177011C9AED + C4A681B0-4A26-480E-93EC-1218098B9AA0 + A16FF353-8441-459E-A50C-B071F53F51B7 - 992275C1-432A-4CF7-B659-D84ED6D42D3F + 9F75337B-21B4-4ADC-B558-F9CADF7073A7 + E969541F-E6F9-4D25-8158-72DC3545A6C6 8DC44374-2B35-4C57-A6FE-2AD66A36AAD9 + 7FDF5C7A-131F-4ABB-9EDC-8C5F8F0B8A90 + + AABB7188-E14E-4433-AD3B-5CD791EAD9A3 LoadAtLaunch YES diff --git a/test/test2/slice/slice.ice b/test/test2/slice/slice.ice index 92ef170..a7b0347 100644 --- a/test/test2/slice/slice.ice +++ b/test/test2/slice/slice.ice @@ -20,5 +20,4 @@ string s; module Ice { - -}; \ No newline at end of file +}; diff --git a/test/test2/slice/slice2.ice b/test/test2/slice/slice2.ice index 7e335e5..f69ac1a 100644 --- a/test/test2/slice/slice2.ice +++ b/test/test2/slice/slice2.ice @@ -1,3 +1,2 @@ - // Test includes #include diff --git a/test/test2/slice/slice3.ice b/test/test2/slice/slice3.ice new file mode 100644 index 0000000..2567b3f --- /dev/null +++ b/test/test2/slice/slice3.ice @@ -0,0 +1,7 @@ + +#include + + + + + diff --git a/test/tests.xcodeproj/project.pbxproj b/test/tests.xcodeproj/project.pbxproj index 74d6f27..e1d2c37 100644 --- a/test/tests.xcodeproj/project.pbxproj +++ b/test/tests.xcodeproj/project.pbxproj @@ -18,6 +18,7 @@ 14AD82191AC2BEEC00CFBDF9 /* test4.mm in Sources */ = {isa = PBXBuildFile; fileRef = 14AD82181AC2BEEC00CFBDF9 /* test4.mm */; }; 14AD82201AC2BF3400CFBDF9 /* slice.ice in Sources */ = {isa = PBXBuildFile; fileRef = 14AD821E1AC2BF3400CFBDF9 /* slice.ice */; }; 14AD82211AC2BF3400CFBDF9 /* slice2.ice in Sources */ = {isa = PBXBuildFile; fileRef = 14AD821F1AC2BF3400CFBDF9 /* slice2.ice */; }; + 14EE1BA31B84E10000D8FCFC /* slice3.ice in Sources */ = {isa = PBXBuildFile; fileRef = 14EE1BA21B84E10000D8FCFC /* slice3.ice */; }; D834434B1AE039070018AF18 /* slice1.ice in Sources */ = {isa = PBXBuildFile; fileRef = D834434A1AE039070018AF18 /* slice1.ice */; }; D83443521AE03D570018AF18 /* libtestLib.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D83443331AE0387E0018AF18 /* libtestLib.dylib */; }; /* End PBXBuildFile section */ @@ -42,6 +43,7 @@ 14AD82181AC2BEEC00CFBDF9 /* test4.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = test4.mm; sourceTree = ""; }; 14AD821E1AC2BF3400CFBDF9 /* slice.ice */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.slice; path = slice.ice; sourceTree = ""; }; 14AD821F1AC2BF3400CFBDF9 /* slice2.ice */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.slice; path = slice2.ice; sourceTree = ""; }; + 14EE1BA21B84E10000D8FCFC /* slice3.ice */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.slice; name = slice3.ice; path = slice/slice3.ice; sourceTree = ""; }; D83443331AE0387E0018AF18 /* libtestLib.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libtestLib.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; D834434A1AE039070018AF18 /* slice1.ice */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.slice; path = slice1.ice; sourceTree = ""; }; D83443511AE03CCC0018AF18 /* generated */ = {isa = PBXFileReference; lastKnownFileType = folder; path = generated; sourceTree = ""; }; @@ -93,6 +95,7 @@ children = ( 14318C011AC2A87800E53118 /* slice.ice */, 14318C021AC2A87800E53118 /* slice2.ice */, + 14EE1BA21B84E10000D8FCFC /* slice3.ice */, ); name = slice; sourceTree = ""; @@ -418,6 +421,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 14EE1BA31B84E10000D8FCFC /* slice3.ice in Sources */, 14318C041AC2A87800E53118 /* slice2.ice in Sources */, 14318C031AC2A87800E53118 /* slice.ice in Sources */, 149D6FDD1AC1DB90008A8B56 /* test2.mm in Sources */, @@ -577,7 +581,7 @@ 149D6FD01AC1D942008A8B56 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ADDITIONAL_SDKS = "$(ICE_TOUCH_HOME)/SDKs/ObjC/$(PLATFORM_NAME).sdk"; + ADDITIONAL_SDKS = "$(ICE_TOUCH_HOME)/lib/IceTouch/ObjC/$(PLATFORM_NAME).sdk"; ALWAYS_SEARCH_USER_PATHS = NO; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -627,7 +631,7 @@ 149D6FD11AC1D942008A8B56 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ADDITIONAL_SDKS = "$(ICE_TOUCH_HOME)/SDKs/ObjC/$(PLATFORM_NAME).sdk"; + ADDITIONAL_SDKS = "$(ICE_TOUCH_HOME)/lib/IceTouch/ObjC/$(PLATFORM_NAME).sdk"; ALWAYS_SEARCH_USER_PATHS = NO; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -671,7 +675,7 @@ 149D6FDF1AC1DB90008A8B56 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ADDITIONAL_SDKS = "$(ICE_TOUCH_HOME)/SDKs/Cpp/$(PLATFORM_NAME).sdk"; + ADDITIONAL_SDKS = "$(ICE_TOUCH_HOME)/lib/IceTouch/Cpp/$(PLATFORM_NAME).sdk"; ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; @@ -725,7 +729,7 @@ 149D6FE01AC1DB90008A8B56 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ADDITIONAL_SDKS = "$(ICE_TOUCH_HOME)/SDKs/Cpp/$(PLATFORM_NAME).sdk"; + ADDITIONAL_SDKS = "$(ICE_TOUCH_HOME)/lib/IceTouch/Cpp/$(PLATFORM_NAME).sdk"; ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; @@ -891,7 +895,7 @@ D83443451AE0387E0018AF18 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ADDITIONAL_SDKS = "$(ICE_TOUCH_HOME)/SDKs/ObjC/$(PLATFORM_NAME).sdk"; + ADDITIONAL_SDKS = "$(ICE_TOUCH_HOME)/lib/IceTouch/ObjC/$(PLATFORM_NAME).sdk"; ALWAYS_SEARCH_USER_PATHS = NO; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -948,7 +952,7 @@ D83443461AE0387E0018AF18 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ADDITIONAL_SDKS = "$(ICE_TOUCH_HOME)/SDKs/ObjC/$(PLATFORM_NAME).sdk"; + ADDITIONAL_SDKS = "$(ICE_TOUCH_HOME)/lib/IceTouch/ObjC/$(PLATFORM_NAME).sdk"; ALWAYS_SEARCH_USER_PATHS = NO; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -1051,6 +1055,7 @@ D83443461AE0387E0018AF18 /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ };