Commit graph

676 commits

Author SHA1 Message Date
pentarctagon
817e9dbb33 Remove the scons workaround for Travis only having SDL 2.0.2 2017-12-04 09:35:58 +11:00
pentarctagon
49b6ede463 Move most strict warning flags to the default build flags.
This moves all the warnings flags from the strict build to the regular build, except for -Werror. This means that the only difference between strict builds and non-strict builds will be if warnings are turned into errors.
2017-12-03 15:30:52 -06:00
Severin Glöckner
e0cebdd402 desktop_entry: include high resolution icons
wesnoth-optipng has been applied to the new images
2017-11-27 01:52:36 +01:00
pentarctagon
7ff30491fe Make strict builds consistent between scons and cmake 2017-11-24 15:00:01 -06:00
pentarctagon
e45e824499 Have scons and cmake link against same static libraries. 2017-11-20 07:38:18 +02:00
pentarctagon
ad3b3d8d9f Add ability to not create the .scons-option-cache file. 2017-11-08 19:52:04 +02:00
Gregory A Lundberg
d091391899 Renamed the target and binary for the Boost unit tests from test to boost_unit_tests
This quells warnings from CMake about reserved target names, and reduces confusion about which `test` is intended: the wesnoth executable or the standard shell command.
2017-11-06 20:32:27 +02:00
pentarctagon
699407d7f0 Replace base build with use_srcdir option. 2017-10-29 14:50:27 +02:00
Jyrki Vesterinen
0c137c79cf Globally suppress -Wmaybe-uninitialized
We have needed to suppress it in a bunch of places because GCC has kept
giving false positives depending on optimization settings. When I noticed
yet another false positive when I attempted to build the game with PGO
profiling data using CMake, it was the last straw.

Let's just suppress the warning globally and move on with our lives.
2017-10-27 21:28:06 +03:00
pentarctagon
757762b1e6 Add support for PGO builds. 2017-10-27 20:43:36 +03:00
Jyrki Vesterinen
86163094ee Merge branch 'profile-build'
Manual merge of pull request #2096.

Closes #2096.
2017-10-21 20:14:05 +03:00
pentarctagon
e58c709dbb Added perf support. 2017-10-11 10:39:14 -05:00
loonycyborg
a180e09bb6 Made build with scons 3.0.0 work fixing issue #2093 2017-10-11 16:36:20 +03:00
pentarctagon
b0f91e4a4d Add gcov and gperftools support to scons 2017-10-11 03:11:31 -05:00
pentarctagon
152c40d206 Address feedback. 2017-10-09 19:58:24 +03:00
pentarctagon
401f33d565 Re-add profile build description. 2017-10-09 19:58:24 +03:00
pentarctagon
2f3502b607 Re-added things based on replies, and added glibcxx_debug ability to cmake. 2017-10-09 19:58:24 +03:00
pentarctagon
3bfc202f56 Remove support for old tools and builds 2017-10-09 19:58:24 +03:00
pentarctagon
449bd3f632 Fixup as requested. 2017-10-07 09:53:30 +03:00
pentarctagon
76d0cc45af Removed Optimized build, improved gcc LTO support, add clang LTO support. 2017-10-07 09:53:30 +03:00
galegosimpatico
8b0d7e6799 On Boost: update build scripts and documentation.
At branch 'doc-from-discord-boost-discussion-20170926'.

The build documentation and scripts were slightly out of date about
Boost. This commit makes a (probably interim) update to them.

(CMakeLists.txt|SConstruct): `wesnoth` won't build using Boost earlier
than '1.50.0'. Boost 1.50.0 changed the location of version 3 of Boost
filesystem, from 'boost/filesystem/v3/' (e.g. for
'using boost::filesystem::v3::path;') to 'boost/filesystem/' (e.g. for
'using boost::filesystem::path;', enforced since the very introduction
of 'src/filesystem_boost.cpp'), making it incompatible unless using
precompiler directives for supporting backwards versions of Boost
filesystem prior than '1.50.0'. Using Boost 1.50.0 (and 51, 52 etc.)
`wesnoth` is able build and run. I checked using `ldd` that I am right
about the run time environment.

INSTALL.md: Requirement of Boost libraries version up to date.

projectfiles/VC12/README.md: Requirement of Boost libraries up to
date, only the statement of which one is the minimum version, not the
rest of the build guide for Boost as requirement.

.gitignore: Add KDevelop backup documents.
2017-10-06 20:38:50 +03:00
Alexander van Gessel
071b3635b7 Rename gettext scons module to avoid naming conflict 2017-09-21 15:33:48 +02:00
Alexander van Gessel
8d516df25b Don't use comma-separated arguments to print function 2017-09-21 11:45:00 +02:00
Alexander van Gessel
72fdcd78d4 Further python3 compatibility updates.
This has been tested with scons2, but not with scons3.
2to3 runs perform no further useful transformations.
2017-09-20 16:51:33 +02:00
Alexander van Gessel
1d667d97fc Get rid of commands module
This module is deprecated and not available in python3
2017-09-20 15:22:25 +02:00
Alexander van Gessel
6c3f774390 Basic 2to3 fixes 2017-09-20 15:04:50 +02:00
Jyrki Vesterinen
a3d884ef74 Fix SCons build on Windows
Found by @sigurdfdragon.
2017-07-23 21:35:24 +03:00
Celtic Minstrel
c9191c9812 Add OpenSSL's libcrypto as a dependency
This also removes the included SHA1 and MD5 implementations
in favour of those from OpenSSL.

Thanks to @jyrkive for helping to get the CMake build working and
ensuring the game still compiles with OpenSSL 1.1.0.
(The SHA_xxx() aliases were removed in OpenSSL 1.1.0.)
2017-05-12 15:57:13 -04:00
Jyrki Vesterinen
6b8273e003 Require Cairo 1.10 or above
This is needed because the CAIRO_STATUS_INVALID_SIZE constant was added in
that version.

1.10 is old enough that this change shouldn't cause problems for anyone.
For example, Debian Wheezy (2013) has Cairo 1.12.2.
2017-05-02 19:49:13 +03:00
Celtic Minstrel
2eed69822b Travis: Consider non-virtual destructors an error in base classes
This also fixes another case where one was missing.
2017-04-08 16:40:37 -04:00
loonycyborg
05f9f00289 Update autorevision script with upstream changes
this fixes autorevision errors if running from under su
2017-03-11 04:20:12 +03:00
Jyrki Vesterinen
eac2c0791d SCons: don't try to pass GCC specific switches to other compilers
9ad78036 follow-up. Requested by @CelticMinstrel .
2016-12-24 06:22:51 +02:00
Jyrki Vesterinen
9ad78036b5 Attempted fix for builds failing with compilers older than GCC 6 2016-12-23 00:26:01 +02:00
Jyrki Vesterinen
5fc50bf9ae SCons version of commit 7968f7ba 2016-12-22 22:27:30 +02:00
pentarctagon
9f79398ecf Deletes unused, unbuildable tools
Deletes create_images, cuter, exploder, schema_generator, schema_validator, and wesmage
2016-12-18 23:07:11 -05:00
loonycyborg
60329a87a1 Rename Optimize build variant to Optimized for clarity 2016-11-26 14:59:42 +03:00
Sergey Popov
dd1351dc14 Merge pull request #847 from Pentarctagon/Pentarctagon-optimize-build
Add build which uses higher level of optimization
2016-11-26 01:18:22 +03:00
pentarctagon
e4b95ae2fe Use BoolVariable instead of EnumVariable for enable_lto 2016-11-25 10:45:10 -06:00
Celtic Minstrel
dc24fa16f7 Remove option to link libintl instead of Boost.Locale 2016-11-18 12:09:56 -05:00
pentarctagon
9de1f61924 Add -s flag, fix $OPT_FLAGS evaluating as an empty string, and correctly pass the arch needed by Windows with -O3 to the optimize build 2016-11-18 01:27:40 -06:00
Pentarctagon
8ea76ce432 Fix compiling with TDM-GCC-64 and -O3
By default, TDM-GCC-64 was using -march=x86-64, which for whatever reason caused issues when compiling with -O3.  This makes scons force it to use -march=pentiumpro, the same as TDM-GCC-32.  This also changes the release build to use -O3 instead of -O2, which matches the release build default used by cmake and code::blocks.

Added -march=pentiumpro on Windows for -O3 build

m5
2016-11-18 01:27:40 -06:00
Pentarctagon
0d419cdc36 Check if LTO is enabled
Check if LTO is enabled

Add LTO flag

Added a flag to enable/disable LTO.  Also pass optimization options to the linker, since older versions of gcc may not automatically use the same options for linking and compiling, and it seems likely clang doesn't do this either.

m3
2016-11-18 01:27:40 -06:00
Pentarctagon
84ab6fabf1 Get clang as close to working as possible
additional fixup

m2
2016-11-18 01:27:40 -06:00
Pentarctagon
458b9ce62d Update SConstruct
Update SConscript

Update SConscript

m
2016-11-18 01:27:40 -06:00
Pentarctagon
8b0fe5109a Remove leftover nacl stuff
Delete some leftover nacl stuff apparently missed by pull #868
2016-11-14 15:07:48 -05:00
Celtic Minstrel
70326f371c scons: Finish incomplete wesnoth-bundle target
Note: The target still omits creating the Frameworks directory
required for a distributable bundle.
2016-11-13 00:43:12 -05:00
Celtic Minstrel
cdb164052a fixup! Travis hack: Don't require vorbis on OSX 2016-11-12 18:41:03 -05:00
Celtic Minstrel
5bc16e2544 Travis hack: Don't require vorbis on OSX 2016-11-12 15:20:04 -05:00
Gregory A Lundberg
f23127e65a Remove LOW_MEM compile-time option
Per @Vultraz
2016-11-11 09:20:56 -06:00
Gregory A Lundberg
75c7f9ec39 Delete support for Google Native Client (Nacl).
This is Chrome-only and W3C is said to be working on a portable alternative.

There is an x86-64/i686 version 1.10 of BfW on the Chrome web store. There appears to be no interest in upgrading to curret versions of NaCL and supporting the Chrome-only plugin.
2016-11-09 11:34:32 -06:00