mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-04-21 21:09:00 +02:00
[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>
This commit is contained in:
parent
3b81d2e333
commit
84839dec38
5 changed files with 151 additions and 102 deletions
|
|
@ -7,7 +7,7 @@
|
|||
include_directories(.)
|
||||
|
||||
# Dynarmic
|
||||
if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64)
|
||||
if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64 AND NOT YUZU_STATIC_ROOM)
|
||||
add_subdirectory(dynarmic)
|
||||
add_library(dynarmic::dynarmic ALIAS dynarmic)
|
||||
endif()
|
||||
|
|
@ -201,19 +201,29 @@ else()
|
|||
endif()
|
||||
|
||||
add_subdirectory(common)
|
||||
add_subdirectory(core)
|
||||
add_subdirectory(audio_core)
|
||||
add_subdirectory(video_core)
|
||||
add_subdirectory(hid_core)
|
||||
add_subdirectory(network)
|
||||
add_subdirectory(input_common)
|
||||
add_subdirectory(frontend_common)
|
||||
add_subdirectory(shader_recompiler)
|
||||
|
||||
if (YUZU_ROOM)
|
||||
add_subdirectory(dedicated_room)
|
||||
endif()
|
||||
|
||||
if (YUZU_ROOM_STANDALONE)
|
||||
add_subdirectory(yuzu_room_standalone)
|
||||
set_target_properties(yuzu-room PROPERTIES OUTPUT_NAME "eden-room")
|
||||
endif()
|
||||
|
||||
if (YUZU_STATIC_ROOM)
|
||||
return()
|
||||
endif()
|
||||
|
||||
add_subdirectory(core)
|
||||
add_subdirectory(audio_core)
|
||||
add_subdirectory(video_core)
|
||||
add_subdirectory(hid_core)
|
||||
add_subdirectory(input_common)
|
||||
add_subdirectory(frontend_common)
|
||||
add_subdirectory(shader_recompiler)
|
||||
|
||||
if (YUZU_TESTS)
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
|
|
@ -223,11 +233,6 @@ if (ENABLE_SDL2 AND YUZU_CMD)
|
|||
set_target_properties(yuzu-cmd PROPERTIES OUTPUT_NAME "eden-cli")
|
||||
endif()
|
||||
|
||||
if (YUZU_ROOM_STANDALONE)
|
||||
add_subdirectory(yuzu_room_standalone)
|
||||
set_target_properties(yuzu-room PROPERTIES OUTPUT_NAME "eden-room")
|
||||
endif()
|
||||
|
||||
if (ENABLE_QT)
|
||||
add_definitions(-DYUZU_QT_WIDGETS)
|
||||
add_subdirectory(qt_common)
|
||||
|
|
|
|||
|
|
@ -25,6 +25,8 @@ namespace Common::Log {
|
|||
|
||||
// Some IDEs prefer <file>:<line> instead, so let's just do that :)
|
||||
std::string FormatLogMessage(const Entry& entry) {
|
||||
if (!entry.filename) return "";
|
||||
|
||||
auto const time_seconds = uint32_t(entry.timestamp.count() / 1000000);
|
||||
auto const time_fractional = uint32_t(entry.timestamp.count() % 1000000);
|
||||
char const* class_name = GetLogClassName(entry.log_class);
|
||||
|
|
|
|||
|
|
@ -1,9 +1,7 @@
|
|||
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
add_executable(yuzu_room_standalone
|
||||
yuzu_room_standalone.cpp
|
||||
)
|
||||
add_executable(yuzu_room_standalone yuzu_room_standalone.cpp)
|
||||
|
||||
set_target_properties(yuzu_room_standalone PROPERTIES OUTPUT_NAME "eden-room")
|
||||
|
||||
|
|
@ -13,4 +11,8 @@ if(UNIX AND NOT APPLE)
|
|||
install(TARGETS yuzu_room_standalone RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
|
||||
endif()
|
||||
|
||||
if (YUZU_STATIC_ROOM)
|
||||
target_link_options(yuzu_room_standalone PRIVATE "-static")
|
||||
endif()
|
||||
|
||||
create_target_directory_groups(yuzu_room_standalone)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue