diff --git a/emulators/yuzu/Makefile b/emulators/yuzu/Makefile index 77f0d4dfaa64..e383dadb5ae6 100644 --- a/emulators/yuzu/Makefile +++ b/emulators/yuzu/Makefile @@ -1,100 +1,113 @@ # $FreeBSD$ PORTNAME= yuzu -PORTVERSION= s20200803 +PORTVERSION= s20200810 PORTREVISION?= 0 CATEGORIES= emulators PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ PATCHFILES+= 905e8016a04e.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/1340 PATCHFILES+= 34635a42c0b3.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/1703 PATCHFILES+= 1adf640d3725.patch:-p1 # https://github.com/yuzu-emu/yuzu/pull/1703 MAINTAINER= jbeich@FreeBSD.org COMMENT= Nintendo Switch emulator/debugger LICENSE= APACHE20 BSD3CLAUSE GPLv2+ ISCL LGPL21+ LGPL3+ MIT UNLICENSE LICENSE_COMB= multi LICENSE_FILE_BSD3CLAUSE=${WRKSRC}/externals/inih/inih/LICENSE.txt LICENSE_FILE_GPLv2+ = ${WRKSRC}/license.txt LICENSE_FILE_ISCL= ${WRKSRC}/externals/cubeb/LICENSE LICENSE_FILE_LGPL21+ = ${_LICENSE_STORE}/LGPL21 # soundtouch LICENSE_FILE_LGPL3+ = ${_LICENSE_STORE}/LGPL3 # sirit LICENSE_FILE_MIT= ${WRKSRC}/externals/sirit/externals/SPIRV-Headers/LICENSE ONLY_FOR_ARCHS= aarch64 amd64 powerpc64 ONLY_FOR_ARCHS_REASON= requires int128 BUILD_DEPENDS= catch>0:devel/catch \ gmake:devel/gmake \ nlohmann-json>0:devel/nlohmann-json LIB_DEPENDS= liblz4.so:archivers/liblz4 \ libzip.so:archivers/libzip \ libzstd.so:archivers/zstd \ libopus.so:audio/opus \ libboost_context.so:devel/boost-libs \ libfmt.so:devel/libfmt USE_GITHUB= yes GH_ACCOUNT= yuzu-emu -GH_TAGNAME= 6c7292de3 +GH_TAGNAME= 257b1d2c4 GH_TUPLE= yuzu-emu:unicorn:1.0.1-153-g73f45735:unicorn/externals/unicorn \ DarkLordZach:mbedtls:a280e60:mbedtls/externals/mbedtls \ KhronosGroup:SPIRV-Headers:2c51218:SPIRV_Headers/externals/sirit/externals/SPIRV-Headers \ KhronosGroup:Vulkan-Headers:v1.2.145:Vulkan_Headers/externals/Vulkan-Headers \ MerryMage:dynarmic:r3-234-g82417da7:dynarmic/externals/dynarmic \ ReinUsesLisp:sirit:eefca56:sirit/externals/sirit \ arsenm:sanitizers-cmake:aab6948:sanitizers_cmake/externals/cubeb/cmake/sanitizers-cmake \ citra-emu:ext-soundtouch:060181e:soundtouch/externals/soundtouch \ herumi:xbyak:v5.911:xbyak/externals/xbyak \ kinetiknz:cubeb:cubeb-0.2-1194-g616d773:cubeb/externals/cubeb \ svn2github:inih:603729d:inih/externals/inih/inih USES= cmake compiler:c++17-lang localbase:ldflags python:build sdl ssl USE_SDL= sdl2 LDFLAGS+= -Wl,--as-needed # Qt5Network TEST_TARGET= test OPTIONS_DEFINE= ALSA PULSEAUDIO JACK SNDIO VULKAN OPTIONS_DEFAULT=ALSA PULSEAUDIO JACK SNDIO VULKAN OPTIONS_MULTI= GUI OPTIONS_MULTI_GUI= QT5 SDL OPTIONS_SLAVE?= SDL OPTIONS_EXCLUDE:= ${OPTIONS_MULTI_GUI} ALSA_BUILD_DEPENDS= alsa-lib>0:audio/alsa-lib ALSA_RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins ALSA_CMAKE_BOOL= USE_ALSA JACK_BUILD_DEPENDS= jackit>0:audio/jack JACK_CMAKE_BOOL= USE_JACK PULSEAUDIO_BUILD_DEPENDS=pulseaudio>0:audio/pulseaudio PULSEAUDIO_CMAKE_BOOL= USE_PULSE SNDIO_BUILD_DEPENDS= sndio>0:audio/sndio SNDIO_CMAKE_BOOL= USE_SNDIO SDL_CMAKE_BOOL= ENABLE_SDL2 SDL_PLIST_FILES=bin/${PORTNAME}-cmd \ bin/${PORTNAME}-tester QT5_USES= desktop-file-utils qt:5 shared-mime-info QT5_USE= QT=qmake_build,buildtools_build,concurrent_build,core,gui,webengine,widgets QT5_CMAKE_BOOL= ENABLE_QT YUZU_USE_QT_WEB_ENGINE QT5_PLIST_FILES=bin/${PORTNAME} \ share/applications/${PORTNAME}.desktop \ share/icons/hicolor/scalable/apps/${PORTNAME}.svg \ share/mime/packages/${PORTNAME}.xml VULKAN_DESC= Vulkan renderer VULKAN_RUN_DEPENDS= ${LOCALBASE}/lib/libvulkan.so:graphics/vulkan-loader post-patch: @${REINPLACE_CMD} -e '/check_submodules_present()/d' \ ${WRKSRC}/CMakeLists.txt @${REINPLACE_CMD} -e 's/@GIT_BRANCH@/master/' \ -e 's/@GIT_DESC@/${GH_TAGNAME}/' \ ${WRKSRC}/src/common/scm_rev.cpp.in -.include +.include + +# XXX Drop after FreeBSD 11.3/12.1 EOL +.if ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} < 100 +. if ${LLVM_DEFAULT:C/[1-5]./&0/:S,-devel,990,} < 100 +LLVM_DEFAULT= 10 +. endif +BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} +CC= clang${LLVM_DEFAULT} +CXX= clang++${LLVM_DEFAULT} +CPP= clang-cpp${LLVM_DEFAULT} +.endif + +.include diff --git a/emulators/yuzu/distinfo b/emulators/yuzu/distinfo index 9baf7998143d..7a361bc842c6 100644 --- a/emulators/yuzu/distinfo +++ b/emulators/yuzu/distinfo @@ -1,31 +1,31 @@ -TIMESTAMP = 1596452414 -SHA256 (yuzu-emu-yuzu-s20200803-6c7292de3_GH0.tar.gz) = 2c2d1f63247cb9bd8e37701ea86daeb481d3279fb24523f27e2fbb91fe8d5968 -SIZE (yuzu-emu-yuzu-s20200803-6c7292de3_GH0.tar.gz) = 2945802 +TIMESTAMP = 1597082023 +SHA256 (yuzu-emu-yuzu-s20200810-257b1d2c4_GH0.tar.gz) = 4a7fc607baed5420e18997429f26cfca29fea0ad906c03de142f3fe4ac95729c +SIZE (yuzu-emu-yuzu-s20200810-257b1d2c4_GH0.tar.gz) = 2945337 SHA256 (yuzu-emu-unicorn-1.0.1-153-g73f45735_GH0.tar.gz) = 8f7b4d8eb998c2a4c146268d83b44fc22ca8d4d276f26d6af1071e51f4b5bd4f SIZE (yuzu-emu-unicorn-1.0.1-153-g73f45735_GH0.tar.gz) = 3296254 SHA256 (DarkLordZach-mbedtls-a280e60_GH0.tar.gz) = 4fc6ddc256bc75b975fd5ad8bb7d31ff79c62d49daafb0108585c9ef80c6c5a7 SIZE (DarkLordZach-mbedtls-a280e60_GH0.tar.gz) = 2283313 SHA256 (KhronosGroup-SPIRV-Headers-2c51218_GH0.tar.gz) = 08f70947b69e17c7e322156adcd471cf02b4b3f63e7baf8ee0f02d32603ac5ff SIZE (KhronosGroup-SPIRV-Headers-2c51218_GH0.tar.gz) = 280829 SHA256 (KhronosGroup-Vulkan-Headers-v1.2.145_GH0.tar.gz) = c8656969f0dc33f5f544b9449f02d66b7c9de67e6e58376c1cd4999694ab8517 SIZE (KhronosGroup-Vulkan-Headers-v1.2.145_GH0.tar.gz) = 766896 SHA256 (MerryMage-dynarmic-r3-234-g82417da7_GH0.tar.gz) = 508028032115d62ac3a6ca4d4b362fca9f3523e849723e736373d9443cfa7452 SIZE (MerryMage-dynarmic-r3-234-g82417da7_GH0.tar.gz) = 1646002 SHA256 (ReinUsesLisp-sirit-eefca56_GH0.tar.gz) = cc95e8155e14e596526c378d0a3cc2bb4bfe7da68773a79f224d48f89b20685a SIZE (ReinUsesLisp-sirit-eefca56_GH0.tar.gz) = 22035 SHA256 (arsenm-sanitizers-cmake-aab6948_GH0.tar.gz) = d9009e17948aff769a6f6e16b52d4d8752c5cc2cab1e9c381d3a31fd1a680b58 SIZE (arsenm-sanitizers-cmake-aab6948_GH0.tar.gz) = 7240 SHA256 (citra-emu-ext-soundtouch-060181e_GH0.tar.gz) = a593ab188e4feaeef8376c27b554cc413986efc777c195e44c6d3d223de9a63c SIZE (citra-emu-ext-soundtouch-060181e_GH0.tar.gz) = 59514 SHA256 (herumi-xbyak-v5.911_GH0.tar.gz) = 7b5ec57fb887a25c563e24bd82a0a350d68b8b0219e94b680c040f6cd59bdc40 SIZE (herumi-xbyak-v5.911_GH0.tar.gz) = 224126 SHA256 (kinetiknz-cubeb-cubeb-0.2-1194-g616d773_GH0.tar.gz) = 651694a3b29936f0e96ff2cf2e6342906e781fbe6ca6a1d84ec5671368de1df9 SIZE (kinetiknz-cubeb-cubeb-0.2-1194-g616d773_GH0.tar.gz) = 195355 SHA256 (svn2github-inih-603729d_GH0.tar.gz) = b4faa364c3e33261707d4b669e1c669ca3818d7b9515c15fe0befd9df3f1f00a SIZE (svn2github-inih-603729d_GH0.tar.gz) = 8342 SHA256 (905e8016a04e.patch) = cecc02f098917ee236ace0a350f37a9ffbb4aae92232f6c105a520476f7b23b5 SIZE (905e8016a04e.patch) = 2545 SHA256 (34635a42c0b3.patch) = be502191f192ef47b05e476e76302003487259ebdb1f05a6af65ef79699c5fd6 SIZE (34635a42c0b3.patch) = 14175 SHA256 (1adf640d3725.patch) = 96062963c5bf4f534cdc72f7c9ce9bbe399da1be957c195e5ab12899621e14dd SIZE (1adf640d3725.patch) = 2268 diff --git a/emulators/yuzu/files/patch-boost b/emulators/yuzu/files/patch-boost new file mode 100644 index 000000000000..932bab37a5bf --- /dev/null +++ b/emulators/yuzu/files/patch-boost @@ -0,0 +1,16 @@ +https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246106 + +-- Could NOT find Boost: Found unsuitable version "1.72.0", but required is at least "1.73" (found /usr/local/include) +-- Packages boost/1.73.0 not found! + +--- CMakeLists.txt.orig 2020-08-10 17:53:43 UTC ++++ CMakeLists.txt +@@ -159,7 +159,7 @@ macro(yuzu_find_packages) + # Capitalization matters here. We need the naming to match the generated paths from Conan + set(REQUIRED_LIBS + # Cmake Pkg Prefix Version Conan Pkg +- "Boost 1.73 boost/1.73.0" ++ "Boost 1.72 boost/1.72.0" + "Catch2 2.13 catch2/2.13.0" + "fmt 7.0 fmt/7.0.1" + # can't use until https://github.com/bincrafters/community/issues/1173 diff --git a/emulators/yuzu/files/patch-opus b/emulators/yuzu/files/patch-opus index c92f7951f857..db40f7b85400 100644 --- a/emulators/yuzu/files/patch-opus +++ b/emulators/yuzu/files/patch-opus @@ -1,299 +1,299 @@ Revert https://github.com/yuzu-emu/yuzu/commit/d5dfe34c4935 --- .gitmodules.orig 2020-07-07 22:13:55 UTC +++ .gitmodules @@ -37,6 +37,3 @@ [submodule "externals/libusb"] path = externals/libusb url = https://github.com/ameerj/libusb -[submodule "opus"] - path = externals/opus/opus - url = https://github.com/xiph/opus.git ---- CMakeLists.txt.orig 2020-07-07 22:13:55 UTC +--- CMakeLists.txt.orig 2020-08-10 17:53:43 UTC +++ CMakeLists.txt -@@ -156,6 +156,8 @@ macro(yuzu_find_packages) +@@ -166,6 +166,8 @@ macro(yuzu_find_packages) #"libzip 1.5 libzip/1.5.2@bincrafters/stable" "lz4 1.8 lz4/1.9.2" - "nlohmann_json 3.7 nlohmann_json/3.7.3" + "nlohmann_json 3.8 nlohmann_json/3.8.0" + # we need to be careful as the version check might be broken https://github.com/xiph/opus/issues/110 + "opus 1.3 opus/1.3.1" "ZLIB 1.2 zlib/1.2.11" - "zstd 1.4 zstd/1.4.4" + "zstd 1.4 zstd/1.4.5" ) --- externals/CMakeLists.txt.orig 2020-07-07 22:13:55 UTC +++ externals/CMakeLists.txt @@ -82,6 +82,3 @@ if (ENABLE_WEB_SERVICE) target_compile_definitions(httplib INTERFACE -DCPPHTTPLIB_OPENSSL_SUPPORT) target_link_libraries(httplib INTERFACE OpenSSL::SSL OpenSSL::Crypto) endif() - -# Opus -add_subdirectory(opus) --- externals/opus/CMakeLists.txt.orig 2020-07-07 22:13:55 UTC +++ externals/opus/CMakeLists.txt @@ -1,254 +0,0 @@ -cmake_minimum_required(VERSION 3.8) - -project(opus) - -option(OPUS_STACK_PROTECTOR "Use stack protection" OFF) -option(OPUS_USE_ALLOCA "Use alloca for stack arrays (on non-C99 compilers)" OFF) -option(OPUS_CUSTOM_MODES "Enable non-Opus modes, e.g. 44.1 kHz & 2^n frames" OFF) -option(OPUS_FIXED_POINT "Compile as fixed-point (for machines without a fast enough FPU)" OFF) -option(OPUS_ENABLE_FLOAT_API "Compile with the floating point API (for machines with float library" ON) - -include(opus/opus_functions.cmake) - -if(OPUS_STACK_PROTECTOR) - if(NOT MSVC) # GC on by default on MSVC - check_and_set_flag(STACK_PROTECTION_STRONG -fstack-protector-strong) - endif() -else() - if(MSVC) - check_and_set_flag(BUFFER_SECURITY_CHECK /GS-) - endif() -endif() - -add_library(opus STATIC - # CELT sources - opus/celt/bands.c - opus/celt/celt.c - opus/celt/celt_decoder.c - opus/celt/celt_encoder.c - opus/celt/celt_lpc.c - opus/celt/cwrs.c - opus/celt/entcode.c - opus/celt/entdec.c - opus/celt/entenc.c - opus/celt/kiss_fft.c - opus/celt/laplace.c - opus/celt/mathops.c - opus/celt/mdct.c - opus/celt/modes.c - opus/celt/pitch.c - opus/celt/quant_bands.c - opus/celt/rate.c - opus/celt/vq.c - - # SILK sources - opus/silk/A2NLSF.c - opus/silk/CNG.c - opus/silk/HP_variable_cutoff.c - opus/silk/LPC_analysis_filter.c - opus/silk/LPC_fit.c - opus/silk/LPC_inv_pred_gain.c - opus/silk/LP_variable_cutoff.c - opus/silk/NLSF2A.c - opus/silk/NLSF_VQ.c - opus/silk/NLSF_VQ_weights_laroia.c - opus/silk/NLSF_decode.c - opus/silk/NLSF_del_dec_quant.c - opus/silk/NLSF_encode.c - opus/silk/NLSF_stabilize.c - opus/silk/NLSF_unpack.c - opus/silk/NSQ.c - opus/silk/NSQ_del_dec.c - opus/silk/PLC.c - opus/silk/VAD.c - opus/silk/VQ_WMat_EC.c - opus/silk/ana_filt_bank_1.c - opus/silk/biquad_alt.c - opus/silk/bwexpander.c - opus/silk/bwexpander_32.c - opus/silk/check_control_input.c - opus/silk/code_signs.c - opus/silk/control_SNR.c - opus/silk/control_audio_bandwidth.c - opus/silk/control_codec.c - opus/silk/dec_API.c - opus/silk/decode_core.c - opus/silk/decode_frame.c - opus/silk/decode_indices.c - opus/silk/decode_parameters.c - opus/silk/decode_pitch.c - opus/silk/decode_pulses.c - opus/silk/decoder_set_fs.c - opus/silk/enc_API.c - opus/silk/encode_indices.c - opus/silk/encode_pulses.c - opus/silk/gain_quant.c - opus/silk/init_decoder.c - opus/silk/init_encoder.c - opus/silk/inner_prod_aligned.c - opus/silk/interpolate.c - opus/silk/lin2log.c - opus/silk/log2lin.c - opus/silk/pitch_est_tables.c - opus/silk/process_NLSFs.c - opus/silk/quant_LTP_gains.c - opus/silk/resampler.c - opus/silk/resampler_down2.c - opus/silk/resampler_down2_3.c - opus/silk/resampler_private_AR2.c - opus/silk/resampler_private_IIR_FIR.c - opus/silk/resampler_private_down_FIR.c - opus/silk/resampler_private_up2_HQ.c - opus/silk/resampler_rom.c - opus/silk/shell_coder.c - opus/silk/sigm_Q15.c - opus/silk/sort.c - opus/silk/stereo_LR_to_MS.c - opus/silk/stereo_MS_to_LR.c - opus/silk/stereo_decode_pred.c - opus/silk/stereo_encode_pred.c - opus/silk/stereo_find_predictor.c - opus/silk/stereo_quant_pred.c - opus/silk/sum_sqr_shift.c - opus/silk/table_LSF_cos.c - opus/silk/tables_LTP.c - opus/silk/tables_NLSF_CB_NB_MB.c - opus/silk/tables_NLSF_CB_WB.c - opus/silk/tables_gain.c - opus/silk/tables_other.c - opus/silk/tables_pitch_lag.c - opus/silk/tables_pulses_per_block.c - - # Opus sources - opus/src/analysis.c - opus/src/mapping_matrix.c - opus/src/mlp.c - opus/src/mlp_data.c - opus/src/opus.c - opus/src/opus_decoder.c - opus/src/opus_encoder.c - opus/src/opus_multistream.c - opus/src/opus_multistream_decoder.c - opus/src/opus_multistream_encoder.c - opus/src/opus_projection_decoder.c - opus/src/opus_projection_encoder.c - opus/src/repacketizer.c -) - -if (DEBUG) - target_sources(opus PRIVATE opus/silk/debug.c) -endif() - -if (OPUS_FIXED_POINT) - target_sources(opus PRIVATE - opus/silk/fixed/LTP_analysis_filter_FIX.c - opus/silk/fixed/LTP_scale_ctrl_FIX.c - opus/silk/fixed/apply_sine_window_FIX.c - opus/silk/fixed/autocorr_FIX.c - opus/silk/fixed/burg_modified_FIX.c - opus/silk/fixed/corrMatrix_FIX.c - opus/silk/fixed/encode_frame_FIX.c - opus/silk/fixed/find_LPC_FIX.c - opus/silk/fixed/find_LTP_FIX.c - opus/silk/fixed/find_pitch_lags_FIX.c - opus/silk/fixed/find_pred_coefs_FIX.c - opus/silk/fixed/k2a_FIX.c - opus/silk/fixed/k2a_Q16_FIX.c - opus/silk/fixed/noise_shape_analysis_FIX.c - opus/silk/fixed/pitch_analysis_core_FIX.c - opus/silk/fixed/prefilter_FIX.c - opus/silk/fixed/process_gains_FIX.c - opus/silk/fixed/regularize_correlations_FIX.c - opus/silk/fixed/residual_energy16_FIX.c - opus/silk/fixed/residual_energy_FIX.c - opus/silk/fixed/schur64_FIX.c - opus/silk/fixed/schur_FIX.c - opus/silk/fixed/solve_LS_FIX.c - opus/silk/fixed/vector_ops_FIX.c - opus/silk/fixed/warped_autocorrelation_FIX.c - ) -else() - target_sources(opus PRIVATE - opus/silk/float/LPC_analysis_filter_FLP.c - opus/silk/float/LPC_inv_pred_gain_FLP.c - opus/silk/float/LTP_analysis_filter_FLP.c - opus/silk/float/LTP_scale_ctrl_FLP.c - opus/silk/float/apply_sine_window_FLP.c - opus/silk/float/autocorrelation_FLP.c - opus/silk/float/burg_modified_FLP.c - opus/silk/float/bwexpander_FLP.c - opus/silk/float/corrMatrix_FLP.c - opus/silk/float/encode_frame_FLP.c - opus/silk/float/energy_FLP.c - opus/silk/float/find_LPC_FLP.c - opus/silk/float/find_LTP_FLP.c - opus/silk/float/find_pitch_lags_FLP.c - opus/silk/float/find_pred_coefs_FLP.c - opus/silk/float/inner_product_FLP.c - opus/silk/float/k2a_FLP.c - opus/silk/float/noise_shape_analysis_FLP.c - opus/silk/float/pitch_analysis_core_FLP.c - opus/silk/float/process_gains_FLP.c - opus/silk/float/regularize_correlations_FLP.c - opus/silk/float/residual_energy_FLP.c - opus/silk/float/scale_copy_vector_FLP.c - opus/silk/float/scale_vector_FLP.c - opus/silk/float/schur_FLP.c - opus/silk/float/sort_FLP.c - opus/silk/float/warped_autocorrelation_FLP.c - opus/silk/float/wrappers_FLP.c - ) -endif() - -target_compile_definitions(opus PRIVATE OPUS_BUILD ENABLE_HARDENING) - -if(NOT MSVC) - if(MINGW) - target_compile_definitions(opus PRIVATE _FORTIFY_SOURCE=0) - else() - target_compile_definitions(opus PRIVATE _FORTIFY_SOURCE=2) - endif() -endif() - -# It is strongly recommended to uncomment one of these VAR_ARRAYS: Use C99 -# variable-length arrays for stack allocation USE_ALLOCA: Use alloca() for stack -# allocation If none is defined, then the fallback is a non-threadsafe global -# array -if(OPUS_USE_ALLOCA OR MSVC) - target_compile_definitions(opus PRIVATE USE_ALLOCA) -else() - target_compile_definitions(opus PRIVATE VAR_ARRAYS) -endif() - -if(OPUS_CUSTOM_MODES) - target_compile_definitions(opus PRIVATE CUSTOM_MODES) -endif() - -if(NOT OPUS_ENABLE_FLOAT_API) - target_compile_definitions(opus PRIVATE DISABLE_FLOAT_API) -endif() - -target_compile_definitions(opus -PUBLIC - -DOPUS_VERSION="\\"1.3.1\\"" - -PRIVATE - # Use C99 intrinsics to speed up float-to-int conversion - HAVE_LRINTF -) - -if (FIXED_POINT) - target_compile_definitions(opus PRIVATE -DFIXED_POINT=1 -DDISABLE_FLOAT_API) -endif() - -target_include_directories(opus -PUBLIC - opus/include - -PRIVATE - opus/celt - opus/silk - opus/silk/fixed - opus/silk/float - opus/src -) --- src/core/CMakeLists.txt.orig 2020-07-07 22:13:55 UTC +++ src/core/CMakeLists.txt @@ -614,7 +614,7 @@ endif() create_target_directory_groups(core) target_link_libraries(core PUBLIC common PRIVATE audio_core video_core) -target_link_libraries(core PUBLIC Boost::boost PRIVATE fmt::fmt nlohmann_json::nlohmann_json mbedtls opus unicorn zip) +target_link_libraries(core PUBLIC Boost::boost PRIVATE fmt::fmt nlohmann_json::nlohmann_json mbedtls Opus::Opus unicorn zip) if (YUZU_ENABLE_BOXCAT) target_compile_definitions(core PRIVATE -DYUZU_ENABLE_BOXCAT)