summaryrefslogtreecommitdiff
path: root/Source/cmQtAutomoc.cxx
diff options
context:
space:
mode:
authorAlex Neundorf <neundorf@kde.org>2011-11-01 13:59:14 +0100
committerAlex Neundorf <neundorf@kde.org>2011-11-01 13:59:14 +0100
commit1ecc55aa7b95a487996654e81d6493e7b72961c0 (patch)
treed42366a0cbfbd230d8c042df1f5fcd3b8402caab /Source/cmQtAutomoc.cxx
parent8c8305f286dab4e374bb8142ee991e00c57e418b (diff)
downloadcmake-1ecc55aa7b95a487996654e81d6493e7b72961c0.tar.gz
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
Diffstat (limited to 'Source/cmQtAutomoc.cxx')
-rw-r--r--Source/cmQtAutomoc.cxx17
1 files changed, 10 insertions, 7 deletions
diff --git a/Source/cmQtAutomoc.cxx b/Source/cmQtAutomoc.cxx
index fdc19e40b5..e9cc9d154b 100644
--- a/Source/cmQtAutomoc.cxx
+++ b/Source/cmQtAutomoc.cxx
@@ -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());