The compiler can now be defined with `scons CC=clang CXX=clang++`
and/or with the `CC` and `CXX` environment variables.
The build will pick the default C and C++ compilers of the user's
system, so probably GCC on most, and Clang and some of them (e.g. on
Travis which is configured to use Clang).
Also cleaned up unnecessary definitions which are already part of the
base environment, and removed the unnecessary (default on Linux) and
Clang-only -stdlib=libstdc++ definition (still needed on macOS).
Also add options to configure the compilers for C and C++ (no C code yet
but C libraries may be added in the future, and we wouldn't to mix e.g.
gcc for C and clang++ for C++).
Previous code would raise this error with GCC 5.5.0:
build/obj/scenario/monster.cpp:804:19: error: use of 'abil' before deduction of 'auto'
for(auto& abil : abil) {
^
I'd advise to do some further refactoring to prevent confusion between the public 'abil'
which is a map of two types of abilities, and the various local 'abil's that shadow it
in monster.cpp.
Several issues was detected with linux build:
- travis_wait raise timeout
- --jobs=2 sometimes fails
- add flag BOOST_NO_CXX11_SCOPED_ENUMS to fix compilation with old boost filesystme
- add missing tool xmllint
* Fix non-relative include paths for resources
* Fix one file path for the tests build
(Currently tests crash for me, but at least they do compile?)
* Remove old VS project junkfiles from gitignore
* Fix missing resource compiler include paths for Release builds
Added 'gitinfo' NuGet package to replace need for bash to create gitrev.hpp;
Added preproccessor statement to prevent 'gitrev.hpp' from being referenced;
Re-ordered preproccessor definitions for easier diffing;