Skip to content

Commit 663eb34

Browse files
Implements C++23 for Visual Studio non-makefile projects (premake#2505)
1 parent d18920d commit 663eb34

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

modules/vstudio/tests/vc2010/test_compile_settings.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1439,7 +1439,7 @@
14391439
<PrecompiledHeader>NotUsing</PrecompiledHeader>
14401440
<WarningLevel>Level3</WarningLevel>
14411441
<Optimization>Disabled</Optimization>
1442-
<LanguageStandard>stdcpplatest</LanguageStandard>
1442+
<LanguageStandard>stdcpp23</LanguageStandard>
14431443
<ExternalWarningLevel>Level3</ExternalWarningLevel>
14441444
</ClCompile>
14451445
]]

modules/vstudio/vs2010_vcxproj.lua

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2053,7 +2053,7 @@
20532053
elseif (cfg.cppdialect == "C++20") then
20542054
m.element("LanguageStandard", condition, iif(_ACTION <= "vs2017", 'stdcpplatest', 'stdcpp20'))
20552055
elseif (cfg.cppdialect == "C++23") then
2056-
m.element("LanguageStandard", condition, 'stdcpplatest')
2056+
m.element("LanguageStandard", condition, iif(_ACTION <= "vs2019", 'stdcpplatest', 'stdcpp23'))
20572057
elseif (cfg.cppdialect == "C++latest") then
20582058
m.element("LanguageStandard", condition, 'stdcpplatest')
20592059
end
@@ -2141,8 +2141,8 @@
21412141
elseif (cfg.cppdialect == "C++17") then
21422142
table.insert(opts, "/std:c++17")
21432143
elseif (cfg.cppdialect == "C++20") then
2144-
table.insert(opts, "/std:c++latest")
2145-
elseif (cfg.cppdialect == "C++latest") then
2144+
table.insert(opts, iif(_ACTION <= "vs2017", "/std:c++latest", "/std:c++20"))
2145+
elseif (cfg.cppdialect == "C++latest" or cfg.cppdialect == "C++23") then
21462146
table.insert(opts, "/std:c++latest")
21472147
end
21482148
end

0 commit comments

Comments
 (0)