From 9897a80216cc54dc6e772fabf87e15828149674e Mon Sep 17 00:00:00 2001 From: Megamouse Date: Tue, 29 Apr 2025 23:43:01 +0200 Subject: [PATCH] CMake: fix gcc build --- Utilities/File.cpp | 2 +- rpcs3/CMakeLists.txt | 5 +- rpcs3/Emu/CMakeLists.txt | 75 +++++++------------ rpcs3/Emu/Cell/Modules/cellGem.cpp | 2 +- rpcs3/{Input => Emu/Io}/evdev_gun_handler.cpp | 0 rpcs3/{Input => Emu/Io}/evdev_gun_handler.h | 0 rpcs3/{ => Emu}/stb_image.cpp | 0 rpcs3/emucore.vcxproj | 8 +- rpcs3/emucore.vcxproj.filters | 8 +- rpcs3/rpcs3.vcxproj | 2 - rpcs3/rpcs3.vcxproj.filters | 6 -- rpcs3/rpcs3qt/CMakeLists.txt | 14 ++-- rpcs3/rpcs3qt/hex_validator.h | 2 +- 13 files changed, 55 insertions(+), 69 deletions(-) rename rpcs3/{Input => Emu/Io}/evdev_gun_handler.cpp (100%) rename rpcs3/{Input => Emu/Io}/evdev_gun_handler.h (100%) rename rpcs3/{ => Emu}/stb_image.cpp (100%) diff --git a/Utilities/File.cpp b/Utilities/File.cpp index c5fecc9d14..aafcfe3c30 100644 --- a/Utilities/File.cpp +++ b/Utilities/File.cpp @@ -1707,7 +1707,7 @@ fs::file fs::file::from_native_handle(native_handle handle) fs::file result; #ifdef _WIN32 - result.m_file = std::make_unique((const HANDLE)handle); + result.m_file = std::make_unique(static_cast(handle)); #else result.m_file = std::make_unique(handle); #endif diff --git a/rpcs3/CMakeLists.txt b/rpcs3/CMakeLists.txt index 010b200c49..a5625b036f 100644 --- a/rpcs3/CMakeLists.txt +++ b/rpcs3/CMakeLists.txt @@ -64,6 +64,9 @@ if (NOT ANDROID) AUTOUIC ON) target_link_libraries(rpcs3_lib + PUBLIC + 3rdparty::stblib + 3rdparty::libevdev PRIVATE rpcs3_emu rpcs3_ui @@ -93,7 +96,7 @@ if (NOT ANDROID) endif() if(WIN32) - target_link_libraries(rpcs3_lib PRIVATE bcrypt ws2_32 Iphlpapi Winmm Psapi gdi32 setupapi pdh) + target_link_libraries(rpcs3_lib PRIVATE ws2_32 Iphlpapi Winmm Psapi gdi32 setupapi) else() target_link_libraries(rpcs3_lib PRIVATE ${CMAKE_DL_LIBS}) endif() diff --git a/rpcs3/Emu/CMakeLists.txt b/rpcs3/Emu/CMakeLists.txt index 61a81558a7..30bc9fb783 100644 --- a/rpcs3/Emu/CMakeLists.txt +++ b/rpcs3/Emu/CMakeLists.txt @@ -5,6 +5,7 @@ add_library(rpcs3_emu STATIC localized_string.cpp savestate_utils.cpp scoped_progress_dialog.cpp + stb_image.cpp System.cpp system_config.cpp system_config_types.cpp @@ -32,17 +33,6 @@ if(HAS_MEMORY_BREAKPOINTS) target_compile_definitions(rpcs3_emu PRIVATE RPCS3_HAS_MEMORY_BREAKPOINTS) endif() -target_link_libraries(rpcs3_emu - PRIVATE - 3rdparty::zlib 3rdparty::yaml-cpp 3rdparty::zstd - PUBLIC - 3rdparty::libevdev 3rdparty::flatbuffers) - - -find_package(Threads REQUIRED) -target_link_libraries(rpcs3_emu - PUBLIC Threads::Threads) - # For stdafx.h target_include_directories(rpcs3_emu PUBLIC @@ -95,10 +85,6 @@ endif() target_include_directories(rpcs3_emu PUBLIC "${CMAKE_SOURCE_DIR}") -target_link_libraries(rpcs3_emu - PUBLIC - 3rdparty::pugixml) - set_source_files_properties("../../Utilities/JITLLVM.cpp" "../../Utilities/JITASM.cpp" PROPERTIES COMPILE_FLAGS "$,/GR-,-fno-rtti>" SKIP_PRECOMPILE_HEADERS ON @@ -169,24 +155,9 @@ if(WIN32) Audio/XAudio2/xaudio2_enumerator.cpp ) target_compile_definitions(rpcs3_emu PRIVATE UNICODE _UNICODE _WIN32_WINNT=0x0A00) + target_link_libraries(rpcs3_emu PRIVATE pdh bcrypt) endif() -target_link_libraries(rpcs3_emu - PUBLIC - 3rdparty::openal) - -target_link_libraries(rpcs3_emu - PUBLIC - 3rdparty::cubeb) - -target_link_libraries(rpcs3_emu - PUBLIC - 3rdparty::soundtouch) - -target_link_libraries(rpcs3_emu - PUBLIC - 3rdparty::miniupnpc) - # Cell target_sources(rpcs3_emu PRIVATE Cell/ErrorCodes.cpp @@ -400,11 +371,6 @@ if(NOT MSVC) ) endif() -target_link_libraries(rpcs3_emu - PRIVATE - 3rdparty::stblib 3rdparty::libpng) - - # CPU target_sources(rpcs3_emu PRIVATE CPU/CPUThread.cpp @@ -420,15 +386,13 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "ARM64|arm64|aarch64") ) endif() -target_link_libraries(rpcs3_emu - PUBLIC 3rdparty::llvm 3rdparty::asmjit) - # Io target_sources(rpcs3_emu PRIVATE Io/Buzz.cpp Io/camera_config.cpp Io/Dimensions.cpp + Io/evdev_gun_handler.cpp Io/GameTablet.cpp Io/GHLtar.cpp Io/GunCon3.cpp @@ -456,10 +420,6 @@ target_sources(rpcs3_emu PRIVATE Io/usio.cpp ) -target_link_libraries(rpcs3_emu PRIVATE - 3rdparty::rtmidi -) - # Np target_sources(rpcs3_emu PRIVATE NP/fb_helpers.cpp @@ -654,14 +614,35 @@ if(TARGET 3rdparty_vulkan) ) endif() +find_package(Threads REQUIRED) + target_link_libraries(rpcs3_emu PUBLIC - 3rdparty::ffmpeg 3rdparty::sdl3 - 3rdparty::opengl 3rdparty::stblib - 3rdparty::vulkan 3rdparty::glew - 3rdparty::libusb 3rdparty::wolfssl + 3rdparty::llvm + 3rdparty::asmjit + 3rdparty::ffmpeg + 3rdparty::sdl3 + 3rdparty::opengl + 3rdparty::stblib + 3rdparty::vulkan + 3rdparty::glew + 3rdparty::libusb + 3rdparty::wolfssl + 3rdparty::openal + 3rdparty::cubeb + 3rdparty::soundtouch + 3rdparty::miniupnpc + 3rdparty::libevdev + 3rdparty::flatbuffers + 3rdparty::pugixml + Threads::Threads PRIVATE 3rdparty::glslang + 3rdparty::libpng + 3rdparty::rtmidi + 3rdparty::yaml-cpp + 3rdparty::zlib + 3rdparty::zstd ) if(APPLE) diff --git a/rpcs3/Emu/Cell/Modules/cellGem.cpp b/rpcs3/Emu/Cell/Modules/cellGem.cpp index f051b67131..ddb582c5d8 100644 --- a/rpcs3/Emu/Cell/Modules/cellGem.cpp +++ b/rpcs3/Emu/Cell/Modules/cellGem.cpp @@ -19,7 +19,7 @@ #include "Input/ps_move_tracker.h" #ifdef HAVE_LIBEVDEV -#include "Input/evdev_gun_handler.h" +#include "Emu/Io/evdev_gun_handler.h" #endif #include // for fmod diff --git a/rpcs3/Input/evdev_gun_handler.cpp b/rpcs3/Emu/Io/evdev_gun_handler.cpp similarity index 100% rename from rpcs3/Input/evdev_gun_handler.cpp rename to rpcs3/Emu/Io/evdev_gun_handler.cpp diff --git a/rpcs3/Input/evdev_gun_handler.h b/rpcs3/Emu/Io/evdev_gun_handler.h similarity index 100% rename from rpcs3/Input/evdev_gun_handler.h rename to rpcs3/Emu/Io/evdev_gun_handler.h diff --git a/rpcs3/stb_image.cpp b/rpcs3/Emu/stb_image.cpp similarity index 100% rename from rpcs3/stb_image.cpp rename to rpcs3/Emu/stb_image.cpp diff --git a/rpcs3/emucore.vcxproj b/rpcs3/emucore.vcxproj index 07414051ed..6b1475aa7c 100644 --- a/rpcs3/emucore.vcxproj +++ b/rpcs3/emucore.vcxproj @@ -82,6 +82,9 @@ + + true + @@ -530,7 +533,7 @@ - + Create @@ -574,6 +577,9 @@ + + true + diff --git a/rpcs3/emucore.vcxproj.filters b/rpcs3/emucore.vcxproj.filters index c0ef133d1a..7874d99a7d 100644 --- a/rpcs3/emucore.vcxproj.filters +++ b/rpcs3/emucore.vcxproj.filters @@ -1083,7 +1083,7 @@ Emu - + Emu\GPU\RSX\Program @@ -1357,6 +1357,9 @@ Emu\GPU\RSX\Overlays + + Emu\Io + @@ -2725,6 +2728,9 @@ Emu\GPU\RSX\Overlays + + Emu\Io + diff --git a/rpcs3/rpcs3.vcxproj b/rpcs3/rpcs3.vcxproj index 771d60ba2a..73fdea4547 100644 --- a/rpcs3/rpcs3.vcxproj +++ b/rpcs3/rpcs3.vcxproj @@ -193,7 +193,6 @@ - @@ -920,7 +919,6 @@ - diff --git a/rpcs3/rpcs3.vcxproj.filters b/rpcs3/rpcs3.vcxproj.filters index cc7e9486f4..127529fcd0 100644 --- a/rpcs3/rpcs3.vcxproj.filters +++ b/rpcs3/rpcs3.vcxproj.filters @@ -993,9 +993,6 @@ Generated Files\Release - - Io\evdev - Io\SDL @@ -1349,9 +1346,6 @@ Gui\settings - - Io\evdev - rpcs3 diff --git a/rpcs3/rpcs3qt/CMakeLists.txt b/rpcs3/rpcs3qt/CMakeLists.txt index 25b48e5f28..2cc02f578b 100644 --- a/rpcs3/rpcs3qt/CMakeLists.txt +++ b/rpcs3/rpcs3qt/CMakeLists.txt @@ -137,7 +137,6 @@ add_library(rpcs3_ui STATIC ../module_verifier.cpp ../rpcs3.cpp ../rpcs3_version.cpp - ../stb_image.cpp ../stdafx.cpp ../Input/basic_keyboard_handler.cpp @@ -146,7 +145,6 @@ add_library(rpcs3_ui STATIC ../Input/ds4_pad_handler.cpp ../Input/dualsense_pad_handler.cpp ../Input/evdev_joystick_handler.cpp - ../Input/evdev_gun_handler.cpp ../Input/gui_pad_thread.cpp ../Input/hid_pad_handler.cpp ../Input/keyboard_pad_handler.cpp @@ -189,20 +187,20 @@ target_compile_definitions(rpcs3_ui PRIVATE WIN32_LEAN_AND_MEAN) target_link_libraries(rpcs3_ui PUBLIC + rpcs3_emu 3rdparty::qt6 3rdparty::yaml-cpp - - PRIVATE - rpcs3_emu 3rdparty::zlib - 3rdparty::pugixml 3rdparty::discordRPC 3rdparty::hidapi 3rdparty::libusb - 3rdparty::libpng - 3rdparty::7zip 3rdparty::wolfssl 3rdparty::libcurl 3rdparty::opencv 3rdparty::fusion + + PRIVATE + 3rdparty::pugixml + 3rdparty::libpng + 3rdparty::7zip 3rdparty::rtmidi) diff --git a/rpcs3/rpcs3qt/hex_validator.h b/rpcs3/rpcs3qt/hex_validator.h index 8f2b2fc248..68af698bfb 100644 --- a/rpcs3/rpcs3qt/hex_validator.h +++ b/rpcs3/rpcs3qt/hex_validator.h @@ -44,7 +44,7 @@ public: if (!ok) return QValidator::Invalid; - if (m_max_bits < 64) + if (m_max_bits < 64) { const qulonglong max_val = (qulonglong(1) << m_max_bits) - 1; if (value > max_val)