From e103c6b9f9fd5d09a7ecfad7a75daa524ae91a3a Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Thu, 21 Jan 2016 20:57:05 +0300 Subject: [PATCH] Add libmingw32 to SDL2pp library list on MINGW Without it, SDL2pp using apps won't compile with mingw, with undefined reference to WinMain. More investigation is needed on what happens here, so for now just link the library. To be noted, it's the same as FindSDL bundled with CMake does. See also issue #66 and http://forums.libsdl.org/viewtopic.php?p=49618 --- .appveyor.yml | 2 +- CMakeLists.txt | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.appveyor.yml b/.appveyor.yml index f66a3d4..06c3260 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -13,7 +13,7 @@ environment: PREFIX: c:\usr_msvc MSVC: MINGW32: rem - - CMAKE_ARGS: -DCMAKE_C_COMPILER=mingw32-cc -DCMAKE_CXX_COMPILER=mingw32-c++ -DCMAKE_MAKE_PROGRAM=mingw32-make.exe -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_EXE_LINKER_FLAGS="-lmingw32" -DSDL2PP_ENABLE_LIVE_TESTS=OFF -G "MinGW Makefiles" + - CMAKE_ARGS: -DCMAKE_C_COMPILER=mingw32-cc -DCMAKE_CXX_COMPILER=mingw32-c++ -DCMAKE_MAKE_PROGRAM=mingw32-make.exe -DCMAKE_VERBOSE_MAKEFILE=ON -DSDL2PP_ENABLE_LIVE_TESTS=OFF -G "MinGW Makefiles" PREFIX: c:\usr_mingw32 MINGW32: MSVC: rem diff --git a/CMakeLists.txt b/CMakeLists.txt index e32fdd9..146dafa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,6 +33,11 @@ SET(SDL2_ALL_LIBRARIES ${SDL2_LIBRARY}) SET(SDL2_ALL_PKGCONFIG_MODULES sdl2) SET(SDL2PP_EXTRA_LIBRARIES ${SDL2MAIN_LIBRARY}) +IF(MINGW) + FIND_LIBRARY(MINGW32_LIBRARY NAMES mingw32) + SET(SDL2PP_EXTRA_LIBRARIES "${SDL2PP_EXTRA_LIBRARIES} ${MINGW32_LIBRARY}") +ENDIF(MINGW) + IF(SDL2PP_WITH_IMAGE) FIND_PACKAGE(SDL2_image REQUIRED) SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_ALL_INCLUDE_DIRS} ${SDL2_IMAGE_INCLUDE_DIR})