mirror of
https://github.com/reactos/CMake.git
synced 2024-11-25 12:40:06 +00:00
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
This commit is contained in:
parent
867b226898
commit
3df49dc7b1
@ -25,10 +25,12 @@ MACRO(_DETERMINE_GCC_SYSTEM_INCLUDE_DIRS _lang _resultIncludeDirs _resultDefines
|
||||
|
||||
IF (${_lang} STREQUAL "c++")
|
||||
SET(_compilerExecutable "${CMAKE_CXX_COMPILER}")
|
||||
SET(_arg1 "${CMAKE_CXX_COMPILER_ARG1}")
|
||||
ELSE ()
|
||||
SET(_compilerExecutable "${CMAKE_C_COMPILER}")
|
||||
SET(_arg1 "${CMAKE_C_COMPILER_ARG1}")
|
||||
ENDIF ()
|
||||
EXECUTE_PROCESS(COMMAND ${_compilerExecutable} -v -E -x ${_lang} -dD dummy
|
||||
EXECUTE_PROCESS(COMMAND ${_compilerExecutable} ${_arg1} -v -E -x ${_lang} -dD dummy
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/CMakeFiles
|
||||
ERROR_VARIABLE _gccOutput
|
||||
OUTPUT_VARIABLE _gccStdout )
|
||||
|
@ -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",
|
||||
|
Loading…
Reference in New Issue
Block a user