summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefileTargetGenerator.cxx
diff options
context:
space:
mode:
authorJiri Malak <malak.jiri@gmail.com>2023-01-25 13:42:20 (GMT)
committerJiri Malak <malak.jiri@gmail.com>2023-01-26 14:27:53 (GMT)
commita6bdf54a5e2ca2023136640f423e32fb1f01112e (patch)
tree3512c2448b41d0d307bd7ccae5e84b8d5dcd83f6 /Source/cmMakefileTargetGenerator.cxx
parented09c0aecd7c68b3ad2af805fda1449f799a6eae (diff)
downloadCMake-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.cxx15
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 {