Commit Graph

117 Commits

Author SHA1 Message Date
Dan Villiom Podlaski Christiansen
70905ee82e Fix: fix building release tags
I tried building a tag, and got this error:

CMake Error at cmake/scripts/FindVersion.cmake:85 (string):
  string sub-command REGEX, mode REPLACE: regex "^[0-9.]*$" matched an empty
  string.
2020-06-30 09:43:00 +01:00
Dan Villiom Podlaski Christiansen
241e3adae8 Fix: use proper flags for suppressing warnings in Clang 2020-06-30 09:43:00 +01:00
Dan Villiom Podlaski Christiansen
0d46e20bd4 Add: add option for forcing coloured compiler output (useful for Ninja) 2020-06-30 09:43:00 +01:00
glx22
63d20c029b
Fix 887b912af: MinGW requires an extra link flag with _FORTIFY_SOURCE (#8246)
see #7860
2020-06-28 01:18:28 +02:00
Charles Pigott
887b912af1 Codechange: Only apply FORTIFY_SOURCE in non-debug builds
It requires -O1 (or greater) and GCC spews out warnings if you try using it with -O0
2020-06-27 14:51:14 +01:00
Dan Church
506598a80a Fix: [CMake] Fix install paths using GNUInstallDirs 2020-06-18 21:18:53 +01:00
glx22
8ef3d8f584 Revert f51e66f6: creating zip bundle fails for MacOS 2020-06-10 21:10:00 +02:00
glx22
0b86bd8b03 Fix: CMake option values should be ON/OFF 2020-06-08 09:49:26 +01:00
glx22
3d76677594 Fix: Generate windows installer only for stable releases 2020-06-08 09:49:26 +01:00
glx22
f51e66f697 Fix: Restore zip bundle for MacOS 2020-06-08 09:49:26 +01:00
glx
b145ee310c Fix: MacOS bundle creation 2020-06-06 19:23:54 +02:00
glx
877d196ef5 Fix: Incorrect REV_YEAR, and parsing of .ottdrev 2020-06-05 22:32:07 +02:00
Patric Stout
4218ebc932 Fix: [AzurePipelines] switch the CI / CD to CMake too
This also means dropping Debian/jessie, as it has a CMake that is
too old (3.0), with no real path to upgrade.
2020-06-05 19:36:05 +02:00
Patric Stout
b7643b1d36 Add: create bundles via CPack
CPack works closely together with CMake to do the right thing in
terms of bundling (called 'package'). This generates all the
packaging we need, and some more.
2020-06-05 19:36:05 +02:00
Patric Stout
56d54cf60e Add: introduce CMake for project management
CMake works on all our supported platforms, like MSVC, Mingw, GCC,
Clang, and many more. It allows for a single way of doing things,
so no longer we need shell scripts and vbs scripts to work on all
our supported platforms.

Additionally, CMake allows to generate project files for like MSVC,
KDevelop, etc.

This heavily reduces the lines of code we need to support multiple
platforms from a project perspective.

Addtiionally, this heavily improves our detection of libraries, etc.
2020-06-05 19:36:05 +02:00
Patric Stout
85315e2e31 Codechange: rework how grf and ob[msg] are generated
For grfs, it now uses CMake scripts to do its job, and both grf
files are split into their own folder to make more clear what is
going on. Additionally, it no longer builds in-source (although the
resulting grf is copied back in the source folder).

For ob[msg] it now uses CMake scripts to generate the translation
files; the result is no longer stored in-source (but in the build
folder).

Although all files are available to create the GRFs and basesets, it
won't really work till CMake is introduced (which will happen in a
few commits from here)
2020-06-05 19:36:05 +02:00
Patric Stout
203a77c1dc Codechange: move regression outside of bin and make it work via CMake script
The tst_stationlist savegame had to be changed to start the correct
AI. In the old setup, all regression AIs had the same name, which
made it impossible to run both regressions in parallel. With the new
setup this is possible.

Although all files are available to run the regression, it won't
really work till CMake is introduced (which will happen in a few
commits from here)
2020-06-05 19:36:05 +02:00