Skip to content

Commit

Permalink
fix mingw
Browse files Browse the repository at this point in the history
  • Loading branch information
star-hengxing committed Jan 10, 2025
1 parent 739bfb7 commit 1716e3b
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 0 deletions.
45 changes: 45 additions & 0 deletions packages/c/cnats/patches/3.9.1/fix-cmake-mingw.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
From 9556761f0479786a1223c78ee4d7bd22a040bbd1 Mon Sep 17 00:00:00 2001
From: Ivan Kozlovic <[email protected]>
Date: Thu, 19 Dec 2024 12:49:08 -0700
Subject: [PATCH] [FIXED] Build: failure with mingw

Credit goes to @mtmk with the proposed fix and verification that it
works on mingw.

I have verified that the change still works when building on my Windows
VM, so I don't expect windows users to have any issue with that.

Resolves #827

Signed-off-by: Ivan Kozlovic <[email protected]>
---
CMakeLists.txt | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 413e0523..ee12730f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -208,11 +208,16 @@ elseif(WIN32)
set(NATS_PLATFORM_INCLUDE "win")

# Warning control.
- add_compile_options(/W4) # Set warning level to maximum, then disable:
- add_compile_options(/wd4100) # unreferenced formal parameter
- add_compile_options(/wd4200) # nonstandard extension used: zero-sized array in struct/union
- add_compile_options(/wd4130) # logical operation on address of string constant
- add_compile_options(/wd4127) # conditional expression is constant
+ if(MSVC)
+ # Set warning level to maximum, then disable:
+ # /wd4100 unreferenced formal parameter
+ # /wd4200 nonstandard extension used: zero-sized array in struct/union
+ # /wd4130 logical operation on address of string constant
+ # /wd4127 conditional expression is constant
+ add_compile_options(/W4 /wd4100 /wd4200 /wd4130 /wd4127)
+ else()
+ add_compile_options(-Wall -Wextra -Wno-unused-parameter -Wno-pedantic -Wno-address -Wno-constant-conditional)
+ endif()

if(sodium_USE_STATIC_LIBS)
add_definitions(

2 changes: 2 additions & 0 deletions packages/c/cnats/xmake.lua
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ package("cnats")
add_versions("v3.9.2", "28c4f39b88f095d78d653e8d4fe4581163fe96ecde5f9683933f0d82fd889a57")
add_versions("v3.8.2", "083ee03cf5a413629d56272e88ad3229720c5006c286e8180c9e5b745c10f37d")

add_patches(">=3.9.0 <=3.9.2", "patches/3.9.1/fix-cmake-mingw.patch", "c437e3451898c1b5bd429484a8a1b1772aa42b421916b2f136fe409562032bec")

add_configs("tls", {description = "Build with TLS support", default = false, type = "boolean"})
add_configs("sodium", {description = "Build with libsodium", default = false, type = "boolean"})
add_configs("streaming", {description = "Build NATS Streaming", default = false, type = "boolean"})
Expand Down

0 comments on commit 1716e3b

Please sign in to comment.