When using:
scons strict=true ctool=clang
A number of issues appear concerning a known bug in Boost::Bind; applying the patch which should appear in Boost 1.63. Comments on the Boost ticket indicate this may also be an issue for earlier versions of GCC.
For the ticket, see
https://svn.boost.org/trac/boost/ticket/12397
and the patch is at
3c56630b54
NOTE: This does NOT create a dependency upon the patched header. If the header is changed, you must do a full re-build of all sources by hand.
The code conditionals using SDL_gpu in the source tree are unmaintained
and likely broken. From past discussions with vultraz and Aginor, the
plan ahead is to completely drop SDL_gpu and its support code once
there's no risk of conflict with certain WIP branches.
Pretty much all of the code for supporting OpenPandora is gone from the
source tree, and the last two mentions have just been slated for
removal, so it's effectively dead.
* Switched from C++98 to C++11 (as announced on the dev-ml)
* Added support for boost-thread
The current implementation is hacky and not clean. It at least builds on
my gentoo ~amd64 system.
This drops the required version to 2.0.2 on Linux and *BSD, as there are no known bugs that require us to have a later version on these platforms. Windows and Os X remains as 2.0.4.
Cross-compiling to Windows with MXE [1] requires providing custom
CMAKE_MODULE_PATH variable for CMake:
$ cmake -DCMAKE_MODULE_PATH=/file/provided/by/mxe.cmake
As Wesnoth's CMakeLists.txt resets CMAKE_MODULE_PATH, the effect of
CMAKE_MODULE_PATH provided by MXE is disabled and the build fails
with linking errors [2].
This commit changes CMakeLists.txt to respect the value of
user provided CMAKE_MODULE_PATH, so both MXE and Wesnoth
customizations of CMake variables are applied.
[1] http://mxe.cc/
[2] https://gist.github.com/starius/abfb9033d92f21ef521d
This project was never completed, the author left, and what we had was
too buggy to use in production (including such gems as a server DoS
bug).
Only removed from the CMake recipe since it was already removed from the
SCons script in commit 634b0039f8.
This also makes it so libintl isn't mandatory when this option isn't
enabled anymore.
Additionally, the BFS and Boost.Locale checks are now properly shared
between ENABLE_SERVER and ENABLE_GAME configurations without duplicating
code in the CMake recipe.
* FriBiDi can be found using pkgconfig, switch to using it instead of
using our homegrown FindFriBiDi.cmake file for finding it in cmake
* had to set some extra "do not consider these warnings" for font.cpp,
is this really no issue for scons for strict compilation with -Wall?
If no build type is selected it can happen that the game builds without
any optimization. Now the user has to explicitly specify the 'none' type
if they want it.
The only thing that the ENABLE_PANDORA flag does now is to allow the
resolution of 800x480 and using a special theme automatically.
Everything else is 100% "mainline code". This means if someone wants to
package for pandora several system libraries will have to be
handcompiled and shipped in the pnd including:
* >=boost 1.48 (at least one component (locale) requires this)
* >=SDL_mixer 1.2.12
* VorbisFile
See commit c62d53239c for the SCons
counterpart.
This does *not* remove the ENABLE_PANDORA config-time requirement
exceptions, which we need to decide on before releasing 1.13.0.
Otherwise attempting to compile with any other compiler targeting Win32
results in build errors with the Lua code, unless (presumably) you are
targeting Cygwin or another full POSIX implementation on Win32.
In CMake the notifications are enabled by default, switching them to
disabled didn't clear the LIBDBUS_FOUND flag properly causing the
the compilation to fail due to the #error in
src/desktop/dbus_notification.cpp.
The option should control the compilation, in wesnoth-core, of
filesystem_boost.cpp, and gettext_boost.cpp, vs. the old versions.
Using the new code is now the default option, you must explicitly
deactivate with both cmake and scons to get the old stuff back.
This commit adds a "minimal interface to lib png to support writing
png files from SDL surfaces", to the codebase. It adds a save_image
function to namespace image, and this checks compiler flags to see
if lib png is available. The function will save as a png if png
support is included and save file name doesn't have bmp extension,
and otherwise it will save as a BMP as usual.
We already had lib png as a dependency to build the tools, just not
the main game. This commit changes cmake and scons but makes the
dependency only optional, changing nothing if lib png is not
available.
See here: https://github.com/driedfruit/SDL_SavePNG
SDL 1.2's own filesystem functions have very limited unicode support,
so provide an SDL_RWops struct to let them use ours.
This also bumps the minimum required SDL_mixer version to 1.2.12
Conflicts:
SConstruct
src/filesystem.hpp