diff --git a/oracle/CMakeLists.txt b/oracle/CMakeLists.txt index 56830d63..2bf27c96 100644 --- a/oracle/CMakeLists.txt +++ b/oracle/CMakeLists.txt @@ -11,8 +11,6 @@ SET(oracle_SOURCES src/main.cpp src/oraclewizard.cpp src/oracleimporter.cpp - src/zip/unzip.cpp - src/zip/zipglobal.cpp ../cockatrice/src/carddatabase.cpp ../cockatrice/src/settingscache.cpp ../cockatrice/src/qt-json/json.cpp @@ -123,6 +121,12 @@ FIND_PACKAGE(ZLIB) IF(ZLIB_FOUND) INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIRS}) ADD_DEFINITIONS("-DHAS_ZLIB") + + set(oracle_SOURCES ${oracle_SOURCES} + src/zip/unzip.cpp + src/zip/zipglobal.cpp + ) + ELSE() MESSAGE(STATUS "Oracle: zlib not found; ZIP support disabled") ENDIF() @@ -205,6 +209,12 @@ IF(WIN32) # these needs to be relative to CMAKE_INSTALL_PREFIX set(plugin_dest_dir Plugins) set(qtconf_dest_dir .) + list(APPEND libSearchDirs ${QT_LIBRARY_DIR}) + IF(ZLIB_FOUND) + get_filename_component(ZLIB_DLL_DIR "${ZLIB_INCLUDE_DIRS}/../bin/" REALPATH) + list(APPEND libSearchDirs ${ZLIB_DLL_DIR}) + ENDIF() + MESSAGE(STATUS "Oracle: ZLIB dll found at ${ZLIB_DLL_DIR}") # qt4: codecs, iconengines, imageformats # qt5: iconengines, imageformats, platforms @@ -223,6 +233,6 @@ Translations = Resources/translations\") \"\${CMAKE_INSTALL_PREFIX}/${plugin_dest_dir}/*.dll\") set(BU_CHMOD_BUNDLE_ITEMS ON) include(BundleUtilities) - fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/oracle.exe\" \"\${QTPLUGINS}\" \"${QT_LIBRARY_DIR}\") + fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/oracle.exe\" \"\${QTPLUGINS}\" \"${libSearchDirs}\") " COMPONENT Runtime) endif() \ No newline at end of file diff --git a/oracle/src/oraclewizard.cpp b/oracle/src/oraclewizard.cpp index ac9dd28b..d50ae585 100644 --- a/oracle/src/oraclewizard.cpp +++ b/oracle/src/oraclewizard.cpp @@ -29,11 +29,12 @@ #include "main.h" #include "settingscache.h" +#define ZIP_SIGNATURE "PK" +#define ALLSETS_URL_FALLBACK "http://mtgjson.com/json/AllSets.json" + #ifdef HAS_ZLIB #include "zip/unzip.h" - #define ZIP_SIGNATURE "PK" #define ALLSETS_URL "http://mtgjson.com/json/AllSets.json.zip" - #define ALLSETS_URL_FALLBACK "http://mtgjson.com/json/AllSets.json" #else #define ALLSETS_URL "http://mtgjson.com/json/AllSets.json" #endif diff --git a/oracle/src/zip/zipglobal.cpp b/oracle/src/zip/zipglobal.cpp index 23e30814..5abf6a72 100755 --- a/oracle/src/zip/zipglobal.cpp +++ b/oracle/src/zip/zipglobal.cpp @@ -115,7 +115,7 @@ bool OSDAB_ZIP_MANGLE(setFileTimestamp)(const QString& fileName, const QDateTime return true; #ifdef Q_OS_WIN - HANDLE hFile = CreateFile(fileName.toStdWString().c_str(), + HANDLE hFile = CreateFileW(fileName.toStdWString().c_str(), GENERIC_WRITE, FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0); if (hFile == INVALID_HANDLE_VALUE) { return false;