diff --git a/CMakeLists.txt b/CMakeLists.txt index 607171ebaa..2b33c211df 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,22 +53,18 @@ option(ENABLE_WEB_SERVICE "Enable web services (telemetry, etc.)" ON) option(ENABLE_WIFI_SCAN "Enable WiFi scanning" OFF) 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() - option(YUZU_USE_BUNDLED_FFMPEG "Download/Build bundled FFmpeg" ON) + option(YUZU_USE_BUNDLED_FFMPEG "Download/Build bundled FFmpeg" ON) endif() 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() - 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() -if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") - 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() +CMAKE_DEPENDENT_OPTION(YUZU_USE_EXTERNAL_VULKAN_HEADERS "Use Vulkan-Headers from externals" ON "YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES" OFF) if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") option(YUZU_USE_EXTERNAL_VULKAN_SPIRV_TOOLS "Use SPIRV-Tools from externals" OFF) @@ -89,9 +85,9 @@ option(USE_DISCORD_PRESENCE "Enables Discord Rich Presence" OFF) option(YUZU_TESTS "Compile tests" "${BUILD_TESTING}") 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() - option(YUZU_USE_PRECOMPILED_HEADERS "Use precompiled headers" ON) + option(YUZU_USE_PRECOMPILED_HEADERS "Use precompiled headers" ON) endif() option(YUZU_DOWNLOAD_ANDROID_VVL "Download validation layer binary for android" ON) @@ -107,9 +103,9 @@ CMAKE_DEPENDENT_OPTION(YUZU_CRASH_DUMPS "Compile crash dump (Minidump) support" option(YUZU_USE_BUNDLED_VCPKG "Use vcpkg for yuzu dependencies" "${MSVC}") 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() - option(YUZU_CHECK_SUBMODULES "Check if submodules are present" ON) + option(YUZU_CHECK_SUBMODULES "Check if submodules are present" ON) endif() option(YUZU_ENABLE_LTO "Enable link-time optimization" OFF) @@ -393,12 +389,12 @@ find_package(VulkanMemoryAllocator CONFIG) find_package(ZLIB 1.2 REQUIRED) find_package(zstd 1.5 REQUIRED) -# if (NOT YUZU_USE_EXTERNAL_VULKAN_HEADERS) -# find_package(VulkanHeaders 1.3.274 REQUIRED) -# endif() +if (NOT YUZU_USE_EXTERNAL_VULKAN_HEADERS) + find_package(VulkanHeaders 1.3.274) +endif() if (NOT YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES) - find_package(VulkanUtilityLibraries REQUIRED) + find_package(VulkanUtilityLibraries) endif() if (NOT YUZU_USE_EXTERNAL_VULKAN_SPIRV_TOOLS) diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index 1c1936733c..b31b21d28f 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -154,26 +154,28 @@ if (YUZU_USE_BUNDLED_FFMPEG) set(FFmpeg_INCLUDE_DIR "${FFmpeg_INCLUDE_DIR}" PARENT_SCOPE) endif() +# TODO(crueter): System vk headers is broken (at least on gentoo lol) + # Vulkan-Headers if (YUZU_USE_EXTERNAL_VULKAN_HEADERS) - set(CPM_USE_LOCAL_PACKAGES OFF) -else() - set(CPM_USE_LOCAL_PACKAGES ON) + CPMAddPackage( + NAME VulkanHeaders + VERSION 1.3.274 + GIT_REPOSITORY "https://github.com/KhronosGroup/Vulkan-Headers.git" + GIT_TAG 89268a6d17 + ) 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 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() + # SPIRV-Tools if (YUZU_USE_EXTERNAL_VULKAN_SPIRV_TOOLS) set(SPIRV_SKIP_EXECUTABLES ON) diff --git a/src/audio_core/externals/cubeb/CMakeLists.txt b/src/audio_core/externals/cubeb/CMakeLists.txt index c626eba321..5211f15347 100644 --- a/src/audio_core/externals/cubeb/CMakeLists.txt +++ b/src/audio_core/externals/cubeb/CMakeLists.txt @@ -6,14 +6,12 @@ set(CPM_USE_LOCAL_PACKAGES ON) CPMAddPackage( URI "gh:mozilla/cubeb#fa02160712" FIND_PACKAGE_ARGUMENTS "CONFIG" # not sure this works outside of gentoo - DOWNLOAD_ONLY YES ) if (cubeb_ADDED) set(BUILD_TESTS OFF) set(BUILD_TOOLS OFF) - add_subdirectory(${cubeb_SOURCE_DIR} ${cubeb_BINARY_DIR}) if (NOT MSVC) if (TARGET speex) target_compile_options(speex PRIVATE -Wno-sign-compare) @@ -23,5 +21,9 @@ if (cubeb_ADDED) -Wno-shadow -Wno-missing-declarations -Wno-return-type ) + else() + target_compile_options(cubeb PRIVATE + /wd4456 + ) endif() endif()