Skip to content

Commit c958f0d

Browse files
authored
Enable enablewarnings for visual studio (#2533)
1 parent 3712dbd commit c958f0d

File tree

2 files changed

+35
-4
lines changed

2 files changed

+35
-4
lines changed

modules/vstudio/tests/vc2019/test_compile_settings.lua

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -198,15 +198,15 @@
198198
--
199199

200200
function suite.disableSpecificWarningsWithClang()
201-
disablewarnings { "disable" }
201+
disablewarnings { "warningID" }
202202
toolset "clang"
203203
prepare()
204204
test.capture [[
205205
<ClCompile>
206206
<PrecompiledHeader>NotUsing</PrecompiledHeader>
207207
<WarningLevel>Level3</WarningLevel>
208208
<Optimization>Disabled</Optimization>
209-
<AdditionalOptions>-Wno-disable %(AdditionalOptions)</AdditionalOptions>
209+
<AdditionalOptions>-Wno-warningID %(AdditionalOptions)</AdditionalOptions>
210210
]]
211211
end
212212

@@ -215,14 +215,43 @@
215215
--
216216

217217
function suite.fatalSpecificWarningsWithClang()
218-
fatalwarnings { "disable" }
218+
fatalwarnings { "warningID" }
219219
toolset "clang"
220220
prepare()
221221
test.capture [[
222222
<ClCompile>
223223
<PrecompiledHeader>NotUsing</PrecompiledHeader>
224224
<WarningLevel>Level3</WarningLevel>
225225
<Optimization>Disabled</Optimization>
226-
<AdditionalOptions>-Werror=disable %(AdditionalOptions)</AdditionalOptions>
226+
<AdditionalOptions>-Werror=warningID %(AdditionalOptions)</AdditionalOptions>
227+
]]
228+
end
229+
230+
--
231+
-- Enable specific warnings.
232+
--
233+
234+
function suite.enableSpecificWarnings()
235+
enablewarnings { "warningID" }
236+
prepare()
237+
test.capture [[
238+
<ClCompile>
239+
<PrecompiledHeader>NotUsing</PrecompiledHeader>
240+
<WarningLevel>Level3</WarningLevel>
241+
<Optimization>Disabled</Optimization>
242+
<AdditionalOptions>/w1warningID %(AdditionalOptions)</AdditionalOptions>
243+
]]
244+
end
245+
246+
function suite.enableSpecificWarningsWithClang()
247+
enablewarnings { "warningID" }
248+
toolset "clang"
249+
prepare()
250+
test.capture [[
251+
<ClCompile>
252+
<PrecompiledHeader>NotUsing</PrecompiledHeader>
253+
<WarningLevel>Level3</WarningLevel>
254+
<Optimization>Disabled</Optimization>
255+
<AdditionalOptions>-WwarningID %(AdditionalOptions)</AdditionalOptions>
227256
]]
228257
end

modules/vstudio/vs2010_vcxproj.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2150,6 +2150,7 @@
21502150
if cfg.toolset and cfg.toolset:startswith("msc") then
21512151
local value = iif(cfg.unsignedchar, "On", "Off")
21522152
table.insert(opts, p.tools.msc.shared.unsignedchar[value])
2153+
opts = table.join(opts, table.translate(cfg.enablewarnings, function(enable) return '/w1' .. enable end))
21532154
elseif _ACTION >= "vs2019" and cfg.toolset and cfg.toolset == "clang" then
21542155
local value = iif(cfg.unsignedchar, "On", "Off")
21552156
table.insert(opts, p.tools.msc.shared.unsignedchar[value])
@@ -2163,6 +2164,7 @@
21632164
end
21642165
opts = table.join(opts, table.translate(cfg.disablewarnings, function(disable) return '-Wno-' .. disable end))
21652166
opts = table.join(opts, table.translate(p.filterFatalWarnings(cfg.fatalwarnings), function(disable) return '-Werror=' .. disable end))
2167+
opts = table.join(opts, table.translate(cfg.enablewarnings, function(enable) return '-W' .. enable end))
21662168
end
21672169

21682170
if #opts > 0 then

0 commit comments

Comments
 (0)