Commit graph

282 commits

Author SHA1 Message Date
Leon Styhre 8596aca68c Added an OpenGL ES 2.0 renderer. 2022-01-13 19:39:49 +01:00
Leon Styhre c477c12dde (Windows) Fixed some build script issues. 2022-01-11 17:33:34 +01:00
Leon Styhre 7c640c24bf Some minor CMake configuration cleanup, mostly for Windows. 2022-01-09 23:40:59 +01:00
Leon Styhre d45c690586 Some CMake configuration changes for building with rlottie. 2022-01-08 16:23:23 +01:00
Leon Styhre d96879c57f Fixed a CPACK generator issue on Windows and macOS. 2022-01-07 18:35:47 +01:00
Leon Styhre ecc599e5cc (Windows) Some additional CMake configuration changes to make rlottie link correctly. 2022-01-07 00:38:20 +01:00
Leon Styhre 998830181f Added CMake configuration for the Lottie animation support. 2022-01-06 23:19:37 +01:00
Leon Styhre 280a6d101b (Windows) Changed the CMake configuration to keep all dependencies in-tree in the 'external' directory. 2022-01-02 20:54:46 +01:00
Leon Styhre 6431804ee7 Removed the deprecated VideoVlcComponent. 2022-01-02 13:13:01 +01:00
Leon Styhre 3a53b26361 (macOS) Enabled the BUNDLED_CERTS CMake option for legacy builds.
Also added a CMake message on all platforms when configuring with the bundled TLS/SSL certificates.
2021-12-18 16:23:50 +01:00
Leon Styhre 8c32c5d28c (Linux) Fixed a Clang compile error. 2021-12-01 19:34:12 +01:00
Leon Styhre a2253113f7 (macOS) Some fixes to make the legacy build work again. 2021-12-01 17:57:23 +01:00
Leon Styhre 8373d59e29 (macOS) All dependencies are now built in-tree. 2021-11-30 22:14:18 +01:00
Leon Styhre 360be460a2 Added a CMake option to use the bundled TLS certificates with cURL. 2021-11-25 17:34:34 +01:00
Leon Styhre 1f9f9b903c (Linux) Reverted the past few commits and removed support for Snap packages. 2021-11-24 20:31:46 +01:00
Leon Styhre f03d233048 (Linux) Added CMake configuration and launch script for the Snap package. 2021-11-24 18:39:48 +01:00
Leon Styhre ceefc267b5 Added a Snap package option to the CMake configuration file. 2021-11-23 20:38:38 +01:00
Leon Styhre eb9b357678 Changed to maximum debug level for Clang and GCC for the Debug and Profiling builds.
Also added the -fno-omit-frame-pointer flag to the TSAN and UBSAN options.
2021-11-18 22:29:52 +01:00
Leon Styhre ed8c43f92c Removed the -pg compiler flag for the CMake Profiling build type. 2021-11-17 21:15:35 +01:00
Leon Styhre 9c1008bdd2 (RPi) Fixed an invalid compiler flag on aarch64. 2021-11-16 22:34:42 +01:00
Leon Styhre c5c7835dbb Added an UndefinedBehaviorSanitizer option to the CMake configuration file. 2021-11-16 20:18:09 +01:00
Leon Styhre 7f5fe3fcbf (RPi) Added some compiler optimization flags. 2021-11-16 17:34:11 +01:00
Leon Styhre 634a58fbc3 Added a ThreadSanitizer option to the CMake configuration file. 2021-11-15 20:22:29 +01:00
Leon Styhre 187115a9e6 Miniscule change to the CMake configuration file. 2021-11-13 13:30:17 +01:00
Leon Styhre 4b62650166 Added an AddressSanitizer option to the CMake configuration file. 2021-11-13 13:28:36 +01:00
Leon Styhre d3b135e387 Set the FFmpeg video player HW decoding as disabled by default. 2021-11-08 17:58:36 +01:00
Leon Styhre ac4710a18e Added proper support for the Raspberry Pi 4. 2021-11-07 23:54:52 +01:00
Leon Styhre db0b76a598 CMake changes to use the bundled RapidJSON parser. 2021-10-06 17:53:13 +02:00
Leon Styhre 5851139e53 Added the -Wunused-macros compiler flag. 2021-09-21 17:20:58 +02:00
Leon Styhre fc78f8ee18 General cleanup of the CMake configuration files. 2021-09-19 18:53:20 +02:00
Leon Styhre dacda90186 Made CMake use a more reliable way for detecting the compiler version. 2021-09-19 15:55:47 +02:00
Leon Styhre e30cad2e9f Added the -Wall, -Wpedantic and some additional compiler flags.
Also increased the minimum Clang and GCC compiler versions.
2021-09-19 15:02:13 +02:00
Leon Styhre abf8759f75 Added headers to the CMake configuration files. 2021-08-24 18:32:15 +02:00
Leon Styhre 3e88e90dac Changed the language standard from C++14 to C++17 2021-08-18 18:55:20 +02:00
Leon Styhre 722468129e Replaced all internal matrix data types and functions with the GLM library equivalents.
Also changed some vectors.
2021-08-15 19:30:31 +02:00
Leon Styhre ffc9814636 Added the GLM include directory to the CMake configuration. 2021-08-13 21:26:20 +02:00
Leon Styhre a93cef1eb3 Fixed a small CMake configuration error. 2021-07-15 19:29:56 +02:00
Leon Styhre 840dc13285 (Windows) Fixed an issue where the wrong FFmpeg version was bundled. 2021-07-13 21:47:55 +02:00
Leon Styhre 6a7eb982f2 Now checking that clang-tidy is actually installed before attempting to use it. 2021-07-09 21:32:47 +02:00
Leon Styhre aed9e3970b Added support for building with the clang-tidy static analyzer. 2021-07-09 19:54:54 +02:00
Leon Styhre 24fd136099 Fixed the build of CEC support on the Raspberry Pi. 2021-07-09 19:50:59 +02:00
Leon Styhre 9a53ad0463 Some CMake updates to build correctly on Raspberry Pi.
Also some other general CMake cleanups.
2021-07-08 18:05:32 +02:00
Leon Styhre 2d6f4505af Increased the minimum required GCC version to cover C++14. 2021-07-07 17:46:44 +02:00
Leon Styhre 655c645ee7 (macOS) Removed the pointless APPLE_SKIP_INSTALL_LIBS CMake option. 2021-06-26 12:06:24 +02:00
Leon Styhre 337f06b428 Added a CMake option to build with or without the VLC video player. 2021-06-23 00:24:15 +02:00
Leon Styhre a838a09f60 Update to make compiling work with CImg as a Git subtree. 2021-06-07 22:14:12 +02:00
Leon Styhre 4b1c7c7f0a Update to make compilation work with NanoSVG as a Git subtree. 2021-06-07 21:56:13 +02:00
Leon Styhre 77bbe0592c Updated VideoFFmpegComponent to use libavfilter for frame processing and conversion. 2021-05-29 10:58:51 +02:00
Leon Styhre 5e0b709c14 (macOS) Added a CMake variable for defining the code signing certificate identity. 2021-05-13 19:33:07 +02:00
Leon Styhre 12cc3b05b9 Fixed an issue where CMAKE_INSTALL_PREFIX was not cached. 2021-05-13 12:57:52 +02:00
Leon Styhre d13967b8fb (Windows) Updated the CMake files to include the FFmpeg libraries for building and packaging. 2021-05-13 11:35:56 +02:00
Leon Styhre 0b14a463c3 (Windows) Fixed an incorrect language standard flag for the MSVC compiler. 2021-05-13 11:02:38 +02:00
Leon Styhre f92b314a0d Changed the language standard from C++11 to C++14 2021-05-12 22:39:53 +02:00
Leon Styhre eb868055b7 Replaced the CMake find module for FFmpeg. 2021-05-10 21:58:14 +02:00
Leon Styhre ef8b008d28 Added an experimental FFmpeg video player. 2021-05-09 22:52:26 +02:00
Leon Styhre ac93d09db9 (Linux) Whether to use the CPack DEB or RPM generator can now be set using a variable. 2021-05-04 17:09:19 +02:00
Leon Styhre 8d55a163ca (macOS) Some CMake improvements. 2021-04-07 18:32:22 +02:00
Leon Styhre 898a66aa14 (macOS) Enabled code signing, including Hardened Runtime if on macOS 10.14 or later. 2021-04-07 00:39:12 +02:00
Leon Styhre 4ff95c4ddf (Unix) Changed the default installation prefix from /usr/local to /usr on Linux.
Also changed the prefix on NetBSD from /usr/local to /usr/pkg.
2021-04-02 12:12:49 +02:00
Leon Styhre 5b31c9dedc Updates to the CMakeLists.txt files. 2021-01-21 21:44:51 +01:00
Leon Styhre 776554c80b (Windows) The NSIS installer now works when building with MSVC. 2020-12-29 17:44:00 +01:00
Leon Styhre e6847a09c7 (Windows) Fixed some MinGW compile errors. 2020-12-28 23:49:34 +01:00
Leon Styhre 9ec3f19482 (Windows) Added support for the MSVC compiler. 2020-12-28 23:23:01 +01:00
Leon Styhre 804f175bb8 Fixed an issue and made some improvements to the Windows installer. 2020-11-30 18:58:55 +01:00
Leon Styhre 375d9d2423 (Windows) Added missing library dependency to the installer. 2020-11-29 20:34:20 +01:00
Leon Styhre 8155931edd Disabled an obsolete linker flag on macOS. 2020-11-27 21:37:10 +01:00
Leon Styhre cc93ca4630 Fixed an annoying CMake issue that also broke the macOS build. 2020-11-27 20:04:02 +01:00
Leon Styhre 19edfd1690 Added support for FreeBSD, NetBSD and OpenBSD. 2020-11-26 18:53:00 +01:00
Leon Styhre 2a852170a8 (Windows) Fixed some build issues and got the OpenGL shaders to work.
Also some additional code cleanup.
2020-09-16 22:14:35 +02:00
Leon Styhre 4a13694794 Added a CMake profiling build type. 2020-09-13 23:42:56 +02:00
Leon Styhre 16425b4c32 (macOS) Updates to CMake scripts and corresponding documentation. 2020-08-23 11:35:02 +02:00
Leon Styhre 6fa4333499 (macOS) Several updates to the .dmg package generator setup. 2020-08-21 21:58:12 +02:00
Leon Styhre 7f31c1bbb4 Added .dmg package generator setup for macOS.
Also cleaned up and updated the CMakeLists.txt files and moved the non-source files to a separate assets directory.
2020-08-19 22:30:10 +02:00
Leon Styhre ad960b28ac Various updates to make the application compile on macOS. 2020-08-17 19:15:05 +02:00
Leon Styhre 004d9dfa9d Removed some unnecessary compiler flags. 2020-08-07 12:29:13 +02:00
Leon Styhre 04d4658fc9 Updated the CMakeLists.txt files to be able to generate an NSIS installer for Windows.
Also some updates to the documentation and information files.
2020-07-07 21:33:33 +02:00
Leon Styhre 76aa239855 Initial update to make the application build and run on Windows.
Much more work will be needed to get the Windows port working properly.
2020-07-03 20:23:51 +02:00
Leon Styhre 0387d515fb Update to fully support Clang/LLVM.
Also a general cleanup of CMakeLists.txt and many small code changes to satisfy Clang that complained quite a lot and actually wouldn't compile the binary at all at first.
2020-06-25 19:52:38 +02:00
Leon Styhre 3cfe2d8bcb Added a USERGUIDE.md document.
Also did some other minor changes to the information and documentation files.
2020-06-24 22:20:23 +02:00
Leon Styhre fb4c5708b7 Made pugixml an external dependency and fixed the cmake/cpack installation and package creation.
As pugixml seems to be well supported nowadays and seems to ship with most distributions it's pretty pointless to keep bundling it with EmulationStation.
2020-06-24 17:38:41 +02:00
Leon Styhre 38a3bd8e1c Increased the minimum required CMake version from 2.8 to 3.0
This solved an irritating issue with CMake complaining about policy CMP0048.
2020-06-22 20:27:35 +02:00
Leon Styhre 8fefc9232c Reorganized all resources to a subdirectory structure and added the CMake install prefix to the resource search path.
CMAKE_INSTALL_PREFIX and CMAKE_INSTALL_DATAROOTDIR are now used to resolve the resource path. As of this commit, there are only two paths where resources are searched, under the user home directory and under this install prefix directory (which defaults to /usr/local/share/emulationstation/resources but can be set to for instance /opt/share/emulationstation/resources using the appropriate CMake flags).
2020-06-21 19:35:43 +02:00
Leon Styhre d85ad49523 Disabled all assert() macros in the release build. 2020-05-29 11:06:01 +02:00
Tomas Jakobsson 0dbd146e88
Merge pull request #628 from cmitu/cmake_debug
cmake: define _DEBUG for Debug builds
2020-01-05 19:37:23 +01:00
Cristi Mitrana 92db741c53 Define _DEBUG for Debug builds 2020-01-03 12:17:43 +02:00
5schatten 2e6b632f50 CMakeList.txt: added option to conditionally enable libCEC 2019-08-29 14:12:05 +02:00
Tomas Jakobsson a02a747c50 Redid the entire Renderer
Made all components render using triangle strips
2019-08-25 15:45:22 +02:00
Cristi Mitrana 0903bb36ff Added an option to force the compilation of Raspberry Pi specific bits.
Useful when the VC4 legacy driver is not used for GLES, but usage of 'omxplayer' is still desired.
2019-07-17 15:00:43 +03:00
5schatten 48663c0b29 CMakeList.txt: added CMAKE_FIND_ROOT_PATH to detect RPi & Mali OpenGLES libs & headers 2019-04-16 17:29:12 +02:00
acrummyidea 44395f5f45 Adding new scraper GamesDBJSONScraper. The scraper uses the new GamesDb JSON API.
On the first run it downloads a few resource files needed to intepret the otput of
game search api calls these resources go into ~/.emulatiostation/scrapers
The resource files include the list of developers and the list of publishers.
To update the lists simply delete the files and relaunch emulationstation.
Searching a game by id (GamesDB id) is done as before by manually edit the search
query and query for "id:<gameId>".
2019-02-07 21:08:11 -05:00
hissingshark 2adce66ac4 Vero4k autodetection and volume mixer fix 2018-07-26 20:14:11 +01:00
Tomas Jakobsson 421e4a23df The final traces of boost has been eliminated 2018-01-30 19:21:09 +01:00
Tomas Jakobsson b6b6f73a24 Log everything CEC does
Only support libcec4
2017-11-29 21:00:36 +01:00
Tomas Jakobsson dc4f7e4cf2 Fix for building ES on Windows using cmake 2017-11-17 12:42:33 +01:00
Tomas Jakobsson 074e22ee37 CEC Support 2017-11-08 23:22:15 +01:00
Tomas Jakobsson d3966da2b7 Replace boost::locale with std::locale 2017-10-30 10:35:58 +01:00
Tomas Jakobsson 73a2f6b716 Replace Eigen with "inhouse" vector and matrix math 2017-10-28 22:25:01 +02:00
Conn O'Griofa d6adf6b71e CMake: use correct Raspberry Pi library names & fix generic GLES support
* For BCMHOST build, use brcmEGL / brcmGLESv2 libraries, and don't look at
  Mesa includes (so libraspberrypi-dev and libgles*-mesa-dev can coexist).
* If overridden via -DGLES=On, don't present vendor includes to build to
  make absolutely sure that the Mesa includes are used.

Fixes stretch vendor library building & generic Mesa GLES compatibility.
2017-10-06 03:03:12 +00:00
gizmo98 43c9043856 Add options for GL and GLES selection
Fallback to autodetect or OpenGL Desktop if no option is selected.
2017-08-19 14:33:50 +02:00
Jools Wills bd348f03a2 added additional libmali.so search path for the tinker board. 2017-06-08 15:58:22 +01:00