rpcs3/rpcs3/rpcs3qt/CMakeLists.txt

137 lines
3.4 KiB
CMake

# prevent WolfSSL from warning about not having harden options
add_compile_definitions(WC_NO_HARDEN)
set(SRC_FILES
about_dialog.cpp
auto_pause_settings_dialog.cpp
breakpoint_handler.cpp
breakpoint_list.cpp
call_stack_list.cpp
camera_settings_dialog.cpp
cg_disasm_window.cpp
cheat_manager.cpp
config_adapter.cpp
curl_handle.cpp
custom_dialog.cpp
custom_table_widget_item.cpp
debugger_frame.cpp
debugger_list.cpp
downloader.cpp
_discord_utils.cpp
emu_settings.cpp
fatal_error_dialog.cpp
find_dialog.cpp
game_compatibility.cpp
game_list.cpp
game_list_frame.cpp
game_list_grid.cpp
game_list_grid_delegate.cpp
gui_application.cpp
gl_gs_frame.cpp
gs_frame.cpp
gui_settings.cpp
input_dialog.cpp
instruction_editor_dialog.cpp
kernel_explorer.cpp
localized.cpp
localized_emu.h
log_frame.cpp
log_viewer.cpp
main_window.cpp
memory_string_searcher.cpp
memory_viewer_panel.cpp
microphone_creator.cpp
msg_dialog_frame.cpp
osk_dialog_frame.cpp
pad_led_settings_dialog.cpp
pad_settings_dialog.cpp
patch_creator_dialog.cpp
patch_manager_dialog.cpp
persistent_settings.cpp
pkg_install_dialog.cpp
progress_dialog.cpp
qt_camera_error_handler.cpp
qt_camera_handler.cpp
qt_camera_video_surface.cpp
qt_music_error_handler.cpp
qt_music_handler.cpp
qt_utils.cpp
register_editor_dialog.cpp
recvmessage_dialog_frame.cpp
render_creator.cpp
rpcn_settings_dialog.cpp
rsx_debugger.cpp
save_data_dialog.cpp
save_data_info_dialog.cpp
save_data_list_dialog.cpp
save_manager_dialog.cpp
screenshot_manager_dialog.cpp
screenshot_preview.cpp
sendmessage_dialog_frame.cpp
settings.cpp
settings_dialog.cpp
shortcut_utils.cpp
skylander_dialog.cpp
syntax_highlighter.cpp
tooltips.cpp
trophy_manager_dialog.cpp
trophy_notification_frame.cpp
trophy_notification_helper.cpp
update_manager.cpp
user_account.cpp
user_manager_dialog.cpp
vfs_dialog.cpp
vfs_dialog_path_widget.cpp
vfs_dialog_tab.cpp
vfs_dialog_usb_input.cpp
vfs_dialog_usb_tab.cpp
welcome_dialog.cpp
)
set(UI_FILES
about_dialog.ui
camera_settings_dialog.ui
main_window.ui
pad_led_settings_dialog.ui
pad_settings_dialog.ui
patch_creator_dialog.ui
patch_manager_dialog.ui
settings_dialog.ui
welcome_dialog.ui
)
set(RES_FILES "../resources.qrc")
if(WIN32)
list(APPEND RES_FILES "../windows.qrc")
endif()
add_library(rpcs3_ui ${SRC_FILES} ${UI_FILES} ${RES_FILES})
set_target_properties(rpcs3_ui
PROPERTIES
AUTOMOC ON
AUTOUIC ON
AUTORCC ON)
# AUTOMOC brings Windows.h to the sources, which have some definitions conflicting with winsock2.h
# define WIN32_LEAN_AND_MEAN resolve the problem
# https://docs.microsoft.com/en-us/windows/win32/winsock/creating-a-basic-winsock-application
# https://docs.microsoft.com/en-us/windows/win32/winprog/using-the-windows-headers#faster-builds-with-smaller-header-files
target_compile_definitions(rpcs3_ui PRIVATE WIN32_LEAN_AND_MEAN)
target_link_libraries(rpcs3_ui
PUBLIC
3rdparty::qt5 3rdparty::yaml-cpp
PRIVATE
rpcs3_emu
3rdparty::zlib 3rdparty::pugixml
3rdparty::discordRPC
3rdparty::hidapi
3rdparty::libusb
3rdparty::libpng
3rdparty::7z
3rdparty::wolfssl
3rdparty::libcurl)