forked from qt-creator/qt-creator
CMakePM: Implement "Build Only the Application to Be Run"
The "Build Only the Application to Be Run" setting of "Build before deploying" was missing from the CMake project manager. Fixes: QTCREATORBUG-31416 Change-Id: I6caff1f2ec1c9a58c4a90bc949b2df34776482da Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
@@ -2112,6 +2112,25 @@ void CMakeBuildConfiguration::addToEnvironment(Utils::Environment &env) const
|
||||
env.appendOrSetPath(ninja.isFile() ? ninja.parentDir() : ninja);
|
||||
}
|
||||
|
||||
void CMakeBuildConfiguration::restrictNextBuild(const ProjectExplorer::RunConfiguration *rc)
|
||||
{
|
||||
auto buildStep = qobject_cast<CMakeBuildStep *>(
|
||||
findOrDefault(buildSteps()->steps(), [](const BuildStep *bs) {
|
||||
return bs->id() == Constants::CMAKE_BUILD_STEP_ID;
|
||||
}));
|
||||
if (!buildStep)
|
||||
return;
|
||||
|
||||
if (rc) {
|
||||
m_unrestrictedBuildTargets = buildStep->buildTargets();
|
||||
buildStep->setBuildTargets({rc->buildKey()});
|
||||
return;
|
||||
}
|
||||
|
||||
if (!m_unrestrictedBuildTargets.isEmpty())
|
||||
buildStep->setBuildTargets(m_unrestrictedBuildTargets);
|
||||
}
|
||||
|
||||
Environment CMakeBuildConfiguration::configureEnvironment() const
|
||||
{
|
||||
Environment env = configureEnv.environment();
|
||||
|
@@ -71,6 +71,8 @@ public:
|
||||
|
||||
void addToEnvironment(Utils::Environment &env) const override;
|
||||
|
||||
void restrictNextBuild(const ProjectExplorer::RunConfiguration *rc) override;
|
||||
|
||||
Utils::Environment configureEnvironment() const;
|
||||
Internal::CMakeBuildSystem *cmakeBuildSystem() const;
|
||||
|
||||
@@ -103,6 +105,7 @@ private:
|
||||
void filterConfigArgumentsFromAdditionalCMakeArguments();
|
||||
|
||||
Internal::CMakeBuildSystem *m_buildSystem = nullptr;
|
||||
QStringList m_unrestrictedBuildTargets;
|
||||
|
||||
friend class Internal::CMakeBuildSettingsWidget;
|
||||
friend class Internal::CMakeBuildSystem;
|
||||
|
Reference in New Issue
Block a user