diff options
author | Ben Boeckel <ben.boeckel@kitware.com> | 2023-02-01 09:11:30 -0500 |
---|---|---|
committer | Ben Boeckel <ben.boeckel@kitware.com> | 2023-02-01 09:12:49 -0500 |
commit | eed295fd8a84f4a4919acf2893053ad7e52e656d (patch) | |
tree | c5422b45d3cfe9625871fe191acb4d889451c04f | |
parent | 837f7c113a9333997304c3b5742c922617da23b5 (diff) | |
download | cmake-eed295fd8a84f4a4919acf2893053ad7e52e656d.tar.gz |
cmGlobalNinjaGenerator: require that dependency info files work
Now that only targets expected to have information are listed, all
`<LANG>Modules.json` files should exist.
-rw-r--r-- | Source/cmGlobalNinjaGenerator.cxx | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx index b80a06e677..93aa30a1ec 100644 --- a/Source/cmGlobalNinjaGenerator.cxx +++ b/Source/cmGlobalNinjaGenerator.cxx @@ -2537,8 +2537,13 @@ bool cmGlobalNinjaGenerator::WriteDyndepFile( cmStrCat(linked_target_dir, '/', arg_lang, "Modules.json"); Json::Value ltm; cmsys::ifstream ltmf(ltmn.c_str(), std::ios::in | std::ios::binary); + if (!ltmf) { + cmSystemTools::Error(cmStrCat("-E cmake_ninja_dyndep failed to open ", + ltmn, " for module information")); + return false; + } Json::Reader reader; - if (ltmf && !reader.parse(ltmf, ltm, false)) { + if (!reader.parse(ltmf, ltm, false)) { cmSystemTools::Error(cmStrCat("-E cmake_ninja_dyndep failed to parse ", linked_target_dir, reader.getFormattedErrorMessages())); |