Example #1
0
        protected virtual void ProcessProject()
        {
            if (SupportsBitcode)
            {
                inputProject.CloneConfiguration("iPhone", "Release", "Release-bitcode");
                inputProject.AddExtraMtouchArgs("--bitcode:full", "iPhone", "Release-bitcode");
                inputProject.SetMtouchUseLlvm(true, "iPhone", "Release-bitcode");
            }

            if (!IsMultiArchitecture && IsExe)
            {
                inputProject.DeleteConfiguration("iPhone", "Debug32");
                inputProject.DeleteConfiguration("iPhone", "Debug64");
            }

            inputProject.SetOutputPath("bin\\$(Platform)\\$(Configuration)" + Suffix);
            inputProject.SetIntermediateOutputPath("obj\\$(Platform)\\$(Configuration)" + Suffix);

            if (ShouldSetTargetFrameworkIdentifier)
            {
                inputProject.SetTargetFrameworkIdentifier(TargetFrameworkIdentifier);
            }

            inputProject.SetAssemblyReference(DefaultAssemblyReference, TargetFrameworkIdentifier);

            foreach (var r in ReferenceToRemove)
            {
                inputProject.RemoveReferences(r);
            }

            var newProperties = NewPropertiesToAdd;

            foreach (var k in newProperties.Keys)
            {
                inputProject.SetTopLevelPropertyGroupValue(k, newProperties[k]);
            }

            inputProject.FixProjectReferences(Suffix, FixProjectReference);
            inputProject.SetAssemblyReference("OpenTK", "OpenTK-1.0");
            inputProject.SetProjectTypeGuids(IsBindingProject ? BindingsProjectTypeGuids : ProjectTypeGuids);
            inputProject.SetImport("$(MSBuildExtensionsPath)\\Xamarin\\" + (IsBindingProject ? BindingsImports : Imports));
            inputProject.FixTestLibrariesReferences(Platform);
            if (!string.IsNullOrEmpty(AdditionalDefines))
            {
                inputProject.AddAdditionalDefines(AdditionalDefines);
            }
        }