summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-11-30 17:38:03 (GMT)
committerKitware Robot <kwrobot@kitware.com>2020-11-30 17:38:17 (GMT)
commit0173cdcc012945901190e883283adfbbba61f491 (patch)
treef7c17e87cee8969a68b19fad20575be03276d99e
parentcf93438ae2e92bbbc35a64543c08e06706a2942c (diff)
parent573d51201acb5d922e96e496b25d00092953ffd5 (diff)
downloadCMake-0173cdcc012945901190e883283adfbbba61f491.zip
CMake-0173cdcc012945901190e883283adfbbba61f491.tar.gz
CMake-0173cdcc012945901190e883283adfbbba61f491.tar.bz2
Merge topic 'make-GENERATED-visible-from-any-scope'
573d51201a GENERATED prop: Set CMP0118 to NEW for some (unrelated) tests 6624b65b3f GENERATED prop: Add implementation for policy CMP0118 being set to NEW b14fe704f8 GENERATED prop: Simplify determining the language of a source file ca4ce458a3 GENERATED prop: Check CMP0118 policy and warn in certain situations 0eb30f175e GENERATED prop: Introducing policy CMP0118 and its documentation 78c8d95605 GENERATED prop: Add some tests before introducing changes with CMP0118 e01527619f Simplify code by calling a function directly instead of duplicating it 75cb8615e9 Fix typo in function name Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5308
-rw-r--r--Help/command/get_property.rst5
-rw-r--r--Help/command/get_source_file_property.rst5
-rw-r--r--Help/command/set_property.rst5
-rw-r--r--Help/command/set_source_files_properties.rst5
-rw-r--r--Help/manual/cmake-policies.7.rst1
-rw-r--r--Help/policy/CMP0118.rst17
-rw-r--r--Help/prop_sf/GENERATED.rst11
-rw-r--r--Help/release/dev/make-GENERATED-visible-from-any-scope.rst7
-rw-r--r--Source/cmCPluginAPI.cxx5
-rw-r--r--Source/cmGeneratorExpressionEvaluationFile.cxx7
-rw-r--r--Source/cmGetPropertyCommand.cxx2
-rw-r--r--Source/cmGetSourceFilePropertyCommand.cxx2
-rw-r--r--Source/cmGlobalGenerator.cxx11
-rw-r--r--Source/cmGlobalGenerator.h8
-rw-r--r--Source/cmMakefile.cxx8
-rw-r--r--Source/cmPolicies.h6
-rw-r--r--Source/cmQtAutoGenInitializer.cxx2
-rw-r--r--Source/cmSetPropertyCommand.cxx105
-rw-r--r--Source/cmSetPropertyCommand.h15
-rw-r--r--Source/cmSetSourceFilesPropertiesCommand.cxx11
-rw-r--r--Source/cmSourceFile.cxx77
-rw-r--r--Source/cmSourceFile.h36
-rw-r--r--Tests/RunCMake/CMP0026/LOCATION-and-TARGET_OBJECTS.cmake2
-rw-r--r--Tests/RunCMake/CMP0026/clear-cached-information.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-Common-Helper.cmake14
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-Common-Test1.cmake9
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-Common-Test10.cmake65
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-Common-Test11.cmake65
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-Common-Test12.cmake65
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-Common-Test13.cmake65
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-Common-Test14.cmake65
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-Common-Test15.cmake65
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-Common-Test2.cmake12
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-Common-Test3.cmake66
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-Common-Test3b.cmake66
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-Common-Test4.cmake66
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-Common-Test4b.cmake66
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-Common-Test5.cmake78
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-Common-Test6.cmake44
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-Common-Test7.cmake44
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-Common-Test8.cmake50
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-Common-Test9.cmake50
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test1-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test1-stderr.txt16
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test1.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test10-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test10-stderr.txt57
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test10.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test11-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test11-stderr.txt86
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test11.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test12-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test12-stderr.txt51
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test12.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test13-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test13-stderr.txt64
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test13.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test14-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test14-stderr.txt57
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test14.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test15-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test15-stderr.txt86
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test15.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test2-stderr.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test2.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test3-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test3-stderr.txt93
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test3.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test3b-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test3b-stderr.txt93
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test3b.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test4-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test4-stderr.txt173
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test4.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test4b-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test4b-stderr.txt173
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test4b.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test5-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test5-stderr.txt180
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test5.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test6-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test6-stderr.txt51
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test6.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test7-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test7-stderr.txt80
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test7.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test8-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test8-stderr.txt51
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test8.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test9-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test9-stderr.txt80
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-NEW-Test9.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test1-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test1-stderr.txt16
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test1.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test10-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test10-stderr.txt57
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test10.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test11-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test11-stderr.txt73
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test11.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test12-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test12-stderr.txt51
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test12.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test13-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test13-stderr.txt51
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test13.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test14-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test14-stderr.txt57
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test14.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test15-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test15-stderr.txt73
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test15.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test2-stderr.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test2.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test3-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test3-stderr.txt93
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test3.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test3b-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test3b-stderr.txt93
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test3b.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test4-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test4-stderr.txt101
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test4.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test4b-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test4b-stderr.txt101
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test4b.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test5-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test5-stderr.txt117
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test5.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test6-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test6-stderr.txt51
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test6.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test7-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test7-stderr.txt83
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test7.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test8-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test8-stderr.txt51
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test8.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test9-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test9-stderr.txt67
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-OLD-Test9.cmake2
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test1-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test1-stderr.txt16
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test1.cmake1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test10-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test10-stderr.txt57
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test10.cmake1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test11-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test11-stderr.txt96
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test11.cmake1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test12-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test12-stderr.txt51
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test12.cmake1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test13-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test13-stderr.txt74
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test13.cmake1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test14-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test14-stderr.txt57
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test14.cmake1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test15-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test15-stderr.txt96
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test15.cmake1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test2-stderr.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test2.cmake1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test3-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test3-stderr.txt93
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test3.cmake1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test3b-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test3b-stderr.txt93
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test3b.cmake1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test4-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test4-stderr.txt218
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test4.cmake1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test4b-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test4b-stderr.txt218
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test4b.cmake1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test5-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test5-stderr.txt219
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test5.cmake1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test6-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test6-stderr.txt51
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test6.cmake1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test7-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test7-stderr.txt106
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test7.cmake1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test8-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test8-stderr.txt51
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test8.cmake1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test9-result.txt1
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test9-stderr.txt90
-rw-r--r--Tests/RunCMake/CMP0118/CMP0118-WARN-Test9.cmake1
-rw-r--r--Tests/RunCMake/CMP0118/CMakeLists.txt4
-rw-r--r--Tests/RunCMake/CMP0118/RunCMakeTest.cmake55
-rw-r--r--Tests/RunCMake/CMP0118/source.cpp.in5
-rw-r--r--Tests/RunCMake/CMP0118/subdir-Common-Test10/CMakeLists.txt33
-rw-r--r--Tests/RunCMake/CMP0118/subdir-Common-Test11/CMakeLists.txt33
-rw-r--r--Tests/RunCMake/CMP0118/subdir-Common-Test12/CMakeLists.txt33
-rw-r--r--Tests/RunCMake/CMP0118/subdir-Common-Test13/CMakeLists.txt33
-rw-r--r--Tests/RunCMake/CMP0118/subdir-Common-Test14/CMakeLists.txt33
-rw-r--r--Tests/RunCMake/CMP0118/subdir-Common-Test15/CMakeLists.txt33
-rw-r--r--Tests/RunCMake/CMP0118/subdir-Common-Test6/CMakeLists.txt16
-rw-r--r--Tests/RunCMake/CMP0118/subdir-Common-Test7/CMakeLists.txt16
-rw-r--r--Tests/RunCMake/CMP0118/subdir-Common-Test8/CMakeLists.txt30
-rw-r--r--Tests/RunCMake/CMP0118/subdir-Common-Test9/CMakeLists.txt30
-rw-r--r--Tests/RunCMake/CMakeLists.txt1
-rw-r--r--Tests/RunCMake/FileAPI/RunCMakeTest.cmake2
-rw-r--r--Tests/RunCMake/Ninja/AssumedSources.cmake1
208 files changed, 5860 insertions, 56 deletions
diff --git a/Help/command/get_property.rst b/Help/command/get_property.rst
index 9ee7a4b..f77d8af 100644
--- a/Help/command/get_property.rst
+++ b/Help/command/get_property.rst
@@ -94,3 +94,8 @@ If ``BRIEF_DOCS`` or ``FULL_DOCS`` is given then the variable is set to a
string containing documentation for the requested property. If
documentation is requested for a property that has not been defined
``NOTFOUND`` is returned.
+
+.. note::
+
+ The :prop_sf:`GENERATED` source file property may be globally visible.
+ See its documentation for details.
diff --git a/Help/command/get_source_file_property.rst b/Help/command/get_source_file_property.rst
index 1e0ea9f..ae41565 100644
--- a/Help/command/get_source_file_property.rst
+++ b/Help/command/get_source_file_property.rst
@@ -40,3 +40,8 @@ file properties usually control how the file is built. One property that is
always there is :prop_sf:`LOCATION`.
See also the more general :command:`get_property` command.
+
+.. note::
+
+ The :prop_sf:`GENERATED` source file property may be globally visible.
+ See its documentation for details.
diff --git a/Help/command/set_property.rst b/Help/command/set_property.rst
index 22e0301..bf437b4 100644
--- a/Help/command/set_property.rst
+++ b/Help/command/set_property.rst
@@ -105,3 +105,8 @@ directly set in the nominated scope, the command will behave as though
See the :manual:`cmake-properties(7)` manual for a list of properties
in each scope.
+
+.. note::
+
+ The :prop_sf:`GENERATED` source file property may be globally visible.
+ See its documentation for details.
diff --git a/Help/command/set_source_files_properties.rst b/Help/command/set_source_files_properties.rst
index f8b05ac..61c69a2 100644
--- a/Help/command/set_source_files_properties.rst
+++ b/Help/command/set_source_files_properties.rst
@@ -36,3 +36,8 @@ See also the :command:`set_property(SOURCE)` command.
See :ref:`Source File Properties` for the list of properties known
to CMake.
+
+.. note::
+
+ The :prop_sf:`GENERATED` source file property may be globally visible.
+ See its documentation for details.
diff --git a/Help/manual/cmake-policies.7.rst b/Help/manual/cmake-policies.7.rst
index 03eb93e..6f9a24a 100644
--- a/Help/manual/cmake-policies.7.rst
+++ b/Help/manual/cmake-policies.7.rst
@@ -57,6 +57,7 @@ Policies Introduced by CMake 3.20
.. toctree::
:maxdepth: 1
+ CMP0118: The GENERATED source file property is now visible in all directories. </policy/CMP0118>
CMP0117: MSVC RTTI flag /GR is not added to CMAKE_CXX_FLAGS by default. </policy/CMP0117>
CMP0116: Ninja generators transform DEPFILEs from add_custom_command(). </policy/CMP0116>
CMP0115: Source file extensions must be explicit. </policy/CMP0115>
diff --git a/Help/policy/CMP0118.rst b/Help/policy/CMP0118.rst
new file mode 100644
index 0000000..8e71320
--- /dev/null
+++ b/Help/policy/CMP0118.rst
@@ -0,0 +1,17 @@
+CMP0118
+-------
+
+The :prop_sf:`GENERATED` source file property is now visible in all directories.
+
+Whether or not a source file is generated is an all-or-nothing global
+property of the source. Consequently, the associated ``GENERATED``
+property is now visible from any directory scope, not only from the scope
+for which it was set.
+
+The ``OLD`` behavior of this policy is to only allow ``GENERATED`` to be
+visible from the directory scope for which it was set. The ``NEW``
+behavior on the other hand allows it to be visible from any scope.
+
+This policy was introduced in CMake version 3.20. CMake version |release|
+warns when the policy is not set and uses ``OLD`` behavior. Use the
+:command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly.
diff --git a/Help/prop_sf/GENERATED.rst b/Help/prop_sf/GENERATED.rst
index 48ff70c..6ef4580 100644
--- a/Help/prop_sf/GENERATED.rst
+++ b/Help/prop_sf/GENERATED.rst
@@ -3,6 +3,9 @@ GENERATED
Is this source file generated as part of the build or CMake process.
+.. versionchanged:: 3.20
+ The GENERATED source file property is now visible in all directories.
+
Tells the internal CMake engine that a source file is generated by an outside
process such as another build step, or the execution of CMake itself.
This information is then used to exempt the file from any existence or
@@ -34,3 +37,11 @@ or :prop_tgt:`AUTORCC` functionality, the :prop_gbl:`AUTOGEN_SOURCE_GROUP`,
:prop_gbl:`AUTOMOC_SOURCE_GROUP` and :prop_gbl:`AUTORCC_SOURCE_GROUP` target
properties may influence where the generated sources are grouped in the project's
file lists.
+
+.. note::
+
+ Starting with CMake 3.20 the ``GENERATED`` source file property can be set
+ and retrieved from any directory scope. It is an all-or-nothing property.
+ It also can no longer be removed or unset if it was set to ``TRUE``. Policy
+ :policy:`CMP0118` was introduced to allow supporting the ``OLD`` behavior
+ for some time.
diff --git a/Help/release/dev/make-GENERATED-visible-from-any-scope.rst b/Help/release/dev/make-GENERATED-visible-from-any-scope.rst
new file mode 100644
index 0000000..7757175
--- /dev/null
+++ b/Help/release/dev/make-GENERATED-visible-from-any-scope.rst
@@ -0,0 +1,7 @@
+make-GENERATED-visible-from-any-scope
+-------------------------------------
+
+* The :prop_sf:`GENERATED` source-file property is now visible
+ from any directory scope, regardles in which scope or for what
+ scope it was set.
+ See policy :policy:`CMP0118`.
diff --git a/Source/cmCPluginAPI.cxx b/Source/cmCPluginAPI.cxx
index 968fa54..9e3582c 100644
--- a/Source/cmCPluginAPI.cxx
+++ b/Source/cmCPluginAPI.cxx
@@ -550,6 +550,11 @@ void* CCONV cmAddSource(void* arg, void* arg2)
// Create the real cmSourceFile instance and copy over saved information.
cmSourceFile* rsf = mf->GetOrCreateSource(osf->FullPath);
rsf->SetProperties(osf->Properties);
+ // In case the properties contain the GENERATED property,
+ // mark the real cmSourceFile as generated.
+ if (rsf->GetIsGenerated()) {
+ rsf->MarkAsGenerated();
+ }
for (std::string const& d : osf->Depends) {
rsf->AddDepend(d);
}
diff --git a/Source/cmGeneratorExpressionEvaluationFile.cxx b/Source/cmGeneratorExpressionEvaluationFile.cxx
index 9e5023d..3c17b54 100644
--- a/Source/cmGeneratorExpressionEvaluationFile.cxx
+++ b/Source/cmGeneratorExpressionEvaluationFile.cxx
@@ -15,7 +15,6 @@
#include "cmMakefile.h"
#include "cmMessageType.h"
#include "cmSourceFile.h"
-#include "cmSourceFileLocationKind.h"
#include "cmSystemTools.h"
cmGeneratorExpressionEvaluationFile::cmGeneratorExpressionEvaluationFile(
@@ -99,11 +98,7 @@ void cmGeneratorExpressionEvaluationFile::CreateOutputFile(
for (std::string const& le : enabledLanguages) {
std::string const name = this->GetOutputFileName(lg, target, config, le);
- cmSourceFile* sf = lg->GetMakefile()->GetOrCreateSource(
- name, false, cmSourceFileLocationKind::Known);
- // Tell TraceDependencies that the file is not expected to exist
- // on disk yet. We generate it after that runs.
- sf->SetProperty("GENERATED", "1");
+ cmSourceFile* sf = lg->GetMakefile()->GetOrCreateGeneratedSource(name);
// Tell the build system generators that there is no build rule
// to generate the file.
diff --git a/Source/cmGetPropertyCommand.cxx b/Source/cmGetPropertyCommand.cxx
index e755399..cb657f9 100644
--- a/Source/cmGetPropertyCommand.cxx
+++ b/Source/cmGetPropertyCommand.cxx
@@ -172,7 +172,7 @@ bool cmGetPropertyCommand(std::vector<std::string> const& args,
std::vector<cmMakefile*> source_file_directory_makefiles;
bool file_scopes_handled =
- SetPropertyCommand::HandleAndValidateSourceFileDirectortoryScopes(
+ SetPropertyCommand::HandleAndValidateSourceFileDirectoryScopes(
status, source_file_directory_option_enabled,
source_file_target_option_enabled, source_file_directories,
source_file_target_directories, source_file_directory_makefiles);
diff --git a/Source/cmGetSourceFilePropertyCommand.cxx b/Source/cmGetSourceFilePropertyCommand.cxx
index 212a968..5301b66 100644
--- a/Source/cmGetSourceFilePropertyCommand.cxx
+++ b/Source/cmGetSourceFilePropertyCommand.cxx
@@ -35,7 +35,7 @@ bool cmGetSourceFilePropertyCommand(std::vector<std::string> const& args,
std::vector<cmMakefile*> source_file_directory_makefiles;
bool file_scopes_handled =
- SetPropertyCommand::HandleAndValidateSourceFileDirectortoryScopes(
+ SetPropertyCommand::HandleAndValidateSourceFileDirectoryScopes(
status, source_file_directory_option_enabled,
source_file_target_option_enabled, source_file_directories,
source_file_target_directories, source_file_directory_makefiles);
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 9d84313..63aaf27 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -1821,6 +1821,7 @@ void cmGlobalGenerator::ClearGeneratorMembers()
this->RuleHashes.clear();
this->DirectoryContentMap.clear();
this->BinaryDirectories.clear();
+ this->GeneratedFiles.clear();
}
void cmGlobalGenerator::ComputeTargetObjectDirectory(
@@ -2146,6 +2147,16 @@ void cmGlobalGenerator::AddInstallComponent(const std::string& component)
}
}
+void cmGlobalGenerator::MarkAsGeneratedFile(const std::string& filepath)
+{
+ this->GeneratedFiles.insert(filepath);
+}
+
+bool cmGlobalGenerator::IsGeneratedFile(const std::string& filepath)
+{
+ return this->GeneratedFiles.find(filepath) != this->GeneratedFiles.end();
+}
+
void cmGlobalGenerator::EnableInstallTarget()
{
this->InstallTargetEnabled = true;
diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h
index c1813d0..69373bd 100644
--- a/Source/cmGlobalGenerator.h
+++ b/Source/cmGlobalGenerator.h
@@ -11,6 +11,7 @@
#include <set>
#include <string>
#include <unordered_map>
+#include <unordered_set>
#include <utility>
#include <vector>
@@ -290,6 +291,11 @@ public:
void AddInstallComponent(const std::string& component);
+ /** Mark the (absolute path to a) file as generated. */
+ void MarkAsGeneratedFile(const std::string& filepath);
+ /** Determine if the absolute filepath belongs to a generated file. */
+ bool IsGeneratedFile(const std::string& filepath);
+
const std::set<std::string>* GetInstallComponents() const
{
return &this->InstallComponents;
@@ -733,6 +739,8 @@ private:
std::map<std::string, std::string> RealPaths;
+ std::unordered_set<std::string> GeneratedFiles;
+
#if !defined(CMAKE_BOOTSTRAP)
// Pool of file locks
cmFileLockPool FileLockPool;
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 50a7d27..4e93785 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -3406,11 +3406,7 @@ cmSourceFile* cmMakefile::CreateSource(const std::string& sourceName,
bool generated,
cmSourceFileLocationKind kind)
{
- auto sf = cm::make_unique<cmSourceFile>(this, sourceName, kind);
- if (generated) {
- sf->SetProperty("GENERATED", "1");
- }
-
+ auto sf = cm::make_unique<cmSourceFile>(this, sourceName, generated, kind);
auto name =
this->GetCMakeInstance()->StripExtension(sf->GetLocation().GetName());
#if defined(_WIN32) || defined(__APPLE__)
@@ -3442,7 +3438,7 @@ cmSourceFile* cmMakefile::GetOrCreateGeneratedSource(
{
cmSourceFile* sf =
this->GetOrCreateSource(sourceName, true, cmSourceFileLocationKind::Known);
- sf->SetProperty("GENERATED", "1");
+ sf->MarkAsGenerated(); // In case we did not create the source file.
return sf;
}
diff --git a/Source/cmPolicies.h b/Source/cmPolicies.h
index 30cd4b7..646e226 100644
--- a/Source/cmPolicies.h
+++ b/Source/cmPolicies.h
@@ -348,7 +348,11 @@ class cmMakefile;
20, 0, cmPolicies::WARN) \
SELECT(POLICY, CMP0117, \
"MSVC RTTI flag /GR is not added to CMAKE_CXX_FLAGS by default.", 3, \
- 20, 0, cmPolicies::WARN)
+ 20, 0, cmPolicies::WARN) \
+ SELECT( \
+ POLICY, CMP0118, \
+ "The GENERATED source file property is now visible in all directories.", \
+ 3, 20, 0, cmPolicies::WARN)
#define CM_SELECT_ID(F, A1, A2, A3, A4, A5, A6) F(A1)
#define CM_FOR_EACH_POLICY_ID(POLICY) \
diff --git a/Source/cmQtAutoGenInitializer.cxx b/Source/cmQtAutoGenInitializer.cxx
index f2696a6..f27b788 100644
--- a/Source/cmQtAutoGenInitializer.cxx
+++ b/Source/cmQtAutoGenInitializer.cxx
@@ -1624,7 +1624,7 @@ cmSourceFile* cmQtAutoGenInitializer::RegisterGeneratedSource(
std::string const& filename)
{
cmSourceFile* gFile = this->Makefile->GetOrCreateSource(filename, true);
- gFile->SetProperty("GENERATED", "1");
+ gFile->MarkAsGenerated();
gFile->SetProperty("SKIP_AUTOGEN", "1");
return gFile;
}
diff --git a/Source/cmSetPropertyCommand.cxx b/Source/cmSetPropertyCommand.cxx
index df6a38a..970564d 100644
--- a/Source/cmSetPropertyCommand.cxx
+++ b/Source/cmSetPropertyCommand.cxx
@@ -10,9 +10,12 @@
#include "cmGlobalGenerator.h"
#include "cmInstalledFile.h"
#include "cmMakefile.h"
+#include "cmMessageType.h"
+#include "cmPolicies.h"
#include "cmProperty.h"
#include "cmRange.h"
#include "cmSourceFile.h"
+#include "cmSourceFileLocation.h"
#include "cmState.h"
#include "cmStringAlgorithms.h"
#include "cmSystemTools.h"
@@ -157,7 +160,7 @@ bool HandleSourceFileDirectoryScopeValidation(
return true;
}
-bool HandleAndValidateSourceFileDirectortoryScopes(
+bool HandleAndValidateSourceFileDirectoryScopes(
cmExecutionStatus& status, bool source_file_directory_option_enabled,
bool source_file_target_option_enabled,
std::vector<std::string>& source_file_directories,
@@ -216,8 +219,92 @@ void MakeSourceFilePathsAbsoluteIfNeeded(
source_files_absolute_paths.push_back(absolute_file_path);
}
}
+
+bool HandleAndValidateSourceFilePropertyGENERATED(
+ cmSourceFile* sf, std::string const& propertyValue, PropertyOp op)
+{
+ auto& mf = *sf->GetLocation().GetMakefile();
+ auto policyStatus = mf.GetPolicyStatus(cmPolicies::CMP0118);
+
+ const bool policyWARN = policyStatus == cmPolicies::WARN;
+ const bool policyNEW = policyStatus != cmPolicies::OLD && !policyWARN;
+
+ if (policyWARN) {
+ if (!cmIsOn(propertyValue) && !cmIsOff(propertyValue)) {
+ mf.IssueMessage(
+ MessageType::AUTHOR_WARNING,
+ cmStrCat(cmPolicies::GetPolicyWarning(cmPolicies::CMP0118),
+ "\nAttempt to set property 'GENERATED' with the following "
+ "non-boolean value (which will be interpreted as \"0\"):\n",
+ propertyValue,
+ "\nThat exact value will not be retrievable. A value of "
+ "\"0\" will be returned instead.\n"
+ "This will be an error under policy CMP0118.\n"));
+ }
+ if (cmIsOff(propertyValue)) {
+ mf.IssueMessage(
+ MessageType::AUTHOR_WARNING,
+ cmStrCat(cmPolicies::GetPolicyWarning(cmPolicies::CMP0118),
+ "\nUnsetting property 'GENERATED' will not be allowed under "
+ "policy CMP0118!\n"));
+ }
+ if (op == PropertyOp::Append || op == PropertyOp::AppendAsString) {
+ mf.IssueMessage(
+ MessageType::AUTHOR_WARNING,
+ cmStrCat(cmPolicies::GetPolicyWarning(cmPolicies::CMP0118),
+ "\nAppending to property 'GENERATED' will not be allowed "
+ "under policy CMP0118!\n"));
+ }
+ } else if (policyNEW) {
+ if (!cmIsOn(propertyValue) && !cmIsOff(propertyValue)) {
+ mf.IssueMessage(
+ MessageType::AUTHOR_ERROR,
+ cmStrCat(
+ "Policy CMP0118 is set to NEW and the following non-boolean value "
+ "given for property 'GENERATED' is therefore not allowed:\n",
+ propertyValue, "\nReplace it with a boolean value!\n"));
+ return true;
+ }
+ if (cmIsOff(propertyValue)) {
+ mf.IssueMessage(
+ MessageType::AUTHOR_ERROR,
+ "Unsetting the 'GENERATED' property is not allowed under CMP0118!\n");
+ return true;
+ }
+ if (op == PropertyOp::Append || op == PropertyOp::AppendAsString) {
+ mf.IssueMessage(MessageType::AUTHOR_ERROR,
+ "Policy CMP0118 is set to NEW and appending to the "
+ "'GENERATED' property is therefore not allowed. Only "
+ "setting it to \"1\" is allowed!\n");
+ return true;
+ }
+ }
+
+ // Set property.
+ if (!policyNEW) {
+ // Do it the traditional way.
+ switch (op) {
+ case PropertyOp::Append:
+ sf->AppendProperty("GENERATED", propertyValue, false);
+ break;
+ case PropertyOp::AppendAsString:
+ sf->AppendProperty("GENERATED", propertyValue, true);
+ break;
+ case PropertyOp::Remove:
+ sf->SetProperty("GENERATED", nullptr);
+ break;
+ case PropertyOp::Set:
+ sf->SetProperty("GENERATED", propertyValue.c_str());
+ break;
+ }
+ } else {
+ sf->MarkAsGenerated();
+ }
+ return true;
}
+} // END: namespace SetPropertyCommand
+
bool cmSetPropertyCommand(std::vector<std::string> const& args,
cmExecutionStatus& status)
{
@@ -324,7 +411,7 @@ bool cmSetPropertyCommand(std::vector<std::string> const& args,
std::vector<cmMakefile*> source_file_directory_makefiles;
bool file_scopes_handled =
- SetPropertyCommand::HandleAndValidateSourceFileDirectortoryScopes(
+ SetPropertyCommand::HandleAndValidateSourceFileDirectoryScopes(
status, source_file_directory_option_enabled,
source_file_target_option_enabled, source_file_directories,
source_file_target_directories, source_file_directory_makefiles);
@@ -367,7 +454,7 @@ bool cmSetPropertyCommand(std::vector<std::string> const& args,
return true;
}
-namespace {
+namespace /* anonymous */ {
bool HandleGlobalMode(cmExecutionStatus& status,
const std::set<std::string>& names,
const std::string& propertyName,
@@ -525,6 +612,18 @@ bool HandleSource(cmSourceFile* sf, const std::string& propertyName,
const std::string& propertyValue, bool appendAsString,
bool appendMode, bool remove)
{
+ // Special validation and handling of GENERATED flag?
+ if (propertyName == "GENERATED") {
+ SetPropertyCommand::PropertyOp op = (remove)
+ ? SetPropertyCommand::PropertyOp::Remove
+ : (appendAsString)
+ ? SetPropertyCommand::PropertyOp::AppendAsString
+ : (appendMode) ? SetPropertyCommand::PropertyOp::Append
+ : SetPropertyCommand::PropertyOp::Set;
+ return SetPropertyCommand::HandleAndValidateSourceFilePropertyGENERATED(
+ sf, propertyValue, op);
+ }
+
// Set or append the property.
if (appendMode) {
sf->AppendProperty(propertyName, propertyValue, appendAsString);
diff --git a/Source/cmSetPropertyCommand.h b/Source/cmSetPropertyCommand.h
index 89fdd9a..05c4873 100644
--- a/Source/cmSetPropertyCommand.h
+++ b/Source/cmSetPropertyCommand.h
@@ -9,6 +9,7 @@
class cmMakefile;
class cmExecutionStatus;
+class cmSourceFile;
bool cmSetPropertyCommand(std::vector<std::string> const& args,
cmExecutionStatus& status);
@@ -25,7 +26,7 @@ bool HandleSourceFileDirectoryScopeValidation(
std::vector<std::string>& source_file_directories,
std::vector<std::string>& source_file_target_directories);
-bool HandleAndValidateSourceFileDirectortoryScopes(
+bool HandleAndValidateSourceFileDirectoryScopes(
cmExecutionStatus& status, bool source_directories_option_encountered,
bool source_target_directories_option_encountered,
std::vector<std::string>& source_directories,
@@ -39,4 +40,16 @@ void MakeSourceFilePathsAbsoluteIfNeeded(
std::vector<std::string>& source_files_absolute_paths,
std::vector<std::string>::const_iterator files_it_begin,
std::vector<std::string>::const_iterator files_it_end, bool needed);
+
+enum class PropertyOp
+{
+ Remove,
+ Set,
+ Append,
+ AppendAsString
+};
+
+bool HandleAndValidateSourceFilePropertyGENERATED(
+ cmSourceFile* sf, std::string const& propertyValue,
+ PropertyOp op = PropertyOp::Set);
}
diff --git a/Source/cmSetSourceFilesPropertiesCommand.cxx b/Source/cmSetSourceFilesPropertiesCommand.cxx
index c1b0c28..742aa96 100644
--- a/Source/cmSetSourceFilesPropertiesCommand.cxx
+++ b/Source/cmSetSourceFilesPropertiesCommand.cxx
@@ -7,6 +7,7 @@
#include <cm/string_view>
#include <cmext/algorithm>
+#include <cmext/string_view>
#include "cmExecutionStatus.h"
#include "cmMakefile.h"
@@ -82,7 +83,7 @@ bool cmSetSourceFilesPropertiesCommand(std::vector<std::string> const& args,
const auto props_begin = options_it;
bool file_scopes_handled =
- SetPropertyCommand::HandleAndValidateSourceFileDirectortoryScopes(
+ SetPropertyCommand::HandleAndValidateSourceFileDirectoryScopes(
status, source_file_directory_option_enabled,
source_file_target_option_enabled, source_file_directories,
source_file_target_directories, source_file_directory_makefiles);
@@ -167,7 +168,13 @@ static bool RunCommandForScope(
if (cmSourceFile* sf = mf->GetOrCreateSource(sfname)) {
// loop through the props and set them
for (auto k = propertyPairs.begin(); k != propertyPairs.end(); k += 2) {
- sf->SetProperty(*k, (k + 1)->c_str());
+ // Special handling for GENERATED property?
+ if (*k == "GENERATED"_s) {
+ SetPropertyCommand::HandleAndValidateSourceFilePropertyGENERATED(
+ sf, *(k + 1));
+ } else {
+ sf->SetProperty(*k, (k + 1)->c_str());
+ }
}
}
}
diff --git a/Source/cmSourceFile.cxx b/Source/cmSourceFile.cxx
index 39074a5..9d9a7c3 100644
--- a/Source/cmSourceFile.cxx
+++ b/Source/cmSourceFile.cxx
@@ -16,9 +16,12 @@
#include "cmake.h"
cmSourceFile::cmSourceFile(cmMakefile* mf, const std::string& name,
- cmSourceFileLocationKind kind)
- : Location(mf, name, kind)
+ bool generated, cmSourceFileLocationKind kind)
+ : Location(mf, name, (!generated) ? kind : cmSourceFileLocationKind::Known)
{
+ if (generated) {
+ this->MarkAsGenerated();
+ }
}
std::string const& cmSourceFile::GetExtension() const
@@ -26,6 +29,8 @@ std::string const& cmSourceFile::GetExtension() const
return this->Extension;
}
+const std::string propTRUE = "1";
+const std::string propFALSE = "0";
const std::string cmSourceFile::propLANGUAGE = "LANGUAGE";
const std::string cmSourceFile::propLOCATION = "LOCATION";
const std::string cmSourceFile::propGENERATED = "GENERATED";
@@ -55,16 +60,14 @@ std::string const& cmSourceFile::GetOrDetermineLanguage()
}
// Perform computation needed to get the language if necessary.
- if (this->FullPath.empty() && this->Language.empty()) {
- // If a known extension is given or a known full path is given
- // then trust that the current extension is sufficient to
- // determine the language. This will fail only if the user
- // specifies a full path to the source but leaves off the
- // extension, which is kind of weird.
- if (this->Location.ExtensionIsAmbiguous() &&
+ if (this->Language.empty()) {
+ // If a known extension is given or a known full path is given then trust
+ // that the current extension is sufficient to determine the language. This
+ // will fail only if the user specifies a full path to the source but
+ // leaves off the extension, which is kind of weird.
+ if (this->FullPath.empty() && this->Location.ExtensionIsAmbiguous() &&
this->Location.DirectoryIsAmbiguous()) {
- // Finalize the file location to get the extension and set the
- // language.
+ // Finalize the file location to get the extension and set the language.
this->ResolveFullPath();
} else {
// Use the known extension to get the language if possible.
@@ -114,11 +117,14 @@ bool cmSourceFile::FindFullPath(std::string* error,
std::string* cmp0115Warning)
{
// If the file is generated compute the location without checking on disk.
- if (this->GetIsGenerated()) {
+ // Note: We also check for a locally set GENERATED property, because
+ // it might have been set before policy CMP0118 was set to NEW.
+ if (this->GetIsGenerated(CheckScope::GlobalAndLocal)) {
// The file is either already a full path or is relative to the
// build directory for the target.
this->Location.DirectoryUseBinary();
this->FullPath = this->Location.GetFullPath();
+ this->FindFullPathFailed = false;
return true;
}
@@ -275,11 +281,6 @@ void cmSourceFile::SetProperty(const std::string& prop, const char* value)
} else {
this->Properties.SetProperty(prop, value);
}
-
- // Update IsGenerated flag
- if (prop == propGENERATED) {
- this->IsGenerated = cmIsOn(value);
- }
}
void cmSourceFile::AppendProperty(const std::string& prop,
@@ -303,11 +304,6 @@ void cmSourceFile::AppendProperty(const std::string& prop,
} else {
this->Properties.AppendProperty(prop, value, asString);
}
-
- // Update IsGenerated flag
- if (prop == propGENERATED) {
- this->IsGenerated = this->GetPropertyAsBool(propGENERATED);
- }
}
cmProp cmSourceFile::GetPropertyForUser(const std::string& prop)
@@ -338,6 +334,21 @@ cmProp cmSourceFile::GetPropertyForUser(const std::string& prop)
return &this->GetOrDetermineLanguage();
}
+ // Special handling for GENERATED property.
+ if (prop == propGENERATED) {
+ // We need to check policy CMP0118 in order to determine if we need to
+ // possibly consider the value of a locally set GENERATED property, too.
+ auto policyStatus =
+ this->Location.GetMakefile()->GetPolicyStatus(cmPolicies::CMP0118);
+ if (this->GetIsGenerated(
+ (policyStatus == cmPolicies::WARN || policyStatus == cmPolicies::OLD)
+ ? CheckScope::GlobalAndLocal
+ : CheckScope::Global)) {
+ return &propTRUE;
+ }
+ return &propFALSE;
+ }
+
// Perform the normal property lookup.
return this->GetProperty(prop);
}
@@ -413,11 +424,29 @@ bool cmSourceFile::GetPropertyAsBool(const std::string& prop) const
return cmIsOn(this->GetProperty(prop));
}
+void cmSourceFile::MarkAsGenerated()
+{
+ this->IsGenerated = true;
+ auto& mf = *this->Location.GetMakefile();
+ mf.GetGlobalGenerator()->MarkAsGeneratedFile(this->ResolveFullPath());
+}
+
+bool cmSourceFile::GetIsGenerated(CheckScope checkScope) const
+{
+ if (this->IsGenerated) {
+ // Globally marked as generated!
+ return true;
+ }
+ if (checkScope == CheckScope::GlobalAndLocal) {
+ // Check locally stored properties.
+ return this->GetPropertyAsBool(propGENERATED);
+ }
+ return false;
+}
+
void cmSourceFile::SetProperties(cmPropertyMap properties)
{
this->Properties = std::move(properties);
-
- this->IsGenerated = this->GetPropertyAsBool(propGENERATED);
}
cmCustomCommand* cmSourceFile::GetCustomCommand() const
diff --git a/Source/cmSourceFile.h b/Source/cmSourceFile.h
index 3ad2664..94b5cc8 100644
--- a/Source/cmSourceFile.h
+++ b/Source/cmSourceFile.h
@@ -20,18 +20,18 @@ class cmMakefile;
/** \class cmSourceFile
* \brief Represent a class loaded from a makefile.
*
- * cmSourceFile is represents a class loaded from
- * a makefile.
+ * cmSourceFile represents a class loaded from a makefile.
*/
class cmSourceFile
{
public:
/**
- * Construct with the makefile storing the source and the initial
- * name referencing it.
+ * Construct with the makefile storing the source and the initial name
+ * referencing it. If it shall be marked as generated, this source file's
+ * kind is assumed to be known, regardless of the given value.
*/
cmSourceFile(
- cmMakefile* mf, const std::string& name,
+ cmMakefile* mf, const std::string& name, bool generated,
cmSourceFileLocationKind kind = cmSourceFileLocationKind::Ambiguous);
/**
@@ -54,9 +54,29 @@ public:
command like get_property or get_source_file_property. */
cmProp GetPropertyForUser(const std::string& prop);
- //! Checks is the GENERATED property is set and true
- /// @return Equivalent to GetPropertyAsBool("GENERATED")
- bool GetIsGenerated() const { return this->IsGenerated; }
+ /// Marks this file as generated
+ /**
+ * This stores this file's path in the global table for all generated source
+ * files.
+ */
+ void MarkAsGenerated();
+ enum class CheckScope
+ {
+ Global,
+ GlobalAndLocal
+ };
+ /// Determines if this source file is marked as generated.
+ /**
+ * This will check if this file's path is stored in the global table of all
+ * generated source files. If that is not the case and checkScope is set to
+ * GlobalAndLocal the value of the possibly existing local GENERATED property
+ * is returned instead.
+ * @param checkScope Determines if alternatively for backwards-compatibility
+ * a local GENERATED property should be considered, too.
+ * @return true if this source file is marked as generated, otherwise false.
+ */
+ bool GetIsGenerated(
+ CheckScope checkScope = CheckScope::GlobalAndLocal) const;
const std::vector<BT<std::string>>& GetCompileOptions() const
{
diff --git a/Tests/RunCMake/CMP0026/LOCATION-and-TARGET_OBJECTS.cmake b/Tests/RunCMake/CMP0026/LOCATION-and-TARGET_OBJECTS.cmake
index 3d8eb73..ee5ed5b 100644
--- a/Tests/RunCMake/CMP0026/LOCATION-and-TARGET_OBJECTS.cmake
+++ b/Tests/RunCMake/CMP0026/LOCATION-and-TARGET_OBJECTS.cmake
@@ -1,4 +1,4 @@
-
+cmake_policy(SET CMP0118 NEW)
enable_language(CXX)
add_library(foo OBJECT empty.cpp)
diff --git a/Tests/RunCMake/CMP0026/clear-cached-information.cmake b/Tests/RunCMake/CMP0026/clear-cached-information.cmake
index dd2dd72..9916948 100644
--- a/Tests/RunCMake/CMP0026/clear-cached-information.cmake
+++ b/Tests/RunCMake/CMP0026/clear-cached-information.cmake
@@ -1,4 +1,4 @@
-
+cmake_policy(SET CMP0118 NEW)
enable_language(C)
cmake_policy(SET CMP0026 OLD)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-Common-Helper.cmake b/Tests/RunCMake/CMP0118/CMP0118-Common-Helper.cmake
new file mode 100644
index 0000000..b237b7f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-Common-Helper.cmake
@@ -0,0 +1,14 @@
+macro(get_and_print_GENERATED_property filename)
+ get_property(prop SOURCE "${CMAKE_CURRENT_BINARY_DIR}/${filename}" PROPERTY GENERATED)
+ message(NOTICE "${filename}: # 1a # GENERATED = `${prop}`")
+ get_source_file_property(prop "${CMAKE_CURRENT_BINARY_DIR}/${filename}" GENERATED)
+ message(NOTICE "${filename}: # 1b # GENERATED = `${prop}`")
+ get_property(prop SOURCE "${filename}" PROPERTY GENERATED)
+ message(NOTICE "${filename}: # 2a # GENERATED = `${prop}`")
+ get_source_file_property(prop "${filename}" GENERATED)
+ message(NOTICE "${filename}: # 2b # GENERATED = `${prop}`")
+ get_property(prop SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/${filename}" PROPERTY GENERATED)
+ message(NOTICE "${filename}: # 3a # GENERATED = `${prop}`")
+ get_source_file_property(prop "${CMAKE_CURRENT_SOURCE_DIR}/${filename}" GENERATED)
+ message(NOTICE "${filename}: # 3b # GENERATED = `${prop}`")
+endmacro()
diff --git a/Tests/RunCMake/CMP0118/CMP0118-Common-Test1.cmake b/Tests/RunCMake/CMP0118/CMP0118-Common-Test1.cmake
new file mode 100644
index 0000000..fc4f5ec
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-Common-Test1.cmake
@@ -0,0 +1,9 @@
+add_executable(executable)
+target_sources(executable PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/GeneratedMain.cpp"
+)
+
+get_property(prop SOURCE
+ "${CMAKE_CURRENT_BINARY_DIR}/GeneratedMain.cpp"
+ PROPERTY GENERATED)
+message(NOTICE "prop: `${prop}`")
diff --git a/Tests/RunCMake/CMP0118/CMP0118-Common-Test10.cmake b/Tests/RunCMake/CMP0118/CMP0118-Common-Test10.cmake
new file mode 100644
index 0000000..d0b2044
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-Common-Test10.cmake
@@ -0,0 +1,65 @@
+include(${CMAKE_CURRENT_LIST_DIR}/CMP0118-Common-Helper.cmake)
+
+
+# The sources of executable0 will not be modified by set_property!
+add_executable(executable0)
+target_sources(executable0 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source0.cpp"
+)
+# The sources of executable[1-6] will (tried to) be modified by set_property!
+add_executable(executable1)
+target_sources(executable1 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+)
+add_executable(executable2)
+target_sources(executable2 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+)
+add_executable(executable3)
+target_sources(executable3 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+)
+add_executable(executable4)
+target_sources(executable4 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source4.cpp"
+)
+add_executable(executable5)
+target_sources(executable5 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source5.cpp"
+)
+add_executable(executable6)
+target_sources(executable6 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source6.cpp"
+)
+
+
+add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Generated_source0.cpp"
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source0.cpp"
+)
+add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+)
+add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+)
+add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+)
+
+add_subdirectory(subdir-Common-Test10)
+
+get_and_print_GENERATED_property("Generated_source0.cpp")
+get_and_print_GENERATED_property("Generated_source1.cpp")
+get_and_print_GENERATED_property("Generated_source2.cpp")
+get_and_print_GENERATED_property("Generated_source3.cpp")
+get_and_print_GENERATED_property("Generated_source4.cpp")
+get_and_print_GENERATED_property("Generated_source5.cpp")
+get_and_print_GENERATED_property("Generated_source6.cpp")
diff --git a/Tests/RunCMake/CMP0118/CMP0118-Common-Test11.cmake b/Tests/RunCMake/CMP0118/CMP0118-Common-Test11.cmake
new file mode 100644
index 0000000..f21a7b1
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-Common-Test11.cmake
@@ -0,0 +1,65 @@
+include(${CMAKE_CURRENT_LIST_DIR}/CMP0118-Common-Helper.cmake)
+
+
+# The sources of executable0 will not be modified by set_property!
+add_executable(executable0)
+target_sources(executable0 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source0.cpp"
+)
+# The sources of executable[1-6] will (tried to) be modified by set_property!
+add_executable(executable1)
+target_sources(executable1 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+)
+add_executable(executable2)
+target_sources(executable2 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+)
+add_executable(executable3)
+target_sources(executable3 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+)
+add_executable(executable4)
+target_sources(executable4 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source4.cpp"
+)
+add_executable(executable5)
+target_sources(executable5 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source5.cpp"
+)
+add_executable(executable6)
+target_sources(executable6 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source6.cpp"
+)
+
+
+add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Generated_source0.cpp"
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source0.cpp"
+)
+add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+)
+add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+)
+add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+)
+
+add_subdirectory(subdir-Common-Test11)
+
+get_and_print_GENERATED_property("Generated_source0.cpp")
+get_and_print_GENERATED_property("Generated_source1.cpp")
+get_and_print_GENERATED_property("Generated_source2.cpp")
+get_and_print_GENERATED_property("Generated_source3.cpp")
+get_and_print_GENERATED_property("Generated_source4.cpp")
+get_and_print_GENERATED_property("Generated_source5.cpp")
+get_and_print_GENERATED_property("Generated_source6.cpp")
diff --git a/Tests/RunCMake/CMP0118/CMP0118-Common-Test12.cmake b/Tests/RunCMake/CMP0118/CMP0118-Common-Test12.cmake
new file mode 100644
index 0000000..280edca
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-Common-Test12.cmake
@@ -0,0 +1,65 @@
+include(${CMAKE_CURRENT_LIST_DIR}/CMP0118-Common-Helper.cmake)
+
+
+# The sources of executable0 will not be modified by set_property!
+add_executable(executable0)
+target_sources(executable0 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source0.cpp"
+)
+# The sources of executable[1-6] will (tried to) be modified by set_property!
+add_executable(executable1)
+target_sources(executable1 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+)
+add_executable(executable2)
+target_sources(executable2 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+)
+add_executable(executable3)
+target_sources(executable3 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+)
+add_executable(executable4)
+target_sources(executable4 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source4.cpp"
+)
+add_executable(executable5)
+target_sources(executable5 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source5.cpp"
+)
+add_executable(executable6)
+target_sources(executable6 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source6.cpp"
+)
+
+
+add_custom_command(TARGET executable0 PRE_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source0.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/Generated_source0.cpp"
+)
+add_custom_command(TARGET executable1 PRE_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+)
+add_custom_command(TARGET executable2 PRE_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+)
+add_custom_command(TARGET executable3 PRE_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+)
+
+add_subdirectory(subdir-Common-Test12)
+
+get_and_print_GENERATED_property("Generated_source0.cpp")
+get_and_print_GENERATED_property("Generated_source1.cpp")
+get_and_print_GENERATED_property("Generated_source2.cpp")
+get_and_print_GENERATED_property("Generated_source3.cpp")
+get_and_print_GENERATED_property("Generated_source4.cpp")
+get_and_print_GENERATED_property("Generated_source5.cpp")
+get_and_print_GENERATED_property("Generated_source6.cpp")
diff --git a/Tests/RunCMake/CMP0118/CMP0118-Common-Test13.cmake b/Tests/RunCMake/CMP0118/CMP0118-Common-Test13.cmake
new file mode 100644
index 0000000..e1dfa11
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-Common-Test13.cmake
@@ -0,0 +1,65 @@
+include(${CMAKE_CURRENT_LIST_DIR}/CMP0118-Common-Helper.cmake)
+
+
+# The sources of executable0 will not be modified by set_property!
+add_executable(executable0)
+target_sources(executable0 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source0.cpp"
+)
+# The sources of executable[1-6] will (tried to) be modified by set_property!
+add_executable(executable1)
+target_sources(executable1 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+)
+add_executable(executable2)
+target_sources(executable2 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+)
+add_executable(executable3)
+target_sources(executable3 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+)
+add_executable(executable4)
+target_sources(executable4 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source4.cpp"
+)
+add_executable(executable5)
+target_sources(executable5 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source5.cpp"
+)
+add_executable(executable6)
+target_sources(executable6 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source6.cpp"
+)
+
+
+add_custom_command(TARGET executable0 PRE_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source0.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/Generated_source0.cpp"
+)
+add_custom_command(TARGET executable1 PRE_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+)
+add_custom_command(TARGET executable2 PRE_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+)
+add_custom_command(TARGET executable3 PRE_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+)
+
+add_subdirectory(subdir-Common-Test13)
+
+get_and_print_GENERATED_property("Generated_source0.cpp")
+get_and_print_GENERATED_property("Generated_source1.cpp")
+get_and_print_GENERATED_property("Generated_source2.cpp")
+get_and_print_GENERATED_property("Generated_source3.cpp")
+get_and_print_GENERATED_property("Generated_source4.cpp")
+get_and_print_GENERATED_property("Generated_source5.cpp")
+get_and_print_GENERATED_property("Generated_source6.cpp")
diff --git a/Tests/RunCMake/CMP0118/CMP0118-Common-Test14.cmake b/Tests/RunCMake/CMP0118/CMP0118-Common-Test14.cmake
new file mode 100644
index 0000000..5222353
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-Common-Test14.cmake
@@ -0,0 +1,65 @@
+include(${CMAKE_CURRENT_LIST_DIR}/CMP0118-Common-Helper.cmake)
+
+
+# The sources of executable0 will not be modified by set_property!
+add_executable(executable0)
+target_sources(executable0 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source0.cpp"
+)
+# The sources of executable[1-6] will (tried to) be modified by set_property!
+add_executable(executable1)
+target_sources(executable1 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+)
+add_executable(executable2)
+target_sources(executable2 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+)
+add_executable(executable3)
+target_sources(executable3 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+)
+add_executable(executable4)
+target_sources(executable4 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source4.cpp"
+)
+add_executable(executable5)
+target_sources(executable5 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source5.cpp"
+)
+add_executable(executable6)
+target_sources(executable6 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source6.cpp"
+)
+
+
+add_custom_target(executable0_source_generator ALL
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source0.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/Generated_source0.cpp"
+)
+add_custom_target(executable1_source_generator ALL
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+)
+add_custom_target(executable2_source_generator ALL
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+)
+add_custom_target(executable3_source_generator ALL
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+)
+
+add_subdirectory(subdir-Common-Test14)
+
+get_and_print_GENERATED_property("Generated_source0.cpp")
+get_and_print_GENERATED_property("Generated_source1.cpp")
+get_and_print_GENERATED_property("Generated_source2.cpp")
+get_and_print_GENERATED_property("Generated_source3.cpp")
+get_and_print_GENERATED_property("Generated_source4.cpp")
+get_and_print_GENERATED_property("Generated_source5.cpp")
+get_and_print_GENERATED_property("Generated_source6.cpp")
diff --git a/Tests/RunCMake/CMP0118/CMP0118-Common-Test15.cmake b/Tests/RunCMake/CMP0118/CMP0118-Common-Test15.cmake
new file mode 100644
index 0000000..c2c55af
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-Common-Test15.cmake
@@ -0,0 +1,65 @@
+include(${CMAKE_CURRENT_LIST_DIR}/CMP0118-Common-Helper.cmake)
+
+
+# The sources of executable0 will not be modified by set_property!
+add_executable(executable0)
+target_sources(executable0 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source0.cpp"
+)
+# The sources of executable[1-6] will (tried to) be modified by set_property!
+add_executable(executable1)
+target_sources(executable1 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+)
+add_executable(executable2)
+target_sources(executable2 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+)
+add_executable(executable3)
+target_sources(executable3 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+)
+add_executable(executable4)
+target_sources(executable4 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source4.cpp"
+)
+add_executable(executable5)
+target_sources(executable5 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source5.cpp"
+)
+add_executable(executable6)
+target_sources(executable6 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source6.cpp"
+)
+
+
+add_custom_target(executable0_source_generator ALL
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source0.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/Generated_source0.cpp"
+)
+add_custom_target(executable1_source_generator ALL
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+)
+add_custom_target(executable2_source_generator ALL
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+)
+add_custom_target(executable3_source_generator ALL
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+)
+
+add_subdirectory(subdir-Common-Test15)
+
+get_and_print_GENERATED_property("Generated_source0.cpp")
+get_and_print_GENERATED_property("Generated_source1.cpp")
+get_and_print_GENERATED_property("Generated_source2.cpp")
+get_and_print_GENERATED_property("Generated_source3.cpp")
+get_and_print_GENERATED_property("Generated_source4.cpp")
+get_and_print_GENERATED_property("Generated_source5.cpp")
+get_and_print_GENERATED_property("Generated_source6.cpp")
diff --git a/Tests/RunCMake/CMP0118/CMP0118-Common-Test2.cmake b/Tests/RunCMake/CMP0118/CMP0118-Common-Test2.cmake
new file mode 100644
index 0000000..feb66e3
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-Common-Test2.cmake
@@ -0,0 +1,12 @@
+add_executable(executable)
+target_sources(executable PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/GeneratedMain.cpp"
+)
+
+set_property(SOURCE
+ "${CMAKE_CURRENT_BINARY_DIR}/GeneratedMain.cpp"
+ PROPERTY GENERATED "1")
+get_property(prop SOURCE
+ "${CMAKE_CURRENT_BINARY_DIR}/GeneratedMain.cpp"
+ PROPERTY GENERATED)
+message(NOTICE "prop: `${prop}`")
diff --git a/Tests/RunCMake/CMP0118/CMP0118-Common-Test3.cmake b/Tests/RunCMake/CMP0118/CMP0118-Common-Test3.cmake
new file mode 100644
index 0000000..b12834d
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-Common-Test3.cmake
@@ -0,0 +1,66 @@
+include(${CMAKE_CURRENT_LIST_DIR}/CMP0118-Common-Helper.cmake)
+
+
+add_executable(executable1)
+target_sources(executable1 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path1.cpp"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path2.cpp"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path3.cpp"
+)
+add_executable(executable2)
+target_sources(executable2 PRIVATE
+ "Generated_with_relative_path1.cpp"
+ "Generated_with_relative_path2.cpp"
+ "Generated_with_relative_path3.cpp"
+)
+add_executable(executable3)
+target_sources(executable3 PRIVATE
+ "${CMAKE_CURRENT_SOURCE_DIR}/Generated_with_full_source_path1.cpp"
+)
+add_executable(executable4)
+target_sources(executable4 PRIVATE
+ "${CMAKE_CURRENT_SOURCE_DIR}/Generated_with_full_source_path2.cpp"
+)
+add_executable(executable5)
+target_sources(executable5 PRIVATE
+ "${CMAKE_CURRENT_SOURCE_DIR}/Generated_with_full_source_path3.cpp"
+)
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path1.cpp"
+ PROPERTY GENERATED "1")
+get_and_print_GENERATED_property("Generated_with_full_path1.cpp")
+
+set_property(SOURCE "Generated_with_full_path2.cpp"
+ PROPERTY GENERATED "1")
+get_and_print_GENERATED_property("Generated_with_full_path2.cpp")
+
+set_property(SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/"Generated_with_full_path3.cpp"
+ PROPERTY GENERATED "1")
+get_and_print_GENERATED_property("Generated_with_full_path3.cpp")
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_relative_path1.cpp"
+ PROPERTY GENERATED "1")
+get_and_print_GENERATED_property("Generated_with_relative_path1.cpp")
+
+set_property(SOURCE "Generated_with_relative_path2.cpp"
+ PROPERTY GENERATED "1")
+get_and_print_GENERATED_property("Generated_with_relative_path2.cpp")
+
+set_property(SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/Generated_with_relative_path3.cpp"
+ PROPERTY GENERATED "1")
+get_and_print_GENERATED_property("Generated_with_relative_path3.cpp")
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_source_path1.cpp"
+ PROPERTY GENERATED "1")
+get_and_print_GENERATED_property("Generated_with_full_source_path1.cpp")
+
+set_property(SOURCE "Generated_with_full_source_path2.cpp"
+ PROPERTY GENERATED "1")
+get_and_print_GENERATED_property("Generated_with_full_source_path2.cpp")
+
+set_property(SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/"Generated_with_full_source_path3.cpp"
+ PROPERTY GENERATED "1")
+get_and_print_GENERATED_property("Generated_with_full_source_path3.cpp")
diff --git a/Tests/RunCMake/CMP0118/CMP0118-Common-Test3b.cmake b/Tests/RunCMake/CMP0118/CMP0118-Common-Test3b.cmake
new file mode 100644
index 0000000..3e4a280
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-Common-Test3b.cmake
@@ -0,0 +1,66 @@
+include(${CMAKE_CURRENT_LIST_DIR}/CMP0118-Common-Helper.cmake)
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path1.cpp"
+ PROPERTY GENERATED "1")
+get_and_print_GENERATED_property("Generated_with_full_path1.cpp")
+
+set_property(SOURCE "Generated_with_full_path2.cpp"
+ PROPERTY GENERATED "1")
+get_and_print_GENERATED_property("Generated_with_full_path2.cpp")
+
+set_property(SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/"Generated_with_full_path3.cpp"
+ PROPERTY GENERATED "1")
+get_and_print_GENERATED_property("Generated_with_full_path3.cpp")
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_relative_path1.cpp"
+ PROPERTY GENERATED "1")
+get_and_print_GENERATED_property("Generated_with_relative_path1.cpp")
+
+set_property(SOURCE "Generated_with_relative_path2.cpp"
+ PROPERTY GENERATED "1")
+get_and_print_GENERATED_property("Generated_with_relative_path2.cpp")
+
+set_property(SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/Generated_with_relative_path3.cpp"
+ PROPERTY GENERATED "1")
+get_and_print_GENERATED_property("Generated_with_relative_path3.cpp")
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_source_path1.cpp"
+ PROPERTY GENERATED "1")
+get_and_print_GENERATED_property("Generated_with_full_source_path1.cpp")
+
+set_property(SOURCE "Generated_with_full_source_path2.cpp"
+ PROPERTY GENERATED "1")
+get_and_print_GENERATED_property("Generated_with_full_source_path2.cpp")
+
+set_property(SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/"Generated_with_full_source_path3.cpp"
+ PROPERTY GENERATED "1")
+get_and_print_GENERATED_property("Generated_with_full_source_path3.cpp")
+
+
+add_executable(executable1)
+target_sources(executable1 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path1.cpp"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path2.cpp"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path3.cpp"
+)
+add_executable(executable2)
+target_sources(executable2 PRIVATE
+ "Generated_with_relative_path1.cpp"
+ "Generated_with_relative_path2.cpp"
+ "Generated_with_relative_path3.cpp"
+)
+add_executable(executable3)
+target_sources(executable3 PRIVATE
+ "${CMAKE_CURRENT_SOURCE_DIR}/Generated_with_full_source_path1.cpp"
+)
+add_executable(executable4)
+target_sources(executable4 PRIVATE
+ "${CMAKE_CURRENT_SOURCE_DIR}/Generated_with_full_source_path2.cpp"
+)
+add_executable(executable5)
+target_sources(executable5 PRIVATE
+ "${CMAKE_CURRENT_SOURCE_DIR}/Generated_with_full_source_path3.cpp"
+)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-Common-Test4.cmake b/Tests/RunCMake/CMP0118/CMP0118-Common-Test4.cmake
new file mode 100644
index 0000000..81f1254
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-Common-Test4.cmake
@@ -0,0 +1,66 @@
+include(${CMAKE_CURRENT_LIST_DIR}/CMP0118-Common-Helper.cmake)
+
+
+add_executable(executable1)
+target_sources(executable1 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path1.cpp"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path2.cpp"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path3.cpp"
+)
+add_executable(executable2)
+target_sources(executable2 PRIVATE
+ "Generated_with_relative_path1.cpp"
+ "Generated_with_relative_path2.cpp"
+ "Generated_with_relative_path3.cpp"
+)
+add_executable(executable3)
+target_sources(executable3 PRIVATE
+ "${CMAKE_CURRENT_SOURCE_DIR}/Generated_with_full_source_path1.cpp"
+)
+add_executable(executable4)
+target_sources(executable4 PRIVATE
+ "${CMAKE_CURRENT_SOURCE_DIR}/Generated_with_full_source_path2.cpp"
+)
+add_executable(executable5)
+target_sources(executable5 PRIVATE
+ "${CMAKE_CURRENT_SOURCE_DIR}/Generated_with_full_source_path3.cpp"
+)
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path1.cpp"
+ PROPERTY GENERATED "0")
+get_and_print_GENERATED_property("Generated_with_full_path1.cpp")
+
+set_property(SOURCE "Generated_with_full_path2.cpp"
+ PROPERTY GENERATED "0")
+get_and_print_GENERATED_property("Generated_with_full_path2.cpp")
+
+set_property(SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/"Generated_with_full_path3.cpp"
+ PROPERTY GENERATED "0")
+get_and_print_GENERATED_property("Generated_with_full_path3.cpp")
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_relative_path1.cpp"
+ PROPERTY GENERATED "0")
+get_and_print_GENERATED_property("Generated_with_relative_path1.cpp")
+
+set_property(SOURCE "Generated_with_relative_path2.cpp"
+ PROPERTY GENERATED "0")
+get_and_print_GENERATED_property("Generated_with_relative_path2.cpp")
+
+set_property(SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/Generated_with_relative_path3.cpp"
+ PROPERTY GENERATED "0")
+get_and_print_GENERATED_property("Generated_with_relative_path3.cpp")
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_source_path1.cpp"
+ PROPERTY GENERATED "0")
+get_and_print_GENERATED_property("Generated_with_full_source_path1.cpp")
+
+set_property(SOURCE "Generated_with_full_source_path2.cpp"
+ PROPERTY GENERATED "0")
+get_and_print_GENERATED_property("Generated_with_full_source_path2.cpp")
+
+set_property(SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/"Generated_with_full_source_path3.cpp"
+ PROPERTY GENERATED "0")
+get_and_print_GENERATED_property("Generated_with_full_source_path3.cpp")
diff --git a/Tests/RunCMake/CMP0118/CMP0118-Common-Test4b.cmake b/Tests/RunCMake/CMP0118/CMP0118-Common-Test4b.cmake
new file mode 100644
index 0000000..439f456
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-Common-Test4b.cmake
@@ -0,0 +1,66 @@
+include(${CMAKE_CURRENT_LIST_DIR}/CMP0118-Common-Helper.cmake)
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path1.cpp"
+ PROPERTY GENERATED "0")
+get_and_print_GENERATED_property("Generated_with_full_path1.cpp")
+
+set_property(SOURCE "Generated_with_full_path2.cpp"
+ PROPERTY GENERATED "0")
+get_and_print_GENERATED_property("Generated_with_full_path2.cpp")
+
+set_property(SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/"Generated_with_full_path3.cpp"
+ PROPERTY GENERATED "0")
+get_and_print_GENERATED_property("Generated_with_full_path3.cpp")
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_relative_path1.cpp"
+ PROPERTY GENERATED "0")
+get_and_print_GENERATED_property("Generated_with_relative_path1.cpp")
+
+set_property(SOURCE "Generated_with_relative_path2.cpp"
+ PROPERTY GENERATED "0")
+get_and_print_GENERATED_property("Generated_with_relative_path2.cpp")
+
+set_property(SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/Generated_with_relative_path3.cpp"
+ PROPERTY GENERATED "0")
+get_and_print_GENERATED_property("Generated_with_relative_path3.cpp")
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_source_path1.cpp"
+ PROPERTY GENERATED "0")
+get_and_print_GENERATED_property("Generated_with_full_source_path1.cpp")
+
+set_property(SOURCE "Generated_with_full_source_path2.cpp"
+ PROPERTY GENERATED "0")
+get_and_print_GENERATED_property("Generated_with_full_source_path2.cpp")
+
+set_property(SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/"Generated_with_full_source_path3.cpp"
+ PROPERTY GENERATED "0")
+get_and_print_GENERATED_property("Generated_with_full_source_path3.cpp")
+
+
+add_executable(executable1)
+target_sources(executable1 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path1.cpp"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path2.cpp"
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path3.cpp"
+)
+add_executable(executable2)
+target_sources(executable2 PRIVATE
+ "Generated_with_relative_path1.cpp"
+ "Generated_with_relative_path2.cpp"
+ "Generated_with_relative_path3.cpp"
+)
+add_executable(executable3)
+target_sources(executable3 PRIVATE
+ "${CMAKE_CURRENT_SOURCE_DIR}/Generated_with_full_source_path1.cpp"
+)
+add_executable(executable4)
+target_sources(executable4 PRIVATE
+ "${CMAKE_CURRENT_SOURCE_DIR}/Generated_with_full_source_path2.cpp"
+)
+add_executable(executable5)
+target_sources(executable5 PRIVATE
+ "${CMAKE_CURRENT_SOURCE_DIR}/Generated_with_full_source_path3.cpp"
+)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-Common-Test5.cmake b/Tests/RunCMake/CMP0118/CMP0118-Common-Test5.cmake
new file mode 100644
index 0000000..1bf9aaa
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-Common-Test5.cmake
@@ -0,0 +1,78 @@
+include(${CMAKE_CURRENT_LIST_DIR}/CMP0118-Common-Helper.cmake)
+
+
+add_executable(executable1)
+target_sources(executable1 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path1.cpp"
+)
+add_executable(executable2)
+target_sources(executable2 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path2.cpp"
+)
+add_executable(executable3)
+target_sources(executable3 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path3.cpp"
+)
+add_executable(executable4)
+target_sources(executable4 PRIVATE
+ "Generated_with_relative_path1.cpp"
+)
+add_executable(executable5)
+target_sources(executable5 PRIVATE
+ "Generated_with_relative_path2.cpp"
+)
+add_executable(executable6)
+target_sources(executable6 PRIVATE
+ "Generated_with_relative_path3.cpp"
+)
+add_executable(executable7)
+target_sources(executable7 PRIVATE
+ "${CMAKE_CURRENT_SOURCE_DIR}/Generated_with_full_source_path1.cpp"
+)
+add_executable(executable8)
+target_sources(executable8 PRIVATE
+ "${CMAKE_CURRENT_SOURCE_DIR}/Generated_with_full_source_path2.cpp"
+)
+add_executable(executable9)
+target_sources(executable9 PRIVATE
+ "${CMAKE_CURRENT_SOURCE_DIR}/Generated_with_full_source_path3.cpp"
+)
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path1.cpp"
+ PROPERTY GENERATED "tRue")
+get_and_print_GENERATED_property("Generated_with_full_path1.cpp")
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path2.cpp"
+ PROPERTY GENERATED "SomeVar-NOTFOUND")
+get_and_print_GENERATED_property("Generated_with_full_path2.cpp")
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_path3.cpp"
+ PROPERTY GENERATED "Junk-value")
+get_and_print_GENERATED_property("Generated_with_full_path3.cpp")
+
+
+set_property(SOURCE "Generated_with_relative_path1.cpp"
+ PROPERTY GENERATED "tRue")
+get_and_print_GENERATED_property("Generated_with_relative_path1.cpp")
+
+set_property(SOURCE "Generated_with_relative_path2.cpp"
+ PROPERTY GENERATED "SomeVar-NOTFOUND")
+get_and_print_GENERATED_property("Generated_with_relative_path2.cpp")
+
+set_property(SOURCE "Generated_with_relative_path3.cpp"
+ PROPERTY GENERATED "Junk-value")
+get_and_print_GENERATED_property("Generated_with_relative_path3.cpp")
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_with_full_source_path1.cpp"
+ PROPERTY GENERATED "tRue")
+get_and_print_GENERATED_property("Generated_with_full_source_path1.cpp")
+
+set_property(SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/Generated_with_full_source_path2.cpp"
+ PROPERTY GENERATED "SomeVar-NOTFOUND")
+get_and_print_GENERATED_property("Generated_with_full_source_path2.cpp")
+
+set_property(SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/"Generated_with_full_source_path3.cpp"
+ PROPERTY GENERATED "Junk-value")
+get_and_print_GENERATED_property("Generated_with_full_source_path3.cpp")
diff --git a/Tests/RunCMake/CMP0118/CMP0118-Common-Test6.cmake b/Tests/RunCMake/CMP0118/CMP0118-Common-Test6.cmake
new file mode 100644
index 0000000..7715e78
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-Common-Test6.cmake
@@ -0,0 +1,44 @@
+include(${CMAKE_CURRENT_LIST_DIR}/CMP0118-Common-Helper.cmake)
+
+
+add_executable(executable1)
+target_sources(executable1 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+)
+add_executable(executable2)
+target_sources(executable2 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+)
+add_executable(executable3)
+target_sources(executable3 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+)
+add_executable(executable4)
+target_sources(executable4 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source4.cpp"
+)
+add_executable(executable5)
+target_sources(executable5 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source5.cpp"
+)
+add_executable(executable6)
+target_sources(executable6 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source6.cpp"
+)
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+ PROPERTY GENERATED "1")
+
+add_subdirectory(subdir-Common-Test6)
+
+get_and_print_GENERATED_property("Generated_source1.cpp")
+get_and_print_GENERATED_property("Generated_source2.cpp")
+get_and_print_GENERATED_property("Generated_source3.cpp")
+get_and_print_GENERATED_property("Generated_source4.cpp")
+get_and_print_GENERATED_property("Generated_source5.cpp")
+get_and_print_GENERATED_property("Generated_source6.cpp")
diff --git a/Tests/RunCMake/CMP0118/CMP0118-Common-Test7.cmake b/Tests/RunCMake/CMP0118/CMP0118-Common-Test7.cmake
new file mode 100644
index 0000000..96bb590
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-Common-Test7.cmake
@@ -0,0 +1,44 @@
+include(${CMAKE_CURRENT_LIST_DIR}/CMP0118-Common-Helper.cmake)
+
+
+add_executable(executable1)
+target_sources(executable1 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+)
+add_executable(executable2)
+target_sources(executable2 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+)
+add_executable(executable3)
+target_sources(executable3 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+)
+add_executable(executable4)
+target_sources(executable4 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source4.cpp"
+)
+add_executable(executable5)
+target_sources(executable5 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source5.cpp"
+)
+add_executable(executable6)
+target_sources(executable6 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source6.cpp"
+)
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+ PROPERTY GENERATED "1")
+
+add_subdirectory(subdir-Common-Test7)
+
+get_and_print_GENERATED_property("Generated_source1.cpp")
+get_and_print_GENERATED_property("Generated_source2.cpp")
+get_and_print_GENERATED_property("Generated_source3.cpp")
+get_and_print_GENERATED_property("Generated_source4.cpp")
+get_and_print_GENERATED_property("Generated_source5.cpp")
+get_and_print_GENERATED_property("Generated_source6.cpp")
diff --git a/Tests/RunCMake/CMP0118/CMP0118-Common-Test8.cmake b/Tests/RunCMake/CMP0118/CMP0118-Common-Test8.cmake
new file mode 100644
index 0000000..2c87b65
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-Common-Test8.cmake
@@ -0,0 +1,50 @@
+include(${CMAKE_CURRENT_LIST_DIR}/CMP0118-Common-Helper.cmake)
+
+
+add_executable(executable1)
+target_sources(executable1 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+)
+add_executable(executable2)
+target_sources(executable2 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+)
+add_executable(executable3)
+target_sources(executable3 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+)
+add_executable(executable4)
+target_sources(executable4 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source4.cpp"
+)
+add_executable(executable5)
+target_sources(executable5 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source5.cpp"
+)
+add_executable(executable6)
+target_sources(executable6 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source6.cpp"
+)
+
+
+file(GENERATE
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+ CONTENT "int func();\nint main(){ return func(); }"
+)
+file(GENERATE
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+ CONTENT "int func();\nint main(){ return func(); }"
+)
+file(GENERATE
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+ CONTENT "int func();\nint main(){ return func(); }"
+)
+
+add_subdirectory(subdir-Common-Test8)
+
+get_and_print_GENERATED_property("Generated_source1.cpp")
+get_and_print_GENERATED_property("Generated_source2.cpp")
+get_and_print_GENERATED_property("Generated_source3.cpp")
+get_and_print_GENERATED_property("Generated_source4.cpp")
+get_and_print_GENERATED_property("Generated_source5.cpp")
+get_and_print_GENERATED_property("Generated_source6.cpp")
diff --git a/Tests/RunCMake/CMP0118/CMP0118-Common-Test9.cmake b/Tests/RunCMake/CMP0118/CMP0118-Common-Test9.cmake
new file mode 100644
index 0000000..e302f5c
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-Common-Test9.cmake
@@ -0,0 +1,50 @@
+include(${CMAKE_CURRENT_LIST_DIR}/CMP0118-Common-Helper.cmake)
+
+
+add_executable(executable1)
+target_sources(executable1 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+)
+add_executable(executable2)
+target_sources(executable2 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+)
+add_executable(executable3)
+target_sources(executable3 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+)
+add_executable(executable4)
+target_sources(executable4 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source4.cpp"
+)
+add_executable(executable5)
+target_sources(executable5 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source5.cpp"
+)
+add_executable(executable6)
+target_sources(executable6 PRIVATE
+ "${CMAKE_CURRENT_BINARY_DIR}/Generated_source6.cpp"
+)
+
+
+file(GENERATE
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Generated_source1.cpp"
+ CONTENT "int func();\nint main(){ return func(); }"
+)
+file(GENERATE
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Generated_source2.cpp"
+ CONTENT "int func();\nint main(){ return func(); }"
+)
+file(GENERATE
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Generated_source3.cpp"
+ CONTENT "int func();\nint main(){ return func(); }"
+)
+
+add_subdirectory(subdir-Common-Test9)
+
+get_and_print_GENERATED_property("Generated_source1.cpp")
+get_and_print_GENERATED_property("Generated_source2.cpp")
+get_and_print_GENERATED_property("Generated_source3.cpp")
+get_and_print_GENERATED_property("Generated_source4.cpp")
+get_and_print_GENERATED_property("Generated_source5.cpp")
+get_and_print_GENERATED_property("Generated_source6.cpp")
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test1-result.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test1-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test1-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test1-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test1-stderr.txt
new file mode 100644
index 0000000..85ff65c
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test1-stderr.txt
@@ -0,0 +1,16 @@
+^prop: `0`
+CMake Error at CMP0118-Common-Test1\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-NEW-Test1-build/GeneratedMain\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test1\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test1\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test1\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test1.cmake b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test1.cmake
new file mode 100644
index 0000000..bbbee43
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test1.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 NEW)
+include(CMP0118-Common-Test1.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test10-result.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test10-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test10-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test10-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test10-stderr.txt
new file mode 100644
index 0000000..024d263
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test10-stderr.txt
@@ -0,0 +1,57 @@
+^Generated_source0\.cpp: # 1a # GENERATED = `1`
+Generated_source0\.cpp: # 1b # GENERATED = `1`
+Generated_source0\.cpp: # 2a # GENERATED = `1`
+Generated_source0\.cpp: # 2b # GENERATED = `1`
+Generated_source0\.cpp: # 3a # GENERATED = `0`
+Generated_source0\.cpp: # 3b # GENERATED = `0`
+Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `1`
+Generated_source5\.cpp: # 1b # GENERATED = `1`
+Generated_source5\.cpp: # 2a # GENERATED = `1`
+Generated_source5\.cpp: # 2b # GENERATED = `1`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `1`
+Generated_source6\.cpp: # 1b # GENERATED = `1`
+Generated_source6\.cpp: # 2a # GENERATED = `1`
+Generated_source6\.cpp: # 2b # GENERATED = `1`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test10\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-NEW-Test10-build/Generated_source4\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test10\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test10\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable4
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test10\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test10.cmake b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test10.cmake
new file mode 100644
index 0000000..15a7178
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test10.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 NEW)
+include(CMP0118-Common-Test10.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test11-result.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test11-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test11-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test11-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test11-stderr.txt
new file mode 100644
index 0000000..7e660ad
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test11-stderr.txt
@@ -0,0 +1,86 @@
+^(CMake Warning \(dev\) at subdir-Common-Test11/CMakeLists\.txt:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+(CMake Warning \(dev\) at CMP0118-Common-Test11\.cmake:[0-9]+ \(add_subdirectory\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test11\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++)+)+
+Generated_source0\.cpp: # 1a # GENERATED = `1`
+Generated_source0\.cpp: # 1b # GENERATED = `1`
+Generated_source0\.cpp: # 2a # GENERATED = `1`
+Generated_source0\.cpp: # 2b # GENERATED = `1`
+Generated_source0\.cpp: # 3a # GENERATED = `0`
+Generated_source0\.cpp: # 3b # GENERATED = `0`
+Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `0`
+Generated_source5\.cpp: # 1b # GENERATED = `0`
+Generated_source5\.cpp: # 2a # GENERATED = `0`
+Generated_source5\.cpp: # 2b # GENERATED = `0`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `0`
+Generated_source6\.cpp: # 1b # GENERATED = `0`
+Generated_source6\.cpp: # 2a # GENERATED = `0`
+Generated_source6\.cpp: # 2b # GENERATED = `0`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test11\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-NEW-Test11-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test11\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test11\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-NEW-Test11-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test11\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test11\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-NEW-Test11-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test11\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test11\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[4-6]
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test11\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test11.cmake b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test11.cmake
new file mode 100644
index 0000000..cb87a86
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test11.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 NEW)
+include(CMP0118-Common-Test11.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test12-result.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test12-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test12-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test12-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test12-stderr.txt
new file mode 100644
index 0000000..404787c
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test12-stderr.txt
@@ -0,0 +1,51 @@
+^CMake Error at subdir-Common-Test12/CMakeLists\.txt:[0-9]+ \(add_custom_command\):
+ TARGET 'executable[4-6]' was not created in this directory\.
++
+CMake Error at subdir-Common-Test12/CMakeLists\.txt:[0-9]+ \(add_custom_command\):
+ TARGET 'executable[4-6]' was not created in this directory\.
++
+CMake Error at subdir-Common-Test12/CMakeLists\.txt:[0-9]+ \(add_custom_command\):
+ TARGET 'executable[4-6]' was not created in this directory\.
++
+Generated_source0\.cpp: # 1a # GENERATED = `1`
+Generated_source0\.cpp: # 1b # GENERATED = `1`
+Generated_source0\.cpp: # 2a # GENERATED = `1`
+Generated_source0\.cpp: # 2b # GENERATED = `1`
+Generated_source0\.cpp: # 3a # GENERATED = `0`
+Generated_source0\.cpp: # 3b # GENERATED = `0`
+Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `1`
+Generated_source5\.cpp: # 1b # GENERATED = `1`
+Generated_source5\.cpp: # 2a # GENERATED = `1`
+Generated_source5\.cpp: # 2b # GENERATED = `1`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `1`
+Generated_source6\.cpp: # 1b # GENERATED = `1`
+Generated_source6\.cpp: # 2a # GENERATED = `1`
+Generated_source6\.cpp: # 2b # GENERATED = `1`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test12.cmake b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test12.cmake
new file mode 100644
index 0000000..61bf977
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test12.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 NEW)
+include(CMP0118-Common-Test12.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test13-result.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test13-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test13-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test13-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test13-stderr.txt
new file mode 100644
index 0000000..92ac33e
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test13-stderr.txt
@@ -0,0 +1,64 @@
+^CMake Error at subdir-Common-Test13/CMakeLists\.txt:[0-9]+ \(add_custom_command\):
+ TARGET 'executable[4-6]' was not created in this directory\.
++
+CMake Error at subdir-Common-Test13/CMakeLists\.txt:[0-9]+ \(add_custom_command\):
+ TARGET 'executable[4-6]' was not created in this directory\.
++
+CMake Error at subdir-Common-Test13/CMakeLists\.txt:[0-9]+ \(add_custom_command\):
+ TARGET 'executable[4-6]' was not created in this directory\.
++
+(CMake Warning \(dev\) at subdir-Common-Test13/CMakeLists\.txt:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+(CMake Warning \(dev\) at CMP0118-Common-Test13\.cmake:[0-9]+ \(add_subdirectory\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test13\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++)+)+
+Generated_source0\.cpp: # 1a # GENERATED = `1`
+Generated_source0\.cpp: # 1b # GENERATED = `1`
+Generated_source0\.cpp: # 2a # GENERATED = `1`
+Generated_source0\.cpp: # 2b # GENERATED = `1`
+Generated_source0\.cpp: # 3a # GENERATED = `0`
+Generated_source0\.cpp: # 3b # GENERATED = `0`
+Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `0`
+Generated_source5\.cpp: # 1b # GENERATED = `0`
+Generated_source5\.cpp: # 2a # GENERATED = `0`
+Generated_source5\.cpp: # 2b # GENERATED = `0`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `0`
+Generated_source6\.cpp: # 1b # GENERATED = `0`
+Generated_source6\.cpp: # 2a # GENERATED = `0`
+Generated_source6\.cpp: # 2b # GENERATED = `0`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test13.cmake b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test13.cmake
new file mode 100644
index 0000000..569e4c6
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test13.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 NEW)
+include(CMP0118-Common-Test13.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test14-result.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test14-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test14-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test14-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test14-stderr.txt
new file mode 100644
index 0000000..cd14945
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test14-stderr.txt
@@ -0,0 +1,57 @@
+^Generated_source0\.cpp: # 1a # GENERATED = `1`
+Generated_source0\.cpp: # 1b # GENERATED = `1`
+Generated_source0\.cpp: # 2a # GENERATED = `1`
+Generated_source0\.cpp: # 2b # GENERATED = `1`
+Generated_source0\.cpp: # 3a # GENERATED = `0`
+Generated_source0\.cpp: # 3b # GENERATED = `0`
+Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `1`
+Generated_source5\.cpp: # 1b # GENERATED = `1`
+Generated_source5\.cpp: # 2a # GENERATED = `1`
+Generated_source5\.cpp: # 2b # GENERATED = `1`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `1`
+Generated_source6\.cpp: # 1b # GENERATED = `1`
+Generated_source6\.cpp: # 2a # GENERATED = `1`
+Generated_source6\.cpp: # 2b # GENERATED = `1`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test14\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-NEW-Test14-build/Generated_source4\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test14\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test14\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable4
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test14\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test14.cmake b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test14.cmake
new file mode 100644
index 0000000..e7d8d77
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test14.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 NEW)
+include(CMP0118-Common-Test14.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test15-result.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test15-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test15-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test15-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test15-stderr.txt
new file mode 100644
index 0000000..6c66392
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test15-stderr.txt
@@ -0,0 +1,86 @@
+^(CMake Warning \(dev\) at subdir-Common-Test15/CMakeLists\.txt:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+(CMake Warning \(dev\) at CMP0118-Common-Test15\.cmake:[0-9]+ \(add_subdirectory\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test15\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++)+)+
+Generated_source0\.cpp: # 1a # GENERATED = `1`
+Generated_source0\.cpp: # 1b # GENERATED = `1`
+Generated_source0\.cpp: # 2a # GENERATED = `1`
+Generated_source0\.cpp: # 2b # GENERATED = `1`
+Generated_source0\.cpp: # 3a # GENERATED = `0`
+Generated_source0\.cpp: # 3b # GENERATED = `0`
+Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `0`
+Generated_source5\.cpp: # 1b # GENERATED = `0`
+Generated_source5\.cpp: # 2a # GENERATED = `0`
+Generated_source5\.cpp: # 2b # GENERATED = `0`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `0`
+Generated_source6\.cpp: # 1b # GENERATED = `0`
+Generated_source6\.cpp: # 2a # GENERATED = `0`
+Generated_source6\.cpp: # 2b # GENERATED = `0`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test15\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-NEW-Test15-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test15\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test15\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-NEW-Test15-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test15\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test15\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-NEW-Test15-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test15\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test15\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[4-6]
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test15\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test15.cmake b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test15.cmake
new file mode 100644
index 0000000..93513ae
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test15.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 NEW)
+include(CMP0118-Common-Test15.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test2-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test2-stderr.txt
new file mode 100644
index 0000000..403ce5a
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test2-stderr.txt
@@ -0,0 +1 @@
+^prop: `1`$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test2.cmake b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test2.cmake
new file mode 100644
index 0000000..ee8233d
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test2.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 NEW)
+include(CMP0118-Common-Test2.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test3-result.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test3-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test3-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test3-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test3-stderr.txt
new file mode 100644
index 0000000..4002989
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test3-stderr.txt
@@ -0,0 +1,93 @@
+^Generated_with_full_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 1a # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 1b # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 2a # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 2b # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2a # GENERATED = `1`
+Generated_with_relative_path3\.cpp: # 2b # GENERATED = `1`
+Generated_with_relative_path3\.cpp: # 3a # GENERATED = `1`
+Generated_with_relative_path3\.cpp: # 3b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test3\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test3-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test3\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test3\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test3-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test3\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test3\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test3-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test3\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test3\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test3-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test3\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test3\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[13-5]
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test3\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test3.cmake b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test3.cmake
new file mode 100644
index 0000000..b9533fd
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test3.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 NEW)
+include(CMP0118-Common-Test3.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test3b-result.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test3b-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test3b-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test3b-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test3b-stderr.txt
new file mode 100644
index 0000000..21177bc
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test3b-stderr.txt
@@ -0,0 +1,93 @@
+^Generated_with_full_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 1a # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 1b # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 2a # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 2b # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2a # GENERATED = `1`
+Generated_with_relative_path3\.cpp: # 2b # GENERATED = `1`
+Generated_with_relative_path3\.cpp: # 3a # GENERATED = `1`
+Generated_with_relative_path3\.cpp: # 3b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test3b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test3b-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test3b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test3b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test3b-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test3b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test3b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test3b-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test3b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test3b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test3b-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test3b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test3b\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[13-5]
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test3b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test3b.cmake b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test3b.cmake
new file mode 100644
index 0000000..79631e7
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test3b.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 NEW)
+include(CMP0118-Common-Test3b.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test4-result.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test4-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test4-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test4-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test4-stderr.txt
new file mode 100644
index 0000000..42c19a5
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test4-stderr.txt
@@ -0,0 +1,173 @@
+^CMake Warning \(dev\) at CMP0118-Common-Test4\.cmake:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_path1\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4\.cmake:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4\.cmake:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4\.cmake:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_relative_path1\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4\.cmake:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_relative_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4\.cmake:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_relative_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4\.cmake:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_source_path1\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4\.cmake:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_source_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4\.cmake:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_source_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test4\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test4-build/Generated_with_full_path1\.cpp|CMP0118-NEW-Test4-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test4-build/Generated_with_full_path1\.cpp|CMP0118-NEW-Test4-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test4-build/Generated_with_full_path1\.cpp|CMP0118-NEW-Test4-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test4-build/Generated_with_full_path1\.cpp|CMP0118-NEW-Test4-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test4-build/Generated_with_full_path1\.cpp|CMP0118-NEW-Test4-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test4\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[1-5]
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test4.cmake b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test4.cmake
new file mode 100644
index 0000000..8a7d35a
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test4.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 NEW)
+include(CMP0118-Common-Test4.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test4b-result.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test4b-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test4b-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test4b-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test4b-stderr.txt
new file mode 100644
index 0000000..58f8d89
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test4b-stderr.txt
@@ -0,0 +1,173 @@
+^CMake Warning \(dev\) at CMP0118-Common-Test4b\.cmake:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_path1\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4b\.cmake:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4b\.cmake:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4b\.cmake:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_relative_path1\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4b\.cmake:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_relative_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4b\.cmake:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_relative_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4b\.cmake:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_source_path1\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4b\.cmake:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_source_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4b\.cmake:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_source_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test4b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test4b-build/Generated_with_full_path1\.cpp|CMP0118-NEW-Test4b-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test4b-build/Generated_with_full_path1\.cpp|CMP0118-NEW-Test4b-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test4b-build/Generated_with_full_path1\.cpp|CMP0118-NEW-Test4b-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test4b-build/Generated_with_full_path1\.cpp|CMP0118-NEW-Test4b-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test4b-build/Generated_with_full_path1\.cpp|CMP0118-NEW-Test4b-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test4b\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[1-5]
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test4b.cmake b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test4b.cmake
new file mode 100644
index 0000000..c03a39d
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test4b.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 NEW)
+include(CMP0118-Common-Test4b.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test5-result.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test5-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test5-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test5-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test5-stderr.txt
new file mode 100644
index 0000000..0d26a57
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test5-stderr.txt
@@ -0,0 +1,180 @@
+^Generated_with_full_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test5\.cmake:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test5\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is set to NEW and the following non-boolean value given for
+ property 'GENERATED' is therefore not allowed:
+
+ Junk-value
+
+ Replace it with a boolean value!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test5\.cmake:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_relative_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test5\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is set to NEW and the following non-boolean value given for
+ property 'GENERATED' is therefore not allowed:
+
+ Junk-value
+
+ Replace it with a boolean value!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_relative_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test5\.cmake:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_source_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test5\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is set to NEW and the following non-boolean value given for
+ property 'GENERATED' is therefore not allowed:
+
+ Junk-value
+
+ Replace it with a boolean value!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_source_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test5-build/Generated_with_relative_path[2-3]\.cpp|CMP0118-NEW-Test5-build/Generated_with_full_path[2-3]\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test5-build/Generated_with_relative_path[2-3]\.cpp|CMP0118-NEW-Test5-build/Generated_with_full_path[2-3]\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test5-build/Generated_with_relative_path[2-3]\.cpp|CMP0118-NEW-Test5-build/Generated_with_full_path[2-3]\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test5-build/Generated_with_relative_path[2-3]\.cpp|CMP0118-NEW-Test5-build/Generated_with_full_path[2-3]\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test5-build/Generated_with_relative_path[2-3]\.cpp|CMP0118-NEW-Test5-build/Generated_with_full_path[2-3]\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test5-build/Generated_with_relative_path[2-3]\.cpp|CMP0118-NEW-Test5-build/Generated_with_full_path[2-3]\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-NEW-Test5-build/Generated_with_relative_path[2-3]\.cpp|CMP0118-NEW-Test5-build/Generated_with_full_path[2-3]\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[235-9]
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test5.cmake b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test5.cmake
new file mode 100644
index 0000000..691f94a
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test5.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 NEW)
+include(CMP0118-Common-Test5.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test6-result.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test6-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test6-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test6-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test6-stderr.txt
new file mode 100644
index 0000000..c3fdd96
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test6-stderr.txt
@@ -0,0 +1,51 @@
+^Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `1`
+Generated_source5\.cpp: # 1b # GENERATED = `1`
+Generated_source5\.cpp: # 2a # GENERATED = `1`
+Generated_source5\.cpp: # 2b # GENERATED = `1`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `1`
+Generated_source6\.cpp: # 1b # GENERATED = `1`
+Generated_source6\.cpp: # 2a # GENERATED = `1`
+Generated_source6\.cpp: # 2b # GENERATED = `1`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test6\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-NEW-Test6-build/Generated_source4\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test6\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test6\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable4
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test6\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test6.cmake b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test6.cmake
new file mode 100644
index 0000000..09b87a5
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test6.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 NEW)
+include(CMP0118-Common-Test6.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test7-result.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test7-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test7-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test7-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test7-stderr.txt
new file mode 100644
index 0000000..4c2a2ae
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test7-stderr.txt
@@ -0,0 +1,80 @@
+^(CMake Warning \(dev\) at subdir-Common-Test7/CMakeLists\.txt:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+(CMake Warning \(dev\) at CMP0118-Common-Test7\.cmake:[0-9]+ \(add_subdirectory\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test7\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++)+)+
+Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `0`
+Generated_source5\.cpp: # 1b # GENERATED = `0`
+Generated_source5\.cpp: # 2a # GENERATED = `0`
+Generated_source5\.cpp: # 2b # GENERATED = `0`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `0`
+Generated_source6\.cpp: # 1b # GENERATED = `0`
+Generated_source6\.cpp: # 2a # GENERATED = `0`
+Generated_source6\.cpp: # 2b # GENERATED = `0`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test7\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-NEW-Test7-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test7\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test7\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-NEW-Test7-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test7\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test7\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-NEW-Test7-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test7\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test7\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[4-6]
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test7\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test7.cmake b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test7.cmake
new file mode 100644
index 0000000..ceb8beb
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test7.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 NEW)
+include(CMP0118-Common-Test7.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test8-result.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test8-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test8-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test8-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test8-stderr.txt
new file mode 100644
index 0000000..44f94d4
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test8-stderr.txt
@@ -0,0 +1,51 @@
+^Generated_source1\.cpp: # 1a # GENERATED = `0`
+Generated_source1\.cpp: # 1b # GENERATED = `0`
+Generated_source1\.cpp: # 2a # GENERATED = `0`
+Generated_source1\.cpp: # 2b # GENERATED = `0`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `1`
+Generated_source5\.cpp: # 1b # GENERATED = `1`
+Generated_source5\.cpp: # 2a # GENERATED = `1`
+Generated_source5\.cpp: # 2b # GENERATED = `1`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `1`
+Generated_source6\.cpp: # 1b # GENERATED = `1`
+Generated_source6\.cpp: # 2a # GENERATED = `1`
+Generated_source6\.cpp: # 2b # GENERATED = `1`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test8\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-NEW-Test8-build/Generated_source4\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test8\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test8\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable4
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test8\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test8.cmake b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test8.cmake
new file mode 100644
index 0000000..6878b94
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test8.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 NEW)
+include(CMP0118-Common-Test8.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test9-result.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test9-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test9-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test9-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test9-stderr.txt
new file mode 100644
index 0000000..53e1399
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test9-stderr.txt
@@ -0,0 +1,80 @@
+^(CMake Warning \(dev\) at subdir-Common-Test9/CMakeLists\.txt:[0-9]+ \(set_property\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+(CMake Warning \(dev\) at CMP0118-Common-Test9\.cmake:[0-9]+ \(add_subdirectory\):
+ Unsetting the 'GENERATED' property is not allowed under CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test9\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++)+)+
+Generated_source1\.cpp: # 1a # GENERATED = `0`
+Generated_source1\.cpp: # 1b # GENERATED = `0`
+Generated_source1\.cpp: # 2a # GENERATED = `0`
+Generated_source1\.cpp: # 2b # GENERATED = `0`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `0`
+Generated_source2\.cpp: # 1b # GENERATED = `0`
+Generated_source2\.cpp: # 2a # GENERATED = `0`
+Generated_source2\.cpp: # 2b # GENERATED = `0`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `0`
+Generated_source3\.cpp: # 1b # GENERATED = `0`
+Generated_source3\.cpp: # 2a # GENERATED = `0`
+Generated_source3\.cpp: # 2b # GENERATED = `0`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `0`
+Generated_source5\.cpp: # 1b # GENERATED = `0`
+Generated_source5\.cpp: # 2a # GENERATED = `0`
+Generated_source5\.cpp: # 2b # GENERATED = `0`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `0`
+Generated_source6\.cpp: # 1b # GENERATED = `0`
+Generated_source6\.cpp: # 2a # GENERATED = `0`
+Generated_source6\.cpp: # 2b # GENERATED = `0`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test9\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-NEW-Test9-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test9\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test9\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-NEW-Test9-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test9\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test9\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-NEW-Test9-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test9\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test9\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[4-6]
+Call Stack \(most recent call first\):
+ CMP0118-NEW-Test9\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-NEW-Test9.cmake b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test9.cmake
new file mode 100644
index 0000000..00b05fd
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-NEW-Test9.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 NEW)
+include(CMP0118-Common-Test9.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test1-result.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test1-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test1-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test1-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test1-stderr.txt
new file mode 100644
index 0000000..491489d
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test1-stderr.txt
@@ -0,0 +1,16 @@
+^prop: `0`
+CMake Error at CMP0118-Common-Test1\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-OLD-Test1-build/GeneratedMain\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test1\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test1\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test1\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test1.cmake b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test1.cmake
new file mode 100644
index 0000000..c18dd25
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test1.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 OLD)
+include(CMP0118-Common-Test1.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test10-result.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test10-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test10-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test10-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test10-stderr.txt
new file mode 100644
index 0000000..12dd48f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test10-stderr.txt
@@ -0,0 +1,57 @@
+^Generated_source0\.cpp: # 1a # GENERATED = `1`
+Generated_source0\.cpp: # 1b # GENERATED = `1`
+Generated_source0\.cpp: # 2a # GENERATED = `1`
+Generated_source0\.cpp: # 2b # GENERATED = `1`
+Generated_source0\.cpp: # 3a # GENERATED = `0`
+Generated_source0\.cpp: # 3b # GENERATED = `0`
+Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `1`
+Generated_source5\.cpp: # 1b # GENERATED = `1`
+Generated_source5\.cpp: # 2a # GENERATED = `1`
+Generated_source5\.cpp: # 2b # GENERATED = `1`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `1`
+Generated_source6\.cpp: # 1b # GENERATED = `1`
+Generated_source6\.cpp: # 2a # GENERATED = `1`
+Generated_source6\.cpp: # 2b # GENERATED = `1`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test10\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-OLD-Test10-build/Generated_source4\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test10\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test10\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable4
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test10\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test10.cmake b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test10.cmake
new file mode 100644
index 0000000..b96973f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test10.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 OLD)
+include(CMP0118-Common-Test10.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test11-result.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test11-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test11-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test11-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test11-stderr.txt
new file mode 100644
index 0000000..91db26a
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test11-stderr.txt
@@ -0,0 +1,73 @@
+^Generated_source0\.cpp: # 1a # GENERATED = `1`
+Generated_source0\.cpp: # 1b # GENERATED = `1`
+Generated_source0\.cpp: # 2a # GENERATED = `1`
+Generated_source0\.cpp: # 2b # GENERATED = `1`
+Generated_source0\.cpp: # 3a # GENERATED = `0`
+Generated_source0\.cpp: # 3b # GENERATED = `0`
+Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `0`
+Generated_source5\.cpp: # 1b # GENERATED = `0`
+Generated_source5\.cpp: # 2a # GENERATED = `0`
+Generated_source5\.cpp: # 2b # GENERATED = `0`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `0`
+Generated_source6\.cpp: # 1b # GENERATED = `0`
+Generated_source6\.cpp: # 2a # GENERATED = `0`
+Generated_source6\.cpp: # 2b # GENERATED = `0`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test11\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-OLD-Test11-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test11\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test11\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-OLD-Test11-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test11\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test11\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-OLD-Test11-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test11\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test11\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[4-6]
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test11\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test11.cmake b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test11.cmake
new file mode 100644
index 0000000..d6ad7d2
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test11.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 OLD)
+include(CMP0118-Common-Test11.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test12-result.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test12-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test12-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test12-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test12-stderr.txt
new file mode 100644
index 0000000..404787c
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test12-stderr.txt
@@ -0,0 +1,51 @@
+^CMake Error at subdir-Common-Test12/CMakeLists\.txt:[0-9]+ \(add_custom_command\):
+ TARGET 'executable[4-6]' was not created in this directory\.
++
+CMake Error at subdir-Common-Test12/CMakeLists\.txt:[0-9]+ \(add_custom_command\):
+ TARGET 'executable[4-6]' was not created in this directory\.
++
+CMake Error at subdir-Common-Test12/CMakeLists\.txt:[0-9]+ \(add_custom_command\):
+ TARGET 'executable[4-6]' was not created in this directory\.
++
+Generated_source0\.cpp: # 1a # GENERATED = `1`
+Generated_source0\.cpp: # 1b # GENERATED = `1`
+Generated_source0\.cpp: # 2a # GENERATED = `1`
+Generated_source0\.cpp: # 2b # GENERATED = `1`
+Generated_source0\.cpp: # 3a # GENERATED = `0`
+Generated_source0\.cpp: # 3b # GENERATED = `0`
+Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `1`
+Generated_source5\.cpp: # 1b # GENERATED = `1`
+Generated_source5\.cpp: # 2a # GENERATED = `1`
+Generated_source5\.cpp: # 2b # GENERATED = `1`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `1`
+Generated_source6\.cpp: # 1b # GENERATED = `1`
+Generated_source6\.cpp: # 2a # GENERATED = `1`
+Generated_source6\.cpp: # 2b # GENERATED = `1`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test12.cmake b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test12.cmake
new file mode 100644
index 0000000..b87b03a
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test12.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 OLD)
+include(CMP0118-Common-Test12.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test13-result.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test13-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test13-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test13-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test13-stderr.txt
new file mode 100644
index 0000000..07f2f10
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test13-stderr.txt
@@ -0,0 +1,51 @@
+^CMake Error at subdir-Common-Test13/CMakeLists\.txt:[0-9]+ \(add_custom_command\):
+ TARGET 'executable[4-6]' was not created in this directory\.
++
+CMake Error at subdir-Common-Test13/CMakeLists\.txt:[0-9]+ \(add_custom_command\):
+ TARGET 'executable[4-6]' was not created in this directory\.
++
+CMake Error at subdir-Common-Test13/CMakeLists\.txt:[0-9]+ \(add_custom_command\):
+ TARGET 'executable[4-6]' was not created in this directory\.
++
+Generated_source0\.cpp: # 1a # GENERATED = `1`
+Generated_source0\.cpp: # 1b # GENERATED = `1`
+Generated_source0\.cpp: # 2a # GENERATED = `1`
+Generated_source0\.cpp: # 2b # GENERATED = `1`
+Generated_source0\.cpp: # 3a # GENERATED = `0`
+Generated_source0\.cpp: # 3b # GENERATED = `0`
+Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `0`
+Generated_source5\.cpp: # 1b # GENERATED = `0`
+Generated_source5\.cpp: # 2a # GENERATED = `0`
+Generated_source5\.cpp: # 2b # GENERATED = `0`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `0`
+Generated_source6\.cpp: # 1b # GENERATED = `0`
+Generated_source6\.cpp: # 2a # GENERATED = `0`
+Generated_source6\.cpp: # 2b # GENERATED = `0`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test13.cmake b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test13.cmake
new file mode 100644
index 0000000..17a135b
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test13.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 OLD)
+include(CMP0118-Common-Test13.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test14-result.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test14-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test14-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test14-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test14-stderr.txt
new file mode 100644
index 0000000..395637a
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test14-stderr.txt
@@ -0,0 +1,57 @@
+^Generated_source0\.cpp: # 1a # GENERATED = `1`
+Generated_source0\.cpp: # 1b # GENERATED = `1`
+Generated_source0\.cpp: # 2a # GENERATED = `1`
+Generated_source0\.cpp: # 2b # GENERATED = `1`
+Generated_source0\.cpp: # 3a # GENERATED = `0`
+Generated_source0\.cpp: # 3b # GENERATED = `0`
+Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `1`
+Generated_source5\.cpp: # 1b # GENERATED = `1`
+Generated_source5\.cpp: # 2a # GENERATED = `1`
+Generated_source5\.cpp: # 2b # GENERATED = `1`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `1`
+Generated_source6\.cpp: # 1b # GENERATED = `1`
+Generated_source6\.cpp: # 2a # GENERATED = `1`
+Generated_source6\.cpp: # 2b # GENERATED = `1`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test14\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-OLD-Test14-build/Generated_source4\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test14\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test14\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable4
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test14\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test14.cmake b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test14.cmake
new file mode 100644
index 0000000..0702291
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test14.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 OLD)
+include(CMP0118-Common-Test14.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test15-result.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test15-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test15-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test15-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test15-stderr.txt
new file mode 100644
index 0000000..d6799b4
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test15-stderr.txt
@@ -0,0 +1,73 @@
+^Generated_source0\.cpp: # 1a # GENERATED = `1`
+Generated_source0\.cpp: # 1b # GENERATED = `1`
+Generated_source0\.cpp: # 2a # GENERATED = `1`
+Generated_source0\.cpp: # 2b # GENERATED = `1`
+Generated_source0\.cpp: # 3a # GENERATED = `0`
+Generated_source0\.cpp: # 3b # GENERATED = `0`
+Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `0`
+Generated_source5\.cpp: # 1b # GENERATED = `0`
+Generated_source5\.cpp: # 2a # GENERATED = `0`
+Generated_source5\.cpp: # 2b # GENERATED = `0`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `0`
+Generated_source6\.cpp: # 1b # GENERATED = `0`
+Generated_source6\.cpp: # 2a # GENERATED = `0`
+Generated_source6\.cpp: # 2b # GENERATED = `0`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test15\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-OLD-Test15-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test15\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test15\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-OLD-Test15-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test15\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test15\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-OLD-Test15-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test15\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test15\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[4-6]
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test15\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test15.cmake b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test15.cmake
new file mode 100644
index 0000000..c330d4e
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test15.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 OLD)
+include(CMP0118-Common-Test15.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test2-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test2-stderr.txt
new file mode 100644
index 0000000..403ce5a
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test2-stderr.txt
@@ -0,0 +1 @@
+^prop: `1`$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test2.cmake b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test2.cmake
new file mode 100644
index 0000000..3ea8800
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test2.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 OLD)
+include(CMP0118-Common-Test2.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test3-result.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test3-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test3-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test3-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test3-stderr.txt
new file mode 100644
index 0000000..4764494
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test3-stderr.txt
@@ -0,0 +1,93 @@
+^Generated_with_full_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 1a # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 1b # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 2a # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 2b # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2a # GENERATED = `1`
+Generated_with_relative_path3\.cpp: # 2b # GENERATED = `1`
+Generated_with_relative_path3\.cpp: # 3a # GENERATED = `1`
+Generated_with_relative_path3\.cpp: # 3b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test3\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test3-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test3\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test3\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test3-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test3\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test3\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test3-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test3\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test3\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test3-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test3\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test3\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[13-5]
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test3\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test3.cmake b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test3.cmake
new file mode 100644
index 0000000..c8f5a0e
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test3.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 OLD)
+include(CMP0118-Common-Test3.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test3b-result.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test3b-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test3b-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test3b-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test3b-stderr.txt
new file mode 100644
index 0000000..33c4375
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test3b-stderr.txt
@@ -0,0 +1,93 @@
+^Generated_with_full_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 1a # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 1b # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 2a # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 2b # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2a # GENERATED = `1`
+Generated_with_relative_path3\.cpp: # 2b # GENERATED = `1`
+Generated_with_relative_path3\.cpp: # 3a # GENERATED = `1`
+Generated_with_relative_path3\.cpp: # 3b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test3b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test3b-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test3b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test3b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test3b-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test3b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test3b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test3b-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test3b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test3b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test3b-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test3b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test3b\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[13-5]
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test3b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test3b.cmake b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test3b.cmake
new file mode 100644
index 0000000..0b046b4
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test3b.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 OLD)
+include(CMP0118-Common-Test3b.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test4-result.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test4-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test4-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test4-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test4-stderr.txt
new file mode 100644
index 0000000..1723ece
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test4-stderr.txt
@@ -0,0 +1,101 @@
+^Generated_with_full_path1\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test4\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test4-build/Generated_with_full_path1\.cpp|CMP0118-OLD-Test4-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test4-build/Generated_with_full_path1\.cpp|CMP0118-OLD-Test4-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test4-build/Generated_with_full_path1\.cpp|CMP0118-OLD-Test4-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test4-build/Generated_with_full_path1\.cpp|CMP0118-OLD-Test4-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test4-build/Generated_with_full_path1\.cpp|CMP0118-OLD-Test4-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test4\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[1-5]
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test4.cmake b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test4.cmake
new file mode 100644
index 0000000..2f77397
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test4.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 OLD)
+include(CMP0118-Common-Test4.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test4b-result.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test4b-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test4b-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test4b-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test4b-stderr.txt
new file mode 100644
index 0000000..b7b37e9
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test4b-stderr.txt
@@ -0,0 +1,101 @@
+^Generated_with_full_path1\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test4b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test4b-build/Generated_with_full_path1\.cpp|CMP0118-OLD-Test4b-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test4b-build/Generated_with_full_path1\.cpp|CMP0118-OLD-Test4b-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test4b-build/Generated_with_full_path1\.cpp|CMP0118-OLD-Test4b-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test4b-build/Generated_with_full_path1\.cpp|CMP0118-OLD-Test4b-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test4b-build/Generated_with_full_path1\.cpp|CMP0118-OLD-Test4b-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test4b\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[1-5]
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test4b.cmake b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test4b.cmake
new file mode 100644
index 0000000..ce6726d
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test4b.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 OLD)
+include(CMP0118-Common-Test4b.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test5-result.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test5-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test5-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test5-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test5-stderr.txt
new file mode 100644
index 0000000..3ad00b7
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test5-stderr.txt
@@ -0,0 +1,117 @@
+^Generated_with_full_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test5-build/Generated_with_relative_path[2-3]\.cpp|CMP0118-OLD-Test5-build/Generated_with_full_path[2-3]\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test5-build/Generated_with_relative_path[2-3]\.cpp|CMP0118-OLD-Test5-build/Generated_with_full_path[2-3]\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test5-build/Generated_with_relative_path[2-3]\.cpp|CMP0118-OLD-Test5-build/Generated_with_full_path[2-3]\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test5-build/Generated_with_relative_path[2-3]\.cpp|CMP0118-OLD-Test5-build/Generated_with_full_path[2-3]\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test5-build/Generated_with_relative_path[2-3]\.cpp|CMP0118-OLD-Test5-build/Generated_with_full_path[2-3]\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test5-build/Generated_with_relative_path[2-3]\.cpp|CMP0118-OLD-Test5-build/Generated_with_full_path[2-3]\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-OLD-Test5-build/Generated_with_relative_path[2-3]\.cpp|CMP0118-OLD-Test5-build/Generated_with_full_path[2-3]\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[235-9]
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test5.cmake b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test5.cmake
new file mode 100644
index 0000000..2de6d89
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test5.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 OLD)
+include(CMP0118-Common-Test5.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test6-result.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test6-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test6-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test6-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test6-stderr.txt
new file mode 100644
index 0000000..475c559
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test6-stderr.txt
@@ -0,0 +1,51 @@
+^Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `1`
+Generated_source5\.cpp: # 1b # GENERATED = `1`
+Generated_source5\.cpp: # 2a # GENERATED = `1`
+Generated_source5\.cpp: # 2b # GENERATED = `1`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `1`
+Generated_source6\.cpp: # 1b # GENERATED = `1`
+Generated_source6\.cpp: # 2a # GENERATED = `1`
+Generated_source6\.cpp: # 2b # GENERATED = `1`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test6\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-OLD-Test6-build/Generated_source4\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test6\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test6\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable4
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test6\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test6.cmake b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test6.cmake
new file mode 100644
index 0000000..b571052
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test6.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 OLD)
+include(CMP0118-Common-Test6.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test7-result.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test7-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test7-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test7-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test7-stderr.txt
new file mode 100644
index 0000000..5f490ee
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test7-stderr.txt
@@ -0,0 +1,83 @@
+^Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `0`
+Generated_source2\.cpp: # 1b # GENERATED = `0`
+Generated_source2\.cpp: # 2a # GENERATED = `0`
+Generated_source2\.cpp: # 2b # GENERATED = `0`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `0`
+Generated_source3\.cpp: # 1b # GENERATED = `0`
+Generated_source3\.cpp: # 2a # GENERATED = `0`
+Generated_source3\.cpp: # 2b # GENERATED = `0`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `0`
+Generated_source5\.cpp: # 1b # GENERATED = `0`
+Generated_source5\.cpp: # 2a # GENERATED = `0`
+Generated_source5\.cpp: # 2b # GENERATED = `0`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `0`
+Generated_source6\.cpp: # 1b # GENERATED = `0`
+Generated_source6\.cpp: # 2a # GENERATED = `0`
+Generated_source6\.cpp: # 2b # GENERATED = `0`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test7\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-OLD-Test7-build/Generated_source[2-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test7\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test7\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-OLD-Test7-build/Generated_source[2-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test7\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test7\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-OLD-Test7-build/Generated_source[2-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test7\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test7\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-OLD-Test7-build/Generated_source[2-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test7\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test7\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-OLD-Test7-build/Generated_source[2-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test7\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test7\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[2-6]
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test7\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test7.cmake b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test7.cmake
new file mode 100644
index 0000000..551da23
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test7.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 OLD)
+include(CMP0118-Common-Test7.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test8-result.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test8-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test8-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test8-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test8-stderr.txt
new file mode 100644
index 0000000..bd82224
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test8-stderr.txt
@@ -0,0 +1,51 @@
+^Generated_source1\.cpp: # 1a # GENERATED = `0`
+Generated_source1\.cpp: # 1b # GENERATED = `0`
+Generated_source1\.cpp: # 2a # GENERATED = `0`
+Generated_source1\.cpp: # 2b # GENERATED = `0`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `1`
+Generated_source5\.cpp: # 1b # GENERATED = `1`
+Generated_source5\.cpp: # 2a # GENERATED = `1`
+Generated_source5\.cpp: # 2b # GENERATED = `1`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `1`
+Generated_source6\.cpp: # 1b # GENERATED = `1`
+Generated_source6\.cpp: # 2a # GENERATED = `1`
+Generated_source6\.cpp: # 2b # GENERATED = `1`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test8\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-OLD-Test8-build/Generated_source4\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test8\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test8\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable4
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test8\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test8.cmake b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test8.cmake
new file mode 100644
index 0000000..2d9e3d3
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test8.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 OLD)
+include(CMP0118-Common-Test8.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test9-result.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test9-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test9-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test9-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test9-stderr.txt
new file mode 100644
index 0000000..172e4eb
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test9-stderr.txt
@@ -0,0 +1,67 @@
+^Generated_source1\.cpp: # 1a # GENERATED = `0`
+Generated_source1\.cpp: # 1b # GENERATED = `0`
+Generated_source1\.cpp: # 2a # GENERATED = `0`
+Generated_source1\.cpp: # 2b # GENERATED = `0`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `0`
+Generated_source2\.cpp: # 1b # GENERATED = `0`
+Generated_source2\.cpp: # 2a # GENERATED = `0`
+Generated_source2\.cpp: # 2b # GENERATED = `0`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `0`
+Generated_source3\.cpp: # 1b # GENERATED = `0`
+Generated_source3\.cpp: # 2a # GENERATED = `0`
+Generated_source3\.cpp: # 2b # GENERATED = `0`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `0`
+Generated_source5\.cpp: # 1b # GENERATED = `0`
+Generated_source5\.cpp: # 2a # GENERATED = `0`
+Generated_source5\.cpp: # 2b # GENERATED = `0`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `0`
+Generated_source6\.cpp: # 1b # GENERATED = `0`
+Generated_source6\.cpp: # 2a # GENERATED = `0`
+Generated_source6\.cpp: # 2b # GENERATED = `0`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test9\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-OLD-Test9-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test9\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test9\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-OLD-Test9-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test9\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test9\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-OLD-Test9-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test9\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test9\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[4-6]
+Call Stack \(most recent call first\):
+ CMP0118-OLD-Test9\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-OLD-Test9.cmake b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test9.cmake
new file mode 100644
index 0000000..53f73d9
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-OLD-Test9.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0118 OLD)
+include(CMP0118-Common-Test9.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test1-result.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test1-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test1-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test1-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test1-stderr.txt
new file mode 100644
index 0000000..bb19577
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test1-stderr.txt
@@ -0,0 +1,16 @@
+^prop: `0`
+CMake Error at CMP0118-Common-Test1\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-WARN-Test1-build/GeneratedMain\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test1\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test1\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test1\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test1.cmake b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test1.cmake
new file mode 100644
index 0000000..3c82f8e
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test1.cmake
@@ -0,0 +1 @@
+include(CMP0118-Common-Test1.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test10-result.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test10-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test10-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test10-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test10-stderr.txt
new file mode 100644
index 0000000..f9ceb89
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test10-stderr.txt
@@ -0,0 +1,57 @@
+^Generated_source0\.cpp: # 1a # GENERATED = `1`
+Generated_source0\.cpp: # 1b # GENERATED = `1`
+Generated_source0\.cpp: # 2a # GENERATED = `1`
+Generated_source0\.cpp: # 2b # GENERATED = `1`
+Generated_source0\.cpp: # 3a # GENERATED = `0`
+Generated_source0\.cpp: # 3b # GENERATED = `0`
+Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `1`
+Generated_source5\.cpp: # 1b # GENERATED = `1`
+Generated_source5\.cpp: # 2a # GENERATED = `1`
+Generated_source5\.cpp: # 2b # GENERATED = `1`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `1`
+Generated_source6\.cpp: # 1b # GENERATED = `1`
+Generated_source6\.cpp: # 2a # GENERATED = `1`
+Generated_source6\.cpp: # 2b # GENERATED = `1`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test10\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-WARN-Test10-build/Generated_source4\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test10\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test10\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable4
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test10\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test10.cmake b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test10.cmake
new file mode 100644
index 0000000..c639c40
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test10.cmake
@@ -0,0 +1 @@
+include(CMP0118-Common-Test10.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test11-result.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test11-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test11-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test11-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test11-stderr.txt
new file mode 100644
index 0000000..0d4e924
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test11-stderr.txt
@@ -0,0 +1,96 @@
+^((CMake Warning \(dev\) at subdir-Common-Test11/CMakeLists\.txt:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++)+
+(CMake Warning \(dev\) at CMP0118-Common-Test11\.cmake:[0-9]+ \(add_subdirectory\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test11\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++)+)+
+Generated_source0\.cpp: # 1a # GENERATED = `1`
+Generated_source0\.cpp: # 1b # GENERATED = `1`
+Generated_source0\.cpp: # 2a # GENERATED = `1`
+Generated_source0\.cpp: # 2b # GENERATED = `1`
+Generated_source0\.cpp: # 3a # GENERATED = `0`
+Generated_source0\.cpp: # 3b # GENERATED = `0`
+Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `0`
+Generated_source5\.cpp: # 1b # GENERATED = `0`
+Generated_source5\.cpp: # 2a # GENERATED = `0`
+Generated_source5\.cpp: # 2b # GENERATED = `0`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `0`
+Generated_source6\.cpp: # 1b # GENERATED = `0`
+Generated_source6\.cpp: # 2a # GENERATED = `0`
+Generated_source6\.cpp: # 2b # GENERATED = `0`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test11\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-WARN-Test11-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test11\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test11\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-WARN-Test11-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test11\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test11\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-WARN-Test11-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test11\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test11\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[4-6]
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test11\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test11.cmake b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test11.cmake
new file mode 100644
index 0000000..4c9735d
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test11.cmake
@@ -0,0 +1 @@
+include(CMP0118-Common-Test11.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test12-result.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test12-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test12-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test12-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test12-stderr.txt
new file mode 100644
index 0000000..404787c
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test12-stderr.txt
@@ -0,0 +1,51 @@
+^CMake Error at subdir-Common-Test12/CMakeLists\.txt:[0-9]+ \(add_custom_command\):
+ TARGET 'executable[4-6]' was not created in this directory\.
++
+CMake Error at subdir-Common-Test12/CMakeLists\.txt:[0-9]+ \(add_custom_command\):
+ TARGET 'executable[4-6]' was not created in this directory\.
++
+CMake Error at subdir-Common-Test12/CMakeLists\.txt:[0-9]+ \(add_custom_command\):
+ TARGET 'executable[4-6]' was not created in this directory\.
++
+Generated_source0\.cpp: # 1a # GENERATED = `1`
+Generated_source0\.cpp: # 1b # GENERATED = `1`
+Generated_source0\.cpp: # 2a # GENERATED = `1`
+Generated_source0\.cpp: # 2b # GENERATED = `1`
+Generated_source0\.cpp: # 3a # GENERATED = `0`
+Generated_source0\.cpp: # 3b # GENERATED = `0`
+Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `1`
+Generated_source5\.cpp: # 1b # GENERATED = `1`
+Generated_source5\.cpp: # 2a # GENERATED = `1`
+Generated_source5\.cpp: # 2b # GENERATED = `1`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `1`
+Generated_source6\.cpp: # 1b # GENERATED = `1`
+Generated_source6\.cpp: # 2a # GENERATED = `1`
+Generated_source6\.cpp: # 2b # GENERATED = `1`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test12.cmake b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test12.cmake
new file mode 100644
index 0000000..79fa00a
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test12.cmake
@@ -0,0 +1 @@
+include(CMP0118-Common-Test12.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test13-result.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test13-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test13-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test13-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test13-stderr.txt
new file mode 100644
index 0000000..cb31858
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test13-stderr.txt
@@ -0,0 +1,74 @@
+^CMake Error at subdir-Common-Test13/CMakeLists\.txt:[0-9]+ \(add_custom_command\):
+ TARGET 'executable[4-6]' was not created in this directory\.
++
+CMake Error at subdir-Common-Test13/CMakeLists\.txt:[0-9]+ \(add_custom_command\):
+ TARGET 'executable[4-6]' was not created in this directory\.
++
+CMake Error at subdir-Common-Test13/CMakeLists\.txt:[0-9]+ \(add_custom_command\):
+ TARGET 'executable[4-6]' was not created in this directory\.
++
+((CMake Warning \(dev\) at subdir-Common-Test13/CMakeLists\.txt:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++)+
+(CMake Warning \(dev\) at CMP0118-Common-Test13\.cmake:[0-9]+ \(add_subdirectory\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test13\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++)+)+
+Generated_source0\.cpp: # 1a # GENERATED = `1`
+Generated_source0\.cpp: # 1b # GENERATED = `1`
+Generated_source0\.cpp: # 2a # GENERATED = `1`
+Generated_source0\.cpp: # 2b # GENERATED = `1`
+Generated_source0\.cpp: # 3a # GENERATED = `0`
+Generated_source0\.cpp: # 3b # GENERATED = `0`
+Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `0`
+Generated_source5\.cpp: # 1b # GENERATED = `0`
+Generated_source5\.cpp: # 2a # GENERATED = `0`
+Generated_source5\.cpp: # 2b # GENERATED = `0`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `0`
+Generated_source6\.cpp: # 1b # GENERATED = `0`
+Generated_source6\.cpp: # 2a # GENERATED = `0`
+Generated_source6\.cpp: # 2b # GENERATED = `0`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test13.cmake b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test13.cmake
new file mode 100644
index 0000000..27f71c7
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test13.cmake
@@ -0,0 +1 @@
+include(CMP0118-Common-Test13.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test14-result.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test14-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test14-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test14-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test14-stderr.txt
new file mode 100644
index 0000000..35f858c
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test14-stderr.txt
@@ -0,0 +1,57 @@
+^Generated_source0\.cpp: # 1a # GENERATED = `1`
+Generated_source0\.cpp: # 1b # GENERATED = `1`
+Generated_source0\.cpp: # 2a # GENERATED = `1`
+Generated_source0\.cpp: # 2b # GENERATED = `1`
+Generated_source0\.cpp: # 3a # GENERATED = `0`
+Generated_source0\.cpp: # 3b # GENERATED = `0`
+Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `1`
+Generated_source5\.cpp: # 1b # GENERATED = `1`
+Generated_source5\.cpp: # 2a # GENERATED = `1`
+Generated_source5\.cpp: # 2b # GENERATED = `1`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `1`
+Generated_source6\.cpp: # 1b # GENERATED = `1`
+Generated_source6\.cpp: # 2a # GENERATED = `1`
+Generated_source6\.cpp: # 2b # GENERATED = `1`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test14\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-WARN-Test14-build/Generated_source4\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test14\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test14\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable4
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test14\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test14.cmake b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test14.cmake
new file mode 100644
index 0000000..056f0ad
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test14.cmake
@@ -0,0 +1 @@
+include(CMP0118-Common-Test14.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test15-result.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test15-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test15-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test15-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test15-stderr.txt
new file mode 100644
index 0000000..0b0e608
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test15-stderr.txt
@@ -0,0 +1,96 @@
+^((CMake Warning \(dev\) at subdir-Common-Test15/CMakeLists\.txt:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++)+
+(CMake Warning \(dev\) at CMP0118-Common-Test15\.cmake:[0-9]+ \(add_subdirectory\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test15\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++)+)+
+Generated_source0\.cpp: # 1a # GENERATED = `1`
+Generated_source0\.cpp: # 1b # GENERATED = `1`
+Generated_source0\.cpp: # 2a # GENERATED = `1`
+Generated_source0\.cpp: # 2b # GENERATED = `1`
+Generated_source0\.cpp: # 3a # GENERATED = `0`
+Generated_source0\.cpp: # 3b # GENERATED = `0`
+Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `0`
+Generated_source5\.cpp: # 1b # GENERATED = `0`
+Generated_source5\.cpp: # 2a # GENERATED = `0`
+Generated_source5\.cpp: # 2b # GENERATED = `0`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `0`
+Generated_source6\.cpp: # 1b # GENERATED = `0`
+Generated_source6\.cpp: # 2a # GENERATED = `0`
+Generated_source6\.cpp: # 2b # GENERATED = `0`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test15\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-WARN-Test15-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test15\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test15\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-WARN-Test15-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test15\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test15\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-WARN-Test15-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test15\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test15\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[4-6]
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test15\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test15.cmake b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test15.cmake
new file mode 100644
index 0000000..acc8bf6
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test15.cmake
@@ -0,0 +1 @@
+include(CMP0118-Common-Test15.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test2-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test2-stderr.txt
new file mode 100644
index 0000000..403ce5a
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test2-stderr.txt
@@ -0,0 +1 @@
+^prop: `1`$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test2.cmake b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test2.cmake
new file mode 100644
index 0000000..5a67974
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test2.cmake
@@ -0,0 +1 @@
+include(CMP0118-Common-Test2.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test3-result.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test3-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test3-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test3-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test3-stderr.txt
new file mode 100644
index 0000000..ca08216
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test3-stderr.txt
@@ -0,0 +1,93 @@
+^Generated_with_full_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 1a # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 1b # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 2a # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 2b # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2a # GENERATED = `1`
+Generated_with_relative_path3\.cpp: # 2b # GENERATED = `1`
+Generated_with_relative_path3\.cpp: # 3a # GENERATED = `1`
+Generated_with_relative_path3\.cpp: # 3b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test3\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test3-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test3\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test3\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test3-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test3\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test3\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test3-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test3\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test3\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test3-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test3\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test3\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[13-5]
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test3\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test3.cmake b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test3.cmake
new file mode 100644
index 0000000..7cdfacb
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test3.cmake
@@ -0,0 +1 @@
+include(CMP0118-Common-Test3.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test3b-result.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test3b-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test3b-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test3b-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test3b-stderr.txt
new file mode 100644
index 0000000..ee4b71e
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test3b-stderr.txt
@@ -0,0 +1,93 @@
+^Generated_with_full_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 1a # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 1b # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 2a # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 2b # GENERATED = `1`
+Generated_with_relative_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2a # GENERATED = `1`
+Generated_with_relative_path3\.cpp: # 2b # GENERATED = `1`
+Generated_with_relative_path3\.cpp: # 3a # GENERATED = `1`
+Generated_with_relative_path3\.cpp: # 3b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_source_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test3b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test3b-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test3b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test3b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test3b-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test3b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test3b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test3b-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test3b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test3b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test3b-build/Generated_with_full_path3\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test3b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test3b\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[13-5]
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test3b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test3b.cmake b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test3b.cmake
new file mode 100644
index 0000000..6dfc16a
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test3b.cmake
@@ -0,0 +1 @@
+include(CMP0118-Common-Test3b.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test4-result.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test4-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test4-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test4-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test4-stderr.txt
new file mode 100644
index 0000000..5e8ecf5
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test4-stderr.txt
@@ -0,0 +1,218 @@
+^CMake Warning \(dev\) at CMP0118-Common-Test4\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_path1\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_relative_path1\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_relative_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_relative_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_source_path1\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_source_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_source_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test4\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test4-build/Generated_with_full_path1\.cpp|CMP0118-WARN-Test4-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test4-build/Generated_with_full_path1\.cpp|CMP0118-WARN-Test4-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test4-build/Generated_with_full_path1\.cpp|CMP0118-WARN-Test4-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test4-build/Generated_with_full_path1\.cpp|CMP0118-WARN-Test4-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test4-build/Generated_with_full_path1\.cpp|CMP0118-WARN-Test4-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test4\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[1-5]
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test4.cmake b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test4.cmake
new file mode 100644
index 0000000..9d432a4
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test4.cmake
@@ -0,0 +1 @@
+include(CMP0118-Common-Test4.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test4b-result.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test4b-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test4b-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test4b-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test4b-stderr.txt
new file mode 100644
index 0000000..7a685d1
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test4b-stderr.txt
@@ -0,0 +1,218 @@
+^CMake Warning \(dev\) at CMP0118-Common-Test4b\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_path1\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4b\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4b\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4b\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_relative_path1\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4b\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_relative_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4b\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_relative_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4b\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_source_path1\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4b\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_source_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test4b\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_source_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test4b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test4b-build/Generated_with_full_path1\.cpp|CMP0118-WARN-Test4b-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test4b-build/Generated_with_full_path1\.cpp|CMP0118-WARN-Test4b-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test4b-build/Generated_with_full_path1\.cpp|CMP0118-WARN-Test4b-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test4b-build/Generated_with_full_path1\.cpp|CMP0118-WARN-Test4b-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test4b\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test4b-build/Generated_with_full_path1\.cpp|CMP0118-WARN-Test4b-build/Generated_with_relative_path1\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test4b\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[1-5]
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test4b\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test4b.cmake b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test4b.cmake
new file mode 100644
index 0000000..2e2c2bd
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test4b.cmake
@@ -0,0 +1 @@
+include(CMP0118-Common-Test4b.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test5-result.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test5-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test5-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test5-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test5-stderr.txt
new file mode 100644
index 0000000..c258ba0
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test5-stderr.txt
@@ -0,0 +1,219 @@
+^Generated_with_full_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path1\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test5\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path2\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test5\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Attempt to set property 'GENERATED' with the following non-boolean value
+ \(which will be interpreted as "0"\):
+
+ Junk-value
+
+ That exact value will not be retrievable\. A value of "0" will be returned
+ instead\.
+
+ This will be an error under policy CMP0118\.
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_path3\.cpp: # 3b # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_relative_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path1\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test5\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_relative_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path2\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test5\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Attempt to set property 'GENERATED' with the following non-boolean value
+ \(which will be interpreted as "0"\):
+
+ Junk-value
+
+ That exact value will not be retrievable\. A value of "0" will be returned
+ instead\.
+
+ This will be an error under policy CMP0118\.
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_relative_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_relative_path3\.cpp: # 3b # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 1a # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 1b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 2a # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 2b # GENERATED = `1`
+Generated_with_full_source_path1\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path1\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test5\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_source_path2\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path2\.cpp: # 3b # GENERATED = `0`
+CMake Warning \(dev\) at CMP0118-Common-Test5\.cmake:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Attempt to set property 'GENERATED' with the following non-boolean value
+ \(which will be interpreted as "0"\):
+
+ Junk-value
+
+ That exact value will not be retrievable\. A value of "0" will be returned
+ instead\.
+
+ This will be an error under policy CMP0118\.
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++
+Generated_with_full_source_path3\.cpp: # 1a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 1b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 2b # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3a # GENERATED = `0`
+Generated_with_full_source_path3\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test5-build/Generated_with_relative_path[2-3]\.cpp|CMP0118-WARN-Test5-build/Generated_with_full_path[2-3]\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test5-build/Generated_with_relative_path[2-3]\.cpp|CMP0118-WARN-Test5-build/Generated_with_full_path[2-3]\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test5-build/Generated_with_relative_path[2-3]\.cpp|CMP0118-WARN-Test5-build/Generated_with_full_path[2-3]\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test5-build/Generated_with_relative_path[2-3]\.cpp|CMP0118-WARN-Test5-build/Generated_with_full_path[2-3]\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test5-build/Generated_with_relative_path[2-3]\.cpp|CMP0118-WARN-Test5-build/Generated_with_full_path[2-3]\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test5-build/Generated_with_relative_path[2-3]\.cpp|CMP0118-WARN-Test5-build/Generated_with_full_path[2-3]\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/(Generated_with_full_source_path[1-3]\.cpp|CMP0118-WARN-Test5-build/Generated_with_relative_path[2-3]\.cpp|CMP0118-WARN-Test5-build/Generated_with_full_path[2-3]\.cpp)
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test5\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[235-9]
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test5\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test5.cmake b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test5.cmake
new file mode 100644
index 0000000..87e965e
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test5.cmake
@@ -0,0 +1 @@
+include(CMP0118-Common-Test5.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test6-result.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test6-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test6-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test6-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test6-stderr.txt
new file mode 100644
index 0000000..25de751
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test6-stderr.txt
@@ -0,0 +1,51 @@
+^Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `1`
+Generated_source5\.cpp: # 1b # GENERATED = `1`
+Generated_source5\.cpp: # 2a # GENERATED = `1`
+Generated_source5\.cpp: # 2b # GENERATED = `1`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `1`
+Generated_source6\.cpp: # 1b # GENERATED = `1`
+Generated_source6\.cpp: # 2a # GENERATED = `1`
+Generated_source6\.cpp: # 2b # GENERATED = `1`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test6\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-WARN-Test6-build/Generated_source4\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test6\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test6\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable4
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test6\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test6.cmake b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test6.cmake
new file mode 100644
index 0000000..6f1edbc
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test6.cmake
@@ -0,0 +1 @@
+include(CMP0118-Common-Test6.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test7-result.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test7-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test7-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test7-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test7-stderr.txt
new file mode 100644
index 0000000..1d9ac49
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test7-stderr.txt
@@ -0,0 +1,106 @@
+^((CMake Warning \(dev\) at subdir-Common-Test7/CMakeLists\.txt:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++)+
+(CMake Warning \(dev\) at CMP0118-Common-Test7\.cmake:[0-9]+ \(add_subdirectory\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test7\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++)+)+
+Generated_source1\.cpp: # 1a # GENERATED = `1`
+Generated_source1\.cpp: # 1b # GENERATED = `1`
+Generated_source1\.cpp: # 2a # GENERATED = `1`
+Generated_source1\.cpp: # 2b # GENERATED = `1`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `0`
+Generated_source2\.cpp: # 1b # GENERATED = `0`
+Generated_source2\.cpp: # 2a # GENERATED = `0`
+Generated_source2\.cpp: # 2b # GENERATED = `0`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `0`
+Generated_source3\.cpp: # 1b # GENERATED = `0`
+Generated_source3\.cpp: # 2a # GENERATED = `0`
+Generated_source3\.cpp: # 2b # GENERATED = `0`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `0`
+Generated_source5\.cpp: # 1b # GENERATED = `0`
+Generated_source5\.cpp: # 2a # GENERATED = `0`
+Generated_source5\.cpp: # 2b # GENERATED = `0`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `0`
+Generated_source6\.cpp: # 1b # GENERATED = `0`
+Generated_source6\.cpp: # 2a # GENERATED = `0`
+Generated_source6\.cpp: # 2b # GENERATED = `0`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test7\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-WARN-Test7-build/Generated_source[2-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test7\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test7\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-WARN-Test7-build/Generated_source[2-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test7\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test7\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-WARN-Test7-build/Generated_source[2-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test7\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test7\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-WARN-Test7-build/Generated_source[2-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test7\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test7\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-WARN-Test7-build/Generated_source[2-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test7\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test7\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[2-6]
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test7\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test7.cmake b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test7.cmake
new file mode 100644
index 0000000..86af20d
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test7.cmake
@@ -0,0 +1 @@
+include(CMP0118-Common-Test7.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test8-result.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test8-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test8-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test8-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test8-stderr.txt
new file mode 100644
index 0000000..5aaf6c6
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test8-stderr.txt
@@ -0,0 +1,51 @@
+^Generated_source1\.cpp: # 1a # GENERATED = `0`
+Generated_source1\.cpp: # 1b # GENERATED = `0`
+Generated_source1\.cpp: # 2a # GENERATED = `0`
+Generated_source1\.cpp: # 2b # GENERATED = `0`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `1`
+Generated_source2\.cpp: # 1b # GENERATED = `1`
+Generated_source2\.cpp: # 2a # GENERATED = `1`
+Generated_source2\.cpp: # 2b # GENERATED = `1`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `1`
+Generated_source3\.cpp: # 1b # GENERATED = `1`
+Generated_source3\.cpp: # 2a # GENERATED = `1`
+Generated_source3\.cpp: # 2b # GENERATED = `1`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `1`
+Generated_source5\.cpp: # 1b # GENERATED = `1`
+Generated_source5\.cpp: # 2a # GENERATED = `1`
+Generated_source5\.cpp: # 2b # GENERATED = `1`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `1`
+Generated_source6\.cpp: # 1b # GENERATED = `1`
+Generated_source6\.cpp: # 2a # GENERATED = `1`
+Generated_source6\.cpp: # 2b # GENERATED = `1`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test8\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-WARN-Test8-build/Generated_source4\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test8\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test8\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable4
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test8\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test8.cmake b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test8.cmake
new file mode 100644
index 0000000..6a0bb4c
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test8.cmake
@@ -0,0 +1 @@
+include(CMP0118-Common-Test8.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test9-result.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test9-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test9-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test9-stderr.txt b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test9-stderr.txt
new file mode 100644
index 0000000..a4edec0
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test9-stderr.txt
@@ -0,0 +1,90 @@
+^((CMake Warning \(dev\) at subdir-Common-Test9/CMakeLists\.txt:[0-9]+ \(set_property\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++)+
+(CMake Warning \(dev\) at CMP0118-Common-Test9\.cmake:[0-9]+ \(add_subdirectory\):
+ Policy CMP0118 is not set: The GENERATED source file property is now
+ visible in all directories\. Run "cmake --help-policy CMP0118" for policy
+ details\. Use the cmake_policy command to set the policy and suppress this
+ warning\.
+
+ Unsetting property 'GENERATED' will not be allowed under policy CMP0118!
+
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test9\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
++)+)+
+Generated_source1\.cpp: # 1a # GENERATED = `0`
+Generated_source1\.cpp: # 1b # GENERATED = `0`
+Generated_source1\.cpp: # 2a # GENERATED = `0`
+Generated_source1\.cpp: # 2b # GENERATED = `0`
+Generated_source1\.cpp: # 3a # GENERATED = `0`
+Generated_source1\.cpp: # 3b # GENERATED = `0`
+Generated_source2\.cpp: # 1a # GENERATED = `0`
+Generated_source2\.cpp: # 1b # GENERATED = `0`
+Generated_source2\.cpp: # 2a # GENERATED = `0`
+Generated_source2\.cpp: # 2b # GENERATED = `0`
+Generated_source2\.cpp: # 3a # GENERATED = `0`
+Generated_source2\.cpp: # 3b # GENERATED = `0`
+Generated_source3\.cpp: # 1a # GENERATED = `0`
+Generated_source3\.cpp: # 1b # GENERATED = `0`
+Generated_source3\.cpp: # 2a # GENERATED = `0`
+Generated_source3\.cpp: # 2b # GENERATED = `0`
+Generated_source3\.cpp: # 3a # GENERATED = `0`
+Generated_source3\.cpp: # 3b # GENERATED = `0`
+Generated_source4\.cpp: # 1a # GENERATED = `0`
+Generated_source4\.cpp: # 1b # GENERATED = `0`
+Generated_source4\.cpp: # 2a # GENERATED = `0`
+Generated_source4\.cpp: # 2b # GENERATED = `0`
+Generated_source4\.cpp: # 3a # GENERATED = `0`
+Generated_source4\.cpp: # 3b # GENERATED = `0`
+Generated_source5\.cpp: # 1a # GENERATED = `0`
+Generated_source5\.cpp: # 1b # GENERATED = `0`
+Generated_source5\.cpp: # 2a # GENERATED = `0`
+Generated_source5\.cpp: # 2b # GENERATED = `0`
+Generated_source5\.cpp: # 3a # GENERATED = `0`
+Generated_source5\.cpp: # 3b # GENERATED = `0`
+Generated_source6\.cpp: # 1a # GENERATED = `0`
+Generated_source6\.cpp: # 1b # GENERATED = `0`
+Generated_source6\.cpp: # 2a # GENERATED = `0`
+Generated_source6\.cpp: # 2b # GENERATED = `0`
+Generated_source6\.cpp: # 3a # GENERATED = `0`
+Generated_source6\.cpp: # 3b # GENERATED = `0`
+CMake Error at CMP0118-Common-Test9\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-WARN-Test9-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test9\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test9\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-WARN-Test9-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test9\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+CMake Error at CMP0118-Common-Test9\.cmake:[0-9]+ \(add_executable\):
+ Cannot find source file:
+
+[ \t]*.*Tests/RunCMake/CMP0118/CMP0118-WARN-Test9-build/Generated_source[4-6]\.cpp
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test9\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++
+(CMake Error at CMP0118-Common-Test9\.cmake:[0-9]+ \(add_executable\):
+ No SOURCES given to target: executable[4-6]
+Call Stack \(most recent call first\):
+ CMP0118-WARN-Test9\.cmake:[0-9]+ \(include\)
+ CMakeLists\.txt:[0-9]+ \(include\)
++)+
+CMake Generate step failed\. Build files cannot be regenerated correctly\.$
diff --git a/Tests/RunCMake/CMP0118/CMP0118-WARN-Test9.cmake b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test9.cmake
new file mode 100644
index 0000000..c48c64e
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMP0118-WARN-Test9.cmake
@@ -0,0 +1 @@
+include(CMP0118-Common-Test9.cmake)
diff --git a/Tests/RunCMake/CMP0118/CMakeLists.txt b/Tests/RunCMake/CMP0118/CMakeLists.txt
new file mode 100644
index 0000000..3e06bbc
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/CMakeLists.txt
@@ -0,0 +1,4 @@
+cmake_minimum_required(VERSION 3.19)
+cmake_policy(SET CMP0115 NEW)
+project(${RunCMake_TEST} CXX)
+include(${RunCMake_TEST}.cmake)
diff --git a/Tests/RunCMake/CMP0118/RunCMakeTest.cmake b/Tests/RunCMake/CMP0118/RunCMakeTest.cmake
new file mode 100644
index 0000000..72064bd
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/RunCMakeTest.cmake
@@ -0,0 +1,55 @@
+include(RunCMake)
+
+run_cmake(CMP0118-OLD-Test1)
+run_cmake(CMP0118-OLD-Test2)
+run_cmake(CMP0118-OLD-Test3)
+run_cmake(CMP0118-OLD-Test3b)
+run_cmake(CMP0118-OLD-Test4)
+run_cmake(CMP0118-OLD-Test4b)
+run_cmake(CMP0118-OLD-Test5)
+run_cmake(CMP0118-OLD-Test6)
+run_cmake(CMP0118-OLD-Test7)
+run_cmake(CMP0118-OLD-Test8)
+run_cmake(CMP0118-OLD-Test9)
+run_cmake(CMP0118-OLD-Test10)
+run_cmake(CMP0118-OLD-Test11)
+run_cmake(CMP0118-OLD-Test12)
+run_cmake(CMP0118-OLD-Test13)
+run_cmake(CMP0118-OLD-Test14)
+run_cmake(CMP0118-OLD-Test15)
+
+run_cmake(CMP0118-WARN-Test1)
+run_cmake(CMP0118-WARN-Test2)
+run_cmake(CMP0118-WARN-Test3)
+run_cmake(CMP0118-WARN-Test3b)
+run_cmake(CMP0118-WARN-Test4)
+run_cmake(CMP0118-WARN-Test4b)
+run_cmake(CMP0118-WARN-Test5)
+run_cmake(CMP0118-WARN-Test6)
+run_cmake(CMP0118-WARN-Test7)
+run_cmake(CMP0118-WARN-Test8)
+run_cmake(CMP0118-WARN-Test9)
+run_cmake(CMP0118-WARN-Test10)
+run_cmake(CMP0118-WARN-Test11)
+run_cmake(CMP0118-WARN-Test12)
+run_cmake(CMP0118-WARN-Test13)
+run_cmake(CMP0118-WARN-Test14)
+run_cmake(CMP0118-WARN-Test15)
+
+run_cmake(CMP0118-NEW-Test1)
+run_cmake(CMP0118-NEW-Test2)
+run_cmake(CMP0118-NEW-Test3)
+run_cmake(CMP0118-NEW-Test3b)
+run_cmake(CMP0118-NEW-Test4)
+run_cmake(CMP0118-NEW-Test4b)
+run_cmake(CMP0118-NEW-Test5)
+run_cmake(CMP0118-NEW-Test6)
+run_cmake(CMP0118-NEW-Test7)
+run_cmake(CMP0118-NEW-Test8)
+run_cmake(CMP0118-NEW-Test9)
+run_cmake(CMP0118-NEW-Test10)
+run_cmake(CMP0118-NEW-Test11)
+run_cmake(CMP0118-NEW-Test12)
+run_cmake(CMP0118-NEW-Test13)
+run_cmake(CMP0118-NEW-Test14)
+run_cmake(CMP0118-NEW-Test15)
diff --git a/Tests/RunCMake/CMP0118/source.cpp.in b/Tests/RunCMake/CMP0118/source.cpp.in
new file mode 100644
index 0000000..678cd7a
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/source.cpp.in
@@ -0,0 +1,5 @@
+int func();
+int main()
+{
+ return func();
+}
diff --git a/Tests/RunCMake/CMP0118/subdir-Common-Test10/CMakeLists.txt b/Tests/RunCMake/CMP0118/subdir-Common-Test10/CMakeLists.txt
new file mode 100644
index 0000000..fbd42ac
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/subdir-Common-Test10/CMakeLists.txt
@@ -0,0 +1,33 @@
+add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+)
+add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+)
+add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+)
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source1.cpp"
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source2.cpp"
+ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source3.cpp"
+ TARGET_DIRECTORY executable1
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+ TARGET_DIRECTORY executable1
+ PROPERTY GENERATED "1")
diff --git a/Tests/RunCMake/CMP0118/subdir-Common-Test11/CMakeLists.txt b/Tests/RunCMake/CMP0118/subdir-Common-Test11/CMakeLists.txt
new file mode 100644
index 0000000..fc72dd7
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/subdir-Common-Test11/CMakeLists.txt
@@ -0,0 +1,33 @@
+add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+)
+add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+)
+add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+)
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source1.cpp"
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source2.cpp"
+ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source3.cpp"
+ TARGET_DIRECTORY executable1
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+ TARGET_DIRECTORY executable1
+ PROPERTY GENERATED "0")
diff --git a/Tests/RunCMake/CMP0118/subdir-Common-Test12/CMakeLists.txt b/Tests/RunCMake/CMP0118/subdir-Common-Test12/CMakeLists.txt
new file mode 100644
index 0000000..034f69c
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/subdir-Common-Test12/CMakeLists.txt
@@ -0,0 +1,33 @@
+add_custom_command(TARGET executable4 PRE_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+ BYPRODUCT "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+)
+add_custom_command(TARGET executable5 PRE_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+ BYPRODUCT "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+)
+add_custom_command(TARGET executable6 PRE_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+ BYPRODUCT "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+)
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source1.cpp"
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source2.cpp"
+ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source3.cpp"
+ TARGET_DIRECTORY executable1
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+ TARGET_DIRECTORY executable1
+ PROPERTY GENERATED "1")
diff --git a/Tests/RunCMake/CMP0118/subdir-Common-Test13/CMakeLists.txt b/Tests/RunCMake/CMP0118/subdir-Common-Test13/CMakeLists.txt
new file mode 100644
index 0000000..a0a0808
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/subdir-Common-Test13/CMakeLists.txt
@@ -0,0 +1,33 @@
+add_custom_command(TARGET executable4 PRE_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+ BYPRODUCT "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+)
+add_custom_command(TARGET executable5 PRE_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+ BYPRODUCT "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+)
+add_custom_command(TARGET executable6 PRE_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+ BYPRODUCT "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+)
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source1.cpp"
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source2.cpp"
+ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source3.cpp"
+ TARGET_DIRECTORY executable1
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+ TARGET_DIRECTORY executable1
+ PROPERTY GENERATED "0")
diff --git a/Tests/RunCMake/CMP0118/subdir-Common-Test14/CMakeLists.txt b/Tests/RunCMake/CMP0118/subdir-Common-Test14/CMakeLists.txt
new file mode 100644
index 0000000..5d47115
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/subdir-Common-Test14/CMakeLists.txt
@@ -0,0 +1,33 @@
+add_custom_target(executable4_source_generator ALL
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+)
+add_custom_target(executable5_source_generator ALL
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+)
+add_custom_target(executable6_source_generator ALL
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+)
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source1.cpp"
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source2.cpp"
+ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source3.cpp"
+ TARGET_DIRECTORY executable1
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+ TARGET_DIRECTORY executable1
+ PROPERTY GENERATED "1")
diff --git a/Tests/RunCMake/CMP0118/subdir-Common-Test15/CMakeLists.txt b/Tests/RunCMake/CMP0118/subdir-Common-Test15/CMakeLists.txt
new file mode 100644
index 0000000..0ad62f7
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/subdir-Common-Test15/CMakeLists.txt
@@ -0,0 +1,33 @@
+add_custom_target(executable4_source_generator ALL
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+)
+add_custom_target(executable5_source_generator ALL
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+)
+add_custom_target(executable6_source_generator ALL
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/Source.cpp.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+ BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+)
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source1.cpp"
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source2.cpp"
+ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source3.cpp"
+ TARGET_DIRECTORY executable1
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+ TARGET_DIRECTORY executable1
+ PROPERTY GENERATED "0")
diff --git a/Tests/RunCMake/CMP0118/subdir-Common-Test6/CMakeLists.txt b/Tests/RunCMake/CMP0118/subdir-Common-Test6/CMakeLists.txt
new file mode 100644
index 0000000..d35a030
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/subdir-Common-Test6/CMakeLists.txt
@@ -0,0 +1,16 @@
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source1.cpp"
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source2.cpp"
+ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source3.cpp"
+ TARGET_DIRECTORY executable1
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+ TARGET_DIRECTORY executable1
+ PROPERTY GENERATED "1")
diff --git a/Tests/RunCMake/CMP0118/subdir-Common-Test7/CMakeLists.txt b/Tests/RunCMake/CMP0118/subdir-Common-Test7/CMakeLists.txt
new file mode 100644
index 0000000..2f28178
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/subdir-Common-Test7/CMakeLists.txt
@@ -0,0 +1,16 @@
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source1.cpp"
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source2.cpp"
+ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source3.cpp"
+ TARGET_DIRECTORY executable1
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+ TARGET_DIRECTORY executable1
+ PROPERTY GENERATED "0")
diff --git a/Tests/RunCMake/CMP0118/subdir-Common-Test8/CMakeLists.txt b/Tests/RunCMake/CMP0118/subdir-Common-Test8/CMakeLists.txt
new file mode 100644
index 0000000..bcc1ebe
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/subdir-Common-Test8/CMakeLists.txt
@@ -0,0 +1,30 @@
+file(GENERATE
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Generated_source4.cpp"
+ CONTENT "int func();\nint main(){ return func(); }"
+)
+file(GENERATE
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Generated_source5.cpp"
+ CONTENT "int func();\nint main(){ return func(); }"
+)
+file(GENERATE
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Generated_source6.cpp"
+ CONTENT "int func();\nint main(){ return func(); }"
+)
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source1.cpp"
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source2.cpp"
+ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source3.cpp"
+ TARGET_DIRECTORY executable1
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
+ PROPERTY GENERATED "1")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+ TARGET_DIRECTORY executable1
+ PROPERTY GENERATED "1")
diff --git a/Tests/RunCMake/CMP0118/subdir-Common-Test9/CMakeLists.txt b/Tests/RunCMake/CMP0118/subdir-Common-Test9/CMakeLists.txt
new file mode 100644
index 0000000..a50d02a
--- /dev/null
+++ b/Tests/RunCMake/CMP0118/subdir-Common-Test9/CMakeLists.txt
@@ -0,0 +1,30 @@
+file(GENERATE
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Generated_source4.cpp"
+ CONTENT "int func();\nint main(){ return func(); }"
+)
+file(GENERATE
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Generated_source5.cpp"
+ CONTENT "int func();\nint main(){ return func(); }"
+)
+file(GENERATE
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Generated_source6.cpp"
+ CONTENT "int func();\nint main(){ return func(); }"
+)
+
+
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source1.cpp"
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source2.cpp"
+ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source3.cpp"
+ TARGET_DIRECTORY executable1
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source4.cpp"
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source5.cpp"
+ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.."
+ PROPERTY GENERATED "0")
+set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/../Generated_source6.cpp"
+ TARGET_DIRECTORY executable1
+ PROPERTY GENERATED "0")
diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
index fc89f96..0b02184 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@ -129,6 +129,7 @@ add_RunCMake_test(CMP0115)
if(CMAKE_GENERATOR MATCHES "Ninja")
add_RunCMake_test(CMP0116)
endif()
+add_RunCMake_test(CMP0118)
# The test for Policy 65 requires the use of the
# CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS variable, which both the VS and Xcode
diff --git a/Tests/RunCMake/FileAPI/RunCMakeTest.cmake b/Tests/RunCMake/FileAPI/RunCMakeTest.cmake
index 4449ff1..2bb2765 100644
--- a/Tests/RunCMake/FileAPI/RunCMakeTest.cmake
+++ b/Tests/RunCMake/FileAPI/RunCMakeTest.cmake
@@ -50,7 +50,9 @@ run_cmake(ClientStateful)
function(run_object object)
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${object}-build)
+ list(APPEND RunCMake_TEST_OPTIONS -DCMAKE_POLICY_DEFAULT_CMP0118=NEW)
run_cmake(${object})
+ list(POP_BACK RunCMake_TEST_OPTIONS)
set(RunCMake_TEST_NO_CLEAN 1)
run_cmake_command(${object}-SharedStateless ${CMAKE_COMMAND} .)
run_cmake_command(${object}-ClientStateless ${CMAKE_COMMAND} .)
diff --git a/Tests/RunCMake/Ninja/AssumedSources.cmake b/Tests/RunCMake/Ninja/AssumedSources.cmake
index 5fb0219..d5364f0 100644
--- a/Tests/RunCMake/Ninja/AssumedSources.cmake
+++ b/Tests/RunCMake/Ninja/AssumedSources.cmake
@@ -1,4 +1,5 @@
cmake_minimum_required(VERSION 3.8)
+cmake_policy(SET CMP0118 NEW)
project(AssumedSources)
set_source_files_properties(