diff options
author | Jiri Malak <malak.jiri@gmail.com> | 2023-01-25 13:42:20 (GMT) |
---|---|---|
committer | Jiri Malak <malak.jiri@gmail.com> | 2023-01-26 14:27:53 (GMT) |
commit | a6bdf54a5e2ca2023136640f423e32fb1f01112e (patch) | |
tree | 3512c2448b41d0d307bd7ccae5e84b8d5dcd83f6 /Source/cmMakefileTargetGenerator.cxx | |
parent | ed09c0aecd7c68b3ad2af805fda1449f799a6eae (diff) | |
download | CMake-a6bdf54a5e2ca2023136640f423e32fb1f01112e.zip CMake-a6bdf54a5e2ca2023136640f423e32fb1f01112e.tar.gz CMake-a6bdf54a5e2ca2023136640f423e32fb1f01112e.tar.bz2 |
Watcom: Fix double-quote to be single-quote in response files for wlink
Response files contained double-quote for any response file, but response files for wlink must contains single-quote. This is fix for libraries list response file. Problem for object file list was fixed by MR
!8115
Diffstat (limited to 'Source/cmMakefileTargetGenerator.cxx')
-rw-r--r-- | Source/cmMakefileTargetGenerator.cxx | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx index 20cc2c3..9df1af7 100644 --- a/Source/cmMakefileTargetGenerator.cxx +++ b/Source/cmMakefileTargetGenerator.cxx @@ -1888,10 +1888,12 @@ class cmMakefileTargetGeneratorObjectStrings public: cmMakefileTargetGeneratorObjectStrings(std::vector<std::string>& strings, cmOutputConverter* outputConverter, + bool useWatcomQuote, cmStateDirectory const& stateDir, std::string::size_type limit) : Strings(strings) , OutputConverter(outputConverter) + , UseWatcomQuote(useWatcomQuote) , StateDir(stateDir) , LengthLimit(limit) { @@ -1902,7 +1904,7 @@ public: // Construct the name of the next object. this->NextObject = this->OutputConverter->ConvertToOutputFormat( this->OutputConverter->MaybeRelativeToCurBinDir(obj), - cmOutputConverter::RESPONSE); + cmOutputConverter::RESPONSE, this->UseWatcomQuote); // Roll over to next string if the limit will be exceeded. if (this->LengthLimit != std::string::npos && @@ -1925,6 +1927,7 @@ public: private: std::vector<std::string>& Strings; cmOutputConverter* OutputConverter; + bool UseWatcomQuote; cmStateDirectory StateDir; std::string::size_type LengthLimit; std::string CurrentString; @@ -1933,12 +1936,13 @@ private: }; void cmMakefileTargetGenerator::WriteObjectsStrings( - std::vector<std::string>& objStrings, std::string::size_type limit) + std::vector<std::string>& objStrings, bool useWatcomQuote, + std::string::size_type limit) { cmValue pchExtension = this->Makefile->GetDefinition("CMAKE_PCH_EXTENSION"); cmMakefileTargetGeneratorObjectStrings helper( - objStrings, this->LocalGenerator, + objStrings, this->LocalGenerator, useWatcomQuote, this->LocalGenerator->GetStateSnapshot().GetDirectory(), limit); for (std::string const& obj : this->Objects) { if (cmHasSuffix(obj, pchExtension)) { @@ -2259,7 +2263,8 @@ void cmMakefileTargetGenerator::CreateObjectLists( // Construct the individual object list strings. std::vector<std::string> object_strings; - this->WriteObjectsStrings(object_strings, responseFileLimit); + this->WriteObjectsStrings(object_strings, useWatcomQuote, + responseFileLimit); // Lookup the response file reference flag. std::string responseFlag = this->GetResponseFlag(responseMode); @@ -2289,7 +2294,7 @@ void cmMakefileTargetGenerator::CreateObjectLists( } else if (useLinkScript) { if (!useArchiveRules) { std::vector<std::string> objStrings; - this->WriteObjectsStrings(objStrings); + this->WriteObjectsStrings(objStrings, useWatcomQuote); buildObjs = objStrings[0]; } } else { |