summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Boeckel <ben.boeckel@kitware.com>2023-02-01 09:11:30 -0500
committerBen Boeckel <ben.boeckel@kitware.com>2023-02-01 09:12:49 -0500
commiteed295fd8a84f4a4919acf2893053ad7e52e656d (patch)
treec5422b45d3cfe9625871fe191acb4d889451c04f
parent837f7c113a9333997304c3b5742c922617da23b5 (diff)
downloadcmake-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.cxx7
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()));