Add compatibility to vcpkg buildsystem (#8317)
authoradrido <robots_only_adrido@gmx.com>
Mon, 10 Jun 2019 01:56:55 +0000 (03:56 +0200)
committerrubenwardy <rw@rubenwardy.com>
Mon, 10 Jun 2019 01:56:55 +0000 (02:56 +0100)
README.md
cmake/Modules/FindCURL.cmake
cmake/Modules/FindIrrlicht.cmake
cmake/Modules/FindLuaJIT.cmake
src/CMakeLists.txt
src/serialization.cpp

index 2430f94f6c6ad884c67f8d018e19a17ab8d888e4..12baa252a9ed731657ad67214d7a9aa846a29820 100644 (file)
--- 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
-
-* 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):
-
-                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
-
-       * 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
-
-### Bat script to build Windows releases of Minetest
-
-This is how we build Windows releases.
-
-    set sourcedir=%CD%
-    set installpath="C:\tmp\minetest_install"
-    set irrlichtpath="C:\tmp\irrlicht-1.7.2"
-
-    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
-
-    :fail
-    popd
-    echo Failed.
-    exit /b 1
+### Requirements
+
+* 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
+
+### Compiling and Installing the dependencies
+
+It is highly recommended to use vcpkg as package manager.
+
+#### a) Using vcpkg to install dependencies
+
+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.
+
+`openal-soft`, `libvorbis` and `libogg` are optional, but required to use sound.
+
+`freetype` is optional, it allows true-type font rendering.
+
+`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
 
index 2ec866ef9308de9c36c6605208ead585bf728a60..43aaf3e1800371c0146d9a7b9a6163961d5ee14b 100644 (file)
@@ -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)
index 37349b892b9b3f0b2ea94d92418ce83a6891a7b1..6f361e82966d582fdf2590c95f3c6beaa018c132 100644 (file)
@@ -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)
index cd6e7bdd8d9eae8f93b23a66d095e29f126bdea0..3f5cc1cf4eaed6b717e8925c64dff5f71129a2a4 100644 (file)
@@ -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 .+\"")
index 45008e337e6692bcd44e14ae4f8af2b2a7f2171e..cb920e875ae275a1f024ac37e09de4a3b56df028 100644 (file)
@@ -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()
index ac6fc0db2c7da542e2c4875f32eae2862ad6dfac..36ddb467cbbc5a7fa82fac1f51fff8e6acba225a 100644 (file)
@@ -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 */