diff options
Diffstat (limited to 'src/plugins/cmakeprojectmanager/builddirparameters.cpp')
-rw-r--r-- | src/plugins/cmakeprojectmanager/builddirparameters.cpp | 50 |
1 files changed, 24 insertions, 26 deletions
diff --git a/src/plugins/cmakeprojectmanager/builddirparameters.cpp b/src/plugins/cmakeprojectmanager/builddirparameters.cpp index 942485cad0..5424ef8b9a 100644 --- a/src/plugins/cmakeprojectmanager/builddirparameters.cpp +++ b/src/plugins/cmakeprojectmanager/builddirparameters.cpp @@ -31,12 +31,12 @@ #include "cmakespecificsettings.h" #include "cmaketoolmanager.h" -#include <projectexplorer/kit.h> #include <projectexplorer/kitinformation.h> -#include <projectexplorer/projectexplorerconstants.h> +#include <projectexplorer/project.h> #include <projectexplorer/target.h> +#include <projectexplorer/toolchain.h> -#include <utils/hostosinfo.h> +#include <utils/qtcassert.h> using namespace ProjectExplorer; @@ -47,13 +47,26 @@ BuildDirParameters::BuildDirParameters() = default; BuildDirParameters::BuildDirParameters(CMakeBuildConfiguration *bc) { - initialized = bc != nullptr; + QTC_ASSERT(bc, return ); - const Kit *k = bc->target()->kit(); + const Utils::MacroExpander *expander = bc->macroExpander(); - projectName = bc->target()->project()->displayName(); + initialCMakeArguments = Utils::transform(bc->initialCMakeArguments(), + [expander](const QString &s) { + return expander->expand(s); + }); + extraCMakeArguments = Utils::transform(bc->extraCMakeArguments(), + [expander](const QString &s) { + return expander->expand(s); + }); - sourceDirectory = bc->target()->project()->projectDirectory(); + const Target *t = bc->target(); + const Kit *k = t->kit(); + const Project *p = t->project(); + + projectName = p->displayName(); + + sourceDirectory = p->projectDirectory(); buildDirectory = bc->buildDirectory(); environment = bc->environment(); @@ -71,27 +84,12 @@ BuildDirParameters::BuildDirParameters(CMakeBuildConfiguration *bc) } cmakeToolId = CMakeKitAspect::cmakeToolId(k); - - auto tc = ToolChainKitAspect::toolChain(k, Constants::CXX_LANGUAGE_ID); - if (tc) - cxxToolChainId = tc->id(); - tc = ToolChainKitAspect::toolChain(k, Constants::C_LANGUAGE_ID); - if (tc) - cToolChainId = tc->id(); - sysRoot = SysRootKitAspect::sysRoot(k); - - expander = k->macroExpander(); - - configuration = bc->configurationForCMake(); - - generator = CMakeGeneratorKitAspect::generator(k); - extraGenerator = CMakeGeneratorKitAspect::extraGenerator(k); - platform = CMakeGeneratorKitAspect::platform(k); - toolset = CMakeGeneratorKitAspect::toolset(k); - generatorArguments = CMakeGeneratorKitAspect::generatorArguments(k); } -bool BuildDirParameters::isValid() const { return initialized && cmakeTool(); } +bool BuildDirParameters::isValid() const +{ + return cmakeTool(); +} CMakeTool *BuildDirParameters::cmakeTool() const { |