From d0093238afad839adec76cb99ac0ef0657e7f87c Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 24 Apr 2017 14:47:22 +0200 Subject: Add change flag in addition to timestamp in Windows manifest logic Essentially the same idea as with using target_state::changed in case the timestamps are equal (due to insufficient resolution). --- build2/cc/windows-manifest.cxx | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'build2/cc/windows-manifest.cxx') diff --git a/build2/cc/windows-manifest.cxx b/build2/cc/windows-manifest.cxx index 3b9c649..3a62fcc 100644 --- a/build2/cc/windows-manifest.cxx +++ b/build2/cc/windows-manifest.cxx @@ -36,9 +36,10 @@ namespace build2 } // Generate a Windows manifest and if necessary create/update the manifest - // file corresponding to the exe{} target. Return the manifest file path. + // file corresponding to the exe{} target. Return the manifest file path + // as well as whether it was changed. // - path link:: + pair link:: windows_manifest (const file& t, bool rpath_assembly) const { tracer trace (x, "link::windows_manifest"); @@ -108,11 +109,11 @@ namespace build2 getline (ifs, s, '\0'); if (s == m) - return mf; + return make_pair (move (mf), false); } catch (const io_error&) { - // Whatever the reason we failed for , let's rewrite the file. + // Whatever the reason we failed for, let's rewrite the file. } } @@ -130,7 +131,7 @@ namespace build2 fail << "unable to write to " << m << ": " << e; } - return mf; + return make_pair (move (mf), true); } } } -- cgit v1.1