summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
Diffstat (limited to 'Tests')
-rw-r--r--Tests/BuildDepends/Project/CMakeLists.txt4
-rw-r--r--Tests/BuildDepends/Project/bar.cxx6
2 files changed, 10 insertions, 0 deletions
diff --git a/Tests/BuildDepends/Project/CMakeLists.txt b/Tests/BuildDepends/Project/CMakeLists.txt
index 83583c9..c438e1d 100644
--- a/Tests/BuildDepends/Project/CMakeLists.txt
+++ b/Tests/BuildDepends/Project/CMakeLists.txt
@@ -59,6 +59,10 @@ add_executable(bar bar.cxx
${CMAKE_CURRENT_BINARY_DIR}/noregen.h
)
+if(CMAKE_XCODE_BUILD_SYSTEM VERSION_GREATER_EQUAL 12)
+ target_compile_definitions(bar PRIVATE XCODE_NEW_BUILD_SYSTEM)
+endif()
+
#-----------------------------------------------------------------------------
if("${CMAKE_GENERATOR}" MATCHES "Make")
# Test the IMPLICIT_DEPENDS feature.
diff --git a/Tests/BuildDepends/Project/bar.cxx b/Tests/BuildDepends/Project/bar.cxx
index ec7aa65..825d661 100644
--- a/Tests/BuildDepends/Project/bar.cxx
+++ b/Tests/BuildDepends/Project/bar.cxx
@@ -7,8 +7,14 @@ int main(int argc, char** argv)
{
/* Make sure the noregen header was not regenerated. */
if (strcmp("foo", noregen_string) != 0) {
+#ifdef XCODE_NEW_BUILD_SYSTEM
+ fprintf(stderr,
+ "Known limitation: noregen.h was regenerated "
+ "but we cannot stop Xcode from doing this!\n");
+#else
printf("FAILED: noregen.h was regenerated!\n");
return 1;
+#endif
}
/* Print out the string that should have been regenerated. */