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-14 19:06:02 -05:00
|
|
|
# SPDX-FileCopyrightText: 2018 yuzu Emulator Project
|
|
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
|
2019-11-05 20:37:27 -06:00
|
|
|
if (DEFINED ENV{AZURECIREPO})
|
|
|
|
set(BUILD_REPOSITORY $ENV{AZURECIREPO})
|
2019-02-06 18:55:14 -06:00
|
|
|
endif()
|
2019-10-04 23:09:49 -05:00
|
|
|
if (DEFINED ENV{TITLEBARFORMATIDLE})
|
|
|
|
set(TITLE_BAR_FORMAT_IDLE $ENV{TITLEBARFORMATIDLE})
|
|
|
|
endif ()
|
|
|
|
if (DEFINED ENV{TITLEBARFORMATRUNNING})
|
|
|
|
set(TITLE_BAR_FORMAT_RUNNING $ENV{TITLEBARFORMATRUNNING})
|
|
|
|
endif ()
|
|
|
|
if (DEFINED ENV{DISPLAYVERSION})
|
|
|
|
set(DISPLAY_VERSION $ENV{DISPLAYVERSION})
|
|
|
|
endif ()
|
2020-01-16 01:12:50 -06:00
|
|
|
|
2022-09-17 17:04:35 -05:00
|
|
|
include(GenerateSCMRev)
|
2014-04-23 20:43:57 -05:00
|
|
|
|
2018-01-17 18:37:34 -06:00
|
|
|
add_library(common STATIC
|
2021-11-14 13:55:52 -06:00
|
|
|
address_space.cpp
|
|
|
|
address_space.h
|
2019-10-15 13:47:42 -05:00
|
|
|
algorithm.h
|
2018-01-17 18:37:34 -06:00
|
|
|
alignment.h
|
2021-12-25 13:27:52 -06:00
|
|
|
announce_multiplayer_room.h
|
2021-04-02 01:43:26 -05:00
|
|
|
assert.cpp
|
2018-01-17 18:37:34 -06:00
|
|
|
assert.h
|
2022-07-16 17:48:45 -05:00
|
|
|
atomic_helpers.h
|
2020-03-07 16:59:42 -06:00
|
|
|
atomic_ops.h
|
2018-09-16 13:05:51 -05:00
|
|
|
detached_tasks.cpp
|
|
|
|
detached_tasks.h
|
2020-11-19 22:52:37 -06:00
|
|
|
bit_cast.h
|
2018-01-17 18:37:34 -06:00
|
|
|
bit_field.h
|
2020-11-27 16:13:18 -06:00
|
|
|
bit_set.h
|
2018-12-19 14:25:12 -06:00
|
|
|
bit_util.h
|
2018-04-06 23:48:22 -05:00
|
|
|
cityhash.cpp
|
|
|
|
cityhash.h
|
2022-11-12 10:26:56 -06:00
|
|
|
cache_management.cpp
|
|
|
|
cache_management.h
|
2018-01-17 18:37:34 -06:00
|
|
|
common_funcs.h
|
|
|
|
common_types.h
|
2020-08-03 06:28:54 -05:00
|
|
|
concepts.h
|
2020-11-25 20:03:50 -06:00
|
|
|
div_ceil.h
|
2020-03-16 15:48:53 -05:00
|
|
|
dynamic_library.cpp
|
|
|
|
dynamic_library.h
|
2022-06-04 22:50:43 -05:00
|
|
|
elf.h
|
2021-09-08 13:36:20 -05:00
|
|
|
error.cpp
|
|
|
|
error.h
|
2021-10-31 20:20:51 -05:00
|
|
|
expected.h
|
2020-02-04 13:06:23 -06:00
|
|
|
fiber.cpp
|
|
|
|
fiber.h
|
2022-07-16 17:48:45 -05:00
|
|
|
fixed_point.h
|
2021-05-25 18:32:56 -05:00
|
|
|
fs/file.cpp
|
|
|
|
fs/file.h
|
|
|
|
fs/fs.cpp
|
|
|
|
fs/fs.h
|
|
|
|
fs/fs_paths.h
|
|
|
|
fs/fs_types.h
|
|
|
|
fs/fs_util.cpp
|
|
|
|
fs/fs_util.h
|
|
|
|
fs/path_util.cpp
|
|
|
|
fs/path_util.h
|
2018-01-17 18:37:34 -06:00
|
|
|
hash.h
|
2018-08-09 19:43:45 -05:00
|
|
|
hex_util.cpp
|
|
|
|
hex_util.h
|
2021-06-05 04:23:25 -05:00
|
|
|
host_memory.cpp
|
|
|
|
host_memory.h
|
2021-09-20 14:56:55 -05:00
|
|
|
input.h
|
2020-12-27 03:58:16 -06:00
|
|
|
intrusive_red_black_tree.h
|
2021-06-23 16:18:27 -05:00
|
|
|
literals.h
|
2018-01-17 18:37:34 -06:00
|
|
|
logging/backend.cpp
|
|
|
|
logging/backend.h
|
|
|
|
logging/filter.cpp
|
|
|
|
logging/filter.h
|
2022-01-08 22:42:11 -06:00
|
|
|
logging/formatter.h
|
2018-01-17 18:37:34 -06:00
|
|
|
logging/log.h
|
2021-09-30 15:11:47 -05:00
|
|
|
logging/log_entry.h
|
2018-01-17 18:37:34 -06:00
|
|
|
logging/text_formatter.cpp
|
|
|
|
logging/text_formatter.h
|
2021-06-13 09:31:47 -05:00
|
|
|
logging/types.h
|
2019-02-07 23:45:50 -06:00
|
|
|
lz4_compression.cpp
|
|
|
|
lz4_compression.h
|
2018-01-17 18:37:34 -06:00
|
|
|
math_util.h
|
2020-05-17 13:45:12 -05:00
|
|
|
memory_detect.cpp
|
|
|
|
memory_detect.h
|
2018-01-17 18:37:34 -06:00
|
|
|
microprofile.cpp
|
|
|
|
microprofile.h
|
|
|
|
microprofileui.h
|
2021-11-10 10:37:17 -06:00
|
|
|
multi_level_page_table.cpp
|
|
|
|
multi_level_page_table.h
|
2021-01-20 17:09:57 -06:00
|
|
|
nvidia_flags.cpp
|
|
|
|
nvidia_flags.h
|
2019-03-02 14:20:28 -06:00
|
|
|
page_table.cpp
|
|
|
|
page_table.h
|
2018-01-17 18:37:34 -06:00
|
|
|
param_package.cpp
|
|
|
|
param_package.h
|
2020-12-27 03:58:16 -06:00
|
|
|
parent_of_member.h
|
2021-05-28 06:14:14 -05:00
|
|
|
point.h
|
2022-11-22 17:38:23 -06:00
|
|
|
precompiled_headers.h
|
2018-01-17 18:37:34 -06:00
|
|
|
quaternion.h
|
2022-07-16 17:48:45 -05:00
|
|
|
reader_writer_queue.h
|
2018-09-08 08:28:39 -05:00
|
|
|
ring_buffer.h
|
2022-09-17 17:04:35 -05:00
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/scm_rev.cpp
|
2018-01-17 18:37:34 -06:00
|
|
|
scm_rev.h
|
|
|
|
scope_exit.h
|
2021-04-14 18:07:40 -05:00
|
|
|
settings.cpp
|
|
|
|
settings.h
|
|
|
|
settings_input.cpp
|
|
|
|
settings_input.h
|
2022-07-29 22:58:23 -05:00
|
|
|
socket_types.h
|
2020-02-04 09:23:12 -06:00
|
|
|
spin_lock.cpp
|
|
|
|
spin_lock.h
|
2020-10-26 22:07:36 -05:00
|
|
|
stream.cpp
|
|
|
|
stream.h
|
2018-01-17 18:37:34 -06:00
|
|
|
string_util.cpp
|
|
|
|
string_util.h
|
|
|
|
swap.h
|
|
|
|
telemetry.cpp
|
|
|
|
telemetry.h
|
|
|
|
thread.cpp
|
|
|
|
thread.h
|
|
|
|
thread_queue_list.h
|
2020-12-29 18:36:35 -06:00
|
|
|
thread_worker.h
|
2018-01-17 18:37:34 -06:00
|
|
|
threadsafe_queue.h
|
2020-05-11 16:51:26 -05:00
|
|
|
time_zone.cpp
|
|
|
|
time_zone.h
|
2021-02-08 20:05:13 -06:00
|
|
|
tiny_mt.h
|
2020-12-27 03:58:16 -06:00
|
|
|
tree.h
|
2019-02-15 17:26:41 -06:00
|
|
|
uint128.h
|
2021-03-31 23:03:25 -05:00
|
|
|
unique_function.h
|
2018-12-18 08:07:25 -06:00
|
|
|
uuid.cpp
|
|
|
|
uuid.h
|
2018-01-17 18:37:34 -06:00
|
|
|
vector_math.h
|
2020-04-08 16:35:07 -05:00
|
|
|
virtual_buffer.cpp
|
|
|
|
virtual_buffer.h
|
2020-02-09 14:53:22 -06:00
|
|
|
wall_clock.cpp
|
|
|
|
wall_clock.h
|
2019-02-08 16:11:00 -06:00
|
|
|
zstd_compression.cpp
|
|
|
|
zstd_compression.h
|
2018-01-17 18:37:34 -06:00
|
|
|
)
|
2014-08-23 20:22:05 -05:00
|
|
|
|
2015-08-14 21:29:08 -05:00
|
|
|
if(ARCHITECTURE_x86_64)
|
2018-01-17 18:37:34 -06:00
|
|
|
target_sources(common
|
|
|
|
PRIVATE
|
2015-08-11 23:19:20 -05:00
|
|
|
x64/cpu_detect.cpp
|
|
|
|
x64/cpu_detect.h
|
2020-02-09 14:53:22 -06:00
|
|
|
x64/native_clock.cpp
|
|
|
|
x64/native_clock.h
|
2020-05-29 19:55:27 -05:00
|
|
|
x64/xbyak_abi.h
|
|
|
|
x64/xbyak_util.h
|
2018-01-17 18:37:34 -06:00
|
|
|
)
|
2022-09-13 00:01:44 -05:00
|
|
|
target_link_libraries(common PRIVATE xbyak)
|
2015-07-21 18:49:33 -05:00
|
|
|
endif()
|
|
|
|
|
2020-10-30 14:02:02 -05:00
|
|
|
if (MSVC)
|
|
|
|
target_compile_definitions(common PRIVATE
|
|
|
|
# The standard library doesn't provide any replacement for codecvt yet
|
|
|
|
# so we can disable this deprecation warning for the time being.
|
|
|
|
_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING
|
|
|
|
)
|
|
|
|
target_compile_options(common PRIVATE
|
|
|
|
/W4
|
2022-10-21 01:34:06 -05:00
|
|
|
|
|
|
|
/we4242 # 'identifier': conversion from 'type1' to 'type2', possible loss of data
|
|
|
|
/we4254 # 'operator': conversion from 'type1:field_bits' to 'type2:field_bits', possible loss of data
|
|
|
|
/we4800 # Implicit conversion from 'type' to bool. Possible information loss
|
2020-10-30 14:02:02 -05:00
|
|
|
)
|
|
|
|
else()
|
|
|
|
target_compile_options(common PRIVATE
|
2021-02-09 20:28:33 -06:00
|
|
|
$<$<CXX_COMPILER_ID:Clang>:-fsized-deallocation>
|
2020-10-30 14:02:02 -05:00
|
|
|
)
|
|
|
|
endif()
|
|
|
|
|
2018-01-17 18:37:34 -06:00
|
|
|
create_target_directory_groups(common)
|
2014-04-28 21:40:39 -05:00
|
|
|
|
2021-07-23 01:43:50 -05:00
|
|
|
target_link_libraries(common PUBLIC ${Boost_LIBRARIES} fmt::fmt microprofile Threads::Threads)
|
2022-10-11 15:01:29 -05:00
|
|
|
if (TARGET lz4::lz4)
|
|
|
|
target_link_libraries(common PRIVATE lz4::lz4)
|
|
|
|
else()
|
|
|
|
target_link_libraries(common PRIVATE LZ4::lz4_shared)
|
|
|
|
endif()
|
2022-07-21 23:51:01 -05:00
|
|
|
if (TARGET zstd::zstd)
|
2020-09-28 20:11:39 -05:00
|
|
|
target_link_libraries(common PRIVATE zstd::zstd)
|
|
|
|
else()
|
2022-07-21 23:51:01 -05:00
|
|
|
target_link_libraries(common PRIVATE
|
|
|
|
$<IF:$<TARGET_EXISTS:zstd::libzstd_shared>,zstd::libzstd_shared,zstd::libzstd_static>)
|
2020-09-28 20:11:39 -05:00
|
|
|
endif()
|
2022-11-22 17:38:23 -06:00
|
|
|
|
|
|
|
if (YUZU_USE_PRECOMPILED_HEADERS)
|
|
|
|
target_precompile_headers(common PRIVATE precompiled_headers.h)
|
|
|
|
set(CMAKE_PCH_INSTANTIATE_TEMPLATES ON)
|
|
|
|
endif()
|