This commit is contained in:
Rosalie Wanders
2020-09-20 19:14:38 +02:00
parent c135413244
commit 116da39c62
7 changed files with 142 additions and 32 deletions
+14 -1
View File
@@ -7,14 +7,27 @@ project(RMG)
set(CMAKE_INSTALL_PREFIX "")
find_package(Git REQUIRED)
execute_process(
COMMAND ${GIT_EXECUTABLE} describe --tags --always --dirty
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
OUTPUT_VARIABLE GIT_VERSION
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE
)
add_subdirectory(Source/RMG)
install(TARGETS RMG
DESTINATION rmg
)
if (WIN32)
add_subdirectory(Source/Installer)
endif()
add_subdirectory(Source/3rdParty)
install(FILES ${MUPEN64PLUSCORE_LIB}
DESTINATION rmg/Core/
DESTINATION rmg/Core
)
install(FILES ${MUPEN64PLUSCORE_INI} ${MUPEN64PLUSCORE_CHT}
DESTINATION rmg/Data
+11 -8
View File
@@ -23,7 +23,7 @@ ExternalProject_Add(mupen64plus-core
GIT_REPOSITORY https://github.com/mupen64plus/mupen64plus-core
GIT_TAG 59a501ec8915f3c6f20528b076c8dcbe95bb3830
BUILD_COMMAND make all OSD=0 NO_ASM=1
BUILD_COMMAND make all OSD=0 NO_ASM=1 DEBUG=$<CONFIG:Debug>
BUILD_IN_SOURCE False
BINARY_DIR ${M64P_CORE_DIR}/projects/unix
@@ -42,7 +42,7 @@ ExternalProject_Add(mupen64plus-audio-sdl
GIT_REPOSITORY https://github.com/mupen64plus/mupen64plus-audio-sdl
GIT_TAG 39b8cb778c4690de98c8b9497578662cece356cc
BUILD_COMMAND make all APIDIR=${APIDIR}
BUILD_COMMAND make all APIDIR=${APIDIR} DEBUG=$<CONFIG:Debug>
BUILD_IN_SOURCE False
BINARY_DIR ${THIRDPARTY_DIR}/mupen64plus-audio-sdl/projects/unix
@@ -60,7 +60,7 @@ ExternalProject_Add(mupen64plus-rsp-hle
GIT_REPOSITORY https://github.com/mupen64plus/mupen64plus-rsp-hle
GIT_TAG 72a1deca7d57f688cf20569790077bf7ab2cbe7c
BUILD_COMMAND make all APIDIR=${APIDIR}
BUILD_COMMAND make all APIDIR=${APIDIR} DEBUG=$<CONFIG:Debug>
BUILD_IN_SOURCE False
BINARY_DIR ${THIRDPARTY_DIR}/mupen64plus-rsp-hle/projects/unix
@@ -78,7 +78,7 @@ ExternalProject_Add(mupen64plus-input-raphnetraw
GIT_REPOSITORY https://github.com/raphnet/mupen64plus-input-raphnetraw
GIT_TAG 741f37cd9dae981235e57ebdc3083be5f5755439
BUILD_COMMAND make all APIDIR=${APIDIR}
BUILD_COMMAND make all APIDIR=${APIDIR} DEBUG=$<CONFIG:Debug>
BUILD_IN_SOURCE False
BINARY_DIR ${THIRDPARTY_DIR}/mupen64plus-input-raphnetraw/projects/unix
@@ -87,6 +87,7 @@ ExternalProject_Add(mupen64plus-input-raphnetraw
DEPENDS mupen64plus-core
)
set(GLIDEN64_BUILD_DIR "${THIRDPARTY_DIR}/mupen64plus-video-GLideN64/projects/cmake")
ExternalProject_Add(mupen64plus-video-GLideN64
SOURCE_DIR mupen64plus-video-GLideN64
@@ -95,11 +96,13 @@ ExternalProject_Add(mupen64plus-video-GLideN64
INSTALL_COMMAND ""
BUILD_IN_SOURCE True
CMAKE_ARGS -DMUPENPLUSAPI=1 -DMUPENPLUSAPI_GLIDENUI=1 -Wno-dev
SOURCE_SUBDIR ./src
BUILD_IN_SOURCE False
CMAKE_ARGS -DMUPENPLUSAPI=1 -DMUPENPLUSAPI_GLIDENUI=1 -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -Wno-dev
BUILD_BYPRODUCTS ${THIRDPARTY_DIR}/mupen64plus-video-GLideN64/src/plugin/Release/mupen64plus-video-GLideN64.${SO_EXT}
SOURCE_SUBDIR ./src/
BINARY_DIR ${GLIDEN64_BUILD_DIR}
BUILD_BYPRODUCTS ${GLIDEN64_BUILD_DIR}/plugin/${CMAKE_BUILD_TYPE}/mupen64plus-video-GLideN64.${SO_EXT}
BUILD_BYPRODUCTS ${THIRDPARTY_DIR}/mupen64plus-video-GLideN64/ini/GLideN64.custom.ini
)
+8
View File
@@ -0,0 +1,8 @@
#
# InnoSetup Installer CMakeLists.txt
#
add_custom_target(create_installer
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "Creating InnoSetup Installer"
COMMAND ISCC.exe .\\RMG.iss /DMyAppDir="${CMAKE_SOURCE_DIR}\\Bin\\${CMAKE_BUILD_TYPE}\\rmg" /DMyAppVer="${GIT_VERSION}" /DMyOutDir="${CMAKE_SOURCE_DIR}\\Bin" /DMySrcDir="${CMAKE_SOURCE_DIR}"
)
+98
View File
@@ -0,0 +1,98 @@
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "Rosalie's Mupen GUI"
#define MyAppPublisher "Rosalie"
#define MyAppURL "https://github.com/Rosalie241/RMG"
#define MyAppExeName "RMG.exe"
; REQUIREMENTS:
; Specify MyAppDir, which should point to the binaries
; Specify MySrcDir, which should point to the source code
; Specify MyOutDir, which should point to the output directory
; Specify MyAppVer, which should contain the version
;
; EXAMPLE USAGE:
; "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" ".\Source\Installer\RMG.iss" /DMyAppDir=.\Bin\rmg /DMyAppVer="1.0" /DMyOutDir=.\Bin\ /DMySrcDir=.\
[Setup]
; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{AD31B3C7-8374-43D0-9C6C-81A01BE4822B}
AppName={#MyAppName}
AppVersion={#MyAppVer}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}\{#MyAppName}
DisableProgramGroupPage=yes
LicenseFile={#MySrcDir}\LICENSE
; Remove the following line to run in administrative install mode (install for all users.)
PrivilegesRequired=lowest
PrivilegesRequiredOverridesAllowed=commandline
OutputDir={#MyOutDir}
OutputBaseFilename=Setup RMG {#MyAppVer}
SetupIconFile={#MySrcDir}\Source\RMG\UserInterface\Icons\RMG.ico
Compression=lzma
SolidCompression=yes
WizardStyle=modern
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "{#MyAppDir}\RMG.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\Config\stylesheet.qss"; DestDir: "{app}\Config"; Flags: ignoreversion
Source: "{#MyAppDir}\Core\*"; DestDir: "{app}\Core"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "{#MyAppDir}\Data\*"; DestDir: "{app}\Data"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "{#MyAppDir}\iconengines\*"; DestDir: "{app}\iconengines"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "{#MyAppDir}\imageformats\*"; DestDir: "{app}\imageformats"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "{#MyAppDir}\platforms\*"; DestDir: "{app}\platforms"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "{#MyAppDir}\Plugin\*"; DestDir: "{app}\Plugin"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "{#MyAppDir}\styles\*"; DestDir: "{app}\styles"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "{#MyAppDir}\translations\*"; DestDir: "{app}\translations"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "{#MyAppDir}\libbrotlicommon.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libbrotlidec.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libbz2-1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libdouble-conversion.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libfreetype-6.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libgcc_s_seh-1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libglib-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libgraphite2.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libharfbuzz-0.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libhidapi-0.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libiconv-2.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libicudt67.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libicuin67.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libicuuc67.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libintl-8.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libminizip-1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libpcre-1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libpcre2-16-0.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libpng16-16.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libsamplerate-0.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libspeexdsp-1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libstdc++-6.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libwinpthread-1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\libzstd.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\Qt5Core.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\Qt5Gui.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\Qt5Svg.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\Qt5Widgets.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\SDL2.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MyAppDir}\zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
+7 -11
View File
@@ -9,19 +9,9 @@ find_package(Qt5 COMPONENTS Widgets Core REQUIRED)
find_package(PkgConfig REQUIRED)
pkg_check_modules(SDL2 REQUIRED sdl2)
find_package(Git REQUIRED)
execute_process(
COMMAND ${GIT_EXECUTABLE} describe --tags --always --dirty
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
OUTPUT_VARIABLE GIT_VERSION
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE
)
configure_file(Config.hpp.in Config.hpp)
add_executable(RMG
set(RMG_SOURCES
UserInterface/MainWindow.cpp
UserInterface/RomBrowserWidget.cpp
UserInterface/NoFocusDelegate.cpp
@@ -43,6 +33,12 @@ add_executable(RMG
main.cpp
)
if (CMAKE_BUILD_TYPE MATCHES Release)
add_executable(RMG WIN32 ${RMG_SOURCES})
else()
add_executable(RMG ${RMG_SOURCES})
endif()
target_link_libraries(RMG ${SDL2_LIBRARIES})
target_include_directories(RMG PRIVATE ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${SDL2_INCLUDE_DIRS})
+1 -10
View File
@@ -28,17 +28,8 @@ MainWindow::MainWindow() : QMainWindow(nullptr)
MainWindow::~MainWindow()
{
// Delete all UI elements
/*if (this->menuBar)
delete this->menuBar;
if (this->ui_Widgets)
delete this->ui_Widgets;
if (this->ui_Settings)
delete this->ui_Settings; */
}
#include <iostream>
bool MainWindow::Init(void)
{
if (!g_Logger.Init())
+3 -2
View File
@@ -4,13 +4,14 @@ script_dir="$(dirname "$0")"
toplvl_dir="$(realpath "$script_dir/../../")"
build_dir="$toplvl_dir/Build"
install_dir="$toplvl_dir/Bin"
build_config="${1:-Debug}"
install_dir="$toplvl_dir/Bin/$build_config"
mkdir -p "$build_dir"
pushd "$build_dir"
cmake -S "$toplvl_dir" -B "$build_dir"
cmake -S "$toplvl_dir" -B "$build_dir" -DCMAKE_BUILD_TYPE="$build_config"
make -j6
make install DESTDIR="$install_dir"