Merge topic 'compile-OBJECT_FILE_DIR'
8256ccb7
Add OBJECT_FILE_DIR rule placeholder for compilation lines
This commit is contained in:
commit
09c5fdfaa3
|
@ -875,6 +875,13 @@ cmLocalGenerator::ExpandRuleVariable(std::string const& variable,
|
|||
return replaceValues.ObjectDir;
|
||||
}
|
||||
}
|
||||
if(replaceValues.ObjectFileDir)
|
||||
{
|
||||
if(variable == "OBJECT_FILE_DIR")
|
||||
{
|
||||
return replaceValues.ObjectFileDir;
|
||||
}
|
||||
}
|
||||
if(replaceValues.Objects)
|
||||
{
|
||||
if(variable == "OBJECTS")
|
||||
|
|
|
@ -269,6 +269,7 @@ public:
|
|||
const char* Output;
|
||||
const char* Object;
|
||||
const char* ObjectDir;
|
||||
const char* ObjectFileDir;
|
||||
const char* Flags;
|
||||
const char* ObjectsQuoted;
|
||||
const char* SONameFlag;
|
||||
|
|
|
@ -684,6 +684,11 @@ cmMakefileTargetGenerator
|
|||
cmLocalGenerator::START_OUTPUT,
|
||||
cmLocalGenerator::SHELL);
|
||||
vars.ObjectDir = objectDir.c_str();
|
||||
std::string objectFileDir = cmSystemTools::GetFilenamePath(obj);
|
||||
objectFileDir = this->Convert(objectFileDir,
|
||||
cmLocalGenerator::START_OUTPUT,
|
||||
cmLocalGenerator::SHELL);
|
||||
vars.ObjectFileDir = objectFileDir.c_str();
|
||||
vars.Flags = flags.c_str();
|
||||
|
||||
std::string definesString = "$(";
|
||||
|
|
|
@ -385,6 +385,7 @@ cmNinjaTargetGenerator
|
|||
vars.TargetPDB = "$TARGET_PDB";
|
||||
vars.TargetCompilePDB = "$TARGET_COMPILE_PDB";
|
||||
vars.ObjectDir = "$OBJECT_DIR";
|
||||
vars.ObjectFileDir = "$OBJECT_FILE_DIR";
|
||||
|
||||
cmMakefile* mf = this->GetMakefile();
|
||||
|
||||
|
@ -623,6 +624,10 @@ cmNinjaTargetGenerator
|
|||
vars["OBJECT_DIR"] = this->GetLocalGenerator()->ConvertToOutputFormat(
|
||||
ConvertToNinjaPath(objectDir.c_str()),
|
||||
cmLocalGenerator::SHELL);
|
||||
std::string objectFileDir = cmSystemTools::GetFilenamePath(objectFileName);
|
||||
vars["OBJECT_FILE_DIR"] = this->GetLocalGenerator()->ConvertToOutputFormat(
|
||||
ConvertToNinjaPath(objectFileDir.c_str()),
|
||||
cmLocalGenerator::SHELL);
|
||||
|
||||
this->addPoolNinjaVariable("JOB_POOL_COMPILE", this->GetTarget(), vars);
|
||||
|
||||
|
@ -651,6 +656,7 @@ cmNinjaTargetGenerator
|
|||
compileObjectVars.Source = escapedSourceFileName.c_str();
|
||||
compileObjectVars.Object = objectFileName.c_str();
|
||||
compileObjectVars.ObjectDir = objectDir.c_str();
|
||||
compileObjectVars.ObjectFileDir = objectFileDir.c_str();
|
||||
compileObjectVars.Flags = vars["FLAGS"].c_str();
|
||||
compileObjectVars.Defines = vars["DEFINES"].c_str();
|
||||
|
||||
|
|
Loading…
Reference in New Issue