aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2015-05-11 18:59:35 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2015-05-15 09:34:14 +0000
commit98c92744557330d844ff5c38a28e5419d153ed1f (patch)
tree29780a6e8ec363a798140562f7d50e321ea29f74 /src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java
parent9e387ddc2fbeb6c88400e8b9fcf4e1d1fc600be7 (diff)
RELNOTES: Set XCode build setting USE_HEADERMAP to NO for Bazel-generated XCode project files. Bazel-generated XCode projects contain all necessary header search paths to resolve header imports. Header map is not needed.
-- MOS_MIGRATED_REVID=93329329
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java
index 796de443b0..a25f7861eb 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java
@@ -16,6 +16,8 @@ package com.google.devtools.build.lib.rules.objc;
import static com.google.devtools.build.lib.packages.ImplicitOutputsFunction.fromTemplates;
+import com.google.common.annotations.VisibleForTesting;
+import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
import com.google.devtools.build.lib.analysis.RuleContext;
@@ -23,6 +25,7 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.packages.ImplicitOutputsFunction.SafeImplicitOutputsFunction;
import com.google.devtools.build.lib.rules.objc.ReleaseBundlingSupport.SplitArchTransition.ConfigurationDistinguisher;
import com.google.devtools.build.lib.rules.objc.XcodeProvider.Builder;
+import com.google.devtools.build.xcode.xcodegen.proto.XcodeGenProtos.XcodeprojBuildSetting;
/**
* Support for Objc rule types that export an Xcode provider or generate xcode project files.
@@ -120,7 +123,8 @@ public final class XcodeSupport {
.setArchitecture(architecture)
.setConfigurationDistinguisher(configurationDistinguisher)
.setObjcProvider(objcProvider)
- .setProductType(productType);
+ .setProductType(productType)
+ .addXcodeprojBuildSettings(XcodeSupport.defaultXcodeSettings());
return this;
}
@@ -169,4 +173,18 @@ public final class XcodeSupport {
xcodeProviderBuilder.generateCompanionLibTarget();
return this;
}
+
+ /**
+ * Returns a list of default XCode build settings for Bazel-generated XCode projects.
+ */
+ @VisibleForTesting
+ static Iterable<XcodeprojBuildSetting> defaultXcodeSettings() {
+ // Do not use XCode headermap because Bazel-generated header search paths are sufficient for
+ // resolving header imports.
+ return ImmutableList.of(
+ XcodeprojBuildSetting.newBuilder()
+ .setName("USE_HEADERMAP")
+ .setValue("NO")
+ .build());
+ }
}