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
This commit is contained in:
parent
ed09c0aecd
commit
a6bdf54a5e
@ -821,7 +821,7 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules(
|
||||
if (useArchiveRules) {
|
||||
// Construct the individual object list strings.
|
||||
std::vector<std::string> object_strings;
|
||||
this->WriteObjectsStrings(object_strings, archiveCommandLimit);
|
||||
this->WriteObjectsStrings(object_strings, false, archiveCommandLimit);
|
||||
|
||||
// Add the cuda device object to the list of archive files. This will
|
||||
// only occur on archives which have CUDA_RESOLVE_DEVICE_SYMBOLS enabled
|
||||
|
@ -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 {
|
||||
|
@ -123,6 +123,7 @@ protected:
|
||||
std::string& variableNameExternal,
|
||||
bool useWatcomQuote);
|
||||
void WriteObjectsStrings(std::vector<std::string>& objStrings,
|
||||
bool useWatcomQuote,
|
||||
std::string::size_type limit = std::string::npos);
|
||||
|
||||
// write the driver rule to build target outputs
|
||||
|
Loading…
Reference in New Issue
Block a user