blob: f35ef4f8b08e454e330a0999bda0f2775fd52bdf [file]
if (EXISTS "${prefix}")
list(APPEND RunCMake_TEST_FAILED "Preparation ran installation.")
return ()
endif ()
if (kind STREQUAL "GeneratedSource" AND
NOT EXISTS "${RunCMake_TEST_BINARY_DIR}/generated.cxx")
list(APPEND RunCMake_TEST_FAILED "Preparation did not generate the module source.")
return ()
endif ()
if (expect_build)
set(bmi_dir "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/${module_target}.dir")
if (RunCMake_GENERATOR_IS_MULTI_CONFIG)
string(APPEND bmi_dir "/${config}")
endif ()
set(bmi)
foreach (ext IN ITEMS gcm ifc pcm)
set(path "${bmi_dir}/importable.${ext}")
if (EXISTS "${path}" AND NOT IS_DIRECTORY "${path}")
set(bmi "${path}")
break ()
endif ()
endforeach ()
if (NOT bmi)
list(APPEND RunCMake_TEST_FAILED "Preparation did not build the module BMI.")
return ()
endif ()
if (kind STREQUAL "BMI")
set(script "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/${module_target}.dir/install-cxx-module-bmi-${config}.cmake")
if (NOT EXISTS "${script}")
list(APPEND RunCMake_TEST_FAILED "Preparation did not generate the BMI install script.")
endif ()
else ()
file(GLOB metadata
"${RunCMake_TEST_BINARY_DIR}/CMakeFiles/Export/*/cxx-modules/target-export__interfaces-${config}.cmake")
if (NOT metadata)
list(APPEND RunCMake_TEST_FAILED "Preparation did not generate module export metadata.")
endif ()
endif ()
else ()
file(GLOB_RECURSE bmis LIST_DIRECTORIES FALSE
"${RunCMake_TEST_BINARY_DIR}/*.gcm"
"${RunCMake_TEST_BINARY_DIR}/*.ifc"
"${RunCMake_TEST_BINARY_DIR}/*.pcm")
if (bmis)
list(APPEND RunCMake_TEST_FAILED "Preparation built unneeded BMIs: ${bmis}")
endif ()
endif ()
string(REPLACE ";" "\n " RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}")