[cmake] refactor: Use CPM over submodules #143
3 changed files with 31 additions and 31 deletions
|
@ -58,18 +58,14 @@ 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")
|
|
||||||
option(YUZU_USE_EXTERNAL_VULKAN_HEADERS "Use Vulkan-Headers from externals" OFF)
|
|
||||||
else()
|
|
||||||
option(YUZU_USE_EXTERNAL_VULKAN_HEADERS "Use Vulkan-Headers from externals" ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
|
if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
|
||||||
option(YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES "Use Vulkan-Utility-Libraries from externals" OFF)
|
option(YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES "Use Vulkan-Utility-Libraries from externals" OFF)
|
||||||
else()
|
else()
|
||||||
option(YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES "Use Vulkan-Utility-Libraries from externals" ON)
|
option(YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES "Use Vulkan-Utility-Libraries from externals" ON)
|
||||||
endif()
|
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")
|
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)
|
||||||
else()
|
else()
|
||||||
|
@ -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)
|
||||||
|
|
16
externals/CMakeLists.txt
vendored
16
externals/CMakeLists.txt
vendored
|
@ -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)
|
|
||||||
else()
|
|
||||||
set(CPM_USE_LOCAL_PACKAGES ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
CPMAddPackage(
|
CPMAddPackage(
|
||||||
NAME VulkanHeaders
|
NAME VulkanHeaders
|
||||||
VERSION 1.3.274
|
VERSION 1.3.274
|
||||||
GIT_REPOSITORY "https://github.com/KhronosGroup/Vulkan-Headers.git"
|
GIT_REPOSITORY "https://github.com/KhronosGroup/Vulkan-Headers.git"
|
||||||
GIT_TAG 89268a6d17
|
GIT_TAG 89268a6d17
|
||||||
FIND_PACKAGE_ARGUMENTS "MODULE"
|
|
||||||
)
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
# 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)
|
||||||
|
|
|
@ -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()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue