Skip to content

Commit

Permalink
Merge branch 'feature/xcode-maccatalyst-support-options' into 'main'
Browse files Browse the repository at this point in the history
Feature: add options to enable/disable support for MacCatalyst

See merge request Sharpmake/sharpmake!391
  • Loading branch information
jspelletier committed May 11, 2023
2 parents 30b5dd7 + 8a87bdb commit 8235431
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -863,6 +863,9 @@ public virtual void SelectCompilerOptions(IGenerationContext context)
options["SpecificSimulatorLibraryPaths"] = XCodeUtil.XCodeFormatList(specificSimulatorLibraryPaths, 4);

options["WarningOptions"] = FileGeneratorUtilities.RemoveLineTag;

options["SupportsMaccatalyst"] = FileGeneratorUtilities.RemoveLineTag;
options["SupportsMacDesignedForIphoneIpad"] = FileGeneratorUtilities.RemoveLineTag;
}

public virtual void SelectPrecompiledHeaderOptions(IGenerationContext context)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,14 @@ public override void SelectCompilerOptions(IGenerationContext context)
cmdLineOptions["IPhoneOSDeploymentTarget"] = FileGeneratorUtilities.RemoveLineTag;
}

options["SupportsMaccatalyst"] = "YES";
options["SupportsMacDesignedForIphoneIpad"] = "YES";
context.SelectOptionWithFallback(
() => options["SupportsMaccatalyst"] = "YES",
Options.Option(Options.XCode.Compiler.SupportsMaccatalyst.Disable, () => options["SupportsMaccatalyst"] = "NO")
);
context.SelectOptionWithFallback(
() => options["SupportsMacDesignedForIphoneIpad"] = "YES",
Options.Option(Options.XCode.Compiler.SupportsMacDesignedForIphoneIpad.Disable, () => options["SupportsMacDesignedForIphoneIpad"] = "NO")
);
}

public override void SelectLinkerOptions(IGenerationContext context)
Expand Down
12 changes: 10 additions & 2 deletions Sharpmake.Platforms/Sharpmake.CommonPlatforms/Apple/iOsPlatform.cs
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,16 @@ public override void SelectCompilerOptions(IGenerationContext context)
cmdLineOptions["IPhoneOSDeploymentTarget"] = FileGeneratorUtilities.RemoveLineTag;
}

options["SupportsMaccatalyst"] = "NO";
options["SupportsMacDesignedForIphoneIpad"] = "NO";
context.SelectOptionWithFallback(
() => options["SupportsMaccatalyst"] = FileGeneratorUtilities.RemoveLineTag,
Options.Option(Options.XCode.Compiler.SupportsMaccatalyst.Disable, () => options["SupportsMaccatalyst"] = "NO"),
Options.Option(Options.XCode.Compiler.SupportsMaccatalyst.Enable, () => options["SupportsMaccatalyst"] = "YES")
);
context.SelectOptionWithFallback(
() => options["SupportsMacDesignedForIphoneIpad"] = FileGeneratorUtilities.RemoveLineTag,
Options.Option(Options.XCode.Compiler.SupportsMacDesignedForIphoneIpad.Disable, () => options["SupportsMacDesignedForIphoneIpad"] = "NO"),
Options.Option(Options.XCode.Compiler.SupportsMacDesignedForIphoneIpad.Enable, () => options["SupportsMacDesignedForIphoneIpad"] = "YES")
);
}

public override void SelectLinkerOptions(IGenerationContext context)
Expand Down
12 changes: 12 additions & 0 deletions Sharpmake/Options.XCode.cs
Original file line number Diff line number Diff line change
Expand Up @@ -635,6 +635,18 @@ public enum TreatWarningsAsErrors
[Default]
Disable
}

public enum SupportsMaccatalyst
{
Enable,
Disable
}

public enum SupportsMacDesignedForIphoneIpad
{
Enable,
Disable
}
}

public static class Linker
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,7 @@ public virtual void ConfigureIOS(Configuration conf, CommonTarget target)
{
conf.LibraryPaths.Add(Path.Combine(Globals.LibrariesDirectory, "iOS"));
conf.Options.Add(Options.XCode.Compiler.TargetedDeviceFamily.IosAndIpad);
conf.Options.Add(Options.XCode.Compiler.SupportsMacDesignedForIphoneIpad.Enable);
conf.Options.Add(new Sharpmake.Options.XCode.Compiler.SystemFrameworks("UIKit"));
}

Expand Down

0 comments on commit 8235431

Please sign in to comment.