Difference between revisions of "How to build VCMI (macOS)"

From VCMI Project Wiki
Jump to: navigation, search
(Getting and configuring VCMI)
Line 25: Line 25:
 
mkdir cmake && cd cmake
 
mkdir cmake && cd cmake
 
cmake ../vcmi -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -Wno-devc
 
cmake ../vcmi -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -Wno-devc
 +
</pre>
 +
You can as well build VCMI without Qt5 or launcher by disabling it:
 +
<pre>
 +
# But please don't do that unless you know what you're doing
 +
cmake ../vcmi -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DENABLE_LAUNCHER=0 -Wno-devc
 
</pre>
 
</pre>
  

Revision as of 03:41, 9 August 2017

Installing dependencies

Installing XCode

App Store -> XCode Launch it after the installation to agree with it's license terms.

Installing Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Installing dependencies using Homebrew
brew install git cmake sdl2 sdl2_ttf sdl2_image boost qt5 ffmpeg
brew install sdl2_mixer --with-smpeg2 

Building VCMI in command line with Makefiles

Getting and configuring VCMI
# You can choose any directory
mkdir ~/DEV && cd ~/DEV
# Clone VCMI with all submodules
git clone -b develop --depth 1 --recursive  https://github.com/vcmi/vcmi.git
# Creating directory for building
mkdir cmake && cd cmake
cmake ../vcmi -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -Wno-devc

You can as well build VCMI without Qt5 or launcher by disabling it:

# But please don't do that unless you know what you're doing
cmake ../vcmi -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DENABLE_LAUNCHER=0 -Wno-devc
Building and packaging VCMI
cd ~/DEV/cmake
# Start build using cmake
cmake --build . -- -j 4
# Or you can as well use simple
# make -j 4

# When build is completed you can trigger packaging into DMG
cpack
# After file named such as "vcmi-0.99.dmg" will be created
Running VCMI

You can run VCMI from DMG, but after "cpack" is finished you can run unpacked executables as well

Go to "build" and launch executable directly; alternatively

~/DEV/cmake/build/VCMI.app/Contents/MacOS/vcmilauncher
~/DEV/cmake/build/VCMI.app/Contents/MacOS/vcmiclient
~/DEV/cmake/build/VCMI.app/Contents/MacOS/vcmiserver