Imported Upstream version 3.25.0
[platform/upstream/cmake.git] / Tests / RunCMake / CXXModules / ExportBuildCxxModules-check.cmake
1 file(READ "${RunCMake_TEST_BINARY_DIR}/lib/cmake/export-modules/export-modules-targets.cmake" export_script)
2
3 if (NOT export_script MATCHES [[include\("\${CMAKE_CURRENT_LIST_DIR}/cxx-modules/cxx-modules\.cmake"\)]])
4   list(APPEND RunCMake_TEST_FAILED
5     "Could not find C++ module property script inclusion")
6 endif ()
7
8 file(READ "${RunCMake_TEST_BINARY_DIR}/lib/cmake/export-modules/cxx-modules/cxx-modules.cmake" trampoline_script)
9
10 if (RunCMake_GENERATOR_IS_MULTI_CONFIG)
11   if (NOT trampoline_script MATCHES [[include\("\${CMAKE_CURRENT_LIST_DIR}/cxx-modules-[^.]*\.cmake" OPTIONAL\)]])
12     list(APPEND RunCMake_TEST_FAILED
13       "Could not find C++ module property per-config script inclusion(s)")
14   endif ()
15 else ()
16   if (NOT trampoline_script MATCHES [[include\("\${CMAKE_CURRENT_LIST_DIR}/cxx-modules-[^.]*\.cmake"\)]])
17     list(APPEND RunCMake_TEST_FAILED
18       "Could not find C++ module property per-config script inclusion(s)")
19   endif ()
20 endif ()
21
22 set(any_exists 0)
23 foreach (config IN ITEMS noconfig Debug Release RelWithDebInfo MinSizeRel)
24   if (NOT EXISTS "${RunCMake_TEST_BINARY_DIR}/lib/cmake/export-modules/cxx-modules/cxx-modules-${config}.cmake")
25     continue ()
26   endif ()
27   set(any_exists 1)
28
29   file(READ "${RunCMake_TEST_BINARY_DIR}/lib/cmake/export-modules/cxx-modules/cxx-modules-${config}.cmake" config_script)
30
31   if (NOT config_script MATCHES "include\\(\"\\\${CMAKE_CURRENT_LIST_DIR}/target-export-name-${config}\\.cmake\"\\)")
32     list(APPEND RunCMake_TEST_FAILED
33       "Could not find C++ module per-target property script inclusion")
34   endif ()
35 endforeach ()
36
37 if (NOT any_exists)
38   list(APPEND RunCMake_TEST_FAILED
39     "No per-configuration target files exist.")
40 endif ()