diff options
| author | crueter <crueter@eden-emu.dev> | 2026-01-28 23:54:49 +0100 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-01-28 23:54:49 +0100 |
| commit | 84839dec382d2ac6799194650f194b02db50a616 (patch) | |
| tree | 68004bfa736d58e5f750036411e2bc3e2763c0f9 /externals/CMakeLists.txt | |
| parent | 3b81d2e33367a888d211a36d8ffc7cdfd9640f52 (diff) | |
[cmake] add a `YUZU_STATIC_ROOM` option (#3411)
Lets you build ONLY the necessary targets to get a statically linked
room executable.
Only intended to be used on musl targets due to getaddrinfo et al.
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3411
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Diffstat (limited to 'externals/CMakeLists.txt')
| -rw-r--r-- | externals/CMakeLists.txt | 66 |
1 files changed, 36 insertions, 30 deletions
diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index 6851016a07..271e49caaa 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project # SPDX-License-Identifier: GPL-3.0-or-later # SPDX-FileCopyrightText: 2016 Citra Emulator Project @@ -34,19 +34,6 @@ if (ARCHITECTURE_x86 OR ARCHITECTURE_x86_64) endif() endif() -# Oaknut -if (ARCHITECTURE_arm64 OR DYNARMIC_TESTS) - AddJsonPackage(oaknut) -endif() - -# biscuit -if (ARCHITECTURE_riscv64) - AddJsonPackage(biscuit) -endif() - -# mcl -AddJsonPackage(mcl) - # enet AddJsonPackage(enet) @@ -61,6 +48,41 @@ endif() # mbedtls AddJsonPackage(mbedtls) +# stb +add_library(stb stb/stb_dxt.cpp) +target_include_directories(stb PUBLIC ./stb) + +if (NOT TARGET stb::headers) + add_library(stb::headers ALIAS stb) +endif() + +# ItaniumDemangle +if (NOT TARGET LLVM::Demangle) + add_library(demangle demangle/ItaniumDemangle.cpp) + target_include_directories(demangle PUBLIC ./demangle) + if (NOT MSVC) + target_compile_options(demangle PRIVATE -Wno-deprecated-declarations) # std::is_pod + endif() + add_library(LLVM::Demangle ALIAS demangle) +endif() + +if (YUZU_STATIC_ROOM) + return() +endif() + +# Oaknut +if (ARCHITECTURE_arm64 OR DYNARMIC_TESTS) + AddJsonPackage(oaknut) +endif() + +# biscuit +if (ARCHITECTURE_riscv64) + AddJsonPackage(biscuit) +endif() + +# mcl +AddJsonPackage(mcl) + # VulkanUtilityHeaders - pulls in headers and utility libs AddJsonPackage(vulkan-utility-headers) @@ -243,22 +265,6 @@ endif() # TZDB (Time Zone Database) add_subdirectory(nx_tzdb) -if (NOT TARGET LLVM::Demangle) - add_library(demangle demangle/ItaniumDemangle.cpp) - target_include_directories(demangle PUBLIC ./demangle) - if (NOT MSVC) - target_compile_options(demangle PRIVATE -Wno-deprecated-declarations) # std::is_pod - endif() - add_library(LLVM::Demangle ALIAS demangle) -endif() - -add_library(stb stb/stb_dxt.cpp) -target_include_directories(stb PUBLIC ./stb) - -if (NOT TARGET stb::headers) - add_library(stb::headers ALIAS stb) -endif() - add_library(tz tz/tz/tz.cpp) target_include_directories(tz PUBLIC ./tz) |
