Automoc: fix the fix, need to use std::string, not just char* pointer
We need to take a copy of the property values, since the returned char* pointer is reused by the following GetProperty() calls Alex
This commit is contained in:
parent
8c8305f286
commit
1ecc55aa7b
|
@ -124,18 +124,21 @@ void cmQtAutomoc::SetupAutomocTarget(cmTarget* target)
|
|||
}
|
||||
}
|
||||
|
||||
const char* _moc_incs = makefile->GetProperty("INCLUDE_DIRECTORIES");
|
||||
const char* _moc_defs = makefile->GetProperty("DEFINITIONS");
|
||||
const char* _moc_compile_defs = makefile->GetProperty("COMPILE_DEFINITIONS");
|
||||
const char* tmp = makefile->GetProperty("INCLUDE_DIRECTORIES");
|
||||
std::string _moc_incs = (tmp!=0 ? tmp : "");
|
||||
tmp = makefile->GetProperty("DEFINITIONS");
|
||||
std::string _moc_defs = (tmp!=0 ? tmp : "");
|
||||
tmp = makefile->GetProperty("COMPILE_DEFINITIONS");
|
||||
std::string _moc_compile_defs = (tmp!=0 ? tmp : "");
|
||||
|
||||
// forget the variables added here afterwards again:
|
||||
cmMakefile::ScopePushPop varScope(makefile);
|
||||
static_cast<void>(varScope);
|
||||
|
||||
makefile->AddDefinition("_moc_target_name", automocTargetName.c_str());
|
||||
makefile->AddDefinition("_moc_incs", _moc_incs!=0 ? _moc_incs : "");
|
||||
makefile->AddDefinition("_moc_defs", _moc_defs!=0 ? _moc_defs : "");
|
||||
makefile->AddDefinition("_moc_compile_defs",
|
||||
_moc_compile_defs!=0 ? _moc_compile_defs : "");
|
||||
makefile->AddDefinition("_moc_incs", _moc_incs.c_str());
|
||||
makefile->AddDefinition("_moc_defs", _moc_defs.c_str());
|
||||
makefile->AddDefinition("_moc_compile_defs", _moc_compile_defs.c_str());
|
||||
makefile->AddDefinition("_moc_files", _moc_files.c_str());
|
||||
makefile->AddDefinition("_moc_headers", _moc_headers.c_str());
|
||||
|
||||
|
|
Loading…
Reference in New Issue