Compare commits

..

7 commits

Author SHA1 Message Date
b8fbdfaeeb
CMake: Implement correct USE_CCACHE
All checks were successful
eden-license / license-header (pull_request) Successful in 25s
* it depends on changes made on 9f137adad7

Signed-off-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
2025-09-29 21:27:33 -03:00
92c683871d
CMake: Categorize our options of CMakeLists.txt
* it's a lot better for the eyes

Signed-off-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
2025-09-29 21:27:25 -03:00
108fe65d43
[Linux] Deps: Add more missing apt
* i think it should be added to the build.sh later

Signed-off-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
2025-09-29 21:27:02 -03:00
fe13a50b62
cmake: lto: Set CMP0069 default behavior to NEW
* as stated on https://cmake.org/cmake/help/latest/policy/CMP0069.html
* and should reduce warnings
* picked from ninja-build/ninja

Signed-off-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
2025-09-29 21:27:01 -03:00
abe83e40c3
CMake: USE_SYSTEM_MOLTENVK -> YUZU_APPLE_USE_BUNDLED_MONTENVK
* remove duplicated download_moltenvk*
* add other smalls fixes

Signed-off-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
2025-09-29 21:27:01 -03:00
38d870713c
CMake: fix YUZU_USE_BUNDLED_QT on Linux
* the correct path (at least for 6.8.3) is gcc_64 and not linux

Signed-off-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
2025-09-29 21:27:00 -03:00
f422d855b7
[cmake] fix apple, android builds (#2619)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: #2619
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-09-30 02:18:31 +02:00
2 changed files with 36 additions and 13 deletions

View file

@ -238,7 +238,7 @@ option(YUZU_DOWNLOAD_TIME_ZONE_DATA "Always download time zone binaries" ON)
set(YUZU_TZDB_PATH "" CACHE STRING "Path to a pre-downloaded timezone database")
# Linker optimization
cmake_dependent_option(YUZU_USE_FASTER_LD "Check if a faster linker is available" ON "NOT WIN32" OFF)
cmake_dependent_option(YUZU_USE_FASTER_LD "Check if a faster linker is available" ON "LINUX" OFF)
# MoltenVK on Apple
cmake_dependent_option(YUZU_APPLE_USE_BUNDLED_MONTENVK "Download bundled MoltenVK lib" ON "APPLE" OFF)
@ -905,24 +905,47 @@ if (MSVC AND CXX_CLANG)
link_libraries(llvm-mingw-runtime)
endif()
#[[
search order:
- gold (GCC only) - the best, generally, but unfortunately not packaged anymore
- mold (GCC only) - generally does well on GCC
- ldd - preferred on clang
- bfd - the final fallback
- If none are found (macOS uses ld.prime, etc) just use the default linker
]]
if (YUZU_USE_FASTER_LD)
# fallback if everything fails (bfd)
set(LINKER bfd)
# clang should always use lld
find_program(LLD lld)
if (LLD)
find_program(LINKER_BFD bfd)
if (LINKER_BFD)
set(LINKER bfd)
endif()
find_program(LINKER_LLD lld)
if (LINKER_LLD)
set(LINKER lld)
endif()
# GNU appears to work better with mold
# TODO: mold has been slow lately, see if better options exist (search for gold?)
if (CXX_GCC)
find_program(MOLD mold)
if (MOLD AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "12.1")
find_program(LINKER_MOLD mold)
if (LINKER_MOLD AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "12.1")
set(LINKER mold)
endif()
find_program(LINKER_GOLD gold)
if (LINKER_GOLD)
set(LINKER gold)
endif()
endif()
if (LINKER)
message(NOTICE "Selecting ${LINKER} as linker")
add_link_options("-fuse-ld=${LINKER}")
else()
message(WARNING "No faster linker found--using default")
endif()
if (LINKER STREQUAL "lld" AND CXX_GCC)
message(WARNING "Using lld on GCC may cause issues with certain LTO settings. If the program fails to compile, disable YUZU_USE_FASTER_LD, or install mold or GNU gold.")
endif()
message(NOTICE "Selecting ${LINKER} as linker")
add_link_options("-fuse-ld=${LINKER}")
endif()
# Set runtime library to MD/MDd for all configurations

View file

@ -889,7 +889,7 @@
<string name="save_load_error">Save/Load Error</string>
<string name="fatal_error">Fatal Error</string>
<string name="fatal_error_message">A fatal error occurred. Check the log for details.\nContinuing emulation may result in crashes.</string>
<string name="performance_warning">Turning off this setting will significantly degrade performance. It's recommended that you leave this setting enabled.</string>
<string name="performance_warning">Turning off this setting will significantly degrade performance. It&quot;s recommended that you leave this setting enabled.</string>
<string name="device_memory_inadequate">Device RAM: %1$s\nRecommended: %2$s</string>
<string name="memory_formatted">%1$s %2$s</string>
<string name="no_game_present">No bootable game present!</string>