Commit graph

42 commits

Author SHA1 Message Date
James R
3eba2cf60d CMakeLists.txt: use libfmt from thirdparty/fmt
Now compiles on Ubuntu 22.04, which only has libfmt 8.
I don't know which exact version of libfmt we need but the
one in thirdparty works.

This version of libfmt is header-only.
2024-04-14 00:24:40 -07:00
Eidolon
640ad6bc1e Remove GME VGM music emulation
We cannot comply with the terms of the GPL in using and distributing
libgme due to MAME license incompatibility, so the feature needs to
be removed.
2024-01-29 15:54:20 -06:00
SteelT
9db766935c Update tracy client to v0.10 2024-01-27 21:06:14 -05:00
Eidolon
2433d37d44 Switch from CPM to vcpkg 2023-12-15 02:49:15 +00:00
Eidolon
187f30cc64 rhi: use GL 2 instead of GL Core
Widens the hardware compat range without losing features (besides
debugging)
2023-11-04 20:15:51 -05:00
Eidolon
e9d789abc9 Add Tracy client library and build preset 2023-09-18 16:13:19 -05:00
James R
7ed356d620 thirdparty: add nlohmann/json 2023-04-28 12:50:43 -07:00
James R
18287e2ed4 cmake: always build libgme, even if SRB2_CONFIG_SYSTEM_LIBRARIES 2023-03-30 23:44:53 -07:00
Eidolon
ecf785f405 Add glm CPM dependency 2023-03-23 11:20:26 -05:00
Sally Coolatta
62dd76dbcd Use a modified ACSVM to support 10 arg linedefs 2023-03-14 08:03:19 -04:00
SteelT
de00dd15fc Fix building errors with webm, catch missing SRB2_CONFIG_ENABLE_WEBM_MOVIES condition 2023-02-28 21:49:24 -05:00
Eidolon
11fecebc47 Make AVRecorder WebM an optional part of the build 2023-02-26 20:18:05 -06:00
Eidolon
d855d96a10 hwr2: Add hardware 2D rendering 2023-02-26 18:47:42 -06:00
James R
8ee785bb7e cpm-ogg.cmake: fix libvorbis cross-build
Vorbis couldn't find ogg so tell it explicitly where it
is.
2023-02-24 19:20:43 -08:00
James R
61198a46e7 Add libvorbis (and ogg) dependency 2023-02-24 19:20:43 -08:00
James R
3741ab1c91 Add libwebm, libvpx, libyuv dependencies
Libvpx is built with configure script and make.
Unfortunate but the configure script is very dense and I'm
not sure if it's worth translating into CMake, since it
apparently does CPU detection for optimizations.
2023-02-24 19:20:43 -08:00
James R
d959ac9954 thirdparty/cpm-discordrpc.cmake: fix GCC 9.4.0 Ubuntu link 2023-02-20 17:53:09 -08:00
James R
ba4e21bbb0 cmake: fix build with 3.16 2023-02-20 17:52:20 -08:00
James R
7092f1126e cmake: move ACSVM fetch to cpm-acsvm.cmake
Remove SRB2_CONFIG_SYSTEM_LIBRARIES condition. This is
because I am lazy and don't want to write
a FindACSVM.cmake. I also don't think it will be common
for it to be installed at the system level.
2023-01-26 23:33:00 -08:00
toaster
d2d7421072 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into acs
# Conflicts:
#	src/CMakeLists.txt
2023-01-21 15:32:13 +00:00
Eidolon
01ddbf6dcf (WIP) hardware: add render hardware interface 2023-01-14 18:40:26 -06:00
Sally Coolatta
1caf255f5c Merge branch 'master' into acs 2023-01-05 22:23:51 -05:00
Eidolon
81d1aa79c2 cmake: Split common deps setup scripts 2023-01-04 17:30:45 -06:00
Eidolon
dd182cd0a1 cmake: Separate cpm discordrpc setup 2023-01-04 17:30:45 -06:00
Eidolon
ac7ca10061 cmake: Separate cpm xmp-lite setup 2023-01-04 17:30:45 -06:00
Eidolon
b95fd459b9 cmake: Remove SDL2_mixer and OpenMPT
Libraries superceded by libxmp-lite and new mixer.
2023-01-04 16:51:12 -06:00
Eidolon
9806df5883 cmake: Add stb-vorbis
This is a lightweight single-file Ogg Vorbis decoder which will be used
for Ogg playback instead of libogg/libvorbis.
2023-01-04 16:51:12 -06:00
Eidolon
210b513c8b cmake: Add xmp-lite
This is a very lightweight module playback engine which will replace
OpenMPT.
2023-01-04 16:51:12 -06:00
Sally Coolatta
0d67b12c74 Merge branch 'master' into acs 2023-01-01 17:13:31 -05:00
Eidolon
19c5711092 cmake: build discord-rpc internally 2023-01-01 14:50:52 -06:00
Sally Coolatta
a0adb05c9b Merge branch 'master' into acs 2022-12-31 15:04:51 -05:00
Eidolon
ccb74e7371 Add tcbrindle's C++20 std::span impl (tcb::span) 2022-12-28 16:28:04 -06:00
Sally Coolatta
7f9ae90f88 Don't compile ACSVM's C API
No longer required
2022-12-23 05:26:12 -05:00
Sally Coolatta
8eef5efa95 Fully port the ACS integration to C++ 2022-12-23 04:38:05 -05:00
Sally Coolatta
88ffab9f3c Add ACSVM building to CMake
Currently this breaks some parts of the ACS functionality ... before I made a handful of small extensions to ACSVM's slightly-limited C API myself, and I didn't get them into the actual repo yet.

But now that we've moved to actual C++ compiling, I will likely just flat-out rewrite the SRB2 side of the code in C++ so it can use the library directly.
2022-12-22 09:44:38 -05:00
Eidolon
b9f277df66 cmake: Fix png and openmpt builds in clean envs
In environments without zlib installed, png would fail to build since
it can't find zlib.h. The zlib build's generated public include dir
needs zlib.h to work.

openmpt fails to build because it can't find Rpcrt4, which is not a
necessary link under mingw, but exists in some mingw-w64 toolchains.
It is only needed for MSVC.

(cherry picked from commit fcf69001ada08077f82d3fc8510dcd24b4433e64)
2022-12-12 13:27:09 -06:00
Eidolon
1f9b97a0a8 cmake: Use MAME YM2612 emu in GME
(cherry picked from commit fb0f0c5e6c161b4b88439cda84c8b6cae9d236cc)
2022-12-12 13:27:09 -06:00
Eidolon
0d49cc1768 Cherry-pick internal zlib MR from SRB2/next
cmake: build zlib manually in internal build

See merge request STJr/SRB2!1856

(cherry picked from commit 3597957af13878854c02305a0aec5ca744209ef2)

# Conflicts:
#	thirdparty/CMakeLists.txt
2022-12-12 13:18:17 -06:00
James R
8742150f2f cmake: change library link name casing
Fixes linux mingw cross compile
2022-11-27 03:42:43 -08:00
Eidolon
9fecb93c3a cmake: disable debug symbols for openmpt 2022-11-27 02:44:11 -08:00
Eidolon
e52a13bf39 cmake: link Rpcrt4 (for uuid) to openmpt on win32 2022-11-27 02:44:11 -08:00
Eidolon
0677d59d51 cmake: Build all deps and static link
Overhaul cmake build
2022-11-27 02:44:10 -08:00