[cmake] fix windows cubeb and VUL -> CPM

Signed-off-by: crueter <crueter@eden-emu.dev>
This commit is contained in:
crueter 2025-07-27 20:36:45 -04:00
parent 4ae6bb954a
commit 0709b99f4a
Signed by: crueter
GPG key ID: 425ACD2D4830EBC6
3 changed files with 31 additions and 31 deletions

View file

@ -53,22 +53,18 @@ option(ENABLE_WEB_SERVICE "Enable web services (telemetry, etc.)" ON)
option(ENABLE_WIFI_SCAN "Enable WiFi scanning" OFF) option(ENABLE_WIFI_SCAN "Enable WiFi scanning" OFF)
if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
option(YUZU_USE_BUNDLED_FFMPEG "Download/Build bundled FFmpeg" OFF) option(YUZU_USE_BUNDLED_FFMPEG "Download/Build bundled FFmpeg" OFF)
else() else()
option(YUZU_USE_BUNDLED_FFMPEG "Download/Build bundled FFmpeg" ON) option(YUZU_USE_BUNDLED_FFMPEG "Download/Build bundled FFmpeg" ON)
endif() endif()
if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
option(YUZU_USE_EXTERNAL_VULKAN_HEADERS "Use Vulkan-Headers from externals" OFF) option(YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES "Use Vulkan-Utility-Libraries from externals" OFF)
else() else()
option(YUZU_USE_EXTERNAL_VULKAN_HEADERS "Use Vulkan-Headers from externals" ON) option(YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES "Use Vulkan-Utility-Libraries from externals" ON)
endif() endif()
if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") CMAKE_DEPENDENT_OPTION(YUZU_USE_EXTERNAL_VULKAN_HEADERS "Use Vulkan-Headers from externals" ON "YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES" OFF)
option(YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES "Use Vulkan-Utility-Libraries from externals" OFF)
else()
option(YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES "Use Vulkan-Utility-Libraries from externals" ON)
endif()
if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
option(YUZU_USE_EXTERNAL_VULKAN_SPIRV_TOOLS "Use SPIRV-Tools from externals" OFF) option(YUZU_USE_EXTERNAL_VULKAN_SPIRV_TOOLS "Use SPIRV-Tools from externals" OFF)
@ -91,9 +87,9 @@ option(ENABLE_MICROPROFILE "Enables microprofile capabilities" OFF)
option(YUZU_TESTS "Compile tests" "${BUILD_TESTING}") option(YUZU_TESTS "Compile tests" "${BUILD_TESTING}")
if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
option(YUZU_USE_PRECOMPILED_HEADERS "Use precompiled headers" OFF) option(YUZU_USE_PRECOMPILED_HEADERS "Use precompiled headers" OFF)
else() else()
option(YUZU_USE_PRECOMPILED_HEADERS "Use precompiled headers" ON) option(YUZU_USE_PRECOMPILED_HEADERS "Use precompiled headers" ON)
endif() endif()
option(YUZU_DOWNLOAD_ANDROID_VVL "Download validation layer binary for android" ON) option(YUZU_DOWNLOAD_ANDROID_VVL "Download validation layer binary for android" ON)
@ -109,9 +105,9 @@ CMAKE_DEPENDENT_OPTION(YUZU_CRASH_DUMPS "Compile crash dump (Minidump) support"
option(YUZU_USE_BUNDLED_VCPKG "Use vcpkg for yuzu dependencies" "${MSVC}") option(YUZU_USE_BUNDLED_VCPKG "Use vcpkg for yuzu dependencies" "${MSVC}")
if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
option(YUZU_CHECK_SUBMODULES "Check if submodules are present" OFF) option(YUZU_CHECK_SUBMODULES "Check if submodules are present" OFF)
else() else()
option(YUZU_CHECK_SUBMODULES "Check if submodules are present" ON) option(YUZU_CHECK_SUBMODULES "Check if submodules are present" ON)
endif() endif()
option(YUZU_ENABLE_LTO "Enable link-time optimization" OFF) option(YUZU_ENABLE_LTO "Enable link-time optimization" OFF)
@ -398,12 +394,12 @@ find_package(VulkanMemoryAllocator CONFIG)
find_package(ZLIB 1.2 REQUIRED) find_package(ZLIB 1.2 REQUIRED)
find_package(zstd 1.5 REQUIRED) find_package(zstd 1.5 REQUIRED)
# if (NOT YUZU_USE_EXTERNAL_VULKAN_HEADERS) if (NOT YUZU_USE_EXTERNAL_VULKAN_HEADERS)
# find_package(VulkanHeaders 1.3.274 REQUIRED) find_package(VulkanHeaders 1.3.274)
# endif() endif()
if (NOT YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES) if (NOT YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES)
find_package(VulkanUtilityLibraries REQUIRED) find_package(VulkanUtilityLibraries)
endif() endif()
if (NOT YUZU_USE_EXTERNAL_VULKAN_SPIRV_TOOLS) if (NOT YUZU_USE_EXTERNAL_VULKAN_SPIRV_TOOLS)

View file

@ -162,26 +162,28 @@ if (YUZU_USE_BUNDLED_FFMPEG)
set(FFmpeg_INCLUDE_DIR "${FFmpeg_INCLUDE_DIR}" PARENT_SCOPE) set(FFmpeg_INCLUDE_DIR "${FFmpeg_INCLUDE_DIR}" PARENT_SCOPE)
endif() endif()
# TODO(crueter): System vk headers is broken (at least on gentoo lol)
# Vulkan-Headers # Vulkan-Headers
if (YUZU_USE_EXTERNAL_VULKAN_HEADERS) if (YUZU_USE_EXTERNAL_VULKAN_HEADERS)
set(CPM_USE_LOCAL_PACKAGES OFF) CPMAddPackage(
else() NAME VulkanHeaders
set(CPM_USE_LOCAL_PACKAGES ON) VERSION 1.3.274
GIT_REPOSITORY "https://github.com/KhronosGroup/Vulkan-Headers.git"
GIT_TAG 89268a6d17
)
endif() endif()
CPMAddPackage(
NAME VulkanHeaders
VERSION 1.3.274
GIT_REPOSITORY "https://github.com/KhronosGroup/Vulkan-Headers.git"
GIT_TAG 89268a6d17
FIND_PACKAGE_ARGUMENTS "MODULE"
)
# Vulkan-Utility-Libraries # Vulkan-Utility-Libraries
if (YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES) if (YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES)
add_subdirectory(Vulkan-Utility-Libraries) CPMAddPackage(
NAME VulkanUtilityLibraries
GIT_REPOSITORY "https://github.com/KhronosGroup/Vulkan-Utility-Libraries.git"
GIT_TAG df2e358152
)
endif() endif()
# SPIRV-Tools # SPIRV-Tools
if (YUZU_USE_EXTERNAL_VULKAN_SPIRV_TOOLS) if (YUZU_USE_EXTERNAL_VULKAN_SPIRV_TOOLS)
set(SPIRV_SKIP_EXECUTABLES ON) set(SPIRV_SKIP_EXECUTABLES ON)

View file

@ -6,14 +6,12 @@ set(CPM_USE_LOCAL_PACKAGES ON)
CPMAddPackage( CPMAddPackage(
URI "gh:mozilla/cubeb#fa02160712" URI "gh:mozilla/cubeb#fa02160712"
FIND_PACKAGE_ARGUMENTS "CONFIG" # not sure this works outside of gentoo FIND_PACKAGE_ARGUMENTS "CONFIG" # not sure this works outside of gentoo
DOWNLOAD_ONLY YES
) )
if (cubeb_ADDED) if (cubeb_ADDED)
set(BUILD_TESTS OFF) set(BUILD_TESTS OFF)
set(BUILD_TOOLS OFF) set(BUILD_TOOLS OFF)
add_subdirectory(${cubeb_SOURCE_DIR} ${cubeb_BINARY_DIR})
if (NOT MSVC) if (NOT MSVC)
if (TARGET speex) if (TARGET speex)
target_compile_options(speex PRIVATE -Wno-sign-compare) target_compile_options(speex PRIVATE -Wno-sign-compare)
@ -23,5 +21,9 @@ if (cubeb_ADDED)
-Wno-shadow -Wno-shadow
-Wno-missing-declarations -Wno-return-type -Wno-missing-declarations -Wno-return-type
) )
else()
target_compile_options(cubeb PRIVATE
/wd4456
)
endif() endif()
endif() endif()