From 456236b8c8fb90ddbb7812a4bb200a37d2318757 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 1 Nov 2011 10:40:31 +0100 Subject: [PATCH] qmake: vcproj ignores subdirs that do "no_default_target". It's nicer to do: SUBDIRS += foo foo.CONFIG = no_default_target no_default_install then to omit foo from SUBDIRS because a Makefile is still produced but "make" and "make install" don't descend automatically. The vcproj generator doesn't know about this. This patch gets it to check for no_default_target and then it simply ignores the directory. Change-Id: I127bea79143c101612afb0e9c6603d3b065c7c56 Reviewed-by: Oliver Wolff Reviewed-by: Joerg Bornemann --- qmake/generators/win32/msvc_vcproj.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp index 942797030fe..0a3f5fb27cc 100644 --- a/qmake/generators/win32/msvc_vcproj.cpp +++ b/qmake/generators/win32/msvc_vcproj.cpp @@ -367,6 +367,12 @@ QStringList VcprojGenerator::collectSubDirs(QMakeProject *proj) QStringList tmp_proj_subdirs = proj->variables()["SUBDIRS"]; for(int x = 0; x < tmp_proj_subdirs.size(); ++x) { QString tmpdir = tmp_proj_subdirs.at(x); + const QString tmpdirConfig = tmpdir + QStringLiteral(".CONFIG"); + if (!proj->isEmpty(tmpdirConfig)) { + const QStringList config = proj->variables().value(tmpdirConfig); + if (config.contains(QStringLiteral("no_default_target"))) + continue; // Ignore this sub-dir + } if(!proj->isEmpty(tmpdir + ".file")) { if(!proj->isEmpty(tmpdir + ".subdir")) warn_msg(WarnLogic, "Cannot assign both file and subdir for subdir %s",