forked from qt-creator/qt-creator
CMake: Trigger cmake run *before* build when files changed
Make sure to run cmake *before* cmake --build when cmake files just got saved. This helps e.g. when editing CMakeLists.txt files and the hitting "Built" and "Save all" (or "Always save before build"). Task-number: QTCREATORBUG-16187 Change-Id: I16b1d02eb342a447003380946ce7a9d785476a0e Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
@@ -61,7 +61,8 @@ const char INITIAL_ARGUMENTS[] = "CMakeProjectManager.CMakeBuildConfiguration.In
|
||||
const char CONFIGURATION_KEY[] = "CMake.Configuration";
|
||||
|
||||
CMakeBuildConfiguration::CMakeBuildConfiguration(ProjectExplorer::Target *parent) :
|
||||
BuildConfiguration(parent, Core::Id(Constants::CMAKE_BC_ID))
|
||||
BuildConfiguration(parent, Core::Id(Constants::CMAKE_BC_ID)),
|
||||
m_buildDirManager(new BuildDirManager(this))
|
||||
{
|
||||
ctor();
|
||||
}
|
||||
@@ -84,7 +85,8 @@ QString CMakeBuildConfiguration::disabledReason() const
|
||||
CMakeBuildConfiguration::CMakeBuildConfiguration(ProjectExplorer::Target *parent,
|
||||
CMakeBuildConfiguration *source) :
|
||||
BuildConfiguration(parent, source),
|
||||
m_configuration(source->m_configuration)
|
||||
m_configuration(source->m_configuration),
|
||||
m_buildDirManager(new BuildDirManager(this))
|
||||
{
|
||||
ctor();
|
||||
cloneSteps(source);
|
||||
@@ -137,7 +139,6 @@ void CMakeBuildConfiguration::ctor()
|
||||
target()->kit(),
|
||||
displayName(), BuildConfiguration::Unknown));
|
||||
|
||||
m_buildDirManager = new BuildDirManager(this);
|
||||
connect(m_buildDirManager, &BuildDirManager::dataAvailable,
|
||||
this, &CMakeBuildConfiguration::dataAvailable);
|
||||
connect(m_buildDirManager, &BuildDirManager::errorOccured,
|
||||
@@ -174,6 +175,11 @@ bool CMakeBuildConfiguration::persistCMakeState()
|
||||
return m_buildDirManager->persistCMakeState();
|
||||
}
|
||||
|
||||
bool CMakeBuildConfiguration::updateCMakeStateBeforeBuild()
|
||||
{
|
||||
return m_buildDirManager->updateCMakeStateBeforeBuild();
|
||||
}
|
||||
|
||||
void CMakeBuildConfiguration::runCMake()
|
||||
{
|
||||
if (!m_buildDirManager || m_buildDirManager->isParsing())
|
||||
|
||||
Reference in New Issue
Block a user