2021-04-25 00:18:28 +00:00
|
|
|
if(POLICY CMP0084)
|
|
|
|
# Disable trying to search for Qt3/4 if what we actually want is not found
|
|
|
|
cmake_policy(SET CMP0084 NEW)
|
|
|
|
endif()
|
|
|
|
|
2023-01-29 08:03:34 +00:00
|
|
|
if (MSVC)
|
2020-01-04 09:08:42 +00:00
|
|
|
if(_M_ARM_64)
|
2023-05-24 19:50:35 +00:00
|
|
|
list(APPEND CMAKE_PREFIX_PATH "${CMAKE_SOURCE_DIR}/Externals/Qt/Qt6.5.1/ARM64")
|
2020-01-04 09:08:42 +00:00
|
|
|
else()
|
2023-05-24 19:50:35 +00:00
|
|
|
list(APPEND CMAKE_PREFIX_PATH "${CMAKE_SOURCE_DIR}/Externals/Qt/Qt6.5.1/x64")
|
2020-01-04 09:08:42 +00:00
|
|
|
endif()
|
2019-05-11 22:41:45 +00:00
|
|
|
endif()
|
|
|
|
|
2021-04-25 00:18:28 +00:00
|
|
|
set(CMAKE_AUTOMOC ON)
|
2023-07-30 22:22:25 +00:00
|
|
|
set(CMAKE_AUTORCC ON)
|
2017-09-04 17:35:38 +00:00
|
|
|
|
2023-05-24 19:50:35 +00:00
|
|
|
find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets Svg)
|
2023-04-19 19:05:24 +00:00
|
|
|
message(STATUS "Found Qt version ${Qt6_VERSION}")
|
2017-01-26 13:00:28 +00:00
|
|
|
|
2023-04-19 19:05:24 +00:00
|
|
|
set_property(TARGET Qt6::Core PROPERTY INTERFACE_COMPILE_FEATURES "")
|
2015-11-27 08:33:07 +00:00
|
|
|
|
2018-01-26 08:26:45 +00:00
|
|
|
add_executable(dolphin-emu
|
2016-02-11 11:59:44 +00:00
|
|
|
AboutDialog.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
AboutDialog.h
|
2021-08-22 05:13:00 +00:00
|
|
|
CheatSearchFactoryWidget.cpp
|
|
|
|
CheatSearchFactoryWidget.h
|
|
|
|
CheatSearchWidget.cpp
|
|
|
|
CheatSearchWidget.h
|
2018-03-26 02:17:47 +00:00
|
|
|
CheatsManager.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
CheatsManager.h
|
2024-03-09 19:14:08 +00:00
|
|
|
Achievements/AchievementBox.cpp
|
|
|
|
Achievements/AchievementBox.h
|
2023-06-03 01:20:42 +00:00
|
|
|
Achievements/AchievementHeaderWidget.cpp
|
|
|
|
Achievements/AchievementHeaderWidget.h
|
2023-06-17 15:47:56 +00:00
|
|
|
Achievements/AchievementLeaderboardWidget.cpp
|
|
|
|
Achievements/AchievementLeaderboardWidget.h
|
2023-06-03 01:25:01 +00:00
|
|
|
Achievements/AchievementProgressWidget.cpp
|
|
|
|
Achievements/AchievementProgressWidget.h
|
2023-05-26 22:29:22 +00:00
|
|
|
Achievements/AchievementSettingsWidget.cpp
|
|
|
|
Achievements/AchievementSettingsWidget.h
|
2023-05-26 13:35:50 +00:00
|
|
|
Achievements/AchievementsWindow.cpp
|
|
|
|
Achievements/AchievementsWindow.h
|
2018-01-01 20:01:58 +00:00
|
|
|
Config/ARCodeWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/ARCodeWidget.h
|
|
|
|
Config/CheatCodeEditor.cpp
|
|
|
|
Config/CheatCodeEditor.h
|
2017-09-10 17:10:45 +00:00
|
|
|
Config/CheatWarningWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/CheatWarningWidget.h
|
2021-01-23 18:16:56 +00:00
|
|
|
Config/CommonControllersWidget.cpp
|
|
|
|
Config/CommonControllersWidget.h
|
2023-04-21 21:02:53 +00:00
|
|
|
Config/ConfigControls/ConfigBool.cpp
|
|
|
|
Config/ConfigControls/ConfigBool.h
|
2023-04-25 03:36:43 +00:00
|
|
|
Config/ConfigControls/ConfigChoice.cpp
|
|
|
|
Config/ConfigControls/ConfigChoice.h
|
2023-04-29 02:41:09 +00:00
|
|
|
Config/ConfigControls/ConfigInteger.cpp
|
|
|
|
Config/ConfigControls/ConfigInteger.h
|
2023-04-27 17:39:48 +00:00
|
|
|
Config/ConfigControls/ConfigRadio.cpp
|
|
|
|
Config/ConfigControls/ConfigRadio.h
|
2023-06-08 00:10:12 +00:00
|
|
|
Config/ConfigControls/ConfigFloatSlider.cpp
|
|
|
|
Config/ConfigControls/ConfigFloatSlider.h
|
2023-04-29 03:11:55 +00:00
|
|
|
Config/ConfigControls/ConfigSlider.cpp
|
|
|
|
Config/ConfigControls/ConfigSlider.h
|
2022-07-28 01:43:16 +00:00
|
|
|
Config/ControllerInterface/ControllerInterfaceWindow.cpp
|
|
|
|
Config/ControllerInterface/ControllerInterfaceWindow.h
|
2020-05-09 20:44:45 +00:00
|
|
|
Config/ControllerInterface/DualShockUDPClientAddServerDialog.cpp
|
|
|
|
Config/ControllerInterface/DualShockUDPClientAddServerDialog.h
|
2019-10-26 16:05:16 +00:00
|
|
|
Config/ControllerInterface/DualShockUDPClientWidget.cpp
|
|
|
|
Config/ControllerInterface/DualShockUDPClientWidget.h
|
2020-07-13 05:26:43 +00:00
|
|
|
Config/ControllerInterface/ServerStringValidator.cpp
|
|
|
|
Config/ControllerInterface/ServerStringValidator.h
|
2017-05-09 16:49:10 +00:00
|
|
|
Config/ControllersWindow.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/ControllersWindow.h
|
2016-02-29 08:52:15 +00:00
|
|
|
Config/FilesystemWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/FilesystemWidget.h
|
2020-06-12 05:27:34 +00:00
|
|
|
Config/FreeLookWidget.cpp
|
|
|
|
Config/FreeLookWidget.h
|
|
|
|
Config/FreeLookWindow.cpp
|
|
|
|
Config/FreeLookWindow.h
|
2018-07-13 10:56:58 +00:00
|
|
|
Config/GameConfigEdit.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/GameConfigEdit.h
|
2018-07-13 10:56:58 +00:00
|
|
|
Config/GameConfigHighlighter.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/GameConfigHighlighter.h
|
2018-03-01 12:12:31 +00:00
|
|
|
Config/GameConfigWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/GameConfigWidget.h
|
2022-07-28 01:43:16 +00:00
|
|
|
Config/GamecubeControllersWidget.cpp
|
|
|
|
Config/GamecubeControllersWidget.h
|
2017-09-10 17:10:45 +00:00
|
|
|
Config/GeckoCodeWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/GeckoCodeWidget.h
|
2017-06-15 23:42:12 +00:00
|
|
|
Config/Graphics/AdvancedWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Graphics/AdvancedWidget.h
|
2017-06-15 23:42:12 +00:00
|
|
|
Config/Graphics/EnhancementsWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Graphics/EnhancementsWidget.h
|
2017-06-15 23:42:12 +00:00
|
|
|
Config/Graphics/GeneralWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Graphics/GeneralWidget.h
|
2017-06-15 23:42:12 +00:00
|
|
|
Config/Graphics/GraphicsWindow.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Graphics/GraphicsWindow.h
|
|
|
|
Config/Graphics/HacksWidget.cpp
|
|
|
|
Config/Graphics/HacksWidget.h
|
2023-06-10 08:48:40 +00:00
|
|
|
Config/Graphics/ColorCorrectionConfigWindow.cpp
|
|
|
|
Config/Graphics/ColorCorrectionConfigWindow.h
|
2018-05-20 22:03:40 +00:00
|
|
|
Config/Graphics/PostProcessingConfigWindow.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Graphics/PostProcessingConfigWindow.h
|
2022-03-02 06:38:00 +00:00
|
|
|
Config/GraphicsModListWidget.cpp
|
|
|
|
Config/GraphicsModListWidget.h
|
2022-03-31 05:44:32 +00:00
|
|
|
Config/GraphicsModWarningWidget.cpp
|
|
|
|
Config/GraphicsModWarningWidget.h
|
2023-11-15 15:56:15 +00:00
|
|
|
Config/HardcoreWarningWidget.cpp
|
|
|
|
Config/HardcoreWarningWidget.h
|
2016-02-29 08:52:15 +00:00
|
|
|
Config/InfoWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/InfoWidget.h
|
2017-08-27 22:10:06 +00:00
|
|
|
Config/LogConfigWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/LogConfigWidget.h
|
2017-08-27 22:10:06 +00:00
|
|
|
Config/LogWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/LogWidget.h
|
2020-06-12 05:27:34 +00:00
|
|
|
Config/Mapping/FreeLookGeneral.cpp
|
|
|
|
Config/Mapping/FreeLookGeneral.h
|
2021-03-11 06:41:15 +00:00
|
|
|
Config/Mapping/FreeLookRotation.cpp
|
|
|
|
Config/Mapping/FreeLookRotation.h
|
2021-07-04 11:17:32 +00:00
|
|
|
Config/Mapping/GBAPadEmu.cpp
|
|
|
|
Config/Mapping/GBAPadEmu.h
|
2017-05-20 15:53:17 +00:00
|
|
|
Config/Mapping/GCKeyboardEmu.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/GCKeyboardEmu.h
|
2018-01-04 18:38:09 +00:00
|
|
|
Config/Mapping/GCMicrophone.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/GCMicrophone.h
|
2017-05-20 15:53:17 +00:00
|
|
|
Config/Mapping/GCPadEmu.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/GCPadEmu.h
|
2017-11-05 01:45:37 +00:00
|
|
|
Config/Mapping/GCPadWiiUConfigDialog.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/GCPadWiiUConfigDialog.h
|
2017-06-06 11:49:49 +00:00
|
|
|
Config/Mapping/Hotkey3D.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/Hotkey3D.h
|
2018-04-14 04:51:32 +00:00
|
|
|
Config/Mapping/HotkeyControllerProfile.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/HotkeyControllerProfile.h
|
2018-02-14 22:25:01 +00:00
|
|
|
Config/Mapping/HotkeyDebugging.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/HotkeyDebugging.h
|
2021-07-04 11:26:47 +00:00
|
|
|
Config/Mapping/HotkeyGBA.cpp
|
|
|
|
Config/Mapping/HotkeyGBA.h
|
2017-06-06 11:49:49 +00:00
|
|
|
Config/Mapping/HotkeyGeneral.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/HotkeyGeneral.h
|
2017-06-06 11:49:49 +00:00
|
|
|
Config/Mapping/HotkeyGraphics.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/HotkeyGraphics.h
|
2017-06-06 11:49:49 +00:00
|
|
|
Config/Mapping/HotkeyStates.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/HotkeyStates.h
|
2018-06-03 10:41:58 +00:00
|
|
|
Config/Mapping/HotkeyStatesOther.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/HotkeyStatesOther.h
|
2017-06-06 11:49:49 +00:00
|
|
|
Config/Mapping/HotkeyTAS.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/HotkeyTAS.h
|
2023-05-25 22:27:00 +00:00
|
|
|
Config/Mapping/HotkeyUSBEmu.cpp
|
|
|
|
Config/Mapping/HotkeyUSBEmu.h
|
2017-06-06 11:49:49 +00:00
|
|
|
Config/Mapping/HotkeyWii.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/HotkeyWii.h
|
2017-06-13 15:16:41 +00:00
|
|
|
Config/Mapping/IOWindow.cpp
|
2017-05-20 15:53:17 +00:00
|
|
|
Config/Mapping/MappingButton.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/MappingButton.h
|
2017-06-13 15:16:41 +00:00
|
|
|
Config/Mapping/MappingCommon.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/MappingCommon.h
|
2018-02-07 17:16:15 +00:00
|
|
|
Config/Mapping/MappingIndicator.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/MappingIndicator.h
|
2017-05-20 15:53:17 +00:00
|
|
|
Config/Mapping/MappingNumeric.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/MappingNumeric.h
|
2017-05-20 15:53:17 +00:00
|
|
|
Config/Mapping/MappingWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/MappingWidget.h
|
2017-05-20 15:53:17 +00:00
|
|
|
Config/Mapping/MappingWindow.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/MappingWindow.h
|
2017-05-20 15:53:17 +00:00
|
|
|
Config/Mapping/WiimoteEmuExtension.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/WiimoteEmuExtension.h
|
2019-11-04 03:19:33 +00:00
|
|
|
Config/Mapping/WiimoteEmuExtensionMotionInput.cpp
|
|
|
|
Config/Mapping/WiimoteEmuExtensionMotionInput.h
|
|
|
|
Config/Mapping/WiimoteEmuExtensionMotionSimulation.cpp
|
|
|
|
Config/Mapping/WiimoteEmuExtensionMotionSimulation.h
|
2017-05-20 15:53:17 +00:00
|
|
|
Config/Mapping/WiimoteEmuGeneral.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/WiimoteEmuGeneral.h
|
2017-05-20 15:53:17 +00:00
|
|
|
Config/Mapping/WiimoteEmuMotionControl.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/Mapping/WiimoteEmuMotionControl.h
|
2019-09-06 15:09:30 +00:00
|
|
|
Config/Mapping/WiimoteEmuMotionControlIMU.cpp
|
|
|
|
Config/Mapping/WiimoteEmuMotionControlIMU.h
|
2018-02-16 13:53:52 +00:00
|
|
|
Config/NewPatchDialog.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/NewPatchDialog.h
|
2018-02-16 13:53:52 +00:00
|
|
|
Config/PatchesWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/PatchesWidget.h
|
2016-02-29 08:52:15 +00:00
|
|
|
Config/PropertiesDialog.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/PropertiesDialog.h
|
2016-05-09 13:34:07 +00:00
|
|
|
Config/SettingsWindow.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/SettingsWindow.h
|
2023-04-19 23:36:04 +00:00
|
|
|
Config/ToolTipControls/BalloonTip.cpp
|
|
|
|
Config/ToolTipControls/BalloonTip.h
|
2020-10-20 06:37:03 +00:00
|
|
|
Config/ToolTipControls/ToolTipCheckBox.cpp
|
|
|
|
Config/ToolTipControls/ToolTipCheckBox.h
|
|
|
|
Config/ToolTipControls/ToolTipComboBox.cpp
|
|
|
|
Config/ToolTipControls/ToolTipComboBox.h
|
2023-08-12 19:33:43 +00:00
|
|
|
Config/ToolTipControls/ToolTipPushButton.cpp
|
|
|
|
Config/ToolTipControls/ToolTipPushButton.h
|
2020-10-20 06:37:03 +00:00
|
|
|
Config/ToolTipControls/ToolTipRadioButton.cpp
|
|
|
|
Config/ToolTipControls/ToolTipRadioButton.h
|
|
|
|
Config/ToolTipControls/ToolTipSlider.cpp
|
|
|
|
Config/ToolTipControls/ToolTipSlider.h
|
|
|
|
Config/ToolTipControls/ToolTipSpinBox.cpp
|
|
|
|
Config/ToolTipControls/ToolTipSpinBox.h
|
|
|
|
Config/ToolTipControls/ToolTipWidget.h
|
2019-03-21 22:04:56 +00:00
|
|
|
Config/VerifyWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Config/VerifyWidget.h
|
2021-01-23 19:05:04 +00:00
|
|
|
Config/WiimoteControllersWidget.cpp
|
|
|
|
Config/WiimoteControllersWidget.h
|
2022-07-28 01:43:16 +00:00
|
|
|
ConvertDialog.cpp
|
|
|
|
ConvertDialog.h
|
2022-12-18 08:43:28 +00:00
|
|
|
Debugger/AssembleInstructionDialog.cpp
|
|
|
|
Debugger/AssembleInstructionDialog.h
|
|
|
|
Debugger/AssemblerWidget.cpp
|
|
|
|
Debugger/AssemblerWidget.h
|
|
|
|
Debugger/AssemblyEditor.cpp
|
|
|
|
Debugger/AssemblyEditor.h
|
2023-12-07 17:36:02 +00:00
|
|
|
Debugger/BranchWatchDialog.cpp
|
|
|
|
Debugger/BranchWatchDialog.h
|
|
|
|
Debugger/BranchWatchTableModel.cpp
|
|
|
|
Debugger/BranchWatchTableModel.h
|
2022-11-21 04:11:15 +00:00
|
|
|
Debugger/BreakpointDialog.cpp
|
|
|
|
Debugger/BreakpointDialog.h
|
2017-10-03 16:43:44 +00:00
|
|
|
Debugger/BreakpointWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Debugger/BreakpointWidget.h
|
2018-02-14 22:25:01 +00:00
|
|
|
Debugger/CodeViewWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Debugger/CodeViewWidget.h
|
2018-02-14 22:25:01 +00:00
|
|
|
Debugger/CodeWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Debugger/CodeWidget.h
|
2022-12-18 08:43:28 +00:00
|
|
|
Debugger/GekkoSyntaxHighlight.cpp
|
|
|
|
Debugger/GekkoSyntaxHighlight.h
|
2018-04-09 13:31:20 +00:00
|
|
|
Debugger/JITWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Debugger/JITWidget.h
|
2018-03-16 11:39:53 +00:00
|
|
|
Debugger/MemoryViewWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Debugger/MemoryViewWidget.h
|
2018-03-16 11:39:53 +00:00
|
|
|
Debugger/MemoryWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Debugger/MemoryWidget.h
|
2020-04-19 19:30:50 +00:00
|
|
|
Debugger/NetworkWidget.cpp
|
|
|
|
Debugger/NetworkWidget.h
|
2019-04-23 19:42:37 +00:00
|
|
|
Debugger/PatchInstructionDialog.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Debugger/PatchInstructionDialog.h
|
2017-09-13 17:33:45 +00:00
|
|
|
Debugger/RegisterColumn.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Debugger/RegisterColumn.h
|
2017-09-13 17:33:45 +00:00
|
|
|
Debugger/RegisterWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Debugger/RegisterWidget.h
|
2020-03-21 07:48:49 +00:00
|
|
|
Debugger/ThreadWidget.cpp
|
|
|
|
Debugger/ThreadWidget.h
|
2017-09-27 06:53:05 +00:00
|
|
|
Debugger/WatchWidget.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Debugger/WatchWidget.h
|
2022-07-28 01:43:16 +00:00
|
|
|
DiscordHandler.cpp
|
|
|
|
DiscordHandler.h
|
|
|
|
DiscordJoinRequestDialog.cpp
|
|
|
|
DiscordJoinRequestDialog.h
|
|
|
|
FIFO/FIFOAnalyzer.cpp
|
|
|
|
FIFO/FIFOAnalyzer.h
|
|
|
|
FIFO/FIFOPlayerWindow.cpp
|
|
|
|
FIFO/FIFOPlayerWindow.h
|
2015-11-27 08:33:07 +00:00
|
|
|
GameList/GameList.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
GameList/GameList.h
|
2015-11-27 08:33:07 +00:00
|
|
|
GameList/GameListModel.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
GameList/GameListModel.h
|
2015-12-20 05:24:48 +00:00
|
|
|
GameList/GameTracker.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
GameList/GameTracker.h
|
2017-08-05 08:28:53 +00:00
|
|
|
GameList/GridProxyModel.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
GameList/GridProxyModel.h
|
2015-12-04 04:41:17 +00:00
|
|
|
GameList/ListProxyModel.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
GameList/ListProxyModel.h
|
2019-11-20 20:47:10 +00:00
|
|
|
GCMemcardCreateNewDialog.cpp
|
|
|
|
GCMemcardCreateNewDialog.h
|
2018-01-25 18:54:50 +00:00
|
|
|
GCMemcardManager.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
GCMemcardManager.h
|
2022-07-28 01:43:16 +00:00
|
|
|
Host.cpp
|
|
|
|
Host.h
|
|
|
|
HotkeyScheduler.cpp
|
|
|
|
HotkeyScheduler.h
|
2023-01-24 21:51:02 +00:00
|
|
|
InfinityBase/InfinityBaseWindow.cpp
|
|
|
|
InfinityBase/InfinityBaseWindow.h
|
2022-07-28 01:43:16 +00:00
|
|
|
Main.cpp
|
|
|
|
MainWindow.cpp
|
|
|
|
MainWindow.h
|
|
|
|
MenuBar.cpp
|
|
|
|
MenuBar.h
|
2018-10-18 08:33:05 +00:00
|
|
|
NetPlay/ChunkedProgressDialog.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
NetPlay/ChunkedProgressDialog.h
|
2022-07-28 01:43:16 +00:00
|
|
|
NetPlay/GameDigestDialog.cpp
|
|
|
|
NetPlay/GameDigestDialog.h
|
2017-07-21 20:48:21 +00:00
|
|
|
NetPlay/GameListDialog.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
NetPlay/GameListDialog.h
|
2019-03-30 13:50:57 +00:00
|
|
|
NetPlay/NetPlayBrowser.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
NetPlay/NetPlayBrowser.h
|
2017-07-21 20:48:21 +00:00
|
|
|
NetPlay/NetPlayDialog.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
NetPlay/NetPlayDialog.h
|
2017-07-21 20:48:21 +00:00
|
|
|
NetPlay/NetPlaySetupDialog.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
NetPlay/NetPlaySetupDialog.h
|
2017-07-21 20:48:21 +00:00
|
|
|
NetPlay/PadMappingDialog.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
NetPlay/PadMappingDialog.h
|
2022-08-28 01:03:32 +00:00
|
|
|
NANDRepairDialog.cpp
|
|
|
|
NANDRepairDialog.h
|
2022-07-28 01:43:16 +00:00
|
|
|
NKitWarningDialog.cpp
|
|
|
|
NKitWarningDialog.h
|
|
|
|
QtUtils/AspectRatioWidget.cpp
|
|
|
|
QtUtils/AspectRatioWidget.h
|
|
|
|
QtUtils/BlockUserInputFilter.cpp
|
|
|
|
QtUtils/BlockUserInputFilter.h
|
2023-10-15 16:35:12 +00:00
|
|
|
QtUtils/ClearLayoutRecursively.cpp
|
|
|
|
QtUtils/ClearLayoutRecursively.h
|
2021-10-10 02:28:59 +00:00
|
|
|
QtUtils/DolphinFileDialog.cpp
|
|
|
|
QtUtils/DolphinFileDialog.h
|
2017-05-31 07:16:23 +00:00
|
|
|
QtUtils/DoubleClickEventFilter.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
QtUtils/DoubleClickEventFilter.h
|
2017-05-31 06:08:14 +00:00
|
|
|
QtUtils/ElidedButton.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
QtUtils/ElidedButton.h
|
2019-06-11 21:00:02 +00:00
|
|
|
QtUtils/FileOpenEventFilter.cpp
|
|
|
|
QtUtils/FileOpenEventFilter.h
|
2024-04-13 06:25:03 +00:00
|
|
|
QtUtils/FromStdString.h
|
2022-07-28 01:43:16 +00:00
|
|
|
QtUtils/ImageConverter.cpp
|
|
|
|
QtUtils/ImageConverter.h
|
2019-03-04 19:48:40 +00:00
|
|
|
QtUtils/ModalMessageBox.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
QtUtils/ModalMessageBox.h
|
2022-07-28 01:43:16 +00:00
|
|
|
QtUtils/NonDefaultQPushButton.cpp
|
|
|
|
QtUtils/NonDefaultQPushButton.h
|
2020-03-29 22:28:16 +00:00
|
|
|
QtUtils/ParallelProgressDialog.h
|
2021-08-22 05:13:00 +00:00
|
|
|
QtUtils/PartiallyClosableTabWidget.cpp
|
|
|
|
QtUtils/PartiallyClosableTabWidget.h
|
2023-07-30 22:40:15 +00:00
|
|
|
QtUtils/SetWindowDecorations.cpp
|
|
|
|
QtUtils/SetWindowDecorations.h
|
2022-02-26 22:06:33 +00:00
|
|
|
QtUtils/SignalBlocking.h
|
2020-07-16 22:47:51 +00:00
|
|
|
QtUtils/UTF8CodePointCountValidator.cpp
|
|
|
|
QtUtils/UTF8CodePointCountValidator.h
|
2017-06-15 01:49:56 +00:00
|
|
|
QtUtils/WindowActivationEventFilter.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
QtUtils/WindowActivationEventFilter.h
|
2018-03-17 15:07:51 +00:00
|
|
|
QtUtils/WrapInScrollArea.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
QtUtils/WrapInScrollArea.h
|
2022-07-28 01:43:16 +00:00
|
|
|
RenderWidget.cpp
|
|
|
|
RenderWidget.h
|
2019-03-31 02:49:57 +00:00
|
|
|
ResourcePackManager.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
ResourcePackManager.h
|
2022-07-28 01:43:16 +00:00
|
|
|
Resources.cpp
|
|
|
|
Resources.h
|
2021-09-26 04:17:51 +00:00
|
|
|
RiivolutionBootWidget.cpp
|
|
|
|
RiivolutionBootWidget.h
|
2022-07-28 01:43:16 +00:00
|
|
|
SearchBar.cpp
|
|
|
|
SearchBar.h
|
|
|
|
Settings.cpp
|
|
|
|
Settings.h
|
2017-06-28 04:36:27 +00:00
|
|
|
Settings/AdvancedPane.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Settings/AdvancedPane.h
|
2017-06-21 08:27:21 +00:00
|
|
|
Settings/AudioPane.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Settings/AudioPane.h
|
2021-09-08 20:08:43 +00:00
|
|
|
Settings/BroadbandAdapterSettingsDialog.cpp
|
|
|
|
Settings/BroadbandAdapterSettingsDialog.h
|
2018-01-04 00:41:31 +00:00
|
|
|
Settings/GameCubePane.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Settings/GameCubePane.h
|
2017-05-04 04:19:51 +00:00
|
|
|
Settings/GeneralPane.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Settings/GeneralPane.h
|
2017-05-04 07:47:59 +00:00
|
|
|
Settings/InterfacePane.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Settings/InterfacePane.h
|
2017-05-31 08:08:04 +00:00
|
|
|
Settings/PathPane.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Settings/PathPane.h
|
2017-07-21 09:22:01 +00:00
|
|
|
Settings/USBDeviceAddToWhitelistDialog.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Settings/USBDeviceAddToWhitelistDialog.h
|
2022-07-28 01:43:16 +00:00
|
|
|
Settings/WiiPane.cpp
|
|
|
|
Settings/WiiPane.h
|
2023-08-24 15:24:30 +00:00
|
|
|
SkylanderPortal/SkylanderModifyDialog.cpp
|
|
|
|
SkylanderPortal/SkylanderModifyDialog.h
|
2023-01-07 22:54:36 +00:00
|
|
|
SkylanderPortal/SkylanderPortalWindow.cpp
|
|
|
|
SkylanderPortal/SkylanderPortalWindow.h
|
2018-01-27 13:35:02 +00:00
|
|
|
TAS/GCTASInputWindow.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
TAS/GCTASInputWindow.h
|
2022-11-19 10:16:10 +00:00
|
|
|
TAS/GBATASInputWindow.cpp
|
|
|
|
TAS/GBATASInputWindow.h
|
2022-07-28 01:43:16 +00:00
|
|
|
TAS/IRWidget.cpp
|
|
|
|
TAS/IRWidget.h
|
|
|
|
TAS/StickWidget.cpp
|
|
|
|
TAS/StickWidget.h
|
2019-03-31 02:49:57 +00:00
|
|
|
TAS/TASCheckBox.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
TAS/TASCheckBox.h
|
2023-03-04 11:24:31 +00:00
|
|
|
TAS/TASControlState.cpp
|
|
|
|
TAS/TASControlState.h
|
2018-07-07 05:51:34 +00:00
|
|
|
TAS/TASInputWindow.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
TAS/TASInputWindow.h
|
2020-10-18 11:47:00 +00:00
|
|
|
TAS/TASSlider.cpp
|
|
|
|
TAS/TASSlider.h
|
2023-03-07 18:22:09 +00:00
|
|
|
TAS/TASSpinBox.cpp
|
|
|
|
TAS/TASSpinBox.h
|
2022-07-28 01:43:16 +00:00
|
|
|
TAS/WiiTASInputWindow.cpp
|
|
|
|
TAS/WiiTASInputWindow.h
|
|
|
|
ToolBar.cpp
|
|
|
|
ToolBar.h
|
|
|
|
Translation.cpp
|
|
|
|
Translation.h
|
2018-03-22 11:20:15 +00:00
|
|
|
Updater.cpp
|
2019-05-29 09:11:51 +00:00
|
|
|
Updater.h
|
2022-07-28 01:43:16 +00:00
|
|
|
WiiUpdate.cpp
|
|
|
|
WiiUpdate.h
|
2015-11-27 08:33:07 +00:00
|
|
|
)
|
|
|
|
|
2023-07-30 22:32:28 +00:00
|
|
|
if (WIN32)
|
|
|
|
target_sources(dolphin-emu PRIVATE
|
|
|
|
Styles/Dark/dark.qrc
|
|
|
|
)
|
|
|
|
endif()
|
|
|
|
|
2019-05-08 19:10:41 +00:00
|
|
|
if (NOT WIN32)
|
2019-05-29 09:11:51 +00:00
|
|
|
target_sources(dolphin-emu PRIVATE
|
|
|
|
QtUtils/SignalDaemon.cpp
|
|
|
|
QtUtils/SignalDaemon.h
|
|
|
|
)
|
2019-05-08 19:10:41 +00:00
|
|
|
endif()
|
|
|
|
|
2018-01-26 08:26:45 +00:00
|
|
|
target_compile_definitions(dolphin-emu
|
2018-04-05 11:52:21 +00:00
|
|
|
PRIVATE
|
|
|
|
-DQT_USE_QSTRINGBUILDER
|
|
|
|
-DQT_NO_CAST_FROM_ASCII
|
|
|
|
-DQT_NO_CAST_TO_ASCII
|
|
|
|
)
|
|
|
|
|
2018-01-26 08:26:45 +00:00
|
|
|
target_include_directories(dolphin-emu
|
2018-04-05 11:52:21 +00:00
|
|
|
PRIVATE
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
2023-04-19 19:05:24 +00:00
|
|
|
${Qt6Gui_PRIVATE_INCLUDE_DIRS}
|
2018-04-05 11:52:21 +00:00
|
|
|
)
|
|
|
|
|
2018-01-26 08:26:45 +00:00
|
|
|
target_link_libraries(dolphin-emu
|
2018-04-02 16:32:28 +00:00
|
|
|
PRIVATE
|
|
|
|
core
|
2023-04-19 19:05:24 +00:00
|
|
|
Qt6::Widgets
|
2018-04-02 16:32:28 +00:00
|
|
|
uicommon
|
2018-10-10 11:41:52 +00:00
|
|
|
imgui
|
2022-12-24 00:52:53 +00:00
|
|
|
implot
|
2018-04-02 16:32:28 +00:00
|
|
|
)
|
2015-11-27 08:33:07 +00:00
|
|
|
|
2020-02-11 23:07:56 +00:00
|
|
|
if (WIN32)
|
|
|
|
target_link_libraries(dolphin-emu
|
|
|
|
PRIVATE
|
2022-01-16 23:20:40 +00:00
|
|
|
gdi32.lib
|
|
|
|
shell32.lib
|
2023-07-30 22:40:15 +00:00
|
|
|
dwmapi.lib # Needed to set window decorations for dark theme
|
2020-02-11 23:07:56 +00:00
|
|
|
)
|
|
|
|
endif()
|
|
|
|
|
2021-03-04 08:29:30 +00:00
|
|
|
if (MSVC)
|
2021-12-27 13:08:07 +00:00
|
|
|
set(qtGui "")
|
|
|
|
set(qtGuiPriv "")
|
|
|
|
set(qtWidgetsPriv "")
|
2021-04-25 00:18:28 +00:00
|
|
|
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)
|
2021-12-27 13:08:07 +00:00
|
|
|
target_compile_options(dolphin-emu PRIVATE "${qtGui}")
|
|
|
|
target_compile_options(dolphin-emu PRIVATE "${qtGuiPriv}")
|
|
|
|
target_compile_options(dolphin-emu PRIVATE "${qtWidgets}")
|
2022-05-21 02:37:28 +00:00
|
|
|
|
2022-07-28 20:11:34 +00:00
|
|
|
# Qt 6.3.0 headers use std::aligned_storage instead of alignas
|
|
|
|
target_compile_definitions(dolphin-emu PRIVATE _SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING)
|
|
|
|
|
2023-04-19 19:05:24 +00:00
|
|
|
# Qt6 requires RTTI
|
|
|
|
remove_cxx_flag_from_target(dolphin-emu "/GR-")
|
|
|
|
target_compile_options(dolphin-emu PRIVATE "/GR")
|
2021-03-04 08:29:30 +00:00
|
|
|
endif()
|
|
|
|
|
2017-02-10 07:46:23 +00:00
|
|
|
if(WIN32)
|
2019-05-08 21:55:44 +00:00
|
|
|
target_sources(dolphin-emu PRIVATE DolphinQt.manifest DolphinQt.rc)
|
|
|
|
|
|
|
|
set_target_properties(dolphin-emu PROPERTIES
|
2019-06-18 03:24:49 +00:00
|
|
|
DEBUG_POSTFIX D
|
|
|
|
OUTPUT_NAME Dolphin
|
2019-05-08 21:55:44 +00:00
|
|
|
WIN32_EXECUTABLE TRUE
|
|
|
|
)
|
|
|
|
|
|
|
|
# Copy Sys dir
|
2019-05-15 08:18:28 +00:00
|
|
|
add_custom_command(TARGET dolphin-emu POST_BUILD
|
DolphinQt: Delete output Sys folder before copying to it
For a long time now, we've had a problem where game INIs persist in
the copied Sys folder if they've been deleted from the original Sys
folder. (I still have hundreds of game INIs locally that only set
EmulationStateId, and we removed those game INIs 6 years ago. On the
buildbot, we do occasionally clear out the build directories manually,
so I'd assume it's not quite as bad there.)
This commit fixes the problem by deleting the output Sys folder before
copying the original Sys folder to the output Sys folder. This should be
a bit slower, but in my testing, the difference seems small. At least if
you have an SSD, which I really hope people have nowadays!
Operating systems other than Windows have not been touched, because:
* Android: Already explicitly deletes the output Sys folder.
* macOS: Does some magic to put the Sys folder in the app bundle, which I
will simply assume isn't affected by this problem, without testing.
* Linux: Expects the person building to manually manage the Sys folder.
2024-08-15 17:18:16 +00:00
|
|
|
COMMAND ${CMAKE_COMMAND} -E remove_directory "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Sys"
|
2019-05-15 08:18:28 +00:00
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_SOURCE_DIR}/Data/Sys" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Sys"
|
|
|
|
)
|
2019-05-08 21:55:44 +00:00
|
|
|
|
2021-08-18 02:40:27 +00:00
|
|
|
# Copy COPYING
|
2021-04-24 21:59:11 +00:00
|
|
|
add_custom_command(TARGET dolphin-emu POST_BUILD
|
2021-08-18 02:40:27 +00:00
|
|
|
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
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_SOURCE_DIR}/LICENSES" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Licenses"
|
2021-04-24 21:59:11 +00:00
|
|
|
)
|
|
|
|
|
2019-05-08 21:55:44 +00:00
|
|
|
# Copy qt.conf
|
2019-05-15 08:18:28 +00:00
|
|
|
add_custom_command(TARGET dolphin-emu POST_BUILD
|
2019-06-18 04:03:59 +00:00
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/qt.conf.win" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/qt.conf"
|
2019-05-15 08:18:28 +00:00
|
|
|
)
|
|
|
|
|
2019-06-18 04:03:59 +00:00
|
|
|
# Delegate to Qt's official deployment binary on Windows to copy over the necessary Qt-specific libraries, etc.
|
2023-04-19 19:05:24 +00:00
|
|
|
get_target_property(MOC_EXECUTABLE_LOCATION Qt6::moc IMPORTED_LOCATION)
|
2019-06-18 04:03:59 +00:00
|
|
|
get_filename_component(QT_BINARY_DIRECTORY "${MOC_EXECUTABLE_LOCATION}" DIRECTORY)
|
|
|
|
find_program(WINDEPLOYQT_EXE windeployqt HINTS "${QT_BINARY_DIRECTORY}")
|
|
|
|
|
|
|
|
# Note: We set the PATH for the duration of this command so that the
|
|
|
|
# deployment application is able to locate the Qt libraries to copy.
|
|
|
|
# if the necessary paths aren't already set beforehand.
|
|
|
|
#
|
|
|
|
# For example, consider a hypothetical emulation project named Orca.
|
|
|
|
# Orca supplies its own version of Qt instead of having developers actually
|
|
|
|
# install the officially supported Qt libraries -- a method that would make
|
|
|
|
# wrangling around with Qt through CMake much nicer and lessen the external
|
|
|
|
# library maintenance burden of the project, but alas.
|
|
|
|
#
|
|
|
|
# In this case, as Qt is not installed through the official binary, this also
|
|
|
|
# means proper path variables will not be set up, thus the need to ensure they're
|
|
|
|
# always set up.
|
|
|
|
#
|
2019-05-15 08:18:28 +00:00
|
|
|
add_custom_command(TARGET dolphin-emu POST_BUILD
|
2019-06-18 04:03:59 +00:00
|
|
|
COMMAND "${CMAKE_COMMAND}" -E env PATH="${QT_BINARY_DIRECTORY}"
|
|
|
|
"${WINDEPLOYQT_EXE}" --libdir="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}"
|
|
|
|
--plugindir="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/QtPlugins"
|
|
|
|
$<IF:$<CONFIG:Debug>,--debug,--release>
|
|
|
|
--no-translations
|
|
|
|
--no-compiler-runtime
|
2021-04-24 22:32:23 +00:00
|
|
|
--no-system-d3d-compiler
|
|
|
|
--no-opengl-sw
|
2019-06-18 04:03:59 +00:00
|
|
|
"$<TARGET_FILE:dolphin-emu>"
|
2019-05-15 08:18:28 +00:00
|
|
|
)
|
2017-02-10 07:46:23 +00:00
|
|
|
endif()
|
|
|
|
|
2017-07-17 21:50:40 +00:00
|
|
|
# Handle localization
|
|
|
|
find_package(Gettext)
|
2019-05-08 21:55:44 +00:00
|
|
|
|
|
|
|
if(WIN32 AND NOT Gettext_FOUND)
|
|
|
|
message(STATUS "Using Gettext from Externals")
|
|
|
|
set(GETTEXT_MSGFMT_EXECUTABLE "${CMAKE_SOURCE_DIR}/Externals/gettext/msgfmt.exe")
|
|
|
|
endif()
|
|
|
|
|
2019-05-15 08:19:07 +00:00
|
|
|
if(GETTEXT_MSGFMT_EXECUTABLE)
|
2017-07-17 21:50:40 +00:00
|
|
|
set(pot_file "${CMAKE_SOURCE_DIR}/Languages/po/dolphin-emu.pot")
|
|
|
|
file(GLOB LINGUAS ${CMAKE_SOURCE_DIR}/Languages/po/*.po)
|
|
|
|
|
2018-01-26 08:26:45 +00:00
|
|
|
target_sources(dolphin-emu PRIVATE ${pot_file} ${LINGUAS})
|
2017-07-17 21:50:40 +00:00
|
|
|
source_group("Localization" FILES ${LINGUAS})
|
|
|
|
source_group("Localization\\\\Generated" FILES ${pot_file})
|
|
|
|
|
|
|
|
foreach(po ${LINGUAS})
|
|
|
|
get_filename_component(lang ${po} NAME_WE)
|
2021-04-24 23:15:14 +00:00
|
|
|
if(WIN32)
|
2022-04-02 22:22:02 +00:00
|
|
|
set(mo_dir ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Languages)
|
|
|
|
set(mo ${mo_dir}/${lang}.mo)
|
2021-04-24 23:15:14 +00:00
|
|
|
else()
|
|
|
|
set(mo_dir ${CMAKE_CURRENT_BINARY_DIR}/${lang})
|
2022-04-02 22:22:02 +00:00
|
|
|
set(mo ${mo_dir}/dolphin-emu.mo)
|
2021-04-24 23:15:14 +00:00
|
|
|
endif()
|
2017-07-17 21:50:40 +00:00
|
|
|
|
2018-01-26 08:26:45 +00:00
|
|
|
target_sources(dolphin-emu PRIVATE ${mo})
|
2017-07-17 21:50:40 +00:00
|
|
|
source_group("Localization\\\\Generated" FILES ${mo})
|
|
|
|
|
|
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
|
|
|
set_source_files_properties(${mo} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources/${lang}.lproj")
|
|
|
|
else()
|
|
|
|
install(FILES ${mo} DESTINATION share/locale/${lang}/LC_MESSAGES)
|
|
|
|
endif()
|
|
|
|
|
2019-05-08 21:55:44 +00:00
|
|
|
if(WIN32)
|
|
|
|
add_custom_command(OUTPUT ${mo}
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${mo_dir}
|
|
|
|
COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${mo} ${po}
|
|
|
|
DEPENDS ${po}
|
|
|
|
)
|
|
|
|
else()
|
|
|
|
add_custom_command(OUTPUT ${mo}
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${mo_dir}
|
|
|
|
COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --quiet --update --backup=none -s ${po} ${pot_file}
|
|
|
|
COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${mo} ${po}
|
|
|
|
DEPENDS ${po}
|
|
|
|
)
|
|
|
|
endif()
|
2017-07-17 21:50:40 +00:00
|
|
|
endforeach()
|
|
|
|
endif()
|
|
|
|
|
2016-05-04 06:25:53 +00:00
|
|
|
if(APPLE)
|
|
|
|
include(BundleUtilities)
|
2024-07-31 01:44:46 +00:00
|
|
|
set(BUNDLE_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/DolphinQt.app)
|
2016-05-04 06:25:53 +00:00
|
|
|
|
|
|
|
# Ask for an application bundle.
|
2018-01-26 08:26:45 +00:00
|
|
|
set_target_properties(dolphin-emu PROPERTIES
|
2016-05-04 06:25:53 +00:00
|
|
|
MACOSX_BUNDLE true
|
2023-12-10 19:16:33 +00:00
|
|
|
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_BINARY_DIR}/Info.plist"
|
2024-07-31 17:32:25 +00:00
|
|
|
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY ""
|
2024-07-31 01:44:46 +00:00
|
|
|
OUTPUT_NAME DolphinQt
|
2016-05-04 06:25:53 +00:00
|
|
|
)
|
|
|
|
|
2017-02-04 00:10:59 +00:00
|
|
|
# Copy qt.conf into the bundle
|
2018-01-26 08:26:45 +00:00
|
|
|
target_sources(dolphin-emu PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/qt.conf")
|
2017-02-04 00:10:59 +00:00
|
|
|
set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/qt.conf" PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
|
|
|
|
2018-02-24 20:12:22 +00:00
|
|
|
# Copy icon into the bundle
|
2018-01-26 08:26:45 +00:00
|
|
|
target_sources(dolphin-emu PRIVATE "${CMAKE_SOURCE_DIR}/Data/Dolphin.icns")
|
2018-02-24 20:12:22 +00:00
|
|
|
set_source_files_properties("${CMAKE_SOURCE_DIR}/Data/Dolphin.icns" PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
|
|
|
|
2023-04-19 19:05:24 +00:00
|
|
|
# Manually include plugins
|
|
|
|
find_package(Qt6QMacStylePlugin REQUIRED PATHS ${Qt6Widgets_DIR})
|
|
|
|
find_package(Qt6QCocoaIntegrationPlugin REQUIRED PATHS ${Qt6Gui_DIR})
|
2021-04-25 00:18:28 +00:00
|
|
|
|
2017-02-04 00:10:59 +00:00
|
|
|
# Copy Qt plugins into the bundle
|
2023-04-19 19:05:24 +00:00
|
|
|
get_target_property(qtcocoa_location Qt6::QCocoaIntegrationPlugin LOCATION)
|
2018-01-26 08:26:45 +00:00
|
|
|
target_sources(dolphin-emu PRIVATE "${qtcocoa_location}")
|
2017-02-04 00:10:59 +00:00
|
|
|
set_source_files_properties("${qtcocoa_location}" PROPERTIES MACOSX_PACKAGE_LOCATION MacOS/platforms)
|
2017-02-02 02:51:00 +00:00
|
|
|
|
2023-04-19 19:05:24 +00:00
|
|
|
get_target_property(qtmacstyle_location Qt6::QMacStylePlugin LOCATION)
|
2018-01-26 08:26:45 +00:00
|
|
|
target_sources(dolphin-emu PRIVATE "${qtmacstyle_location}")
|
2018-02-24 17:48:29 +00:00
|
|
|
set_source_files_properties("${qtmacstyle_location}" PROPERTIES MACOSX_PACKAGE_LOCATION MacOS/styles)
|
|
|
|
|
2017-02-04 00:10:59 +00:00
|
|
|
# Copy resources into the bundle
|
2017-02-06 06:21:39 +00:00
|
|
|
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${CMAKE_SOURCE_DIR}/Data/Sys")
|
2017-02-02 02:51:00 +00:00
|
|
|
file(GLOB_RECURSE resources RELATIVE "${CMAKE_SOURCE_DIR}/Data" "${CMAKE_SOURCE_DIR}/Data/Sys/*")
|
|
|
|
foreach(res ${resources})
|
2018-01-26 08:26:45 +00:00
|
|
|
target_sources(dolphin-emu PRIVATE "${CMAKE_SOURCE_DIR}/Data/${res}")
|
2017-02-02 02:51:00 +00:00
|
|
|
get_filename_component(resdir "${res}" DIRECTORY)
|
|
|
|
set_source_files_properties("${CMAKE_SOURCE_DIR}/Data/${res}" PROPERTIES
|
|
|
|
MACOSX_PACKAGE_LOCATION "Resources/${resdir}")
|
|
|
|
source_group("Resources" FILES "${CMAKE_SOURCE_DIR}/Data/${res}")
|
|
|
|
endforeach()
|
2017-02-04 00:10:59 +00:00
|
|
|
|
2018-12-01 04:35:45 +00:00
|
|
|
# Copy MoltenVK into the bundle
|
2021-07-31 23:14:22 +00:00
|
|
|
if(ENABLE_VULKAN)
|
2022-05-31 01:01:24 +00:00
|
|
|
if(USE_BUNDLED_MOLTENVK)
|
|
|
|
add_dependencies(dolphin-emu MoltenVK)
|
|
|
|
ExternalProject_Get_Property(MoltenVK SOURCE_DIR)
|
2024-05-14 04:06:31 +00:00
|
|
|
target_sources(dolphin-emu PRIVATE "${SOURCE_DIR}/Package/Release/MoltenVK/dynamic/dylib/macOS/libMoltenVK.dylib")
|
|
|
|
set_source_files_properties("${SOURCE_DIR}/Package/Release/MoltenVK/dynamic/dylib/macOS/libMoltenVK.dylib" PROPERTIES MACOSX_PACKAGE_LOCATION Frameworks GENERATED ON)
|
2022-05-31 01:01:24 +00:00
|
|
|
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})
|
|
|
|
set_source_files_properties(${MOLTENVK_DYLIB} PROPERTIES MACOSX_PACKAGE_LOCATION Frameworks)
|
|
|
|
endif()
|
2021-07-31 23:14:22 +00:00
|
|
|
endif()
|
2018-12-01 04:35:45 +00:00
|
|
|
|
2022-05-31 00:46:18 +00:00
|
|
|
if(NOT SKIP_POSTPROCESS_BUNDLE)
|
|
|
|
# Update library references to make the bundle portable
|
|
|
|
include(DolphinPostprocessBundle)
|
|
|
|
dolphin_postprocess_bundle(dolphin-emu)
|
|
|
|
# Fix rpath
|
|
|
|
add_custom_command(TARGET dolphin-emu
|
|
|
|
POST_BUILD COMMAND
|
|
|
|
${CMAKE_INSTALL_NAME_TOOL} -add_rpath "@executable_path/../Frameworks/"
|
|
|
|
$<TARGET_FILE:dolphin-emu>)
|
|
|
|
endif()
|
2021-01-17 04:31:48 +00:00
|
|
|
|
|
|
|
if(MACOS_CODE_SIGNING)
|
2024-07-31 17:32:52 +00:00
|
|
|
add_custom_command(TARGET dolphin-emu
|
|
|
|
POST_BUILD
|
|
|
|
COMMAND "${CMAKE_SOURCE_DIR}/Tools/mac-codesign.sh"
|
|
|
|
"-e" "${CMAKE_CURRENT_SOURCE_DIR}/DolphinEmu$<$<CONFIG:Debug>:Debug>.entitlements"
|
|
|
|
"${MACOS_CODE_SIGNING_IDENTITY}"
|
|
|
|
"${BUNDLE_PATH}"
|
|
|
|
)
|
2021-01-17 04:31:48 +00:00
|
|
|
endif()
|
2016-05-04 06:25:53 +00:00
|
|
|
else()
|
2022-10-11 18:44:04 +00:00
|
|
|
install(TARGETS dolphin-emu RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
2016-05-04 06:25:53 +00:00
|
|
|
endif()
|
2018-06-08 20:56:11 +00:00
|
|
|
|
2021-07-04 11:23:30 +00:00
|
|
|
if(USE_MGBA)
|
|
|
|
target_sources(dolphin-emu PRIVATE
|
|
|
|
GBAHost.cpp
|
|
|
|
GBAHost.h
|
|
|
|
GBAWidget.cpp
|
|
|
|
GBAWidget.h
|
|
|
|
)
|
|
|
|
endif()
|
|
|
|
|
2018-06-08 20:56:11 +00:00
|
|
|
if(USE_DISCORD_PRESENCE)
|
|
|
|
target_compile_definitions(dolphin-emu PRIVATE -DUSE_DISCORD_PRESENCE)
|
2023-03-18 16:22:17 +00:00
|
|
|
endif()
|
|
|
|
|
|
|
|
if(USE_RETRO_ACHIEVEMENTS)
|
|
|
|
target_link_libraries(dolphin-emu PRIVATE rcheevos)
|
|
|
|
target_compile_definitions(dolphin-emu PRIVATE -DUSE_RETRO_ACHIEVEMENTS)
|
|
|
|
endif()
|