From d5306ae87d663a125e7e7a235d9943a7d123b9e5 Mon Sep 17 00:00:00 2001 From: Nayla Date: Mon, 24 Apr 2023 19:47:02 -0400 Subject: [PATCH] Add files via upload --- .flatpak/flatpak.yml | 18 ++-- .github/workflows/appimage.yml | 57 ++++++++++ .github/workflows/linux.yml | 45 ++++++++ .github/workflows/macOS.yml | 45 ++++++++ .github/workflows/nsis.yml | 43 ++++++++ .github/workflows/win32.yml | 36 +++++++ .gitignore | 2 + .tx/config | 2 +- CMakeLists.txt | 6 +- Data/dolphin-emu-nogui.6 | 4 +- ...olphin-emu.desktop => dolphin-mpn.desktop} | 7 +- Data/{dolphin-emu.png => dolphin-mpn.png} | Bin Externals/mGBA/mgba | 2 +- Installer/Discord.cpp | 38 ------- Installer/Installer.nsi | 8 +- .../po/{dolphin-emu.pot => dolphin-mpn.pot} | 0 Languages/po/en.po | 8 +- Source/Core/Core/HW/GBACore.cpp | 2 +- Source/Core/DolphinNoGUI/CMakeLists.txt | 2 +- Source/Core/DolphinQt/CMakeLists.txt | 100 +++++++++--------- 20 files changed, 308 insertions(+), 117 deletions(-) create mode 100644 .github/workflows/appimage.yml create mode 100644 .github/workflows/linux.yml create mode 100644 .github/workflows/macOS.yml create mode 100644 .github/workflows/nsis.yml create mode 100644 .github/workflows/win32.yml rename Data/{dolphin-emu.desktop => dolphin-mpn.desktop} (65%) mode change 100644 => 100755 rename Data/{dolphin-emu.png => dolphin-mpn.png} (100%) delete mode 100644 Installer/Discord.cpp rename Languages/po/{dolphin-emu.pot => dolphin-mpn.pot} (100%) diff --git a/.flatpak/flatpak.yml b/.flatpak/flatpak.yml index aa8b5c89a7..a89a749e9f 100644 --- a/.flatpak/flatpak.yml +++ b/.flatpak/flatpak.yml @@ -3,9 +3,9 @@ branch: master runtime: org.kde.Platform runtime-version: 5.15 sdk: org.kde.Sdk -command: dolphin-emu-wrapper -rename-desktop-file: dolphin-emu.desktop -rename-icon: dolphin-emu +command: dolphin-mpn-wrapper +rename-desktop-file: dolphin-mpn.desktop +rename-icon: dolphin-mpn finish-args: - --device=all # need for controllers # the file picker uses portals but the set @@ -106,11 +106,11 @@ modules: cleanup: - /share/man post-install: - - install -D -t ${FLATPAK_DEST}/bin/ dolphin-emu-wrapper - - desktop-file-edit --set-key=Exec --set-value='/app/bin/dolphin-emu-wrapper' - /app/share/applications/dolphin-emu.desktop + - install -D -t ${FLATPAK_DEST}/bin/ dolphin-mpn-wrapper + - desktop-file-edit --set-key=Exec --set-value='/app/bin/dolphin-mpn-wrapper' + /app/share/applications/dolphin-mpn.desktop - desktop-file-edit --set-key=Name --set-value='Dolphin MPN' - /app/share/applications/dolphin-emu.desktop + /app/share/applications/dolphin-mpn.desktop sources: - type: git url: https://github.com/MarioPartyNetplay/Dolphin-MPN-src.git @@ -127,5 +127,5 @@ modules: test -S $XDG_RUNTIME_DIR/discord-ipc-$i || ln -sf {app/com.discordapp.Discord,$XDG_RUNTIME_DIR}/discord-ipc-$i; done - dolphin-emu "$@" - dest-filename: dolphin-emu-wrapper + dolphin-mpn "$@" + dest-filename: dolphin-mpn-wrapper diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml new file mode 100644 index 0000000000..872c106ac0 --- /dev/null +++ b/.github/workflows/appimage.yml @@ -0,0 +1,57 @@ +name: Linux-AppImage CI + +# Controls when the action will run. Triggers the workflow on push or pull request +# events but only for the master branch +on: + push: + pull_request: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + # Submoudle + - name: Checkout Submodles + run: git submodule update --init --recursive + # Setup CMake + - name: Setup CMake + uses: Symbitic/install-cmake@v0.1.1 + with: + platform: linux + # Setup Packages + - name: Setup Packages + run: sudo apt update && sudo apt upgrade && sudo apt install qmake6 libfuse2 p7zip-full build-essential git cmake ffmpeg libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libevdev-dev libusb-1.0-0-dev libxrandr-dev libxi-dev libpangocairo-1.0-0 qt6-base-private-dev libbluetooth-dev libasound2-dev libpulse-dev libgl1-mesa-dev libudev-dev libsystemd-dev dpkg-dev + # Run CMake + - name: Run CMake + run: mkdir build && cd build && cmake .. -G Ninja -DLINUX_LOCAL_DEV=true -DCPACK_PACKAGE_CONTACT="Mario Party Netplay" -DDISTRIBUTOR="Mario Party Netplay" + # Build Project + - name: Run Make + run: cd build && ninja -j$(nproc) + # Configure Dolphin + - name: Configure Dolphin + run: cd build && mkdir Binaries/OUT/ && cp Binaries/dolphin-mpn Binaries/OUT/dolphin-mpn && cp -r ../Data/Sys/ Binaries/OUT/ && cp -r ../Data/User/ Binaries/OUT/ && touch Binaries/OUT/portable.txt && mv Binaries/OUT/User Binaries/OUT/user + # Install linuxdeploy + - name: 'Install linuxdeploy' + run: | + wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage + wget https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage + chmod +x linuxdeploy-x86_64.AppImage + chmod +x linuxdeploy-plugin-qt-x86_64.AppImage + # Create AppImage + - name: 'Create AppImage' + run: | + export QMAKE=qmake6 && ./linuxdeploy-x86_64.AppImage --appdir AppDir -e "/home/runner/work/Dolphin-MPN/Dolphin-MPN/build/Binaries/OUT/dolphin-mpn" -i /home/runner/work/Dolphin-MPN/Dolphin-MPN/Data/dolphin-mpn.png -d /home/runner/work/Dolphin-MPN/Dolphin-MPN/Data/dolphin-mpn.desktop --plugin qt --output appimage + mkdir /home/runner/work/Dolphin-MPN/Dolphin-MPN/build/tmp2 && mv *.AppImage DolphinMPN-Linux.AppImage && mv DolphinMPN-Linux.AppImage /home/runner/work/Dolphin-MPN/Dolphin-MPN/build/tmp2/ + # Upload Artifact + - name: Upload Build Artifact + uses: actions/upload-artifact@v2 + with: + name: DolphinMPN-Linux-AppImage + path: /home/runner/work/Dolphin-MPN/Dolphin-MPN/build/tmp2/ diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml new file mode 100644 index 0000000000..383e674a69 --- /dev/null +++ b/.github/workflows/linux.yml @@ -0,0 +1,45 @@ +name: Linux CI + +# Controls when the action will run. Triggers the workflow on push or pull request +# events but only for the master branch +on: + push: + pull_request: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + # Submoudle + - name: Checkout Submodles + run: git submodule update --init --recursive + # Setup CMake + - name: Setup CMake + uses: Symbitic/install-cmake@v0.1.1 + with: + platform: linux + # Setup Packages + - name: Setup Packages + run: sudo apt update && sudo apt upgrade && sudo apt install p7zip-full build-essential git cmake ffmpeg libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libevdev-dev libusb-1.0-0-dev libxrandr-dev libxi-dev libpangocairo-1.0-0 qt6-base-private-dev libbluetooth-dev libasound2-dev libpulse-dev libgl1-mesa-dev libudev-dev libsystemd-dev dpkg-dev + # Run CMake + - name: Run CMake + run: mkdir build && cd build && cmake .. -G Ninja -DLINUX_LOCAL_DEV=true -DCPACK_PACKAGE_CONTACT="Mario Party Netplay" -DDISTRIBUTOR="Mario Party Netplay" + # Build Project + - name: Run Make + run: cd build && ninja -j$(nproc) + # Configure Dolphin + - name: Configure Dolphin + run: cd build && cp -r ../Data/Sys/ Binaries/ && cp -r ../Data/User/ Binaries/ && cp -r ../Data/dolphin-mpn.png Binaries/ && touch Binaries/portable.txt && mv Binaries/User Binaries/user + # Upload Artifact + - name: Upload Build Artifact + uses: actions/upload-artifact@v2 + with: + name: DolphinMPN-Linux + path: /home/runner/work/Dolphin-MPN/Dolphin-MPN/build/Binaries/ \ No newline at end of file diff --git a/.github/workflows/macOS.yml b/.github/workflows/macOS.yml new file mode 100644 index 0000000000..aee10dcfde --- /dev/null +++ b/.github/workflows/macOS.yml @@ -0,0 +1,45 @@ +name: macOS CI + +# Controls when the action will run. Triggers the workflow on push or pull request +# events but only for the master branch +on: + push: + pull_request: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: macos-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + # Submoudle + - name: Checkout Submodles + run: git submodule update --init --recursive + # Setup Packages + - name: Setup Packages + run: brew install qt6 p7zip pkgconfig + # Setup CMake + - name: Setup CMake + uses: Symbitic/install-cmake@v0.1.1 + with: + platform: mac + # Use Static ZSTD + - name: Remove ZSTD + run: brew uninstall zstd curl php --force --ignore-dependencies + # Run CMake + - name: Run CMake + run: mkdir -p build && cd build && cmake .. -G Ninja -DCMAKE_CXX_FLAGS="-Xclang -fcolor-diagnostics" -DCMAKE_PREFIX_PATH=$(brew --prefix qt6) -DDISTRIBUTOR="Mario Party Netplay" + # Build Project + - name: Run Ninja + run: cd build && ninja -j8 + # Upload Artifact + - name: Upload Build Artifact + uses: actions/upload-artifact@v2 + with: + name: DolphinMPN-macOS + path: /Users/runner/work/Dolphin-MPN/Dolphin-MPN/build/Binaries/ \ No newline at end of file diff --git a/.github/workflows/nsis.yml b/.github/workflows/nsis.yml new file mode 100644 index 0000000000..83f3090214 --- /dev/null +++ b/.github/workflows/nsis.yml @@ -0,0 +1,43 @@ +name: Windows NSIS CI + +# Controls when the action will run. Triggers the workflow on push or pull request +# events but only for the master branch +on: + push: + pull_request: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: windows-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + # Submoudle + - name: Checkout Submodles + run: git submodule update --init --recursive + # Setup MSBuild For Later Usage + - name: Setup MSBuild + uses: microsoft/setup-msbuild@v1.0.2 + with: + vs-version: '16.6.2' + # Run MSBuild + - name: Build Solution + run: msbuild "D:\a\Dolphin-MPN\Dolphin-MPN\Source\dolphin-emu.sln" /verbosity:minimal /property:Configuration=Release /property:Platform=x64 + # Package NSIS + - name: Package NSIS + uses: joncloud/makensis-action@v4 + with: + script-file: "D:/a/Dolphin-MPN/Dolphin-MPN/Installer/Installer.nsi" + arguments: "/DDOLPHIN_ARCH=x64 /PRODUCT_VERSION=MPN /V3" + + # Upload Artifact + - name: Upload Build Artifact + uses: actions/upload-artifact@v2 + with: + name: DolphinMPN-win32 + path: D:\a\Dolphin-MPN\Dolphin-MPN\Binary\x64 diff --git a/.github/workflows/win32.yml b/.github/workflows/win32.yml new file mode 100644 index 0000000000..e562ae4229 --- /dev/null +++ b/.github/workflows/win32.yml @@ -0,0 +1,36 @@ +name: Windows CI + +# Controls when the action will run. Triggers the workflow on push or pull request +# events but only for the master branch +on: + push: + pull_request: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: windows-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + # Submoudle + - name: Checkout Submodles + run: git submodule update --init --recursive + # Setup MSBuild For Later Usage + - name: Setup MSBuild + uses: microsoft/setup-msbuild@v1.0.2 + with: + vs-version: '16.6.2' + # Run MSBuild + - name: Build Solution + run: msbuild "D:\a\Dolphin-MPN\Dolphin-MPN\Source\dolphin-emu.sln" /verbosity:minimal /property:Configuration=Release /property:Platform=x64 + # Upload Artifact + - name: Upload Build Artifact + uses: actions/upload-artifact@v2 + with: + name: DolphinMPN-win32 + path: D:\a\Dolphin-MPN\Dolphin-MPN\Binary\x64 \ No newline at end of file diff --git a/.gitignore b/.gitignore index cebabd2c39..285ac20a02 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,8 @@ Source/Core/Common/scmrev.h # Ignore files output by build /[Bb]uild*/ /[Bb]inary*/ +/AppDir*/ +*.AppImage /obj/ # Ignore files output by Android cmake build /Source/Android/app/.cxx/ diff --git a/.tx/config b/.tx/config index bb16087edd..ae78002235 100644 --- a/.tx/config +++ b/.tx/config @@ -3,6 +3,6 @@ host = https://www.transifex.com [o:delroth:p:dolphin-emu:r:emulator] file_filter = Languages/po/.po -source_file = Languages/po/dolphin-emu.pot +source_file = Languages/po/dolphin-mpn.pot source_lang = en-US type = PO diff --git a/CMakeLists.txt b/CMakeLists.txt index 7fae23013c..9350343919 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -144,7 +144,7 @@ include(RemoveCompileFlag) set_property(GLOBAL PROPERTY USE_FOLDERS ON) # Set up paths -set(datadir ${CMAKE_INSTALL_FULL_DATADIR}/dolphin-emu CACHE PATH "datadir") +set(datadir ${CMAKE_INSTALL_FULL_DATADIR}/dolphin-mpn CACHE PATH "datadir") add_definitions(-DDATA_DIR="${datadir}/") if(CMAKE_SYSROOT) @@ -1035,9 +1035,9 @@ if(NOT CMAKE_SYSTEM_NAME MATCHES "Linux|FreeBSD|OpenBSD|Darwin") endif() if(CMAKE_SYSTEM_NAME MATCHES "Linux|FreeBSD|OpenBSD") # Install the application icon and menu item - install(FILES Data/dolphin-emu.png + install(FILES Data/dolphin-mpn.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/256x256/apps) - install(FILES Data/dolphin-emu.desktop + install(FILES Data/dolphin-mpn.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications) # Install manpages install(FILES Data/dolphin-emu.6 diff --git a/Data/dolphin-emu-nogui.6 b/Data/dolphin-emu-nogui.6 index b4ce639319..4f8bd98086 100644 --- a/Data/dolphin-emu-nogui.6 +++ b/Data/dolphin-emu-nogui.6 @@ -2,10 +2,10 @@ .Dt DOLPHIN-EMU-NOGUI 6 .Os .Sh NAME -.Nm dolphin-emu-nogui +.Nm dolphin-mpn-nogui .Nd Nintendo GameCube and Wii emulator .Sh SYNOPSIS -.Nm dolphin-emu-nogui +.Nm dolphin-mpn-nogui .Op Fl hv .Op Fl e Ar file .Sh DESCRIPTION diff --git a/Data/dolphin-emu.desktop b/Data/dolphin-mpn.desktop old mode 100644 new mode 100755 similarity index 65% rename from Data/dolphin-emu.desktop rename to Data/dolphin-mpn.desktop index a998ce4370..b04a65d29b --- a/Data/dolphin-emu.desktop +++ b/Data/dolphin-mpn.desktop @@ -1,10 +1,11 @@ +#!/usr/bin/env xdg-open [Desktop Entry] Version=1.0 -Icon=dolphin-emu -Exec=env QT_QPA_PLATFORM=xcb dolphin-emu +Icon=dolphin-mpn +Exec=dolphin-mpn Terminal=false Type=Application Categories=Game;Emulator; -Name=Dolphin Emulator +Name=Dolphin MPN GenericName=Wii/GameCube Emulator Comment=A Wii/GameCube Emulator diff --git a/Data/dolphin-emu.png b/Data/dolphin-mpn.png similarity index 100% rename from Data/dolphin-emu.png rename to Data/dolphin-mpn.png diff --git a/Externals/mGBA/mgba b/Externals/mGBA/mgba index 8739b22fbc..6dbd977c73 160000 --- a/Externals/mGBA/mgba +++ b/Externals/mGBA/mgba @@ -1 +1 @@ -Subproject commit 8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51 +Subproject commit 6dbd977c7376eef8fb92f197b9006817c27f7573 diff --git a/Installer/Discord.cpp b/Installer/Discord.cpp deleted file mode 100644 index e23ac6f53d..0000000000 --- a/Installer/Discord.cpp +++ /dev/null @@ -1,38 +0,0 @@ -#include "Discord.h" - -bool mpn_update_discord() -{ - if (!Memory::IsInitialized()) - return false; - - DiscordRichPresence RichPresence = {}; - - RichPresence.largeImageKey = CurrentState.Image ? CurrentState.Image : "default"; - RichPresence.largeImageText = CurrentState.Title ? CurrentState.Title : "In-Game"; - - if (CurrentState.Scenes != NULL && CurrentState.Scene != NULL) - RichPresence.state = CurrentState.Scene->Name.c_str(); - - if (CurrentState.Addresses != NULL) - { - char Details[128] = ""; - - if (CurrentState.Boards && CurrentState.Board) - { - snprintf(Details, sizeof(Details), "Turn: %d/%d", - mpn_read_value(CurrentState.Addresses->CurrentTurn, 1), - mpn_read_value(CurrentState.Addresses->TotalTurns, 1)); - RichPresence.smallImageKey = CurrentState.Board->Icon.c_str(); - RichPresence.smallImageText = CurrentState.Board->Name.c_str(); - } - else - { - RichPresence.smallImageKey = ""; - RichPresence.smallImageText = ""; - } - RichPresence.details = Details; - } - Discord_UpdatePresence(&RichPresence); - - return true; -} diff --git a/Installer/Installer.nsi b/Installer/Installer.nsi index f52497f8ce..f8e522d1f0 100644 --- a/Installer/Installer.nsi +++ b/Installer/Installer.nsi @@ -13,16 +13,16 @@ !error "PRODUCT_VERSION must be defined" !endif -!define PRODUCT_NAME "Dolphin" -!define PRODUCT_PUBLISHER "Dolphin Team" -!define PRODUCT_WEB_SITE "https://dolphin-emu.org/" +!define PRODUCT_NAME "Dolphin MPN" +!define PRODUCT_PUBLISHER "Mario Party Netplay" +!define PRODUCT_WEB_SITE "https://marioparty.online/" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\${PRODUCT_NAME}.exe" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define BINARY_SOURCE_DIR "..\Binary\${DOLPHIN_ARCH}" Name "${PRODUCT_NAME}" -OutFile "dolphin-${DOLPHIN_ARCH}-${PRODUCT_VERSION}.exe" +OutFile "DolphinMPN-Windows.exe" SetCompressor /SOLID lzma ShowInstDetails show ShowUnInstDetails show diff --git a/Languages/po/dolphin-emu.pot b/Languages/po/dolphin-mpn.pot similarity index 100% rename from Languages/po/dolphin-emu.pot rename to Languages/po/dolphin-mpn.pot diff --git a/Languages/po/en.po b/Languages/po/en.po index ae7c64a67e..6780a7ad89 100644 --- a/Languages/po/en.po +++ b/Languages/po/en.po @@ -546,8 +546,8 @@ msgstr "" msgid "&Pause" msgstr "" -#: Source/Core/DolphinQt/MenuBar.cpp:308 -msgid "&Local Play" +#: Source/Core/DolphinQt/MenuBar.cpp:299 +msgid "&Play" msgstr "" #: Source/Core/DolphinQt/GameList/GameList.cpp:399 @@ -4851,8 +4851,8 @@ msgstr "" #: Source/Core/DolphinQt/Settings/BroadbandAdapterSettingsDialog.cpp:65 msgid "" -"For setup instructions, refer to this page." +"For setup instructions, refer to this page." msgstr "" #: Source/Core/DolphinQt/Config/Graphics/GeneralWidget.cpp:60 diff --git a/Source/Core/Core/HW/GBACore.cpp b/Source/Core/Core/HW/GBACore.cpp index 5c8ac7b275..b3d69211e7 100644 --- a/Source/Core/Core/HW/GBACore.cpp +++ b/Source/Core/Core/HW/GBACore.cpp @@ -746,4 +746,4 @@ std::string Core::GetSavePath(std::string_view rom_path, int device_number) return save_path; } -} // namespace HW::GBA +} // namespace HW::GBA \ No newline at end of file diff --git a/Source/Core/DolphinNoGUI/CMakeLists.txt b/Source/Core/DolphinNoGUI/CMakeLists.txt index 202a612b5d..76b22a41f2 100644 --- a/Source/Core/DolphinNoGUI/CMakeLists.txt +++ b/Source/Core/DolphinNoGUI/CMakeLists.txt @@ -17,7 +17,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") target_sources(dolphin-nogui PRIVATE PlatformFBDev.cpp) endif() -set_target_properties(dolphin-nogui PROPERTIES OUTPUT_NAME dolphin-emu-nogui) +set_target_properties(dolphin-nogui PROPERTIES OUTPUT_NAME dolphin-mpn-nogui) target_link_libraries(dolphin-nogui PRIVATE diff --git a/Source/Core/DolphinQt/CMakeLists.txt b/Source/Core/DolphinQt/CMakeLists.txt index f4bbaf268d..41859cc9e2 100644 --- a/Source/Core/DolphinQt/CMakeLists.txt +++ b/Source/Core/DolphinQt/CMakeLists.txt @@ -24,7 +24,7 @@ message(STATUS "Found Qt version ${QT_VERSION}") set_property(TARGET Qt${QT_VERSION_MAJOR}::Core PROPERTY INTERFACE_COMPILE_FEATURES "") -add_executable(dolphin-emu +add_executable(dolphin-mpn AboutDialog.cpp AboutDialog.h CheatSearchFactoryWidget.cpp @@ -358,26 +358,26 @@ add_executable(dolphin-emu ) if (NOT WIN32) - target_sources(dolphin-emu PRIVATE + target_sources(dolphin-mpn PRIVATE QtUtils/SignalDaemon.cpp QtUtils/SignalDaemon.h ) endif() -target_compile_definitions(dolphin-emu +target_compile_definitions(dolphin-mpn PRIVATE -DQT_USE_QSTRINGBUILDER -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII ) -target_include_directories(dolphin-emu +target_include_directories(dolphin-mpn PRIVATE ${CMAKE_CURRENT_BINARY_DIR} ${Qt${QT_VERSION_MAJOR}Gui_PRIVATE_INCLUDE_DIRS} ) -target_link_libraries(dolphin-emu +target_link_libraries(dolphin-mpn PRIVATE core Qt${QT_VERSION_MAJOR}::Widgets @@ -387,7 +387,7 @@ PRIVATE ) if (WIN32) - target_link_libraries(dolphin-emu + target_link_libraries(dolphin-mpn PRIVATE gdi32.lib shell32.lib @@ -401,17 +401,17 @@ if (MSVC) list(TRANSFORM Qt6Gui_INCLUDE_DIRS PREPEND "/external:I" OUTPUT_VARIABLE qtGui) list(TRANSFORM Qt6Gui_PRIVATE_INCLUDE_DIRS PREPEND "/external:I" OUTPUT_VARIABLE qtGuiPriv) list(TRANSFORM Qt6Widgets_PRIVATE_INCLUDE_DIRS PREPEND "/external:I" OUTPUT_VARIABLE qtWidgetsPriv) - target_compile_options(dolphin-emu PRIVATE "${qtGui}") - target_compile_options(dolphin-emu PRIVATE "${qtGuiPriv}") - target_compile_options(dolphin-emu PRIVATE "${qtWidgets}") + target_compile_options(dolphin-mpn PRIVATE "${qtGui}") + target_compile_options(dolphin-mpn PRIVATE "${qtGuiPriv}") + target_compile_options(dolphin-mpn PRIVATE "${qtWidgets}") # Qt 6.3.0 headers use std::aligned_storage instead of alignas - target_compile_definitions(dolphin-emu PRIVATE _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING) + target_compile_definitions(dolphin-mpn PRIVATE _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING) if ("${QT_VERSION_MAJOR}" GREATER_EQUAL 6) # Qt6 requires RTTI - remove_cxx_flag_from_target(dolphin-emu "/GR-") - target_compile_options(dolphin-emu PRIVATE "/GR") + remove_cxx_flag_from_target(dolphin-mpn "/GR-") + target_compile_options(dolphin-mpn PRIVATE "/GR") else() # Add precompiled header target_link_libraries(audiocommon PRIVATE use_pch) @@ -419,31 +419,31 @@ if (MSVC) endif() if(WIN32) - target_sources(dolphin-emu PRIVATE DolphinQt.manifest DolphinQt.rc) + target_sources(dolphin-mpn PRIVATE DolphinQt.manifest DolphinQt.rc) - set_target_properties(dolphin-emu PROPERTIES + set_target_properties(dolphin-mpn PROPERTIES DEBUG_POSTFIX D OUTPUT_NAME Dolphin WIN32_EXECUTABLE TRUE ) # Copy Sys dir - add_custom_command(TARGET dolphin-emu POST_BUILD + add_custom_command(TARGET dolphin-mpn POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_SOURCE_DIR}/Data/Sys" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Sys" ) # Copy COPYING - add_custom_command(TARGET dolphin-emu POST_BUILD + add_custom_command(TARGET dolphin-mpn POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/COPYING" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/COPYING" ) # Copy Licenses dir - add_custom_command(TARGET dolphin-emu POST_BUILD + add_custom_command(TARGET dolphin-mpn POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_SOURCE_DIR}/LICENSES" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Licenses" ) # Copy qt.conf - add_custom_command(TARGET dolphin-emu POST_BUILD + add_custom_command(TARGET dolphin-mpn POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/qt.conf.win" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/qt.conf" ) @@ -473,7 +473,7 @@ if(WIN32) # means proper path variables will not be set up, thus the need to ensure they're # always set up. # - add_custom_command(TARGET dolphin-emu POST_BUILD + add_custom_command(TARGET dolphin-mpn POST_BUILD COMMAND "${CMAKE_COMMAND}" -E env PATH="${QT_BINARY_DIRECTORY}" "${WINDEPLOYQT_EXE}" --libdir="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" --plugindir="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/QtPlugins" @@ -483,7 +483,7 @@ if(WIN32) --no-system-d3d-compiler "${NO_ANGLE_PARAM}" --no-opengl-sw - "$" + "$" ) endif() @@ -496,10 +496,10 @@ if(WIN32 AND NOT Gettext_FOUND) endif() if(GETTEXT_MSGFMT_EXECUTABLE) - set(pot_file "${CMAKE_SOURCE_DIR}/Languages/po/dolphin-emu.pot") + set(pot_file "${CMAKE_SOURCE_DIR}/Languages/po/dolphin-mpn.pot") file(GLOB LINGUAS ${CMAKE_SOURCE_DIR}/Languages/po/*.po) - target_sources(dolphin-emu PRIVATE ${pot_file} ${LINGUAS}) + target_sources(dolphin-mpn PRIVATE ${pot_file} ${LINGUAS}) source_group("Localization" FILES ${LINGUAS}) source_group("Localization\\\\Generated" FILES ${pot_file}) @@ -510,10 +510,10 @@ if(GETTEXT_MSGFMT_EXECUTABLE) set(mo ${mo_dir}/${lang}.mo) else() set(mo_dir ${CMAKE_CURRENT_BINARY_DIR}/${lang}) - set(mo ${mo_dir}/dolphin-emu.mo) + set(mo ${mo_dir}/dolphin-mpn.mo) endif() - target_sources(dolphin-emu PRIVATE ${mo}) + target_sources(dolphin-mpn PRIVATE ${mo}) source_group("Localization\\\\Generated" FILES ${mo}) if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") @@ -544,7 +544,7 @@ if(APPLE) set(BUNDLE_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Dolphin.app) # Ask for an application bundle. - set_target_properties(dolphin-emu PROPERTIES + set_target_properties(dolphin-mpn PROPERTIES MACOSX_BUNDLE true MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_CURRENT_SOURCE_DIR}/DolphinEmu.entitlements" @@ -553,11 +553,11 @@ if(APPLE) ) # Copy qt.conf into the bundle - target_sources(dolphin-emu PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/qt.conf") + target_sources(dolphin-mpn PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/qt.conf") set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/qt.conf" PROPERTIES MACOSX_PACKAGE_LOCATION Resources) # Copy icon into the bundle - target_sources(dolphin-emu PRIVATE "${CMAKE_SOURCE_DIR}/Data/Dolphin.icns") + target_sources(dolphin-mpn PRIVATE "${CMAKE_SOURCE_DIR}/Data/Dolphin.icns") set_source_files_properties("${CMAKE_SOURCE_DIR}/Data/Dolphin.icns" PROPERTIES MACOSX_PACKAGE_LOCATION Resources) # Plugins have to be manually included with Qt 6 @@ -568,18 +568,18 @@ if(APPLE) # Copy Qt plugins into the bundle get_target_property(qtcocoa_location Qt${QT_VERSION_MAJOR}::QCocoaIntegrationPlugin LOCATION) - target_sources(dolphin-emu PRIVATE "${qtcocoa_location}") + target_sources(dolphin-mpn PRIVATE "${qtcocoa_location}") set_source_files_properties("${qtcocoa_location}" PROPERTIES MACOSX_PACKAGE_LOCATION MacOS/platforms) get_target_property(qtmacstyle_location Qt${QT_VERSION_MAJOR}::QMacStylePlugin LOCATION) - target_sources(dolphin-emu PRIVATE "${qtmacstyle_location}") + target_sources(dolphin-mpn PRIVATE "${qtmacstyle_location}") set_source_files_properties("${qtmacstyle_location}" PROPERTIES MACOSX_PACKAGE_LOCATION MacOS/styles) # Copy resources into the bundle set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${CMAKE_SOURCE_DIR}/Data/Sys") file(GLOB_RECURSE resources RELATIVE "${CMAKE_SOURCE_DIR}/Data" "${CMAKE_SOURCE_DIR}/Data/Sys/*") foreach(res ${resources}) - target_sources(dolphin-emu PRIVATE "${CMAKE_SOURCE_DIR}/Data/${res}") + target_sources(dolphin-mpn PRIVATE "${CMAKE_SOURCE_DIR}/Data/${res}") get_filename_component(resdir "${res}" DIRECTORY) set_source_files_properties("${CMAKE_SOURCE_DIR}/Data/${res}" PROPERTIES MACOSX_PACKAGE_LOCATION "Resources/${resdir}") @@ -589,16 +589,16 @@ if(APPLE) # Copy MoltenVK into the bundle if(ENABLE_VULKAN) if(USE_BUNDLED_MOLTENVK) - add_dependencies(dolphin-emu MoltenVK) + add_dependencies(dolphin-mpn MoltenVK) ExternalProject_Get_Property(MoltenVK SOURCE_DIR) - target_sources(dolphin-emu PRIVATE "${SOURCE_DIR}/Package/Release/MoltenVK/dylib/macOS/libMoltenVK.dylib") + target_sources(dolphin-mpn PRIVATE "${SOURCE_DIR}/Package/Release/MoltenVK/dylib/macOS/libMoltenVK.dylib") set_source_files_properties("${SOURCE_DIR}/Package/Release/MoltenVK/dylib/macOS/libMoltenVK.dylib" PROPERTIES MACOSX_PACKAGE_LOCATION Frameworks GENERATED ON) else() find_file(MOLTENVK_DYLIB NAMES libMoltenVK.dylib PATH_SUFFIXES lib) if(NOT MOLTENVK_DYLIB) message(FATAL_ERROR "Couldn't find libMoltenVK.dylib. Enable USE_BUNDLED_MOLTENVK?") endif() - target_sources(dolphin-emu PRIVATE ${MOLTENVK_DYLIB}) + target_sources(dolphin-mpn PRIVATE ${MOLTENVK_DYLIB}) set_source_files_properties(${MOLTENVK_DYLIB} PROPERTIES MACOSX_PACKAGE_LOCATION Frameworks) endif() endif() @@ -606,39 +606,39 @@ if(APPLE) if(NOT SKIP_POSTPROCESS_BUNDLE) # Update library references to make the bundle portable include(DolphinPostprocessBundle) - dolphin_postprocess_bundle(dolphin-emu) + dolphin_postprocess_bundle(dolphin-mpn) # Fix rpath - add_custom_command(TARGET dolphin-emu + add_custom_command(TARGET dolphin-mpn POST_BUILD COMMAND ${CMAKE_INSTALL_NAME_TOOL} -add_rpath "@executable_path/../Frameworks/" - $) + $) endif() if(MACOS_CODE_SIGNING) # Code sign make file builds - add_custom_command(TARGET dolphin-emu POST_BUILD - COMMAND /usr/bin/codesign -f -s "${MACOS_CODE_SIGNING_IDENTITY}" --deep --options=runtime --entitlements "${CMAKE_SOURCE_DIR}/Source/Core/DolphinQt/DolphinEmu$<$:Debug>.entitlements" "$") + add_custom_command(TARGET dolphin-mpn POST_BUILD + COMMAND /usr/bin/codesign -f -s "${MACOS_CODE_SIGNING_IDENTITY}" --deep --options=runtime --entitlements "${CMAKE_SOURCE_DIR}/Source/Core/DolphinQt/DolphinEmu$<$:Debug>.entitlements" "$") endif() else() - install(TARGETS dolphin-emu RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + install(TARGETS dolphin-mpn RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND STEAM) # Set that we want ORIGIN in FLAGS. # We also want RPATH, not RUNPATH, so disable the new tags. - target_link_options(dolphin-emu + target_link_options(dolphin-mpn PRIVATE LINKER:-z,origin LINKER:--disable-new-dtags ) # For Steam Runtime builds, our Qt shared libraries will be in a "lib" folder. - set_target_properties(dolphin-emu PROPERTIES + set_target_properties(dolphin-mpn PROPERTIES BUILD_WITH_INSTALL_RPATH true INSTALL_RPATH "\$ORIGIN/lib" ) - add_custom_command(TARGET dolphin-emu POST_BUILD + add_custom_command(TARGET dolphin-mpn POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib" COMMAND cp "${QT_DIR}/../../LICENSE.*" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib" COMMAND cp -P "${QT_DIR}/../../*.so*" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib" @@ -646,8 +646,8 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND STEAM) ) # Copy qt.conf - target_sources(dolphin-emu PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/qt.conf") - add_custom_command(TARGET dolphin-emu POST_BUILD + target_sources(dolphin-mpn PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/qt.conf") + add_custom_command(TARGET dolphin-mpn POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/qt.conf" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/qt.conf" ) @@ -655,18 +655,18 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND STEAM) set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${CMAKE_SOURCE_DIR}/Data/Sys") file(GLOB_RECURSE resources RELATIVE "${CMAKE_SOURCE_DIR}/Data" "${CMAKE_SOURCE_DIR}/Data/Sys/*") foreach(res ${resources}) - target_sources(dolphin-emu PRIVATE "${CMAKE_SOURCE_DIR}/Data/${res}") + target_sources(dolphin-mpn PRIVATE "${CMAKE_SOURCE_DIR}/Data/${res}") source_group("Resources" FILES "${CMAKE_SOURCE_DIR}/Data/${res}") endforeach() # Copy Sys folder - add_custom_command(TARGET dolphin-emu POST_BUILD + add_custom_command(TARGET dolphin-mpn POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_SOURCE_DIR}/Data/Sys" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Sys" ) endif() if(USE_MGBA) - target_sources(dolphin-emu PRIVATE + target_sources(dolphin-mpn PRIVATE GBAHost.cpp GBAHost.h GBAWidget.cpp @@ -675,10 +675,10 @@ if(USE_MGBA) endif() if(USE_DISCORD_PRESENCE) - target_compile_definitions(dolphin-emu PRIVATE -DUSE_DISCORD_PRESENCE) + target_compile_definitions(dolphin-mpn PRIVATE -DUSE_DISCORD_PRESENCE) endif() if(USE_RETRO_ACHIEVEMENTS) - target_link_libraries(dolphin-emu PRIVATE rcheevos) - target_compile_definitions(dolphin-emu PRIVATE -DUSE_RETRO_ACHIEVEMENTS) + target_link_libraries(dolphin-mpn PRIVATE rcheevos) + target_compile_definitions(dolphin-mpn PRIVATE -DUSE_RETRO_ACHIEVEMENTS) endif()