Compare commits

...
Sign in to create a new pull request.

3 commits

Author SHA1 Message Date
142272d2c5
oops
Signed-off-by: crueter <crueter@eden-emu.dev>
2025-09-04 10:48:04 -04:00
cdd278f2e4
[ci] update header script for cmake
Signed-off-by: crueter <crueter@eden-emu.dev>
2025-09-04 10:47:14 -04:00
446a378607
[cmake] chore: clean up linking, definitions, etc
general clean up of the currently very poorly organized linking/compile
def system. This is very incomplete and needs further work, but chances
are qt_common will mess with it so I will probably merge this into
qt_common.

Signed-off-by: crueter <crueter@eden-emu.dev>
2025-09-04 10:28:54 -04:00
12 changed files with 134 additions and 54 deletions

View file

@ -1,6 +1,7 @@
#!/bin/sh -e #!/bin/sh -e
HEADER="$(cat "$PWD/.ci/license/header.txt")" HEADER="$(cat "$PWD/.ci/license/header.txt")"
HEADER_HASH="$(cat "$PWD/.ci/license/header-hash.txt")"
echo "Getting branch changes" echo "Getting branch changes"
@ -13,41 +14,86 @@ FILES=`git diff-tree --no-commit-id --name-only ${RANGE} -r`
echo "Done" echo "Done"
check_header() {
CONTENT="`head -n3 < $1`"
case "$CONTENT" in
"$HEADER"*) ;;
*) BAD_FILES="$BAD_FILES $1" ;;
esac
}
check_cmake_header() {
CONTENT="`head -n3 < $1`"
case "$CONTENT" in
"$HEADER_HASH"*) ;;
*)
BAD_CMAKE="$BAD_CMAKE $1" ;;
esac
}
for file in $FILES; do for file in $FILES; do
[ -f "$file" ] || continue [ -f "$file" ] || continue
if [ `basename -- "$file"` = "CMakeLists.txt" ]; then
check_cmake_header "$file"
continue
fi
EXTENSION="${file##*.}" EXTENSION="${file##*.}"
case "$EXTENSION" in case "$EXTENSION" in
kts|kt|cpp|h) kts|kt|cpp|h)
CONTENT="`cat $file`" check_header "$file"
case "$CONTENT" in ;;
"$HEADER"*) ;; cmake)
*) BAD_FILES="$BAD_FILES $file" ;; check_cmake_header "$file"
esac
;; ;;
esac esac
done done
if [ "$BAD_FILES" = "" ]; then if [ "$BAD_FILES" = "" ] && [ "$BAD_CMAKE" = "" ]; then
echo echo
echo "All good." echo "All good."
exit exit
fi fi
echo "The following files have incorrect license headers:" if [ "$BAD_FILES" != "" ]; then
echo echo "The following source files have incorrect license headers:"
echo
for file in $BAD_FILES; do echo $file; done for file in $BAD_FILES; do echo $file; done
cat << EOF cat << EOF
The following license header should be added to the start of all offending files: The following license header should be added to the start of all offending SOURCE files:
=== BEGIN === === BEGIN ===
$HEADER $HEADER
=== END === === END ===
EOF
fi
if [ "$BAD_CMAKE" != "" ]; then
echo "The following CMake files have incorrect license headers:"
echo
for file in $BAD_CMAKE; do echo $file; done
cat << EOF
The following license header should be added to the start of all offending CMake files:
=== BEGIN ===
$HEADER_HASH
=== END ===
EOF
fi
cat << EOF
If some of the code in this PR is not being contributed by the original author, If some of the code in this PR is not being contributed by the original author,
the files which have been exclusively changed by that code can be ignored. the files which have been exclusively changed by that code can be ignored.
If this happens, this PR requirement can be bypassed once all other files are addressed. If this happens, this PR requirement can be bypassed once all other files are addressed.
@ -70,6 +116,17 @@ if [ "$FIX" = "true" ]; then
git add $file git add $file
done done
for file in $BAD_CMAKE; do
cat $file > $file.bak
cat .ci/license/header-hash.txt > $file
echo >> $file
cat $file.bak >> $file
rm $file.bak
git add $file
done
echo "License headers fixed." echo "License headers fixed."
if [ "$COMMIT" = "true" ]; then if [ "$COMMIT" = "true" ]; then

View file

@ -0,0 +1,2 @@
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later

View file

@ -97,6 +97,7 @@ option(YUZU_DOWNLOAD_ANDROID_VVL "Download validation layer binary for android"
option(FORCE_DOWNLOAD_WIN_BUNDLES "Forcefully download bundled Windows dependencies (useful for CI)" OFF) option(FORCE_DOWNLOAD_WIN_BUNDLES "Forcefully download bundled Windows dependencies (useful for CI)" OFF)
# TODO(crueter): Cleanup, each dep that has a bundled option should allow to choose between bundled, external, system
if (YUZU_USE_CPM AND ENABLE_SDL2) if (YUZU_USE_CPM AND ENABLE_SDL2)
option(YUZU_USE_BUNDLED_SDL2 "Download bundled SDL2 build" "${MSVC}") option(YUZU_USE_BUNDLED_SDL2 "Download bundled SDL2 build" "${MSVC}")
endif() endif()
@ -105,7 +106,7 @@ CMAKE_DEPENDENT_OPTION(YUZU_ROOM "Enable dedicated room functionality" ON "NOT A
CMAKE_DEPENDENT_OPTION(YUZU_ROOM_STANDALONE "Enable standalone room executable" ON "YUZU_ROOM" OFF) CMAKE_DEPENDENT_OPTION(YUZU_ROOM_STANDALONE "Enable standalone room executable" ON "YUZU_ROOM" OFF)
CMAKE_DEPENDENT_OPTION(YUZU_CMD "Compile the eden-cli executable" ON "NOT ANDROID" OFF) CMAKE_DEPENDENT_OPTION(YUZU_CMD "Compile the eden-cli executable" ON "ENABLE_SDL2;NOT ANDROID" OFF)
CMAKE_DEPENDENT_OPTION(YUZU_CRASH_DUMPS "Compile crash dump (Minidump) support" OFF "WIN32 OR LINUX" OFF) CMAKE_DEPENDENT_OPTION(YUZU_CRASH_DUMPS "Compile crash dump (Minidump) support" OFF "WIN32 OR LINUX" OFF)
@ -277,7 +278,7 @@ function(detect_architecture symbol arch)
if (ARCHITECTURE_${arch}) if (ARCHITECTURE_${arch})
set(ARCHITECTURE "${arch}" PARENT_SCOPE) set(ARCHITECTURE "${arch}" PARENT_SCOPE)
set(ARCHITECTURE_${arch} 1 PARENT_SCOPE) set(ARCHITECTURE_${arch} 1 PARENT_SCOPE)
add_definitions(-DARCHITECTURE_${arch}=1) add_compile_definitions(ARCHITECTURE_${arch}=1)
endif() endif()
endif() endif()
endfunction() endfunction()
@ -299,7 +300,7 @@ endif()
if (NOT DEFINED ARCHITECTURE) if (NOT DEFINED ARCHITECTURE)
set(ARCHITECTURE "GENERIC") set(ARCHITECTURE "GENERIC")
set(ARCHITECTURE_GENERIC 1) set(ARCHITECTURE_GENERIC 1)
add_definitions(-DARCHITECTURE_GENERIC=1) add_compile_definitions(ARCHITECTURE_GENERIC=1)
endif() endif()
message(STATUS "Target architecture: ${ARCHITECTURE}") message(STATUS "Target architecture: ${ARCHITECTURE}")
@ -311,16 +312,16 @@ if (MSVC AND ARCHITECTURE_x86)
endif() endif()
if (UNIX) if (UNIX)
add_definitions(-DYUZU_UNIX=1) add_compile_definitions(YUZU_UNIX=1)
endif() endif()
if (ARCHITECTURE_arm64 AND (ANDROID OR PLATFORM_LINUX)) if (ARCHITECTURE_arm64 AND (ANDROID OR PLATFORM_LINUX))
set(HAS_NCE 1) set(HAS_NCE 1)
add_definitions(-DHAS_NCE=1) add_compile_definitions(HAS_NCE=1)
endif() endif()
if (YUZU_ROOM) if (YUZU_ROOM)
add_definitions(-DYUZU_ROOM) add_compile_definitions(YUZU_ROOM)
endif() endif()
# Build/optimization presets # Build/optimization presets
@ -736,7 +737,7 @@ if (APPLE)
list(APPEND PLATFORM_LIBRARIES ${ICONV_LIBRARY}) list(APPEND PLATFORM_LIBRARIES ${ICONV_LIBRARY})
elseif (WIN32) elseif (WIN32)
# Target Windows 10 # Target Windows 10
add_definitions(-D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00) add_compile_definitions(_WIN32_WINNT=0x0A00 WINVER=0x0A00)
set(PLATFORM_LIBRARIES winmm ws2_32 iphlpapi) set(PLATFORM_LIBRARIES winmm ws2_32 iphlpapi)
if (MINGW) if (MINGW)
# PSAPI is the Process Status API # PSAPI is the Process Status API

View file

@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: 2025 Eden Emulator Project # SPDX-FileCopyrightText: 2025 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
@ -239,7 +242,7 @@ if (YUZU_CRASH_DUMPS AND NOT TARGET libbreakpad_client)
file(GLOB_RECURSE LIBBREAKPAD_CLIENT_SOURCES ${breakpad_SOURCE_DIR}/src/client/mac/*.cc ${breakpad_SOURCE_DIR}/src/common/mac/*.cc) file(GLOB_RECURSE LIBBREAKPAD_CLIENT_SOURCES ${breakpad_SOURCE_DIR}/src/client/mac/*.cc ${breakpad_SOURCE_DIR}/src/common/mac/*.cc)
list(APPEND LIBBREAKPAD_CLIENT_SOURCES ${breakpad_SOURCE_DIR}/src/common/mac/MachIPC.mm) list(APPEND LIBBREAKPAD_CLIENT_SOURCES ${breakpad_SOURCE_DIR}/src/common/mac/MachIPC.mm)
else() else()
target_compile_definitions(libbreakpad_client PUBLIC -DHAVE_A_OUT_H) target_compile_definitions(libbreakpad_client PUBLIC HAVE_A_OUT_H)
file(GLOB_RECURSE LIBBREAKPAD_CLIENT_SOURCES ${breakpad_SOURCE_DIR}/src/client/linux/*.cc ${breakpad_SOURCE_DIR}/src/common/linux/*.cc) file(GLOB_RECURSE LIBBREAKPAD_CLIENT_SOURCES ${breakpad_SOURCE_DIR}/src/client/linux/*.cc ${breakpad_SOURCE_DIR}/src/common/linux/*.cc)
endif() endif()
list(APPEND LIBBREAKPAD_CLIENT_SOURCES ${LIBBREAKPAD_COMMON_SOURCES}) list(APPEND LIBBREAKPAD_CLIENT_SOURCES ${LIBBREAKPAD_COMMON_SOURCES})

View file

@ -22,16 +22,16 @@ if (MSVC)
set(CMAKE_CONFIGURATION_TYPES Debug Release CACHE STRING "" FORCE) set(CMAKE_CONFIGURATION_TYPES Debug Release CACHE STRING "" FORCE)
# Silence "deprecation" warnings # Silence "deprecation" warnings
add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS) add_compile_definitions(_CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_DEPRECATE _SCL_SECURE_NO_WARNINGS)
# Avoid windows.h junk # Avoid windows.h junk
add_definitions(-DNOMINMAX) add_compile_definitions(NOMINMAX)
# Avoid windows.h from including some usually unused libs like winsocks.h, since this might cause some redefinition errors. # Avoid windows.h from including some usually unused libs like winsocks.h, since this might cause some redefinition errors.
add_definitions(-DWIN32_LEAN_AND_MEAN) add_compile_definitions(WIN32_LEAN_AND_MEAN)
# Ensure that projects are built with Unicode support. # Ensure that projects are built with Unicode support.
add_definitions(-DUNICODE -D_UNICODE) add_compile_definitions(UNICODE _UNICODE)
# /W4 - Level 4 warnings # /W4 - Level 4 warnings
# /MP - Multi-threaded compilation # /MP - Multi-threaded compilation
@ -169,15 +169,15 @@ else()
# glibc, which may default to 32 bits. glibc allows this to be configured # glibc, which may default to 32 bits. glibc allows this to be configured
# by setting _FILE_OFFSET_BITS. # by setting _FILE_OFFSET_BITS.
if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR MINGW) if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR MINGW)
add_definitions(-D_FILE_OFFSET_BITS=64) add_compile_definitions(_FILE_OFFSET_BITS=64)
endif() endif()
if (MINGW) if (MINGW)
add_definitions(-DMINGW_HAS_SECURE_API) add_compile_definitions(MINGW_HAS_SECURE_API)
add_compile_options("-msse4.1") add_compile_options("-msse4.1")
if (MINGW_STATIC_BUILD) if (MINGW_STATIC_BUILD)
add_definitions(-DQT_STATICPLUGIN) add_compile_definitions(QT_STATICPLUGIN)
add_compile_options("-static") add_compile_options("-static")
endif() endif()
endif() endif()

View file

@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: 2018 yuzu Emulator Project # SPDX-FileCopyrightText: 2018 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-2.0-or-later
@ -229,9 +232,10 @@ endif()
target_include_directories(audio_core PRIVATE ${OPUS_INCLUDE_DIRS}) target_include_directories(audio_core PRIVATE ${OPUS_INCLUDE_DIRS})
target_link_libraries(audio_core PUBLIC common core opus) target_link_libraries(audio_core PUBLIC common core opus)
if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64) # what?
target_link_libraries(audio_core PRIVATE dynarmic::dynarmic) # if (ARCHITECTURE_x86_64 OR ARCHITECTURE_arm64)
endif() # target_link_libraries(audio_core PRIVATE dynarmic::dynarmic)
# endif()
if (ENABLE_CUBEB) if (ENABLE_CUBEB)
target_sources(audio_core PRIVATE target_sources(audio_core PRIVATE
@ -240,7 +244,7 @@ if (ENABLE_CUBEB)
) )
target_link_libraries(audio_core PRIVATE cubeb) target_link_libraries(audio_core PRIVATE cubeb)
target_compile_definitions(audio_core PRIVATE -DHAVE_CUBEB=1) target_compile_definitions(audio_core PRIVATE HAVE_CUBEB=1)
endif() endif()
if (ENABLE_SDL2) if (ENABLE_SDL2)

View file

@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: 2018 yuzu Emulator Project # SPDX-FileCopyrightText: 2018 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-2.0-or-later
@ -1152,7 +1155,7 @@ add_library(core STATIC
if (ENABLE_WIFI_SCAN) if (ENABLE_WIFI_SCAN)
# find_package(libiw REQUIRED) # find_package(libiw REQUIRED)
target_compile_definitions(core PRIVATE -DENABLE_WIFI_SCAN) target_compile_definitions(core PRIVATE ENABLE_WIFI_SCAN)
target_link_libraries(core PRIVATE iw) target_link_libraries(core PRIVATE iw)
endif() endif()
@ -1199,7 +1202,7 @@ if (MINGW)
endif() endif()
if (ENABLE_WEB_SERVICE) if (ENABLE_WEB_SERVICE)
target_compile_definitions(core PUBLIC -DENABLE_WEB_SERVICE) target_compile_definitions(core PUBLIC ENABLE_WEB_SERVICE)
target_link_libraries(core PUBLIC web_service) target_link_libraries(core PUBLIC web_service)
endif() endif()

View file

@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: 2017 Citra Emulator Project # SPDX-FileCopyrightText: 2017 Citra Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-2.0-or-later
@ -13,7 +16,7 @@ add_library(yuzu-room STATIC EXCLUDE_FROM_ALL
target_link_libraries(yuzu-room PRIVATE common network) target_link_libraries(yuzu-room PRIVATE common network)
if (ENABLE_WEB_SERVICE) if (ENABLE_WEB_SERVICE)
target_compile_definitions(yuzu-room PRIVATE -DENABLE_WEB_SERVICE) target_compile_definitions(yuzu-room PRIVATE ENABLE_WEB_SERVICE)
target_link_libraries(yuzu-room PRIVATE web_service) target_link_libraries(yuzu-room PRIVATE web_service)
endif() endif()

View file

@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: 2022 yuzu Emulator Project # SPDX-FileCopyrightText: 2022 yuzu Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
@ -21,7 +24,7 @@ create_target_directory_groups(network)
target_link_libraries(network PRIVATE common enet Boost::headers) target_link_libraries(network PRIVATE common enet Boost::headers)
if (ENABLE_WEB_SERVICE) if (ENABLE_WEB_SERVICE)
target_compile_definitions(network PRIVATE -DENABLE_WEB_SERVICE) target_compile_definitions(network PRIVATE ENABLE_WEB_SERVICE)
target_link_libraries(network PRIVATE web_service) target_link_libraries(network PRIVATE web_service)
endif() endif()

View file

@ -332,8 +332,10 @@ target_link_options(video_core PRIVATE ${FFmpeg_LDFLAGS})
add_dependencies(video_core host_shaders) add_dependencies(video_core host_shaders)
target_include_directories(video_core PRIVATE ${HOST_SHADERS_INCLUDE}) target_include_directories(video_core PRIVATE ${HOST_SHADERS_INCLUDE})
target_link_libraries(video_core PRIVATE sirit Vulkan::Headers Vulkan::UtilityHeaders) target_link_libraries(video_core PRIVATE sirit)
target_link_libraries(video_core PUBLIC GPUOpen::VulkanMemoryAllocator)
# Header-only stuff needed by all dependent targets
target_link_libraries(video_core PUBLIC Vulkan::Headers Vulkan::UtilityHeaders GPUOpen::VulkanMemoryAllocator)
if (ENABLE_NSIGHT_AFTERMATH) if (ENABLE_NSIGHT_AFTERMATH)
if (NOT DEFINED ENV{NSIGHT_AFTERMATH_SDK}) if (NOT DEFINED ENV{NSIGHT_AFTERMATH_SDK})

View file

@ -401,7 +401,6 @@ target_link_libraries(yuzu PRIVATE nlohmann_json::nlohmann_json)
target_link_libraries(yuzu PRIVATE Boost::headers glad Qt6::Widgets) target_link_libraries(yuzu PRIVATE Boost::headers glad Qt6::Widgets)
target_link_libraries(yuzu PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads) target_link_libraries(yuzu PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads)
target_link_libraries(yuzu PRIVATE Vulkan::Headers)
if (NOT WIN32) if (NOT WIN32)
target_include_directories(yuzu PRIVATE ${Qt6Gui_PRIVATE_INCLUDE_DIRS}) target_include_directories(yuzu PRIVATE ${Qt6Gui_PRIVATE_INCLUDE_DIRS})
endif() endif()
@ -416,24 +415,24 @@ endif()
target_compile_definitions(yuzu PRIVATE target_compile_definitions(yuzu PRIVATE
# Use QStringBuilder for string concatenation to reduce # Use QStringBuilder for string concatenation to reduce
# the overall number of temporary strings created. # the overall number of temporary strings created.
-DQT_USE_QSTRINGBUILDER QT_USE_QSTRINGBUILDER
# Disable implicit conversions from/to C strings # Disable implicit conversions from/to C strings
-DQT_NO_CAST_FROM_ASCII QT_NO_CAST_FROM_ASCII
-DQT_NO_CAST_TO_ASCII QT_NO_CAST_TO_ASCII
# Disable implicit type narrowing in signal/slot connect() calls. # Disable implicit type narrowing in signal/slot connect() calls.
-DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
# Disable unsafe overloads of QProcess' start() function. # Disable unsafe overloads of QProcess' start() function.
-DQT_NO_PROCESS_COMBINED_ARGUMENT_START QT_NO_PROCESS_COMBINED_ARGUMENT_START
# Disable implicit QString->QUrl conversions to enforce use of proper resolving functions. # Disable implicit QString->QUrl conversions to enforce use of proper resolving functions.
-DQT_NO_URL_CAST_FROM_STRING QT_NO_URL_CAST_FROM_STRING
) )
if (YUZU_ENABLE_COMPATIBILITY_REPORTING) if (YUZU_ENABLE_COMPATIBILITY_REPORTING)
target_compile_definitions(yuzu PRIVATE -DYUZU_ENABLE_COMPATIBILITY_REPORTING) target_compile_definitions(yuzu PRIVATE YUZU_ENABLE_COMPATIBILITY_REPORTING)
endif() endif()
if (USE_DISCORD_PRESENCE) if (USE_DISCORD_PRESENCE)
@ -441,22 +440,22 @@ if (USE_DISCORD_PRESENCE)
discord_impl.cpp discord_impl.cpp
discord_impl.h discord_impl.h
) )
target_link_libraries(yuzu PRIVATE DiscordRPC::discord-rpc httplib::httplib Qt${QT_MAJOR_VERSION}::Network) target_link_libraries(yuzu PRIVATE DiscordRPC::discord-rpc httplib::httplib Qt6::Network)
target_compile_definitions(yuzu PRIVATE -DUSE_DISCORD_PRESENCE) target_compile_definitions(yuzu PRIVATE USE_DISCORD_PRESENCE)
endif() endif()
if (ENABLE_WEB_SERVICE) if (ENABLE_WEB_SERVICE)
target_compile_definitions(yuzu PRIVATE -DENABLE_WEB_SERVICE) target_compile_definitions(yuzu PRIVATE ENABLE_WEB_SERVICE)
endif() endif()
if (YUZU_USE_QT_MULTIMEDIA) if (YUZU_USE_QT_MULTIMEDIA)
target_link_libraries(yuzu PRIVATE Qt${QT_MAJOR_VERSION}::Multimedia) target_link_libraries(yuzu PRIVATE Qt6::Multimedia)
target_compile_definitions(yuzu PRIVATE -DYUZU_USE_QT_MULTIMEDIA) target_compile_definitions(yuzu PRIVATE YUZU_USE_QT_MULTIMEDIA)
endif () endif ()
if (YUZU_USE_QT_WEB_ENGINE) if (YUZU_USE_QT_WEB_ENGINE)
target_link_libraries(yuzu PRIVATE Qt${QT_MAJOR_VERSION}::WebEngineCore Qt${QT_MAJOR_VERSION}::WebEngineWidgets) target_link_libraries(yuzu PRIVATE Qt6::WebEngineCore Qt6::WebEngineWidgets)
target_compile_definitions(yuzu PRIVATE -DYUZU_USE_QT_WEB_ENGINE) target_compile_definitions(yuzu PRIVATE YUZU_USE_QT_WEB_ENGINE)
endif () endif ()
if(UNIX AND NOT APPLE) if(UNIX AND NOT APPLE)
@ -468,6 +467,7 @@ if (WIN32 AND NOT YUZU_USE_BUNDLED_QT AND QT_VERSION VERSION_GREATER_EQUAL 6)
add_custom_command(TARGET yuzu POST_BUILD COMMAND ${WINDEPLOYQT_EXECUTABLE} "${YUZU_EXE_DIR}/eden.exe" --dir "${YUZU_EXE_DIR}" --libdir "${YUZU_EXE_DIR}" --plugindir "${YUZU_EXE_DIR}/plugins" --no-compiler-runtime --no-opengl-sw --no-system-d3d-compiler --no-translations --verbose 0) add_custom_command(TARGET yuzu POST_BUILD COMMAND ${WINDEPLOYQT_EXECUTABLE} "${YUZU_EXE_DIR}/eden.exe" --dir "${YUZU_EXE_DIR}" --libdir "${YUZU_EXE_DIR}" --plugindir "${YUZU_EXE_DIR}/plugins" --no-compiler-runtime --no-opengl-sw --no-system-d3d-compiler --no-translations --verbose 0)
endif() endif()
# TODO(crueter): this can be done with system qt in a better way
if (YUZU_USE_BUNDLED_QT) if (YUZU_USE_BUNDLED_QT)
include(CopyYuzuQt6Deps) include(CopyYuzuQt6Deps)
copy_yuzu_Qt6_deps(yuzu) copy_yuzu_Qt6_deps(yuzu)

View file

@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: 2018 yuzu Emulator Project # SPDX-FileCopyrightText: 2018 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-2.0-or-later
@ -28,7 +31,7 @@ add_executable(yuzu-cmd
yuzu.rc yuzu.rc
) )
target_link_libraries(yuzu-cmd PRIVATE common core input_common frontend_common) target_link_libraries(yuzu-cmd PRIVATE common core input_common frontend_common video_core)
target_link_libraries(yuzu-cmd PRIVATE glad) target_link_libraries(yuzu-cmd PRIVATE glad)
if (MSVC) if (MSVC)
target_link_libraries(yuzu-cmd PRIVATE getopt) target_link_libraries(yuzu-cmd PRIVATE getopt)
@ -38,8 +41,7 @@ target_link_libraries(yuzu-cmd PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads)
create_resource("../../dist/yuzu.bmp" "yuzu_cmd/yuzu_icon.h" "yuzu_icon") create_resource("../../dist/yuzu.bmp" "yuzu_cmd/yuzu_icon.h" "yuzu_icon")
target_include_directories(yuzu-cmd PRIVATE ${RESOURCES_DIR}) target_include_directories(yuzu-cmd PRIVATE ${RESOURCES_DIR})
target_link_libraries(yuzu-cmd PRIVATE SDL2::SDL2 Vulkan::Headers) target_link_libraries(yuzu-cmd PRIVATE SDL2::SDL2)
target_link_libraries(yuzu-cmd PRIVATE GPUOpen::VulkanMemoryAllocator)
if(UNIX AND NOT APPLE) if(UNIX AND NOT APPLE)
install(TARGETS yuzu-cmd) install(TARGETS yuzu-cmd)