From 4cde9cc3dcc5c30775a80da1de87f39f98672a31 Mon Sep 17 00:00:00 2001 From: Mariotaku Date: Thu, 16 Sep 2021 13:02:02 +0900 Subject: [PATCH] Fixed build with MinGW (#8) * Fixed build with MinGW * improved typedef check for MinGW * added include dir to enet lib --- CMakeLists.txt | 11 +++++++++++ win32.c | 9 +++++++++ 2 files changed, 20 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4de7d75..6235018 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,6 +19,10 @@ check_struct_has_member("struct msghdr" "msg_flags" "sys/types.h;sys/socket.h" H set(CMAKE_EXTRA_INCLUDE_FILES "sys/types.h" "sys/socket.h") check_type_size("socklen_t" HAS_SOCKLEN_T BUILTIN_TYPES_ONLY) unset(CMAKE_EXTRA_INCLUDE_FILES) +set(CMAKE_EXTRA_INCLUDE_FILES "qos2.h") +check_type_size("QOS_FLOWID" HAS_QOS_FLOWID BUILTIN_TYPES_ONLY) +check_type_size("PQOS_FLOWID" HAS_PQOS_FLOWID BUILTIN_TYPES_ONLY) +unset(CMAKE_EXTRA_INCLUDE_FILES) if(MSVC) add_definitions(-W3) else() @@ -58,6 +62,12 @@ endif() if(HAS_SOCKLEN_T) add_definitions(-DHAS_SOCKLEN_T=1) endif() +if(HAS_QOS_FLOWID) + add_definitions(-DHAS_QOS_FLOWID=1) +endif() +if(HAS_PQOS_FLOWID) + add_definitions(-DHAS_PQOS_FLOWID=1) +endif() include_directories(${PROJECT_SOURCE_DIR}/include) @@ -92,6 +102,7 @@ add_library(enet STATIC ${INCLUDE_FILES} ${SOURCE_FILES} ) +target_include_directories(enet SYSTEM PUBLIC include) if (MINGW) target_link_libraries(enet winmm ws2_32) diff --git a/win32.c b/win32.c index 880cbc0..0793454 100644 --- a/win32.c +++ b/win32.c @@ -7,8 +7,17 @@ #define ENET_BUILDING_LIB 1 #include "enet/enet.h" #include +#ifndef HAS_QOS_FLOWID +typedef UINT32 QOS_FLOWID; +#endif +#ifndef HAS_PQOS_FLOWID +typedef UINT32 *PQOS_FLOWID; +#endif #include #include +#ifndef QOS_NON_ADAPTIVE_FLOW +#define QOS_NON_ADAPTIVE_FLOW 0x00000002 +#endif static enet_uint32 timeBase = 0; static HANDLE qosHandle = INVALID_HANDLE_VALUE;