summaryrefslogtreecommitdiff
path: root/externals
diff options
context:
space:
mode:
Diffstat (limited to 'externals')
-rw-r--r--externals/CMakeLists.txt19
-rw-r--r--externals/cmake-modules/WindowsCopyFiles.cmake27
-rw-r--r--externals/find-modules/FindDiscordRPC.cmake27
-rw-r--r--externals/find-modules/FindFFmpeg.cmake195
-rw-r--r--externals/find-modules/FindOpus.cmake15
-rw-r--r--externals/find-modules/Findenet.cmake16
-rw-r--r--externals/find-modules/Findhttplib.cmake21
-rw-r--r--externals/find-modules/Findinih.cmake16
-rw-r--r--externals/find-modules/Findlibusb.cmake16
-rw-r--r--externals/find-modules/Findlz4.cmake26
-rw-r--r--externals/find-modules/Findzstd.cmake26
11 files changed, 9 insertions, 395 deletions
diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt
index 1b9ae0009..dfd40cba6 100644
--- a/externals/CMakeLists.txt
+++ b/externals/CMakeLists.txt
@@ -1,9 +1,9 @@
# SPDX-FileCopyrightText: 2016 Citra Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
-list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMakeModules")
-list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/externals/find-modules")
-include(DownloadExternals)
+# Dynarmic has cmake_minimum_required(3.12) and we may want to override
+# some of its variables, which is only possible in 3.13+
+set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
# xbyak
if ((ARCHITECTURE_x86 OR ARCHITECTURE_x86_64) AND NOT TARGET xbyak::xbyak)
@@ -12,8 +12,7 @@ endif()
# Dynarmic
if ((ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) AND NOT TARGET dynarmic::dynarmic)
- set(DYNARMIC_NO_BUNDLED_FMT ON)
- set(DYNARMIC_IGNORE_ASSERTS ON CACHE BOOL "" FORCE)
+ set(DYNARMIC_IGNORE_ASSERTS ON)
add_subdirectory(dynarmic EXCLUDE_FROM_ALL)
add_library(dynarmic::dynarmic ALIAS dynarmic)
endif()
@@ -60,10 +59,10 @@ if (YUZU_USE_EXTERNAL_SDL2)
Locale Power Render)
foreach(_SUB ${SDL_UNUSED_SUBSYSTEMS})
string(TOUPPER ${_SUB} _OPT)
- option(SDL_${_OPT} "" OFF)
+ set(SDL_${_OPT} OFF)
endforeach()
- option(HIDAPI "" ON)
+ set(HIDAPI ON)
endif()
set(SDL_STATIC ON)
set(SDL_SHARED OFF)
@@ -83,7 +82,7 @@ endif()
# Cubeb
if (ENABLE_CUBEB AND NOT TARGET cubeb::cubeb)
- set(BUILD_TESTS OFF CACHE BOOL "")
+ set(BUILD_TESTS OFF)
add_subdirectory(cubeb EXCLUDE_FROM_ALL)
add_library(cubeb::cubeb ALIAS cubeb)
endif()
@@ -98,6 +97,7 @@ endif()
# Sirit
add_subdirectory(sirit EXCLUDE_FROM_ALL)
+# httplib
if (ENABLE_WEB_SERVICE AND NOT TARGET httplib::httplib)
if (NOT WIN32)
find_package(OpenSSL 1.1)
@@ -108,7 +108,7 @@ if (ENABLE_WEB_SERVICE AND NOT TARGET httplib::httplib)
if (WIN32 OR NOT OPENSSL_FOUND)
# LibreSSL
- set(LIBRESSL_SKIP_INSTALL ON CACHE BOOL "")
+ set(LIBRESSL_SKIP_INSTALL ON)
set(OPENSSLDIR "/etc/ssl/")
add_subdirectory(libressl EXCLUDE_FROM_ALL)
target_include_directories(ssl INTERFACE ./libressl/include)
@@ -118,7 +118,6 @@ if (ENABLE_WEB_SERVICE AND NOT TARGET httplib::httplib)
DEFINITION OPENSSL_LIBS)
endif()
- # httplib
add_library(httplib INTERFACE)
target_include_directories(httplib INTERFACE ./cpp-httplib)
target_compile_definitions(httplib INTERFACE -DCPPHTTPLIB_OPENSSL_SUPPORT)
diff --git a/externals/cmake-modules/WindowsCopyFiles.cmake b/externals/cmake-modules/WindowsCopyFiles.cmake
deleted file mode 100644
index 08b598365..000000000
--- a/externals/cmake-modules/WindowsCopyFiles.cmake
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-FileCopyrightText: 2018 yuzu Emulator Project
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-# This file provides the function windows_copy_files.
-# This is only valid on Windows.
-
-# Include guard
-if(__windows_copy_files)
- return()
-endif()
-set(__windows_copy_files YES)
-
-# Any number of files to copy from SOURCE_DIR to DEST_DIR can be specified after DEST_DIR.
-# This copying happens post-build.
-function(windows_copy_files TARGET SOURCE_DIR DEST_DIR)
- # windows commandline expects the / to be \ so switch them
- string(REPLACE "/" "\\\\" SOURCE_DIR ${SOURCE_DIR})
- string(REPLACE "/" "\\\\" DEST_DIR ${DEST_DIR})
-
- # /NJH /NJS /NDL /NFL /NC /NS /NP - Silence any output
- # cmake adds an extra check for command success which doesn't work too well with robocopy
- # so trick it into thinking the command was successful with the || cmd /c "exit /b 0"
- add_custom_command(TARGET ${TARGET} POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E make_directory ${DEST_DIR}
- COMMAND robocopy ${SOURCE_DIR} ${DEST_DIR} ${ARGN} /NJH /NJS /NDL /NFL /NC /NS /NP || cmd /c "exit /b 0"
- )
-endfunction()
diff --git a/externals/find-modules/FindDiscordRPC.cmake b/externals/find-modules/FindDiscordRPC.cmake
deleted file mode 100644
index 44ca9904f..000000000
--- a/externals/find-modules/FindDiscordRPC.cmake
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-FileCopyrightText: 2022 Alexandre Bouvier <contact@amb.tf>
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-find_path(DiscordRPC_INCLUDE_DIR discord_rpc.h)
-
-find_library(DiscordRPC_LIBRARY discord-rpc)
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(DiscordRPC
- REQUIRED_VARS
- DiscordRPC_LIBRARY
- DiscordRPC_INCLUDE_DIR
-)
-
-if (DiscordRPC_FOUND AND NOT TARGET DiscordRPC::discord-rpc)
- add_library(DiscordRPC::discord-rpc UNKNOWN IMPORTED)
- set_target_properties(DiscordRPC::discord-rpc PROPERTIES
- IMPORTED_LOCATION "${DiscordRPC_LIBRARY}"
- INTERFACE_INCLUDE_DIRECTORIES "${DiscordRPC_INCLUDE_DIR}"
- )
-endif()
-
-mark_as_advanced(
- DiscordRPC_INCLUDE_DIR
- DiscordRPC_LIBRARY
-)
diff --git a/externals/find-modules/FindFFmpeg.cmake b/externals/find-modules/FindFFmpeg.cmake
deleted file mode 100644
index eedf28aea..000000000
--- a/externals/find-modules/FindFFmpeg.cmake
+++ /dev/null
@@ -1,195 +0,0 @@
-# SPDX-FileCopyrightText: 2019 Citra Emulator Project
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-# FindFFmpeg
-# ----------
-#
-# Find the native FFmpeg includes and libraries
-#
-# This module defines the following variables:
-#
-# FFmpeg_INCLUDE_<component>: where to find <component>.h
-# FFmpeg_LIBRARY_<component>: where to find the <component> library
-# FFmpeg_INCLUDE_DIR: aggregate all the include paths
-# FFmpeg_LIBRARIES: aggregate all the paths to the libraries
-# FFmpeg_FOUND: True if all components have been found
-#
-# This module defines the following targets, which are prefered over variables:
-#
-# FFmpeg::<component>: Target to use <component> directly, with include path,
-# library and dependencies set up. If you are using a static build, you are
-# responsible for adding any external dependencies (such as zlib, bzlib...).
-#
-# <component> can be one of:
-# avcodec
-# avdevice
-# avfilter
-# avformat
-# avutil
-# postproc
-# swresample
-# swscale
-#
-
-set(_FFmpeg_ALL_COMPONENTS
- avcodec
- avdevice
- avfilter
- avformat
- avutil
- postproc
- swresample
- swscale
-)
-
-set(_FFmpeg_DEPS_avcodec avutil)
-set(_FFmpeg_DEPS_avdevice avcodec avformat avutil)
-set(_FFmpeg_DEPS_avfilter avutil)
-set(_FFmpeg_DEPS_avformat avcodec avutil)
-set(_FFmpeg_DEPS_postproc avutil)
-set(_FFmpeg_DEPS_swresample avutil)
-set(_FFmpeg_DEPS_swscale avutil)
-
-function(find_ffmpeg LIBNAME)
- if(DEFINED ENV{FFMPEG_DIR})
- set(FFMPEG_DIR $ENV{FFMPEG_DIR})
- endif()
-
- if(FFMPEG_DIR)
- list(APPEND INCLUDE_PATHS
- ${FFMPEG_DIR}
- ${FFMPEG_DIR}/ffmpeg
- ${FFMPEG_DIR}/lib${LIBNAME}
- ${FFMPEG_DIR}/include/lib${LIBNAME}
- ${FFMPEG_DIR}/include/ffmpeg
- ${FFMPEG_DIR}/include
- NO_DEFAULT_PATH
- NO_CMAKE_FIND_ROOT_PATH
- )
- list(APPEND LIB_PATHS
- ${FFMPEG_DIR}
- ${FFMPEG_DIR}/lib
- ${FFMPEG_DIR}/lib${LIBNAME}
- NO_DEFAULT_PATH
- NO_CMAKE_FIND_ROOT_PATH
- )
- else()
- list(APPEND INCLUDE_PATHS
- /usr/local/include/ffmpeg
- /usr/local/include/lib${LIBNAME}
- /usr/include/ffmpeg
- /usr/include/lib${LIBNAME}
- /usr/include/ffmpeg/lib${LIBNAME}
- )
-
- list(APPEND LIB_PATHS
- /usr/local/lib
- /usr/lib
- )
- endif()
-
- find_path(FFmpeg_INCLUDE_${LIBNAME} lib${LIBNAME}/${LIBNAME}.h
- HINTS ${INCLUDE_PATHS}
- )
-
- find_library(FFmpeg_LIBRARY_${LIBNAME} ${LIBNAME}
- HINTS ${LIB_PATHS}
- )
-
- if(NOT FFMPEG_DIR AND (NOT FFmpeg_LIBRARY_${LIBNAME} OR NOT FFmpeg_INCLUDE_${LIBNAME}))
- # Didn't find it in the usual paths, try pkg-config
- find_package(PkgConfig QUIET)
- pkg_check_modules(FFmpeg_PKGCONFIG_${LIBNAME} QUIET lib${LIBNAME})
-
- find_path(FFmpeg_INCLUDE_${LIBNAME} lib${LIBNAME}/${LIBNAME}.h
- ${FFmpeg_PKGCONFIG_${LIBNAME}_INCLUDE_DIRS}
- )
-
- find_library(FFmpeg_LIBRARY_${LIBNAME} ${LIBNAME}
- ${FFmpeg_PKGCONFIG_${LIBNAME}_LIBRARY_DIRS}
- )
- endif()
-
- if(FFmpeg_INCLUDE_${LIBNAME} AND FFmpeg_LIBRARY_${LIBNAME})
- set(FFmpeg_INCLUDE_${LIBNAME} "${FFmpeg_INCLUDE_${LIBNAME}}" PARENT_SCOPE)
- set(FFmpeg_LIBRARY_${LIBNAME} "${FFmpeg_LIBRARY_${LIBNAME}}" PARENT_SCOPE)
-
- # Extract FFmpeg version from version.h
- foreach(v MAJOR MINOR MICRO)
- set(FFmpeg_${LIBNAME}_VERSION_${v} 0)
- endforeach()
- string(TOUPPER ${LIBNAME} LIBNAME_UPPER)
- file(STRINGS "${FFmpeg_INCLUDE_${LIBNAME}}/lib${LIBNAME}/version.h" _FFmpeg_VERSION_H_CONTENTS REGEX "#define LIB${LIBNAME_UPPER}_VERSION_(MAJOR|MINOR|MICRO) ")
- set(_FFmpeg_VERSION_REGEX "([0-9]+)")
- foreach(v MAJOR MINOR MICRO)
- if("${_FFmpeg_VERSION_H_CONTENTS}" MATCHES "#define LIB${LIBNAME_UPPER}_VERSION_${v}[\\t ]+${_FFmpeg_VERSION_REGEX}")
- set(FFmpeg_${LIBNAME}_VERSION_${v} "${CMAKE_MATCH_1}")
- endif()
- endforeach()
- set(FFmpeg_${LIBNAME}_VERSION "${FFmpeg_${LIBNAME}_VERSION_MAJOR}.${FFmpeg_${LIBNAME}_VERSION_MINOR}.${FFmpeg_${LIBNAME}_VERSION_MICRO}")
- set(FFmpeg_${c}_VERSION "${FFmpeg_${LIBNAME}_VERSION}" PARENT_SCOPE)
- unset(_FFmpeg_VERSION_REGEX)
- unset(_FFmpeg_VERSION_H_CONTENTS)
-
- set(FFmpeg_${c}_FOUND TRUE PARENT_SCOPE)
- if(NOT FFmpeg_FIND_QUIETLY)
- message("-- Found ${LIBNAME}: ${FFmpeg_INCLUDE_${LIBNAME}} ${FFmpeg_LIBRARY_${LIBNAME}} (version: ${FFmpeg_${LIBNAME}_VERSION})")
- endif()
- endif()
-endfunction()
-
-foreach(c ${_FFmpeg_ALL_COMPONENTS})
- find_ffmpeg(${c})
-endforeach()
-
-foreach(c ${_FFmpeg_ALL_COMPONENTS})
- if(FFmpeg_${c}_FOUND)
- list(APPEND FFmpeg_INCLUDE_DIR ${FFmpeg_INCLUDE_${c}})
- list(APPEND FFmpeg_LIBRARIES ${FFmpeg_LIBRARY_${c}})
-
- add_library(FFmpeg::${c} IMPORTED UNKNOWN)
- set_target_properties(FFmpeg::${c} PROPERTIES
- IMPORTED_LOCATION ${FFmpeg_LIBRARY_${c}}
- INTERFACE_INCLUDE_DIRECTORIES ${FFmpeg_INCLUDE_${c}}
- )
- if(_FFmpeg_DEPS_${c})
- set(deps)
- foreach(dep ${_FFmpeg_DEPS_${c}})
- list(APPEND deps FFmpeg::${dep})
- endforeach()
-
- set_target_properties(FFmpeg::${c} PROPERTIES
- INTERFACE_LINK_LIBRARIES "${deps}"
- )
- unset(deps)
- endif()
- endif()
-endforeach()
-
-if(FFmpeg_INCLUDE_DIR)
- list(REMOVE_DUPLICATES FFmpeg_INCLUDE_DIR)
-endif()
-
-foreach(c ${FFmpeg_FIND_COMPONENTS})
- list(APPEND _FFmpeg_REQUIRED_VARS FFmpeg_INCLUDE_${c} FFmpeg_LIBRARY_${c})
-endforeach()
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(FFmpeg
- REQUIRED_VARS ${_FFmpeg_REQUIRED_VARS}
- HANDLE_COMPONENTS
-)
-
-foreach(c ${_FFmpeg_ALL_COMPONENTS})
- unset(_FFmpeg_DEPS_${c})
-endforeach()
-unset(_FFmpeg_ALL_COMPONENTS)
-unset(_FFmpeg_REQUIRED_VARS)
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(FFmpeg
- REQUIRED_VARS
- FFmpeg_LIBRARIES
- FFmpeg_INCLUDE_DIR
- HANDLE_COMPONENTS
-)
diff --git a/externals/find-modules/FindOpus.cmake b/externals/find-modules/FindOpus.cmake
deleted file mode 100644
index 25a44fd87..000000000
--- a/externals/find-modules/FindOpus.cmake
+++ /dev/null
@@ -1,15 +0,0 @@
-# SPDX-FileCopyrightText: 2022 yuzu Emulator Project
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-find_package(PkgConfig QUIET)
-pkg_search_module(OPUS QUIET IMPORTED_TARGET opus)
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(Opus
- REQUIRED_VARS OPUS_LINK_LIBRARIES
- VERSION_VAR OPUS_VERSION
-)
-
-if (Opus_FOUND AND NOT TARGET Opus::opus)
- add_library(Opus::opus ALIAS PkgConfig::OPUS)
-endif()
diff --git a/externals/find-modules/Findenet.cmake b/externals/find-modules/Findenet.cmake
deleted file mode 100644
index 859a6f386..000000000
--- a/externals/find-modules/Findenet.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-# SPDX-FileCopyrightText: 2022 Alexandre Bouvier <contact@amb.tf>
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-find_package(PkgConfig QUIET)
-pkg_search_module(ENET QUIET IMPORTED_TARGET libenet)
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(enet
- REQUIRED_VARS ENET_LINK_LIBRARIES
- VERSION_VAR ENET_VERSION
-)
-
-if (enet_FOUND AND NOT TARGET enet::enet)
- add_library(enet::enet ALIAS PkgConfig::ENET)
-endif()
diff --git a/externals/find-modules/Findhttplib.cmake b/externals/find-modules/Findhttplib.cmake
deleted file mode 100644
index 4d17cb393..000000000
--- a/externals/find-modules/Findhttplib.cmake
+++ /dev/null
@@ -1,21 +0,0 @@
-# SPDX-FileCopyrightText: 2022 Andrea Pappacoda <andrea@pappacoda.it>
-#
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-include(FindPackageHandleStandardArgs)
-
-find_package(httplib QUIET CONFIG)
-if (httplib_FOUND)
- find_package_handle_standard_args(httplib CONFIG_MODE)
-else()
- find_package(PkgConfig QUIET)
- pkg_search_module(HTTPLIB QUIET IMPORTED_TARGET cpp-httplib)
- find_package_handle_standard_args(httplib
- REQUIRED_VARS HTTPLIB_INCLUDEDIR
- VERSION_VAR HTTPLIB_VERSION
- )
-endif()
-
-if (httplib_FOUND AND NOT TARGET httplib::httplib)
- add_library(httplib::httplib ALIAS PkgConfig::HTTPLIB)
-endif()
diff --git a/externals/find-modules/Findinih.cmake b/externals/find-modules/Findinih.cmake
deleted file mode 100644
index b8d38dcff..000000000
--- a/externals/find-modules/Findinih.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-# SPDX-FileCopyrightText: 2022 Alexandre Bouvier <contact@amb.tf>
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-find_package(PkgConfig QUIET)
-pkg_search_module(INIREADER QUIET IMPORTED_TARGET INIReader)
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(inih
- REQUIRED_VARS INIREADER_LINK_LIBRARIES
- VERSION_VAR INIREADER_VERSION
-)
-
-if (inih_FOUND AND NOT TARGET inih::INIReader)
- add_library(inih::INIReader ALIAS PkgConfig::INIREADER)
-endif()
diff --git a/externals/find-modules/Findlibusb.cmake b/externals/find-modules/Findlibusb.cmake
deleted file mode 100644
index 0eadce957..000000000
--- a/externals/find-modules/Findlibusb.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-# SPDX-FileCopyrightText: 2022 Alexandre Bouvier <contact@amb.tf>
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-find_package(PkgConfig QUIET)
-pkg_search_module(LIBUSB QUIET IMPORTED_TARGET libusb-1.0)
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(libusb
- REQUIRED_VARS LIBUSB_LINK_LIBRARIES
- VERSION_VAR LIBUSB_VERSION
-)
-
-if (libusb_FOUND AND NOT TARGET libusb::usb)
- add_library(libusb::usb ALIAS PkgConfig::LIBUSB)
-endif()
diff --git a/externals/find-modules/Findlz4.cmake b/externals/find-modules/Findlz4.cmake
deleted file mode 100644
index c82405c59..000000000
--- a/externals/find-modules/Findlz4.cmake
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-FileCopyrightText: 2022 yuzu Emulator Project
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-include(FindPackageHandleStandardArgs)
-
-find_package(lz4 QUIET CONFIG)
-if (lz4_FOUND)
- find_package_handle_standard_args(lz4 CONFIG_MODE)
-else()
- find_package(PkgConfig QUIET)
- pkg_search_module(LZ4 QUIET IMPORTED_TARGET liblz4)
- find_package_handle_standard_args(lz4
- REQUIRED_VARS LZ4_LINK_LIBRARIES
- VERSION_VAR LZ4_VERSION
- )
-endif()
-
-if (lz4_FOUND AND NOT TARGET lz4::lz4)
- if (TARGET LZ4::lz4_shared)
- add_library(lz4::lz4 ALIAS LZ4::lz4_shared)
- elseif (TARGET LZ4::lz4_static)
- add_library(lz4::lz4 ALIAS LZ4::lz4_static)
- else()
- add_library(lz4::lz4 ALIAS PkgConfig::LZ4)
- endif()
-endif()
diff --git a/externals/find-modules/Findzstd.cmake b/externals/find-modules/Findzstd.cmake
deleted file mode 100644
index f6eb9643a..000000000
--- a/externals/find-modules/Findzstd.cmake
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-FileCopyrightText: 2022 yuzu Emulator Project
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-include(FindPackageHandleStandardArgs)
-
-find_package(zstd QUIET CONFIG)
-if (zstd_FOUND)
- find_package_handle_standard_args(zstd CONFIG_MODE)
-else()
- find_package(PkgConfig QUIET)
- pkg_search_module(ZSTD QUIET IMPORTED_TARGET libzstd)
- find_package_handle_standard_args(zstd
- REQUIRED_VARS ZSTD_LINK_LIBRARIES
- VERSION_VAR ZSTD_VERSION
- )
-endif()
-
-if (zstd_FOUND AND NOT TARGET zstd::zstd)
- if (TARGET zstd::libzstd_shared)
- add_library(zstd::zstd ALIAS zstd::libzstd_shared)
- elseif (TARGET zstd::libzstd_static)
- add_library(zstd::zstd ALIAS zstd::libzstd_static)
- else()
- add_library(zstd::zstd ALIAS PkgConfig::ZSTD)
- endif()
-endif()