2024-03-24 02:15:57 +01:00
|
|
|
# SPDX-FileCopyrightText: 2016 Citra Emulator Project
|
|
|
|
# SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
chore: make yuzu REUSE compliant
[REUSE] is a specification that aims at making file copyright
information consistent, so that it can be both human and machine
readable. It basically requires that all files have a header containing
copyright and licensing information. When this isn't possible, like
when dealing with binary assets, generated files or embedded third-party
dependencies, it is permitted to insert copyright information in the
`.reuse/dep5` file.
Oh, and it also requires that all the licenses used in the project are
present in the `LICENSES` folder, that's why the diff is so huge.
This can be done automatically with `reuse download --all`.
The `reuse` tool also contains a handy subcommand that analyzes the
project and tells whether or not the project is (still) compliant,
`reuse lint`.
Following REUSE has a few advantages over the current approach:
- Copyright information is easy to access for users / downstream
- Files like `dist/license.md` do not need to exist anymore, as
`.reuse/dep5` is used instead
- `reuse lint` makes it easy to ensure that copyright information of
files like binary assets / images is always accurate and up to date
To add copyright information of files that didn't have it I looked up
who committed what and when, for each file. As yuzu contributors do not
have to sign a CLA or similar I couldn't assume that copyright ownership
was of the "yuzu Emulator Project", so I used the name and/or email of
the commit author instead.
[REUSE]: https://reuse.software
Follow-up to 01cf05bc75b1e47beb08937439f3ed9339e7b254
2022-05-15 02:06:02 +02:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
|
2024-03-08 10:06:48 +01:00
|
|
|
function(copy_suyu_Qt5_deps target_dir)
|
2016-12-11 15:36:34 +01:00
|
|
|
include(WindowsCopyFiles)
|
2024-03-05 18:54:46 +01:00
|
|
|
set(Qt5_BASE_PATH "${Qt5_DIR}/../../..")
|
|
|
|
if (NOT EXISTS "${Qt5_BASE_PATH}/bin")
|
|
|
|
set(Qt5_BASE_PATH "${Qt5_DIR}/../../qt5")
|
|
|
|
endif()
|
2021-05-19 23:18:33 +02:00
|
|
|
if (MSVC)
|
2023-05-13 21:58:17 +02:00
|
|
|
set(DLL_DEST "$<TARGET_FILE_DIR:${target_dir}>/")
|
2024-03-05 18:54:46 +01:00
|
|
|
set(Qt5_DLL_DIR "${Qt5_BASE_PATH}/bin")
|
2021-05-19 23:18:33 +02:00
|
|
|
else()
|
|
|
|
set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/")
|
2024-03-05 18:54:46 +01:00
|
|
|
set(Qt5_DLL_DIR "${Qt5_BASE_PATH}/lib/")
|
2021-05-19 23:18:33 +02:00
|
|
|
endif()
|
2024-03-05 18:54:46 +01:00
|
|
|
set(Qt5_PLATFORMS_DIR "${Qt5_BASE_PATH}/plugins/platforms/")
|
|
|
|
set(Qt5_PLATFORMTHEMES_DIR "${Qt5_BASE_PATH}/plugins/platformthemes/")
|
|
|
|
set(Qt5_PLATFORMINPUTCONTEXTS_DIR "${Qt5_BASE_PATH}/plugins/platforminputcontexts/")
|
|
|
|
set(Qt5_MEDIASERVICE_DIR "${Qt5_BASE_PATH}/plugins/mediaservice/")
|
|
|
|
set(Qt5_XCBGLINTEGRATIONS_DIR "${Qt5_BASE_PATH}/plugins/xcbglintegrations/")
|
|
|
|
set(Qt5_STYLES_DIR "${Qt5_BASE_PATH}/plugins/styles/")
|
|
|
|
set(Qt5_IMAGEFORMATS_DIR "${Qt5_BASE_PATH}/plugins/imageformats/")
|
|
|
|
set(Qt5_RESOURCES_DIR "${Qt5_BASE_PATH}/resources/")
|
2020-03-24 01:43:01 +01:00
|
|
|
set(PLATFORMS ${DLL_DEST}plugins/platforms/)
|
2022-06-19 06:34:28 +02:00
|
|
|
set(MEDIASERVICE ${DLL_DEST}mediaservice/)
|
2020-03-24 01:43:01 +01:00
|
|
|
set(STYLES ${DLL_DEST}plugins/styles/)
|
|
|
|
set(IMAGEFORMATS ${DLL_DEST}plugins/imageformats/)
|
2021-05-19 23:18:33 +02:00
|
|
|
if (MSVC)
|
|
|
|
windows_copy_files(${target_dir} ${Qt5_DLL_DIR} ${DLL_DEST}
|
|
|
|
Qt5Core$<$<CONFIG:Debug>:d>.*
|
|
|
|
Qt5Gui$<$<CONFIG:Debug>:d>.*
|
|
|
|
Qt5Widgets$<$<CONFIG:Debug>:d>.*
|
2022-06-19 23:27:48 +02:00
|
|
|
Qt5Network$<$<CONFIG:Debug>:d>.*
|
2018-12-24 22:24:01 +01:00
|
|
|
)
|
2024-03-07 10:21:59 +01:00
|
|
|
if (SUYU_USE_QT_MULTIMEDIA)
|
2022-10-18 01:55:40 +02:00
|
|
|
windows_copy_files(${target_dir} ${Qt5_DLL_DIR} ${DLL_DEST}
|
|
|
|
Qt5Multimedia$<$<CONFIG:Debug>:d>.*
|
|
|
|
)
|
|
|
|
endif()
|
2024-03-08 10:06:48 +01:00
|
|
|
if (SUYU_USE_QT_WEB_ENGINE)
|
2021-05-19 23:18:33 +02:00
|
|
|
windows_copy_files(${target_dir} ${Qt5_DLL_DIR} ${DLL_DEST}
|
|
|
|
Qt5Network$<$<CONFIG:Debug>:d>.*
|
|
|
|
Qt5Positioning$<$<CONFIG:Debug>:d>.*
|
|
|
|
Qt5PrintSupport$<$<CONFIG:Debug>:d>.*
|
|
|
|
Qt5Qml$<$<CONFIG:Debug>:d>.*
|
2021-10-03 04:58:34 +02:00
|
|
|
Qt5QmlModels$<$<CONFIG:Debug>:d>.*
|
2021-05-19 23:18:33 +02:00
|
|
|
Qt5Quick$<$<CONFIG:Debug>:d>.*
|
|
|
|
Qt5QuickWidgets$<$<CONFIG:Debug>:d>.*
|
|
|
|
Qt5WebChannel$<$<CONFIG:Debug>:d>.*
|
|
|
|
Qt5WebEngineCore$<$<CONFIG:Debug>:d>.*
|
|
|
|
Qt5WebEngineWidgets$<$<CONFIG:Debug>:d>.*
|
|
|
|
QtWebEngineProcess$<$<CONFIG:Debug>:d>.*
|
|
|
|
)
|
|
|
|
|
|
|
|
windows_copy_files(${target_dir} ${Qt5_RESOURCES_DIR} ${DLL_DEST}
|
2022-07-15 06:57:42 +02:00
|
|
|
icudtl.dat
|
2021-05-19 23:18:33 +02:00
|
|
|
qtwebengine_devtools_resources.pak
|
2022-07-15 06:57:42 +02:00
|
|
|
qtwebengine_resources.pak
|
2021-05-19 23:18:33 +02:00
|
|
|
qtwebengine_resources_100p.pak
|
|
|
|
qtwebengine_resources_200p.pak
|
|
|
|
)
|
|
|
|
endif ()
|
2024-03-08 10:06:48 +01:00
|
|
|
windows_copy_files(suyu ${Qt5_PLATFORMS_DIR} ${PLATFORMS} qwindows$<$<CONFIG:Debug>:d>.*)
|
|
|
|
windows_copy_files(suyu ${Qt5_STYLES_DIR} ${STYLES} qwindowsvistastyle$<$<CONFIG:Debug>:d>.*)
|
|
|
|
windows_copy_files(suyu ${Qt5_IMAGEFORMATS_DIR} ${IMAGEFORMATS}
|
2021-05-19 23:18:33 +02:00
|
|
|
qjpeg$<$<CONFIG:Debug>:d>.*
|
|
|
|
qgif$<$<CONFIG:Debug>:d>.*
|
2022-07-15 06:57:42 +02:00
|
|
|
)
|
2024-03-08 10:06:48 +01:00
|
|
|
windows_copy_files(suyu ${Qt5_MEDIASERVICE_DIR} ${MEDIASERVICE}
|
2022-06-19 06:34:28 +02:00
|
|
|
dsengine$<$<CONFIG:Debug>:d>.*
|
|
|
|
wmfengine$<$<CONFIG:Debug>:d>.*
|
|
|
|
)
|
2021-05-19 23:18:33 +02:00
|
|
|
else()
|
|
|
|
set(Qt5_DLLS
|
|
|
|
"${Qt5_DLL_DIR}libQt5Core.so.5"
|
|
|
|
"${Qt5_DLL_DIR}libQt5DBus.so.5"
|
|
|
|
"${Qt5_DLL_DIR}libQt5Gui.so.5"
|
|
|
|
"${Qt5_DLL_DIR}libQt5Widgets.so.5"
|
|
|
|
"${Qt5_DLL_DIR}libQt5XcbQpa.so.5"
|
|
|
|
"${Qt5_DLL_DIR}libicudata.so.60"
|
|
|
|
"${Qt5_DLL_DIR}libicui18n.so.60"
|
|
|
|
"${Qt5_DLL_DIR}libicuuc.so.60"
|
|
|
|
)
|
|
|
|
set(Qt5_IMAGEFORMAT_DLLS
|
|
|
|
"${Qt5_IMAGEFORMATS_DIR}libqjpeg.so"
|
|
|
|
"${Qt5_IMAGEFORMATS_DIR}libqgif.so"
|
|
|
|
"${Qt5_IMAGEFORMATS_DIR}libqico.so"
|
|
|
|
)
|
|
|
|
set(Qt5_PLATFORMTHEME_DLLS
|
|
|
|
"${Qt5_PLATFORMTHEMES_DIR}libqgtk3.so"
|
|
|
|
"${Qt5_PLATFORMTHEMES_DIR}libqxdgdesktopportal.so"
|
|
|
|
)
|
|
|
|
set(Qt5_PLATFORM_DLLS
|
|
|
|
"${Qt5_PLATFORMS_DIR}libqxcb.so"
|
|
|
|
)
|
|
|
|
set(Qt5_PLATFORMINPUTCONTEXT_DLLS
|
|
|
|
"${Qt5_PLATFORMINPUTCONTEXTS_DIR}libcomposeplatforminputcontextplugin.so"
|
|
|
|
"${Qt5_PLATFORMINPUTCONTEXTS_DIR}libibusplatforminputcontextplugin.so"
|
|
|
|
)
|
|
|
|
set(Qt5_XCBGLINTEGRATION_DLLS
|
|
|
|
"${Qt5_XCBGLINTEGRATIONS_DIR}libqxcb-glx-integration.so"
|
|
|
|
)
|
|
|
|
foreach(LIB ${Qt5_DLLS})
|
|
|
|
file(COPY ${LIB} DESTINATION "${DLL_DEST}/lib" FOLLOW_SYMLINK_CHAIN)
|
|
|
|
endforeach()
|
|
|
|
foreach(LIB ${Qt5_IMAGEFORMAT_DLLS})
|
|
|
|
file(COPY ${LIB} DESTINATION "${DLL_DEST}plugins/imageformats/" FOLLOW_SYMLINK_CHAIN)
|
|
|
|
endforeach()
|
|
|
|
foreach(LIB ${Qt5_PLATFORMTHEME_DLLS})
|
|
|
|
file(COPY ${LIB} DESTINATION "${DLL_DEST}plugins/platformthemes/" FOLLOW_SYMLINK_CHAIN)
|
|
|
|
endforeach()
|
|
|
|
foreach(LIB ${Qt5_PLATFORM_DLLS})
|
|
|
|
file(COPY ${LIB} DESTINATION "${DLL_DEST}plugins/platforms/" FOLLOW_SYMLINK_CHAIN)
|
|
|
|
endforeach()
|
|
|
|
foreach(LIB ${Qt5_PLATFORMINPUTCONTEXT_DLLS})
|
|
|
|
file(COPY ${LIB} DESTINATION "${DLL_DEST}plugins/platforminputcontexts/" FOLLOW_SYMLINK_CHAIN)
|
|
|
|
endforeach()
|
|
|
|
foreach(LIB ${Qt5_XCBGLINTEGRATION_DLLS})
|
|
|
|
file(COPY ${LIB} DESTINATION "${DLL_DEST}plugins/xcbglintegrations/" FOLLOW_SYMLINK_CHAIN)
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
endif()
|
2020-03-24 01:43:01 +01:00
|
|
|
# Create an empty qt.conf file. Qt will detect that this file exists, and use the folder that its in as the root folder.
|
|
|
|
# This way it'll look for plugins in the root/plugins/ folder
|
2024-03-08 10:06:48 +01:00
|
|
|
add_custom_command(TARGET suyu POST_BUILD
|
2020-03-24 01:43:01 +01:00
|
|
|
COMMAND ${CMAKE_COMMAND} -E touch ${DLL_DEST}qt.conf
|
|
|
|
)
|
2024-03-08 10:06:48 +01:00
|
|
|
endfunction(copy_suyu_Qt5_deps)
|