2025-09-20 22:58:33 +02:00
|
|
|
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
|
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
|
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 b2eb10382941bef0914f4a0a4685b9033440aa9f
2022-05-15 02:06:02 +02:00
|
|
|
# SPDX-FileCopyrightText: 2019 yuzu Emulator Project
|
|
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
|
2025-09-20 22:58:33 +02:00
|
|
|
# generate git/build information
|
|
|
|
include(GetSCMRev)
|
|
|
|
|
2019-01-14 01:58:46 -03:00
|
|
|
function(get_timestamp _var)
|
|
|
|
string(TIMESTAMP timestamp UTC)
|
|
|
|
set(${_var} "${timestamp}" PARENT_SCOPE)
|
|
|
|
endfunction()
|
|
|
|
|
|
|
|
get_timestamp(BUILD_DATE)
|
|
|
|
|
2025-09-20 22:58:33 +02:00
|
|
|
if (DEFINED GIT_RELEASE)
|
|
|
|
set(BUILD_VERSION "${GIT_TAG}")
|
|
|
|
set(GIT_REFSPEC "${GIT_RELEASE}")
|
2025-06-05 18:58:54 +00:00
|
|
|
set(IS_DEV_BUILD false)
|
2025-09-20 22:58:33 +02:00
|
|
|
else()
|
|
|
|
string(SUBSTRING ${GIT_COMMIT} 0 10 BUILD_VERSION)
|
|
|
|
set(BUILD_VERSION "${BUILD_VERSION}-${GIT_REFSPEC}")
|
|
|
|
set(IS_DEV_BUILD true)
|
2025-06-05 18:58:54 +00:00
|
|
|
endif()
|
|
|
|
|
2025-09-20 22:58:33 +02:00
|
|
|
set(GIT_DESC ${BUILD_VERSION})
|
|
|
|
|
2019-01-14 01:58:46 -03:00
|
|
|
# Generate cpp with Git revision from template
|
|
|
|
# Also if this is a CI build, add the build name (ie: Nightly, Canary) to the scm_rev file as well
|
2025-07-09 16:50:44 -04:00
|
|
|
set(REPO_NAME "Eden")
|
2025-09-20 22:58:33 +02:00
|
|
|
set(BUILD_ID ${GIT_REFSPEC})
|
2025-06-05 18:58:54 +00:00
|
|
|
set(BUILD_FULLNAME "${REPO_NAME} ${BUILD_VERSION} ")
|
2025-09-09 20:47:49 +02:00
|
|
|
set(CXX_COMPILER "${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}")
|
|
|
|
|
2025-10-01 05:07:59 +02:00
|
|
|
# Auto-updater metadata! Must somewhat mirror GitHub API endpoint
|
|
|
|
set(BUILD_AUTO_UPDATE_WEBSITE "https://github.com")
|
|
|
|
set(BUILD_AUTO_UPDATE_API "http://api.github.com")
|
|
|
|
set(BUILD_AUTO_UPDATE_REPO "eden-emulator/Releases")
|
|
|
|
|
2022-09-18 00:04:35 +02:00
|
|
|
configure_file(scm_rev.cpp.in scm_rev.cpp @ONLY)
|