From c62f0015aed0c0918281b1ce17def00d7025041b Mon Sep 17 00:00:00 2001 From: Vaxry Date: Sun, 9 Jun 2024 09:42:14 +0200 Subject: [PATCH] hyprpm: print and fail on missing packages during configure instead of failing later with something like exit code 2, print out what's missing --- hyprpm/src/core/PluginManager.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/hyprpm/src/core/PluginManager.cpp b/hyprpm/src/core/PluginManager.cpp index dc3bc548..fb338d25 100644 --- a/hyprpm/src/core/PluginManager.cpp +++ b/hyprpm/src/core/PluginManager.cpp @@ -495,6 +495,16 @@ bool CPluginManager::updateHeaders(bool force) { if (m_bVerbose) progress.printMessageAbove(std::string{Colors::BLUE} + "[v] " + Colors::RESET + "cmake returned: " + ret); + if (ret.contains("required packages were not found")) { + // missing deps, let the user know. + std::string missing = ret.substr(ret.find("The following required packages were not found:")); + missing = missing.substr(0, missing.find("Call Stack")); + missing = missing.substr(0, missing.find_last_of('\n')); + + std::cerr << "\n" << Colors::RED << "✖" << Colors::RESET << " Could not configure the hyprland source, cmake complained:\n" << missing << "\n"; + return false; + } + // le hack. Wlroots has to generate its build/include ret = execAndGet("cd " + WORKINGDIR + "/subprojects/wlroots-hyprland && meson setup -Drenderers=gles2 -Dexamples=false build"); if (m_bVerbose)