From ef958c0fae4e03211630dfb90e332fccdbd7b4f8 Mon Sep 17 00:00:00 2001 From: Mirek Fidler Date: Fri, 28 Feb 2025 12:28:27 +0100 Subject: [PATCH] ide: Include path is now only containing used nests --- uppsrc/ide/Builders/Build.cpp | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/uppsrc/ide/Builders/Build.cpp b/uppsrc/ide/Builders/Build.cpp index 96d204462..083bffd25 100644 --- a/uppsrc/ide/Builders/Build.cpp +++ b/uppsrc/ide/Builders/Build.cpp @@ -20,8 +20,8 @@ const TargetMode& MakeBuild::GetTargetMode() } Index MakeBuild::PackageConfig(const Workspace& wspc, int package, - const VectorMap& bm, String mainparam, - Host& host, Builder& b, String *target) + const VectorMap& bm, String mainparam, + Host& host, Builder& b, String *target) { String packagepath = PackagePath(wspc[package]); const Package& pkg = wspc.package[package]; @@ -204,10 +204,21 @@ One MakeBuild::CreateBuilder(Host *host) b = pAb; } else { - // TODO: cpp builder variables only!!! b->compiler = bm.Get("COMPILER", ""); - b->include = SplitDirs(Join(GetUppDirs(), ";") + ';' + bm.Get("INCLUDE", "") + ';' + add_includes); + Vector nests = GetUppDirs(); + for(String& p : nests) + p = NormalizePath(p); + Index used_nests; // only add nests that are used to prevent UppHub problems const Workspace& wspc = GetIdeWorkspace(); + for(int i = 0; i < wspc.GetCount(); i++) { + String pp = NormalizePath(PackagePath(wspc[i])); + for(String n : nests) + if(pp.StartsWith(n)) { + used_nests.FindAdd(n); + break; + } + } + b->include = SplitDirs(Join(used_nests.GetKeys(), ";") + ';' + bm.Get("INCLUDE", "") + ';' + add_includes); for(int i = 0; i < wspc.GetCount(); i++) { const Package& pkg = wspc.GetPackage(i); for(int j = 0; j < pkg.include.GetCount(); j++)