| file(GLOB replies "${RunCMake_TEST_BINARY_DIR}/.cmake/api/v1/reply/target-headers-*.json") | |
| if(NOT replies) | |
| set(RunCMake_TEST_FAILED "No File API reply for headers") | |
| return() | |
| endif() | |
| validate_json_schema("${RunCMake_SOURCE_DIR}/../../../Help/manual/file_api/schema_target.json" "${replies}") | |
| foreach(reply IN LISTS replies) | |
| file(READ "${reply}" contents) | |
| string(JSON count ERROR_VARIABLE error LENGTH "${contents}" interfaceIncludes) | |
| if(error OR NOT count EQUAL 1) | |
| set(RunCMake_TEST_FAILED "Expected one language-independent interface include in ${reply}") | |
| return() | |
| endif() | |
| string(JSON path GET "${contents}" interfaceIncludes 0 path) | |
| string(JSON languages ERROR_VARIABLE error GET "${contents}" interfaceIncludes 0 languages) | |
| if(NOT error) | |
| set(RunCMake_TEST_FAILED "Unexpected languages for a project with no enabled languages: ${languages}") | |
| return() | |
| endif() | |
| if(NOT path STREQUAL RunCMake_SOURCE_DIR) | |
| set(RunCMake_TEST_FAILED "Unexpected language-independent interface include: ${path}") | |
| return() | |
| endif() | |
| endforeach() |