forked from Mirrorlandia_minetest/minetest
Add compatibility to vcpkg buildsystem (#8317)
This commit is contained in:
parent
9a07792f4d
commit
bd6f1cca9d
206
README.md
206
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
|
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
|
XXF86VM_LIBRARY - Only on Linux; path to libXXf86vm.a/libXXf86vm.so
|
||||||
ZLIB_DLL - Only on Windows; path to zlib1.dll
|
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_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
|
### Compiling on Windows
|
||||||
|
|
||||||
* This section is outdated. In addition to what is described here:
|
### Requirements
|
||||||
* 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:
|
* Visual Studio 2015 or newer https://visualstudio.microsoft.com
|
||||||
* CMake:
|
* CMake https://cmake.org/download/
|
||||||
http://www.cmake.org/cmake/resources/software.html
|
* vcpkg https://github.com/Microsoft/vcpkg
|
||||||
* A compiler
|
* git https://git-scm.com/downloads
|
||||||
* 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]
|
### Compiling and Installing the dependencies
|
||||||
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
|
It is highly recommended to use vcpkg as package manager.
|
||||||
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
|
#### 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%
|
`openal-soft`, `libvorbis` and `libogg` are optional, but required to use sound.
|
||||||
set installpath="C:\tmp\minetest_install"
|
|
||||||
set irrlichtpath="C:\tmp\irrlicht-1.7.2"
|
|
||||||
|
|
||||||
set builddir=%sourcedir%\bvc10
|
`freetype` is optional, it allows true-type font rendering.
|
||||||
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
|
`luajit` is optional and replaces the integrated lua interpreter with a faster just in time interpreter
|
||||||
popd
|
|
||||||
echo Failed.
|
There are other libaries that are optional, but are not tested if they can build and linked correctly.
|
||||||
exit /b 1
|
|
||||||
|
`--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
|
### Windows Installer using WIX Toolset
|
||||||
|
|
||||||
|
@ -1,19 +1,16 @@
|
|||||||
mark_as_advanced(CURL_LIBRARY CURL_INCLUDE_DIR)
|
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)
|
find_path(CURL_INCLUDE_DIR NAMES curl/curl.h)
|
||||||
|
|
||||||
set(CURL_REQUIRED_VARS CURL_LIBRARY CURL_INCLUDE_DIR)
|
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
find_file(CURL_DLL NAMES libcurl-4.dll
|
# If VCPKG_APPLOCAL_DEPS is ON, dll's are automatically handled by VCPKG
|
||||||
PATHS
|
if(NOT VCPKG_APPLOCAL_DEPS)
|
||||||
"C:/Windows/System32"
|
find_file(CURL_DLL NAMES libcurl-4.dll libcurl.dll
|
||||||
DOC "Path to the cURL DLL (for installation)")
|
DOC "Path to the cURL DLL (for installation)")
|
||||||
mark_as_advanced(CURL_DLL)
|
mark_as_advanced(CURL_DLL)
|
||||||
set(CURL_REQUIRED_VARS ${CURL_REQUIRED_VARS} CURL_DLL)
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
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)
|
||||||
|
|
||||||
|
@ -43,6 +43,7 @@ else()
|
|||||||
/usr/local/include/irrlicht
|
/usr/local/include/irrlicht
|
||||||
/usr/include/irrlicht
|
/usr/include/irrlicht
|
||||||
/system/develop/headers/irrlicht #Haiku
|
/system/develop/headers/irrlicht #Haiku
|
||||||
|
PATH_SUFFIXES "include/irrlicht"
|
||||||
)
|
)
|
||||||
|
|
||||||
find_library(IRRLICHT_LIBRARY NAMES libIrrlicht.so libIrrlicht.a Irrlicht
|
find_library(IRRLICHT_LIBRARY NAMES libIrrlicht.so libIrrlicht.a Irrlicht
|
||||||
@ -56,6 +57,8 @@ endif()
|
|||||||
|
|
||||||
# On Windows, find the DLL for installation
|
# On Windows, find the DLL for installation
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
# If VCPKG_APPLOCAL_DEPS is ON, dll's are automatically handled by VCPKG
|
||||||
|
if(NOT VCPKG_APPLOCAL_DEPS)
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set(IRRLICHT_COMPILER "VisualStudio")
|
set(IRRLICHT_COMPILER "VisualStudio")
|
||||||
else()
|
else()
|
||||||
@ -66,6 +69,7 @@ if(WIN32)
|
|||||||
"${IRRLICHT_SOURCE_DIR}/bin/Win32-${IRRLICHT_COMPILER}"
|
"${IRRLICHT_SOURCE_DIR}/bin/Win32-${IRRLICHT_COMPILER}"
|
||||||
DOC "Path of the Irrlicht dll (for installation)"
|
DOC "Path of the Irrlicht dll (for installation)"
|
||||||
)
|
)
|
||||||
|
endif()
|
||||||
endif(WIN32)
|
endif(WIN32)
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
|
@ -19,6 +19,16 @@ FIND_PATH(LUA_INCLUDE_DIR luajit.h
|
|||||||
/opt
|
/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
|
FIND_LIBRARY(LUA_LIBRARY
|
||||||
NAMES luajit-5.1
|
NAMES luajit-5.1
|
||||||
HINTS
|
HINTS
|
||||||
@ -32,6 +42,8 @@ FIND_LIBRARY(LUA_LIBRARY
|
|||||||
/opt/csw
|
/opt/csw
|
||||||
/opt
|
/opt
|
||||||
)
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
IF(LUA_INCLUDE_DIR AND EXISTS "${LUA_INCLUDE_DIR}/luajit.h")
|
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 .+\"")
|
FILE(STRINGS "${LUA_INCLUDE_DIR}/luajit.h" lua_version_str REGEX "^#define[ \t]+LUA_RELEASE[ \t]+\"LuaJIT .+\"")
|
||||||
|
@ -176,7 +176,7 @@ option(ENABLE_LEVELDB "Enable LevelDB backend" TRUE)
|
|||||||
set(USE_LEVELDB FALSE)
|
set(USE_LEVELDB FALSE)
|
||||||
|
|
||||||
if(ENABLE_LEVELDB)
|
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)
|
find_path(LEVELDB_INCLUDE_DIR db.h PATH_SUFFIXES leveldb)
|
||||||
if(LEVELDB_LIBRARY AND LEVELDB_INCLUDE_DIR)
|
if(LEVELDB_LIBRARY AND LEVELDB_INCLUDE_DIR)
|
||||||
set(USE_LEVELDB TRUE)
|
set(USE_LEVELDB TRUE)
|
||||||
@ -251,23 +251,12 @@ if(WIN32)
|
|||||||
set(PLATFORM_LIBS ws2_32.lib version.lib shlwapi.lib ${PLATFORM_LIBS})
|
set(PLATFORM_LIBS ws2_32.lib version.lib shlwapi.lib ${PLATFORM_LIBS})
|
||||||
|
|
||||||
# Zlib stuff
|
# Zlib stuff
|
||||||
set(ZLIB_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/../../zlib/zlib-1.2.5"
|
find_path(ZLIB_INCLUDE_DIR "zlib.h" DOC "Zlib include directory")
|
||||||
CACHE PATH "Zlib include directory")
|
find_library(ZLIB_LIBRARIES "zlib" DOC "Path to zlib library")
|
||||||
set(ZLIB_LIBRARIES "${PROJECT_SOURCE_DIR}/../../zlib125dll/dll32/zlibwapi.lib"
|
|
||||||
CACHE FILEPATH "Path to zlib library (usually zlibwapi.lib)")
|
# Dll's are automatically copied to the output directory by vcpkg when VCPKG_APPLOCAL_DEPS=ON
|
||||||
set(ZLIB_DLL "${PROJECT_SOURCE_DIR}/../../zlib125dll/dll32/zlibwapi.dll"
|
if(NOT VCPKG_APPLOCAL_DEPS)
|
||||||
CACHE FILEPATH "Path to zlib DLL (for installation)")
|
find_file(ZLIB_DLL NAMES "zlib.dll" "zlib1.dll" DOC "Path to zlib.dll for installation (optional)")
|
||||||
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)
|
if(ENABLE_SOUND)
|
||||||
set(OPENAL_DLL "" CACHE FILEPATH "Path to OpenAL32.dll for installation (optional)")
|
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(OGG_DLL "" CACHE FILEPATH "Path to libogg.dll for installation (optional)")
|
||||||
@ -277,6 +266,8 @@ if(WIN32)
|
|||||||
if(USE_LUAJIT)
|
if(USE_LUAJIT)
|
||||||
set(LUA_DLL "" CACHE FILEPATH "Path to lua51.dll for installation (optional)")
|
set(LUA_DLL "" CACHE FILEPATH "Path to lua51.dll for installation (optional)")
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
else()
|
else()
|
||||||
# Unix probably
|
# Unix probably
|
||||||
if(BUILD_CLIENT)
|
if(BUILD_CLIENT)
|
||||||
@ -703,12 +694,6 @@ else()
|
|||||||
set(OTHER_FLAGS "${OTHER_FLAGS} -Wsign-compare")
|
set(OTHER_FLAGS "${OTHER_FLAGS} -Wsign-compare")
|
||||||
endif()
|
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)
|
if(MINGW)
|
||||||
set(OTHER_FLAGS "${OTHER_FLAGS} -mthreads -fexceptions")
|
set(OTHER_FLAGS "${OTHER_FLAGS} -mthreads -fexceptions")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWIN32_LEAN_AND_MEAN")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWIN32_LEAN_AND_MEAN")
|
||||||
@ -736,6 +721,26 @@ endif()
|
|||||||
# Installation
|
# Installation
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
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(USE_SOUND)
|
||||||
if(OPENAL_DLL)
|
if(OPENAL_DLL)
|
||||||
install(FILES ${OPENAL_DLL} DESTINATION ${BINDIR})
|
install(FILES ${OPENAL_DLL} DESTINATION ${BINDIR})
|
||||||
@ -756,9 +761,6 @@ if(WIN32)
|
|||||||
if(ZLIB_DLL)
|
if(ZLIB_DLL)
|
||||||
install(FILES ${ZLIB_DLL} DESTINATION ${BINDIR})
|
install(FILES ${ZLIB_DLL} DESTINATION ${BINDIR})
|
||||||
endif()
|
endif()
|
||||||
if(ZLIBWAPI_DLL)
|
|
||||||
install(FILES ${ZLIBWAPI_DLL} DESTINATION ${BINDIR})
|
|
||||||
endif()
|
|
||||||
if(FREETYPE_DLL)
|
if(FREETYPE_DLL)
|
||||||
install(FILES ${FREETYPE_DLL} DESTINATION ${BINDIR})
|
install(FILES ${FREETYPE_DLL} DESTINATION ${BINDIR})
|
||||||
endif()
|
endif()
|
||||||
@ -772,6 +774,7 @@ if(WIN32)
|
|||||||
install(FILES ${LUA_DLL} DESTINATION ${BINDIR})
|
install(FILES ${LUA_DLL} DESTINATION ${BINDIR})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if(BUILD_CLIENT)
|
if(BUILD_CLIENT)
|
||||||
install(TARGETS ${PROJECT_NAME}
|
install(TARGETS ${PROJECT_NAME}
|
||||||
@ -806,6 +809,7 @@ if(BUILD_CLIENT)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
if(NOT VCPKG_APPLOCAL_DEPS)
|
||||||
if(DEFINED IRRLICHT_DLL)
|
if(DEFINED IRRLICHT_DLL)
|
||||||
install(FILES ${IRRLICHT_DLL} DESTINATION ${BINDIR})
|
install(FILES ${IRRLICHT_DLL} DESTINATION ${BINDIR})
|
||||||
endif()
|
endif()
|
||||||
@ -818,6 +822,7 @@ if(BUILD_CLIENT)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
endif(BUILD_CLIENT)
|
endif(BUILD_CLIENT)
|
||||||
|
|
||||||
if(BUILD_SERVER)
|
if(BUILD_SERVER)
|
||||||
|
@ -20,9 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#include "serialization.h"
|
#include "serialization.h"
|
||||||
|
|
||||||
#include "util/serialize.h"
|
#include "util/serialize.h"
|
||||||
#if defined(_WIN32) && !defined(WIN32_NO_ZLIB_WINAPI)
|
|
||||||
#define ZLIB_WINAPI
|
|
||||||
#endif
|
|
||||||
#include "zlib.h"
|
#include "zlib.h"
|
||||||
|
|
||||||
/* report a zlib or i/o error */
|
/* report a zlib or i/o error */
|
||||||
|
Loading…
Reference in New Issue
Block a user