diff --git a/src/com/facebook/buck/apple/AppleConfig.java b/src/com/facebook/buck/apple/AppleConfig.java index a6660c85499..5dfe4967554 100644 --- a/src/com/facebook/buck/apple/AppleConfig.java +++ b/src/com/facebook/buck/apple/AppleConfig.java @@ -323,6 +323,10 @@ public boolean shouldGenerateMissingUmbrellaHeaders() { return delegate.getBooleanValue(APPLE_SECTION, "generate_missing_umbrella_headers", false); } + public boolean shouldAddRootUserHeaderSearchPathInXcodeProject() { + return delegate.getBooleanValue(APPLE_SECTION, "add_root_user_header_search_path_in_xcode", false); + } + public boolean shouldUseSwiftDelegate() { // TODO(mgd): Remove Swift delegation from Apple rules return delegate.getBooleanValue(APPLE_SECTION, "use_swift_delegate", true); diff --git a/src/com/facebook/buck/features/apple/project/ProjectGenerator.java b/src/com/facebook/buck/features/apple/project/ProjectGenerator.java index 2c45d06e334..e800f350e66 100644 --- a/src/com/facebook/buck/features/apple/project/ProjectGenerator.java +++ b/src/com/facebook/buck/features/apple/project/ProjectGenerator.java @@ -538,7 +538,13 @@ public void createXcodeProjects() throws IOException { .getBuildConfigurationList() .getBuildConfigurationsByName() .getUnchecked(configName); - outputConfig.setBuildSettings(new NSDictionary()); + NSDictionary settings = new NSDictionary(); + if (appleConfig.shouldAddRootUserHeaderSearchPathInXcodeProject()) { + settings.put("ALWAYS_SEARCH_USER_PATHS", "NO"); + settings.put("USER_HEADER_SEARCH_PATHS", + projectFilesystem.getRootPath().toString()); + } + outputConfig.setBuildSettings(settings); } if (!options.shouldGenerateHeaderSymlinkTreesOnly()) {