Beispiel #1
0
 private void SetDefaultAppExtensionReleaseBuildFlags(XCBuildConfigurationData config, string infoPlistPath)
 {
     config.AddProperty("ALWAYS_SEARCH_USER_PATHS", "NO");
     config.AddProperty("CLANG_CXX_LANGUAGE_STANDARD", "gnu++0x");
     config.AddProperty("CLANG_CXX_LIBRARY", "libc++");
     config.AddProperty("CLANG_ENABLE_MODULES", "YES");
     config.AddProperty("CLANG_ENABLE_OBJC_ARC", "YES");
     config.AddProperty("CLANG_WARN_BOOL_CONVERSION", "YES");
     config.AddProperty("CLANG_WARN_CONSTANT_CONVERSION", "YES");
     config.AddProperty("CLANG_WARN_DIRECT_OBJC_ISA_USAGE", "YES_ERROR");
     config.AddProperty("CLANG_WARN_EMPTY_BODY", "YES");
     config.AddProperty("CLANG_WARN_ENUM_CONVERSION", "YES");
     config.AddProperty("CLANG_WARN_INT_CONVERSION", "YES");
     config.AddProperty("CLANG_WARN_OBJC_ROOT_CLASS", "YES_ERROR");
     config.AddProperty("CLANG_WARN_UNREACHABLE_CODE", "YES");
     config.AddProperty("CLANG_WARN__DUPLICATE_METHOD_MATCH", "YES");
     config.AddProperty("COPY_PHASE_STRIP", "YES");
     config.AddProperty("ENABLE_NS_ASSERTIONS", "NO");
     config.AddProperty("ENABLE_STRICT_OBJC_MSGSEND", "YES");
     config.AddProperty("GCC_C_LANGUAGE_STANDARD", "gnu99");
     config.AddProperty("GCC_WARN_64_TO_32_BIT_CONVERSION", "YES");
     config.AddProperty("GCC_WARN_ABOUT_RETURN_TYPE", "YES_ERROR");
     config.AddProperty("GCC_WARN_UNDECLARED_SELECTOR", "YES");
     config.AddProperty("GCC_WARN_UNINITIALIZED_AUTOS", "YES_AGGRESSIVE");
     config.AddProperty("GCC_WARN_UNUSED_FUNCTION", "YES");
     config.AddProperty("INFOPLIST_FILE", infoPlistPath);
     config.AddProperty("IPHONEOS_DEPLOYMENT_TARGET", "8.0");
     config.AddProperty("LD_RUNPATH_SEARCH_PATHS", "$(inherited)");
     config.AddProperty("LD_RUNPATH_SEARCH_PATHS", "@executable_path/Frameworks");
     config.AddProperty("LD_RUNPATH_SEARCH_PATHS", "@executable_path/../../Frameworks");
     config.AddProperty("MTL_ENABLE_DEBUG_INFO", "NO");
     config.AddProperty("PRODUCT_NAME", "$(TARGET_NAME)");
     config.AddProperty("SKIP_INSTALL", "YES");
     config.AddProperty("VALIDATE_PRODUCT", "YES");
 }
Beispiel #2
0
        internal PBXNativeTargetData CreateNewTarget(string name, string ext, string type)
        {
            // create build configurations
            var releaseBuildConfig = XCBuildConfigurationData.Create("Release");

            buildConfigs.AddEntry(releaseBuildConfig);

            var debugBuildConfig = XCBuildConfigurationData.Create("Debug");

            buildConfigs.AddEntry(debugBuildConfig);

            var buildConfigList = XCConfigurationListData.Create();

            configs.AddEntry(buildConfigList);
            buildConfigList.buildConfigs.AddGUID(releaseBuildConfig.guid);
            buildConfigList.buildConfigs.AddGUID(debugBuildConfig.guid);

            // create build file reference
            string fullName       = name + ext;
            var    productFileRef = AddFile(fullName, "Products/" + fullName, PBXSourceTree.Build);
            var    newTarget      = PBXNativeTargetData.Create(name, productFileRef, type, buildConfigList.guid);

            nativeTargets.AddEntry(newTarget);
            project.project.targets.Add(newTarget.guid);

            return(newTarget);
        }
Beispiel #3
0
        // name should be either release or debug
        public static XCBuildConfigurationData Create(string name)
        {
            var res = new XCBuildConfigurationData();

            res.guid = PBXGUID.Generate();
            res.SetPropertyString("isa", "XCBuildConfiguration");
            res.SetPropertyString("name", name);
            return(res);
        }
        public string BuildConfigByName(string targetGuid, string name)
        {
            PBXNativeTargetData data = this.nativeTargets[targetGuid];

            foreach (string str in (IEnumerable <string>) this.configs[data.buildConfigList].buildConfigs)
            {
                XCBuildConfigurationData data2 = this.buildConfigs[str];
                if ((data2 != null) && (data2.name == name))
                {
                    return(data2.guid);
                }
            }
            return(null);
        }
        internal PBXNativeTargetData CreateNewTarget(string name, string ext, string type)
        {
            XCBuildConfigurationData data = XCBuildConfigurationData.Create("Release");

            this.buildConfigs.AddEntry(data);
            XCBuildConfigurationData data2 = XCBuildConfigurationData.Create("Debug");

            this.buildConfigs.AddEntry(data2);
            XCConfigurationListData data3 = XCConfigurationListData.Create();

            this.configs.AddEntry(data3);
            data3.buildConfigs.AddGUID(data.guid);
            data3.buildConfigs.AddGUID(data2.guid);
            string path               = name + ext;
            string productRef         = this.AddFile(path, "Products/" + path, PBXSourceTree.Build);
            PBXNativeTargetData data4 = PBXNativeTargetData.Create(name, productRef, type, data3.guid);

            this.nativeTargets.AddEntry(data4);
            this.project.project.targets.Add(data4.guid);
            return(data4);
        }
        public void UpdateBuildPropertyForConfig(string configGuid, string name, IEnumerable <string> addValues, IEnumerable <string> removeValues)
        {
            XCBuildConfigurationData data = this.buildConfigs[configGuid];

            if (data != null)
            {
                if (removeValues != null)
                {
                    foreach (string str in removeValues)
                    {
                        data.RemovePropertyValue(name, str);
                    }
                }
                if (addValues != null)
                {
                    foreach (string str2 in addValues)
                    {
                        data.AddProperty(name, str2);
                    }
                }
            }
        }
Beispiel #7
0
 private void SetDefaultAppExtensionReleaseBuildFlags(XCBuildConfigurationData config, string infoPlistPath)
 {
     config.AddProperty("ALWAYS_SEARCH_USER_PATHS", "NO");
     config.AddProperty("CLANG_CXX_LANGUAGE_STANDARD", "gnu++0x");
     config.AddProperty("CLANG_CXX_LIBRARY", "libc++");
     config.AddProperty("CLANG_ENABLE_MODULES", "YES");
     config.AddProperty("CLANG_ENABLE_OBJC_ARC", "YES");
     config.AddProperty("CLANG_WARN_BOOL_CONVERSION", "YES");
     config.AddProperty("CLANG_WARN_CONSTANT_CONVERSION", "YES");
     config.AddProperty("CLANG_WARN_DIRECT_OBJC_ISA_USAGE", "YES_ERROR");
     config.AddProperty("CLANG_WARN_EMPTY_BODY", "YES");
     config.AddProperty("CLANG_WARN_ENUM_CONVERSION", "YES");
     config.AddProperty("CLANG_WARN_INT_CONVERSION", "YES");
     config.AddProperty("CLANG_WARN_OBJC_ROOT_CLASS", "YES_ERROR");
     config.AddProperty("CLANG_WARN_UNREACHABLE_CODE", "YES");
     config.AddProperty("CLANG_WARN__DUPLICATE_METHOD_MATCH", "YES");
     config.AddProperty("COPY_PHASE_STRIP", "YES");
     config.AddProperty("ENABLE_NS_ASSERTIONS", "NO");
     config.AddProperty("ENABLE_STRICT_OBJC_MSGSEND", "YES");
     config.AddProperty("GCC_C_LANGUAGE_STANDARD", "gnu99");
     config.AddProperty("GCC_WARN_64_TO_32_BIT_CONVERSION", "YES");
     config.AddProperty("GCC_WARN_ABOUT_RETURN_TYPE", "YES_ERROR");
     config.AddProperty("GCC_WARN_UNDECLARED_SELECTOR", "YES");
     config.AddProperty("GCC_WARN_UNINITIALIZED_AUTOS", "YES_AGGRESSIVE");
     config.AddProperty("GCC_WARN_UNUSED_FUNCTION", "YES");
     config.AddProperty("INFOPLIST_FILE", infoPlistPath);
     config.AddProperty("IPHONEOS_DEPLOYMENT_TARGET", "8.0");
     config.AddProperty("LD_RUNPATH_SEARCH_PATHS", "$(inherited)");
     config.AddProperty("LD_RUNPATH_SEARCH_PATHS", "@executable_path/Frameworks");
     config.AddProperty("LD_RUNPATH_SEARCH_PATHS", "@executable_path/../../Frameworks");
     config.AddProperty("MTL_ENABLE_DEBUG_INFO", "NO");
     config.AddProperty("PRODUCT_NAME", "$(TARGET_NAME)");
     config.AddProperty("SKIP_INSTALL", "YES");
     config.AddProperty("VALIDATE_PRODUCT", "YES");
 }