Commit graph

369 commits

Author SHA1 Message Date
Ted John
c67962577a Rename __ENABLE_SCRIPTING__ to ENABLE_SCRIPTING 2020-04-26 14:35:08 +01:00
Ted John
ae0c2638e3 Distribute openrct2.d.ts and scripting.md 2020-04-26 14:35:03 +01:00
Ted John
e6341f0a42 Get scripting compiling on clang 2020-04-26 14:35:03 +01:00
duncanspumpkin
5e1b58df0c Use updated replay 2020-04-25 18:27:39 -03:00
Michał Janiszewski
777541afeb Disable null-dereference warning for MinGW
Error messages produced by MinGW look like:
```
In file included from ../src/openrct2/world/Banner.cpp:10:0:
../src/openrct2/world/Banner.h:29:8: error: potential null pointer dereference [-Werror=null-dereference]
 struct Banner
        ^~~~~~
```
2020-04-21 13:31:01 +02:00
Michał Janiszewski
5f97637d5e Only suggest final when using non-LTO builds
In LTO builds GCC issues the suggestion-warning from linking stage,
when pragmas are already gone and do nothing.
2020-04-21 13:31:01 +02:00
Michał Janiszewski
4f85810c14 Fix setting extended warning options 2020-04-21 13:31:01 +02:00
duncanspumpkin
cdcb76228d Update replay version 2020-04-18 08:14:42 +01:00
Michael Steenbeek
03785b4b24
Update objects to v1.0.14 (#11314) 2020-04-17 14:29:45 +02:00
duncanspumpkin
064f6f7b30 Bump replays version 2020-04-12 10:54:17 +01:00
Michael Steenbeek
82e5ceb30d
Update objects to v1.0.13 (#11011) 2020-03-24 15:37:54 +01:00
Ted John
091eaf8ba2
Try setting rpath on binary during compile (#10957) 2020-03-18 10:39:42 +01:00
Gymnasiast
35a2534adf
Bump replays version 2020-02-15 10:37:35 +01:00
Ted John
5925d5fc10
Improve cmake config for Windows and Visual Studio (#10361)
- Ensure static CRT is used when compiling.
- Allow Ninja generator to work (remove use of CMAKE_VS_PLATFORM_NAME).
- Move CMakeSettings.json to new standard location for VS.
2020-01-25 22:42:27 +00:00
Conrad Kostecki
9df66b1f1f CMakeLists.txt: don't install desktop and icon files without GUI (#10206)
If OpenRCT2 is compiled without GUI (for example as a dedicated server),
it does not make sense to install the desktop and icon files.

Signed-off-by: Conrad Kostecki <conrad@kostecki.com>
2019-11-10 20:05:51 +01:00
Conrad Kostecki
fef1906d0d CMakeLists.txt: make discord-rpc and google benchmark optional (#10208)
For a package maintainer, it should be possible to disable the support
for discord-rpc and google benchmark, as it currently always includes them,
when the library if found.
2019-11-09 21:20:16 +01:00
Michał Janiszewski
bf18bb8161
Fixup MSVC CMake targets (#10100) 2019-10-15 23:14:00 +02:00
Gymnasiast
7919e91716
Update objects to v1.0.12 2019-08-18 11:59:56 +02:00
Michał Janiszewski
209c6d0513
Make replays only downloadable when configured with tests (#9868) 2019-08-13 21:04:08 +02:00
ζeh Matt
0a5777f11a
Merge pull request #9791 from ZehMatt/replays-v0.0.3
Update replays to v0.0.4
2019-08-12 19:24:49 +02:00
Matt
51eb86aed9
Update replays to v0.0.4 2019-08-12 01:40:12 +02:00
Ted John
056ebc23d6
Update title sequences to v0.1.2c (#9854) 2019-08-11 19:03:29 +01:00
duncanspumpkin
5b1aedede4 Update replay url 2019-07-29 19:14:15 +01:00
duncanspumpkin
39b1a9568f Adjust makefile 2019-07-17 20:19:43 +01:00
duncanspumpkin
c9ac156973 Actually use the correct hash and url 2019-07-15 18:59:00 +01:00
duncanspumpkin
38d97a6ee3 Add cmake download replays. fix win download 2019-07-15 18:50:52 +01:00
Michael Steenbeek
8ff0cf9546
Update objects to 1.0.11 (#9529) 2019-07-06 16:50:58 +02:00
Michael Steenbeek
c00c8056ce Update title sequences to v0.1.2b (#9480) 2019-06-25 22:41:10 +02:00
Michael Steenbeek
9ed3c39aef
Fix #7913: RCT1/RCT2 title sequence timing is off (#8980) 2019-03-27 21:56:12 +01:00
Gymnasiast
80c57f3804 Bump objects version to 1.0.10 2019-03-20 13:02:32 +01:00
Michael Steenbeek
1b39c97412
Update objects to version 1.0.9 (#8844) 2019-03-10 21:19:08 +01:00
Tom Lankhorst
af25da940b
include platform.cmake 2019-02-05 20:16:51 +01:00
Michał Janiszewski
4192ffe57e
Improve cmake for MSVC (#8581)
* Improve cmake for MSVC

* Fix mingw builds
2019-02-05 16:12:58 +01:00
Tom Lankhorst
ce6e08c633
Introduce SET_CHECK_CXX_FLAGS 2019-02-03 23:32:51 +01:00
Tom Lankhorst
b1bc3d9322
Make build type check case insensitive 2019-01-27 13:44:16 +01:00
Tom Lankhorst
87d9932792
Conditionally enable IPO
Put corresponding functionality in `cmake/ipo.cmake`. This directory
allows for future further separation of build concerns.
2019-01-27 12:58:19 +01:00
Tom Lankhorst
06600440fe
Enable LTO/IPO on Clang and GCC 2019-01-27 12:58:19 +01:00
dchokola
d4a3feca29 Introduce DISABLE_GUI for headless build (Fixes OpenRCT2#8542) (#8566) 2019-01-07 06:08:31 +01:00
Michał Janiszewski
322be796e3
Add -Wextra (#8556)
Oops, no idea how it was missing all this time.

Additionally adds:
* `-Wno-clobbered` (conditionally)
* `-Wno-unused-parameter`
2019-01-05 00:15:06 +01:00
Michael Steenbeek
16b9c533d4
Update used objects version to v1.0.8 2018-12-23 13:12:28 +01:00
Ted John
74793a3931 Update objects version 2018-12-09 23:30:40 +00:00
Michał Janiszewski
92b556352b
Allow compilation of testpaint on non-x86 targets (#7989)
This will enable compilation of testpaint on targets different than x86.
It won't function the way it does on x86, but it should provide a way of
tackling various compilation errors that can only be seen in the very
specific environment required by testpaint proper.
2018-09-15 23:37:45 +02:00
Michael Steenbeek
8e276b9820 Require objects version 1.0.6 2018-08-26 21:37:41 +02:00
Michael Steenbeek
674b2a628a Require new version of objects 2018-07-30 21:22:33 +02:00
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