From d51055eb4f802eda96cdc103c24a2c505454d0b9 Mon Sep 17 00:00:00 2001 From: Mathew Sutcliffe Date: Mon, 23 Nov 2015 21:15:01 +0000 Subject: [PATCH] refs #461 flattenSubdirs function can respect the REQUIRES variable of nested projects. --- mkspecs/features/vcsubdirs.pri | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/mkspecs/features/vcsubdirs.pri b/mkspecs/features/vcsubdirs.pri index 12385f677..a75bdbd09 100644 --- a/mkspecs/features/vcsubdirs.pri +++ b/mkspecs/features/vcsubdirs.pri @@ -31,12 +31,17 @@ equals(TEMPLATE, "vcsubdirs") { BASEDIR = $$2 for(subdir, SUBDIRS) { SUBDIR_PROJECT = $$subdirToProjectFile($$subdir, $$BASEDIR) - INNER_TEMPLATE = $$fromfile($$SUBDIR_PROJECT, TEMPLATE) - equals(INNER_TEMPLATE, "vcsubdirs") { - INNER_SUBDIRS = $$fromfile($$SUBDIR_PROJECT, SUBDIRS) - SUBDIRS_FLAT += $$flattenSubdirs($$INNER_SUBDIRS, $$dirname(SUBDIR_PROJECT)) + INNER_REQUIRES = $$fromfile($$SUBDIR_PROJECT, REQUIRES) + REQUIRES_OK = 1 + for(req, INNER_REQUIRES): !if($${req}): REQUIRES_OK = 0 + equals(REQUIRES_OK,1) { + INNER_TEMPLATE = $$fromfile($$SUBDIR_PROJECT, TEMPLATE) + equals(INNER_TEMPLATE, "vcsubdirs") { + INNER_SUBDIRS = $$fromfile($$SUBDIR_PROJECT, SUBDIRS) + SUBDIRS_FLAT += $$flattenSubdirs($$INNER_SUBDIRS, $$dirname(SUBDIR_PROJECT)) + } + else: SUBDIRS_FLAT += $$SUBDIR_PROJECT } - else: SUBDIRS_FLAT += $$SUBDIR_PROJECT } return($$SUBDIRS_FLAT) }