wesnoth/projectfiles/CodeBlocks/libraries.md
2024-10-20 21:16:40 +02:00

3.0 KiB

Manually updating the external dependencies

We do our best to keep the build dependency repository up-to-date with the latest versions of the libraries within, as well as synced with any build requirement changes. If you want to build with a different version of a certain library, however, you can fetch the relevant files at the links below:

Boost: Do note that you will need to build the necessary Boost libraries yourself. See the [instructions]#updating-boost-libraries) in the dependency repository for details.

SDL 2: You'll want the "GCC 32/64-bit" Development Libraries.

SDL_Image: Again, you'll want the "GCC 32/64-bit" Development Libraries.

SDL_Mixer: Again, you'll want the "GCC 32/64-bit" Development Libraries.

SDL_ttf: Again, you'll want the "GCC 32/64-bit" Development Libraries.

The other libraries require complicated compilation procedures too in-depth to document here.

Updating Boost libraries

Download and unpack the source of the libraries zlib, libbzip2, boost (version 1.64 or 1.68 preferred

Open cmd, go to the Boost directory and open bootstrap.bat (with the correct paths of the other two libraries):

Then run this command:

.\b2 -sZLIB_SOURCE=..\zlib-1.3.1 -sBZIP2_SOURCE=..\bzip2-1.0.8 -j2 --with-coroutine --with-date_time --with-filesystem --with-iostreams --with-locale --with-program_options --with-random --with-regex --with-system --with-thread --with-test --with-timer --toolset=gcc --layout=system variant=release address-model=64

and

.\b2 -sZLIB_SOURCE=..\zlib-1.3.1 -sBZIP2_SOURCE=..\bzip2-1.0.8 -j2 --with-test --toolset=gcc --layout=system link=shared variant=release address-model=64

Depending on your boost version, you may need to replace ..\ with the absolute paths to zlib and bzip. If you have multiple versions of gcc, add --toolset=gcc-X.Y.Z with X.Y.Z being the target version number.

Separate the required subset of the Boost source: Run this command for generate bcp.exe

.\b2 tools\bcp --toolset=gcc

Create include in same path what boost_... and run this command:

dist\bin\bcp.exe algorithm asio assign bimap core coroutine container date_time dynamic_bitset exception filesystem graph iostreams iterator locale math mpl multi_array multi_index program_options process ptr_container random range regex serialization system spirit test logic boost\nondet_random.hpp boost\fusion\include\define_struct.hpp boost\scope_exit.hpp boost/typeof/incr_registration_group.hpp ..\include

Replace the outdated files in 'cb/lib' with those from 'boost_.../stage/lib' and those in 'cb/include/boost' with the ones in 'boost_.../boost'.