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 00:06:02 +00:00
|
|
|
# SPDX-FileCopyrightText: 2018 yuzu Emulator Project
|
|
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
|
2018-07-27 00:01:37 +00:00
|
|
|
add_library(audio_core STATIC
|
2023-08-31 14:09:15 +00:00
|
|
|
adsp/adsp.cpp
|
|
|
|
adsp/adsp.h
|
|
|
|
adsp/mailbox.h
|
|
|
|
adsp/apps/audio_renderer/audio_renderer.cpp
|
|
|
|
adsp/apps/audio_renderer/audio_renderer.h
|
|
|
|
adsp/apps/audio_renderer/command_buffer.h
|
|
|
|
adsp/apps/audio_renderer/command_list_processor.cpp
|
|
|
|
adsp/apps/audio_renderer/command_list_processor.h
|
2023-08-31 14:09:15 +00:00
|
|
|
adsp/apps/opus/opus_decoder.cpp
|
|
|
|
adsp/apps/opus/opus_decoder.h
|
|
|
|
adsp/apps/opus/opus_decode_object.cpp
|
|
|
|
adsp/apps/opus/opus_decode_object.h
|
|
|
|
adsp/apps/opus/opus_multistream_decode_object.cpp
|
|
|
|
adsp/apps/opus/opus_multistream_decode_object.h
|
|
|
|
adsp/apps/opus/shared_memory.h
|
2022-07-16 22:48:45 +00:00
|
|
|
audio_core.cpp
|
|
|
|
audio_core.h
|
|
|
|
audio_event.h
|
|
|
|
audio_event.cpp
|
|
|
|
audio_render_manager.cpp
|
|
|
|
audio_render_manager.h
|
|
|
|
audio_in_manager.cpp
|
|
|
|
audio_in_manager.h
|
|
|
|
audio_out_manager.cpp
|
|
|
|
audio_out_manager.h
|
|
|
|
audio_manager.cpp
|
|
|
|
audio_manager.h
|
|
|
|
common/audio_renderer_parameter.h
|
|
|
|
common/common.h
|
|
|
|
common/feature_support.h
|
|
|
|
common/wave_buffer.h
|
|
|
|
common/workbuffer_allocator.h
|
|
|
|
device/audio_buffer.h
|
|
|
|
device/audio_buffers.h
|
|
|
|
device/device_session.cpp
|
|
|
|
device/device_session.h
|
|
|
|
in/audio_in.cpp
|
|
|
|
in/audio_in.h
|
|
|
|
in/audio_in_system.cpp
|
|
|
|
in/audio_in_system.h
|
2023-08-31 14:09:15 +00:00
|
|
|
opus/hardware_opus.cpp
|
|
|
|
opus/hardware_opus.h
|
|
|
|
opus/decoder_manager.cpp
|
|
|
|
opus/decoder_manager.h
|
|
|
|
opus/decoder.cpp
|
|
|
|
opus/decoder.h
|
|
|
|
opus/parameters.h
|
2022-07-16 22:48:45 +00:00
|
|
|
out/audio_out.cpp
|
|
|
|
out/audio_out.h
|
|
|
|
out/audio_out_system.cpp
|
|
|
|
out/audio_out_system.h
|
2022-11-22 23:38:23 +00:00
|
|
|
precompiled_headers.h
|
2022-07-16 22:48:45 +00:00
|
|
|
renderer/audio_device.cpp
|
|
|
|
renderer/audio_device.h
|
|
|
|
renderer/audio_renderer.h
|
|
|
|
renderer/audio_renderer.cpp
|
|
|
|
renderer/behavior/behavior_info.cpp
|
|
|
|
renderer/behavior/behavior_info.h
|
|
|
|
renderer/behavior/info_updater.cpp
|
|
|
|
renderer/behavior/info_updater.h
|
|
|
|
renderer/command/data_source/adpcm.cpp
|
|
|
|
renderer/command/data_source/adpcm.h
|
|
|
|
renderer/command/data_source/decode.cpp
|
|
|
|
renderer/command/data_source/decode.h
|
|
|
|
renderer/command/data_source/pcm_float.cpp
|
|
|
|
renderer/command/data_source/pcm_float.h
|
|
|
|
renderer/command/data_source/pcm_int16.cpp
|
|
|
|
renderer/command/data_source/pcm_int16.h
|
|
|
|
renderer/command/effect/aux_.cpp
|
|
|
|
renderer/command/effect/aux_.h
|
|
|
|
renderer/command/effect/biquad_filter.cpp
|
|
|
|
renderer/command/effect/biquad_filter.h
|
|
|
|
renderer/command/effect/capture.cpp
|
|
|
|
renderer/command/effect/capture.h
|
|
|
|
renderer/command/effect/compressor.cpp
|
|
|
|
renderer/command/effect/compressor.h
|
|
|
|
renderer/command/effect/delay.cpp
|
|
|
|
renderer/command/effect/delay.h
|
|
|
|
renderer/command/effect/i3dl2_reverb.cpp
|
|
|
|
renderer/command/effect/i3dl2_reverb.h
|
|
|
|
renderer/command/effect/light_limiter.cpp
|
|
|
|
renderer/command/effect/light_limiter.h
|
|
|
|
renderer/command/effect/multi_tap_biquad_filter.cpp
|
|
|
|
renderer/command/effect/multi_tap_biquad_filter.h
|
|
|
|
renderer/command/effect/reverb.cpp
|
|
|
|
renderer/command/effect/reverb.h
|
|
|
|
renderer/command/mix/clear_mix.cpp
|
|
|
|
renderer/command/mix/clear_mix.h
|
|
|
|
renderer/command/mix/copy_mix.cpp
|
|
|
|
renderer/command/mix/copy_mix.h
|
|
|
|
renderer/command/mix/depop_for_mix_buffers.cpp
|
|
|
|
renderer/command/mix/depop_for_mix_buffers.h
|
|
|
|
renderer/command/mix/depop_prepare.cpp
|
|
|
|
renderer/command/mix/depop_prepare.h
|
|
|
|
renderer/command/mix/mix.cpp
|
|
|
|
renderer/command/mix/mix.h
|
|
|
|
renderer/command/mix/mix_ramp.cpp
|
|
|
|
renderer/command/mix/mix_ramp.h
|
|
|
|
renderer/command/mix/mix_ramp_grouped.cpp
|
|
|
|
renderer/command/mix/mix_ramp_grouped.h
|
|
|
|
renderer/command/mix/volume.cpp
|
|
|
|
renderer/command/mix/volume.h
|
|
|
|
renderer/command/mix/volume_ramp.cpp
|
|
|
|
renderer/command/mix/volume_ramp.h
|
|
|
|
renderer/command/performance/performance.cpp
|
|
|
|
renderer/command/performance/performance.h
|
|
|
|
renderer/command/resample/downmix_6ch_to_2ch.cpp
|
|
|
|
renderer/command/resample/downmix_6ch_to_2ch.h
|
|
|
|
renderer/command/resample/resample.h
|
|
|
|
renderer/command/resample/resample.cpp
|
|
|
|
renderer/command/resample/upsample.cpp
|
|
|
|
renderer/command/resample/upsample.h
|
|
|
|
renderer/command/sink/device.cpp
|
|
|
|
renderer/command/sink/device.h
|
|
|
|
renderer/command/sink/circular_buffer.cpp
|
|
|
|
renderer/command/sink/circular_buffer.h
|
|
|
|
renderer/command/command_buffer.cpp
|
|
|
|
renderer/command/command_buffer.h
|
|
|
|
renderer/command/command_generator.cpp
|
|
|
|
renderer/command/command_generator.h
|
|
|
|
renderer/command/command_list_header.h
|
|
|
|
renderer/command/command_processing_time_estimator.cpp
|
|
|
|
renderer/command/command_processing_time_estimator.h
|
|
|
|
renderer/command/commands.h
|
|
|
|
renderer/command/icommand.h
|
|
|
|
renderer/effect/aux_.cpp
|
|
|
|
renderer/effect/aux_.h
|
|
|
|
renderer/effect/biquad_filter.cpp
|
|
|
|
renderer/effect/biquad_filter.h
|
|
|
|
renderer/effect/buffer_mixer.cpp
|
|
|
|
renderer/effect/buffer_mixer.h
|
|
|
|
renderer/effect/capture.cpp
|
|
|
|
renderer/effect/capture.h
|
|
|
|
renderer/effect/compressor.cpp
|
|
|
|
renderer/effect/compressor.h
|
|
|
|
renderer/effect/delay.cpp
|
|
|
|
renderer/effect/delay.h
|
|
|
|
renderer/effect/effect_context.cpp
|
|
|
|
renderer/effect/effect_context.h
|
|
|
|
renderer/effect/effect_info_base.h
|
|
|
|
renderer/effect/effect_reset.h
|
|
|
|
renderer/effect/effect_result_state.h
|
|
|
|
renderer/effect/i3dl2.cpp
|
|
|
|
renderer/effect/i3dl2.h
|
|
|
|
renderer/effect/light_limiter.cpp
|
|
|
|
renderer/effect/light_limiter.h
|
|
|
|
renderer/effect/reverb.h
|
|
|
|
renderer/effect/reverb.cpp
|
|
|
|
renderer/mix/mix_context.cpp
|
|
|
|
renderer/mix/mix_context.h
|
|
|
|
renderer/mix/mix_info.cpp
|
|
|
|
renderer/mix/mix_info.h
|
|
|
|
renderer/memory/address_info.h
|
|
|
|
renderer/memory/memory_pool_info.cpp
|
|
|
|
renderer/memory/memory_pool_info.h
|
|
|
|
renderer/memory/pool_mapper.cpp
|
|
|
|
renderer/memory/pool_mapper.h
|
|
|
|
renderer/nodes/bit_array.h
|
|
|
|
renderer/nodes/edge_matrix.cpp
|
|
|
|
renderer/nodes/edge_matrix.h
|
|
|
|
renderer/nodes/node_states.cpp
|
|
|
|
renderer/nodes/node_states.h
|
|
|
|
renderer/performance/detail_aspect.cpp
|
|
|
|
renderer/performance/detail_aspect.h
|
|
|
|
renderer/performance/entry_aspect.cpp
|
|
|
|
renderer/performance/entry_aspect.h
|
|
|
|
renderer/performance/performance_detail.h
|
|
|
|
renderer/performance/performance_entry.h
|
|
|
|
renderer/performance/performance_entry_addresses.h
|
|
|
|
renderer/performance/performance_frame_header.h
|
|
|
|
renderer/performance/performance_manager.cpp
|
|
|
|
renderer/performance/performance_manager.h
|
|
|
|
renderer/sink/circular_buffer_sink_info.cpp
|
|
|
|
renderer/sink/circular_buffer_sink_info.h
|
|
|
|
renderer/sink/device_sink_info.cpp
|
|
|
|
renderer/sink/device_sink_info.h
|
|
|
|
renderer/sink/sink_context.cpp
|
|
|
|
renderer/sink/sink_context.h
|
|
|
|
renderer/sink/sink_info_base.cpp
|
|
|
|
renderer/sink/sink_info_base.h
|
|
|
|
renderer/splitter/splitter_context.cpp
|
|
|
|
renderer/splitter/splitter_context.h
|
|
|
|
renderer/splitter/splitter_destinations_data.cpp
|
|
|
|
renderer/splitter/splitter_destinations_data.h
|
|
|
|
renderer/splitter/splitter_info.cpp
|
|
|
|
renderer/splitter/splitter_info.h
|
|
|
|
renderer/system.cpp
|
|
|
|
renderer/system.h
|
|
|
|
renderer/system_manager.cpp
|
|
|
|
renderer/system_manager.h
|
|
|
|
renderer/upsampler/upsampler_info.h
|
|
|
|
renderer/upsampler/upsampler_manager.cpp
|
|
|
|
renderer/upsampler/upsampler_manager.h
|
|
|
|
renderer/upsampler/upsampler_state.h
|
|
|
|
renderer/voice/voice_channel_resource.h
|
|
|
|
renderer/voice/voice_context.cpp
|
|
|
|
renderer/voice/voice_context.h
|
|
|
|
renderer/voice/voice_info.cpp
|
|
|
|
renderer/voice/voice_info.h
|
|
|
|
renderer/voice/voice_state.h
|
|
|
|
sink/null_sink.h
|
|
|
|
sink/sink.h
|
|
|
|
sink/sink_details.cpp
|
|
|
|
sink/sink_details.h
|
2022-08-01 01:58:13 +00:00
|
|
|
sink/sink_stream.cpp
|
2022-07-16 22:48:45 +00:00
|
|
|
sink/sink_stream.h
|
2018-07-27 00:01:37 +00:00
|
|
|
)
|
|
|
|
|
2022-07-16 22:48:45 +00:00
|
|
|
if (MSVC)
|
|
|
|
target_compile_options(audio_core PRIVATE
|
|
|
|
/we4242 # 'identifier': conversion from 'type1' to 'type2', possible loss of data
|
|
|
|
/we4244 # 'conversion': conversion from 'type1' to 'type2', possible loss of data
|
|
|
|
/we4245 # 'conversion': conversion from 'type1' to 'type2', signed/unsigned mismatch
|
|
|
|
/we4254 # 'operator': conversion from 'type1:field_bits' to 'type2:field_bits', possible loss of data
|
2022-10-21 06:34:06 +00:00
|
|
|
/we4800 # Implicit conversion from 'type' to bool. Possible information loss
|
2022-07-16 22:48:45 +00:00
|
|
|
)
|
|
|
|
else()
|
2020-09-25 04:28:35 +00:00
|
|
|
target_compile_options(audio_core PRIVATE
|
2020-10-13 20:00:33 +00:00
|
|
|
-Werror=conversion
|
2020-10-21 02:15:59 +00:00
|
|
|
|
|
|
|
-Wno-sign-conversion
|
2020-09-25 04:28:35 +00:00
|
|
|
)
|
|
|
|
endif()
|
|
|
|
|
2023-08-31 14:09:15 +00:00
|
|
|
target_link_libraries(audio_core PUBLIC common core Opus::opus)
|
2022-11-06 21:45:36 +00:00
|
|
|
if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64)
|
2022-11-25 18:35:46 +00:00
|
|
|
target_link_libraries(audio_core PRIVATE dynarmic::dynarmic)
|
2022-07-16 22:48:45 +00:00
|
|
|
endif()
|
2018-07-28 17:44:50 +00:00
|
|
|
|
2022-12-28 22:28:35 +00:00
|
|
|
if (ENABLE_CUBEB)
|
|
|
|
target_sources(audio_core PRIVATE
|
|
|
|
sink/cubeb_sink.cpp
|
|
|
|
sink/cubeb_sink.h
|
|
|
|
)
|
|
|
|
|
2022-11-25 18:35:46 +00:00
|
|
|
target_link_libraries(audio_core PRIVATE cubeb::cubeb)
|
2018-07-28 17:44:50 +00:00
|
|
|
target_compile_definitions(audio_core PRIVATE -DHAVE_CUBEB=1)
|
|
|
|
endif()
|
2022-12-28 22:28:35 +00:00
|
|
|
|
|
|
|
if (ENABLE_SDL2)
|
|
|
|
target_sources(audio_core PRIVATE
|
|
|
|
sink/sdl2_sink.cpp
|
|
|
|
sink/sdl2_sink.h
|
|
|
|
)
|
|
|
|
|
2022-12-05 23:44:52 +00:00
|
|
|
target_link_libraries(audio_core PRIVATE SDL2::SDL2)
|
2021-06-05 13:35:57 +00:00
|
|
|
target_compile_definitions(audio_core PRIVATE HAVE_SDL2)
|
|
|
|
endif()
|
2022-11-22 23:38:23 +00:00
|
|
|
|
2023-12-17 05:11:20 +00:00
|
|
|
if (ANDROID)
|
|
|
|
target_sources(audio_core PRIVATE
|
|
|
|
sink/oboe_sink.cpp
|
|
|
|
sink/oboe_sink.h
|
|
|
|
)
|
|
|
|
|
|
|
|
# FIXME: this port seems broken, it cannot be imported with find_package(oboe REQUIRED)
|
|
|
|
target_link_libraries(audio_core PRIVATE "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/liboboe.a")
|
|
|
|
target_compile_definitions(audio_core PRIVATE HAVE_OBOE)
|
|
|
|
endif()
|
|
|
|
|
2022-11-22 23:38:23 +00:00
|
|
|
if (YUZU_USE_PRECOMPILED_HEADERS)
|
|
|
|
target_precompile_headers(audio_core PRIVATE precompiled_headers.h)
|
|
|
|
endif()
|
2024-01-26 15:29:04 +00:00
|
|
|
|
|
|
|
create_target_directory_groups(audio_core)
|