Skip to content
This repository
Browse code

Buildsystem: Add support for compiling with MinGW on Windows

Tested with:
- Windows 8 x64
- MySQL 5.5.30 win32
- OpenSSL 1.0.1c (32 bits)
- No PCH
- MinGW with GCC 4.7.0

TODO:
- Fix compile/link with PCH enabled
- Fix compile with WheatyExceptonionReport enabled (ignored for now)
- Fix compile of .rc files (ignored for now)
- Test with more platforms
  • Loading branch information...
commit c7463c5f6cd3d882a960eff2cbd414f33ddf0b32 1 parent 2dbe3d6
Duarte Duarte DDuarte authored
27 cmake/compiler/mingw/settings.cmake
... ... @@ -0,0 +1,27 @@
  1 +# set up output paths for executable binaries (.exe-files, and .dll-files on DLL-capable platforms)
  2 +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
  3 +
  4 +# Set build-directive (used in core to tell which buildtype we used)
  5 +add_definitions(-D_BUILD_DIRECTIVE=\\"${CMAKE_BUILD_TYPE}\\")
  6 +
  7 +if(PLATFORM EQUAL 32)
  8 + # Required on 32-bit systems to enable SSE2 (standard on x64)
  9 + set(SSE_FLAGS "-msse2 -mfpmath=sse")
  10 + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SSE_FLAGS}")
  11 + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SSE_FLAGS}")
  12 +endif()
  13 +add_definitions(-DHAVE_SSE2 -D__SSE2__)
  14 +message(STATUS "GCC: SFMT enabled, SSE2 flags forced")
  15 +
  16 +if( WITH_WARNINGS )
  17 + set(WARNING_FLAGS "-W -Wall -Wextra -Winit-self -Winvalid-pch -Wfatal-errors")
  18 + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS}")
  19 + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS} -Woverloaded-virtual")
  20 + message(STATUS "GCC: All warnings enabled")
  21 +endif()
  22 +
  23 +if( WITH_COREDEBUG )
  24 + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g3")
  25 + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
  26 + message(STATUS "GCC: Debug-flags set (-g3)")
  27 +endif()
6 cmake/platform/win/settings.cmake
@@ -25,4 +25,8 @@ endif()
25 25 # endif()
26 26 #endif()
27 27
28   -include(${CMAKE_SOURCE_DIR}/cmake/compiler/msvc/settings.cmake)
  28 +if ( MSVC )
  29 + include(${CMAKE_SOURCE_DIR}/cmake/compiler/msvc/settings.cmake)
  30 +elseif ( MINGW )
  31 + include(${CMAKE_SOURCE_DIR}/cmake/compiler/mingw/settings.cmake)
  32 +endif()
31 cmake/stack_direction.c
... ... @@ -0,0 +1,31 @@
  1 +/* Copyright (C) 2009 Sun Microsystems, Inc
  2 +
  3 + This program is free software; you can redistribute it and/or modify
  4 + it under the terms of the GNU General Public License as published by
  5 + the Free Software Foundation; version 2 of the License.
  6 +
  7 + This program is distributed in the hope that it will be useful,
  8 + but WITHOUT ANY WARRANTY; without even the implied warranty of
  9 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10 + GNU General Public License for more details.
  11 +
  12 + You should have received a copy of the GNU General Public License
  13 + along with this program; if not, write to the Free Software
  14 + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
  15 +
  16 +/* Check stack direction (0-down, 1-up) */
  17 +int f(int *a)
  18 +{
  19 + int b;
  20 + return(&b > a)?1:0;
  21 +}
  22 +/*
  23 + Prevent compiler optimizations by calling function
  24 + through pointer.
  25 +*/
  26 +volatile int (*ptr_f)(int *) = f;
  27 +int main()
  28 +{
  29 + int a;
  30 + return ptr_f(&a);
  31 +}
0  dep/acelite/6.1.4_tc_changes.diff → dep/acelite/ace-v6.1.4_hotfix1.diff
File renamed without changes
15 dep/acelite/ace-v6.1.4_hotfix2.diff
... ... @@ -0,0 +1,15 @@
  1 +diff --git a/dep/acelite/ace/CMakeLists.txt b/dep/acelite/ace/CMakeLists.txt
  2 +index eb0f6dd..1f9ffa6 100644
  3 +--- a/dep/acelite/ace/CMakeLists.txt
  4 ++++ b/dep/acelite/ace/CMakeLists.txt
  5 +@@ -341,6 +341,10 @@ add_library(ace SHARED
  6 + ${ace_PCH_SRC}
  7 + )
  8 +
  9 ++if (MINGW) # GCC ignores "#prama comment"
  10 ++ target_link_libraries(ace ws2_32 iphlpapi netapi32 mswsock)
  11 ++endif()
  12 ++
  13 + # Generate precompiled header
  14 + if( USE_COREPCH )
  15 + add_cxx_pch(ace ${ace_PCH_HDR} ${ace_PCH_SRC})
4 dep/acelite/ace/CMakeLists.txt
@@ -341,6 +341,10 @@ add_library(ace SHARED
341 341 ${ace_PCH_SRC}
342 342 )
343 343
  344 +if (MINGW) # GCC ignores "#prama comment"
  345 + target_link_libraries(ace ws2_32 iphlpapi netapi32 mswsock)
  346 +endif()
  347 +
344 348 # Generate precompiled header
345 349 if( USE_COREPCH )
346 350 add_cxx_pch(ace ${ace_PCH_HDR} ${ace_PCH_SRC})
103 dep/g3dlite/G3D-v8.0_hotfix6.diff
... ... @@ -0,0 +1,103 @@
  1 +diff --git a/dep/g3dlite/include/G3D/platform.h b/dep/g3dlite/include/G3D/platform.h
  2 +index 614c0ed..65616f0 100644
  3 +--- a/dep/g3dlite/include/G3D/platform.h
  4 ++++ b/dep/g3dlite/include/G3D/platform.h
  5 +@@ -51,6 +51,11 @@
  6 +
  7 + #ifdef _MSC_VER
  8 + #define G3D_WIN32
  9 ++#elif defined(__MINGW32__)
  10 ++ #define G3D_WIN32
  11 ++ #undef __MSVCRT_VERSION__
  12 ++ #define __MSVCRT_VERSION__ 0x0601
  13 ++ #include <windows.h>
  14 + #elif defined(__FreeBSD__) || defined(__OpenBSD__)
  15 + #define G3D_FREEBSD
  16 + #define G3D_LINUX
  17 +diff --git a/dep/g3dlite/source/FileSystem.cpp b/dep/g3dlite/source/FileSystem.cpp
  18 +index 76a3611..f082937 100644
  19 +--- a/dep/g3dlite/source/FileSystem.cpp
  20 ++++ b/dep/g3dlite/source/FileSystem.cpp
  21 +@@ -25,8 +25,11 @@
  22 +
  23 + // Needed for _findfirst
  24 + # include <io.h>
  25 +-
  26 +-#define stat64 _stat64
  27 ++# ifdef __MINGW32__
  28 ++# define stat64 stat
  29 ++# else
  30 ++# define stat64 _stat64
  31 ++# endif
  32 + #else
  33 + # include <dirent.h>
  34 + # include <fnmatch.h>
  35 +diff --git a/dep/g3dlite/source/RegistryUtil.cpp b/dep/g3dlite/source/RegistryUtil.cpp
  36 +index fc4cebc..7c9e56f 100644
  37 +--- a/dep/g3dlite/source/RegistryUtil.cpp
  38 ++++ b/dep/g3dlite/source/RegistryUtil.cpp
  39 +@@ -16,6 +16,15 @@
  40 + #include "G3D/RegistryUtil.h"
  41 + #include "G3D/System.h"
  42 +
  43 ++#ifdef __MINGW32__
  44 ++# ifndef HKEY_PERFORMANCE_TEXT
  45 ++# define HKEY_PERFORMANCE_TEXT ((HKEY)((LONG)0x80000050))
  46 ++# endif
  47 ++# ifndef HKEY_PERFORMANCE_NLSTEXT
  48 ++# define HKEY_PERFORMANCE_NLSTEXT ((HKEY)((LONG)0x80000060))
  49 ++# endif
  50 ++#endif
  51 ++
  52 + namespace G3D {
  53 +
  54 + // static helpers
  55 +diff --git a/dep/g3dlite/source/System.cpp b/dep/g3dlite/source/System.cpp
  56 +index f6b0e03..281104d 100644
  57 +--- a/dep/g3dlite/source/System.cpp
  58 ++++ b/dep/g3dlite/source/System.cpp
  59 +@@ -564,7 +564,7 @@ void System::getStandardProcessorExtensions() {
  60 + #endif
  61 + }
  62 +
  63 +-#if defined(G3D_WIN32) && !defined(G3D_64BIT) /* G3DFIX: Don't check if on 64-bit Windows platforms */
  64 ++#if defined(G3D_WIN32) && !defined(G3D_64BIT) && !defined(__MINGW32__) /* G3DFIX: Don't check if on 64-bit Windows platforms or using MinGW */
  65 + #pragma message("Port System::memcpy SIMD to all platforms")
  66 + /** Michael Herf's fast memcpy */
  67 + void memcpyMMX(void* dst, const void* src, int nbytes) {
  68 +@@ -615,7 +615,7 @@ void memcpyMMX(void* dst, const void* src, int nbytes) {
  69 + #endif
  70 +
  71 + void System::memcpy(void* dst, const void* src, size_t numBytes) {
  72 +-#if defined(G3D_WIN32) && !defined(G3D_64BIT) /* G3DFIX: Don't check if on 64-bit Windows platforms */
  73 ++#if defined(G3D_WIN32) && !defined(G3D_64BIT) && !defined(__MINGW32__) /* G3DFIX: Don't check if on 64-bit Windows platforms or using MinGW */
  74 + memcpyMMX(dst, src, numBytes);
  75 + #else
  76 + ::memcpy(dst, src, numBytes);
  77 +@@ -625,7 +625,7 @@ void System::memcpy(void* dst, const void* src, size_t numBytes) {
  78 +
  79 + /** Michael Herf's fastest memset. n32 must be filled with the same
  80 + character repeated. */
  81 +-#if defined(G3D_WIN32) && !defined(G3D_64BIT) /* G3DFIX: Don't check if on 64-bit Windows platforms */
  82 ++#if defined(G3D_WIN32) && !defined(G3D_64BIT) && !defined(__MINGW32__) /* G3DFIX: Don't check if on 64-bit Windows platforms or using MinGW */
  83 + #pragma message("Port System::memfill SIMD to all platforms")
  84 +
  85 + // On x86 processors, use MMX
  86 +@@ -664,7 +664,7 @@ void memfill(void *dst, int n32, unsigned long i) {
  87 +
  88 +
  89 + void System::memset(void* dst, uint8 value, size_t numBytes) {
  90 +-#if defined(G3D_WIN32) && !defined(G3D_64BIT) /* G3DFIX: Don't check if on 64-bit Windows platforms */
  91 ++#if defined(G3D_WIN32) && !defined(G3D_64BIT) && !defined(__MINGW32__) /* G3DFIX: Don't check if on 64-bit Windows platforms or using MinGW */
  92 + uint32 v = value;
  93 + v = v + (v << 8) + (v << 16) + (v << 24);
  94 + G3D::memfill(dst, v, numBytes);
  95 +@@ -1696,7 +1696,7 @@ std::string System::currentDateString() {
  96 +
  97 + // VC on Intel
  98 + void System::cpuid(CPUIDFunction func, uint32& areg, uint32& breg, uint32& creg, uint32& dreg) {
  99 +-#if !defined(G3D_64BIT) /* G3DFIX: Don't check if on 64-bit platform */
  100 ++#if !defined(G3D_64BIT) && !defined(__MINGW32__) /* G3DFIX: Don't check if on 64-bit platforms or using MinGW */
  101 + // Can't copy from assembler direct to a function argument (which is on the stack) in VC.
  102 + uint32 a,b,c,d;
  103 +
5 dep/g3dlite/include/G3D/platform.h
@@ -51,6 +51,11 @@
51 51
52 52 #ifdef _MSC_VER
53 53 #define G3D_WIN32
  54 +#elif defined(__MINGW32__)
  55 + #define G3D_WIN32
  56 + #undef __MSVCRT_VERSION__
  57 + #define __MSVCRT_VERSION__ 0x0601
  58 + #include <windows.h>
54 59 #elif defined(__FreeBSD__) || defined(__OpenBSD__)
55 60 #define G3D_FREEBSD
56 61 #define G3D_LINUX
7 dep/g3dlite/source/FileSystem.cpp
@@ -25,8 +25,11 @@
25 25
26 26 // Needed for _findfirst
27 27 # include <io.h>
28   -
29   -#define stat64 _stat64
  28 +# ifdef __MINGW32__
  29 +# define stat64 stat
  30 +# else
  31 +# define stat64 _stat64
  32 +# endif
30 33 #else
31 34 # include <dirent.h>
32 35 # include <fnmatch.h>
9 dep/g3dlite/source/RegistryUtil.cpp
@@ -16,6 +16,15 @@
16 16 #include "G3D/RegistryUtil.h"
17 17 #include "G3D/System.h"
18 18
  19 +#ifdef __MINGW32__
  20 +# ifndef HKEY_PERFORMANCE_TEXT
  21 +# define HKEY_PERFORMANCE_TEXT ((HKEY)((LONG)0x80000050))
  22 +# endif
  23 +# ifndef HKEY_PERFORMANCE_NLSTEXT
  24 +# define HKEY_PERFORMANCE_NLSTEXT ((HKEY)((LONG)0x80000060))
  25 +# endif
  26 +#endif
  27 +
19 28 namespace G3D {
20 29
21 30 // static helpers
10 dep/g3dlite/source/System.cpp
@@ -564,7 +564,7 @@ void System::getStandardProcessorExtensions() {
564 564 #endif
565 565 }
566 566
567   -#if defined(G3D_WIN32) && !defined(G3D_64BIT) /* G3DFIX: Don't check if on 64-bit Windows platforms */
  567 +#if defined(G3D_WIN32) && !defined(G3D_64BIT) && !defined(__MINGW32__) /* G3DFIX: Don't check if on 64-bit Windows platforms or using MinGW */
568 568 #pragma message("Port System::memcpy SIMD to all platforms")
569 569 /** Michael Herf's fast memcpy */
570 570 void memcpyMMX(void* dst, const void* src, int nbytes) {
@@ -615,7 +615,7 @@ void memcpyMMX(void* dst, const void* src, int nbytes) {
615 615 #endif
616 616
617 617 void System::memcpy(void* dst, const void* src, size_t numBytes) {
618   -#if defined(G3D_WIN32) && !defined(G3D_64BIT) /* G3DFIX: Don't check if on 64-bit Windows platforms */
  618 +#if defined(G3D_WIN32) && !defined(G3D_64BIT) && !defined(__MINGW32__) /* G3DFIX: Don't check if on 64-bit Windows platforms or using MinGW */
619 619 memcpyMMX(dst, src, numBytes);
620 620 #else
621 621 ::memcpy(dst, src, numBytes);
@@ -625,7 +625,7 @@ void System::memcpy(void* dst, const void* src, size_t numBytes) {
625 625
626 626 /** Michael Herf's fastest memset. n32 must be filled with the same
627 627 character repeated. */
628   -#if defined(G3D_WIN32) && !defined(G3D_64BIT) /* G3DFIX: Don't check if on 64-bit Windows platforms */
  628 +#if defined(G3D_WIN32) && !defined(G3D_64BIT) && !defined(__MINGW32__) /* G3DFIX: Don't check if on 64-bit Windows platforms or using MinGW */
629 629 #pragma message("Port System::memfill SIMD to all platforms")
630 630
631 631 // On x86 processors, use MMX
@@ -664,7 +664,7 @@ void memfill(void *dst, int n32, unsigned long i) {
664 664
665 665
666 666 void System::memset(void* dst, uint8 value, size_t numBytes) {
667   -#if defined(G3D_WIN32) && !defined(G3D_64BIT) /* G3DFIX: Don't check if on 64-bit Windows platforms */
  667 +#if defined(G3D_WIN32) && !defined(G3D_64BIT) && !defined(__MINGW32__) /* G3DFIX: Don't check if on 64-bit Windows platforms or using MinGW */
668 668 uint32 v = value;
669 669 v = v + (v << 8) + (v << 16) + (v << 24);
670 670 G3D::memfill(dst, v, numBytes);
@@ -1696,7 +1696,7 @@ std::string System::currentDateString() {
1696 1696
1697 1697 // VC on Intel
1698 1698 void System::cpuid(CPUIDFunction func, uint32& areg, uint32& breg, uint32& creg, uint32& dreg) {
1699   -#if !defined(G3D_64BIT) /* G3DFIX: Don't check if on 64-bit platform */
  1699 +#if !defined(G3D_64BIT) && !defined(__MINGW32__) /* G3DFIX: Don't check if on 64-bit platforms or using MinGW */
1700 1700 // Can't copy from assembler direct to a function argument (which is on the stack) in VC.
1701 1701 uint32 a,b,c,d;
1702 1702
2  dep/recastnavigation/Detour/DetourNavMesh.h
@@ -21,7 +21,7 @@
21 21
22 22 #include "DetourAlloc.h"
23 23
24   -#ifdef WIN32
  24 +#if defined(WIN32) && not defined(__MINGW32__)
25 25 typedef unsigned __int64 uint64;
26 26 #else
27 27 #include <stdint.h>
13 dep/recastnavigation/recast_hotfix1.diff
... ... @@ -0,0 +1,13 @@
  1 +diff --git a/dep/recastnavigation/Detour/DetourNavMesh.h b/dep/recastnavigation/Detour/DetourNavMesh.h
  2 +index 52d2c50..99e30c7 100644
  3 +--- a/dep/recastnavigation/Detour/DetourNavMesh.h
  4 ++++ b/dep/recastnavigation/Detour/DetourNavMesh.h
  5 +@@ -21,7 +21,7 @@
  6 +
  7 + #include "DetourAlloc.h"
  8 +
  9 +-#ifdef WIN32
  10 ++#if defined(WIN32) && not defined(__MINGW32__)
  11 + typedef unsigned __int64 uint64;
  12 + #else
  13 + #include <stdint.h>
2  src/server/CMakeLists.txt
@@ -12,7 +12,7 @@
12 12 # This to stop a few silly crashes that could have been avoided IF people
13 13 # weren't doing some -O3 psychooptimizations etc.
14 14
15   -if(CMAKE_COMPILER_IS_GNUCXX)
  15 +if(CMAKE_COMPILER_IS_GNUCXX AND NOT MINGW)
16 16 add_definitions(-fno-delete-null-pointer-checks)
17 17 endif()
18 18
30 src/server/authserver/CMakeLists.txt
@@ -29,11 +29,18 @@ set(authserver_SRCS
29 29 )
30 30
31 31 if( WIN32 )
32   -set(authserver_SRCS
33   - ${authserver_SRCS}
34   - ${sources_Debugging}
  32 + if ( MSVC )
  33 + set(authserver_SRCS
  34 + ${authserver_SRCS}
  35 + ${sources_Debugging}
35 36 authserver.rc
36   -)
  37 + )
  38 + else ( )
  39 + set(authserver_SRCS
  40 + ${authserver_SRCS}
  41 + ${sources_Debugging}
  42 + )
  43 + endif ()
37 44 endif()
38 45
39 46 include_directories(
@@ -76,10 +83,17 @@ target_link_libraries(authserver
76 83 )
77 84
78 85 if( WIN32 )
79   - add_custom_command(TARGET authserver
80   - POST_BUILD
81   - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/authserver.conf.dist ${CMAKE_BINARY_DIR}/bin/$(ConfigurationName)/
82   - )
  86 + if ( MSVC )
  87 + add_custom_command(TARGET authserver
  88 + POST_BUILD
  89 + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/authserver.conf.dist ${CMAKE_BINARY_DIR}/bin/$(ConfigurationName)/
  90 + )
  91 + elseif ( MINGW )
  92 + add_custom_command(TARGET authserver
  93 + POST_BUILD
  94 + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/authserver.conf.dist ${CMAKE_BINARY_DIR}/bin/
  95 + )
  96 + endif()
83 97 endif()
84 98
85 99 if( UNIX )
8 src/server/collision/BoundingIntervalHierarchy.cpp
@@ -18,12 +18,10 @@
18 18
19 19 #include "BoundingIntervalHierarchy.h"
20 20
21   -#if defined __APPLE__
22   - #define isnan std::isnan
23   -#elif defined __CYGWIN__
24   - #define isnan std::isnan
25   -#elif defined _MSC_VER
  21 +#ifdef _MSC_VER
26 22 #define isnan _isnan
  23 +#else
  24 + #define isnan std::isnan
27 25 #endif
28 26
29 27 void BIH::buildHierarchy(std::vector<uint32> &tempTree, buildData &dat, BuildStats &stats)
2  src/server/shared/Debugging/WheatyExceptionReport.cpp
@@ -3,7 +3,7 @@
3 3 // MSDN Magazine, 2002
4 4 // FILE: WheatyExceptionReport.CPP
5 5 //==========================================
6   -#if PLATFORM == PLATFORM_WINDOWS
  6 +#if PLATFORM == PLATFORM_WINDOWS && not defined(__MINGW32__)
7 7 #define WIN32_LEAN_AND_MEAN
8 8 #pragma warning(disable:4996)
9 9 #pragma warning(disable:4312)
2  src/server/shared/Debugging/WheatyExceptionReport.h
... ... @@ -1,7 +1,7 @@
1 1 #ifndef _WHEATYEXCEPTIONREPORT_
2 2 #define _WHEATYEXCEPTIONREPORT_
3 3
4   -#if PLATFORM == PLATFORM_WINDOWS
  4 +#if PLATFORM == PLATFORM_WINDOWS && not defined(__MINGW32__)
5 5
6 6 #include <dbghelp.h>
7 7
32 src/server/worldserver/CMakeLists.txt
@@ -29,11 +29,18 @@ set(worldserver_SRCS
29 29 )
30 30
31 31 if( WIN32 )
32   - set(worldserver_SRCS
33   - ${worldserver_SRCS}
34   - ${sources_Debugging}
35   - worldserver.rc
36   - )
  32 + if ( MSVC )
  33 + set(worldserver_SRCS
  34 + ${worldserver_SRCS}
  35 + ${sources_Debugging}
  36 + worldserver.rc
  37 + )
  38 + else ( )
  39 + set(worldserver_SRCS
  40 + ${worldserver_SRCS}
  41 + ${sources_Debugging}
  42 + )
  43 + endif ()
37 44 endif()
38 45
39 46 include_directories(
@@ -175,10 +182,17 @@ target_link_libraries(worldserver
175 182 )
176 183
177 184 if( WIN32 )
178   - add_custom_command(TARGET worldserver
179   - POST_BUILD
180   - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/worldserver.conf.dist ${CMAKE_BINARY_DIR}/bin/$(ConfigurationName)/
181   - )
  185 + if ( MSVC )
  186 + add_custom_command(TARGET worldserver
  187 + POST_BUILD
  188 + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/worldserver.conf.dist ${CMAKE_BINARY_DIR}/bin/$(ConfigurationName)/
  189 + )
  190 + elseif ( MINGW )
  191 + add_custom_command(TARGET worldserver
  192 + POST_BUILD
  193 + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/worldserver.conf.dist ${CMAKE_BINARY_DIR}/bin/
  194 + )
  195 + endif()
182 196 endif()
183 197
184 198 if( UNIX )

2 comments on commit c7463c5

Duarte Duarte
Collaborator

Correction to the commit message: "- Fix compile with WheatyExceptionReport enabled (ignored for now)" is not required and cannot be enabled with MinGW (as per Shauren). No longer a TODO.

QAston
Collaborator

awesome

Please sign in to comment.
Something went wrong with that request. Please try again.