Add cache var CMAKE_ECLIPSE_MAKE_ARGUMENTS when using the Eclipse generator
This variable can be set to command line arguments which will be passed to make when eclipse invokes make, e.g. you can enter "-j8" to get 8 parallel builds (#9930) Alex
This commit is contained in:
parent
1b98d99c28
commit
50d21d4251
|
@ -17,6 +17,8 @@
|
||||||
|
|
||||||
FIND_PROGRAM(CMAKE_ECLIPSE_EXECUTABLE NAMES eclipse DOC "The Eclipse executable")
|
FIND_PROGRAM(CMAKE_ECLIPSE_EXECUTABLE NAMES eclipse DOC "The Eclipse executable")
|
||||||
|
|
||||||
|
# This variable is used by the Eclipse generator and appended to the make invocation commands.
|
||||||
|
SET(CMAKE_ECLIPSE_MAKE_ARGUMENTS "" CACHE STRING "Additional command line arguments when Eclipse invokes make. Enter e.g. -j<some_number> to get parallel builds")
|
||||||
|
|
||||||
# The Eclipse generator needs to know the standard include path
|
# The Eclipse generator needs to know the standard include path
|
||||||
# so that Eclipse ca find the headers at runtime and parsing etc. works better
|
# so that Eclipse ca find the headers at runtime and parsing etc. works better
|
||||||
|
|
|
@ -734,6 +734,8 @@ void cmExtraEclipseCDT4Generator::CreateCProjectFile() const
|
||||||
;
|
;
|
||||||
emmited.clear();
|
emmited.clear();
|
||||||
const std::string make = mf->GetRequiredDefinition("CMAKE_MAKE_PROGRAM");
|
const std::string make = mf->GetRequiredDefinition("CMAKE_MAKE_PROGRAM");
|
||||||
|
const std::string makeArgs = mf->GetSafeDefinition(
|
||||||
|
"CMAKE_ECLIPSE_MAKE_ARGUMENTS");
|
||||||
cmGlobalGenerator* generator
|
cmGlobalGenerator* generator
|
||||||
= const_cast<cmGlobalGenerator*>(this->GlobalGenerator);
|
= const_cast<cmGlobalGenerator*>(this->GlobalGenerator);
|
||||||
|
|
||||||
|
@ -794,7 +796,7 @@ void cmExtraEclipseCDT4Generator::CreateCProjectFile() const
|
||||||
}
|
}
|
||||||
if (insertTarget)
|
if (insertTarget)
|
||||||
{
|
{
|
||||||
this->AppendTarget(fout, ti->first, make, subdir, ": ");
|
this->AppendTarget(fout, ti->first, make, makeArgs, subdir, ": ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -809,7 +811,7 @@ void cmExtraEclipseCDT4Generator::CreateCProjectFile() const
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
this->AppendTarget(fout, ti->first, make, subdir, ": ");
|
this->AppendTarget(fout, ti->first, make, makeArgs, subdir, ": ");
|
||||||
break;
|
break;
|
||||||
case cmTarget::EXECUTABLE:
|
case cmTarget::EXECUTABLE:
|
||||||
case cmTarget::STATIC_LIBRARY:
|
case cmTarget::STATIC_LIBRARY:
|
||||||
|
@ -818,10 +820,10 @@ void cmExtraEclipseCDT4Generator::CreateCProjectFile() const
|
||||||
{
|
{
|
||||||
const char* prefix = (ti->second.GetType()==cmTarget::EXECUTABLE ?
|
const char* prefix = (ti->second.GetType()==cmTarget::EXECUTABLE ?
|
||||||
"[exe] " : "[lib] ");
|
"[exe] " : "[lib] ");
|
||||||
this->AppendTarget(fout, ti->first, make, subdir, prefix);
|
this->AppendTarget(fout, ti->first, make, makeArgs, subdir, prefix);
|
||||||
std::string fastTarget = ti->first;
|
std::string fastTarget = ti->first;
|
||||||
fastTarget += "/fast";
|
fastTarget += "/fast";
|
||||||
this->AppendTarget(fout, fastTarget, make, subdir, prefix);
|
this->AppendTarget(fout, fastTarget, make, makeArgs, subdir, prefix);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
// ignore these:
|
// ignore these:
|
||||||
|
@ -836,11 +838,11 @@ void cmExtraEclipseCDT4Generator::CreateCProjectFile() const
|
||||||
// insert the all and clean targets in every subdir
|
// insert the all and clean targets in every subdir
|
||||||
if (!allTarget.empty())
|
if (!allTarget.empty())
|
||||||
{
|
{
|
||||||
this->AppendTarget(fout, allTarget, make, subdir, ": ");
|
this->AppendTarget(fout, allTarget, make, makeArgs, subdir, ": ");
|
||||||
}
|
}
|
||||||
if (!cleanTarget.empty())
|
if (!cleanTarget.empty())
|
||||||
{
|
{
|
||||||
this->AppendTarget(fout, cleanTarget, make, subdir, ": ");
|
this->AppendTarget(fout, cleanTarget, make, makeArgs, subdir, ": ");
|
||||||
}
|
}
|
||||||
|
|
||||||
//insert rules for compiling, preprocessing and assembling individual files
|
//insert rules for compiling, preprocessing and assembling individual files
|
||||||
|
@ -860,7 +862,7 @@ void cmExtraEclipseCDT4Generator::CreateCProjectFile() const
|
||||||
{
|
{
|
||||||
prefix = "[pre] ";
|
prefix = "[pre] ";
|
||||||
}
|
}
|
||||||
this->AppendTarget(fout, *fit, make, subdir, prefix);
|
this->AppendTarget(fout, *fit, make, makeArgs, subdir, prefix);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -993,6 +995,7 @@ void cmExtraEclipseCDT4Generator
|
||||||
void cmExtraEclipseCDT4Generator::AppendTarget(cmGeneratedFileStream& fout,
|
void cmExtraEclipseCDT4Generator::AppendTarget(cmGeneratedFileStream& fout,
|
||||||
const std::string& target,
|
const std::string& target,
|
||||||
const std::string& make,
|
const std::string& make,
|
||||||
|
const std::string& makeArgs,
|
||||||
const std::string& path,
|
const std::string& path,
|
||||||
const char* prefix)
|
const char* prefix)
|
||||||
{
|
{
|
||||||
|
@ -1003,7 +1006,7 @@ void cmExtraEclipseCDT4Generator::AppendTarget(cmGeneratedFileStream& fout,
|
||||||
"<buildCommand>"
|
"<buildCommand>"
|
||||||
<< cmExtraEclipseCDT4Generator::GetEclipsePath(make)
|
<< cmExtraEclipseCDT4Generator::GetEclipsePath(make)
|
||||||
<< "</buildCommand>\n"
|
<< "</buildCommand>\n"
|
||||||
"<buildArguments/>\n"
|
"<buildArguments>" << makeArgs << "</buildArguments>\n"
|
||||||
"<buildTarget>" << target << "</buildTarget>\n"
|
"<buildTarget>" << target << "</buildTarget>\n"
|
||||||
"<stopOnError>true</stopOnError>\n"
|
"<stopOnError>true</stopOnError>\n"
|
||||||
"<useDefaultCommand>false</useDefaultCommand>\n"
|
"<useDefaultCommand>false</useDefaultCommand>\n"
|
||||||
|
|
|
@ -71,6 +71,7 @@ private:
|
||||||
static void AppendTarget (cmGeneratedFileStream& fout,
|
static void AppendTarget (cmGeneratedFileStream& fout,
|
||||||
const std::string& target,
|
const std::string& target,
|
||||||
const std::string& make,
|
const std::string& make,
|
||||||
|
const std::string& makeArguments,
|
||||||
const std::string& path,
|
const std::string& path,
|
||||||
const char* prefix = "");
|
const char* prefix = "");
|
||||||
static void AppendScannerProfile (cmGeneratedFileStream& fout,
|
static void AppendScannerProfile (cmGeneratedFileStream& fout,
|
||||||
|
|
Loading…
Reference in New Issue