|
|
(59 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | = Prerequisites =
| + | #REDIRECT [[How_to_build_VCMI_(Windows/Vcpkg)]] |
− | * HoMM 3 (can be bought at [http://www.gog.com/en/gamecard/heroes_of_might_and_magic_3_complete_edition/ gog.com])
| |
− |
| |
− | | |
− | * CMake [http://www.cmake.org/files/v3.0/cmake-3.0.0-win32-x86.exe download]
| |
− | * Git or git GUI, for example, SourceTree [http://www.sourcetreeapp.com/download download]
| |
− |
| |
− | | |
− | * Qt5 bundle [http://download.qt-project.org/official_releases/online_installers/qt-opensource-windows-x86-1.6.0-4-online.exe download]
| |
− | * Boost libraries [http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.7z/download download]
| |
− | * SDL libraries
| |
− | ** libSDL2 [http://www.libsdl.org/release/SDL2-devel-2.0.3-mingw.tar.gz download]
| |
− | ** libSDL2_image [http://www.libsdl.org/projects/SDL_image/release/SDL2_image-devel-2.0.0-mingw.tar.gz download]
| |
− | ** libSDL2_mixer [http://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-devel-2.0.0-mingw.tar.gz download]
| |
− | ** libSDL2_ttf [http://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-devel-2.0.12-mingw.tar.gz download]
| |
− | * ZLib [http://zlib.net/zlib128.zip download]
| |
− | | |
− | = Clone VCMI =
| |
− | * open SourceTree
| |
− | * File -> Clone
| |
− | * select '''https://github.com/vcmi/vcmi/''' as source
| |
− | * select '''[VCMIBUILD_DIR]/vcmi/source''' as destination
| |
− | * click '''Clone'''
| |
− | | |
− | = Install Qt bundle =
| |
− | * Run installer
| |
− | * Select latest Qt for mingw and mingw 4.8.2 from tools
| |
− | * Select '''[VCMIBUILD_DIR]/qt''' as destination folder
| |
− | * Add '''[VCMIBUILD_DIR]/Qt/Tools/mingw482_32/bin''' to '''PATH''' system variable.
| |
− | | |
− | = Build boost =
| |
− | * Unpack boost archive
| |
− | <pre>
| |
− | bootstrap.bat gcc
| |
− | b2 toolset=gcc --without-python --stage
| |
− | </pre>
| |
− | * copy '''stage/lib''' to '''[VCMIBUILD_DIR]/boost/lib'''
| |
− | * copy '''boost''' dir to '''[VCMIBUILD_DIR]/boost/boost'''
| |
− | So, you should get
| |
− | *[VCMIBUILD_DIR]
| |
− | **boost
| |
− | ***boost
| |
− | ***lib
| |
− | | |
− | = Unpack SDL2 =
| |
− | * Unpack all SDL2* archives
| |
− | * Copy content of '''i686-w64-mingw32''' to '''[VCMIBUILD_DIR]/depends'''
| |
− | | |
− | So, you should get
| |
− | *[VCMIBUILD_DIR]
| |
− | **depends
| |
− | ***bin
| |
− | ***include
| |
− | ***lib
| |
− | | |
− | = Create toolchain file =
| |
− | Create [VCMIBUILD_DIR]/toolchain.txt
| |
− | <pre>
| |
− | SET(CMAKE_SYSTEM_NAME Windows)
| |
− | SWT(VCMIBUILD_DIR [ENTER YOUR VCMIBUILD_DIR PATH])
| |
− | SET(CMAKE_C_COMPILER ${VCMIBUILD_DIR}/Qt/Tools/mingw482_32/bin/gcc.exe)
| |
− | SET(CMAKE_CXX_COMPILER ${VCMIBUILD_DIR}/Qt/Tools/mingw482_32/bin/g++.exe)
| |
− | | |
− | SET(ENV{BOOST_ROOT} ${VCMIBUILD_DIR}/boost)
| |
− | | |
− | SET(CMAKE_FIND_ROOT_PATH ${VCMIBUILD_DIR}/depends)
| |
− | list(APPEND CMAKE_PREFIX_PATH ${CMAKE_FIND_ROOT_PATH})
| |
− | list(APPEND CMAKE_PREFIX_PATH ${VCMIBUILD_DIR}/Qt/5.3/mingw482_32)
| |
− | | |
− | SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH)
| |
− | SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
| |
− | SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
| |
− | </pre>
| |
− | | |
− | = Build ZLib =
| |
− | * Unpack archive to temp folder, for example, '''[VCMIBUILD_DIR]/build/zlib/src'''
| |
− | * Open CMake-gui
| |
− | * Select '''[VCMIBUILD_DIR]/build/zlib/src''' as source directory
| |
− | * Select '''[VCMIBUILD_DIR]/build/zlib/bin''' as binary directory
| |
− | * click "Configure"
| |
− | * Select "MinGW makefiles" in combobox
| |
− | * Select "Specify toolchain file for crosscompiling"
| |
− | * Select toolchain file
| |
− | * Set variables:
| |
− | ** INSTALL_BIN_DIR = '''[VCMIBUILD_DIR]/depends/bin'''
| |
− | ** INSTALL_INC_DIR = '''[VCMIBUILD_DIR]/depends/include'''
| |
− | ** INSTALL_LIB_DIR = '''[VCMIBUILD_DIR]/depends/lib'''
| |
− | ** INSTALL_MAN_DIR = '''[VCMIBUILD_DIR]/depends/share/man'''
| |
− | ** INSTALL_PKGCONFIG_DIR = '''[VCMIBUILD_DIR]/depends/share/pkgconfig'''
| |
− | * click '''Configure'''
| |
− | * click '''Generate'''
| |
− | * go to '''[VCMIBUILD_DIR]/build/zlib/bin''' directory
| |
− | * execute '''mingw32-make'''
| |
− | * execute '''mingw32-make install'''
| |