forked from suyu/suyu
80bdb44ead
We don't need to depend on a custom fork for this. We can add the library as is, and then make it excluded from the ALL target, so we only link in the libraries that we actually make use of.
103 lines
2.4 KiB
CMake
Vendored
103 lines
2.4 KiB
CMake
Vendored
# Definitions for all external bundled libraries
|
|
|
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules)
|
|
include(DownloadExternals)
|
|
|
|
# Catch
|
|
add_library(catch-single-include INTERFACE)
|
|
target_include_directories(catch-single-include INTERFACE catch/single_include)
|
|
|
|
# libfmt
|
|
add_subdirectory(fmt)
|
|
add_library(fmt::fmt ALIAS fmt)
|
|
|
|
# Dynarmic
|
|
if (ARCHITECTURE_x86_64)
|
|
set(DYNARMIC_TESTS OFF)
|
|
set(DYNARMIC_NO_BUNDLED_FMT ON)
|
|
add_subdirectory(dynarmic)
|
|
endif()
|
|
|
|
# getopt
|
|
if (MSVC)
|
|
add_subdirectory(getopt)
|
|
endif()
|
|
|
|
# Glad
|
|
add_subdirectory(glad)
|
|
|
|
# inih
|
|
add_subdirectory(inih)
|
|
|
|
# lz4
|
|
set(LZ4_BUNDLED_MODE ON)
|
|
add_subdirectory(lz4/contrib/cmake_unofficial EXCLUDE_FROM_ALL)
|
|
target_include_directories(lz4_static INTERFACE ./lz4/lib)
|
|
|
|
# mbedtls
|
|
add_subdirectory(mbedtls EXCLUDE_FROM_ALL)
|
|
target_include_directories(mbedtls PUBLIC ./mbedtls/include)
|
|
|
|
# MicroProfile
|
|
add_library(microprofile INTERFACE)
|
|
target_include_directories(microprofile INTERFACE ./microprofile)
|
|
|
|
# Open Source Archives
|
|
add_subdirectory(open_source_archives EXCLUDE_FROM_ALL)
|
|
|
|
# Unicorn
|
|
add_library(unicorn-headers INTERFACE)
|
|
target_include_directories(unicorn-headers INTERFACE ./unicorn/include)
|
|
|
|
# Zstandard
|
|
add_subdirectory(zstd/build/cmake EXCLUDE_FROM_ALL)
|
|
target_include_directories(libzstd_static INTERFACE ./zstd/lib)
|
|
|
|
# SoundTouch
|
|
add_subdirectory(soundtouch)
|
|
|
|
# Opus
|
|
add_subdirectory(opus)
|
|
target_include_directories(opus INTERFACE ./opus/include)
|
|
|
|
# Cubeb
|
|
if(ENABLE_CUBEB)
|
|
set(BUILD_TESTS OFF CACHE BOOL "")
|
|
add_subdirectory(cubeb EXCLUDE_FROM_ALL)
|
|
endif()
|
|
|
|
# DiscordRPC
|
|
if (USE_DISCORD_PRESENCE)
|
|
add_subdirectory(discord-rpc EXCLUDE_FROM_ALL)
|
|
target_include_directories(discord-rpc INTERFACE ./discord-rpc/include)
|
|
endif()
|
|
|
|
# Sirit
|
|
if (ENABLE_VULKAN)
|
|
add_subdirectory(sirit)
|
|
endif()
|
|
|
|
# zlib
|
|
add_subdirectory(zlib EXCLUDE_FROM_ALL)
|
|
|
|
# libzip
|
|
add_subdirectory(libzip)
|
|
|
|
if (ENABLE_WEB_SERVICE)
|
|
# LibreSSL
|
|
set(LIBRESSL_SKIP_INSTALL ON CACHE BOOL "")
|
|
add_subdirectory(libressl EXCLUDE_FROM_ALL)
|
|
target_include_directories(ssl INTERFACE ./libressl/include)
|
|
target_compile_definitions(ssl PRIVATE -DHAVE_INET_NTOP)
|
|
|
|
# lurlparser
|
|
add_subdirectory(lurlparser EXCLUDE_FROM_ALL)
|
|
|
|
# httplib
|
|
add_library(httplib INTERFACE)
|
|
target_include_directories(httplib INTERFACE ./httplib)
|
|
|
|
# JSON
|
|
add_library(json-headers INTERFACE)
|
|
target_include_directories(json-headers INTERFACE ./json)
|
|
endif()
|