cache flags and defines
This commit is contained in:
parent
3f064efe40
commit
65c0c24a29
|
@ -250,7 +250,10 @@ void cmMakefileTargetGenerator::WriteCommonCodeRules()
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
std::string cmMakefileTargetGenerator::GetFlags(const std::string &l) {
|
std::string cmMakefileTargetGenerator::GetFlags(const std::string &l) {
|
||||||
std::string flags;
|
std::pair<std::map<std::string, std::string>::iterator, bool>
|
||||||
|
insert_result = this->FlagsByLanguage.insert(std::make_pair(l, ""));
|
||||||
|
if (insert_result.second) {
|
||||||
|
std::string& flags = insert_result.first->second;
|
||||||
const char *lang = l.c_str();
|
const char *lang = l.c_str();
|
||||||
|
|
||||||
bool shared = ((this->Target->GetType() == cmTarget::SHARED_LIBRARY) ||
|
bool shared = ((this->Target->GetType() == cmTarget::SHARED_LIBRARY) ||
|
||||||
|
@ -281,12 +284,15 @@ std::string cmMakefileTargetGenerator::GetFlags(const std::string &l) {
|
||||||
// Add include directory flags.
|
// Add include directory flags.
|
||||||
this->LocalGenerator->
|
this->LocalGenerator->
|
||||||
AppendFlags(flags,this->GetFrameworkFlags().c_str());
|
AppendFlags(flags,this->GetFrameworkFlags().c_str());
|
||||||
|
}
|
||||||
return flags;
|
return insert_result.first->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string cmMakefileTargetGenerator::GetDefines(const std::string &l) {
|
std::string cmMakefileTargetGenerator::GetDefines(const std::string &l) {
|
||||||
std::string defines;
|
std::pair<std::map<std::string, std::string>::iterator, bool>
|
||||||
|
insert_result = this->DefinesByLanguage.insert(std::make_pair(l, ""));
|
||||||
|
if (insert_result.second) {
|
||||||
|
std::string &defines = insert_result.first->second;
|
||||||
const char *lang = l.c_str();
|
const char *lang = l.c_str();
|
||||||
// Add the export symbol definition for shared library objects.
|
// Add the export symbol definition for shared library objects.
|
||||||
if(const char* exportMacro = this->Target->GetExportMacro())
|
if(const char* exportMacro = this->Target->GetExportMacro())
|
||||||
|
@ -306,7 +312,8 @@ std::string cmMakefileTargetGenerator::GetDefines(const std::string &l) {
|
||||||
(defines, this->Makefile->GetProperty(defPropName.c_str()), lang);
|
(defines, this->Makefile->GetProperty(defPropName.c_str()), lang);
|
||||||
this->LocalGenerator->AppendDefines
|
this->LocalGenerator->AppendDefines
|
||||||
(defines, this->Target->GetProperty(defPropName.c_str()), lang);
|
(defines, this->Target->GetProperty(defPropName.c_str()), lang);
|
||||||
return defines;
|
}
|
||||||
|
return insert_result.first->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cmMakefileTargetGenerator::WriteTargetLanguageFlags()
|
void cmMakefileTargetGenerator::WriteTargetLanguageFlags()
|
||||||
|
|
|
@ -217,7 +217,9 @@ protected:
|
||||||
std::set<cmStdString> MacContentFolders;
|
std::set<cmStdString> MacContentFolders;
|
||||||
|
|
||||||
std::string GetFlags(const std::string &l);
|
std::string GetFlags(const std::string &l);
|
||||||
|
std::map<std::string, std::string> FlagsByLanguage;
|
||||||
std::string GetDefines(const std::string &l);
|
std::string GetDefines(const std::string &l);
|
||||||
|
std::map<std::string, std::string> DefinesByLanguage;
|
||||||
|
|
||||||
// Target-wide Fortran module output directory.
|
// Target-wide Fortran module output directory.
|
||||||
bool FortranModuleDirectoryComputed;
|
bool FortranModuleDirectoryComputed;
|
||||||
|
|
Loading…
Reference in New Issue