diff --git a/modules/vstudio/_preload.lua b/modules/vstudio/_preload.lua index d539ded2e..3f82596d3 100644 --- a/modules/vstudio/_preload.lua +++ b/modules/vstudio/_preload.lua @@ -37,6 +37,13 @@ kind = "boolean" } + p.api.register { + name = "publicmoduledirectories", + scope = "config", + kind = "list:string", + tokens = true, + } + p.api.register { name = "assemblydebug", scope = "config", diff --git a/modules/vstudio/vs2010_vcxproj.lua b/modules/vstudio/vs2010_vcxproj.lua index d880a8a17..ce7d7e606 100644 --- a/modules/vstudio/vs2010_vcxproj.lua +++ b/modules/vstudio/vs2010_vcxproj.lua @@ -377,6 +377,7 @@ m.extensionsToDeleteOnClean, m.executablePath, m.allModulesPublic, + m.publicModuleDirectories, m.clangtidy, m.runcodeanalysis } @@ -2099,6 +2100,14 @@ end end + function m.publicModuleDirectories(cfg) + if _ACTION >= "vs2019" then + if cfg.publicmoduledirectories ~= nil and #cfg.publicmoduledirectories > 0 then + m.element("PublicModuleDirectories", nil,"%s;$(PublicModuleDirectories)", table.concat(cfg.publicmoduledirectories, ";")) + end + end + end + function m.structMemberAlignment(cfg) local map = { [1] = "1Byte",