From 40fe3b58417357e2aef598b32c90558d6f8b2edc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaakko=20Ker=C3=A4nen?= Date: Mon, 10 Jun 2019 15:13:49 +0300 Subject: [PATCH] Windows|MinGW: Build improvements --- doomsday/apps/client/CMakeLists.txt | 10 +--------- doomsday/cmake/FindSDL2Libs.cmake | 12 ++++++++++++ doomsday/libs/core/include/de/data/pathtree.h | 2 +- doomsday/libs/core/src/data/ziparchive.cpp | 6 +++--- doomsday/tests/test_glsandbox/CMakeLists.txt | 2 +- doomsday/tools/md2tool/md2tool.c | 14 ++++++-------- 6 files changed, 24 insertions(+), 22 deletions(-) diff --git a/doomsday/apps/client/CMakeLists.txt b/doomsday/apps/client/CMakeLists.txt index 25644b72a1..ded9493bd5 100644 --- a/doomsday/apps/client/CMakeLists.txt +++ b/doomsday/apps/client/CMakeLists.txt @@ -213,15 +213,7 @@ elseif (APPLE) link_framework (client PUBLIC QTKit) # MusicPlayer endif () endif () -if (TARGET SDL2) - if (MINGW) - target_link_libraries (client PUBLIC mingw32) # for SDL_main handling - endif () - target_link_libraries (client PUBLIC SDL2) -endif () -if (TARGET SDL2_mixer) - target_link_libraries (client PUBLIC SDL2_mixer) -endif () +target_link_sdl2 (client PUBLIC) if (TARGET DirectX) target_link_libraries (client PUBLIC DirectX) endif () diff --git a/doomsday/cmake/FindSDL2Libs.cmake b/doomsday/cmake/FindSDL2Libs.cmake index 34964e5b2a..503d1128a4 100644 --- a/doomsday/cmake/FindSDL2Libs.cmake +++ b/doomsday/cmake/FindSDL2Libs.cmake @@ -1,5 +1,17 @@ find_package (PkgConfig QUIET) +macro (target_link_sdl2 target vis) + if (TARGET SDL2) + if (MINGW) + target_link_libraries (${target} ${vis} mingw32) # for SDL_main handling + endif () + target_link_libraries (${target} ${vis} SDL2) + endif () + if (TARGET SDL2_mixer) + target_link_libraries (${target} ${vis} SDL2_mixer) + endif () +endmacro () + if (TARGET SDL2) return () endif () diff --git a/doomsday/libs/core/include/de/data/pathtree.h b/doomsday/libs/core/include/de/data/pathtree.h index 97d4e6a32d..e075c778f6 100644 --- a/doomsday/libs/core/include/de/data/pathtree.h +++ b/doomsday/libs/core/include/de/data/pathtree.h @@ -475,7 +475,7 @@ class PathTreeIterator return val; } - String key() const { + uint32_t key() const { DE_ASSERT(_current != _nodes.end()); return _current->first; } diff --git a/doomsday/libs/core/src/data/ziparchive.cpp b/doomsday/libs/core/src/data/ziparchive.cpp index fc345d3b55..0ae8d63e61 100644 --- a/doomsday/libs/core/src/data/ziparchive.cpp +++ b/doomsday/libs/core/src/data/ziparchive.cpp @@ -749,10 +749,10 @@ void ZipArchive::operator >> (Writer &to) const } static bool recognizeZipExtension(String const &ext) -{ +{ for (const char *e : {".pack", ".demo", ".save", ".addon", ".pk3", ".zip"}) { - if (!iCmpStrCase(ext, e)) return true; + if (!iCmpStr(ext, e)) return true; } return false; } @@ -769,7 +769,7 @@ bool ZipArchive::recognize(File const &file) bool ZipArchive::recognize(NativePath const &path) { - return recognizeZipExtension(path.toString().fileNameExtension()); + return recognizeZipExtension(path.toString().fileNameExtension().lower()); } void ZipArchive::ZipEntry::update() diff --git a/doomsday/tests/test_glsandbox/CMakeLists.txt b/doomsday/tests/test_glsandbox/CMakeLists.txt index 1c6d06e7a0..89aa51db7d 100644 --- a/doomsday/tests/test_glsandbox/CMakeLists.txt +++ b/doomsday/tests/test_glsandbox/CMakeLists.txt @@ -13,7 +13,7 @@ deng_add_application (test_glsandbox testwindow.h ) -target_link_libraries (test_glsandbox PRIVATE SDL2) +target_link_sdl2 (test_glsandbox PUBLIC) deng_link_libraries (test_glsandbox PRIVATE DengGui) if (APPLE) diff --git a/doomsday/tools/md2tool/md2tool.c b/doomsday/tools/md2tool/md2tool.c index 700fbcf35d..7c581b9a35 100644 --- a/doomsday/tools/md2tool/md2tool.c +++ b/doomsday/tools/md2tool/md2tool.c @@ -26,14 +26,12 @@ // MACROS ------------------------------------------------------------------ #ifdef _WIN32 -#define stricmp _stricmp -#define cprintf _cprintf -#endif - -#ifdef __GNUC__ -#include -#define stricmp strcasecmp -#define cprintf printf +# define stricmp _stricmp +# define cprintf _cprintf +#elif defined __GNUC__ +# include +# define stricmp strcasecmp +# define cprintf printf #endif // TYPES -------------------------------------------------------------------