diff options
author | John Hodge <tpg@mutabah.net> | 2018-04-25 12:33:31 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2018-04-25 12:33:31 +0800 |
commit | 3b8d8f1a392a2cb5cad1d57d08ced693a0d197d8 (patch) | |
tree | 65b8a8646dd1ac532beaf9808be529595538852f | |
parent | c1b43f71776fda5454bd84c2cc735a0509d44436 (diff) | |
download | mrust-3b8d8f1a392a2cb5cad1d57d08ced693a0d197d8.tar.gz |
minicargo - Re-run build script if output is missing
-rw-r--r-- | tools/minicargo/build.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/tools/minicargo/build.cpp b/tools/minicargo/build.cpp index c7c07256..392e6a64 100644 --- a/tools/minicargo/build.cpp +++ b/tools/minicargo/build.cpp @@ -803,7 +803,7 @@ bool Builder::build_target(const PackageManifest& manifest, const PackageTarget& auto out_file = output_dir_abs / "build_" + manifest.name().c_str() + ".txt"; auto out_dir = output_dir_abs / "build_" + manifest.name().c_str(); - + bool run_build_script = false; // TODO: Handle a pre-existing script containing `cargo:rerun-if-changed` auto script_exe = this->build_build_script(manifest, is_for_host, &run_build_script); @@ -813,7 +813,8 @@ bool Builder::build_target(const PackageManifest& manifest, const PackageTarget& return ::helpers::path(); } - if( run_build_script ) + // If the script changed, OR the output file doesn't exist + if( run_build_script || Timestamp::for_file(out_file) == Timestamp::infinite_past() ) { auto script_exe_abs = script_exe.to_absolute(); |