From bd6f1cca9dc357a6dbd54e86b3f575282daf6e1e Mon Sep 17 00:00:00 2001 From: adrido Date: Mon, 10 Jun 2019 03:56:55 +0200 Subject: [PATCH] Add compatibility to vcpkg buildsystem (#8317) --- README.md | 206 +++++++++---------------------- cmake/Modules/FindCURL.cmake | 19 ++- cmake/Modules/FindIrrlicht.cmake | 22 ++-- cmake/Modules/FindLuaJIT.cmake | 38 ++++-- src/CMakeLists.txt | 145 +++++++++++----------- src/serialization.cpp | 4 +- 6 files changed, 181 insertions(+), 253 deletions(-) diff --git a/README.md b/README.md index 2430f94f6..12baa252a 100644 --- a/README.md +++ b/README.md @@ -284,165 +284,77 @@ Library specific options: VORBIS_LIBRARY - Only if building with sound; path to libvorbis.a/libvorbis.so/libvorbis.dll.a XXF86VM_LIBRARY - Only on Linux; path to libXXf86vm.a/libXXf86vm.so ZLIB_DLL - Only on Windows; path to zlib1.dll - ZLIBWAPI_DLL - Only on Windows; path to zlibwapi.dll ZLIB_INCLUDE_DIR - Directory that contains zlib.h - ZLIB_LIBRARY - Path to libz.a/libz.so/zlibwapi.lib + ZLIB_LIBRARY - Path to libz.a/libz.so/zlib.lib ### Compiling on Windows -* This section is outdated. In addition to what is described here: - * In addition to minetest, you need to download [minetest_game](https://github.com/minetest/minetest_game). - * If you wish to have sound support, you need libogg, libvorbis and libopenal +### Requirements -* You need: - * CMake: - http://www.cmake.org/cmake/resources/software.html - * A compiler - * MinGW: http://www.mingw.org/ - * or Visual Studio: http://msdn.microsoft.com/en-us/vstudio/default - * Irrlicht SDK 1.7: - http://irrlicht.sourceforge.net/downloads.html - * Zlib headers (zlib125.zip) - http://www.winimage.com/zLibDll/index.html - * Zlib library (zlibwapi.lib and zlibwapi.dll from zlib125dll.zip): - http://www.winimage.com/zLibDll/index.html - * SQLite3 headers and library - https://www.sqlite.org/download.html - * Optional: gettext library and tools: - http://gnuwin32.sourceforge.net/downlinks/gettext.php - * This is used for other UI languages. Feel free to leave it out. - * And, of course, Minetest: - http://minetest.net/download -* Steps: - * Select a directory called DIR hereafter in which you will operate. - * Make sure you have CMake and a compiler installed. - * Download all the other stuff to DIR and extract them into there. - ("extract here", not "extract to packagename/") - * NOTE: zlib125dll.zip needs to be extracted into zlib125dll - * NOTE: You need to extract sqlite3.h & sqlite3ext.h from the SQLite 3 - source and sqlite3.dll & sqlite3.def from the SQLite 3 precompiled - binaries into "sqlite3" directory, and generate sqlite3.lib using - command "LIB /DEF:sqlite3.def /OUT:sqlite3.lib" - * All those packages contain a nice base directory in them, which - should end up being the direct subdirectories of DIR. - * You will end up with a directory structure like this (+=dir, -=file): - ----------------- - + DIR - * zlib-1.2.5.tar.gz - * zlib125dll.zip - * irrlicht-1.8.3.zip - * sqlite-amalgamation-3130000.zip (SQLite3 headers) - * sqlite-dll-win32-x86-3130000.zip (SQLite3 library for 32bit system) - * 110214175330.zip (or whatever, this is the minetest source) - + zlib-1.2.5 - * zlib.h - + win32 - ... - + zlib125dll - * readme.txt - + dll32 - ... - + irrlicht-1.8.3 - + lib - + include - ... - + sqlite3 - sqlite3.h - sqlite3ext.h - sqlite3.lib - sqlite3.dll - + gettext (optional) - +bin - +include - +lib - + minetest - + src - + doc - * CMakeLists.txt - ... - ----------------- - * Start up the CMake GUI - * Select "Browse Source..." and select DIR/minetest - * Now, if using MSVC: - * Select "Browse Build..." and select DIR/minetest-build - * Else if using MinGW: - * Select "Browse Build..." and select DIR/minetest - * Select "Configure" - * Select your compiler - * It will warn about missing stuff, ignore that at this point. (later don't) - * Make sure the configuration is as follows - (note that the versions may differ for you): +* Visual Studio 2015 or newer https://visualstudio.microsoft.com +* CMake https://cmake.org/download/ +* vcpkg https://github.com/Microsoft/vcpkg +* git https://git-scm.com/downloads - BUILD_CLIENT [X] - BUILD_SERVER [ ] - CMAKE_BUILD_TYPE Release - CMAKE_INSTALL_PREFIX DIR/minetest-install - IRRLICHT_SOURCE_DIR DIR/irrlicht-1.8.3 - RUN_IN_PLACE [X] - WARN_ALL [ ] - ZLIB_DLL DIR/zlib125dll/dll32/zlibwapi.dll - ZLIB_INCLUDE_DIR DIR/zlib-1.2.5 - ZLIB_LIBRARIES DIR/zlib125dll/dll32/zlibwapi.lib - GETTEXT_BIN_DIR DIR/gettext/bin - GETTEXT_INCLUDE_DIR DIR/gettext/include - GETTEXT_LIBRARIES DIR/gettext/lib/intl.lib - GETTEXT_MSGFMT DIR/gettext/bin/msgfmt +### Compiling and Installing the dependencies - * If CMake complains it couldn't find SQLITE3, choose "Advanced" box on the - right top corner, then specify the location of SQLITE3_INCLUDE_DIR and - SQLITE3_LIBRARY manually. - * If you want to build 64-bit minetest, you will need to build 64-bit version - of irrlicht engine manually, as only 32-bit pre-built library is provided. - * Hit "Configure" - * Hit "Configure" once again 8) - * If something is still coloured red, you have a problem. - * Hit "Generate" - If using MSVC: - * Open the generated minetest.sln - * The project defaults to the "Debug" configuration. Make very sure to - select "Release", unless you want to debug some stuff (it's slower - and might not even work at all) - * Build the ALL_BUILD project - * Build the INSTALL project - * You should now have a working game with the executable in - DIR/minetest-install/bin/minetest.exe - * Additionally you may create a zip package by building the PACKAGE - project. - If using MinGW: - * Using the command line, browse to the build directory and run 'make' - (or mingw32-make or whatever it happens to be) - * You may need to copy some of the downloaded DLLs into bin/, see what - running the produced executable tells you it doesn't have. - * You should now have a working game with the executable in - DIR/minetest/bin/minetest.exe +It is highly recommended to use vcpkg as package manager. -### Bat script to build Windows releases of Minetest +#### a) Using vcpkg to install dependencies -This is how we build Windows releases. +After you successfully built vcpkg you can easily install the required libaries. +```powershell +vcpkg install irrlicht zlib curl[winssl] openal-soft libvorbis libogg sqlite3 freetype luajit --triplet x64-windows +``` +`curl` is optional, but required to read the serverlist, `curl[winssl]` is required to use the content store. - set sourcedir=%CD% - set installpath="C:\tmp\minetest_install" - set irrlichtpath="C:\tmp\irrlicht-1.7.2" +`openal-soft`, `libvorbis` and `libogg` are optional, but required to use sound. - set builddir=%sourcedir%\bvc10 - mkdir %builddir% - pushd %builddir% - cmake %sourcedir% -G "Visual Studio 10" -DIRRLICHT_SOURCE_DIR=%irrlichtpath% -DRUN_IN_PLACE=TRUE -DCMAKE_INSTALL_PREFIX=%installpath% - if %errorlevel% neq 0 goto fail - "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" ALL_BUILD.vcxproj /p:Configuration=Release - if %errorlevel% neq 0 goto fail - "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" INSTALL.vcxproj /p:Configuration=Release - if %errorlevel% neq 0 goto fail - "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" PACKAGE.vcxproj /p:Configuration=Release - if %errorlevel% neq 0 goto fail - popd - echo Finished. - exit /b 0 +`freetype` is optional, it allows true-type font rendering. - :fail - popd - echo Failed. - exit /b 1 +`luajit` is optional and replaces the integrated lua interpreter with a faster just in time interpreter + +There are other libaries that are optional, but are not tested if they can build and linked correctly. + +`--triplet` specify the target triplet e.g. x64-windows x86-windows + +#### b) Compile the dependencies on your own + +This is outdated and not recommended. Follow the instructions on https://dev.minetest.net/Build_Win32_Minetest_including_all_required_libraries#VS2012_Build + +### Compile Minetest + +#### a) Using the vcpkg toolchain and CMakeGUI +1. Start up the CMake GUI +2. Select "Browse Source..." and select DIR/minetest +3. Select "Browse Build..." and select DIR/minetest-build +4. Select "Configure" +5. Choose the right visual Studio version and target platform. It has to match the version of the installed dependencies +6. Choose "Specify toolchain file for cross-compiling" +7. Click "Next" +8. Select the vcpkg toolchain file e.g. `D:/vcpkg/scripts/buildsystems/vcpkg.cmake` +9. Click Finish +10. Wait until cmake have generated the cash file +11. If there are any errors, solve them and hit "Configure" +12. Click "Generate" +13. Click "Open Project" +14. Compile Minetest inside Visual studio. + +#### b) Using the vcpkg toolchain and the commandline + +Run the following script in Powershell: + +```powershell +cmake . -G"Visual Studio 15 2017 Win64" -DCMAKE_TOOLCHAIN_FILE=D:/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_GETTEXT=0 -DENABLE_CURSES=0 +cmake --build . --config Release +``` +Make sure that the right compiler is selected and the path to the vcpkg toolchain is correct. + +#### c) Using your own compiled libaries + +**This is outdated and not recommended** + +Follow the instructions on https://dev.minetest.net/Build_Win32_Minetest_including_all_required_libraries#VS2012_Build ### Windows Installer using WIX Toolset diff --git a/cmake/Modules/FindCURL.cmake b/cmake/Modules/FindCURL.cmake index 2ec866ef9..43aaf3e18 100644 --- a/cmake/Modules/FindCURL.cmake +++ b/cmake/Modules/FindCURL.cmake @@ -1,19 +1,16 @@ mark_as_advanced(CURL_LIBRARY CURL_INCLUDE_DIR) -find_library(CURL_LIBRARY NAMES curl) +find_library(CURL_LIBRARY NAMES curl libcurl) find_path(CURL_INCLUDE_DIR NAMES curl/curl.h) -set(CURL_REQUIRED_VARS CURL_LIBRARY CURL_INCLUDE_DIR) - if(WIN32) - find_file(CURL_DLL NAMES libcurl-4.dll - PATHS - "C:/Windows/System32" - DOC "Path to the cURL DLL (for installation)") - mark_as_advanced(CURL_DLL) - set(CURL_REQUIRED_VARS ${CURL_REQUIRED_VARS} CURL_DLL) + # If VCPKG_APPLOCAL_DEPS is ON, dll's are automatically handled by VCPKG + if(NOT VCPKG_APPLOCAL_DEPS) + find_file(CURL_DLL NAMES libcurl-4.dll libcurl.dll + DOC "Path to the cURL DLL (for installation)") + mark_as_advanced(CURL_DLL) + endif() endif() include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(CURL DEFAULT_MSG ${CURL_REQUIRED_VARS}) - +find_package_handle_standard_args(CURL DEFAULT_MSG CURL_LIBRARY CURL_INCLUDE_DIR) diff --git a/cmake/Modules/FindIrrlicht.cmake b/cmake/Modules/FindIrrlicht.cmake index 37349b892..6f361e829 100644 --- a/cmake/Modules/FindIrrlicht.cmake +++ b/cmake/Modules/FindIrrlicht.cmake @@ -43,6 +43,7 @@ else() /usr/local/include/irrlicht /usr/include/irrlicht /system/develop/headers/irrlicht #Haiku + PATH_SUFFIXES "include/irrlicht" ) find_library(IRRLICHT_LIBRARY NAMES libIrrlicht.so libIrrlicht.a Irrlicht @@ -56,16 +57,19 @@ endif() # On Windows, find the DLL for installation if(WIN32) - if(MSVC) - set(IRRLICHT_COMPILER "VisualStudio") - else() - set(IRRLICHT_COMPILER "gcc") + # If VCPKG_APPLOCAL_DEPS is ON, dll's are automatically handled by VCPKG + if(NOT VCPKG_APPLOCAL_DEPS) + if(MSVC) + set(IRRLICHT_COMPILER "VisualStudio") + else() + set(IRRLICHT_COMPILER "gcc") + endif() + find_file(IRRLICHT_DLL NAMES Irrlicht.dll + PATHS + "${IRRLICHT_SOURCE_DIR}/bin/Win32-${IRRLICHT_COMPILER}" + DOC "Path of the Irrlicht dll (for installation)" + ) endif() - find_file(IRRLICHT_DLL NAMES Irrlicht.dll - PATHS - "${IRRLICHT_SOURCE_DIR}/bin/Win32-${IRRLICHT_COMPILER}" - DOC "Path of the Irrlicht dll (for installation)" - ) endif(WIN32) include(FindPackageHandleStandardArgs) diff --git a/cmake/Modules/FindLuaJIT.cmake b/cmake/Modules/FindLuaJIT.cmake index cd6e7bdd8..3f5cc1cf4 100644 --- a/cmake/Modules/FindLuaJIT.cmake +++ b/cmake/Modules/FindLuaJIT.cmake @@ -19,19 +19,31 @@ FIND_PATH(LUA_INCLUDE_DIR luajit.h /opt ) -FIND_LIBRARY(LUA_LIBRARY - NAMES luajit-5.1 - HINTS - $ENV{LUA_DIR} - PATH_SUFFIXES lib64 lib - PATHS - ~/Library/Frameworks - /Library/Frameworks - /sw - /opt/local - /opt/csw - /opt -) +# Test if running on vcpkg toolchain +if(DEFINED VCPKG_TARGET_TRIPLET AND DEFINED VCPKG_APPLOCAL_DEPS) + # On vcpkg luajit is 'lua51' and normal lua is 'lua' + FIND_LIBRARY(LUA_LIBRARY + NAMES lua51 + HINTS + $ENV{LUA_DIR} + PATH_SUFFIXES lib + ) +else() + FIND_LIBRARY(LUA_LIBRARY + NAMES luajit-5.1 + HINTS + $ENV{LUA_DIR} + PATH_SUFFIXES lib64 lib + PATHS + ~/Library/Frameworks + /Library/Frameworks + /sw + /opt/local + /opt/csw + /opt + ) +endif() + IF(LUA_INCLUDE_DIR AND EXISTS "${LUA_INCLUDE_DIR}/luajit.h") FILE(STRINGS "${LUA_INCLUDE_DIR}/luajit.h" lua_version_str REGEX "^#define[ \t]+LUA_RELEASE[ \t]+\"LuaJIT .+\"") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 45008e337..cb920e875 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -176,7 +176,7 @@ option(ENABLE_LEVELDB "Enable LevelDB backend" TRUE) set(USE_LEVELDB FALSE) if(ENABLE_LEVELDB) - find_library(LEVELDB_LIBRARY leveldb) + find_library(LEVELDB_LIBRARY NAMES leveldb libleveldb) find_path(LEVELDB_INCLUDE_DIR db.h PATH_SUFFIXES leveldb) if(LEVELDB_LIBRARY AND LEVELDB_INCLUDE_DIR) set(USE_LEVELDB TRUE) @@ -251,32 +251,23 @@ if(WIN32) set(PLATFORM_LIBS ws2_32.lib version.lib shlwapi.lib ${PLATFORM_LIBS}) # Zlib stuff - set(ZLIB_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/../../zlib/zlib-1.2.5" - CACHE PATH "Zlib include directory") - set(ZLIB_LIBRARIES "${PROJECT_SOURCE_DIR}/../../zlib125dll/dll32/zlibwapi.lib" - CACHE FILEPATH "Path to zlib library (usually zlibwapi.lib)") - set(ZLIB_DLL "${PROJECT_SOURCE_DIR}/../../zlib125dll/dll32/zlibwapi.dll" - CACHE FILEPATH "Path to zlib DLL (for installation)") - set(ZLIBWAPI_DLL "" CACHE FILEPATH "Path to zlibwapi DLL") - set(IRRLICHT_SOURCE_DIR "${PROJECT_SOURCE_DIR}/../../irrlicht-1.7.2" - CACHE PATH "irrlicht dir") - if(USE_FREETYPE) - set(FREETYPE_INCLUDE_DIR_ft2build "${PROJECT_SOURCE_DIR}/../../freetype2/include/" - CACHE PATH "freetype include dir") - set(FREETYPE_INCLUDE_DIR_freetype2 "${PROJECT_SOURCE_DIR}/../../freetype2/include/freetype" - CACHE PATH "freetype include dir") - set(FREETYPE_LIBRARY "${PROJECT_SOURCE_DIR}/../../freetype2/objs/win32/vc2005/freetype247.lib" - CACHE FILEPATH "Path to freetype247.lib") - endif() - if(ENABLE_SOUND) - set(OPENAL_DLL "" CACHE FILEPATH "Path to OpenAL32.dll for installation (optional)") - set(OGG_DLL "" CACHE FILEPATH "Path to libogg.dll for installation (optional)") - set(VORBIS_DLL "" CACHE FILEPATH "Path to libvorbis.dll for installation (optional)") - set(VORBISFILE_DLL "" CACHE FILEPATH "Path to libvorbisfile.dll for installation (optional)") - endif() - if(USE_LUAJIT) - set(LUA_DLL "" CACHE FILEPATH "Path to lua51.dll for installation (optional)") + find_path(ZLIB_INCLUDE_DIR "zlib.h" DOC "Zlib include directory") + find_library(ZLIB_LIBRARIES "zlib" DOC "Path to zlib library") + + # Dll's are automatically copied to the output directory by vcpkg when VCPKG_APPLOCAL_DEPS=ON + if(NOT VCPKG_APPLOCAL_DEPS) + find_file(ZLIB_DLL NAMES "zlib.dll" "zlib1.dll" DOC "Path to zlib.dll for installation (optional)") + if(ENABLE_SOUND) + set(OPENAL_DLL "" CACHE FILEPATH "Path to OpenAL32.dll for installation (optional)") + set(OGG_DLL "" CACHE FILEPATH "Path to libogg.dll for installation (optional)") + set(VORBIS_DLL "" CACHE FILEPATH "Path to libvorbis.dll for installation (optional)") + set(VORBISFILE_DLL "" CACHE FILEPATH "Path to libvorbisfile.dll for installation (optional)") + endif() + if(USE_LUAJIT) + set(LUA_DLL "" CACHE FILEPATH "Path to lua51.dll for installation (optional)") + endif() endif() + else() # Unix probably if(BUILD_CLIENT) @@ -703,12 +694,6 @@ else() set(OTHER_FLAGS "${OTHER_FLAGS} -Wsign-compare") endif() - if(WIN32 AND NOT ZLIBWAPI_DLL AND CMAKE_SIZEOF_VOID_P EQUAL 4) - set(OTHER_FLAGS "${OTHER_FLAGS} -DWIN32_NO_ZLIB_WINAPI") - message(WARNING "Defaulting to cdecl for zlib on win32 because ZLIBWAPI_DLL" - " isn't set, ensure that ZLIBWAPI_DLL is set if you want stdcall.") - endif() - if(MINGW) set(OTHER_FLAGS "${OTHER_FLAGS} -mthreads -fexceptions") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWIN32_LEAN_AND_MEAN") @@ -736,40 +721,58 @@ endif() # Installation if(WIN32) - if(USE_SOUND) - if(OPENAL_DLL) - install(FILES ${OPENAL_DLL} DESTINATION ${BINDIR}) + if(VCPKG_APPLOCAL_DEPS) + # Collect the dll's from the output path + install(DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/Release/ + DESTINATION ${BINDIR} + CONFIGURATIONS Release + FILES_MATCHING PATTERN "*.dll") + install(DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/Debug/ + DESTINATION ${BINDIR} + CONFIGURATIONS Debug + FILES_MATCHING PATTERN "*.dll") + install(DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/RelWithDebInfo/ + DESTINATION ${BINDIR} + CONFIGURATIONS RelWithDebInfo + FILES_MATCHING PATTERN "*.dll") + install(DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/MinSizeRel/ + DESTINATION ${BINDIR} + CONFIGURATIONS RelWithDebInfo + FILES_MATCHING PATTERN "*.dll") + else() + # Use the old-style way to install dll's + if(USE_SOUND) + if(OPENAL_DLL) + install(FILES ${OPENAL_DLL} DESTINATION ${BINDIR}) + endif() + if(OGG_DLL) + install(FILES ${OGG_DLL} DESTINATION ${BINDIR}) + endif() + if(VORBIS_DLL) + install(FILES ${VORBIS_DLL} DESTINATION ${BINDIR}) + endif() + if(VORBISFILE_DLL) + install(FILES ${VORBISFILE_DLL} DESTINATION ${BINDIR}) + endif() endif() - if(OGG_DLL) - install(FILES ${OGG_DLL} DESTINATION ${BINDIR}) + if(CURL_DLL) + install(FILES ${CURL_DLL} DESTINATION ${BINDIR}) endif() - if(VORBIS_DLL) - install(FILES ${VORBIS_DLL} DESTINATION ${BINDIR}) + if(ZLIB_DLL) + install(FILES ${ZLIB_DLL} DESTINATION ${BINDIR}) endif() - if(VORBISFILE_DLL) - install(FILES ${VORBISFILE_DLL} DESTINATION ${BINDIR}) + if(FREETYPE_DLL) + install(FILES ${FREETYPE_DLL} DESTINATION ${BINDIR}) + endif() + if(SQLITE3_DLL) + install(FILES ${SQLITE3_DLL} DESTINATION ${BINDIR}) + endif() + if(LEVELDB_DLL) + install(FILES ${LEVELDB_DLL} DESTINATION ${BINDIR}) + endif() + if(LUA_DLL) + install(FILES ${LUA_DLL} DESTINATION ${BINDIR}) endif() - endif() - if(CURL_DLL) - install(FILES ${CURL_DLL} DESTINATION ${BINDIR}) - endif() - if(ZLIB_DLL) - install(FILES ${ZLIB_DLL} DESTINATION ${BINDIR}) - endif() - if(ZLIBWAPI_DLL) - install(FILES ${ZLIBWAPI_DLL} DESTINATION ${BINDIR}) - endif() - if(FREETYPE_DLL) - install(FILES ${FREETYPE_DLL} DESTINATION ${BINDIR}) - endif() - if(SQLITE3_DLL) - install(FILES ${SQLITE3_DLL} DESTINATION ${BINDIR}) - endif() - if(LEVELDB_DLL) - install(FILES ${LEVELDB_DLL} DESTINATION ${BINDIR}) - endif() - if(LUA_DLL) - install(FILES ${LUA_DLL} DESTINATION ${BINDIR}) endif() endif() @@ -806,15 +809,17 @@ if(BUILD_CLIENT) endif() if(WIN32) - if(DEFINED IRRLICHT_DLL) - install(FILES ${IRRLICHT_DLL} DESTINATION ${BINDIR}) - endif() - if(USE_GETTEXT) - if(DEFINED GETTEXT_DLL) - install(FILES ${GETTEXT_DLL} DESTINATION ${BINDIR}) + if(NOT VCPKG_APPLOCAL_DEPS) + if(DEFINED IRRLICHT_DLL) + install(FILES ${IRRLICHT_DLL} DESTINATION ${BINDIR}) endif() - if(DEFINED GETTEXT_ICONV_DLL) - install(FILES ${GETTEXT_ICONV_DLL} DESTINATION ${BINDIR}) + if(USE_GETTEXT) + if(DEFINED GETTEXT_DLL) + install(FILES ${GETTEXT_DLL} DESTINATION ${BINDIR}) + endif() + if(DEFINED GETTEXT_ICONV_DLL) + install(FILES ${GETTEXT_ICONV_DLL} DESTINATION ${BINDIR}) + endif() endif() endif() endif() diff --git a/src/serialization.cpp b/src/serialization.cpp index ac6fc0db2..36ddb467c 100644 --- a/src/serialization.cpp +++ b/src/serialization.cpp @@ -20,9 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "serialization.h" #include "util/serialize.h" -#if defined(_WIN32) && !defined(WIN32_NO_ZLIB_WINAPI) - #define ZLIB_WINAPI -#endif + #include "zlib.h" /* report a zlib or i/o error */