diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index edce0bafbf461816ec2f4072aa5acb8761becdca..385af58417fa004635d5ca3a2363cdc8066dccc4 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -301,6 +301,7 @@ + diff --git a/src/tasks/AppleAppBuilder/Templates/CMakeLists-librarymode.txt.template b/src/tasks/AppleAppBuilder/Templates/CMakeLists-librarymode.txt.template index 299bef9c39bfe3e7a5670a550c05f35b2f5b1b1d..4ac9ad76006f16e82a08c1afa74d0708cd9e3cd7 100644 --- a/src/tasks/AppleAppBuilder/Templates/CMakeLists-librarymode.txt.template +++ b/src/tasks/AppleAppBuilder/Templates/CMakeLists-librarymode.txt.template @@ -27,10 +27,6 @@ if(NOT %UseNativeAOTRuntime%) include_directories("%MonoInclude%") endif() -#set_target_properties(%ProjectName% %AotTargetsList% PROPERTIES -# XCODE_ATTRIBUTE_SUPPORTS_MACCATALYST "YES" -#) - set_target_properties(%ProjectName% PROPERTIES MACOSX_BUNDLE TRUE MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist @@ -39,6 +35,7 @@ set_target_properties(%ProjectName% PROPERTIES XCODE_EMIT_EFFECTIVE_PLATFORM_NAME "YES" XCODE_EMBED_FRAMEWORKS "%DYLIB_PATH%" XCODE_ATTRIBUTE_LD_RUNPATH_SEARCH_PATHS "@executable_path/Frameworks" + XCODE_ATTRIBUTE_SUPPORTS_MACCATALYST "YES" RESOURCE "${APP_RESOURCES}" ) diff --git a/src/tasks/MobileBuildTasks/Apple/AppleProject.cs b/src/tasks/MobileBuildTasks/Apple/AppleProject.cs index 4ddea0795c7025cff8c3959939004cbb41f7cb97..f7927fa2bb5a81773fcb3b134b348ffe9ce302f0 100644 --- a/src/tasks/MobileBuildTasks/Apple/AppleProject.cs +++ b/src/tasks/MobileBuildTasks/Apple/AppleProject.cs @@ -13,7 +13,7 @@ namespace Microsoft.Apple.Build { public sealed class AppleProject { - private const string DefaultMinOSVersion = "11.0"; + private string defaultMinOSVersion; private TaskLoggingHelper logger; @@ -26,6 +26,8 @@ public sealed class AppleProject public AppleProject(string projectName, string runtimeIdentifier, TaskLoggingHelper logger) { GetTargets(runtimeIdentifier, out targetOS, out targetArchitecture); + + defaultMinOSVersion = (targetOS == "maccatalyst") ? "13.1" : "11.0"; targetAbi = DetermineAbi(targetArchitecture); AppleSdk sdk = new AppleSdk(targetOS, logger); @@ -44,7 +46,12 @@ public string SdkRoot } } - public void Build(string workingDir, ClangBuildOptions buildOptions, bool stripDebugSymbols = false, string minOSVersion = DefaultMinOSVersion) + public void Build(string workingDir, ClangBuildOptions buildOptions, bool stripDebugSymbols = false) + { + Build(workingDir, buildOptions, defaultMinOSVersion, stripDebugSymbols); + } + + public void Build(string workingDir, ClangBuildOptions buildOptions, string minOSVersion, bool stripDebugSymbols = false) { string clangArgs = BuildClangArgs(buildOptions, minOSVersion); Utils.RunProcess(logger, "xcrun", workingDir: workingDir, args: clangArgs); diff --git a/src/tasks/MobileBuildTasks/Apple/AppleSdk.cs b/src/tasks/MobileBuildTasks/Apple/AppleSdk.cs index 203ff8fa3a898fd891e4d8be961a6a21f7e04311..29b9b98515116e25845c40689c10212c6abee224 100644 --- a/src/tasks/MobileBuildTasks/Apple/AppleSdk.cs +++ b/src/tasks/MobileBuildTasks/Apple/AppleSdk.cs @@ -135,6 +135,7 @@ targetOS switch "iphonesimulator" => "iPhoneSimulator", "tvos" => "AppleTVOS", "tvos-simulator" => "AppleTVSimulator", + "maccatalyst" => "MacOSX", _ => throw new ArgumentException($"{targetOS} does not have a valid platform name") }; }