summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
Diffstat (limited to 'Tests')
-rw-r--r--Tests/ExportImport/Import/Interface/pch_iface_test.cpp2
-rw-r--r--Tests/RunCMake/CPack/RunCMakeTest.cmake3
-rw-r--r--Tests/RunCMake/CPack/tests/CPACK_INSTALL_CMAKE_CONFIGURATIONS/ExpectedFiles.cmake3
-rw-r--r--Tests/RunCMake/CPack/tests/CPACK_INSTALL_CMAKE_CONFIGURATIONS/ZIP-stdout.txt3
-rw-r--r--Tests/RunCMake/CPack/tests/CPACK_INSTALL_CMAKE_CONFIGURATIONS/test.cmake9
-rw-r--r--Tests/RunCMake/CPackCommandLine/CMakeLists.txt3
-rw-r--r--Tests/RunCMake/CPackCommandLine/MultiConfig-check-stdout.txt4
-rw-r--r--Tests/RunCMake/CPackCommandLine/MultiConfig-package-stdout.txt8
-rw-r--r--Tests/RunCMake/CPackCommandLine/MultiConfig.cmake9
-rw-r--r--Tests/RunCMake/CPackCommandLine/RunCMakeTest.cmake23
-rw-r--r--Tests/RunCMake/CPackCommandLine/foo.c4
-rw-r--r--Tests/RunCMake/PrecompileHeaders/DisabledPch-check.cmake9
-rw-r--r--Tests/RunCMake/PrecompileHeaders/PchInterface-check.cmake9
-rw-r--r--Tests/RunCMake/PrecompileHeaders/PchMultilanguage-check.cmake9
-rw-r--r--Tests/RunCMake/PrecompileHeaders/PchPrologueEpilogue-check.cmake6
-rw-r--r--Tests/RunCMake/UnityBuild/unitybuild_runtest.cmake1
-rw-r--r--Tests/RunCMake/UnityBuild/unitybuild_skip-check.cmake6
-rw-r--r--Tests/RunCMake/UnityBuild/unitybuild_skip.cmake5
-rw-r--r--Tests/RunCMake/XcodeProject/RunCMakeTest.cmake14
-rw-r--r--Tests/RunCMake/XcodeProject/XcodeObjcFlags.cmake12
-rw-r--r--Tests/RunCMake/XcodeProject/XcodeObjcxxFlags.cmake12
-rw-r--r--Tests/RunCMake/XcodeProject/myfuncs.m3
-rw-r--r--Tests/RunCMake/XcodeProject/myfuncs.mm3
23 files changed, 111 insertions, 49 deletions
diff --git a/Tests/ExportImport/Import/Interface/pch_iface_test.cpp b/Tests/ExportImport/Import/Interface/pch_iface_test.cpp
index a460d0d..a18bbde 100644
--- a/Tests/ExportImport/Import/Interface/pch_iface_test.cpp
+++ b/Tests/ExportImport/Import/Interface/pch_iface_test.cpp
@@ -3,7 +3,7 @@
# ifndef PCH_PCH_H_INCLUDED
# error "Expected PCH_PCH_H_INCLUDED."
# endif
-#elif defined(__PGIC__) || defined(__ibmxl__)
+#elif defined(__PGIC__) || defined(__ibmxl__) || defined(_CRAYC)
// No PCH expected but these compilers define macros below.
#elif defined(__GNUC__) || defined(__clang__) || defined(_INTEL_COMPILER) || \
defined(_MSC_VER)
diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake b/Tests/RunCMake/CPack/RunCMakeTest.cmake
index b0b7a99..b154c79 100644
--- a/Tests/RunCMake/CPack/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake
@@ -36,9 +36,6 @@ run_cpack_test(MD5SUMS "DEB.MD5SUMS" false "MONOLITHIC;COMPONENT")
run_cpack_test_subtests(CPACK_INSTALL_SCRIPTS "singular;plural;both" "ZIP" false "MONOLITHIC")
run_cpack_test(DEB_PACKAGE_VERSION_BACK_COMPATIBILITY "DEB.DEB_PACKAGE_VERSION_BACK_COMPATIBILITY" false "MONOLITHIC;COMPONENT")
run_cpack_test_subtests(EXTERNAL "none;good;good_multi;bad_major;bad_minor;invalid_good;invalid_bad;stage_and_package" "External" false "MONOLITHIC;COMPONENT")
-if(RunCMake_GENERATOR MATCHES "Visual Studio|Xcode")
- run_cpack_test(CPACK_INSTALL_CMAKE_CONFIGURATIONS "ZIP" false "MONOLITHIC")
-endif()
run_cpack_test_subtests(
DEB_DESCRIPTION
"CPACK_DEBIAN_PACKAGE_DESCRIPTION;CPACK_PACKAGE_DESCRIPTION;CPACK_PACKAGE_DESCRIPTION_FILE"
diff --git a/Tests/RunCMake/CPack/tests/CPACK_INSTALL_CMAKE_CONFIGURATIONS/ExpectedFiles.cmake b/Tests/RunCMake/CPack/tests/CPACK_INSTALL_CMAKE_CONFIGURATIONS/ExpectedFiles.cmake
deleted file mode 100644
index 34c7f8a..0000000
--- a/Tests/RunCMake/CPack/tests/CPACK_INSTALL_CMAKE_CONFIGURATIONS/ExpectedFiles.cmake
+++ /dev/null
@@ -1,3 +0,0 @@
-set(EXPECTED_FILES_COUNT "1")
-
-set(EXPECTED_FILE_CONTENT_1_LIST "foo;foo/debug.txt;foo/release.txt")
diff --git a/Tests/RunCMake/CPack/tests/CPACK_INSTALL_CMAKE_CONFIGURATIONS/ZIP-stdout.txt b/Tests/RunCMake/CPack/tests/CPACK_INSTALL_CMAKE_CONFIGURATIONS/ZIP-stdout.txt
deleted file mode 100644
index 2a3aa9e..0000000
--- a/Tests/RunCMake/CPack/tests/CPACK_INSTALL_CMAKE_CONFIGURATIONS/ZIP-stdout.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-CPack: Install projects
-CPack: - Install project: CPACK_INSTALL_CMAKE_CONFIGURATIONS-MONOLITHIC-type \[Debug\]
-CPack: - Install project: CPACK_INSTALL_CMAKE_CONFIGURATIONS-MONOLITHIC-type \[Release\]
diff --git a/Tests/RunCMake/CPack/tests/CPACK_INSTALL_CMAKE_CONFIGURATIONS/test.cmake b/Tests/RunCMake/CPack/tests/CPACK_INSTALL_CMAKE_CONFIGURATIONS/test.cmake
deleted file mode 100644
index 4f562cf..0000000
--- a/Tests/RunCMake/CPack/tests/CPACK_INSTALL_CMAKE_CONFIGURATIONS/test.cmake
+++ /dev/null
@@ -1,9 +0,0 @@
-set(CMAKE_CONFIGURATION_TYPES Debug Release)
-
-file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/debug.txt" "debug content")
-file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/release.txt" "release content")
-
-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/debug.txt" DESTINATION "foo" CONFIGURATIONS Debug)
-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/release.txt" DESTINATION "foo" CONFIGURATIONS Release)
-
-set(CPACK_INSTALL_CMAKE_CONFIGURATIONS ${CMAKE_CONFIGURATION_TYPES})
diff --git a/Tests/RunCMake/CPackCommandLine/CMakeLists.txt b/Tests/RunCMake/CPackCommandLine/CMakeLists.txt
new file mode 100644
index 0000000..2632ffa
--- /dev/null
+++ b/Tests/RunCMake/CPackCommandLine/CMakeLists.txt
@@ -0,0 +1,3 @@
+cmake_minimum_required(VERSION 3.16)
+project(${RunCMake_TEST} NONE)
+include(${RunCMake_TEST}.cmake)
diff --git a/Tests/RunCMake/CPackCommandLine/MultiConfig-check-stdout.txt b/Tests/RunCMake/CPackCommandLine/MultiConfig-check-stdout.txt
new file mode 100644
index 0000000..f2ae844
--- /dev/null
+++ b/Tests/RunCMake/CPackCommandLine/MultiConfig-check-stdout.txt
@@ -0,0 +1,4 @@
+MultiConfig-0\.1\.1-[^/
+]*/lib/(lib|)foo_dbg\.(a|lib)
+MultiConfig-0\.1\.1-[^/
+]*/lib/(lib|)foo_rel\.(a|lib)
diff --git a/Tests/RunCMake/CPackCommandLine/MultiConfig-package-stdout.txt b/Tests/RunCMake/CPackCommandLine/MultiConfig-package-stdout.txt
new file mode 100644
index 0000000..4fb8181
--- /dev/null
+++ b/Tests/RunCMake/CPackCommandLine/MultiConfig-package-stdout.txt
@@ -0,0 +1,8 @@
+^CPack: Create package using ZIP
+CPack: Install projects
+CPack: - Install project: MultiConfig \[Debug\]
+CPack: - Install project: MultiConfig \[Release\]
+CPack: Create package
+CPack: - package: [^
+]*/Tests/RunCMake/CPackCommandLine/MultiConfig-build/MultiConfig-0.1.1-[^
+]*.zip generated.$
diff --git a/Tests/RunCMake/CPackCommandLine/MultiConfig.cmake b/Tests/RunCMake/CPackCommandLine/MultiConfig.cmake
new file mode 100644
index 0000000..71fd189
--- /dev/null
+++ b/Tests/RunCMake/CPackCommandLine/MultiConfig.cmake
@@ -0,0 +1,9 @@
+enable_language(C)
+
+include(CPack)
+
+add_library(foo foo.c)
+set_property(TARGET foo PROPERTY DEBUG_POSTFIX _dbg)
+set_property(TARGET foo PROPERTY RELEASE_POSTFIX _rel)
+
+install(TARGETS foo)
diff --git a/Tests/RunCMake/CPackCommandLine/RunCMakeTest.cmake b/Tests/RunCMake/CPackCommandLine/RunCMakeTest.cmake
index 991146c..53f4e4f 100644
--- a/Tests/RunCMake/CPackCommandLine/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CPackCommandLine/RunCMakeTest.cmake
@@ -8,3 +8,26 @@ set(CPACK_PACKAGE_VERSION "1")
set(RunCMake_TEST_NO_CLEAN 1)
run_cmake_command(NotAGenerator ${CMAKE_CPACK_COMMAND} -G NotAGenerator)
unset(RunCMake_TEST_NO_CLEAN)
+
+function(run_MultiConfig)
+ set(RunCMake_TEST_BINARY_DIR "${RunCMake_BINARY_DIR}/MultiConfig-build")
+ run_cmake(MultiConfig)
+ set(RunCMake_TEST_NO_CLEAN 1)
+ run_cmake_command(MultiConfig-build-dbg ${CMAKE_COMMAND} --build . --config Debug)
+ run_cmake_command(MultiConfig-build-rel ${CMAKE_COMMAND} --build . --config Release)
+ run_cmake_command(MultiConfig-package ${CMAKE_CPACK_COMMAND} -G ZIP -C "Debug\;Release")
+ set(zip_glob "${RunCMake_TEST_BINARY_DIR}/MultiConfig-0.1.1-*.zip")
+ file(GLOB zips "${zip_glob}")
+ set(zip_found 0)
+ foreach(zip IN LISTS zips)
+ set(zip_found 1)
+ run_cmake_command(MultiConfig-check ${CMAKE_COMMAND} -E tar tf "${zip}")
+ endforeach()
+ if(NOT zip_found)
+ message(SEND_ERROR "No package file found at\n ${zip_glob}")
+ endif()
+endfunction()
+
+if(RunCMake_GENERATOR MATCHES "Visual Studio|Xcode")
+ run_MultiConfig()
+endif()
diff --git a/Tests/RunCMake/CPackCommandLine/foo.c b/Tests/RunCMake/CPackCommandLine/foo.c
new file mode 100644
index 0000000..c83d856
--- /dev/null
+++ b/Tests/RunCMake/CPackCommandLine/foo.c
@@ -0,0 +1,4 @@
+int foo(void)
+{
+ return 0;
+}
diff --git a/Tests/RunCMake/PrecompileHeaders/DisabledPch-check.cmake b/Tests/RunCMake/PrecompileHeaders/DisabledPch-check.cmake
index 8cf0fc9..494bcf7 100644
--- a/Tests/RunCMake/PrecompileHeaders/DisabledPch-check.cmake
+++ b/Tests/RunCMake/PrecompileHeaders/DisabledPch-check.cmake
@@ -1,10 +1,5 @@
-if (NOT RunCMake_GENERATOR_IS_MULTI_CONFIG)
- set(foo_pch_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/foo.dir/CMakeFiles/foo.dir/cmake_pch.h")
- set(foobar_pch_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/foobar.dir/CMakeFiles/foobar.dir/cmake_pch.h")
-else()
- set(foo_pch_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/foo.dir/cmake_pch.h")
- set(foobar_pch_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/foobar.dir/cmake_pch.h")
-endif()
+set(foo_pch_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/foo.dir/cmake_pch.h")
+set(foobar_pch_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/foobar.dir/cmake_pch.h")
if (NOT EXISTS ${foo_pch_header})
set(RunCMake_TEST_FAILED "Generated foo pch header ${foo_pch_header} does not exist")
diff --git a/Tests/RunCMake/PrecompileHeaders/PchInterface-check.cmake b/Tests/RunCMake/PrecompileHeaders/PchInterface-check.cmake
index caeb22b..4e62b81 100644
--- a/Tests/RunCMake/PrecompileHeaders/PchInterface-check.cmake
+++ b/Tests/RunCMake/PrecompileHeaders/PchInterface-check.cmake
@@ -1,10 +1,5 @@
-if (NOT RunCMake_GENERATOR_IS_MULTI_CONFIG)
- set(foo_pch_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/foo.dir/CMakeFiles/foo.dir/cmake_pch.h")
- set(foobar_pch_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/foobar.dir/CMakeFiles/foobar.dir/cmake_pch.h")
-else()
- set(foo_pch_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/foo.dir/cmake_pch.h")
- set(foobar_pch_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/foobar.dir/cmake_pch.h")
-endif()
+set(foo_pch_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/foo.dir/cmake_pch.h")
+set(foobar_pch_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/foobar.dir/cmake_pch.h")
if (NOT EXISTS ${foo_pch_header})
set(RunCMake_TEST_FAILED "Generated foo pch header ${foo_pch_header} does not exist")
diff --git a/Tests/RunCMake/PrecompileHeaders/PchMultilanguage-check.cmake b/Tests/RunCMake/PrecompileHeaders/PchMultilanguage-check.cmake
index e0b753a..cc01ecb 100644
--- a/Tests/RunCMake/PrecompileHeaders/PchMultilanguage-check.cmake
+++ b/Tests/RunCMake/PrecompileHeaders/PchMultilanguage-check.cmake
@@ -1,10 +1,5 @@
-if (NOT RunCMake_GENERATOR_IS_MULTI_CONFIG)
- set(foobar_pch_h_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/foobar.dir/CMakeFiles/foobar.dir/cmake_pch.h")
- set(foobar_pch_hxx_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/foobar.dir/CMakeFiles/foobar.dir/cmake_pch.hxx")
-else()
- set(foobar_pch_h_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/foobar.dir/cmake_pch.h")
- set(foobar_pch_hxx_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/foobar.dir/cmake_pch.hxx")
-endif()
+set(foobar_pch_h_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/foobar.dir/cmake_pch.h")
+set(foobar_pch_hxx_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/foobar.dir/cmake_pch.hxx")
if (NOT EXISTS ${foobar_pch_h_header})
set(RunCMake_TEST_FAILED "Generated foobar C pch header ${foobar_pch_h_header} does not exist")
diff --git a/Tests/RunCMake/PrecompileHeaders/PchPrologueEpilogue-check.cmake b/Tests/RunCMake/PrecompileHeaders/PchPrologueEpilogue-check.cmake
index ba220f3..9018664 100644
--- a/Tests/RunCMake/PrecompileHeaders/PchPrologueEpilogue-check.cmake
+++ b/Tests/RunCMake/PrecompileHeaders/PchPrologueEpilogue-check.cmake
@@ -1,8 +1,4 @@
-if (NOT RunCMake_GENERATOR_IS_MULTI_CONFIG)
- set(main_pch_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/main.dir/CMakeFiles/main.dir/cmake_pch.hxx")
-else()
- set(main_pch_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/main.dir/cmake_pch.hxx")
-endif()
+set(main_pch_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/main.dir/cmake_pch.hxx")
file(STRINGS ${main_pch_header} main_pch_header_strings)
string(REGEX MATCH "#pragma warning\\(push, 0\\).*#include.*pch.h.*#pragma warning\\(pop\\)" matched_code ${main_pch_header_strings})
diff --git a/Tests/RunCMake/UnityBuild/unitybuild_runtest.cmake b/Tests/RunCMake/UnityBuild/unitybuild_runtest.cmake
index 8816299..3589cc8 100644
--- a/Tests/RunCMake/UnityBuild/unitybuild_runtest.cmake
+++ b/Tests/RunCMake/UnityBuild/unitybuild_runtest.cmake
@@ -2,6 +2,7 @@ project(unitybuild_runtest C)
set(CMAKE_UNITY_BUILD ON) # This tests that the variable works in addition to the property
+add_library(lib main.c func.c)
add_executable(main main.c func.c)
enable_testing()
diff --git a/Tests/RunCMake/UnityBuild/unitybuild_skip-check.cmake b/Tests/RunCMake/UnityBuild/unitybuild_skip-check.cmake
index 61419d8..fdd45bc 100644
--- a/Tests/RunCMake/UnityBuild/unitybuild_skip-check.cmake
+++ b/Tests/RunCMake/UnityBuild/unitybuild_skip-check.cmake
@@ -1,9 +1,9 @@
set(unitybuild_c "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/tgt.dir/Unity/unity_0.c")
file(STRINGS ${unitybuild_c} unitybuild_c_strings)
-string(REGEX MATCH "\\/s[2-6].c" matched_files_2_6 ${unitybuild_c_strings})
-if(matched_files_2_6)
- set(RunCMake_TEST_FAILED "Generated unity contains s2.c -> s6.c which should have been skipped")
+string(REGEX MATCH "\\/s[1-6].c" matched_files_1_6 ${unitybuild_c_strings})
+if(matched_files_1_6)
+ set(RunCMake_TEST_FAILED "Generated unity contains s1.c -> s6.c which should have been skipped")
return()
endif()
diff --git a/Tests/RunCMake/UnityBuild/unitybuild_skip.cmake b/Tests/RunCMake/UnityBuild/unitybuild_skip.cmake
index eef8ccc..94e5aa3 100644
--- a/Tests/RunCMake/UnityBuild/unitybuild_skip.cmake
+++ b/Tests/RunCMake/UnityBuild/unitybuild_skip.cmake
@@ -1,7 +1,7 @@
project(unitybuild_skip C)
set(srcs "")
-foreach(s RANGE 2 8)
+foreach(s RANGE 1 8)
set(src "${CMAKE_CURRENT_BINARY_DIR}/s${s}.c")
file(WRITE "${src}" "int s${s}(void) { return 0; }\n")
list(APPEND srcs "${src}")
@@ -11,6 +11,9 @@ add_library(tgt SHARED ${srcs})
set_target_properties(tgt PROPERTIES UNITY_BUILD ON)
+set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/s1.c
+ PROPERTIES HEADER_FILE_ONLY ON)
+
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/s2.c
PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON)
diff --git a/Tests/RunCMake/XcodeProject/RunCMakeTest.cmake b/Tests/RunCMake/XcodeProject/RunCMakeTest.cmake
index 9e82841..6ecf3f2 100644
--- a/Tests/RunCMake/XcodeProject/RunCMakeTest.cmake
+++ b/Tests/RunCMake/XcodeProject/RunCMakeTest.cmake
@@ -54,6 +54,20 @@ endfunction()
XcodeDependOnZeroCheck()
+function(XcodeObjcxxFlags testName)
+ set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${testName}-build)
+ set(RunCMake_TEST_NO_CLEAN 1)
+
+ file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
+ file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
+
+ run_cmake(${testName})
+ run_cmake_command(${testName}-build ${CMAKE_COMMAND} --build .)
+endfunction()
+
+XcodeObjcxxFlags(XcodeObjcFlags)
+XcodeObjcxxFlags(XcodeObjcxxFlags)
+
# Isolate device tests from host architecture selection.
unset(ENV{CMAKE_OSX_ARCHITECTURES})
diff --git a/Tests/RunCMake/XcodeProject/XcodeObjcFlags.cmake b/Tests/RunCMake/XcodeProject/XcodeObjcFlags.cmake
new file mode 100644
index 0000000..4840276
--- /dev/null
+++ b/Tests/RunCMake/XcodeProject/XcodeObjcFlags.cmake
@@ -0,0 +1,12 @@
+cmake_minimum_required(VERSION 3.15)
+project(objctest LANGUAGES C OBJC)
+
+include(CheckOBJCCompilerFlag)
+check_objc_compiler_flag(-fobjc-arc HAVE_OBJC_ARC)
+
+if(HAVE_OBJC_ARC)
+ add_compile_options(-fobjc-arc)
+ add_compile_definitions(HAVE_OBJC_ARC)
+endif()
+
+add_library(myfuncs STATIC myfuncs.m)
diff --git a/Tests/RunCMake/XcodeProject/XcodeObjcxxFlags.cmake b/Tests/RunCMake/XcodeProject/XcodeObjcxxFlags.cmake
new file mode 100644
index 0000000..0ad942f
--- /dev/null
+++ b/Tests/RunCMake/XcodeProject/XcodeObjcxxFlags.cmake
@@ -0,0 +1,12 @@
+cmake_minimum_required(VERSION 3.15)
+project(objcxxtest LANGUAGES CXX OBJCXX)
+
+include(CheckOBJCXXCompilerFlag)
+check_objcxx_compiler_flag(-fobjc-arc HAVE_OBJC_ARC)
+
+if(HAVE_OBJC_ARC)
+ add_compile_options(-fobjc-arc)
+ add_compile_definitions(HAVE_OBJC_ARC)
+endif()
+
+add_library(myfuncs STATIC myfuncs.mm)
diff --git a/Tests/RunCMake/XcodeProject/myfuncs.m b/Tests/RunCMake/XcodeProject/myfuncs.m
new file mode 100644
index 0000000..742ba8e
--- /dev/null
+++ b/Tests/RunCMake/XcodeProject/myfuncs.m
@@ -0,0 +1,3 @@
+#if defined(HAVE_OBJC_ARC) && ! __has_feature(objc_arc)
+#error THIS CODE MUST BE COMPILED WITH ARC ENABLED!
+#endif
diff --git a/Tests/RunCMake/XcodeProject/myfuncs.mm b/Tests/RunCMake/XcodeProject/myfuncs.mm
new file mode 100644
index 0000000..742ba8e
--- /dev/null
+++ b/Tests/RunCMake/XcodeProject/myfuncs.mm
@@ -0,0 +1,3 @@
+#if defined(HAVE_OBJC_ARC) && ! __has_feature(objc_arc)
+#error THIS CODE MUST BE COMPILED WITH ARC ENABLED!
+#endif