early-access version 3274
This commit is contained in:
parent
4b754c8c62
commit
4b11185ae8
16 changed files with 386 additions and 11 deletions
|
@ -5,7 +5,6 @@ cmake_minimum_required(VERSION 3.22)
|
||||||
|
|
||||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules")
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules")
|
||||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/externals/cmake-modules")
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/externals/cmake-modules")
|
||||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/externals/find-modules")
|
|
||||||
include(DownloadExternals)
|
include(DownloadExternals)
|
||||||
include(CMakeDependentOption)
|
include(CMakeDependentOption)
|
||||||
|
|
||||||
|
|
27
CMakeModules/FindDiscordRPC.cmake
Executable file
27
CMakeModules/FindDiscordRPC.cmake
Executable file
|
@ -0,0 +1,27 @@
|
||||||
|
# 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
|
||||||
|
)
|
195
CMakeModules/FindFFmpeg.cmake
Executable file
195
CMakeModules/FindFFmpeg.cmake
Executable file
|
@ -0,0 +1,195 @@
|
||||||
|
# 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
|
||||||
|
)
|
15
CMakeModules/FindOpus.cmake
Executable file
15
CMakeModules/FindOpus.cmake
Executable file
|
@ -0,0 +1,15 @@
|
||||||
|
# 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()
|
16
CMakeModules/Findenet.cmake
Executable file
16
CMakeModules/Findenet.cmake
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
# 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()
|
21
CMakeModules/Findhttplib.cmake
Executable file
21
CMakeModules/Findhttplib.cmake
Executable file
|
@ -0,0 +1,21 @@
|
||||||
|
# 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_CONSIDERED_CONFIGS)
|
||||||
|
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()
|
16
CMakeModules/Findinih.cmake
Executable file
16
CMakeModules/Findinih.cmake
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
# 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()
|
16
CMakeModules/Findlibusb.cmake
Executable file
16
CMakeModules/Findlibusb.cmake
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
# 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()
|
26
CMakeModules/Findlz4.cmake
Executable file
26
CMakeModules/Findlz4.cmake
Executable file
|
@ -0,0 +1,26 @@
|
||||||
|
# SPDX-FileCopyrightText: 2022 yuzu Emulator Project
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
|
||||||
|
find_package(lz4 QUIET CONFIG)
|
||||||
|
if (lz4_CONSIDERED_CONFIGS)
|
||||||
|
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()
|
26
CMakeModules/Findzstd.cmake
Executable file
26
CMakeModules/Findzstd.cmake
Executable file
|
@ -0,0 +1,26 @@
|
||||||
|
# SPDX-FileCopyrightText: 2022 yuzu Emulator Project
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
|
||||||
|
find_package(zstd QUIET CONFIG)
|
||||||
|
if (zstd_CONSIDERED_CONFIGS)
|
||||||
|
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()
|
27
CMakeModules/WindowsCopyFiles.cmake
Executable file
27
CMakeModules/WindowsCopyFiles.cmake
Executable file
|
@ -0,0 +1,27 @@
|
||||||
|
# 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()
|
|
@ -1,7 +1,7 @@
|
||||||
yuzu emulator early access
|
yuzu emulator early access
|
||||||
=============
|
=============
|
||||||
|
|
||||||
This is the source code for early-access 3273.
|
This is the source code for early-access 3274.
|
||||||
|
|
||||||
## Legal Notice
|
## Legal Notice
|
||||||
|
|
||||||
|
|
4
externals/CMakeLists.txt
vendored
4
externals/CMakeLists.txt
vendored
|
@ -5,10 +5,6 @@
|
||||||
# some of its variables, which is only possible in 3.13+
|
# some of its variables, which is only possible in 3.13+
|
||||||
set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
|
set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
|
||||||
|
|
||||||
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMakeModules")
|
|
||||||
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/externals/find-modules")
|
|
||||||
include(DownloadExternals)
|
|
||||||
|
|
||||||
# xbyak
|
# xbyak
|
||||||
if ((ARCHITECTURE_x86 OR ARCHITECTURE_x86_64) AND NOT TARGET xbyak::xbyak)
|
if ((ARCHITECTURE_x86 OR ARCHITECTURE_x86_64) AND NOT TARGET xbyak::xbyak)
|
||||||
add_subdirectory(xbyak EXCLUDE_FROM_ALL)
|
add_subdirectory(xbyak EXCLUDE_FROM_ALL)
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
# SPDX-FileCopyrightText: 2017 Citra Emulator Project
|
# SPDX-FileCopyrightText: 2017 Citra Emulator Project
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules)
|
|
||||||
|
|
||||||
add_executable(yuzu-room
|
add_executable(yuzu-room
|
||||||
precompiled_headers.h
|
precompiled_headers.h
|
||||||
yuzu_room.cpp
|
yuzu_room.cpp
|
||||||
|
|
|
@ -5,7 +5,6 @@ set(CMAKE_AUTOMOC ON)
|
||||||
set(CMAKE_AUTORCC ON)
|
set(CMAKE_AUTORCC ON)
|
||||||
set(CMAKE_AUTOUIC ON)
|
set(CMAKE_AUTOUIC ON)
|
||||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules)
|
|
||||||
|
|
||||||
# Set the RPATH for Qt Libraries
|
# Set the RPATH for Qt Libraries
|
||||||
# This must be done before the `yuzu` target is created
|
# This must be done before the `yuzu` target is created
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
# SPDX-FileCopyrightText: 2018 yuzu Emulator Project
|
# SPDX-FileCopyrightText: 2018 yuzu Emulator Project
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules)
|
|
||||||
|
|
||||||
# Credits to Samantas5855 and others for this function.
|
# Credits to Samantas5855 and others for this function.
|
||||||
function(create_resource file output filename)
|
function(create_resource file output filename)
|
||||||
# Read hex data from file
|
# Read hex data from file
|
||||||
|
|
Loading…
Reference in a new issue