From 2fe5f5821ed652de3820118fc5c463d564b4478b Mon Sep 17 00:00:00 2001 From: Jupeyy Date: Tue, 21 Jan 2025 21:09:40 +0100 Subject: [PATCH] Fix Windows CI --- .github/workflows/build.yaml | 17 +++++++++++++++-- CMakeLists.txt | 4 ++-- src/base/system.c | 1 - src/engine/client/client.cpp | 1 - src/engine/server/server.cpp | 1 - 5 files changed, 17 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index af3b00b9a..71f2019c2 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -21,10 +21,18 @@ jobs: build-args: --parallel package-file: fng-*-linux_x86_64.tar.xz - os: windows-latest - cmake-args: -G "Visual Studio 16 2019" -A x64 + cmake-args: -G "Ninja" package-file: fng-*-win64.zip - + defaults: + run: + shell: ${{ matrix.os == 'windows-latest' && 'msys2 {0}' || 'bash {0}' }} steps: + - name: Prepare Windows (msys2) + uses: msys2/setup-msys2@v2 + if: contains(matrix.os, 'windows') + with: + msystem: MINGW64 + - uses: actions/checkout@v4 with: submodules: true @@ -35,6 +43,11 @@ jobs: sudo apt-get update -y sudo apt-get install pkg-config cmake -y + - name: Prepare msys dependencies + if: contains(matrix.os, 'windows') + run: | + pacman --noconfirm -S git mingw-w64-x86_64-toolchain cmake ninja mingw-w64-x86_64-gcc + - name: Build in release mode run: | mkdir release diff --git a/CMakeLists.txt b/CMakeLists.txt index df724eef2..9a86f0847 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,7 +48,7 @@ else() set(TARGET_BITS "64") endif() -if(CMAKE_SYSTEM_NAME STREQUAL "Windows") +if((CMAKE_SYSTEM_NAME STREQUAL "Windows") OR (CMAKE_SYSTEM_NAME STREQUAL "MSYS")) set(TARGET_OS "windows") elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") set(TARGET_OS "linux") @@ -355,7 +355,7 @@ if(NOT(GTEST_FOUND)) endif() endif() -if(TARGET_OS STREQUAL "windows") +if((TARGET_OS STREQUAL "windows") OR MINGW) set(PLATFORM_LIBS ws2_32) # Windows sockets elseif(TARGET_OS STREQUAL "mac") find_library(CARBON Carbon) diff --git a/src/base/system.c b/src/base/system.c index 55b07fe0b..c485ce9e2 100644 --- a/src/base/system.c +++ b/src/base/system.c @@ -33,7 +33,6 @@ #elif defined(CONF_FAMILY_WINDOWS) #define WIN32_LEAN_AND_MEAN - #define _WIN32_WINNT 0x0501 /* required for mingw to get getaddrinfo to work */ #include #include #include diff --git a/src/engine/client/client.cpp b/src/engine/client/client.cpp index 21ff46e1e..15086a796 100644 --- a/src/engine/client/client.cpp +++ b/src/engine/client/client.cpp @@ -45,7 +45,6 @@ #include "client.h" #if defined(CONF_FAMILY_WINDOWS) - #define _WIN32_WINNT 0x0501 #define WIN32_LEAN_AND_MEAN #include #endif diff --git a/src/engine/server/server.cpp b/src/engine/server/server.cpp index 3cc9d247e..668f5084c 100644 --- a/src/engine/server/server.cpp +++ b/src/engine/server/server.cpp @@ -31,7 +31,6 @@ #include "server.h" #if defined(CONF_FAMILY_WINDOWS) - #define _WIN32_WINNT 0x0501 #define WIN32_LEAN_AND_MEAN #include #endif