summaryrefslogtreecommitdiffstats
path: root/Source/cmQtAutomoc.cxx
diff options
context:
space:
mode:
authorAlex Neundorf <neundorf@kde.org>2011-10-31 21:07:12 (GMT)
committerAlex Neundorf <neundorf@kde.org>2011-10-31 21:07:12 (GMT)
commit8c8305f286dab4e374bb8142ee991e00c57e418b (patch)
treee4bc5e8373d21b86a912ed061390f778ffb4c839 /Source/cmQtAutomoc.cxx
parent07e88ae4499b632222367eb5b4308cac2a89718f (diff)
downloadCMake-8c8305f286dab4e374bb8142ee991e00c57e418b.zip
CMake-8c8305f286dab4e374bb8142ee991e00c57e418b.tar.gz
CMake-8c8305f286dab4e374bb8142ee991e00c57e418b.tar.bz2
don't crash in automoc with empty COMPILE_DEFINITIONS property
Reported by Laszlo Papp: http://www.cmake.org/pipermail/cmake/2011-October/047089.html Alex
Diffstat (limited to 'Source/cmQtAutomoc.cxx')
-rw-r--r--Source/cmQtAutomoc.cxx15
1 files changed, 8 insertions, 7 deletions
diff --git a/Source/cmQtAutomoc.cxx b/Source/cmQtAutomoc.cxx
index a839489..fdc19e4 100644
--- a/Source/cmQtAutomoc.cxx
+++ b/Source/cmQtAutomoc.cxx
@@ -124,21 +124,22 @@ void cmQtAutomoc::SetupAutomocTarget(cmTarget* target)
}
}
- std::string _moc_incs = makefile->GetProperty("INCLUDE_DIRECTORIES");
- std::string _moc_defs = makefile->GetProperty("DEFINITIONS");
- std::string _moc_compile_defs = makefile->GetProperty("COMPILE_DEFINITIONS");
+ const char* _moc_incs = makefile->GetProperty("INCLUDE_DIRECTORIES");
+ const char* _moc_defs = makefile->GetProperty("DEFINITIONS");
+ const char* _moc_compile_defs = makefile->GetProperty("COMPILE_DEFINITIONS");
// 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.c_str());
- makefile->AddDefinition("_moc_defs", _moc_defs.c_str());
- makefile->AddDefinition("_moc_compile_defs", _moc_compile_defs.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_files", _moc_files.c_str());
makefile->AddDefinition("_moc_headers", _moc_headers.c_str());
- const char* cmakeRoot = makefile->GetDefinition("CMAKE_ROOT");
+ const char* cmakeRoot = makefile->GetSafeDefinition("CMAKE_ROOT");
std::string inputFile = cmakeRoot;
inputFile += "/Modules/AutomocInfo.cmake.in";
std::string outputFile = targetDir;