From 064625ef58d4166b4983119f5389118113505a84 Mon Sep 17 00:00:00 2001
From: Andrea Pappacoda <andrea@pappacoda.it>
Date: Thu, 28 Jul 2022 16:44:52 +0200
Subject: [PATCH 1/2] build: simplify find modules

With this patch I've deleted a few find modules that are now unused
since the vcpkg transition, as the CMake code now forces CONFIG mode for
Catch2, fmt and nlohmann_json.

I've then simplified the lz4, opus, and zstd modules by exclusively
using pkg-config. They were using it already, but were ignoring the
result. Also, I believe that manually looking for libraries was required
for Conan to work, and it is thus not needed anymore.

Lastly, I believe that there is no platform that ships these system libs
without pkg-config/pkgconf, so requiring it should be fine.
---
 externals/find-modules/FindCatch2.cmake       | 51 -------------
 externals/find-modules/Findfmt.cmake          | 71 -------------------
 externals/find-modules/Findlz4.cmake          | 59 +++------------
 .../find-modules/Findnlohmann_json.cmake      | 51 -------------
 externals/find-modules/Findopus.cmake         | 49 ++++---------
 externals/find-modules/Findzstd.cmake         | 60 +++-------------
 6 files changed, 34 insertions(+), 307 deletions(-)
 delete mode 100644 externals/find-modules/FindCatch2.cmake
 delete mode 100644 externals/find-modules/Findfmt.cmake
 delete mode 100644 externals/find-modules/Findnlohmann_json.cmake

diff --git a/externals/find-modules/FindCatch2.cmake b/externals/find-modules/FindCatch2.cmake
deleted file mode 100644
index bded15951..000000000
--- a/externals/find-modules/FindCatch2.cmake
+++ /dev/null
@@ -1,51 +0,0 @@
-# SPDX-FileCopyrightText: 2020 yuzu Emulator Project
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-find_package(PkgConfig QUIET)
-pkg_check_modules(PC_Catch2 QUIET Catch2)
-
-find_path(Catch2_INCLUDE_DIR
-  NAMES catch.hpp
-  PATHS ${PC_Catch2_INCLUDE_DIRS} ${CONAN_CATCH2_ROOT}
-  PATH_SUFFIXES catch2
-)
-
-if(Catch2_INCLUDE_DIR)
-  file(STRINGS "${Catch2_INCLUDE_DIR}/catch.hpp" _Catch2_version_lines
-    REGEX "#define[ \t]+CATCH_VERSION_(MAJOR|MINOR|PATCH)")
-  string(REGEX REPLACE ".*CATCH_VERSION_MAJOR +\([0-9]+\).*" "\\1" _Catch2_version_major "${_Catch2_version_lines}")
-  string(REGEX REPLACE ".*CATCH_VERSION_MINOR +\([0-9]+\).*" "\\1" _Catch2_version_minor "${_Catch2_version_lines}")
-  string(REGEX REPLACE ".*CATCH_VERSION_PATCH +\([0-9]+\).*" "\\1" _Catch2_version_patch "${_Catch2_version_lines}")
-  set(Catch2_VERSION "${_Catch2_version_major}.${_Catch2_version_minor}.${_Catch2_version_patch}")
-  unset(_Catch2_version_major)
-  unset(_Catch2_version_minor)
-  unset(_Catch2_version_patch)
-  unset(_Catch2_version_lines)
-endif()
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(Catch2
-  FOUND_VAR Catch2_FOUND
-  REQUIRED_VARS
-    Catch2_INCLUDE_DIR
-    Catch2_VERSION
-  VERSION_VAR Catch2_VERSION
-)
-
-if(Catch2_FOUND)
-  set(Catch2_INCLUDE_DIRS ${Catch2_INCLUDE_DIR})
-  set(Catch2_DEFINITIONS ${PC_Catch2_CFLAGS_OTHER})
-endif()
-
-if(Catch2_FOUND AND NOT TARGET Catch2::Catch2)
-  add_library(Catch2::Catch2 UNKNOWN IMPORTED)
-  set_target_properties(Catch2::Catch2 PROPERTIES
-    IMPORTED_LOCATION "${Catch2_LIBRARY}"
-    INTERFACE_COMPILE_OPTIONS "${PC_Catch2_CFLAGS_OTHER}"
-    INTERFACE_INCLUDE_DIRECTORIES "${Catch2_INCLUDE_DIR}"
-  )
-endif()
-
-mark_as_advanced(
-    Catch2_INCLUDE_DIR
-)
diff --git a/externals/find-modules/Findfmt.cmake b/externals/find-modules/Findfmt.cmake
deleted file mode 100644
index d11e98a69..000000000
--- a/externals/find-modules/Findfmt.cmake
+++ /dev/null
@@ -1,71 +0,0 @@
-# SPDX-FileCopyrightText: 2020 yuzu Emulator Project
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-find_package(PkgConfig QUIET)
-pkg_check_modules(PC_fmt QUIET fmt)
-
-find_path(fmt_INCLUDE_DIR
-  NAMES format.h
-  PATHS ${PC_fmt_INCLUDE_DIRS} ${CONAN_INCLUDE_DIRS_fmt}
-  PATH_SUFFIXES fmt
-)
-
-find_library(fmt_LIBRARY
-  NAMES fmt
-  PATHS ${PC_fmt_LIBRARY_DIRS} ${CONAN_LIB_DIRS_fmt}
-)
-
-if(fmt_INCLUDE_DIR)
-  set(_fmt_version_file "${fmt_INCLUDE_DIR}/core.h")
-  if(NOT EXISTS "${_fmt_version_file}")
-    set(_fmt_version_file "${fmt_INCLUDE_DIR}/format.h")
-  endif()
-  if(EXISTS "${_fmt_version_file}")
-    # parse "#define FMT_VERSION 60200" to 6.2.0
-    file(STRINGS "${_fmt_version_file}" fmt_VERSION_LINE
-      REGEX "^#define[ \t]+FMT_VERSION[ \t]+[0-9]+$")
-    string(REGEX REPLACE "^#define[ \t]+FMT_VERSION[ \t]+([0-9]+)$"
-      "\\1" fmt_VERSION "${fmt_VERSION_LINE}")
-    foreach(ver "fmt_VERSION_PATCH" "fmt_VERSION_MINOR" "fmt_VERSION_MAJOR")
-      math(EXPR ${ver} "${fmt_VERSION} % 100")
-      math(EXPR fmt_VERSION "(${fmt_VERSION} - ${${ver}}) / 100")
-    endforeach()
-    set(fmt_VERSION
-      "${fmt_VERSION_MAJOR}.${fmt_VERSION_MINOR}.${fmt_VERSION_PATCH}")
-  endif()
-  unset(_fmt_version_file)
-  unset(fmt_VERSION_LINE)
-  unset(fmt_VERSION_MAJOR)
-  unset(fmt_VERSION_MINOR)
-  unset(fmt_VERSION_PATCH)
-endif()
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(fmt
-  FOUND_VAR fmt_FOUND
-  REQUIRED_VARS
-    fmt_LIBRARY
-    fmt_INCLUDE_DIR
-    fmt_VERSION
-  VERSION_VAR fmt_VERSION
-)
-
-if(fmt_FOUND)
-  set(fmt_LIBRARIES ${fmt_LIBRARY})
-  set(fmt_INCLUDE_DIRS ${fmt_INCLUDE_DIR})
-  set(fmt_DEFINITIONS ${PC_fmt_CFLAGS_OTHER})
-endif()
-
-if(fmt_FOUND AND NOT TARGET fmt::fmt)
-  add_library(fmt::fmt UNKNOWN IMPORTED)
-  set_target_properties(fmt::fmt PROPERTIES
-    IMPORTED_LOCATION "${fmt_LIBRARY}"
-    INTERFACE_COMPILE_OPTIONS "${PC_fmt_CFLAGS_OTHER}"
-    INTERFACE_INCLUDE_DIRECTORIES "${fmt_INCLUDE_DIR}"
-  )
-endif()
-
-mark_as_advanced(
-    fmt_INCLUDE_DIR
-    fmt_LIBRARY
-)
diff --git a/externals/find-modules/Findlz4.cmake b/externals/find-modules/Findlz4.cmake
index 56dcca8f6..13ca5de66 100644
--- a/externals/find-modules/Findlz4.cmake
+++ b/externals/find-modules/Findlz4.cmake
@@ -1,56 +1,19 @@
-# SPDX-FileCopyrightText: 2020 yuzu Emulator Project
+# SPDX-FileCopyrightText: 2022 yuzu Emulator Project
 # SPDX-License-Identifier: GPL-2.0-or-later
 
-find_package(PkgConfig QUIET)
-pkg_check_modules(PC_lz4 QUIET lz4)
+find_package(PkgConfig)
 
-find_path(lz4_INCLUDE_DIR
-  NAMES lz4.h
-  PATHS ${PC_lz4_INCLUDE_DIRS}
-)
-find_library(lz4_LIBRARY
-  NAMES lz4
-  PATHS ${PC_lz4_LIBRARY_DIRS}
-)
-
-if(lz4_INCLUDE_DIR)
-  file(STRINGS "${lz4_INCLUDE_DIR}/lz4.h" _lz4_version_lines
-    REGEX "#define[ \t]+LZ4_VERSION_(MAJOR|MINOR|RELEASE)")
-  string(REGEX REPLACE ".*LZ4_VERSION_MAJOR *\([0-9]*\).*" "\\1" _lz4_version_major "${_lz4_version_lines}")
-  string(REGEX REPLACE ".*LZ4_VERSION_MINOR *\([0-9]*\).*" "\\1" _lz4_version_minor "${_lz4_version_lines}")
-  string(REGEX REPLACE ".*LZ4_VERSION_RELEASE *\([0-9]*\).*" "\\1" _lz4_version_release "${_lz4_version_lines}")
-  set(lz4_VERSION "${_lz4_version_major}.${_lz4_version_minor}.${_lz4_version_release}")
-  unset(_lz4_version_major)
-  unset(_lz4_version_minor)
-  unset(_lz4_version_release)
-  unset(_lz4_version_lines)
+if (PKG_CONFIG_FOUND)
+    pkg_search_module(liblz4 IMPORTED_TARGET GLOBAL liblz4)
+    if (liblz4_FOUND)
+        add_library(lz4::lz4 ALIAS PkgConfig::liblz4)
+    endif()
 endif()
 
 include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(lz4
-  FOUND_VAR lz4_FOUND
-  REQUIRED_VARS
-    lz4_LIBRARY
-    lz4_INCLUDE_DIR
-  VERSION_VAR lz4_VERSION
-)
-
-if(lz4_FOUND)
-  set(lz4_LIBRARIES ${lz4_LIBRARY})
-  set(lz4_INCLUDE_DIRS ${lz4_INCLUDE_DIR})
-  set(lz4_DEFINITIONS ${PC_lz4_CFLAGS_OTHER})
-endif()
-
-if(lz4_FOUND AND NOT TARGET lz4::lz4)
-  add_library(lz4::lz4 UNKNOWN IMPORTED)
-  set_target_properties(lz4::lz4 PROPERTIES
-    IMPORTED_LOCATION "${lz4_LIBRARY}"
-    INTERFACE_COMPILE_OPTIONS "${PC_lz4_CFLAGS_OTHER}"
-    INTERFACE_INCLUDE_DIRECTORIES "${lz4_INCLUDE_DIR}"
-  )
-endif()
-
-mark_as_advanced(
-    lz4_INCLUDE_DIR
-    lz4_LIBRARY
+    REQUIRED_VARS
+        liblz4_LINK_LIBRARIES
+        liblz4_FOUND
+    VERSION_VAR liblz4_VERSION
 )
diff --git a/externals/find-modules/Findnlohmann_json.cmake b/externals/find-modules/Findnlohmann_json.cmake
deleted file mode 100644
index 8a3958cf1..000000000
--- a/externals/find-modules/Findnlohmann_json.cmake
+++ /dev/null
@@ -1,51 +0,0 @@
-# SPDX-FileCopyrightText: 2020 yuzu Emulator Project
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-find_package(PkgConfig QUIET)
-pkg_check_modules(PC_nlohmann_json QUIET nlohmann_json)
-
-find_path(nlohmann_json_INCLUDE_DIR
-  NAMES json.hpp
-  PATHS ${PC_nlohmann_json_INCLUDE_DIRS}
-  PATH_SUFFIXES nlohmann
-)
-
-if(nlohmann_json_INCLUDE_DIR)
-  file(STRINGS "${nlohmann_json_INCLUDE_DIR}/json.hpp" _nlohmann_json_version_lines
-    REGEX "#define[ \t]+NLOHMANN_JSON_VERSION_(MAJOR|MINOR|PATCH)")
-  string(REGEX REPLACE ".*NLOHMANN_JSON_VERSION_MAJOR +\([0-9]+\).*" "\\1" _nlohmann_json_version_major "${_nlohmann_json_version_lines}")
-  string(REGEX REPLACE ".*NLOHMANN_JSON_VERSION_MINOR +\([0-9]+\).*" "\\1" _nlohmann_json_version_minor "${_nlohmann_json_version_lines}")
-  string(REGEX REPLACE ".*NLOHMANN_JSON_VERSION_PATCH +\([0-9]+\).*" "\\1" _nlohmann_json_version_patch "${_nlohmann_json_version_lines}")
-  set(nlohmann_json_VERSION "${_nlohmann_json_version_major}.${_nlohmann_json_version_minor}.${_nlohmann_json_version_patch}")
-  unset(_nlohmann_json_version_major)
-  unset(_nlohmann_json_version_minor)
-  unset(_nlohmann_json_version_patch)
-  unset(_nlohmann_json_version_lines)
-endif()
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(nlohmann_json
-  FOUND_VAR nlohmann_json_FOUND
-  REQUIRED_VARS
-    nlohmann_json_INCLUDE_DIR
-    nlohmann_json_VERSION
-  VERSION_VAR nlohmann_json_VERSION
-)
-
-if(nlohmann_json_FOUND)
-  set(nlohmann_json_INCLUDE_DIRS ${nlohmann_json_INCLUDE_DIR})
-  set(nlohmann_json_DEFINITIONS ${PC_nlohmann_json_CFLAGS_OTHER})
-endif()
-
-if(nlohmann_json_FOUND AND NOT TARGET nlohmann_json::nlohmann_json)
-  add_library(nlohmann_json::nlohmann_json UNKNOWN IMPORTED)
-  set_target_properties(nlohmann_json::nlohmann_json PROPERTIES
-    IMPORTED_LOCATION "${nlohmann_json_LIBRARY}"
-    INTERFACE_COMPILE_OPTIONS "${PC_nlohmann_json_CFLAGS_OTHER}"
-    INTERFACE_INCLUDE_DIRECTORIES "${nlohmann_json_INCLUDE_DIR}"
-  )
-endif()
-
-mark_as_advanced(
-    nlohmann_json_INCLUDE_DIR
-)
diff --git a/externals/find-modules/Findopus.cmake b/externals/find-modules/Findopus.cmake
index ec7b4f61f..4ebf9ef7b 100644
--- a/externals/find-modules/Findopus.cmake
+++ b/externals/find-modules/Findopus.cmake
@@ -1,44 +1,19 @@
-# SPDX-FileCopyrightText: 2020 yuzu Emulator Project
+# SPDX-FileCopyrightText: 2022 yuzu Emulator Project
 # SPDX-License-Identifier: GPL-2.0-or-later
 
-find_package(PkgConfig QUIET)
-pkg_check_modules(PC_opus QUIET opus)
+find_package(PkgConfig)
 
-find_path(opus_INCLUDE_DIR
-  NAMES opus.h
-  PATHS ${PC_opus_INCLUDE_DIRS}
-  PATH_SUFFIXES opus
-)
-find_library(opus_LIBRARY
-  NAMES opus
-  PATHS ${PC_opus_LIBRARY_DIRS}
-)
+if (PKG_CONFIG_FOUND)
+    pkg_search_module(opus IMPORTED_TARGET GLOBAL opus)
+    if (opus_FOUND)
+        add_library(Opus::Opus ALIAS PkgConfig::opus)
+    endif()
+endif()
 
 include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(opus
-  FOUND_VAR opus_FOUND
-  REQUIRED_VARS
-    opus_LIBRARY
-    opus_INCLUDE_DIR
-  VERSION_VAR opus_VERSION
-)
-
-if(opus_FOUND)
-  set(Opus_LIBRARIES ${opus_LIBRARY})
-  set(Opus_INCLUDE_DIRS ${opus_INCLUDE_DIR})
-  set(Opus_DEFINITIONS ${PC_opus_CFLAGS_OTHER})
-endif()
-
-if(opus_FOUND AND NOT TARGET Opus::Opus)
-  add_library(Opus::Opus UNKNOWN IMPORTED GLOBAL)
-  set_target_properties(Opus::Opus PROPERTIES
-    IMPORTED_LOCATION "${opus_LIBRARY}"
-    INTERFACE_COMPILE_OPTIONS "${PC_opus_CFLAGS_OTHER}"
-    INTERFACE_INCLUDE_DIRECTORIES "${opus_INCLUDE_DIR}"
-  )
-endif()
-
-mark_as_advanced(
-    opus_INCLUDE_DIR
-    opus_LIBRARY
+    REQUIRED_VARS
+        opus_LINK_LIBRARIES
+        opus_FOUND
+    VERSION_VAR opus_VERSION
 )
diff --git a/externals/find-modules/Findzstd.cmake b/externals/find-modules/Findzstd.cmake
index f0c56f499..f4031eb70 100644
--- a/externals/find-modules/Findzstd.cmake
+++ b/externals/find-modules/Findzstd.cmake
@@ -1,57 +1,19 @@
-# SPDX-FileCopyrightText: 2020 yuzu Emulator Project
+# SPDX-FileCopyrightText: 2022 yuzu Emulator Project
 # SPDX-License-Identifier: GPL-2.0-or-later
 
-find_package(PkgConfig QUIET)
-pkg_check_modules(PC_zstd QUIET libzstd)
+find_package(PkgConfig)
 
-find_path(zstd_INCLUDE_DIR
-  NAMES zstd.h
-  PATHS ${PC_zstd_INCLUDE_DIRS}
-)
-find_library(zstd_LIBRARY
-  NAMES zstd
-  PATHS ${PC_zstd_LIBRARY_DIRS}
-)
-
-if(zstd_INCLUDE_DIR)
-  file(STRINGS "${zstd_INCLUDE_DIR}/zstd.h" _zstd_version_lines
-    REGEX "#define[ \t]+ZSTD_VERSION_(MAJOR|MINOR|RELEASE)")
-  string(REGEX REPLACE ".*ZSTD_VERSION_MAJOR *\([0-9]*\).*" "\\1" _zstd_version_major "${_zstd_version_lines}")
-  string(REGEX REPLACE ".*ZSTD_VERSION_MINOR *\([0-9]*\).*" "\\1" _zstd_version_minor "${_zstd_version_lines}")
-  string(REGEX REPLACE ".*ZSTD_VERSION_RELEASE *\([0-9]*\).*" "\\1" _zstd_version_release "${_zstd_version_lines}")
-  set(zstd_VERSION "${_zstd_version_major}.${_zstd_version_minor}.${_zstd_version_release}")
-  unset(_zstd_version_major)
-  unset(_zstd_version_minor)
-  unset(_zstd_version_release)
-  unset(_zstd_version_lines)
+if (PKG_CONFIG_FOUND)
+    pkg_search_module(libzstd IMPORTED_TARGET GLOBAL libzstd)
+    if (libzstd_FOUND)
+        add_library(zstd::zstd ALIAS PkgConfig::libzstd)
+    endif()
 endif()
 
 include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(zstd
-  FOUND_VAR zstd_FOUND
-  REQUIRED_VARS
-    zstd_LIBRARY
-    zstd_INCLUDE_DIR
-    zstd_VERSION
-  VERSION_VAR zstd_VERSION
-)
-
-if(zstd_FOUND)
-  set(zstd_LIBRARIES ${zstd_LIBRARY})
-  set(zstd_INCLUDE_DIRS ${zstd_INCLUDE_DIR})
-  set(zstd_DEFINITIONS ${PC_zstd_CFLAGS_OTHER})
-endif()
-
-if(zstd_FOUND AND NOT TARGET zstd::zstd)
-  add_library(zstd::zstd UNKNOWN IMPORTED)
-  set_target_properties(zstd::zstd PROPERTIES
-    IMPORTED_LOCATION "${zstd_LIBRARY}"
-    INTERFACE_COMPILE_OPTIONS "${PC_zstd_CFLAGS_OTHER}"
-    INTERFACE_INCLUDE_DIRECTORIES "${zstd_INCLUDE_DIR}"
-  )
-endif()
-
-mark_as_advanced(
-    zstd_INCLUDE_DIR
-    zstd_LIBRARY
+    REQUIRED_VARS
+        libzstd_LINK_LIBRARIES
+        libzstd_FOUND
+    VERSION_VAR libzstd_VERSION
 )

From adc8c03fe463c9c0aaa2cfcbc502bc65dc7b99b6 Mon Sep 17 00:00:00 2001
From: Andrea Pappacoda <andrea@pappacoda.it>
Date: Mon, 1 Aug 2022 12:31:31 +0200
Subject: [PATCH 2/2] build(externals): rename Findopus to FindOpus

This better matches upstream's FindOpus.cmake file, and it will make
using upstream's FindOpus.cmake file easier.
---
 externals/CMakeLists.txt                                  | 2 +-
 externals/find-modules/{Findopus.cmake => FindOpus.cmake} | 4 ++--
 externals/opus/CMakeLists.txt                             | 2 +-
 src/core/CMakeLists.txt                                   | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)
 rename externals/find-modules/{Findopus.cmake => FindOpus.cmake} (80%)

diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt
index 6d04ace1d..eea70fc27 100644
--- a/externals/CMakeLists.txt
+++ b/externals/CMakeLists.txt
@@ -128,7 +128,7 @@ endif()
 if (YUZU_USE_BUNDLED_OPUS)
     add_subdirectory(opus EXCLUDE_FROM_ALL)
 else()
-    find_package(opus 1.3 REQUIRED)
+    find_package(Opus 1.3 REQUIRED)
 endif()
 
 # FFMpeg
diff --git a/externals/find-modules/Findopus.cmake b/externals/find-modules/FindOpus.cmake
similarity index 80%
rename from externals/find-modules/Findopus.cmake
rename to externals/find-modules/FindOpus.cmake
index 4ebf9ef7b..b68a6046b 100644
--- a/externals/find-modules/Findopus.cmake
+++ b/externals/find-modules/FindOpus.cmake
@@ -6,12 +6,12 @@ find_package(PkgConfig)
 if (PKG_CONFIG_FOUND)
     pkg_search_module(opus IMPORTED_TARGET GLOBAL opus)
     if (opus_FOUND)
-        add_library(Opus::Opus ALIAS PkgConfig::opus)
+        add_library(Opus::opus ALIAS PkgConfig::opus)
     endif()
 endif()
 
 include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(opus
+find_package_handle_standard_args(Opus
     REQUIRED_VARS
         opus_LINK_LIBRARIES
         opus_FOUND
diff --git a/externals/opus/CMakeLists.txt b/externals/opus/CMakeLists.txt
index a92ffbd69..410ff7c08 100644
--- a/externals/opus/CMakeLists.txt
+++ b/externals/opus/CMakeLists.txt
@@ -256,4 +256,4 @@ PRIVATE
     opus/src
 )
 
-add_library(Opus::Opus ALIAS opus)
+add_library(Opus::opus ALIAS opus)
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 40b1ea4a2..0d3286d58 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -787,7 +787,7 @@ endif()
 create_target_directory_groups(core)
 
 target_link_libraries(core PUBLIC common PRIVATE audio_core network video_core)
-target_link_libraries(core PUBLIC Boost::boost PRIVATE fmt::fmt nlohmann_json::nlohmann_json mbedtls Opus::Opus)
+target_link_libraries(core PUBLIC Boost::boost PRIVATE fmt::fmt nlohmann_json::nlohmann_json mbedtls Opus::opus)
 if (MINGW)
     target_link_libraries(core PRIVATE ${MSWSOCK_LIBRARY})
 endif()