diff options
author | Peter Kümmel <syntheticpp@gmx.net> | 2012-07-10 07:56:11 (GMT) |
---|---|---|
committer | Peter Kümmel <syntheticpp@gmx.net> | 2012-07-10 08:53:24 (GMT) |
commit | 7f647cf5ebf0b45663cdabe4fd137b87753b857c (patch) | |
tree | 2cee1cc242bf2e7b3836d5d4b540829821dc8721 /Source/cmGlobalNinjaGenerator.cxx | |
parent | 6274ca6f910683495124d22e371a1adc9cf0eebc (diff) | |
download | CMake-7f647cf5ebf0b45663cdabe4fd137b87753b857c.zip CMake-7f647cf5ebf0b45663cdabe4fd137b87753b857c.tar.gz CMake-7f647cf5ebf0b45663cdabe4fd137b87753b857c.tar.bz2 |
Ninja: also write link libraries to rsp file
and enable rspfile support on Linux, needed for commands longer than e.g. 2096152 characters on Ubuntu.
Diffstat (limited to 'Source/cmGlobalNinjaGenerator.cxx')
-rw-r--r-- | Source/cmGlobalNinjaGenerator.cxx | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx index 9829d19..2bb409c 100644 --- a/Source/cmGlobalNinjaGenerator.cxx +++ b/Source/cmGlobalNinjaGenerator.cxx @@ -217,6 +217,7 @@ void cmGlobalNinjaGenerator::AddCustomCommandRule() "Rule for running custom commands.", /*depfile*/ "", /*rspfile*/ "", + /*rspcontent*/ "", /*restat*/ true); } @@ -258,6 +259,7 @@ void cmGlobalNinjaGenerator::WriteRule(std::ostream& os, const std::string& comment, const std::string& depfile, const std::string& rspfile, + const std::string& rspcontent, bool restat, bool generator) { @@ -307,7 +309,8 @@ void cmGlobalNinjaGenerator::WriteRule(std::ostream& os, cmGlobalNinjaGenerator::Indent(os, 1); os << "rspfile = " << rspfile << "\n"; cmGlobalNinjaGenerator::Indent(os, 1); - os << "rspfile_content = $in" << "\n"; + os << "rspfile_content = " << + (rspcontent.empty() ? "$in" :rspcontent) << "\n"; } if(restat) @@ -538,6 +541,7 @@ void cmGlobalNinjaGenerator::AddRule(const std::string& name, const std::string& comment, const std::string& depfile, const std::string& rspfile, + const std::string& rspcontent, bool restat, bool generator) { @@ -555,6 +559,7 @@ void cmGlobalNinjaGenerator::AddRule(const std::string& name, comment, depfile, rspfile, + rspcontent, restat, generator); @@ -911,6 +916,7 @@ void cmGlobalNinjaGenerator::WriteTargetRebuildManifest(std::ostream& os) "Rule for re-running cmake.", /*depfile=*/ "", /*rspfile=*/ "", + /*rspcontent*/ "", /*restat=*/ false, /*generator=*/ true); @@ -960,6 +966,7 @@ void cmGlobalNinjaGenerator::WriteTargetClean(std::ostream& os) "Rule for cleaning all built files.", /*depfile=*/ "", /*rspfile=*/ "", + /*rspcontent*/ "", /*restat=*/ false, /*generator=*/ false); WriteBuild(os, @@ -981,6 +988,7 @@ void cmGlobalNinjaGenerator::WriteTargetHelp(std::ostream& os) "Rule for printing all primary targets available.", /*depfile=*/ "", /*rspfile=*/ "", + /*rspcontent*/ "", /*restat=*/ false, /*generator=*/ false); WriteBuild(os, |