diff options
author | Brad King <brad.king@kitware.com> | 2010-06-15 17:58:58 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2010-06-15 17:58:58 (GMT) |
commit | d9b2da139dc4ca145551861c3b2369c5d1bda980 (patch) | |
tree | 8bef5d85d5efa4c344b7ebbbdf8d69991f6d4e52 /Source/cmMakefileTargetGenerator.cxx | |
parent | d714b18ac5f415e15c5e03bf8f6aaeaf45e143f5 (diff) | |
parent | 00477de1c92d94e78cebdaf6c29ff2847207f454 (diff) | |
download | CMake-d9b2da139dc4ca145551861c3b2369c5d1bda980.zip CMake-d9b2da139dc4ca145551861c3b2369c5d1bda980.tar.gz CMake-d9b2da139dc4ca145551861c3b2369c5d1bda980.tar.bz2 |
Merge branch 'mingw-response-files'
Diffstat (limited to 'Source/cmMakefileTargetGenerator.cxx')
-rw-r--r-- | Source/cmMakefileTargetGenerator.cxx | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx index ac727ac..4c4dbc1 100644 --- a/Source/cmMakefileTargetGenerator.cxx +++ b/Source/cmMakefileTargetGenerator.cxx @@ -1327,7 +1327,7 @@ public: this->NextObject = this->LocalGenerator->Convert(obj.c_str(), cmLocalGenerator::START_OUTPUT, - cmLocalGenerator::SHELL); + cmLocalGenerator::RESPONSE); // Roll over to next string if the limit will be exceeded. if(this->LengthLimit != std::string::npos && @@ -1621,6 +1621,17 @@ cmMakefileTargetGenerator std::vector<std::string> object_strings; this->WriteObjectsStrings(object_strings, responseFileLimit); + // Lookup the response file reference flag. + std::string responseFlagVar = "CMAKE_"; + responseFlagVar += this->Target->GetLinkerLanguage(this->ConfigName); + responseFlagVar += "_RESPONSE_FILE_LINK_FLAG"; + const char* responseFlag = + this->Makefile->GetDefinition(responseFlagVar.c_str()); + if(!responseFlag) + { + responseFlag = "@"; + } + // Write a response file for each string. const char* sep = ""; for(unsigned int i = 0; i < object_strings.size(); ++i) @@ -1638,7 +1649,7 @@ cmMakefileTargetGenerator sep = " "; // Reference the response file. - buildObjs += "@"; + buildObjs += responseFlag; buildObjs += this->Convert(objects_rsp.c_str(), cmLocalGenerator::NONE, cmLocalGenerator::SHELL); |