public override void SelectCompilerOptions(IGenerationContext context) { base.SelectCompilerOptions(context); var options = context.Options; var cmdLineOptions = context.CommandLineOptions; var conf = context.Configuration; // Sysroot options["SDKRoot"] = "macosx"; cmdLineOptions["SDKRoot"] = $"-isysroot {XCodeDeveloperFolder}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk"; Options.XCode.Compiler.SDKRoot customSdkRoot = Options.GetObject <Options.XCode.Compiler.SDKRoot>(conf); if (customSdkRoot != null) { options["SDKRoot"] = customSdkRoot.Value; cmdLineOptions["SDKRoot"] = $"-isysroot {customSdkRoot.Value}"; } // Target options["IPhoneOSDeploymentTarget"] = FileGeneratorUtilities.RemoveLineTag; var macOsDeploymentTarget = Options.GetObject <Options.XCode.Compiler.MacOSDeploymentTarget>(conf); if (macOsDeploymentTarget != null) { options["MacOSDeploymentTarget"] = macOsDeploymentTarget.MinimumVersion; cmdLineOptions["MacOSDeploymentTarget"] = FileGeneratorUtilities.RemoveLineTag; // TODO: find what to write here } else { options["MacOSDeploymentTarget"] = FileGeneratorUtilities.RemoveLineTag; cmdLineOptions["MacOSDeploymentTarget"] = FileGeneratorUtilities.RemoveLineTag; } }
public override void SelectCompilerOptions(IGenerationContext context) { base.SelectCompilerOptions(context); var options = context.Options; var cmdLineOptions = context.CommandLineOptions; var conf = context.Configuration; // Sysroot options["SDKRoot"] = "iphoneos"; cmdLineOptions["SDKRoot"] = $"-isysroot {XCodeDeveloperFolder}/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk"; Options.XCode.Compiler.SDKRoot customSdkRoot = Options.GetObject <Options.XCode.Compiler.SDKRoot>(conf); if (customSdkRoot != null) { options["SDKRoot"] = customSdkRoot.Value; cmdLineOptions["SDKRoot"] = $"-isysroot {customSdkRoot.Value}"; } // Target options["MacOSDeploymentTarget"] = FileGeneratorUtilities.RemoveLineTag; Options.XCode.Compiler.IPhoneOSDeploymentTarget iosDeploymentTarget = Options.GetObject <Options.XCode.Compiler.IPhoneOSDeploymentTarget>(conf); if (iosDeploymentTarget != null) { options["IPhoneOSDeploymentTarget"] = iosDeploymentTarget.MinimumVersion; cmdLineOptions["IPhoneOSDeploymentTarget"] = $"-target arm64-apple-ios{iosDeploymentTarget.MinimumVersion}"; } else { options["IPhoneOSDeploymentTarget"] = FileGeneratorUtilities.RemoveLineTag; cmdLineOptions["IPhoneOSDeploymentTarget"] = FileGeneratorUtilities.RemoveLineTag; } }
public override void SelectLinkerOptions(IGenerationContext context) { base.SelectLinkerOptions(context); var options = context.Options; var cmdLineOptions = context.CommandLineOptions; var conf = context.Configuration; // Sysroot cmdLineOptions["SysLibRoot"] = $"-syslibroot {XCodeDeveloperFolder}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"; Options.XCode.Compiler.SDKRoot customSdkRoot = Options.GetObject <Options.XCode.Compiler.SDKRoot>(conf); if (customSdkRoot != null) { cmdLineOptions["SysLibRoot"] = $"-isysroot {customSdkRoot.Value}"; } }