diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp index d269c1b607d..8e693ba331c 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp @@ -191,11 +191,15 @@ void CMakeBuildSystem::triggerParsing() // active code model updater when the next one will be triggered. m_cppCodeModelUpdater->cancel(); + const CMakeTool *tool = m_parameters.cmakeTool(); + CMakeTool::Version version = tool ? tool->version() : CMakeTool::Version(); + const bool isDebuggable = (version.major == 3 && version.minor >= 27) || version.major > 3; + qCDebug(cmakeBuildSystemLog) << "Asking reader to parse"; m_reader.parse(reparseParameters & REPARSE_FORCE_CMAKE_RUN, reparseParameters & REPARSE_FORCE_INITIAL_CONFIGURATION, reparseParameters & REPARSE_FORCE_EXTRA_CONFIGURATION, - reparseParameters & REPARSE_DEBUG); + (reparseParameters & REPARSE_DEBUG) && isDebuggable); } void CMakeBuildSystem::requestDebugging() diff --git a/src/plugins/debugger/dap/cmakedapengine.cpp b/src/plugins/debugger/dap/cmakedapengine.cpp index 0775b05004f..d4e766521cf 100644 --- a/src/plugins/debugger/dap/cmakedapengine.cpp +++ b/src/plugins/debugger/dap/cmakedapengine.cpp @@ -3,6 +3,8 @@ #include "cmakedapengine.h" +#include + #include #include @@ -14,6 +16,7 @@ #include #include #include +#include using namespace Core; using namespace Utils; @@ -112,6 +115,16 @@ void CMakeDapEngine::setupEngine() [this] { m_dataGenerator->start(); }); ProjectExplorer::ProjectTree::currentBuildSystem()->requestDebugging(); + + QTimer::singleShot(5000, this, [this] { + if (!m_dataGenerator->isRunning()) { + m_dataGenerator->kill(); + MessageManager::writeDisrupting( + "CMake server is not running. Please check that your CMake is 3.27 or higher."); + return; + } + }); + notifyEngineSetupOk(); } diff --git a/src/plugins/debugger/dap/dapengine.cpp b/src/plugins/debugger/dap/dapengine.cpp index 075eb908c36..be299018d2c 100644 --- a/src/plugins/debugger/dap/dapengine.cpp +++ b/src/plugins/debugger/dap/dapengine.cpp @@ -41,8 +41,8 @@ #include #include -#include #include +#include #include #include diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 6e557c4c2b2..9c313d45d16 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -830,8 +830,8 @@ DebuggerPluginPrivate::DebuggerPluginPrivate(const QStringList &arguments) }); connect(&m_startCmakeAction, &QAction::triggered, this, [] { -// ProjectTree::currentBuildSystem()->requestDebugging(); - ProjectExplorerPlugin::runStartupProject(ProjectExplorer::Constants::CMAKE_DEBUG_RUN_MODE, true); + ProjectExplorerPlugin::runStartupProject(ProjectExplorer::Constants::CMAKE_DEBUG_RUN_MODE, + true); }); connect(&m_debugWithoutDeployAction, &QAction::triggered, this, [] {