Commit graph

325 commits

Author SHA1 Message Date
TheAssassin
3ffc3fa6d8
Remove redundant VS C++ flag 2018-06-30 21:31:05 +02:00
TheAssassin
c01a669ca4
Replace more custom flags with CMake options 2018-06-30 21:25:23 +02:00
TheAssassin
73c158fc63
Remove redundant and unnecessary CMake CXX flag 2018-06-30 21:24:48 +02:00
TheAssassin
843f3a61ae
Make CMake require C++17
Requires CMake 3.8+ which is the first version to support C++17 (see https://cmake.org/cmake/help/v3.8/prop_tgt/CXX_STANDARD.html).

Fixes #7749.
2018-06-30 15:13:25 +02:00
Gymnasiast
2172902b47 Update required objects version 2018-06-23 17:39:38 +02:00
Michał Janiszewski
65d1c7f490
Fix and enable -Wtautological-unsigned-zero-compare (#7706) 2018-06-17 22:48:45 +02:00
Aaron van Geffen
d5eb1c504d Fix #7685: Disable warning due to problems compiling OpenSSL on macOS. (#7704) 2018-06-17 09:29:05 +02:00
Aaron van Geffen
56250b43ab Use git describe to express version in terms of closest tag. 2018-06-12 00:25:04 +02:00
Michał Janiszewski
1d28826b79 Fix -Wdocumentation and add it to default warnings 2018-06-11 09:52:54 +02:00
Aaron van Geffen
3ac32fc433 Add -Wrange-loop-analysis flag to CMakeLists as well. (#7646) 2018-06-10 10:08:35 +02:00
Michał Janiszewski
e0dd51cc5d Add -Wlogical-op compiler warning 2018-06-06 22:31:23 +02:00
Michał Janiszewski
320eee0d59
Fix -Wunreachable-code-break and add it to deafult warnings (#7634) 2018-06-06 22:30:21 +02:00
Hielke Morsink
88e9a37d78 Add warning to cmakelist 2018-06-05 15:03:20 +02:00
Michał Janiszewski
7adc3d41a0 Restore the unused-function warning 2018-06-03 19:56:11 +02:00
Michał Janiszewski
545e3c1f85 Reduce verbosity of unpacking (pre)cached downloads 2018-05-30 00:03:53 +02:00
Michael Steenbeek
b371087e47
Update objects version to v1.0.2 2018-05-16 14:54:15 +02:00
Gymnasiast
d82414dbe9 Update objects to version 1.0.1 2018-04-30 20:34:52 +02:00
Ted John
deaa60f8f1 Refactor string conversion between RCT2 and UTF8
Use Win32 API for conversion on Windows for non-1252 code pages instead of built-in tables.
2018-04-18 13:16:20 +02:00
Ted John
0ea81d7df4 Enable warnings as errors 2018-04-14 17:50:32 +01:00
Ted John
b8d8d24d21 Get cmake working with msvc for basic game 2018-04-12 23:07:18 +01:00
Michael Steenbeek
f98aae12f1 Fix building g2.dat if the path contains spaces/apostrophes (#7388) 2018-04-08 12:25:54 +01:00
Duncan
0ab3d0955c
Merge pull request #7310 from OpenRCT2/json-objects
Add support for new JSON object format
2018-04-08 10:45:55 +01:00
Michał Janiszewski
66d1fa2bc8 Fix MinGW header checks 2018-03-31 23:48:15 +02:00
Ted John
bc5f253ce2 Update objects to latest v1.0 2018-03-29 17:56:03 +01:00
Ted John
b163064f6c Update objects to v1.0 2018-03-28 23:15:32 +01:00
Ted John
0779859d2b Do not download objects if they already exist 2018-03-28 22:26:13 +01:00
Ted John
0c03fe4dc5 Update objects to v1.0-beta.4 2018-03-27 22:06:16 +01:00
Ted John
046199c660 Update objects download version to v1.0-beta.3 2018-03-26 21:38:10 +02:00
Ted John
c465b35037 Download and distribute objects 2018-03-26 21:38:09 +02:00
Aaron van Geffen
9e95488d63 Update title sequence to v0.1.2 release. 2018-03-18 21:04:31 +01:00
Michał Janiszewski
ec79334e0c Allow caching title sequences in data/ 2018-02-16 15:34:28 +01:00
Michał Janiszewski
72b54fa2b1 Allow (pre)caching title sequences 2018-02-16 10:04:38 +01:00
Michał Janiszewski
da9502ae46 Disable discord's examples to fix 32 bit builds 2018-02-15 23:51:49 +01:00
Michał Janiszewski
6eeda1ec77 Perform more cleanup of CMakeLists.txt files
This moves setting of compilation flags to common file to be used by all
subprojects and explicitly enables only C++ support, skipping whole C
support in CMake.
2018-02-15 23:51:49 +01:00
Michał Janiszewski
8e3a271fb4 Remove support for C code from CMake 2018-02-15 23:51:49 +01:00
Michał Janiszewski
54394d3a21 Enable SSE4.1 for file implementing it 2018-01-01 23:49:09 +01:00
Michał Janiszewski
ad687a7ecf Remove use of problematic __DATE__ and __TIME__
Replace with a placeholder to be filled by external tools
2017-12-27 14:50:42 +01:00
Ted John
ebf43c2529 Fix testpaint 2017-12-04 19:04:07 +00:00
Ted John
99d7aaa2d6 Remove RCT2 interop 2017-12-04 19:04:06 +00:00
Stefan Winkler
516c5737be Set branch/sha1 defines only for specific files 2017-12-01 21:05:44 +01:00
Michał Janiszewski
3df5dd8391
More compiler warnings 2017-11-27 23:52:17 +01:00
Michał Janiszewski
63e246938f Make sure PORTABLE option is honoured globally 2017-11-16 23:08:03 +01:00
Michał Janiszewski
0f3b6b1590 Explicitly mention the expected root directory for discord-rpc
[ci skip]
2017-11-15 22:39:47 +01:00
Michał Janiszewski
8ec5f3ae82 Move FORCE32 option to top-level CMakeLists.txt 2017-11-15 22:32:51 +01:00
Michał Janiszewski
8f50660ad6 Use proper paths for discord-rpc in cmake 2017-11-15 22:32:51 +01:00
Michał Janiszewski
7612c2881d Add some discord-rpc logging to cmake 2017-11-15 22:32:51 +01:00
Michał Janiszewski
8f3434d084 Add discord-rpc support to Linux 2017-11-15 22:32:51 +01:00
Philip Goto
27e3703fec Add openrct2 URI handling to Linux 2017-11-08 16:14:01 +01:00
Robert Jordan
167662f651 Improvement: more icon resolutions 2017-10-13 22:39:08 +02:00
Michał Janiszewski
a4c8d402ad Add missing variable declarations warning for C++ 2017-10-10 22:26:35 +02:00
Michał Janiszewski
c4538496c5 Make sure variables are either static or declared externally 2017-10-09 22:59:40 +02:00
Matthias Mailänder
c4abbc1167 Associate .sc4 and .sc6 scenarios with OpenRCT2 on Linux. 2017-08-14 09:33:37 +02:00
Matthias Mailänder
c86dc803bb Associate .sv4 and .sv6 savegames with OpenRCT2 on Linux. 2017-08-14 09:33:37 +02:00
Matthias Mailänder
cb2b764f07 Add an appdata.xml metadata file
for Linux software galleries.
2017-08-13 23:31:10 +02:00
Michał Janiszewski
1df22c889d Update minimum required CMake version to 3.1 2017-08-09 23:30:18 +02:00
Michał Janiszewski
d2ec1f0057 Fix CMakeLists.txt to allow static libopenrct2
This allows using CMake-standard `BUILD_SHARED_LIBS` flag to dynamically
set how libopenrct2 should be built.

`cmake -DBUILD_SHARED_LIBS=OFF` will result in `openrct2` statically
linked with `libopenrct2`

Fixes #5918.
2017-08-09 23:30:18 +02:00
Hendrik v. Raven
ddd50214bb drop man page compression
It is easier to add the compression manually when desired as to remove
it in all other cases.
2017-07-28 11:20:31 +02:00
Hendrik v. Raven
8438647705 add a project definition
the project definition is used by cmake to fill the subfolder for
${CMAKE_INSTALL_DOCDIR}.
2017-07-28 11:20:31 +02:00
Hendrik v. Raven
c81f41c843 convert install destinations to GNUInstallDirs
at least on Linux this makes the build system easily adaptable to the
different distributions. GNUInstallDirs was added in cmake 2.8 so the
version is increades as well.
Testing on all other platforms is necessary, I have only a Linux system
at hand right now.
2017-07-28 11:20:31 +02:00
Matthias Mailänder
3ac5a6897c Add $LIB_SUFFIX to install into right directory (#5915) 2017-07-20 15:41:13 +02:00
Michał Janiszewski
1aed331928 Install openrct2-cli, if exists 2017-07-13 23:22:20 +02:00
Ted John
3545d2d635 Update to 0.1.0 title sequence 2017-07-07 17:35:33 +01:00
Ted John
acf3b0cf83 Only include FindPkgConfig once 2017-06-25 14:28:25 +01:00
Michał Janiszewski
61cca38bee Add -Wnon-virtual-dtor warning 2017-06-15 00:26:31 +02:00
Michał Janiszewski
4851a45a83 Detect warnings for all parts of compilation (#5618) 2017-06-15 00:08:41 +02:00
Matthias Mailänder
889b81e070 Make title sequence download optional 2017-06-06 14:29:34 +02:00
Graham Edgecombe
9bd4284733 Fix icon install destination
RENAME was included in the quotes in a previous commit, so cmake treated
it as part of the destination path.
2017-06-03 12:54:00 +02:00
Ted John
85652c3834 Update cmake script to install man pages 2017-06-01 18:45:40 +01:00
Ted John
1e550e9059 Create portable builds
Which set rpath to $ORIGIN so it can be run out the box.
2017-05-31 08:51:51 +01:00
Michał Janiszewski
de9adf5445 Allow building headless version as a separate target 2017-05-29 22:39:19 +02:00
Richard Jenkins
7a59eef47e Fix cmake for OpenRCT2-UI on macOS 2017-05-29 22:38:46 +02:00
Ted John
3ebf5be3ea Fix mingw cmake 2017-05-29 22:38:46 +02:00
Ted John
c394a997c8 Update install target and export library so 2017-05-29 22:38:45 +02:00
Ted John
82288f92e6 Add cmake for testpaint 2017-05-29 22:38:44 +02:00
Ted John
a4c06020f1 Add install target to cmake 2017-05-29 22:38:44 +02:00
Ted John
1f8f354e49 Update root cmake and enable tests 2017-05-29 22:38:44 +02:00
X123M3-256
dbd0067091 Remove logging 2017-05-07 01:01:07 +01:00
X123M3-256
edd830293c Correct path to sprite file 2017-05-07 01:01:07 +01:00
Michał Janiszewski
c9eb2bdf77 Update version information in CMakeLists.txt 2017-05-06 20:43:54 +02:00
Ted John
b8931bd503 Use C++ mutex instead of SDL for server_list.cpp 2017-05-04 17:29:05 +01:00
Michał Janiszewski
da0cadf270 Disable redundant-decls error for mingw 2017-04-16 08:44:37 +02:00
Marijn van der Werf
c7115273da Allow some warnings on macOS builds 2017-04-07 22:10:14 +02:00
Michał Janiszewski
2dcf33bd42 Ensure set_format_body macro only accepts properly sized arguments 2017-02-16 16:50:35 +01:00
Michał Janiszewski
e09fb6533f Update C++ standard version to C++14 2017-02-06 23:24:55 +01:00
Michał Janiszewski
39f881e1d7 Update CMakeLists.txt for CPack with 0.0.7 version 2017-01-30 13:54:13 +01:00
Michał Janiszewski
d9f9fcd41a Fix build names for Travis builds 2017-01-29 23:29:28 +00:00
Ted John
a7edba27aa Enable light FX in builds 2017-01-21 12:02:41 +00:00
Michał Janiszewski
77a0c141a7 Merge pull request #5044 from janisozaur/ninja
Add BUILD_BYPRODUCTS entries to CMakeLists for googletest
2017-01-16 09:38:58 +01:00
Michał Janiszewski
f4eb156c7a Only enable some of compiler warnings when they are supported
ICC does not support all of the new flags
2017-01-13 12:56:33 +01:00
Michał Janiszewski
68b484464a Make GCC warn about duplicated condition 2017-01-13 11:44:14 +01:00
Michał Janiszewski
411d1fff18 Make GCC suggest final, override keywords 2017-01-13 11:44:14 +01:00
Michał Janiszewski
7d7285cdaa Add more Warnings to CMakeLists 2017-01-13 11:44:14 +01:00
Michał Janiszewski
d45337464f Include libzip as system library to fix issues in MinGW build 2017-01-13 10:02:18 +01:00
Michał Janiszewski
dc8aff6274 Extend warning list for CMake 2017-01-13 10:02:17 +01:00
Michał Janiszewski
cf670deb10 Add -Wshadow to CMakeLists and fix offenders 2017-01-13 10:02:17 +01:00
Marijn van der Werf
2d55c3e940 Only link segments with targets that require them 2017-01-12 13:24:09 +01:00
Michał Janiszewski
9aadf6ce42 Fix #5050 Increase required jansson version to 2.5 2017-01-11 22:02:25 +01:00
Ted John
7ca5857307 Isolate cmake sources to openrct2 2017-01-10 17:29:56 +00:00
Ted John
9387891ad3 Convert tabs to spaces 2017-01-10 17:29:56 +00:00
Michał Janiszewski
bd140e78fb Compile fixes for MinGW (#4998)
* Fix mismatched condition in CMakeLists.txt

* Fix MinGW release builds
2017-01-06 07:04:25 +01:00
Marijn van der Werf
24a0405345 Update testpaint 2017-01-04 18:28:40 +00:00
Michał Janiszewski
fa51d15c34 Remove fontconfig from TTF-less configuration 2017-01-04 16:09:53 +01:00
Michał Janiszewski
34b8c2034e Allow building without SDL2_ttf 2017-01-04 13:51:49 +01:00
Michał Janiszewski
da8964efab Fix CMake warnings about mismatched conditions 2016-12-28 15:44:38 +01:00
David CARLIER
1d17725592 Add FreeBSD support
At the moment the platform specific code supports only
FreeBSD as OpenBSD and NetBSD does not support the
full path retrieval for an executable, we intentionally
stop the compilation for those platforms.
2016-12-28 14:18:04 +01:00
Michał Janiszewski
c44c93a627 Fix typo in CMakeLists.txt 2016-12-23 00:26:14 +01:00
Graham Edgecombe
f4f2bb97f8 Obey DESTDIR during title sequence installation (#4899)
The $ is escaped to delay evaluation of DESTDIR until runtime. It's
typically only specified when `make install` runs - not during the cmake
invocation itself.
2016-12-20 23:00:28 +01:00
Ted John
d1a97cc021 Merge pull request #4887 from IntelOrca/use-external-title-sequences
Use external title sequences repository
2016-12-20 12:38:52 +00:00
Michał Janiszewski
d197383dcf Download and extract title sequence in make install 2016-12-19 23:31:53 +00:00
Michał Janiszewski
02ac8fdcee Add version check for libzip in CMakeLists.txt 2016-12-17 00:04:40 +01:00
Michał Janiszewski
ed7dbb2dbf Make CMake require and link libzip 2016-12-16 01:25:02 +00:00
Michał Janiszewski
cae3f776f3 Run tests on travis 2016-12-01 16:03:27 +01:00
Michał Janiszewski
33749ccfbe Lower jansson version requirement to 2.3 for CMake/Debian builds (#4778)
We still need at least 2.3 for `json_object_foreach`
2016-11-09 12:57:06 +01:00
Max Sandholm
a29bf9912b Install desktop entry and icons 2016-10-28 12:33:37 +02:00
Michał Janiszewski
03bd98f395 Remove special cases for Launchpad builds 2016-10-22 22:25:30 +02:00
Michał Janiszewski
b1ec40f531 Use -Wno-error=date-time only when compiler supports it 2016-10-22 22:24:19 +02:00
Michał Janiszewski
c70639302c Add convenience functions to CMakeLists.txt
The helper functions allow setting compiler flags only if compiler
supports them.
2016-10-22 22:20:37 +02:00
Michał Janiszewski
f76c7d794c Make DISABLE_RCT2 imply FORCE32 2016-10-16 00:24:12 +02:00
Michał Janiszewski
53ee6c2e28 Update CMake configuration to produce native, NO_RCT2 builds by default 2016-10-16 00:24:11 +02:00
Marijn van der Werf
d270b2dcb0 Allow unused variables during testing 2016-10-15 13:55:22 +02:00
Michał Janiszewski
599a1cfbcb Make sure MinGW knows about "%zu" format specifier 2016-10-09 22:43:07 +02:00
Michał Janiszewski
b2e21a0e02 Enable -Wall for CMake targets (with few exceptions)
Warnings excluded from -Wall:
* -Wno-unknown-pragmas
* -Wno-unused-function
* -Wno-missing-braces
* -Wno-comment
2016-10-09 22:41:17 +02:00
Marijn van der Werf
a27cebd973 Convert more occurences of osx to macos 2016-10-03 16:12:04 +02:00
Marijn van der Werf
065e23cc56 Update CMake target 2016-10-01 00:15:21 +02:00
Michał Janiszewski
c4a97af854 Rework CMakeLists.txt for newly standalone target (#4451) 2016-09-19 21:23:10 +02:00
Marijn van der Werf
4e4a07d1b0 Update testpaint to match develop 2016-09-16 19:45:07 +02:00
Marijn van der Werf
eb39f3fa1c Only add testpaint on unix for standard builds 2016-09-16 19:44:47 +02:00
Michał Janiszewski
f354c0ec3f Fix testpaint target for Linux 2016-09-16 19:44:45 +02:00
Marijn van der Werf
df202d86a6 Change folder structure 2016-09-16 19:44:40 +02:00
Marijn van der Werf
51d8d3ace3 Don’t build test target by default 2016-09-16 19:44:24 +02:00
Marijn van der Werf
5a44deac1b Add dependency to segfiles 2016-09-16 19:44:18 +02:00
Marijn van der Werf
b0a43861e4 Always use GTest output 2016-09-16 19:44:14 +02:00
Marijn van der Werf
efc306b2af Don’t use google-test 2016-09-16 19:44:11 +02:00
Marijn van der Werf
6b525f5d6f Update to googletest 1.8 2016-09-16 19:44:10 +02:00
Marijn van der Werf
576e314f61 Fix Cmake project 2016-09-16 19:44:08 +02:00
Marijn van der Werf
0cb3a05f5d Include google test for cmake 2016-09-16 19:43:28 +02:00
Marijn van der Werf
1b1b26aeb8 Hack cmakelists to compile test project 2016-09-16 19:43:00 +02:00
Michał Janiszewski
b0a8fb0a7c Enable more warnings for CMake 2016-09-11 11:20:39 +01:00
Michał Janiszewski
3c2569dbea Add -Wnon-virtual-dtor to CMakeLists.txt 2016-09-10 22:00:35 +02:00
Marijn van der Werf
d1801f860b Fix CMake builds on macOS (#4398) 2016-09-10 17:30:07 +02:00
Michał Janiszewski
27799bc187 Remove unnecessary compiler options 2016-09-04 17:29:43 +02:00
Michał Janiszewski
47e343a88d Fix PIC options for mingw 2016-09-04 17:27:53 +02:00
Michał Janiszewski
cdc447e92a Refactor compiler flags in CMakeLists.txt 2016-09-04 17:27:53 +02:00
Michał Janiszewski
f6e9216b7d Use PIC/pie flags to satisfy Launchpad 2016-09-04 17:27:53 +02:00
Michał Janiszewski
4481859898 Fix Launchpad builds 2016-09-04 17:27:53 +02:00
Michał Janiszewski
d9274ffd82 Enable all warnings as errors for 64 bit builds (cmake) 2016-09-04 12:16:09 +00:00
Michael Steenbeek
fe8f14be58 Fix cmake in directories with apostrophes (#4366) 2016-09-02 18:18:59 +00:00
Michał Janiszewski
645bb44eb4 Minor fixes to 64 bit builds 2016-08-08 23:06:10 +01:00
Aaron van Geffen
95ef81b4c8 CMake: split OpenGL check for macOS and Linux.
The GL check doesn't work nicely with macOS, while find_package doesn't work well with multiarch on Ubuntu.
2016-08-08 07:25:22 +02:00
Michał Janiszewski
7e5102dd6f mmap data segment to arbitrary location 2016-08-08 07:25:22 +02:00