aboutsummaryrefslogtreecommitdiff
path: root/xmake.lua
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2026-03-13 17:06:39 +0100
committerStefan Boberg <[email protected]>2026-03-13 17:06:39 +0100
commit3abde8d88bde436dce423eae9edee0f4e8af915a (patch)
tree885ae916a94c9b350d72717666f43e78bef88d4e /xmake.lua
parentUnix Domain Socket auto discovery (#833) (diff)
downloadzen-3abde8d88bde436dce423eae9edee0f4e8af915a.tar.xz
zen-3abde8d88bde436dce423eae9edee0f4e8af915a.zip
Add clang-cl build support
- Add clang-cl warning suppressions in xmake.lua matching Linux/macOS set - Guard /experimental:c11atomics with {tools="cl"} for MSVC-only - Fix long long / int64_t redefinition in string.h for clang-cl - Fix unclosed namespace in callstacktrace.cpp #else branch - Fix missing override in httpplugin.cpp - Reorder WorkerPool fields to match designated initializer order - Use INVALID_SOCKET instead of SOCKET_ERROR for SOCKET comparisons
Diffstat (limited to 'xmake.lua')
-rw-r--r--xmake.lua24
1 files changed, 24 insertions, 0 deletions
diff --git a/xmake.lua b/xmake.lua
index 94343cc90..6e7b22b1d 100644
--- a/xmake.lua
+++ b/xmake.lua
@@ -189,6 +189,30 @@ if is_os("linux") or is_os("macosx") then
add_cxxflags("-Wno-vla-cxx-extension")
end
+if get_config("toolchain") == "clang-cl" then
+ add_cxxflags("-Wno-unknown-warning-option", {force=true})
+ add_cxxflags("-Wno-cast-function-type-mismatch", {force=true})
+ add_cxxflags("-Wno-delete-non-abstract-non-virtual-dtor", {force=true})
+ add_cxxflags("-Wno-format", {force=true})
+ add_cxxflags("-Wno-implicit-fallthrough", {force=true})
+ add_cxxflags("-Wno-inconsistent-missing-override", {force=true})
+ add_cxxflags("-Wno-missing-field-initializers", {force=true})
+ add_cxxflags("-Wno-parentheses-equality", {force=true})
+ add_cxxflags("-Wno-reorder-ctor", {force=true})
+ add_cxxflags("-Wno-sign-compare", {force=true})
+ add_cxxflags("-Wno-strict-aliasing", {force=true})
+ add_cxxflags("-Wno-switch", {force=true})
+ add_cxxflags("-Wno-unused-but-set-variable", {force=true})
+ add_cxxflags("-Wno-unused-lambda-capture", {force=true})
+ add_cxxflags("-Wno-unused-parameter", {force=true})
+ add_cxxflags("-Wno-unused-private-field", {force=true})
+ add_cxxflags("-Wno-unused-value", {force=true})
+ add_cxxflags("-Wno-unused-variable", {force=true})
+ add_cxxflags("-Wno-vla-cxx-extension", {force=true})
+ add_cflags("-Wno-unknown-warning-option", {force=true})
+ add_cflags("-Wno-unused-command-line-argument", {force=true})
+end
+
if is_os("macosx") then
-- silence warnings about -Wno-vla-cxx-extension since to my knowledge we can't
-- detect the clang version used in Xcode and only recent versions contain this flag