From 15f47892d39122e367bdd4e1b6c1dc0adc212cdf Mon Sep 17 00:00:00 2001 From: jules Date: Fri, 8 Apr 2016 11:46:46 +0100 Subject: [PATCH] Projucer: Added a sanity-check to prevent compilation if some module paths are broken --- .../projucer_CompileEngineClient.cpp | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineClient.cpp b/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineClient.cpp index 46e82034ec..388b96fea8 100644 --- a/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineClient.cpp +++ b/extras/Projucer/Source/LiveBuildEngine/projucer_CompileEngineClient.cpp @@ -290,6 +290,15 @@ public: return; } + if (areAnyModulesMissing (project)) + { + MessageTypes::sendNewBuild (*server, build); + + owner.errorList.resetToError ("Some of your JUCE modules can't be found! " + "Please check that all the module paths are correct"); + return; + } + build.setSystemIncludes (getSystemIncludePaths()); build.setUserIncludes (getUserIncludes()); @@ -445,6 +454,18 @@ private: return liveModules.isEquivalentTo (diskModules); } + static bool areAnyModulesMissing (Project& project) + { + OwnedArray modules; + project.getModules().createRequiredModules (modules); + + for (auto* module : modules) + if (! module->getFolder().isDirectory()) + return true; + + return false; + } + StringArray getUserIncludes() { StringArray paths;