<ItemGroup Condition="'$(TargetOS)' == 'maccatalyst'">
<ProjectExclusions Include="$(RepoRoot)/src/tests/FunctionalTests/iOS/Simulator/XmlFormatWriterGeneratorAOT/iOS.Simulator.XmlFormatWriterGeneratorAot.Test.csproj" />
+ <ProjectExclusions Include="$(RepoRoot)/src/tests/FunctionalTests/iOS/Simulator/LibraryMode/iOS.Simulator.LibraryMode.Test.csproj" />
</ItemGroup>
<!-- Run only explicitly selected tests for Mac Catalyst in App Sandbox -->
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
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}"
)
{
public sealed class AppleProject
{
- private const string DefaultMinOSVersion = "11.0";
+ private string defaultMinOSVersion;
private TaskLoggingHelper logger;
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);
}
}
- 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);
"iphonesimulator" => "iPhoneSimulator",
"tvos" => "AppleTVOS",
"tvos-simulator" => "AppleTVSimulator",
+ "maccatalyst" => "MacOSX",
_ => throw new ArgumentException($"{targetOS} does not have a valid platform name")
};
}