diff --git a/source/dub/generators/visuald.d b/source/dub/generators/visuald.d index b4445bc..7f682c6 100644 --- a/source/dub/generators/visuald.d +++ b/source/dub/generators/visuald.d @@ -207,7 +207,7 @@ } version(VISUALD_SEPERATE_PROJECT_FILES){ - auto files = pack.getBuildSettings(settings.platform, m_app.getPackageConfig(pack, settings.config)); + auto files = pack.getBuildSettings(settings.platform, m_app.getPackageConfig(pack, settings.platform, settings.config)); files.sourceFiles ~= pack.packageInfoFile.toNativeString(); diff --git a/source/dub/package_.d b/source/dub/package_.d index 7e6ccaf..5fe5835 100644 --- a/source/dub/package_.d +++ b/source/dub/package_.d @@ -440,7 +440,7 @@ case "dflags": this.dflags[suffix] = deserializeJson!(string[])(value); break; case "lflags": this.lflags[suffix] = deserializeJson!(string[])(value); break; case "libs": this.libs[suffix] = deserializeJson!(string[])(value); break; - case "files": logWarn(`The "files" field has been deprecated, please use "sourceFiles" instad.`); goto case; + case "files": case "sourceFiles": this.sourceFiles[suffix] = deserializeJson!(string[])(value); break; case "copyFiles": this.copyFiles[suffix] = deserializeJson!(string[])(value); break; case "versions": this.versions[suffix] = deserializeJson!(string[])(value); break; diff --git a/source/dub/project.d b/source/dub/project.d index e5040b3..026676c 100644 --- a/source/dub/project.d +++ b/source/dub/project.d @@ -189,17 +189,21 @@ @property string[] configurations() const { return m_main.configurations; } - string getPackageConfig(in Package pack, string config) + string getPackageConfig(in Package pack, BuildPlatform platform, string config) const { if( pack is m_main ) return config; - else return "library"; // TODO: determine user choices + else { + // TODO: check the dependees for special wishes in terms on the configuration + return pack.getDefaultConfiguration(platform, false); + } } /// Returns the DFLAGS void addBuildSettings(ref BuildSettings dst, BuildPlatform platform, string config) const { foreach(pkg; this.getTopologicalPackageList()){ - auto psettings = pkg.getBuildSettings(platform, getPackageConfig(pkg, config)); + auto pkgconf = getPackageConfig(pkg, platform, config); + auto psettings = pkg.getBuildSettings(platform, pkgconf); processVars(dst, pkg.path.toNativeString(), psettings); if( pkg is m_main ) dst.targetType = psettings.targetType; }