ExportBuildCxxModules-check.cmake 1.7 KB

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