Difference between revisions of "How to build VCMI (Windows/Cmake)"

From VCMI Project Wiki
Jump to: navigation, search
(Redirected page to How to build VCMI (Windows/Vcpkg))
 
(60 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
 
 
 
= 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'''
 

Latest revision as of 19:50, 19 August 2017