Add files via upload

This commit is contained in:
Nayla 2023-04-24 19:47:02 -04:00 committed by Nayla Hanegan
commit d5306ae87d
20 changed files with 308 additions and 117 deletions

View file

@ -3,9 +3,9 @@ branch: master
runtime: org.kde.Platform runtime: org.kde.Platform
runtime-version: 5.15 runtime-version: 5.15
sdk: org.kde.Sdk sdk: org.kde.Sdk
command: dolphin-emu-wrapper command: dolphin-mpn-wrapper
rename-desktop-file: dolphin-emu.desktop rename-desktop-file: dolphin-mpn.desktop
rename-icon: dolphin-emu rename-icon: dolphin-mpn
finish-args: finish-args:
- --device=all # need for controllers - --device=all # need for controllers
# the file picker uses portals but the set # the file picker uses portals but the set
@ -106,11 +106,11 @@ modules:
cleanup: cleanup:
- /share/man - /share/man
post-install: post-install:
- install -D -t ${FLATPAK_DEST}/bin/ dolphin-emu-wrapper - install -D -t ${FLATPAK_DEST}/bin/ dolphin-mpn-wrapper
- desktop-file-edit --set-key=Exec --set-value='/app/bin/dolphin-emu-wrapper' - desktop-file-edit --set-key=Exec --set-value='/app/bin/dolphin-mpn-wrapper'
/app/share/applications/dolphin-emu.desktop /app/share/applications/dolphin-mpn.desktop
- desktop-file-edit --set-key=Name --set-value='Dolphin MPN' - desktop-file-edit --set-key=Name --set-value='Dolphin MPN'
/app/share/applications/dolphin-emu.desktop /app/share/applications/dolphin-mpn.desktop
sources: sources:
- type: git - type: git
url: https://github.com/MarioPartyNetplay/Dolphin-MPN-src.git url: https://github.com/MarioPartyNetplay/Dolphin-MPN-src.git
@ -127,5 +127,5 @@ modules:
test -S $XDG_RUNTIME_DIR/discord-ipc-$i || test -S $XDG_RUNTIME_DIR/discord-ipc-$i ||
ln -sf {app/com.discordapp.Discord,$XDG_RUNTIME_DIR}/discord-ipc-$i; ln -sf {app/com.discordapp.Discord,$XDG_RUNTIME_DIR}/discord-ipc-$i;
done done
dolphin-emu "$@" dolphin-mpn "$@"
dest-filename: dolphin-emu-wrapper dest-filename: dolphin-mpn-wrapper

57
.github/workflows/appimage.yml vendored Normal file
View file

@ -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/

45
.github/workflows/linux.yml vendored Normal file
View file

@ -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/

45
.github/workflows/macOS.yml vendored Normal file
View file

@ -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/

43
.github/workflows/nsis.yml vendored Normal file
View file

@ -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

36
.github/workflows/win32.yml vendored Normal file
View file

@ -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

2
.gitignore vendored
View file

@ -8,6 +8,8 @@ Source/Core/Common/scmrev.h
# Ignore files output by build # Ignore files output by build
/[Bb]uild*/ /[Bb]uild*/
/[Bb]inary*/ /[Bb]inary*/
/AppDir*/
*.AppImage
/obj/ /obj/
# Ignore files output by Android cmake build # Ignore files output by Android cmake build
/Source/Android/app/.cxx/ /Source/Android/app/.cxx/

View file

@ -3,6 +3,6 @@ host = https://www.transifex.com
[o:delroth:p:dolphin-emu:r:emulator] [o:delroth:p:dolphin-emu:r:emulator]
file_filter = Languages/po/<lang>.po file_filter = Languages/po/<lang>.po
source_file = Languages/po/dolphin-emu.pot source_file = Languages/po/dolphin-mpn.pot
source_lang = en-US source_lang = en-US
type = PO type = PO

View file

@ -144,7 +144,7 @@ include(RemoveCompileFlag)
set_property(GLOBAL PROPERTY USE_FOLDERS ON) set_property(GLOBAL PROPERTY USE_FOLDERS ON)
# Set up paths # 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}/") add_definitions(-DDATA_DIR="${datadir}/")
if(CMAKE_SYSROOT) if(CMAKE_SYSROOT)
@ -1035,9 +1035,9 @@ if(NOT CMAKE_SYSTEM_NAME MATCHES "Linux|FreeBSD|OpenBSD|Darwin")
endif() endif()
if(CMAKE_SYSTEM_NAME MATCHES "Linux|FreeBSD|OpenBSD") if(CMAKE_SYSTEM_NAME MATCHES "Linux|FreeBSD|OpenBSD")
# Install the application icon and menu item # 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) 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) DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications)
# Install manpages # Install manpages
install(FILES Data/dolphin-emu.6 install(FILES Data/dolphin-emu.6

View file

@ -2,10 +2,10 @@
.Dt DOLPHIN-EMU-NOGUI 6 .Dt DOLPHIN-EMU-NOGUI 6
.Os .Os
.Sh NAME .Sh NAME
.Nm dolphin-emu-nogui .Nm dolphin-mpn-nogui
.Nd Nintendo GameCube and Wii emulator .Nd Nintendo GameCube and Wii emulator
.Sh SYNOPSIS .Sh SYNOPSIS
.Nm dolphin-emu-nogui .Nm dolphin-mpn-nogui
.Op Fl hv .Op Fl hv
.Op Fl e Ar file .Op Fl e Ar file
.Sh DESCRIPTION .Sh DESCRIPTION

7
Data/dolphin-emu.desktop → Data/dolphin-mpn.desktop Normal file → Executable file
View file

@ -1,10 +1,11 @@
#!/usr/bin/env xdg-open
[Desktop Entry] [Desktop Entry]
Version=1.0 Version=1.0
Icon=dolphin-emu Icon=dolphin-mpn
Exec=env QT_QPA_PLATFORM=xcb dolphin-emu Exec=dolphin-mpn
Terminal=false Terminal=false
Type=Application Type=Application
Categories=Game;Emulator; Categories=Game;Emulator;
Name=Dolphin Emulator Name=Dolphin MPN
GenericName=Wii/GameCube Emulator GenericName=Wii/GameCube Emulator
Comment=A Wii/GameCube Emulator Comment=A Wii/GameCube Emulator

View file

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 49 KiB

Before After
Before After

2
Externals/mGBA/mgba vendored

@ -1 +1 @@
Subproject commit 8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51 Subproject commit 6dbd977c7376eef8fb92f197b9006817c27f7573

View file

@ -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;
}

View file

@ -13,16 +13,16 @@
!error "PRODUCT_VERSION must be defined" !error "PRODUCT_VERSION must be defined"
!endif !endif
!define PRODUCT_NAME "Dolphin" !define PRODUCT_NAME "Dolphin MPN"
!define PRODUCT_PUBLISHER "Dolphin Team" !define PRODUCT_PUBLISHER "Mario Party Netplay"
!define PRODUCT_WEB_SITE "https://dolphin-emu.org/" !define PRODUCT_WEB_SITE "https://marioparty.online/"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\${PRODUCT_NAME}.exe" !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 PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define BINARY_SOURCE_DIR "..\Binary\${DOLPHIN_ARCH}" !define BINARY_SOURCE_DIR "..\Binary\${DOLPHIN_ARCH}"
Name "${PRODUCT_NAME}" Name "${PRODUCT_NAME}"
OutFile "dolphin-${DOLPHIN_ARCH}-${PRODUCT_VERSION}.exe" OutFile "DolphinMPN-Windows.exe"
SetCompressor /SOLID lzma SetCompressor /SOLID lzma
ShowInstDetails show ShowInstDetails show
ShowUnInstDetails show ShowUnInstDetails show

View file

@ -546,8 +546,8 @@ msgstr ""
msgid "&Pause" msgid "&Pause"
msgstr "" msgstr ""
#: Source/Core/DolphinQt/MenuBar.cpp:308 #: Source/Core/DolphinQt/MenuBar.cpp:299
msgid "&Local Play" msgid "&Play"
msgstr "" msgstr ""
#: Source/Core/DolphinQt/GameList/GameList.cpp:399 #: Source/Core/DolphinQt/GameList/GameList.cpp:399
@ -4851,8 +4851,8 @@ msgstr ""
#: Source/Core/DolphinQt/Settings/BroadbandAdapterSettingsDialog.cpp:65 #: Source/Core/DolphinQt/Settings/BroadbandAdapterSettingsDialog.cpp:65
msgid "" msgid ""
"For setup instructions, <a href=\"https://www.teamxlink.co.uk/wiki/Dolphin" "For setup instructions, <a href=\"https://www.teamxlink.co.uk/wiki/"
"\">refer to this page</a>." "Dolphin\">refer to this page</a>."
msgstr "" msgstr ""
#: Source/Core/DolphinQt/Config/Graphics/GeneralWidget.cpp:60 #: Source/Core/DolphinQt/Config/Graphics/GeneralWidget.cpp:60

View file

@ -746,4 +746,4 @@ std::string Core::GetSavePath(std::string_view rom_path, int device_number)
return save_path; return save_path;
} }
} // namespace HW::GBA } // namespace HW::GBA

View file

@ -17,7 +17,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
target_sources(dolphin-nogui PRIVATE PlatformFBDev.cpp) target_sources(dolphin-nogui PRIVATE PlatformFBDev.cpp)
endif() 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 target_link_libraries(dolphin-nogui
PRIVATE PRIVATE

View file

@ -24,7 +24,7 @@ message(STATUS "Found Qt version ${QT_VERSION}")
set_property(TARGET Qt${QT_VERSION_MAJOR}::Core PROPERTY INTERFACE_COMPILE_FEATURES "") set_property(TARGET Qt${QT_VERSION_MAJOR}::Core PROPERTY INTERFACE_COMPILE_FEATURES "")
add_executable(dolphin-emu add_executable(dolphin-mpn
AboutDialog.cpp AboutDialog.cpp
AboutDialog.h AboutDialog.h
CheatSearchFactoryWidget.cpp CheatSearchFactoryWidget.cpp
@ -358,26 +358,26 @@ add_executable(dolphin-emu
) )
if (NOT WIN32) if (NOT WIN32)
target_sources(dolphin-emu PRIVATE target_sources(dolphin-mpn PRIVATE
QtUtils/SignalDaemon.cpp QtUtils/SignalDaemon.cpp
QtUtils/SignalDaemon.h QtUtils/SignalDaemon.h
) )
endif() endif()
target_compile_definitions(dolphin-emu target_compile_definitions(dolphin-mpn
PRIVATE PRIVATE
-DQT_USE_QSTRINGBUILDER -DQT_USE_QSTRINGBUILDER
-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_ASCII
-DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_TO_ASCII
) )
target_include_directories(dolphin-emu target_include_directories(dolphin-mpn
PRIVATE PRIVATE
${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}
${Qt${QT_VERSION_MAJOR}Gui_PRIVATE_INCLUDE_DIRS} ${Qt${QT_VERSION_MAJOR}Gui_PRIVATE_INCLUDE_DIRS}
) )
target_link_libraries(dolphin-emu target_link_libraries(dolphin-mpn
PRIVATE PRIVATE
core core
Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Widgets
@ -387,7 +387,7 @@ PRIVATE
) )
if (WIN32) if (WIN32)
target_link_libraries(dolphin-emu target_link_libraries(dolphin-mpn
PRIVATE PRIVATE
gdi32.lib gdi32.lib
shell32.lib shell32.lib
@ -401,17 +401,17 @@ if (MSVC)
list(TRANSFORM Qt6Gui_INCLUDE_DIRS PREPEND "/external:I" OUTPUT_VARIABLE qtGui) 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 Qt6Gui_PRIVATE_INCLUDE_DIRS PREPEND "/external:I" OUTPUT_VARIABLE qtGuiPriv)
list(TRANSFORM Qt6Widgets_PRIVATE_INCLUDE_DIRS PREPEND "/external:I" OUTPUT_VARIABLE qtWidgetsPriv) list(TRANSFORM Qt6Widgets_PRIVATE_INCLUDE_DIRS PREPEND "/external:I" OUTPUT_VARIABLE qtWidgetsPriv)
target_compile_options(dolphin-emu PRIVATE "${qtGui}") target_compile_options(dolphin-mpn PRIVATE "${qtGui}")
target_compile_options(dolphin-emu PRIVATE "${qtGuiPriv}") target_compile_options(dolphin-mpn PRIVATE "${qtGuiPriv}")
target_compile_options(dolphin-emu PRIVATE "${qtWidgets}") target_compile_options(dolphin-mpn PRIVATE "${qtWidgets}")
# Qt 6.3.0 headers use std::aligned_storage instead of alignas # 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) if ("${QT_VERSION_MAJOR}" GREATER_EQUAL 6)
# Qt6 requires RTTI # Qt6 requires RTTI
remove_cxx_flag_from_target(dolphin-emu "/GR-") remove_cxx_flag_from_target(dolphin-mpn "/GR-")
target_compile_options(dolphin-emu PRIVATE "/GR") target_compile_options(dolphin-mpn PRIVATE "/GR")
else() else()
# Add precompiled header # Add precompiled header
target_link_libraries(audiocommon PRIVATE use_pch) target_link_libraries(audiocommon PRIVATE use_pch)
@ -419,31 +419,31 @@ if (MSVC)
endif() endif()
if(WIN32) 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 DEBUG_POSTFIX D
OUTPUT_NAME Dolphin OUTPUT_NAME Dolphin
WIN32_EXECUTABLE TRUE WIN32_EXECUTABLE TRUE
) )
# Copy Sys dir # 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" COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_SOURCE_DIR}/Data/Sys" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Sys"
) )
# Copy COPYING # 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" COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/COPYING" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/COPYING"
) )
# Copy Licenses dir # 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" COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_SOURCE_DIR}/LICENSES" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Licenses"
) )
# Copy qt.conf # 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" 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 # means proper path variables will not be set up, thus the need to ensure they're
# always set up. # 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}" COMMAND "${CMAKE_COMMAND}" -E env PATH="${QT_BINARY_DIRECTORY}"
"${WINDEPLOYQT_EXE}" --libdir="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" "${WINDEPLOYQT_EXE}" --libdir="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}"
--plugindir="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/QtPlugins" --plugindir="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/QtPlugins"
@ -483,7 +483,7 @@ if(WIN32)
--no-system-d3d-compiler --no-system-d3d-compiler
"${NO_ANGLE_PARAM}" "${NO_ANGLE_PARAM}"
--no-opengl-sw --no-opengl-sw
"$<TARGET_FILE:dolphin-emu>" "$<TARGET_FILE:dolphin-mpn>"
) )
endif() endif()
@ -496,10 +496,10 @@ if(WIN32 AND NOT Gettext_FOUND)
endif() endif()
if(GETTEXT_MSGFMT_EXECUTABLE) 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) 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" FILES ${LINGUAS})
source_group("Localization\\\\Generated" FILES ${pot_file}) source_group("Localization\\\\Generated" FILES ${pot_file})
@ -510,10 +510,10 @@ if(GETTEXT_MSGFMT_EXECUTABLE)
set(mo ${mo_dir}/${lang}.mo) set(mo ${mo_dir}/${lang}.mo)
else() else()
set(mo_dir ${CMAKE_CURRENT_BINARY_DIR}/${lang}) set(mo_dir ${CMAKE_CURRENT_BINARY_DIR}/${lang})
set(mo ${mo_dir}/dolphin-emu.mo) set(mo ${mo_dir}/dolphin-mpn.mo)
endif() endif()
target_sources(dolphin-emu PRIVATE ${mo}) target_sources(dolphin-mpn PRIVATE ${mo})
source_group("Localization\\\\Generated" FILES ${mo}) source_group("Localization\\\\Generated" FILES ${mo})
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
@ -544,7 +544,7 @@ if(APPLE)
set(BUNDLE_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Dolphin.app) set(BUNDLE_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Dolphin.app)
# Ask for an application bundle. # Ask for an application bundle.
set_target_properties(dolphin-emu PROPERTIES set_target_properties(dolphin-mpn PROPERTIES
MACOSX_BUNDLE true MACOSX_BUNDLE true
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in
XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_CURRENT_SOURCE_DIR}/DolphinEmu.entitlements" XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_CURRENT_SOURCE_DIR}/DolphinEmu.entitlements"
@ -553,11 +553,11 @@ if(APPLE)
) )
# Copy qt.conf into the bundle # 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) set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/qt.conf" PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
# Copy icon into the bundle # 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) set_source_files_properties("${CMAKE_SOURCE_DIR}/Data/Dolphin.icns" PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
# Plugins have to be manually included with Qt 6 # Plugins have to be manually included with Qt 6
@ -568,18 +568,18 @@ if(APPLE)
# Copy Qt plugins into the bundle # Copy Qt plugins into the bundle
get_target_property(qtcocoa_location Qt${QT_VERSION_MAJOR}::QCocoaIntegrationPlugin LOCATION) 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) set_source_files_properties("${qtcocoa_location}" PROPERTIES MACOSX_PACKAGE_LOCATION MacOS/platforms)
get_target_property(qtmacstyle_location Qt${QT_VERSION_MAJOR}::QMacStylePlugin LOCATION) 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) set_source_files_properties("${qtmacstyle_location}" PROPERTIES MACOSX_PACKAGE_LOCATION MacOS/styles)
# Copy resources into the bundle # Copy resources into the bundle
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${CMAKE_SOURCE_DIR}/Data/Sys") 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/*") file(GLOB_RECURSE resources RELATIVE "${CMAKE_SOURCE_DIR}/Data" "${CMAKE_SOURCE_DIR}/Data/Sys/*")
foreach(res ${resources}) 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) get_filename_component(resdir "${res}" DIRECTORY)
set_source_files_properties("${CMAKE_SOURCE_DIR}/Data/${res}" PROPERTIES set_source_files_properties("${CMAKE_SOURCE_DIR}/Data/${res}" PROPERTIES
MACOSX_PACKAGE_LOCATION "Resources/${resdir}") MACOSX_PACKAGE_LOCATION "Resources/${resdir}")
@ -589,16 +589,16 @@ if(APPLE)
# Copy MoltenVK into the bundle # Copy MoltenVK into the bundle
if(ENABLE_VULKAN) if(ENABLE_VULKAN)
if(USE_BUNDLED_MOLTENVK) if(USE_BUNDLED_MOLTENVK)
add_dependencies(dolphin-emu MoltenVK) add_dependencies(dolphin-mpn MoltenVK)
ExternalProject_Get_Property(MoltenVK SOURCE_DIR) 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) set_source_files_properties("${SOURCE_DIR}/Package/Release/MoltenVK/dylib/macOS/libMoltenVK.dylib" PROPERTIES MACOSX_PACKAGE_LOCATION Frameworks GENERATED ON)
else() else()
find_file(MOLTENVK_DYLIB NAMES libMoltenVK.dylib PATH_SUFFIXES lib) find_file(MOLTENVK_DYLIB NAMES libMoltenVK.dylib PATH_SUFFIXES lib)
if(NOT MOLTENVK_DYLIB) if(NOT MOLTENVK_DYLIB)
message(FATAL_ERROR "Couldn't find libMoltenVK.dylib. Enable USE_BUNDLED_MOLTENVK?") message(FATAL_ERROR "Couldn't find libMoltenVK.dylib. Enable USE_BUNDLED_MOLTENVK?")
endif() 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) set_source_files_properties(${MOLTENVK_DYLIB} PROPERTIES MACOSX_PACKAGE_LOCATION Frameworks)
endif() endif()
endif() endif()
@ -606,39 +606,39 @@ if(APPLE)
if(NOT SKIP_POSTPROCESS_BUNDLE) if(NOT SKIP_POSTPROCESS_BUNDLE)
# Update library references to make the bundle portable # Update library references to make the bundle portable
include(DolphinPostprocessBundle) include(DolphinPostprocessBundle)
dolphin_postprocess_bundle(dolphin-emu) dolphin_postprocess_bundle(dolphin-mpn)
# Fix rpath # Fix rpath
add_custom_command(TARGET dolphin-emu add_custom_command(TARGET dolphin-mpn
POST_BUILD COMMAND POST_BUILD COMMAND
${CMAKE_INSTALL_NAME_TOOL} -add_rpath "@executable_path/../Frameworks/" ${CMAKE_INSTALL_NAME_TOOL} -add_rpath "@executable_path/../Frameworks/"
$<TARGET_FILE:dolphin-emu>) $<TARGET_FILE:dolphin-mpn>)
endif() endif()
if(MACOS_CODE_SIGNING) if(MACOS_CODE_SIGNING)
# Code sign make file builds # Code sign make file builds
add_custom_command(TARGET dolphin-emu POST_BUILD 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$<$<CONFIG:Debug>:Debug>.entitlements" "$<TARGET_BUNDLE_DIR:dolphin-emu>") COMMAND /usr/bin/codesign -f -s "${MACOS_CODE_SIGNING_IDENTITY}" --deep --options=runtime --entitlements "${CMAKE_SOURCE_DIR}/Source/Core/DolphinQt/DolphinEmu$<$<CONFIG:Debug>:Debug>.entitlements" "$<TARGET_BUNDLE_DIR:dolphin-mpn>")
endif() endif()
else() else()
install(TARGETS dolphin-emu RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) install(TARGETS dolphin-mpn RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
endif() endif()
if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND STEAM) if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND STEAM)
# Set that we want ORIGIN in FLAGS. # Set that we want ORIGIN in FLAGS.
# We also want RPATH, not RUNPATH, so disable the new tags. # We also want RPATH, not RUNPATH, so disable the new tags.
target_link_options(dolphin-emu target_link_options(dolphin-mpn
PRIVATE PRIVATE
LINKER:-z,origin LINKER:-z,origin
LINKER:--disable-new-dtags LINKER:--disable-new-dtags
) )
# For Steam Runtime builds, our Qt shared libraries will be in a "lib" folder. # 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 BUILD_WITH_INSTALL_RPATH true
INSTALL_RPATH "\$ORIGIN/lib" 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 ${CMAKE_COMMAND} -E make_directory "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib"
COMMAND cp "${QT_DIR}/../../LICENSE.*" "${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" 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 # Copy qt.conf
target_sources(dolphin-emu PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/qt.conf") target_sources(dolphin-mpn PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/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" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/qt.conf" 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") 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/*") file(GLOB_RECURSE resources RELATIVE "${CMAKE_SOURCE_DIR}/Data" "${CMAKE_SOURCE_DIR}/Data/Sys/*")
foreach(res ${resources}) 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}") source_group("Resources" FILES "${CMAKE_SOURCE_DIR}/Data/${res}")
endforeach() endforeach()
# Copy Sys folder # 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" COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_SOURCE_DIR}/Data/Sys" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Sys"
) )
endif() endif()
if(USE_MGBA) if(USE_MGBA)
target_sources(dolphin-emu PRIVATE target_sources(dolphin-mpn PRIVATE
GBAHost.cpp GBAHost.cpp
GBAHost.h GBAHost.h
GBAWidget.cpp GBAWidget.cpp
@ -675,10 +675,10 @@ if(USE_MGBA)
endif() endif()
if(USE_DISCORD_PRESENCE) if(USE_DISCORD_PRESENCE)
target_compile_definitions(dolphin-emu PRIVATE -DUSE_DISCORD_PRESENCE) target_compile_definitions(dolphin-mpn PRIVATE -DUSE_DISCORD_PRESENCE)
endif() endif()
if(USE_RETRO_ACHIEVEMENTS) if(USE_RETRO_ACHIEVEMENTS)
target_link_libraries(dolphin-emu PRIVATE rcheevos) target_link_libraries(dolphin-mpn PRIVATE rcheevos)
target_compile_definitions(dolphin-emu PRIVATE -DUSE_RETRO_ACHIEVEMENTS) target_compile_definitions(dolphin-mpn PRIVATE -DUSE_RETRO_ACHIEVEMENTS)
endif() endif()