|
@@ -24,6 +24,7 @@
|
|
|
#include "cmComputeLinkInformation.h"
|
|
#include "cmComputeLinkInformation.h"
|
|
|
#include "cmCustomCommandGenerator.h"
|
|
#include "cmCustomCommandGenerator.h"
|
|
|
#include "cmGeneratorExpression.h"
|
|
#include "cmGeneratorExpression.h"
|
|
|
|
|
+#include "cmAlgorithms.h"
|
|
|
|
|
|
|
|
#include "cmMakefileExecutableTargetGenerator.h"
|
|
#include "cmMakefileExecutableTargetGenerator.h"
|
|
|
#include "cmMakefileLibraryTargetGenerator.h"
|
|
#include "cmMakefileLibraryTargetGenerator.h"
|
|
@@ -681,6 +682,15 @@ cmMakefileTargetGenerator
|
|
|
this->Convert(targetFullPathCompilePDB,
|
|
this->Convert(targetFullPathCompilePDB,
|
|
|
cmLocalGenerator::START_OUTPUT,
|
|
cmLocalGenerator::START_OUTPUT,
|
|
|
cmLocalGenerator::SHELL);
|
|
cmLocalGenerator::SHELL);
|
|
|
|
|
+
|
|
|
|
|
+ if (this->LocalGenerator->IsMinGWMake() &&
|
|
|
|
|
+ cmHasLiteralSuffix(targetOutPathCompilePDB, "\\"))
|
|
|
|
|
+ {
|
|
|
|
|
+ // mingw32-make incorrectly interprets 'a\ b c' as 'a b' and 'c'
|
|
|
|
|
+ // (but 'a\ b "c"' as 'a\', 'b', and 'c'!). Workaround this by
|
|
|
|
|
+ // avoiding a trailing backslash in the argument.
|
|
|
|
|
+ targetOutPathCompilePDB[targetOutPathCompilePDB.size()-1] = '/';
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
cmLocalGenerator::RuleVariables vars;
|
|
cmLocalGenerator::RuleVariables vars;
|
|
|
vars.RuleLauncher = "RULE_LAUNCH_COMPILE";
|
|
vars.RuleLauncher = "RULE_LAUNCH_COMPILE";
|