From 919a42d9fd38545806a90a88da71629d501f22b3 Mon Sep 17 00:00:00 2001 From: Matthew Budd Date: Wed, 21 Oct 2020 22:54:31 -0400 Subject: [PATCH] Minor corrections to SDL build/install instructions. --- INSTALL | 4 ++-- README | 26 ++++++++++++++++++-------- TODO-SDL | 2 ++ 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/INSTALL b/INSTALL index 249461e2..d77519ce 100644 --- a/INSTALL +++ b/INSTALL @@ -1,9 +1,9 @@ -To compile and install FCEUX for SDL, follow the instructions in the README-SDL.md file. +To compile and install FCEUX for SDL, follow the instructions in the README file. Users of Microsoft Visual Studio can use the solution files within the vc directory. The Windows XP toolset is required to open and build this solution. If it is not installed, go to "Tools" > "Get Tools and Features". Select "Individual Components" and then install "C++ Windows XP Support for VS 2017 (v141) tools". These solution files will compile FCEUX and some included libraries for full functionality. The SDL port build tool of choice has come full circle back to Cmake. The cmake build tool will compile the new Qt version of the SDL GUI. -The scons build tool will build the older GTK based GUI which currently only builds on Linux. +Building of the SDL fceux no longer supports use of the scons build tool. diff --git a/README b/README index 59cfcc13..9f40b3ae 100644 --- a/README +++ b/README @@ -7,7 +7,7 @@ Updated By mjbudd77 http://www.fceux.com -Last Modified: July 12, 2020 +Last Modified: October 21, 2020 Table of Contents ----------------- @@ -22,7 +22,7 @@ Table of Contents 1 - Requirements ---------------- -* sdl2 - Version >= 2.0 +* sdl2 - Version >= 2.0 (sdl2 >= 2.8 recommended) * cmake - Required to build fceux. * qt5 OR gtk3 - (qt version >= 5.11 recommended) (gtk3 >= 3.22 recommended) * liblua5.1 (optional) - Will statically link internally if the system cannot provide this. @@ -37,15 +37,19 @@ The old scons build system is no longer supported. Fceux can be compiled and built using the cmake build system. To compile, run: mkdir build; cd build; - cmake -DCMAKE_BUILD_TYPE=Release .. # For a release build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release .. # For a release build To build a binary with debug information included in it: - cmake -DCMAKE_BUILD_TYPE=Debug .. + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug .. The Qt version of the GUI builds by default and this is the preferred GUI for use. For those who must have GTK/Gnome style, the GTK version of the GUI can be selected to build with: - cmake -DCMAKE_BUILD_TYPE=Release -DGTK=1 .. # Release build using GTK GUI + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DGTK=1 .. # Release build using GTK GUI + +The Qt version GUI by far exceeds the GTK gui in capability and performance. +I HIGHLY RECOMMEND USING THE Qt GUI instead of the GTK. See the TODO-SDL file for +a capability matrix that compares what the two GUIs can do. To do the actual compiling: make @@ -58,9 +62,8 @@ After a sucessful compilation, the fceux binary will be generated to sudo make install -You can optionally define a install prefix when running cmake from the previous step: - - cmake -DCMAKE_INSTALL_PREFIX=/usr/local install +By default cmake will use an installation prefix of /usr/local. +The recommended installation prefix is /usr (this is where the installed fceux.desktop file expects everything to be) You can choose to install the lua scripts (located in output/luaScripts) to a directory of your choosing: @@ -88,6 +91,13 @@ OpenGL options: For Linux builds, the OpenGL library preference can be either GLVND or LEGACY (default). To use GLVND OpenGL, add a -DGLVND=1 on the cmake command line. +Qt Styling Options: +The Qt GUI can use custom Qt widget styling by providing it a Qt stylesheet file. At startup, the GUI will look +for an environment variable named FCEUX_QT_STYLESHEET that must contain the full path to the file. If the variable +is defined and the file is readable by the program, then the styling settings will be used by the GUI. +Bash Shell Setup Example: +export FCEUX_QT_STYLESHEET=/home/me/myQt.stylesheet + 5 - LUA Scripting ----------------- FCEUX provides a LUA 5.1 engine that allows for in-game scripting capabilities. LUA is enabled either way. It is just a matter of whether LUA is statically linked internally or dynamically linked to a system library. diff --git a/TODO-SDL b/TODO-SDL index 2ab96421..c661438e 100644 --- a/TODO-SDL +++ b/TODO-SDL @@ -4,6 +4,8 @@ Priorities * GTK GUI was not cross-platform. A Qt5 version of the GUI has been created to meet this need. I will keep the GTK GUI around for Linux users who prefer it, but when it comes to adding new features the Qt GUI is where I plan to add them first (if at all). + * The Qt GUI has by far exceeded the capabilities of the older GTK version. Below is a GUI capability + matrix showing the differences between the two. I HIGHLY RECOMMEND USING THE Qt GUI. * Code cleanup. Lots of compiler warnings with newer GCC. Maybe I'm OCD... but these warnings bother me. Features