示例#1
0
            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;
                }
            }
示例#2
0
            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;
                }
            }
示例#3
0
            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}";
                }
            }