summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorKyle Edwards <kyle.edwards@kitware.com>2021-12-22 21:49:38 (GMT)
committerKyle Edwards <kyle.edwards@kitware.com>2022-01-07 00:46:41 (GMT)
commit26a5512c0f952333f089a08b0df84e3efa7fb063 (patch)
treee37cf58a76b5110913fe9d5f380e9aafb7717872 /Tests
parenta239f23a987a063852c8f29040ef4eaeaebf3b9c (diff)
downloadCMake-26a5512c0f952333f089a08b0df84e3efa7fb063.zip
CMake-26a5512c0f952333f089a08b0df84e3efa7fb063.tar.gz
CMake-26a5512c0f952333f089a08b0df84e3efa7fb063.tar.bz2
CMakePresets: Add include field
Fixes: #21331
Diffstat (limited to 'Tests')
-rw-r--r--Tests/RunCMake/CMakePresets/Include-stdout.txt8
-rw-r--r--Tests/RunCMake/CMakePresets/Include.json.in16
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeCommon.json.in8
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeCycle-result.txt1
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeCycle-stderr.txt2
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeCycle.json.in11
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeCycle3Files-result.txt1
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeCycle3Files-stderr.txt2
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeCycle3Files.json.in6
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeCycle3Files2.json.in6
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeCycle3Files3.json.in6
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeCycleUser.json.in3
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeNotFound-result.txt1
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeNotFound-stderr.txt2
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeNotFound.json.in11
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeOutsideProject-result.txt1
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeOutsideProject-stderr.txt2
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeOutsideProject.json.in11
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeOutsideProjectInclude.json3
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeOutsideProjectIntermediate.json.in6
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeOutsideProjectUser.json.in6
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeUser.json.in15
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeUserCommon.json.in8
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeUserOutsideProject.cmake0
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeUserOutsideProjectUser.json.in11
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeV3-result.txt1
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeV3-stderr.txt2
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeV3.json.in4
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeV4V3-result.txt1
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeV4V3-stderr.txt2
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeV4V3.json.in6
-rw-r--r--Tests/RunCMake/CMakePresets/IncludeV4V3Extra.json.in4
-rw-r--r--Tests/RunCMake/CMakePresets/RunCMakeTest.cmake45
-rw-r--r--Tests/RunCMake/CMakePresets/check.cmake7
-rw-r--r--Tests/RunCMake/CMakePresets/subdir/CMakePresets.json.in12
35 files changed, 231 insertions, 0 deletions
diff --git a/Tests/RunCMake/CMakePresets/Include-stdout.txt b/Tests/RunCMake/CMakePresets/Include-stdout.txt
new file mode 100644
index 0000000..6ba1170
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/Include-stdout.txt
@@ -0,0 +1,8 @@
+^Not searching for unused variables given on the command line\.
+Available configure presets:
+
+ "IncludeUser"
+ "IncludeUserCommon"
+ "Include"
+ "Subdir"
+ "IncludeCommon"$
diff --git a/Tests/RunCMake/CMakePresets/Include.json.in b/Tests/RunCMake/CMakePresets/Include.json.in
new file mode 100644
index 0000000..3687d3c
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/Include.json.in
@@ -0,0 +1,16 @@
+{
+ "version": 4,
+ "include": [
+ "subdir/CMakePresets.json",
+ "@RunCMake_TEST_SOURCE_DIR@/IncludeCommon.json"
+ ],
+ "configurePresets": [
+ {
+ "name": "Include",
+ "inherits": [
+ "IncludeCommon",
+ "Subdir"
+ ]
+ }
+ ]
+}
diff --git a/Tests/RunCMake/CMakePresets/IncludeCommon.json.in b/Tests/RunCMake/CMakePresets/IncludeCommon.json.in
new file mode 100644
index 0000000..eeae723
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeCommon.json.in
@@ -0,0 +1,8 @@
+{
+ "version": 3,
+ "configurePresets": [
+ {
+ "name": "IncludeCommon"
+ }
+ ]
+}
diff --git a/Tests/RunCMake/CMakePresets/IncludeCycle-result.txt b/Tests/RunCMake/CMakePresets/IncludeCycle-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeCycle-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMakePresets/IncludeCycle-stderr.txt b/Tests/RunCMake/CMakePresets/IncludeCycle-stderr.txt
new file mode 100644
index 0000000..3343204
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeCycle-stderr.txt
@@ -0,0 +1,2 @@
+^CMake Error: Could not read presets from [^
+]*/Tests/RunCMake/CMakePresets/IncludeCycle: Cyclic include among preset files$
diff --git a/Tests/RunCMake/CMakePresets/IncludeCycle.json.in b/Tests/RunCMake/CMakePresets/IncludeCycle.json.in
new file mode 100644
index 0000000..b35b6ff
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeCycle.json.in
@@ -0,0 +1,11 @@
+{
+ "version": 4,
+ "include": [
+ "CMakeUserPresets.json"
+ ],
+ "configurePresets": [
+ {
+ "name": "IncludeCycle"
+ }
+ ]
+}
diff --git a/Tests/RunCMake/CMakePresets/IncludeCycle3Files-result.txt b/Tests/RunCMake/CMakePresets/IncludeCycle3Files-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeCycle3Files-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMakePresets/IncludeCycle3Files-stderr.txt b/Tests/RunCMake/CMakePresets/IncludeCycle3Files-stderr.txt
new file mode 100644
index 0000000..35aea4c
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeCycle3Files-stderr.txt
@@ -0,0 +1,2 @@
+^CMake Error: Could not read presets from [^
+]*/Tests/RunCMake/CMakePresets/IncludeCycle3Files: Cyclic include among preset files$
diff --git a/Tests/RunCMake/CMakePresets/IncludeCycle3Files.json.in b/Tests/RunCMake/CMakePresets/IncludeCycle3Files.json.in
new file mode 100644
index 0000000..8174ff0
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeCycle3Files.json.in
@@ -0,0 +1,6 @@
+{
+ "version": 4,
+ "include": [
+ "IncludeCycle3Files2.json"
+ ]
+}
diff --git a/Tests/RunCMake/CMakePresets/IncludeCycle3Files2.json.in b/Tests/RunCMake/CMakePresets/IncludeCycle3Files2.json.in
new file mode 100644
index 0000000..952e875
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeCycle3Files2.json.in
@@ -0,0 +1,6 @@
+{
+ "version": 4,
+ "include": [
+ "IncludeCycle3Files3.json"
+ ]
+}
diff --git a/Tests/RunCMake/CMakePresets/IncludeCycle3Files3.json.in b/Tests/RunCMake/CMakePresets/IncludeCycle3Files3.json.in
new file mode 100644
index 0000000..8dbf3ad
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeCycle3Files3.json.in
@@ -0,0 +1,6 @@
+{
+ "version": 4,
+ "include": [
+ "CMakePresets.json"
+ ]
+}
diff --git a/Tests/RunCMake/CMakePresets/IncludeCycleUser.json.in b/Tests/RunCMake/CMakePresets/IncludeCycleUser.json.in
new file mode 100644
index 0000000..cd2f236
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeCycleUser.json.in
@@ -0,0 +1,3 @@
+{
+ "version": 3
+}
diff --git a/Tests/RunCMake/CMakePresets/IncludeNotFound-result.txt b/Tests/RunCMake/CMakePresets/IncludeNotFound-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeNotFound-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMakePresets/IncludeNotFound-stderr.txt b/Tests/RunCMake/CMakePresets/IncludeNotFound-stderr.txt
new file mode 100644
index 0000000..7ccabab
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeNotFound-stderr.txt
@@ -0,0 +1,2 @@
+^CMake Error: Could not read presets from [^
+]*/Tests/RunCMake/CMakePresets/IncludeNotFound: File not found$
diff --git a/Tests/RunCMake/CMakePresets/IncludeNotFound.json.in b/Tests/RunCMake/CMakePresets/IncludeNotFound.json.in
new file mode 100644
index 0000000..a72b183
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeNotFound.json.in
@@ -0,0 +1,11 @@
+{
+ "version": 4,
+ "include": [
+ "NotFound.json"
+ ],
+ "configurePresets": [
+ {
+ "name": "IncludeNotFound"
+ }
+ ]
+}
diff --git a/Tests/RunCMake/CMakePresets/IncludeOutsideProject-result.txt b/Tests/RunCMake/CMakePresets/IncludeOutsideProject-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeOutsideProject-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMakePresets/IncludeOutsideProject-stderr.txt b/Tests/RunCMake/CMakePresets/IncludeOutsideProject-stderr.txt
new file mode 100644
index 0000000..2aa3f59
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeOutsideProject-stderr.txt
@@ -0,0 +1,2 @@
+^CMake Error: Could not read presets from [^
+]*/Tests/RunCMake/CMakePresets/IncludeOutsideProject: File included from outside project directory$
diff --git a/Tests/RunCMake/CMakePresets/IncludeOutsideProject.json.in b/Tests/RunCMake/CMakePresets/IncludeOutsideProject.json.in
new file mode 100644
index 0000000..cf1928f
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeOutsideProject.json.in
@@ -0,0 +1,11 @@
+{
+ "version": 4,
+ "include": [
+ "IncludeOutsideProjectIntermediate.json"
+ ],
+ "configurePresets": [
+ {
+ "name": "IncludeOutsideProject"
+ }
+ ]
+}
diff --git a/Tests/RunCMake/CMakePresets/IncludeOutsideProjectInclude.json b/Tests/RunCMake/CMakePresets/IncludeOutsideProjectInclude.json
new file mode 100644
index 0000000..f13e55c
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeOutsideProjectInclude.json
@@ -0,0 +1,3 @@
+{
+ "version": 4
+}
diff --git a/Tests/RunCMake/CMakePresets/IncludeOutsideProjectIntermediate.json.in b/Tests/RunCMake/CMakePresets/IncludeOutsideProjectIntermediate.json.in
new file mode 100644
index 0000000..7c140c6
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeOutsideProjectIntermediate.json.in
@@ -0,0 +1,6 @@
+{
+ "version": 4,
+ "include": [
+ "@RunCMake_SOURCE_DIR@/IncludeOutsideProjectInclude.json"
+ ]
+}
diff --git a/Tests/RunCMake/CMakePresets/IncludeOutsideProjectUser.json.in b/Tests/RunCMake/CMakePresets/IncludeOutsideProjectUser.json.in
new file mode 100644
index 0000000..f4f540e
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeOutsideProjectUser.json.in
@@ -0,0 +1,6 @@
+{
+ "version": 4,
+ "include": [
+ "IncludeOutsideProjectIntermediate.json"
+ ]
+}
diff --git a/Tests/RunCMake/CMakePresets/IncludeUser.json.in b/Tests/RunCMake/CMakePresets/IncludeUser.json.in
new file mode 100644
index 0000000..46d23fd
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeUser.json.in
@@ -0,0 +1,15 @@
+{
+ "version": 4,
+ "include": [
+ "IncludeUserCommon.json"
+ ],
+ "configurePresets": [
+ {
+ "name": "IncludeUser",
+ "inherits": [
+ "Include",
+ "IncludeUserCommon"
+ ]
+ }
+ ]
+}
diff --git a/Tests/RunCMake/CMakePresets/IncludeUserCommon.json.in b/Tests/RunCMake/CMakePresets/IncludeUserCommon.json.in
new file mode 100644
index 0000000..5a1bd36
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeUserCommon.json.in
@@ -0,0 +1,8 @@
+{
+ "version": 3,
+ "configurePresets": [
+ {
+ "name": "IncludeUserCommon"
+ }
+ ]
+}
diff --git a/Tests/RunCMake/CMakePresets/IncludeUserOutsideProject.cmake b/Tests/RunCMake/CMakePresets/IncludeUserOutsideProject.cmake
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeUserOutsideProject.cmake
diff --git a/Tests/RunCMake/CMakePresets/IncludeUserOutsideProjectUser.json.in b/Tests/RunCMake/CMakePresets/IncludeUserOutsideProjectUser.json.in
new file mode 100644
index 0000000..5b5427a
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeUserOutsideProjectUser.json.in
@@ -0,0 +1,11 @@
+{
+ "version": 4,
+ "include": [
+ "@RunCMake_SOURCE_DIR@/IncludeOutsideProjectInclude.json"
+ ],
+ "configurePresets": [
+ {
+ "name": "IncludeUserOutsideProject"
+ }
+ ]
+}
diff --git a/Tests/RunCMake/CMakePresets/IncludeV3-result.txt b/Tests/RunCMake/CMakePresets/IncludeV3-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeV3-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMakePresets/IncludeV3-stderr.txt b/Tests/RunCMake/CMakePresets/IncludeV3-stderr.txt
new file mode 100644
index 0000000..1869b6d
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeV3-stderr.txt
@@ -0,0 +1,2 @@
+^CMake Error: Could not read presets from [^
+]*/Tests/RunCMake/CMakePresets/IncludeV3: File version must be 4 or higher for include support$
diff --git a/Tests/RunCMake/CMakePresets/IncludeV3.json.in b/Tests/RunCMake/CMakePresets/IncludeV3.json.in
new file mode 100644
index 0000000..b28cad8
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeV3.json.in
@@ -0,0 +1,4 @@
+{
+ "version": 3,
+ "include": []
+}
diff --git a/Tests/RunCMake/CMakePresets/IncludeV4V3-result.txt b/Tests/RunCMake/CMakePresets/IncludeV4V3-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeV4V3-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMakePresets/IncludeV4V3-stderr.txt b/Tests/RunCMake/CMakePresets/IncludeV4V3-stderr.txt
new file mode 100644
index 0000000..89e3e3d
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeV4V3-stderr.txt
@@ -0,0 +1,2 @@
+^CMake Error: Could not read presets from [^
+]*/Tests/RunCMake/CMakePresets/IncludeV4V3: File version must be 4 or higher for include support$
diff --git a/Tests/RunCMake/CMakePresets/IncludeV4V3.json.in b/Tests/RunCMake/CMakePresets/IncludeV4V3.json.in
new file mode 100644
index 0000000..4afa319
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeV4V3.json.in
@@ -0,0 +1,6 @@
+{
+ "version": 4,
+ "include": [
+ "IncludeV4V3Extra.json"
+ ]
+}
diff --git a/Tests/RunCMake/CMakePresets/IncludeV4V3Extra.json.in b/Tests/RunCMake/CMakePresets/IncludeV4V3Extra.json.in
new file mode 100644
index 0000000..b28cad8
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/IncludeV4V3Extra.json.in
@@ -0,0 +1,4 @@
+{
+ "version": 3,
+ "include": []
+}
diff --git a/Tests/RunCMake/CMakePresets/RunCMakeTest.cmake b/Tests/RunCMake/CMakePresets/RunCMakeTest.cmake
index c31a645..51e786e 100644
--- a/Tests/RunCMake/CMakePresets/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CMakePresets/RunCMakeTest.cmake
@@ -44,6 +44,20 @@ function(run_cmake_presets name)
configure_file("${CMakeUserPresets_FILE}" "${RunCMake_TEST_SOURCE_DIR}/CMakeUserPresets.json" @ONLY)
endif()
+ set(_CMakePresets_EXTRA_FILES_OUT)
+ set(_CMakePresets_EXTRA_FILES_SCHEMA_EXPECTED_RESULTS)
+ foreach(_extra_file IN LISTS CMakePresets_EXTRA_FILES)
+ cmake_path(RELATIVE_PATH _extra_file
+ BASE_DIRECTORY "${RunCMake_SOURCE_DIR}"
+ OUTPUT_VARIABLE _extra_file_relative
+ )
+ string(REGEX REPLACE "\\.in$" "" _extra_file_out_relative "${_extra_file_relative}")
+ set(_extra_file_out "${RunCMake_TEST_SOURCE_DIR}/${_extra_file_out_relative}")
+ configure_file("${_extra_file}" "${_extra_file_out}")
+ list(APPEND _CMakePresets_EXTRA_FILES_OUT "${_extra_file_out}")
+ list(APPEND _CMakePresets_EXTRA_FILES_SCHEMA_EXPECTED_RESULTS 0)
+ endforeach()
+
set(_s_arg -S)
if(CMakePresets_NO_S_ARG)
set(_s_arg)
@@ -319,6 +333,37 @@ run_cmake_presets(OptionalBinaryDirFieldNoS)
unset(CMakePresets_SOURCE_ARG)
unset(CMakePresets_NO_S_ARG)
+# Test include field
+set(CMakePresets_SCHEMA_EXPECTED_RESULT 1)
+run_cmake_presets(IncludeV3)
+set(CMakePresets_SCHEMA_EXPECTED_RESULT 0)
+set(CMakePresets_EXTRA_FILES
+ "${RunCMake_SOURCE_DIR}/IncludeV4V3Extra.json.in"
+ )
+set(CMakePresets_EXTRA_FILES_SCHEMA_EXPECTED_RESULTS 1)
+run_cmake_presets(IncludeV4V3)
+unset(CMakePresets_EXTRA_FILES_SCHEMA_EXPECTED_RESULTS)
+set(CMakePresets_EXTRA_FILES
+ "${RunCMake_SOURCE_DIR}/IncludeCommon.json.in"
+ "${RunCMake_SOURCE_DIR}/IncludeUserCommon.json.in"
+ "${RunCMake_SOURCE_DIR}/subdir/CMakePresets.json.in"
+ )
+run_cmake_presets(Include --list-presets)
+unset(CMakePresets_EXTRA_FILES)
+run_cmake_presets(IncludeNotFound)
+run_cmake_presets(IncludeCycle)
+set(CMakePresets_EXTRA_FILES
+ "${RunCMake_SOURCE_DIR}/IncludeCycle3Files2.json.in"
+ "${RunCMake_SOURCE_DIR}/IncludeCycle3Files3.json.in"
+ )
+run_cmake_presets(IncludeCycle3Files)
+set(CMakePresets_EXTRA_FILES
+ "${RunCMake_SOURCE_DIR}/IncludeOutsideProjectIntermediate.json.in"
+ )
+run_cmake_presets(IncludeOutsideProject)
+unset(CMakePresets_EXTRA_FILES)
+run_cmake_presets(IncludeUserOutsideProject)
+
# Test the example from the documentation
file(READ "${RunCMake_SOURCE_DIR}/../../../Help/manual/presets/example.json" _example)
string(REPLACE "\"generator\": \"Ninja\"" "\"generator\": \"@RunCMake_GENERATOR@\"" _example "${_example}")
diff --git a/Tests/RunCMake/CMakePresets/check.cmake b/Tests/RunCMake/CMakePresets/check.cmake
index bf43c7e..cef43f4 100644
--- a/Tests/RunCMake/CMakePresets/check.cmake
+++ b/Tests/RunCMake/CMakePresets/check.cmake
@@ -12,4 +12,11 @@ if(PYTHON_EXECUTABLE AND CMake_TEST_JSON_SCHEMA)
if(EXISTS "${RunCMake_TEST_SOURCE_DIR}/CMakeUserPresets.json")
validate_schema("${RunCMake_TEST_SOURCE_DIR}/CMakeUserPresets.json" "${CMakeUserPresets_SCHEMA_EXPECTED_RESULT}")
endif()
+
+ if(NOT CMakePresets_EXTRA_FILES_SCHEMA_EXPECTED_RESULTS)
+ set(CMakePresets_EXTRA_FILES_SCHEMA_EXPECTED_RESULTS "${_CMakePresets_EXTRA_FILES_SCHEMA_EXPECTED_RESULTS}")
+ endif()
+ foreach(_f _r IN ZIP_LISTS _CMakePresets_EXTRA_FILES_OUT CMakePresets_EXTRA_FILES_SCHEMA_EXPECTED_RESULTS)
+ validate_schema("${_f}" "${_r}")
+ endforeach()
endif()
diff --git a/Tests/RunCMake/CMakePresets/subdir/CMakePresets.json.in b/Tests/RunCMake/CMakePresets/subdir/CMakePresets.json.in
new file mode 100644
index 0000000..deb9084
--- /dev/null
+++ b/Tests/RunCMake/CMakePresets/subdir/CMakePresets.json.in
@@ -0,0 +1,12 @@
+{
+ "version": 4,
+ "include": [
+ "../IncludeCommon.json"
+ ],
+ "configurePresets": [
+ {
+ "name": "Subdir",
+ "inherits": "IncludeCommon"
+ }
+ ]
+}