forked from eden-emu/eden
[cmake] fix regressions intr. CPM and packaging (#201)
- don't install dynarmic, mcl, unordered_dense files - fix bundled qt w/ quazip - don't install libyuzu-room.a - don't link to VUH Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: eden-emu/eden#201 Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
This commit is contained in:
parent
41f0fa97ca
commit
9634342100
9 changed files with 61 additions and 42 deletions
|
@ -423,9 +423,9 @@ endif()
|
||||||
|
|
||||||
if (ENABLE_LIBUSB)
|
if (ENABLE_LIBUSB)
|
||||||
if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
|
if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
|
||||||
find_package(libusb MODULE)
|
find_package(libusb MODULE)
|
||||||
else()
|
else()
|
||||||
find_package(libusb 1.0.24 MODULE)
|
find_package(libusb 1.0.24 MODULE)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
2
dist/org.eden_emu.eden.desktop
vendored
2
dist/org.eden_emu.eden.desktop
vendored
|
@ -7,7 +7,7 @@
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Version=1.0
|
Version=1.0
|
||||||
Type=Application
|
Type=Application
|
||||||
Name=eden
|
Name=Eden
|
||||||
GenericName=Switch Emulator
|
GenericName=Switch Emulator
|
||||||
Comment=Nintendo Switch video game console emulator
|
Comment=Nintendo Switch video game console emulator
|
||||||
Icon=org.eden_emu.eden
|
Icon=org.eden_emu.eden
|
||||||
|
|
15
externals/CMakeLists.txt
vendored
15
externals/CMakeLists.txt
vendored
|
@ -330,6 +330,9 @@ CPMAddPackage(
|
||||||
CUSTOM_CACHE_KEY "df2e"
|
CUSTOM_CACHE_KEY "df2e"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set(VulkanUtilityLibraries_SOURCE_DIR "${VulkanUtilityLibraries_SOURCE_DIR}" PARENT_SCOPE)
|
||||||
|
set(VulkanUtilityLibraries_ADDED "${VulkanUtilityLibraries_ADDED}" PARENT_SCOPE)
|
||||||
|
|
||||||
# SPIRV-Tools
|
# SPIRV-Tools
|
||||||
if (YUZU_USE_EXTERNAL_VULKAN_SPIRV_TOOLS)
|
if (YUZU_USE_EXTERNAL_VULKAN_SPIRV_TOOLS)
|
||||||
CPMAddPackage(
|
CPMAddPackage(
|
||||||
|
@ -556,15 +559,3 @@ if (ARCHITECTURE_arm64 AND NOT TARGET sse2neon)
|
||||||
add_library(sse2neon INTERFACE)
|
add_library(sse2neon INTERFACE)
|
||||||
target_include_directories(sse2neon INTERFACE sse2neon)
|
target_include_directories(sse2neon INTERFACE sse2neon)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# QuaZip
|
|
||||||
if (ENABLE_QT)
|
|
||||||
set(CPM_USE_LOCAL_PACKAGES ON)
|
|
||||||
|
|
||||||
CPMAddPackage(
|
|
||||||
NAME QuaZip-Qt6
|
|
||||||
VERSION 1.3
|
|
||||||
URL "https://github.com/crueter/quazip-qt6/archive/f838774d63.zip"
|
|
||||||
CUSTOM_CACHE_KEY "f838"
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
|
@ -23,10 +23,6 @@ if (MSVC)
|
||||||
endif()
|
endif()
|
||||||
target_link_libraries(yuzu-room PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads)
|
target_link_libraries(yuzu-room PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads)
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
|
||||||
install(TARGETS yuzu-room)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (YUZU_USE_PRECOMPILED_HEADERS)
|
if (YUZU_USE_PRECOMPILED_HEADERS)
|
||||||
target_precompile_headers(yuzu-room PRIVATE precompiled_headers.h)
|
target_precompile_headers(yuzu-room PRIVATE precompiled_headers.h)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -20,6 +20,7 @@ option(DYNARMIC_IGNORE_ASSERTS "Ignore asserts" OFF)
|
||||||
option(DYNARMIC_TESTS_USE_UNICORN "Enable fuzzing tests against unicorn" OFF)
|
option(DYNARMIC_TESTS_USE_UNICORN "Enable fuzzing tests against unicorn" OFF)
|
||||||
option(DYNARMIC_USE_LLVM "Support disassembly of jitted x86_64 code using LLVM" OFF)
|
option(DYNARMIC_USE_LLVM "Support disassembly of jitted x86_64 code using LLVM" OFF)
|
||||||
option(DYNARMIC_USE_PRECOMPILED_HEADERS "Use precompiled headers" ON)
|
option(DYNARMIC_USE_PRECOMPILED_HEADERS "Use precompiled headers" ON)
|
||||||
|
option(DYNARMIC_INSTALL "Install dynarmic headers and CMake files" OFF)
|
||||||
option(DYNARMIC_USE_BUNDLED_EXTERNALS "Use all bundled externals (useful when e.g. cross-compiling)" OFF)
|
option(DYNARMIC_USE_BUNDLED_EXTERNALS "Use all bundled externals (useful when e.g. cross-compiling)" OFF)
|
||||||
option(DYNARMIC_WARNINGS_AS_ERRORS "Warnings as errors" ${MASTER_PROJECT})
|
option(DYNARMIC_WARNINGS_AS_ERRORS "Warnings as errors" ${MASTER_PROJECT})
|
||||||
if (NOT DEFINED DYNARMIC_FRONTENDS)
|
if (NOT DEFINED DYNARMIC_FRONTENDS)
|
||||||
|
@ -184,26 +185,28 @@ endif()
|
||||||
#
|
#
|
||||||
# Install
|
# Install
|
||||||
#
|
#
|
||||||
include(GNUInstallDirs)
|
if (DYNARMIC_INSTALL)
|
||||||
include(CMakePackageConfigHelpers)
|
include(GNUInstallDirs)
|
||||||
|
include(CMakePackageConfigHelpers)
|
||||||
|
|
||||||
install(TARGETS dynarmic EXPORT dynarmicTargets)
|
install(TARGETS dynarmic EXPORT dynarmicTargets)
|
||||||
install(EXPORT dynarmicTargets
|
install(EXPORT dynarmicTargets
|
||||||
NAMESPACE dynarmic::
|
NAMESPACE dynarmic::
|
||||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/dynarmic"
|
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/dynarmic"
|
||||||
)
|
)
|
||||||
|
|
||||||
configure_package_config_file(CMakeModules/dynarmicConfig.cmake.in
|
configure_package_config_file(CMakeModules/dynarmicConfig.cmake.in
|
||||||
dynarmicConfig.cmake
|
dynarmicConfig.cmake
|
||||||
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/dynarmic"
|
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/dynarmic"
|
||||||
)
|
)
|
||||||
write_basic_package_version_file(dynarmicConfigVersion.cmake
|
write_basic_package_version_file(dynarmicConfigVersion.cmake
|
||||||
COMPATIBILITY SameMajorVersion
|
COMPATIBILITY SameMajorVersion
|
||||||
)
|
)
|
||||||
install(FILES
|
install(FILES
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/dynarmicConfig.cmake"
|
"${CMAKE_CURRENT_BINARY_DIR}/dynarmicConfig.cmake"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/dynarmicConfigVersion.cmake"
|
"${CMAKE_CURRENT_BINARY_DIR}/dynarmicConfigVersion.cmake"
|
||||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/dynarmic"
|
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/dynarmic"
|
||||||
)
|
)
|
||||||
|
|
||||||
install(DIRECTORY src/dynarmic TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
|
install(DIRECTORY src/dynarmic TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
|
||||||
|
endif()
|
||||||
|
|
4
src/dynarmic/externals/CMakeLists.txt
vendored
4
src/dynarmic/externals/CMakeLists.txt
vendored
|
@ -55,7 +55,7 @@ CPMAddPackage(
|
||||||
URL "https://github.com/azahar-emu/mcl/archive/7b08d83418.zip"
|
URL "https://github.com/azahar-emu/mcl/archive/7b08d83418.zip"
|
||||||
URL_HASH SHA512=f943bac39c1879986decad7a442ff4288eaeca4a2907684c7914e115a55ecc43c2782ded85c0835763fe04e40d5c82220ce864423e489e648e408a84f54dc4f3
|
URL_HASH SHA512=f943bac39c1879986decad7a442ff4288eaeca4a2907684c7914e115a55ecc43c2782ded85c0835763fe04e40d5c82220ce864423e489e648e408a84f54dc4f3
|
||||||
OPTIONS
|
OPTIONS
|
||||||
"MCL_INSTALL ON"
|
"MCL_INSTALL OFF"
|
||||||
CUSTOM_CACHE_KEY "7b08"
|
CUSTOM_CACHE_KEY "7b08"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -77,7 +77,7 @@ CPMAddPackage(
|
||||||
URL_HASH SHA512=71eff7bd9ba4b9226967bacd56a8ff000946f8813167cb5664bb01e96fb79e4e220684d824fe9c59c4d1cc98c606f13aff05b7940a1ed8ab3c95d6974ee34fa0
|
URL_HASH SHA512=71eff7bd9ba4b9226967bacd56a8ff000946f8813167cb5664bb01e96fb79e4e220684d824fe9c59c4d1cc98c606f13aff05b7940a1ed8ab3c95d6974ee34fa0
|
||||||
FIND_PACKAGE_ARGUMENTS "CONFIG"
|
FIND_PACKAGE_ARGUMENTS "CONFIG"
|
||||||
OPTIONS
|
OPTIONS
|
||||||
"UNORDERED_DENSE_INSTALL ON"
|
"UNORDERED_DENSE_INSTALL OFF"
|
||||||
CUSTOM_CACHE_KEY "e59d"
|
CUSTOM_CACHE_KEY "e59d"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -333,7 +333,11 @@ if (VulkanMemoryAllocator_ADDED)
|
||||||
target_include_directories(video_core PUBLIC ${VulkanMemoryAllocator_SOURCE_DIR}/include)
|
target_include_directories(video_core PUBLIC ${VulkanMemoryAllocator_SOURCE_DIR}/include)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(video_core PRIVATE sirit Vulkan::Headers VulkanUtilityHeaders)
|
if (VulkanUtilityLibraries_ADDED)
|
||||||
|
target_include_directories(video_core PUBLIC ${VulkanUtilityLibraries_SOURCE_DIR}/include)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_link_libraries(video_core PRIVATE sirit Vulkan::Headers)
|
||||||
|
|
||||||
if (ENABLE_NSIGHT_AFTERMATH)
|
if (ENABLE_NSIGHT_AFTERMATH)
|
||||||
if (NOT DEFINED ENV{NSIGHT_AFTERMATH_SDK})
|
if (NOT DEFINED ENV{NSIGHT_AFTERMATH_SDK})
|
||||||
|
|
|
@ -495,6 +495,7 @@ if (YUZU_ROOM)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Extra deps
|
# Extra deps
|
||||||
|
add_subdirectory(externals)
|
||||||
target_link_libraries(yuzu PRIVATE QuaZip::QuaZip)
|
target_link_libraries(yuzu PRIVATE QuaZip::QuaZip)
|
||||||
|
|
||||||
create_target_directory_groups(yuzu)
|
create_target_directory_groups(yuzu)
|
||||||
|
|
24
src/yuzu/externals/CMakeLists.txt
vendored
Normal file
24
src/yuzu/externals/CMakeLists.txt
vendored
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
# cpm
|
||||||
|
include(CPM)
|
||||||
|
|
||||||
|
# Disable tests/tools in all externals supporting the standard option name
|
||||||
|
set(BUILD_TESTING OFF)
|
||||||
|
|
||||||
|
# Build only static externals
|
||||||
|
set(BUILD_SHARED_LIBS OFF)
|
||||||
|
|
||||||
|
# Skip install rules for all externals
|
||||||
|
set_directory_properties(PROPERTIES EXCLUDE_FROM_ALL ON)
|
||||||
|
|
||||||
|
# QuaZip
|
||||||
|
set(CPM_USE_LOCAL_PACKAGES ON)
|
||||||
|
|
||||||
|
CPMAddPackage(
|
||||||
|
NAME QuaZip-Qt6
|
||||||
|
VERSION 1.3
|
||||||
|
URL "https://github.com/crueter/quazip-qt6/archive/f838774d63.zip"
|
||||||
|
CUSTOM_CACHE_KEY "f838"
|
||||||
|
)
|
Loading…
Add table
Add a link
Reference in a new issue