diff options
author | Brad King <brad.king@kitware.com> | 2024-07-23 13:51:02 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2024-07-23 13:51:12 (GMT) |
commit | 20efbc07dfd3fe47a82d1a13366928f3424e33c0 (patch) | |
tree | 5927d7b09e5ee2cb9b6a1d6486c42d3fb27cda3b | |
parent | 089e946399fc9c6b43a861a2f630ad0b6eccef25 (diff) | |
parent | ab26d334bfa74871095239a53a6c7af92bdbacdf (diff) | |
download | CMake-20efbc07dfd3fe47a82d1a13366928f3424e33c0.zip CMake-20efbc07dfd3fe47a82d1a13366928f3424e33c0.tar.gz CMake-20efbc07dfd3fe47a82d1a13366928f3424e33c0.tar.bz2 |
Merge topic 'cpack-external-partial-json' into release-3.30
ab26d334bf cmCPackExternalGenerator: ensure JSON is written before running the script
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9669
-rw-r--r-- | Source/CPack/cmCPackExternalGenerator.cxx | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/Source/CPack/cmCPackExternalGenerator.cxx b/Source/CPack/cmCPackExternalGenerator.cxx index 52eacaa..76cb876 100644 --- a/Source/CPack/cmCPackExternalGenerator.cxx +++ b/Source/CPack/cmCPackExternalGenerator.cxx @@ -15,6 +15,7 @@ #include "cmCPackComponentGroup.h" #include "cmCPackLog.h" +#include "cmGeneratedFileStream.h" #include "cmList.h" #include "cmMakefile.h" #include "cmSystemTools.h" @@ -48,17 +49,19 @@ int cmCPackExternalGenerator::PackageFiles() filename = this->packageFileNames[0]; } - cmsys::ofstream fout(filename.c_str()); - std::unique_ptr<Json::StreamWriter> jout(builder.newStreamWriter()); + { + cmGeneratedFileStream fout(filename); + std::unique_ptr<Json::StreamWriter> jout(builder.newStreamWriter()); - Json::Value root(Json::objectValue); + Json::Value root(Json::objectValue); - if (!this->Generator->WriteToJSON(root)) { - return 0; - } + if (!this->Generator->WriteToJSON(root)) { + return 0; + } - if (jout->write(root, &fout)) { - return 0; + if (jout->write(root, &fout)) { + return 0; + } } cmValue packageScript = this->GetOption("CPACK_EXTERNAL_PACKAGE_SCRIPT"); |