diff --git a/3rdparty/curl/CMakeLists.txt b/3rdparty/curl/CMakeLists.txt index d8fc5790fc..b20763af65 100644 --- a/3rdparty/curl/CMakeLists.txt +++ b/3rdparty/curl/CMakeLists.txt @@ -26,8 +26,8 @@ else() endif() set(CURL_USE_LIBSSH2 OFF CACHE BOOL "Use libSSH2") set(CURL_USE_LIBPSL OFF CACHE BOOL "Use libPSL") - - set(CURL_DISABLE_TESTS ON) + option(BUILD_TESTING "Build tests" OFF) + option(BUILD_EXAMPLES "Build libcurl examples" OFF) add_subdirectory(curl EXCLUDE_FROM_ALL) diff --git a/3rdparty/qt6.cmake b/3rdparty/qt6.cmake index 259727879e..ef89bdab05 100644 --- a/3rdparty/qt6.cmake +++ b/3rdparty/qt6.cmake @@ -32,8 +32,7 @@ Find the correct ppa at https://launchpad.net/~beineri and follow the instructio else() message("CMake was unable to find Qt6!") if(WIN32) - message(FATAL_ERROR "Make sure the QTDIR env variable has been set properly. (for example C:\\Qt\\${QT_MIN_VER}\\msvc2019_64\\) -You can also try setting the Qt6_DIR preprocessor definiton.") + message(FATAL_ERROR "Make sure the Qt6_ROOT environment variable has been set properly. (for example C:\\Qt\\${QT_MIN_VER}\\msvc2022_64\\)") elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") message(FATAL_ERROR "Make sure to install your distro's qt6 package!") else() diff --git a/CMakeLists.txt b/CMakeLists.txt index 9d2edd8365..a0867ab67f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -147,6 +147,9 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${PROJECT_BINARY_DIR}/bin") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${PROJECT_BINARY_DIR}/bin") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${PROJECT_BINARY_DIR}/bin") +if(BUILD_RPCS3_TESTS) + enable_testing() +endif() add_subdirectory(rpcs3) set_directory_properties(PROPERTIES VS_STARTUP_PROJECT rpcs3) diff --git a/buildfiles/cmake/FindFFMPEG.cmake b/buildfiles/cmake/FindFFMPEG.cmake index 79144eb94c..f4f62034a8 100644 --- a/buildfiles/cmake/FindFFMPEG.cmake +++ b/buildfiles/cmake/FindFFMPEG.cmake @@ -21,7 +21,7 @@ if (FFMPEG_LIBRARIES AND FFMPEG_INCLUDE_DIR) # in cache already set(FFMPEG_FOUND TRUE) -else (FFMPEG_LIBRARIES AND FFMPEG_INCLUDE_DIR) +else () # use pkg-config to get the directories and then use these values # in the FIND_PATH() and FIND_LIBRARY() calls find_package(PkgConfig) @@ -31,7 +31,7 @@ else (FFMPEG_LIBRARIES AND FFMPEG_INCLUDE_DIR) pkg_check_modules(_FFMPEG_AVUTIL libavutil) pkg_check_modules(_FFMPEG_SWSCALE libswscale) pkg_check_modules(_FFMPEG_SWRESAMPLE libswresample) - endif (PKG_CONFIG_FOUND) + endif () find_path(FFMPEG_AVCODEC_INCLUDE_DIR NAMES libavcodec/avcodec.h @@ -64,9 +64,10 @@ else (FFMPEG_LIBRARIES AND FFMPEG_INCLUDE_DIR) PATHS ${_FFMPEG_SWRESAMPLE_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib ) - if (FFMPEG_LIBAVCODEC AND FFMPEG_LIBAVFORMAT AND FFMPEG_LIBSWSCALE AND FFMPEG_LIBSWRESAMPLE) - set(FFMPEG_FOUND TRUE) - endif() + find_package_handle_standard_args(FFMPEG + DEFAULT_MSG + FFMPEG_LIBAVCODEC FFMPEG_LIBAVFORMAT FFMPEG_LIBSWSCALE FFMPEG_LIBSWRESAMPLE + ) if (FFMPEG_FOUND) set(FFMPEG_INCLUDE_DIR ${FFMPEG_AVCODEC_INCLUDE_DIR}) @@ -79,17 +80,6 @@ else (FFMPEG_LIBRARIES AND FFMPEG_INCLUDE_DIR) ${FFMPEG_LIBSWRESAMPLE} ) - endif (FFMPEG_FOUND) - - if (FFMPEG_FOUND) - if (NOT FFMPEG_FIND_QUIETLY) - message(STATUS "Found FFMPEG or Libav: ${FFMPEG_LIBRARIES}, ${FFMPEG_INCLUDE_DIR}") - endif (NOT FFMPEG_FIND_QUIETLY) - else (FFMPEG_FOUND) - if (FFMPEG_FIND_REQUIRED) - message(FATAL_ERROR "Could not find libavcodec or libavformat or libavutil or libswscale or libswresample") - endif (FFMPEG_FIND_REQUIRED) - endif (FFMPEG_FOUND) - -endif (FFMPEG_LIBRARIES AND FFMPEG_INCLUDE_DIR) + endif () +endif () diff --git a/buildfiles/cmake/FindWayland.cmake b/buildfiles/cmake/FindWayland.cmake index f93218b873..6ace12a523 100644 --- a/buildfiles/cmake/FindWayland.cmake +++ b/buildfiles/cmake/FindWayland.cmake @@ -49,11 +49,11 @@ IF (NOT WIN32) include(FindPackageHandleStandardArgs) - FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND_CLIENT DEFAULT_MSG WAYLAND_CLIENT_LIBRARIES WAYLAND_CLIENT_INCLUDE_DIR) - FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND_SERVER DEFAULT_MSG WAYLAND_SERVER_LIBRARIES WAYLAND_SERVER_INCLUDE_DIR) - FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND_EGL DEFAULT_MSG WAYLAND_EGL_LIBRARIES WAYLAND_EGL_INCLUDE_DIR) - FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND_CURSOR DEFAULT_MSG WAYLAND_CURSOR_LIBRARIES WAYLAND_CURSOR_INCLUDE_DIR) - FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND DEFAULT_MSG WAYLAND_LIBRARIES WAYLAND_INCLUDE_DIR) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND_CLIENT REQUIRED_VARS WAYLAND_CLIENT_LIBRARIES WAYLAND_CLIENT_INCLUDE_DIR NAME_MISMATCHED) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND_SERVER REQUIRED_VARS WAYLAND_SERVER_LIBRARIES WAYLAND_SERVER_INCLUDE_DIR NAME_MISMATCHED) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND_EGL REQUIRED_VARS WAYLAND_EGL_LIBRARIES WAYLAND_EGL_INCLUDE_DIR NAME_MISMATCHED) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND_CURSOR REQUIRED_VARS WAYLAND_CURSOR_LIBRARIES WAYLAND_CURSOR_INCLUDE_DIR NAME_MISMATCHED) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND REQUIRED_VARS WAYLAND_LIBRARIES WAYLAND_INCLUDE_DIR NAME_MISMATCHED) MARK_AS_ADVANCED( WAYLAND_INCLUDE_DIR WAYLAND_LIBRARIES diff --git a/rpcs3/CMakeLists.txt b/rpcs3/CMakeLists.txt index 395ea52e87..150d667af1 100644 --- a/rpcs3/CMakeLists.txt +++ b/rpcs3/CMakeLists.txt @@ -13,23 +13,23 @@ set(CMAKE_CXX_STANDARD 20) set(ADDITIONAL_LIBS "") if(CMAKE_SYSTEM_NAME STREQUAL "Linux") #on some Linux distros shm_unlink and similar functions are in librt only - set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} "rt") + list(APPEND ADDITIONAL_LIBS "rt") elseif(NOT WIN32 AND NOT CMAKE_CXX_FLAGS MATCHES "LIBICONV_PLUG") #it seems like glibc includes the iconv functions we use but other libc #implementations like the one on OSX don't seem implement them - set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} "iconv") + list(APPEND ADDITIONAL_LIBS "iconv") endif() if(UNIX AND NOT APPLE AND NOT ANDROID) - add_definitions(-DDATADIR="${CMAKE_INSTALL_FULL_DATADIR}/rpcs3") + add_compile_definitions(DATADIR="${CMAKE_INSTALL_FULL_DATADIR}/rpcs3") # Optionally enable X11 for window management find_package(X11) if(X11_FOUND) - add_definitions(-DHAVE_X11) + add_compile_definitions(HAVE_X11) endif() find_package(Wayland) if(WAYLAND_FOUND) - add_definitions(-DHAVE_WAYLAND) + add_compile_definitions(HAVE_WAYLAND) endif() endif() @@ -188,7 +188,6 @@ endif() # Unit tests if(BUILD_RPCS3_TESTS) - enable_testing() find_package(GTest REQUIRED) message(STATUS "Building unit tests...") @@ -206,6 +205,7 @@ if(BUILD_RPCS3_TESTS) target_link_libraries(rpcs3_test PRIVATE rpcs3_lib + rpcs3_emu GTest::gtest ) diff --git a/rpcs3/Input/hid_pad_handler.h b/rpcs3/Input/hid_pad_handler.h index 36e7358211..d6f93ce857 100644 --- a/rpcs3/Input/hid_pad_handler.h +++ b/rpcs3/Input/hid_pad_handler.h @@ -4,7 +4,7 @@ #include "Utilities/CRC.h" #include "Utilities/Thread.h" -#include "hidapi.h" +#include #ifdef ANDROID #include "hidapi_libusb.h"