summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-02-20 13:31:57 +0000
committerKitware Robot <kwrobot@kitware.com>2023-02-20 08:32:10 -0500
commit3b3f2e920bc33882b0f19046995ccb61c5ddaf87 (patch)
tree369fd022dafc3d120798339865bdb06283331863
parent1faf907f84386b3121a1c9fb08996767e2c64f76 (diff)
parent841272eb35cbc76e18609d1b447aaabf1ffd6cda (diff)
downloadcmake-3b3f2e920bc33882b0f19046995ccb61c5ddaf87.tar.gz
Merge topic 'xcode-revert-header-map' into release-3.26
841272eb35 Xcode: Restore suppression of header maps Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8218
-rw-r--r--Source/cmGlobalXCodeGenerator.cxx1
-rw-r--r--Tests/CMakeCommands/target_include_directories/CMakeLists.txt5
-rw-r--r--Tests/CMakeCommands/target_include_directories/same.c7
-rw-r--r--Tests/CMakeCommands/target_include_directories/same_one/same.h1
-rw-r--r--Tests/CMakeCommands/target_include_directories/same_two/same.h1
5 files changed, 15 insertions, 0 deletions
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index f91879e878..4746507bae 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -2977,6 +2977,7 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmGeneratorTarget* gtgt,
buildSettings->AddAttribute("SECTORDER_FLAGS", this->CreateString(""));
buildSettings->AddAttribute("ALWAYS_SEARCH_USER_PATHS",
this->CreateString("NO"));
+ buildSettings->AddAttribute("USE_HEADERMAP", this->CreateString("NO"));
cmXCodeObject* group = this->CreateObject(cmXCodeObject::OBJECT_LIST);
group->AddObject(this->CreateString("$(inherited)"));
buildSettings->AddAttribute("WARNING_CFLAGS", group);
diff --git a/Tests/CMakeCommands/target_include_directories/CMakeLists.txt b/Tests/CMakeCommands/target_include_directories/CMakeLists.txt
index 0702ab5b25..3de9ef7e00 100644
--- a/Tests/CMakeCommands/target_include_directories/CMakeLists.txt
+++ b/Tests/CMakeCommands/target_include_directories/CMakeLists.txt
@@ -83,3 +83,8 @@ get_target_property(_res imp INCLUDE_DIRECTORIES)
if (_res)
message(SEND_ERROR "include_directories populated the INCLUDE_DIRECTORIES target property")
endif()
+
+# Test selecting lexicographically-later header of same name via include order.
+# Xcode 'USE_HEADERMAP = YES' breaks this.
+add_library(same STATIC same.c same_one/same.h same_two/same.h)
+target_include_directories(same PRIVATE same_two)
diff --git a/Tests/CMakeCommands/target_include_directories/same.c b/Tests/CMakeCommands/target_include_directories/same.c
new file mode 100644
index 0000000000..8fb8d29830
--- /dev/null
+++ b/Tests/CMakeCommands/target_include_directories/same.c
@@ -0,0 +1,7 @@
+#include "same.h"
+#ifndef CORRECT_SAME_H_INCLUDED
+# error "Correct \"same.h\" not included!"
+#endif
+void same(void)
+{
+}
diff --git a/Tests/CMakeCommands/target_include_directories/same_one/same.h b/Tests/CMakeCommands/target_include_directories/same_one/same.h
new file mode 100644
index 0000000000..e71fe0190b
--- /dev/null
+++ b/Tests/CMakeCommands/target_include_directories/same_one/same.h
@@ -0,0 +1 @@
+#error "Wrong \"same.h\" included!"
diff --git a/Tests/CMakeCommands/target_include_directories/same_two/same.h b/Tests/CMakeCommands/target_include_directories/same_two/same.h
new file mode 100644
index 0000000000..91ac63cbc3
--- /dev/null
+++ b/Tests/CMakeCommands/target_include_directories/same_two/same.h
@@ -0,0 +1 @@
+#define CORRECT_SAME_H_INCLUDED