From 8bbdc63e3869eb18bc2c894dea38ac3d5160f1db Mon Sep 17 00:00:00 2001 From: "C.W. Betts" Date: Thu, 30 Jan 2025 01:17:18 -0700 Subject: [PATCH] Have the framework build as a multi-platform target. This will up the Xcode target to 13.0. --- XADArchive.m | 14 +++---- XADMaster.xcodeproj/project.pbxproj | 64 ++++++++++++++++++++--------- 2 files changed, 52 insertions(+), 26 deletions(-) diff --git a/XADArchive.m b/XADArchive.m index 142455b0..992eeb77 100644 --- a/XADArchive.m +++ b/XADArchive.m @@ -1111,13 +1111,13 @@ -(void *)xadFileInfoForEntry:(int)n if(mod) { - NSCalendarDate *cal=[mod dateWithCalendarFormat:nil timeZone:[NSTimeZone defaultTimeZone]]; - fi->xfi_Date.xd_Year=[cal yearOfCommonEra]; - fi->xfi_Date.xd_Month=[cal monthOfYear]; - fi->xfi_Date.xd_Day=[cal dayOfMonth]; - fi->xfi_Date.xd_Hour=[cal hourOfDay]; - fi->xfi_Date.xd_Minute=[cal minuteOfHour]; - fi->xfi_Date.xd_Second=[cal secondOfMinute]; + NSDateComponents* cal=[[NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian] componentsInTimeZone:[NSTimeZone defaultTimeZone] fromDate:mod]; + fi->xfi_Date.xd_Year=(int)[cal year]; + fi->xfi_Date.xd_Month=[cal month]; + fi->xfi_Date.xd_Day=[cal day]; + fi->xfi_Date.xd_Hour=[cal hour]; + fi->xfi_Date.xd_Minute=[cal minute]; + fi->xfi_Date.xd_Second=[cal second]; } else fi->xfi_Flags|=1<<6; diff --git a/XADMaster.xcodeproj/project.pbxproj b/XADMaster.xcodeproj/project.pbxproj index 0917b2cd..557d180f 100644 --- a/XADMaster.xcodeproj/project.pbxproj +++ b/XADMaster.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 55; objects = { /* Begin PBXAggregateTarget section */ @@ -46,7 +46,7 @@ 1B216A750F8E8ADE001207C9 /* Progress.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B216A730F8E8ADE001207C9 /* Progress.h */; }; 1B216A760F8E8ADE001207C9 /* Progress.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B216A740F8E8ADE001207C9 /* Progress.m */; }; 1B216A790F8E9064001207C9 /* CRC.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B216A770F8E9064001207C9 /* CRC.m */; }; - 1B216A800F8E9D9E001207C9 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1B216A7F0F8E9D9E001207C9 /* Carbon.framework */; }; + 1B216A800F8E9D9E001207C9 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1B216A7F0F8E9D9E001207C9 /* Carbon.framework */; platformFilters = (macos, ); settings = {ATTRIBUTES = (Required, ); }; }; 1B216BBE0F8E9DED001207C9 /* XADArchive.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B5A80B50A27AA9900B189EB /* XADArchive.m */; }; 1B23DAA01177C99900620319 /* Scanning.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B23DA9E1177C99900620319 /* Scanning.m */; }; 1B23DB8F117BA91D00620319 /* XADNowCompressParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B23DB8D117BA91D00620319 /* XADNowCompressParser.m */; }; @@ -138,7 +138,7 @@ 1B34444213AACE2000C89872 /* XADAppleDouble.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B34444113AACE1F00C89872 /* XADAppleDouble.m */; }; 1B34444313AACE2000C89872 /* XADAppleDouble.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B34444113AACE1F00C89872 /* XADAppleDouble.m */; }; 1B34444413AACE2000C89872 /* XADAppleDouble.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B34444113AACE1F00C89872 /* XADAppleDouble.m */; }; - 1B349EF211BACA2900396C26 /* XADPlatformMacOSX.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B349EF011BACA2900396C26 /* XADPlatformMacOSX.m */; }; + 1B349EF211BACA2900396C26 /* XADPlatformMacOSX.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B349EF011BACA2900396C26 /* XADPlatformMacOSX.m */; platformFilters = (macos, ); }; 1B34A55B11BDC1AD00396C26 /* RARAudioDecoder.c in Sources */ = {isa = PBXBuildFile; fileRef = 1B34A55711BDC1AC00396C26 /* RARAudioDecoder.c */; }; 1B34A65011C01A5A00396C26 /* XADRAR15Handle.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B4CFB6B119B7F2500CDACC1 /* XADRAR15Handle.m */; }; 1B34A7B511C2D97500396C26 /* XADRAR15CryptHandle.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B34A7B111C2D97500396C26 /* XADRAR15CryptHandle.m */; }; @@ -1367,6 +1367,7 @@ 1BF3BA9013EE08A300BE7400 /* XADPlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 1BF3BA8F13EE08A300BE7400 /* XADPlatform.h */; settings = {ATTRIBUTES = (Public, ); }; }; 1BF3BA9113EE08A300BE7400 /* XADPlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 1BF3BA8F13EE08A300BE7400 /* XADPlatform.h */; }; 1BF3BA9213EE08A300BE7400 /* XADPlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 1BF3BA8F13EE08A300BE7400 /* XADPlatform.h */; }; + 55DAAC6C2D4B678C0011CA2D /* XADPlatformiOS.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B83727C15CEA27000B0DC9D /* XADPlatformiOS.m */; platformFilters = (ios, maccatalyst, tvos, xros, ); }; 73032E6C2626D3DD000C2751 /* XADWARCParserTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 73032E6B2626D3DD000C2751 /* XADWARCParserTests.m */; }; 73032E6E2626DB7C000C2751 /* WARCFixtures in Resources */ = {isa = PBXBuildFile; fileRef = 73032E6D2626DB7C000C2751 /* WARCFixtures */; }; 7318A41D248C67E400D327B9 /* XADRARParserTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 7318A41C248C67E400D327B9 /* XADRARParserTests.m */; }; @@ -2293,17 +2294,16 @@ 1B91CBA911D803920081E40A /* Windows Sources */, 32C88DFF0371C24200C91783 /* Other Sources */, 089C1665FE841158C02AAC07 /* Resources */, - 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */, + 0867D69AFE84028FC02AAC07 /* Frameworks */, 1BDDC79413DE3D2800A8C079 /* Man Pages */, 73DA3466206B6BF1006ADB42 /* XADMasterTests */, 034768DFFF38A50411DB9C8B /* Products */, 56FBC8DC0A57531D00BE98CF /* UniversalDetector.xcodeproj */, - 7398C7AD2059248700D7B977 /* Frameworks */, ); name = XADMaster; sourceTree = ""; }; - 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */ = { + 0867D69AFE84028FC02AAC07 /* Frameworks */ = { isa = PBXGroup; children = ( 1B3FABA70EC52532006D2F06 /* libz.dylib */, @@ -2314,7 +2314,7 @@ 1B34AACA11C30FC500396C26 /* Static Linking */, 1B34A03A11BB1CC300396C26 /* Windows Libraries */, ); - name = "External Frameworks and Libraries"; + name = Frameworks; sourceTree = ""; }; 089C1665FE841158C02AAC07 /* Resources */ = { @@ -3251,13 +3251,6 @@ path = RAR; sourceTree = ""; }; - 7398C7AD2059248700D7B977 /* Frameworks */ = { - isa = PBXGroup; - children = ( - ); - name = Frameworks; - sourceTree = ""; - }; 73A91A4B2ADC64DE0059C423 /* Stuffit */ = { isa = PBXGroup; children = ( @@ -3938,7 +3931,7 @@ }; }; buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "XADMaster" */; - compatibilityVersion = "Xcode 3.2"; + compatibilityVersion = "Xcode 13.0"; developmentRegion = English; hasScannedForEncodings = 1; knownRegions = ( @@ -4855,6 +4848,7 @@ 1BCD5B2A0EEA276A00D86C43 /* XADRegex.m in Sources */, 1BCD5D4A0EECB0A300D86C43 /* XAD7ZipParser.m in Sources */, 1BCD5DA30EED8C9500D86C43 /* XADLZMAHandle.m in Sources */, + 55DAAC6C2D4B678C0011CA2D /* XADPlatformiOS.m in Sources */, 1BCD5DA90EED8C9C00D86C43 /* LzmaDec.c in Sources */, 1BCD61590EF349EE00D86C43 /* Bra86.c in Sources */, 1BCD615A0EF349EE00D86C43 /* Bra.c in Sources */, @@ -5220,6 +5214,7 @@ 1B68D25D13282D2500A8121A /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; CLANG_ENABLE_MODULES = YES; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = YES; @@ -5236,7 +5231,9 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = XADMaster_Prefix.pch; INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "@executable_path/../Frameworks"; + INSTALL_PATH = "@executable_path/Frameworks"; + "INSTALL_PATH[sdk=macosx*]" = "@executable_path/../Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "@loader_path"; MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ""; @@ -5248,7 +5245,11 @@ PRODUCT_NAME = XADMaster; SDKROOT = macosx; SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "xrsimulator xros macosx iphonesimulator iphoneos appletvsimulator appletvos"; + SUPPORTS_MACCATALYST = YES; + TVOS_DEPLOYMENT_TARGET = 15.6; WRAPPER_EXTENSION = framework; + XROS_DEPLOYMENT_TARGET = 1.3; }; name = Release; }; @@ -5617,6 +5618,7 @@ 1DEB91AE08733DA50010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; CLANG_ENABLE_MODULES = YES; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; @@ -5634,7 +5636,9 @@ GCC_PREFIX_HEADER = XADMaster_Prefix.pch; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "@executable_path/../Frameworks"; + INSTALL_PATH = "@executable_path/Frameworks"; + "INSTALL_PATH[sdk=macosx*]" = "@executable_path/../Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "@loader_path"; MACOSX_DEPLOYMENT_TARGET = 10.9; OTHER_CFLAGS = ""; @@ -5646,7 +5650,11 @@ PRODUCT_NAME = XADMaster; SDKROOT = macosx; SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "xrsimulator xros macosx iphonesimulator iphoneos appletvsimulator appletvos"; + SUPPORTS_MACCATALYST = YES; + TVOS_DEPLOYMENT_TARGET = 15.6; WRAPPER_EXTENSION = framework; + XROS_DEPLOYMENT_TARGET = 1.3; }; name = Debug; }; @@ -5683,6 +5691,7 @@ 73DA346D206B6BF1006ADB42 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -5716,18 +5725,27 @@ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; INFOPLIST_FILE = XADMasterTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); MACOSX_DEPLOYMENT_TARGET = 10.13; MTL_ENABLE_DEBUG_INFO = YES; PRODUCT_BUNDLE_IDENTIFIER = com.macpaw.XADMasterTests; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = macosx; + SUPPORTED_PLATFORMS = "xrsimulator xros macosx iphonesimulator iphoneos appletvsimulator appletvos"; + TVOS_DEPLOYMENT_TARGET = 15.6; + XROS_DEPLOYMENT_TARGET = 1.3; }; name = Debug; }; 73DA346E206B6BF1006ADB42 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -5756,12 +5774,20 @@ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; INFOPLIST_FILE = XADMasterTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); MACOSX_DEPLOYMENT_TARGET = 10.13; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = com.macpaw.XADMasterTests; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = macosx; + SUPPORTED_PLATFORMS = "xrsimulator xros macosx iphonesimulator iphoneos appletvsimulator appletvos"; + TVOS_DEPLOYMENT_TARGET = 15.6; + XROS_DEPLOYMENT_TARGET = 1.3; }; name = Release; };