From 3cfe2d8bcb8eae66c621c9f0a40fcd530ff0f304 Mon Sep 17 00:00:00 2001 From: Leon Styhre Date: Wed, 24 Jun 2020 22:20:23 +0200 Subject: [PATCH] Added a USERGUIDE.md document. Also did some other minor changes to the information and documentation files. --- CMakeLists.txt | 3 +++ INSTALL.md | 31 +++++++++++++++++++++++-------- NEWS.md | 2 ++ README.md | 14 +++++++++----- USERGUIDE.md | 20 ++++++++++++++++++++ 5 files changed, 57 insertions(+), 13 deletions(-) create mode 100644 USERGUIDE.md diff --git a/CMakeLists.txt b/CMakeLists.txt index 3bf8f3770..a2c3eaf68 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,9 @@ option(GL "Set to ON if targeting Desktop OpenGL" ${GL}) option(RPI "Set to ON to enable the Raspberry PI video player (omxplayer)" ${RPI}) option(CEC "Set to ON to enable CEC" ${CEC}) +# Set this to on to show verbose compiler output (e.g. compiler flags, include directories etc.) +set(CMAKE_VERBOSE_MAKEFILE OFF CACHE BOOL "Show verbose compiler output" FORCE) + project(emulationstation-de) #------------------------------------------------------------------------------- diff --git a/INSTALL.md b/INSTALL.md index 53edbb462..38b949a4a 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,3 +1,9 @@ +EmulationStation Desktop Edition - Installation +=============================================== + +**Note:** This is a quite technical document intended for those that are interested in compiling EmulationStation from source code, or would like to customize the configuration. If you just want to start using the software, check out the [User Guide](USERGUIDE.md) instead! + + Building ======== @@ -31,13 +37,19 @@ cmake . make ``` -NOTE: to generate a `Debug` build on Unix/Linux, run this instead: +Note: To generate a `Debug` build on Unix/Linux, run this instead: ``` cmake -DCMAKE_BUILD_TYPE=Debug . make ``` Keep in mind though that a debug version will be much slower due to all compiler optimizations being disabled. +Running multiple compile jobs in parallel is a good thing as it speeds up the build time a lot (scaling almost linearly). Here's an example telling `make` to run 6 parallel jobs: + +``` +make -j6 +``` + By default EmulationStation will install under `/usr/local` but this can be changed by setting the `CMAKE_INSTALL_PREFIX` variable.\ The following example will build the application for installtion under `/opt`: @@ -45,7 +57,7 @@ The following example will build the application for installtion under `/opt`: cmake -DCMAKE_INSTALL_PREFIX=/opt . ``` -Note that this is not only the directory used by the install script, the CMAKE_INSTALL_PREFIX variable also modifies code modified inside ES to find the program resources. So it's very important that the install prefix corresponds to the location where the application will actually be located. +It's important to know that this is not only the directory used by the install script, the CMAKE_INSTALL_PREFIX variable also modifies code inside ES used to locate the required program resources. So it's necessary that the install prefix corresponds to the location where the application will actually be installed. **Installing:** @@ -73,13 +85,14 @@ ES will look in the following two locations for the resources: The home directory will always take precedence so any resources located there will override the ones in the installation path. It's not recommended to override any resources since they are by nature static. But combining this ability with the command line `--home` flag, a fully portable version of EmulationStation could be created on a USB memory stick or similar. Anyway, after compiling the application, either run `make install` or copy or symlink the resources directory to `~/.emulationstation/resources`: + `cp -R resources ~/.emulationstation/` \ -or +or \ `ln -s $(pwd)/resources ~/.emulationstation/` The same goes for the `themes` directory. Although ES can start without a theme, it would be pretty pointless as the application would barely be usable. -**Making .deb and .rpm packages:** +**Creating .deb and .rpm packages:** Creation of Debian .deb packages are enabled by default, simply run `cpack` to generate the package: @@ -94,10 +107,10 @@ CPackDeb: - Generating dependency list CPack: - package: /home/user/emulationstation-de/emulationstation-de-1.0.0.deb generated. ``` -The package can now be installed using a package manager, for example `dpkg'. +The package can now be installed using a package manager, for example `dpkg`. + +For RPM packages, change the comments in the `CMakeLists.txt` accordingly, from: -For RPM packages, change the comments in the `CMakeLists.txt` accordingly. \ -From: ``` #SET(CPACK_GENERATOR "RPM") SET(CPACK_GENERATOR "DEB") @@ -116,6 +129,7 @@ To be able to generate RPM packages on a Debian system such as Ubuntu, install t sudo apt-get install rpm ``` + **On Windows:** [CMake](http://www.cmake.org/cmake/resources/software.html) @@ -191,7 +205,8 @@ The new configuration will be added to the `~/.emulationstation/es_input.cfg` fi **If your controller stops working, you can delete the `~/.emulationstation/es_input.cfg` file to make the input configuration screen re-appear on the next run.** -**Command line arguments:** +Command line arguments +====================== You can use `--help` or `-h` to view a list of command line options. Briefly outlined here: diff --git a/NEWS.md b/NEWS.md index 353378a6b..cd341274f 100644 --- a/NEWS.md +++ b/NEWS.md @@ -23,6 +23,8 @@ v1.0.0 * No more attempts to open files directly under /etc, instead only the install prefix directory and the home directory are used * Refactoring, cleanup and documentation of the source code, removal of deprecated files etc. * All required fonts bundled with the application, no dependencies on the OS to provide them any longer +* Made pugixml an external dependency instead of bundling it +* Updated the cmake/cpack install and package build script to work as expected (can generate .deb and .rpm installation packages) * License files included for all the libraries and resources that are bundled with the application * Updated the MAME ROM index files to include ROMs up to MAME version 0.221 (and included new scripts to easily generate these index files) diff --git a/README.md b/README.md index 1429bb922..4c0f4011c 100644 --- a/README.md +++ b/README.md @@ -7,15 +7,19 @@ The difference to other versions of EmulationStation is that this fork is intend The software comes preconfigured for use primarily with [RetroArch](https://www.retroarch.com), although this can certainly be changed as all emulator settings are fully configurable, even on a per-game basis. +Check out the [User Guide](USERGUIDE.md) for how to quickly get the application up and running! \ +(It will also show how to use its more advanced features.) + + **Help needed:** -Apart from code commits, help is especially needed for thorough testing of the software and for working on the RBSimple-DE theme. +Apart from code commits, help is especially needed for thorough testing of the software and for working on the rbsimple-DE theme. -It's impossible for me to test every game system (RBSimple-DE has support for almost a 100 different systems!) so it would be especially useful to hear about any issues with starting games using the default es_systems.cfg configuration file and also if there are any issues regarding scraping for certain systems. +It's impossible for me to test every game system (rbsimple-DE has support for almost a 100 different systems!) so it would be especially useful to hear about any issues with starting games using the default es_systems.cfg configuration file and also if there are any problems with scraping for certain systems. In general, a review of the [es_systems.cfg](resources/templates/es_systems.cfg_unix) file including the supported file extensions would be great! -As for RBSimple-DE there are quite some missing graphic files and other customizations for a number of game systems. \ +As for rbsimple-DE there are quite some missing graphic files and other customizations for a number of game systems. \ Check out [MISSING.md](themes/rbsimple-DE/MISSING.md) for more details of what needs to be added or updated. Finally, if someone could make a proper port to macOS, that would be great as then all of the three major desktop operating systems would be supported. There is some code present specifically for macOS but I've been unable to test it. And according to the code comments, some things seem to be missing altogether for this operating system, so it may take some effort. @@ -32,6 +36,6 @@ General information [DEVNOTES.md](DEVNOTES.md) is the place to go if you're interested in participating in the development of EmulationStation Desktop Edition. -Overview of the software -======================== +Some feature highlights +======================= diff --git a/USERGUIDE.md b/USERGUIDE.md new file mode 100644 index 000000000..9c347a4a1 --- /dev/null +++ b/USERGUIDE.md @@ -0,0 +1,20 @@ +EmulationStation Desktop Edition - User Guide +============================================= + +Getting started +=============== + + + +Main menu +========= + + + +Game option menu +================ + + + +Scraper +======= \ No newline at end of file