diff options
author | Brad King <brad.king@kitware.com> | 2006-06-15 20:17:11 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2006-06-15 20:17:11 (GMT) |
commit | 0bbcb49f65eb92daafc5ad87162f1ecedc3438dc (patch) | |
tree | 4889b6c00d1b1fb55a0e55c1ec17cb16edf0a4ab /Source/cmMakefileTargetGenerator.cxx | |
parent | 6438bec4c9355960f47e4b853f27b548a55ec5e0 (diff) | |
download | CMake-0bbcb49f65eb92daafc5ad87162f1ecedc3438dc.zip CMake-0bbcb49f65eb92daafc5ad87162f1ecedc3438dc.tar.gz CMake-0bbcb49f65eb92daafc5ad87162f1ecedc3438dc.tar.bz2 |
ENH: Added generation of link rules into script files executed by a cmake -E command in order to support longer link lines. This is needed only on platforms without response file support and that may have weak shells.
Diffstat (limited to 'Source/cmMakefileTargetGenerator.cxx')
-rw-r--r-- | Source/cmMakefileTargetGenerator.cxx | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx index 8973627..0f1a087 100644 --- a/Source/cmMakefileTargetGenerator.cxx +++ b/Source/cmMakefileTargetGenerator.cxx @@ -809,6 +809,56 @@ cmMakefileTargetGenerator } //---------------------------------------------------------------------------- +void +cmMakefileTargetGenerator +::WriteObjectsString(std::string& buildObjs) +{ + std::string object; + const char* no_quoted = + this->Makefile->GetDefinition("CMAKE_NO_QUOTED_OBJECTS"); + const char* space = ""; + for(std::vector<std::string>::const_iterator i = this->Objects.begin(); + i != this->Objects.end(); ++i) + { + if ( this->ExtraContent.find(i->c_str()) != this->ExtraContent.end() ) + { + continue; + } + buildObjs += space; + space = " "; + if(no_quoted) + { + buildObjs += + this->Convert(i->c_str(), cmLocalGenerator::START_OUTPUT, + cmLocalGenerator::SHELL); + } + else + { + buildObjs += + this->LocalGenerator->ConvertToQuotedOutputPath(i->c_str()); + } + } + for(std::vector<std::string>::const_iterator i = + this->ExternalObjects.begin(); + i != this->ExternalObjects.end(); ++i) + { + buildObjs += space; + space = " "; + if(no_quoted) + { + buildObjs += + this->Convert(i->c_str(), cmLocalGenerator::START_OUTPUT, + cmLocalGenerator::SHELL); + } + else + { + buildObjs += + this->LocalGenerator->ConvertToQuotedOutputPath(i->c_str()); + } + } +} + +//---------------------------------------------------------------------------- void cmMakefileTargetGenerator::WriteTargetDriverRule(const char* main_output, bool relink) { |