英雄无敌3(跨平台含手机)

Ivan Savenko 4fca583062 Merge pull request #29 from Mixaill/nsis 11 years ago
AI 13cbf0bbca disable fPIC for windows 11 years ago
Mods 150933d1a1 Updated WoG files to 0.96 11 years ago
client 4fca583062 Merge pull request #29 from Mixaill/nsis 11 years ago
cmake_modules 88316f93d1 add NSIS generator settings 11 years ago
config 9437bc52c1 Merge remote-tracking branch 'remotes/origin/develop' into SDL2 11 years ago
debian 142272d588 Debian/Ubuntu builds will use SDL1.2 11 years ago
editor 95034b9fa0 - Updated PCH to use our StdInc.h as the prefix header (not generated one from cotire) -> no exclude headers from ffmpeg/etc... statements required 11 years ago
launcher 6a23960642 CMake/WIN32 : add icon to client and launcher 11 years ago
lib 3a19bf964a Merge branch 'develop' of https://github.com/vcmi/vcmi into develop 11 years ago
osx 145df56126 different data file locations for different iso files 11 years ago
rpm fe1b16a7ec Some preparation towards mantis #1743: 11 years ago
scripting 383280f72a Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG 11 years ago
server bad7050096 spaces -> tabulation 11 years ago
test 56c74bc46a +More build target to support both SDL1 and SDL2 builds 11 years ago
.gitignore 1d57b75bc5 - random number generation refactoring 11 years ago
.travis.yml 68678f7d5a Added own e-mail for Travis notifications 11 years ago
AUTHORS 237d2b4090 Added myself 11 years ago
CCallback.cpp b2e8c92383 Cleanup: 11 years ago
CCallback.h 92a62368b5 One more fix for MVS compilation 11 years ago
CMakeLists.txt 4fca583062 Merge pull request #29 from Mixaill/nsis 11 years ago
ChangeLog cc8d484775 Refacoring, tweaks. 11 years ago
Global.h 24af413d61 define M_PI 11 years ago
README.linux 5cbec833c2 - (linux) XDG filesystem support 11 years ago
README.md 20b0dd6211 Renamed readme to readme.md to enable formatting in github UI 11 years ago
VCMI_VS10.sln b1428bcd24 - Compile fix for editor - Renamed /Editor to /editor and Scripting/ERM to scripting/erm - Removed unused ipch folder and format file - Removed ancient lua folder 12 years ago
VCMI_VS11.sln 9e7013de77 Backup for my own MVS project configuration 11 years ago
VCMI_global.props a50e9219c2 Launcher works for me. 12 years ago
VCMI_global_debug.props 6ac70d6a0b Partially reverting r3191: DLL_LINKAGE on registerTypes def breaks compilation for MSVC. The function definition cannot be marked as dll import (and that happened, when it was included in CGameHandler.cpp) 12 years ago
VCMI_global_release.props bcf8cab19a Project files update/cleanup. 13 years ago
VCMI_global_user.props a50e9219c2 Launcher works for me. 12 years ago
license.txt 645ed84978 * license (GPL v2 or later) 17 years ago
vcmi.workspace 2947bdedfc [c::b] configure Test project dependencies 11 years ago
vcmibuilder 760ae7d44a Changes related to Debian packaging, based on josch patch 11 years ago
vcmimanual.tex 9c0df68cb8 Fixing spelling mistakes. Patch from josch, fixes #1759 11 years ago

README.linux

This readme covers VCMI compilation on Unix-like systems.

To run the game you will need:
1) Heroes 3 data files (SoD or Complete editions);
2) VCMI data pack (http://download.vcmi.eu/core.zip)
All of them can be installed manually or using vcmibuilder script

For complete installation instructions see VCMI wiki:
http://wiki.vcmi.eu/index.php?title=Installation_on_Linux#Preparing_data

I. Prerequisites

To compile, the following packages (and their development counterparts) are needed to build:
* libstdc++ devel
* CMake build system
* SDL and SDL-devel
* SDL_mixer and SDL_mixer-devel
* SDL_image and SDL_image-devel
* SDL_ttf and SDL_ttf-devel
* zlib and zlib-devel
* (optional) Qt 5, widget and network modules
* the ffmpeg libraries (libavformat and libswscale). Their name could be libavformat-devel and libswscale-devel, or ffmpeg-libs-devel or similar names.
* boost c++ libraries v1.48+ (www.boost.org):
- program-options
- filesystem
- system
- thread
- locale

On Debian-based systems (e.g. Ubuntu) run:
sudo apt-get install cmake g++ libsdl1.2debian libsdl-image1.2-dev libsdl-ttf2.0-dev libsdl-mixer1.2-dev zlib1g-dev libavformat-dev libswscale-dev libboost-dev libboost-filesystem-dev libboost-system-dev libboost-thread-dev libboost-program-options-dev libboost-locale-dev qtbase5-dev

On RPM-based distributions (e.g. Fedora) run:
sudo yum install cmake gcc-c++ SDL-devel SDL_image-devel SDL_ttf-devel SDL_mixer-devel boost boost-devel boost-filesystem boost-system boost-thread boost-program-options boost-locale zlib-devel ffmpeg-devel ffmpeg-libs

II. Getting the sources

VCMI is still in development. We recommend the following initial directory structure:
trunk
trunk/src -> contains sources and is under SVN control
trunk/build -> contains build output, makefiles, object files,...

You can get latest sources with subversion:
cd trunk
svn co http://svn.code.sf.net/p/vcmi/code/trunk/

III. Compilation

Run configure:
mkdir build && cd build
cmake ../src

Additional options that you may want to use:
To enable debugging: -DCMAKE_BUILD_TYPE=Debug
To enable launcher: -DENABLE_LAUNCHER=Yes

Notice:
The ../src/ is not a typo, it will place makefile scripts into the build dir
as the build dir is your working dir when calling CMake.

Then build vcmi:
make -j2 (j2 = compile with 2 cpu cores, you can specifiy any value)

That will generate vcmiclient, vcmiserver as well as 3 .so libraries.

III. Installing binaries

To install VCMI you can use "make install" command however generation of distribution-specific packages is usually a better idea. In most cases this can be achieved using tool called "checkinstall"

If you're compiling vcmi for development puposes, it's better to use links instead.
Go to /BIN_PATH/, and type:

ln -s .../trunk/build/client/vcmiclient
ln -s .../trunk/build/server/vcmiserver
ln -s .../trunk/build/launcher/vcmilauncher

Go to /LIB_PATH/vcmi, and type:

ln -s .../trunk/build/lib/libvcmi.so libvcmi.so

Go to /LIB_PATH/vcmi/AI, and type:
ln -s .../trunk/build/AI/VCAI/VCAI.so
ln -s .../trunk/build/AI/StupidAI/StupidAI.so
ln -s .../trunk/build/AI/BattleAI/BattleAI.so

Go to /DATA_PATH/vcmi, and type:
ln -s .../trunk/source/config
ln -s .../trunk/source/Mods