pcsx2/pcsx2-qt/CMakeLists.txt

286 lines
9.2 KiB
CMake
Raw Normal View History

include(CopyBaseTranslations)
2021-12-13 12:12:54 +00:00
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
add_executable(pcsx2-qt)
target_sources(pcsx2-qt PRIVATE
AboutDialog.cpp
AboutDialog.h
AboutDialog.ui
2022-05-12 16:07:09 +00:00
AutoUpdaterDialog.cpp
AutoUpdaterDialog.h
AutoUpdaterDialog.ui
2023-01-15 07:00:52 +00:00
ColorPickerButton.cpp
ColorPickerButton.h
2022-09-03 11:29:02 +00:00
CoverDownloadDialog.cpp
CoverDownloadDialog.h
CoverDownloadDialog.ui
2021-12-13 12:12:54 +00:00
DisplayWidget.cpp
DisplayWidget.h
EarlyHardwareCheck.cpp
2024-01-11 09:38:28 +00:00
LogWindow.cpp
LogWindow.h
2021-12-13 12:12:54 +00:00
MainWindow.cpp
MainWindow.h
MainWindow.ui
PrecompiledHeader.cpp
PrecompiledHeader.h
SettingWidgetBinder.h
2023-06-23 13:18:10 +00:00
SetupWizardDialog.cpp
SetupWizardDialog.h
SetupWizardDialog.ui
Themes.cpp
2023-06-19 12:03:10 +00:00
Translations.cpp
2021-12-13 12:12:54 +00:00
QtHost.cpp
QtHost.h
QtKeyCodes.cpp
2022-09-03 11:29:02 +00:00
QtProgressCallback.cpp
QtProgressCallback.h
2021-12-13 12:12:54 +00:00
QtUtils.cpp
QtUtils.h
GameList/EmptyGameListWidget.ui
2021-12-13 12:12:54 +00:00
GameList/GameListModel.cpp
GameList/GameListModel.h
GameList/GameListRefreshThread.cpp
GameList/GameListRefreshThread.h
GameList/GameListWidget.cpp
GameList/GameListWidget.h
Settings/AchievementLoginDialog.cpp
Settings/AchievementLoginDialog.h
Settings/AchievementLoginDialog.ui
Settings/AchievementSettingsWidget.cpp
Settings/AchievementSettingsWidget.h
Settings/AchievementSettingsWidget.ui
Settings/AdvancedSettingsWidget.cpp
Settings/AdvancedSettingsWidget.h
Settings/AdvancedSettingsWidget.ui
2024-04-23 15:17:52 +00:00
Settings/AudioExpansionSettingsDialog.ui
Settings/AudioSettingsWidget.cpp
Settings/AudioSettingsWidget.h
Settings/AudioSettingsWidget.ui
2024-04-23 15:17:52 +00:00
Settings/AudioStretchSettingsDialog.ui
2021-12-13 12:12:54 +00:00
Settings/BIOSSettingsWidget.cpp
Settings/BIOSSettingsWidget.h
Settings/BIOSSettingsWidget.ui
Settings/ControllerBindingWidget_DualShock2.ui
Settings/ControllerBindingWidget_Guitar.ui
2024-01-01 23:17:33 +00:00
Settings/ControllerBindingWidget_Popn.ui
Settings/ControllerBindingWidget.cpp
Settings/ControllerBindingWidget.h
Settings/ControllerBindingWidget.ui
2023-01-15 07:00:52 +00:00
Settings/ControllerLEDSettingsDialog.ui
2021-12-13 12:12:54 +00:00
Settings/ControllerGlobalSettingsWidget.cpp
Settings/ControllerGlobalSettingsWidget.h
Settings/ControllerGlobalSettingsWidget.ui
Settings/ControllerMacroEditWidget.ui
Settings/ControllerMacroWidget.ui
Settings/ControllerMappingSettingsDialog.ui
Settings/ControllerMouseSettingsDialog.ui
Settings/ControllerSettingsWindow.cpp
Settings/ControllerSettingsWindow.h
Settings/ControllerSettingsWindow.ui
2022-06-08 12:15:10 +00:00
Settings/ControllerSettingWidgetBinder.h
Settings/DebugAnalysisSettingsWidget.cpp
Settings/DebugAnalysisSettingsWidget.h
Settings/DebugAnalysisSettingsWidget.ui
2022-12-24 03:58:21 +00:00
Settings/DebugSettingsWidget.cpp
Settings/DebugSettingsWidget.h
Settings/DebugSettingsWidget.ui
2021-12-13 12:12:54 +00:00
Settings/EmulationSettingsWidget.cpp
Settings/EmulationSettingsWidget.h
Settings/EmulationSettingsWidget.ui
2022-06-18 10:20:24 +00:00
Settings/FolderSettingsWidget.cpp
Settings/FolderSettingsWidget.h
Settings/FolderSettingsWidget.ui
Settings/GameCheatSettingsWidget.cpp
Settings/GameCheatSettingsWidget.h
Settings/GameCheatSettingsWidget.ui
2021-12-13 12:12:54 +00:00
Settings/GameFixSettingsWidget.cpp
Settings/GameFixSettingsWidget.h
Settings/GameFixSettingsWidget.ui
Settings/GameListSettingsWidget.cpp
Settings/GameListSettingsWidget.h
Settings/GameListSettingsWidget.ui
Settings/GamePatchDetailsWidget.ui
Settings/GamePatchSettingsWidget.cpp
Settings/GamePatchSettingsWidget.h
Settings/GamePatchSettingsWidget.ui
Settings/GameSummaryWidget.cpp
Settings/GameSummaryWidget.h
Settings/GameSummaryWidget.ui
2021-12-13 12:12:54 +00:00
Settings/GraphicsSettingsWidget.cpp
Settings/GraphicsSettingsWidget.h
Settings/GraphicsSettingsWidget.ui
Settings/HotkeySettingsWidget.cpp
Settings/HotkeySettingsWidget.h
Settings/InputBindingDialog.cpp
Settings/InputBindingDialog.h
Settings/InputBindingDialog.ui
Settings/InputBindingWidget.cpp
Settings/InputBindingWidget.h
Settings/InterfaceSettingsWidget.cpp
Settings/InterfaceSettingsWidget.h
Settings/InterfaceSettingsWidget.ui
Settings/MemoryCardConvertDialog.cpp
Settings/MemoryCardConvertDialog.h
Settings/MemoryCardConvertDialog.ui
Settings/MemoryCardConvertWorker.cpp
Settings/MemoryCardConvertWorker.h
Settings/MemoryCardCreateDialog.cpp
Settings/MemoryCardCreateDialog.h
Settings/MemoryCardCreateDialog.ui
Settings/MemoryCardSettingsWidget.cpp
Settings/MemoryCardSettingsWidget.h
Settings/MemoryCardSettingsWidget.ui
2022-05-22 12:49:40 +00:00
Settings/DEV9DnsHostDialog.cpp
Settings/DEV9DnsHostDialog.h
Settings/DEV9DnsHostDialog.ui
2022-03-13 17:58:39 +00:00
Settings/DEV9SettingsWidget.cpp
Settings/DEV9SettingsWidget.h
Settings/DEV9SettingsWidget.ui
Settings/DEV9UiCommon.cpp
Settings/DEV9UiCommon.h
2022-03-13 17:58:39 +00:00
Settings/HddCreateQt.cpp
Settings/HddCreateQt.h
Settings/PatchDetailsWidget.ui
Settings/SettingsWindow.cpp
Settings/SettingsWindow.h
Settings/SettingsWindow.ui
2024-08-07 07:48:12 +00:00
Settings/USBBindingWidget_DenshaCon.ui
Settings/USBBindingWidget_DrivingForce.ui
Settings/USBBindingWidget_GTForce.ui
Settings/USBBindingWidget_GunCon2.ui
2024-08-07 07:48:12 +00:00
Settings/USBBindingWidget_RyojouhenCon.ui
Settings/USBBindingWidget_ShinkansenCon.ui
Debugger/AnalysisOptionsDialog.cpp
Debugger/AnalysisOptionsDialog.h
Debugger/AnalysisOptionsDialog.ui
Debugger/CpuWidget.cpp
Debugger/CpuWidget.h
Debugger/CpuWidget.ui
Debugger/DebuggerSettingsManager.cpp
Debugger/DebuggerSettingsManager.h
Debugger/DebuggerWindow.cpp
Debugger/DebuggerWindow.h
Debugger/DebuggerWindow.ui
Debugger/DisassemblyWidget.cpp
Debugger/DisassemblyWidget.h
Debugger/DisassemblyWidget.ui
Debugger/MemorySearchWidget.cpp
Debugger/MemorySearchWidget.h
Debugger/MemorySearchWidget.ui
Debugger/MemoryViewWidget.cpp
Debugger/MemoryViewWidget.h
Debugger/MemoryViewWidget.ui
Debugger/RegisterWidget.cpp
Debugger/RegisterWidget.h
Debugger/RegisterWidget.ui
Debugger/BreakpointDialog.cpp
Debugger/BreakpointDialog.h
Debugger/BreakpointDialog.ui
Debugger/Models/BreakpointModel.cpp
Debugger/Models/BreakpointModel.h
Debugger/Models/ThreadModel.cpp
Debugger/Models/ThreadModel.h
Debugger/Models/StackModel.cpp
Debugger/Models/StackModel.h
Debugger/Models/SavedAddressesModel.cpp
Debugger/Models/SavedAddressesModel.h
Debugger/SymbolTree/NewSymbolDialogs.cpp
Debugger/SymbolTree/NewSymbolDialogs.h
Debugger/SymbolTree/NewSymbolDialog.ui
Debugger/SymbolTree/SymbolTreeLocation.cpp
Debugger/SymbolTree/SymbolTreeLocation.h
Debugger/SymbolTree/SymbolTreeModel.cpp
Debugger/SymbolTree/SymbolTreeModel.h
Debugger/SymbolTree/SymbolTreeNode.cpp
Debugger/SymbolTree/SymbolTreeNode.h
Debugger/SymbolTree/SymbolTreeDelegates.cpp
Debugger/SymbolTree/SymbolTreeDelegates.h
Debugger/SymbolTree/SymbolTreeWidgets.cpp
Debugger/SymbolTree/SymbolTreeWidgets.h
Debugger/SymbolTree/SymbolTreeWidget.ui
Debugger/SymbolTree/TypeString.cpp
Debugger/SymbolTree/TypeString.h
Tools/InputRecording/NewInputRecordingDlg.cpp
Tools/InputRecording/NewInputRecordingDlg.h
Tools/InputRecording/NewInputRecordingDlg.ui
Tools/InputRecording/InputRecordingViewer.cpp
Tools/InputRecording/InputRecordingViewer.h
Tools/InputRecording/InputRecordingViewer.ui
2021-12-13 12:12:54 +00:00
resources/resources.qrc
)
2023-06-24 05:13:36 +00:00
file(GLOB TS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/Translations/*.ts)
2023-06-19 12:03:10 +00:00
2021-12-13 12:12:54 +00:00
target_precompile_headers(pcsx2-qt PRIVATE PrecompiledHeader.h)
set_source_files_properties(PrecompiledHeader.cpp PROPERTIES HEADER_FILE_ONLY TRUE)
2021-12-13 12:12:54 +00:00
target_include_directories(pcsx2-qt PRIVATE
${Qt6Gui_PRIVATE_INCLUDE_DIRS}
"${CMAKE_BINARY_DIR}/common/include"
"${CMAKE_SOURCE_DIR}/pcsx2"
"${CMAKE_SOURCE_DIR}/pcsx2-qt"
)
target_link_libraries(pcsx2-qt PRIVATE
PCSX2_FLAGS
PCSX2
Qt6::Core
Qt6::Gui
Qt6::Widgets
)
2022-05-12 16:07:09 +00:00
# Our Qt builds may have exceptions on, so force them off.
target_compile_definitions(pcsx2-qt PRIVATE QT_NO_EXCEPTIONS)
2023-06-19 12:03:10 +00:00
if(WIN32)
target_sources(pcsx2-qt PRIVATE VCRuntimeChecker.cpp)
2023-06-19 12:03:10 +00:00
set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION "${CMAKE_SOURCE_DIR}/bin/translations")
qt_add_lrelease(pcsx2-qt TS_FILES ${TS_FILES})
copy_base_translations(pcsx2-qt)
2023-06-19 12:03:10 +00:00
elseif(APPLE)
2023-07-15 20:34:20 +00:00
qt_add_lrelease(pcsx2-qt TS_FILES ${TS_FILES} QM_FILES_OUTPUT_VARIABLE QM_FILES)
2023-07-15 20:59:23 +00:00
set(PCSX2_MACOS_LOCALIZATIONS)
foreach (TS_FILE IN LISTS TS_FILES)
get_filename_component(TS_FILE_NAME ${TS_FILE} NAME)
set(regex "^pcsx2-qt_([a-zA-Z0-9\\-]+)\\.ts$")
if (TS_FILE_NAME MATCHES ${regex})
string(REGEX REPLACE ${regex} "\\1" language ${TS_FILE_NAME})
string(REPLACE "-" "_" language ${language})
set(PCSX2_MACOS_LOCALIZATIONS "${PCSX2_MACOS_LOCALIZATIONS}\n\t\t<string>${language}</string>")
else()
message(WARNING "Unrecognized ts file ${TS_FILE_NAME}")
endif()
endforeach()
2023-07-15 20:34:20 +00:00
foreach (QM_FILE IN LISTS QM_FILES)
target_sources(pcsx2-qt PRIVATE ${QM_FILE})
set_source_files_properties(${QM_FILE} PROPERTIES MACOSX_PACKAGE_LOCATION Resources/translations/)
endforeach()
copy_base_translations(pcsx2-qt)
extract_translation_from_ts(Translations/pcsx2-qt_en.ts source PermissionsDialogMicrophone PCSX2_MICROPHONE_USAGE_DESCRIPTION)
2023-06-19 12:03:10 +00:00
else()
qt_add_lrelease(pcsx2-qt TS_FILES ${TS_FILES} QM_FILES_OUTPUT_VARIABLE QM_FILES)
set(QM_OUTPUT_DIR "$<TARGET_FILE_DIR:pcsx2-qt>/translations")
add_custom_command(TARGET pcsx2-qt POST_BUILD COMMAND "${CMAKE_COMMAND}" -E make_directory "${QM_OUTPUT_DIR}")
foreach (QM_FILE IN LISTS QM_FILES)
get_filename_component(QM_FILE_NAME ${QM_FILE} NAME)
add_custom_command(TARGET pcsx2-qt POST_BUILD COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${QM_FILE}" "${QM_OUTPUT_DIR}/${QM_FILE_NAME}")
endforeach()
copy_base_translations(pcsx2-qt)
2023-06-19 12:03:10 +00:00
endif()
2022-05-12 16:07:09 +00:00
# Currently, 7z is only needed for the Windows updater.
if(WIN32)
target_link_libraries(pcsx2-qt PRIVATE
LZMA::LZMA
)
endif()
fixup_file_properties(pcsx2-qt)
2022-05-23 10:01:51 +00:00
setup_main_executable(pcsx2-qt)