diff options
author | Alex Neundorf <neundorf@kde.org> | 2011-10-01 17:09:24 (GMT) |
---|---|---|
committer | Alex Neundorf <neundorf@kde.org> | 2011-10-01 17:09:24 (GMT) |
commit | 3df49dc7b1517109ef198177f541e24bc61fefea (patch) | |
tree | e3032764b931e41f2ab6c21cdd94bb8ed25c6dd9 /Source/cmExtraEclipseCDT4Generator.cxx | |
parent | 867b226898fa1dab1001abf7dd18e21d273b259e (diff) | |
download | CMake-3df49dc7b1517109ef198177f541e24bc61fefea.zip CMake-3df49dc7b1517109ef198177f541e24bc61fefea.tar.gz CMake-3df49dc7b1517109ef198177f541e24bc61fefea.tar.bz2 |
fix #12392: handle CMAKE_CXX_COMPILER_ARG1 for Eclipse projects
CMAKE_CXX/C_COMPILER_ARG1 have to be used for finding the include
dirs and builtin macros, so Eclipse can do code completion
Alex
Diffstat (limited to 'Source/cmExtraEclipseCDT4Generator.cxx')
-rw-r--r-- | Source/cmExtraEclipseCDT4Generator.cxx | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/Source/cmExtraEclipseCDT4Generator.cxx b/Source/cmExtraEclipseCDT4Generator.cxx index 1dd9bf3..7beffdc 100644 --- a/Source/cmExtraEclipseCDT4Generator.cxx +++ b/Source/cmExtraEclipseCDT4Generator.cxx @@ -987,17 +987,26 @@ void cmExtraEclipseCDT4Generator // we need the "make" and the C (or C++) compiler which are used, Alex std::string make = makefile.GetRequiredDefinition("CMAKE_MAKE_PROGRAM"); std::string compiler = makefile.GetSafeDefinition("CMAKE_C_COMPILER"); + std::string arg1 = makefile.GetSafeDefinition("CMAKE_C_COMPILER_ARG1"); if (compiler.empty()) { compiler = makefile.GetSafeDefinition("CMAKE_CXX_COMPILER"); + arg1 = makefile.GetSafeDefinition("CMAKE_CXX_COMPILER_ARG1"); } if (compiler.empty()) //Hmm, what to do now ? { compiler = "gcc"; } - // the following right now hardcodes gcc behaviour :-/ + std::string compilerArgs = + "-E -P -v -dD ${plugin_state_location}/${specs_file}"; + if (!arg1.empty()) + { + arg1 += " "; + compilerArgs = arg1 + compilerArgs; + } + fout << "<storageModule moduleId=\"scannerConfiguration\">\n" "<autodiscovery enabled=\"true\" problemReportingEnabled=\"true\"" @@ -1007,7 +1016,7 @@ void cmExtraEclipseCDT4Generator cmExtraEclipseCDT4Generator::AppendScannerProfile(fout, "org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile", true, "", true, "specsFile", - "-E -P -v -dD ${plugin_state_location}/${specs_file}", + compilerArgs, compiler, true, true); cmExtraEclipseCDT4Generator::AppendScannerProfile(fout, "org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile", |