Commit graph

81 commits

Author SHA1 Message Date
def 440baa17be Support building universal binaries with discord
For now only x86-64 is supported by discord sdk, arm64 we ship without
discord sdk. So players can choose if they want more performance without
discord integration, or less performance with discord integration.
2021-12-20 16:07:00 +01:00
def 8c36af9663 ffmpeg: Prefer names used by bundled libs
so that -DPREFER_BUNDLED_LIBS=ON works on macOS
2021-12-20 00:17:38 +01:00
def 0ca468fab0 Prefer system SDL2 lib when -DPREFER_BUNDLED_LIBS=OFF 2021-12-20 00:17:38 +01:00
def 40973df7fe Try to fix darwin toolchain 2021-12-20 00:17:38 +01:00
def b91d4bfb89 Support running mac executables from build directory directly 2021-12-20 00:17:38 +01:00
def 28ac9396cc Support libfat directory for macOS, use arm64 libs (fixes #3250)
Builds and runs successfully with:
  cmake -DCMAKE_BUILD_TYPE=Release -GNinja -DPREFER_BUNDLED_LIBS=ON -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64"
  ninja package_dmg

Tested successfully with native arm64 and rosetta

No discord support for universal binary
2021-12-20 00:17:38 +01:00
def a8873b3af7 Fix GLEW system lib linking on macOS
Only GLEW::GLEW is provided, GLEW_LIBRARIES is empty by default
2021-12-18 00:36:33 +01:00
def b733f365dc Add zlib1.dll for curl, add pnglibconf.h
As reported by Jupeyy in https://github.com/ddnet/ddnet-libs/pull/17#issuecomment-933034244
2021-10-04 00:31:58 +02:00
Jupeyy b216b6744a Add Android build scripts 2021-08-24 12:18:20 +02:00
Rafael Fontenelle 966b3ae57a
Search for both x264 and libx264 2021-03-25 17:17:14 -03:00
heinrich5991 d7019a244e Get rid of the MySQL C++ connector as a dependency
We now use the C API directly. This has the advantage of using one
obscure dependency less, as the C++ connector also used the C API.
2021-02-24 17:34:08 +01:00
Edgar 96db08b760 add discord rich presence 2021-01-31 10:17:21 +01:00
def fcaae09341 Fix linux build by reordering ffmpeg libs (fixes #3466) 2021-01-04 18:19:17 +01:00
heinrich5991 59cbc01415 Bump minimum CMake version from 2.8 to 2.8.12
Declare that we're fine with policies up to 3.19.1. This should fix
policy errors and "too low cmake_minimal_version() errors" for the
forseeable future.
2020-12-08 10:24:22 +01:00
bors[bot] e88a7dee0a
Merge #3131
3131: Get CMake 2.8 working r=def- a=Learath2

It only required fixing one weird CMake 2.8 oddity.

I guess we should merge this if we are keeping to claim 2.8 support.

Co-authored-by: Learath2 <learath2@gmail.com>
2020-10-18 08:44:50 +00:00
Learath2 4f573964c7 Get CMake 2.8 working 2020-10-18 03:11:31 +02:00
Learath2 be834b553f Also compile glew.c with GLEW_STATIC 2020-10-17 23:53:08 +02:00
def 700bfd78b8 Try to fix FindSQLite3.cmake
For AlwaysLivid's Haiku port:

> CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
> Please set them or make sure they are set and tested correctly in the CMake files:
> /boot/home/ddnet/SQLite3_INCLUDEDIR

@heinrich5991 thoughts?
2020-10-03 13:39:24 +02:00
def 24526d0fc8 Further websockets build fixes 2020-09-17 13:44:47 +02:00
QingGo 70b2c842e3 update cmake file to use libwebsockets bundle 2020-09-16 23:16:13 +08:00
def 45457b6185 Bundle FFmpeg for everything
so that we can enable videorecorder by default

Works as expected.
2020-09-07 07:04:29 +02:00
def cbbcce66fe Add libgcc_s_dw2-1 for Win32 SDL2 2020-08-23 08:01:51 +02:00
def e0c06464d2 Version 14.3.1 2020-08-10 23:43:10 +02:00
def 0a9eb72d52 Fix bundling SQLite3 on Mac
Verified locally
2020-08-10 18:35:04 +02:00
Zwelf 0fa13f6bf9 Fix include directories for SQLite by heinrich5991 2020-08-03 16:07:36 +02:00
Zwelf 040bec2258 Fix FindSQLite3.cmake 2020-08-03 12:58:52 +02:00
Zwelf ad21ec1269 Add SQLite to build system and CI 2020-08-03 12:58:52 +02:00
Learath 676deaec4d Fix macOS CI 2020-06-17 13:37:36 +03:00
heinrich5991 f339fea748
Merge pull request #2139 from edg-l/pr_add_upnp
Add UPnP support
2020-05-24 22:23:20 +02:00
bors[bot] e5442c4d74
Merge #2155
2155: Don't require notify on Linux r=heinrich5991 a=def-

Especially when only building server and not client

Co-authored-by: def <dennis@felsin9.de>
2020-04-30 13:22:50 +00:00
def 7fe8afefa5 Don't require notify on Linux
Especially when only building server and not client
2020-04-30 15:05:49 +02:00
Learath 09fad44b87 Strip rpath before adding the correct one 2020-04-30 15:04:51 +02:00
Learath 17d1bccf2b Some osx cleanup 2020-04-30 15:04:51 +02:00
清歌 8ee6e469de
Renew the ffmpeg lib version in cmake/FindFFMPEG.cmake for windows OS building
Renew the ffmpeg lib version in cmake/FindFFMPEG.cmake for windows OS building
2020-04-16 09:49:32 +08:00
def 48118f6d83 Fix CMake LibNotify warning (fixes #2141)
The LibNotify name is not used anywhere?
2020-04-14 18:45:34 +02:00
Arda Demir b7d452d2a0
Libnotify support for linux client (#2099)
Add libnotify support for linux client

Also unify notification management

Make libnotify mandatory for the client. It is installed on 100% of Arch
Linux systems and on 70% of Debian systems. I'd guess the remaining
Debian systems are servers.

Detect dependent libraries of `libnotify` using `pkg-config`. Remove
library-specific code from the game module. Decrement refcount for
libnotify notification object before leaving the function.
2020-04-14 17:53:53 +02:00
Ryozuki b647c1e978
Add UPnP support 2020-04-14 12:11:50 +02:00
def fd86c907a6 Fix ffmpeg package name (fixes #2115) 2020-04-07 09:00:19 +02:00
def 564e7577f7 Try to fix freetype mac warning 2020-04-06 12:48:58 +02:00
Dennis Felsing 8d5762787e
Merge pull request #2064 from heinrich5991/pr_ddnet_unbundlecurl_openssl
Don't look for libcrypto if bundling libcurl
2020-02-13 10:46:56 +01:00
heinrich5991 e912cc4510 Don't look for libcrypto if bundling libcurl
This prevents accidental dependence on one specific version of
libcrypto.
2020-02-13 10:43:16 +01:00
Dennis Felsing 50d848ec43
Merge pull request #1928 from sirius1242/demo_render2
Demo to video converter function.
2020-01-25 21:01:08 +01:00
ChillerDragon 01f42089f3 Add set_src to be more teeworlds compatible
thanks to @heinrich5991
2020-01-19 20:38:11 +01:00
def df807a7486 -DVIDEORECORDER=ON instead of -DFFMPEG=ON, fix README
remove unused files
2020-01-01 16:56:54 +01:00
def db7d5c1d82 Revert "Don't bundle libcurl for Linux"
This reverts commit 3de73cf96a.
2019-10-15 23:23:07 +02:00
HMH 461da64021 Basic cmake support for videorecorder 2019-09-30 20:49:35 +08:00
heinrich5991 3de73cf96a Don't bundle libcurl for Linux
It's installed basically everywhere and just increases release size.
They're serious about backward compatibility and haven't had a breaking
change in ages.
2019-09-30 09:53:24 +02:00
Ryozuki ed5b96c6b9
fix modern cmake version warnings 2019-05-11 12:00:21 +02:00
yangfl 743ef32e6f Add mariadb_config in FindMySQL.cmake
Which is changed in Debian
2018-12-22 22:30:58 +08:00
heinrich5991 ca8fcc823c Use more secure hash function for map downloads
SHA256 was chosen because it is reasonably standard, the file names
don't explode in length (this rules out SHA512) and it is supported by
basically all versions of OpenSSL (this rules out SHA512/256 and SHA3).

The protocol is changed in a backward compatible way: The supporting
server sends the SHA256 corresponding to the map in the `MAP_DETAILS`
message prior to sending the `MAP_CHANGE` message. The client saves the
SHA256 obtained from the `MAP_DETAILS` message until the next
`MAP_CHANGE` message.

For servers not supporting this protocol, the client falls back to
simply opening maps like in the previous scheme.

Remove the `map_version` tool, it is not being used and would have been
a little bit effort to update.

Use the OpenSSL implementation of SHA256 if it is supported, otherwise
fall back to a public domain one.

Fix #1127.
2018-06-24 17:04:50 +02:00