[cmake] refactor: SDL2 CI and CPMUtil::AddCIPackage
Replaces bundled SDL2 with my SDL2 CI (available for everything except solaris) Additionally, reduces all that boilerplate with a common AddCIPackage in CPMUtil.cmake, to be used with OpenSSL and SDL2, FFmpeg in the future. Signed-off-by: crueter <crueter@crueter.xyz>
This commit is contained in:
parent
5b864d406d
commit
b73a010065
3 changed files with 154 additions and 202 deletions
226
CMakeLists.txt
226
CMakeLists.txt
|
@ -53,8 +53,7 @@ endif()
|
||||||
|
|
||||||
# Set bundled sdl2/qt as dependent options.
|
# Set bundled sdl2/qt as dependent options.
|
||||||
# On Linux system SDL2 is likely to be lacking HIDAPI support which have drawbacks but is needed for SDL motion
|
# On Linux system SDL2 is likely to be lacking HIDAPI support which have drawbacks but is needed for SDL motion
|
||||||
option(ENABLE_SDL2 "Enable the SDL2 frontend" ON)
|
CMAKE_DEPENDENT_OPTION(ENABLE_SDL2 "Enable the SDL2 frontend" ON "NOT ANDROID" OFF)
|
||||||
CMAKE_DEPENDENT_OPTION(YUZU_USE_BUNDLED_SDL2 "Download bundled SDL2 binaries" ON "ENABLE_SDL2;MSVC" OFF)
|
|
||||||
|
|
||||||
if (PLATFORM_FREEBSD)
|
if (PLATFORM_FREEBSD)
|
||||||
CMAKE_DEPENDENT_OPTION(YUZU_USE_EXTERNAL_SDL2 "Compile external SDL2" OFF "ENABLE_SDL2;NOT MSVC" OFF)
|
CMAKE_DEPENDENT_OPTION(YUZU_USE_EXTERNAL_SDL2 "Compile external SDL2" OFF "ENABLE_SDL2;NOT MSVC" OFF)
|
||||||
|
@ -126,7 +125,10 @@ 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)
|
||||||
|
|
||||||
option(FORCE_DOWNLOAD_OPENSSL "Forcefully download all bundled OpenSSL builds (useful for CI)" OFF)
|
if (YUZU_USE_CPM AND ENABLE_SDL2)
|
||||||
|
option(YUZU_USE_BUNDLED_SDL2 "Download bundled SDL2 build" "${MSVC}")
|
||||||
|
CMAKE_DEPENDENT_OPTION(FORCE_DOWNLOAD_SDL2 "Forcefully download all bundled SDL2 builds (useful for CI)" OFF "YUZU_USE_BUNDLED_SDL2" OFF)
|
||||||
|
endif()
|
||||||
|
|
||||||
CMAKE_DEPENDENT_OPTION(YUZU_ROOM "Enable dedicated room functionality" ON "NOT ANDROID" OFF)
|
CMAKE_DEPENDENT_OPTION(YUZU_ROOM "Enable dedicated room functionality" ON "NOT ANDROID" OFF)
|
||||||
|
|
||||||
|
@ -169,6 +171,11 @@ endif()
|
||||||
|
|
||||||
option(ENABLE_OPENSSL "Enable OpenSSL backend for ISslConnection" ${DEFAULT_ENABLE_OPENSSL})
|
option(ENABLE_OPENSSL "Enable OpenSSL backend for ISslConnection" ${DEFAULT_ENABLE_OPENSSL})
|
||||||
|
|
||||||
|
if (YUZU_USE_CPM AND ENABLE_OPENSSL)
|
||||||
|
CMAKE_DEPENDENT_OPTION(YUZU_USE_BUNDLED_OPENSSL "Download bundled OpenSSL build" "${MSVC}" "NOT ANDROID" ON)
|
||||||
|
CMAKE_DEPENDENT_OPTION(FORCE_DOWNLOAD_OPENSSL "Forcefully download all bundled OpenSSL builds (useful for CI)" OFF "YUZU_USE_BUNDLED_OPENSSL" OFF)
|
||||||
|
endif()
|
||||||
|
|
||||||
if (ANDROID AND YUZU_DOWNLOAD_ANDROID_VVL)
|
if (ANDROID AND YUZU_DOWNLOAD_ANDROID_VVL)
|
||||||
set(vvl_version "sdk-1.3.261.1")
|
set(vvl_version "sdk-1.3.261.1")
|
||||||
set(vvl_zip_file "${CMAKE_BINARY_DIR}/externals/vvl-android.zip")
|
set(vvl_zip_file "${CMAKE_BINARY_DIR}/externals/vvl-android.zip")
|
||||||
|
@ -398,184 +405,18 @@ if (YUZU_USE_CPM)
|
||||||
|
|
||||||
# openssl funniness
|
# openssl funniness
|
||||||
if (ENABLE_OPENSSL)
|
if (ENABLE_OPENSSL)
|
||||||
set(SSL_VERSION 3.5.2)
|
if (YUZU_USE_BUNDLED_OPENSSL)
|
||||||
|
AddCIPackage(
|
||||||
if ((MSVC AND ARCHITECTURE_x86_64) OR FORCE_DOWNLOAD_OPENSSL)
|
PACKAGE OpenSSL
|
||||||
set(ARTIFACT openssl-windows-amd64-${SSL_VERSION}.tar.zst)
|
NAME openssl
|
||||||
set(KEY windows-amd64)
|
REPO crueter-ci/OpenSSL
|
||||||
|
VERSION 3.5.2
|
||||||
if (MSVC AND ARCHITECTURE_x86_64)
|
MIN_VERSION 1.1.1
|
||||||
set(DOWNLOAD_ONLY OFF)
|
|
||||||
set(BUILD_SHARED_LIBS OFF)
|
|
||||||
else()
|
|
||||||
set(DOWNLOAD_ONLY ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
AddPackage(
|
|
||||||
NAME OpenSSL-windows-amd64
|
|
||||||
REPO crueter/OpenSSL-CI
|
|
||||||
TAG v${SSL_VERSION}
|
|
||||||
VERSION ${SSL_VERSION}
|
|
||||||
ARTIFACT ${ARTIFACT}
|
|
||||||
|
|
||||||
KEY ${KEY}
|
|
||||||
HASH_SUFFIX sha512sum
|
|
||||||
BUNDLED_PACKAGE ON
|
|
||||||
DOWNLOAD_ONLY ${DOWNLOAD_ONLY}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if (NOT DOWNLOAD_ONLY)
|
|
||||||
set(OPENSSL_DIR ${OpenSSL-windows-amd64_SOURCE_DIR})
|
|
||||||
endif()
|
|
||||||
message("OPENSSL ${DOWNLOAD_ONLY} ${OPENSSL_DIR}")
|
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if ((MSVC AND ARCHITECTURE_arm64) OR FORCE_DOWNLOAD_OPENSSL)
|
|
||||||
set(ARTIFACT openssl-windows-arm64-${SSL_VERSION}.tar.zst)
|
|
||||||
set(KEY windows-arm64)
|
|
||||||
|
|
||||||
if (MSVC AND ARCHITECTURE_arm64)
|
|
||||||
set(DOWNLOAD_ONLY OFF)
|
|
||||||
set(BUILD_SHARED_LIBS OFF)
|
|
||||||
else()
|
|
||||||
set(DOWNLOAD_ONLY ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
AddPackage(
|
|
||||||
NAME OpenSSL-windows-arm64
|
|
||||||
REPO crueter/OpenSSL-CI
|
|
||||||
TAG v${SSL_VERSION}
|
|
||||||
VERSION ${SSL_VERSION}
|
|
||||||
ARTIFACT ${ARTIFACT}
|
|
||||||
|
|
||||||
KEY ${KEY}
|
|
||||||
HASH_SUFFIX sha512sum
|
|
||||||
BUNDLED_PACKAGE ON
|
|
||||||
DOWNLOAD_ONLY ${DOWNLOAD_ONLY}
|
|
||||||
)
|
|
||||||
|
|
||||||
if (NOT DOWNLOAD_ONLY)
|
|
||||||
set(OPENSSL_DIR ${OpenSSL-windows-arm64_SOURCE_DIR})
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (ANDROID OR FORCE_DOWNLOAD_OPENSSL)
|
|
||||||
if (ANDROID)
|
|
||||||
set(DOWNLOAD_ONLY OFF)
|
|
||||||
set(BUILD_SHARED_LIBS OFF)
|
|
||||||
else()
|
|
||||||
set(DOWNLOAD_ONLY ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
AddPackage(
|
|
||||||
NAME OpenSSL-android
|
|
||||||
REPO crueter/OpenSSL-CI
|
|
||||||
TAG v${SSL_VERSION}
|
|
||||||
VERSION ${SSL_VERSION}
|
|
||||||
ARTIFACT openssl-android-${SSL_VERSION}.tar.zst
|
|
||||||
|
|
||||||
KEY android
|
|
||||||
HASH_SUFFIX sha512sum
|
|
||||||
BUNDLED_PACKAGE ON
|
|
||||||
DOWNLOAD_ONLY ${DOWNLOAD_ONLY}
|
|
||||||
)
|
|
||||||
|
|
||||||
if (NOT DOWNLOAD_ONLY)
|
|
||||||
set(OPENSSL_DIR ${OpenSSL-android_SOURCE_DIR})
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(PLATFORM_SUN OR FORCE_DOWNLOAD_OPENSSL)
|
|
||||||
if (PLATFORM_SUN)
|
|
||||||
set(DOWNLOAD_ONLY OFF)
|
|
||||||
set(BUILD_SHARED_LIBS OFF)
|
|
||||||
else()
|
|
||||||
set(DOWNLOAD_ONLY ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
AddPackage(
|
|
||||||
NAME OpenSSL-solaris
|
|
||||||
REPO crueter/OpenSSL-CI
|
|
||||||
TAG v${SSL_VERSION}
|
|
||||||
VERSION ${SSL_VERSION}
|
|
||||||
ARTIFACT openssl-solaris-${SSL_VERSION}.tar.zst
|
|
||||||
|
|
||||||
KEY solaris
|
|
||||||
HASH_SUFFIX sha512sum
|
|
||||||
BUNDLED_PACKAGE ON
|
|
||||||
DOWNLOAD_ONLY ${DOWNLOAD_ONLY}
|
|
||||||
)
|
|
||||||
|
|
||||||
if (NOT DOWNLOAD_ONLY)
|
|
||||||
set(OPENSSL_DIR ${OpenSSL-solaris_SOURCE_DIR})
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(PLATFORM_FREEBSD OR FORCE_DOWNLOAD_OPENSSL)
|
|
||||||
if (PLATFORM_FREEBSD)
|
|
||||||
set(DOWNLOAD_ONLY OFF)
|
|
||||||
set(BUILD_SHARED_LIBS OFF)
|
|
||||||
else()
|
|
||||||
set(DOWNLOAD_ONLY ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
AddPackage(
|
|
||||||
NAME OpenSSL-freebsd
|
|
||||||
REPO crueter/OpenSSL-CI
|
|
||||||
TAG v${SSL_VERSION}
|
|
||||||
VERSION ${SSL_VERSION}
|
|
||||||
ARTIFACT openssl-freebsd-${SSL_VERSION}.tar.zst
|
|
||||||
|
|
||||||
KEY freebsd
|
|
||||||
HASH_SUFFIX sha512sum
|
|
||||||
BUNDLED_PACKAGE ON
|
|
||||||
DOWNLOAD_ONLY ${DOWNLOAD_ONLY}
|
|
||||||
)
|
|
||||||
|
|
||||||
if (NOT DOWNLOAD_ONLY)
|
|
||||||
set(OPENSSL_DIR ${OpenSSL-freebsd_SOURCE_DIR})
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(PLATFORM_LINUX OR FORCE_DOWNLOAD_OPENSSL)
|
|
||||||
if (PLATFORM_LINUX)
|
|
||||||
set(DOWNLOAD_ONLY OFF)
|
|
||||||
set(BUILD_SHARED_LIBS OFF)
|
|
||||||
else()
|
|
||||||
set(DOWNLOAD_ONLY ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
AddPackage(
|
|
||||||
NAME OpenSSL-linux
|
|
||||||
REPO crueter/OpenSSL-CI
|
|
||||||
TAG v${SSL_VERSION}
|
|
||||||
VERSION ${SSL_VERSION}
|
|
||||||
ARTIFACT openssl-linux-${SSL_VERSION}.tar.zst
|
|
||||||
|
|
||||||
KEY linux
|
|
||||||
HASH_SUFFIX sha512sum
|
|
||||||
BUNDLED_PACKAGE ON
|
|
||||||
DOWNLOAD_ONLY ${DOWNLOAD_ONLY}
|
|
||||||
)
|
|
||||||
|
|
||||||
if (NOT DOWNLOAD_ONLY)
|
|
||||||
set(OPENSSL_DIR ${OpenSSL-linux_SOURCE_DIR})
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (DEFINED OPENSSL_DIR)
|
|
||||||
include(${OPENSSL_DIR}/openssl.cmake)
|
|
||||||
|
|
||||||
# Overrides find package
|
|
||||||
CPMAddPackage(
|
|
||||||
NAME OpenSSL
|
|
||||||
SOURCE_DIR ${OPENSSL_DIR}
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
find_package(OpenSSL 1.1.1 REQUIRED)
|
find_package(OpenSSL 1.1.1 REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
|
||||||
|
|
||||||
# boost
|
# boost
|
||||||
set(BOOST_INCLUDE_LIBRARIES algorithm icl pool container heap asio headers process filesystem crc variant)
|
set(BOOST_INCLUDE_LIBRARIES algorithm icl pool container heap asio headers process filesystem crc variant)
|
||||||
|
@ -837,30 +678,19 @@ endif()
|
||||||
# TODO(crueter): combine this all with CPM.
|
# TODO(crueter): combine this all with CPM.
|
||||||
if (ENABLE_SDL2)
|
if (ENABLE_SDL2)
|
||||||
if (YUZU_USE_BUNDLED_SDL2)
|
if (YUZU_USE_BUNDLED_SDL2)
|
||||||
# Detect toolchain and platform
|
AddCIPackage(
|
||||||
if ((MSVC_VERSION GREATER_EQUAL 1920) AND ARCHITECTURE_x86_64)
|
PACKAGE SDL2
|
||||||
set(SDL2_VER "SDL2-2.32.8")
|
NAME SDL2
|
||||||
else()
|
REPO crueter-ci/SDL2
|
||||||
message(FATAL_ERROR "No bundled SDL2 binaries for your toolchain. Disable YUZU_USE_BUNDLED_SDL2 and provide your own.")
|
VERSION 2.32.8
|
||||||
endif()
|
MIN_VERSION 2.26.4
|
||||||
|
DISABLED_PLATFORMS "solaris"
|
||||||
if (DEFINED SDL2_VER)
|
CMAKE_FILENAME sdl2
|
||||||
download_bundled_external("sdl2/" ${SDL2_VER} "sdl2-bundled" SDL2_PREFIX 2.32.8)
|
)
|
||||||
endif()
|
|
||||||
|
|
||||||
set(SDL2_FOUND YES)
|
|
||||||
set(SDL2_INCLUDE_DIR "${SDL2_PREFIX}/include" CACHE PATH "Path to SDL2 headers")
|
|
||||||
set(SDL2_LIBRARY "${SDL2_PREFIX}/lib/x64/SDL2.lib" CACHE PATH "Path to SDL2 library")
|
|
||||||
set(SDL2_DLL_DIR "${SDL2_PREFIX}/lib/x64/" CACHE PATH "Path to SDL2.dll")
|
|
||||||
|
|
||||||
add_library(SDL2::SDL2 INTERFACE IMPORTED)
|
|
||||||
target_link_libraries(SDL2::SDL2 INTERFACE "${SDL2_LIBRARY}")
|
|
||||||
target_include_directories(SDL2::SDL2 INTERFACE "${SDL2_INCLUDE_DIR}")
|
|
||||||
elseif (YUZU_USE_EXTERNAL_SDL2)
|
elseif (YUZU_USE_EXTERNAL_SDL2)
|
||||||
message(STATUS "Using SDL2 from externals.")
|
message(STATUS "Using SDL2 from externals.")
|
||||||
else()
|
|
||||||
find_package(SDL2 2.26.4 REQUIRED)
|
|
||||||
endif()
|
endif()
|
||||||
|
find_package(SDL2 2.26.4 REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# List of all FFmpeg components required
|
# List of all FFmpeg components required
|
||||||
|
@ -903,7 +733,7 @@ if (ENABLE_WEB_SERVICE OR ENABLE_QT_UPDATE_CHECKER)
|
||||||
find_package(cpp-jwt)
|
find_package(cpp-jwt)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (NOT YUZU_USE_BUNDLED_SDL2)
|
if (ENABLE_SDL2)
|
||||||
find_package(SDL2)
|
find_package(SDL2)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
@ -252,3 +252,128 @@ function(AddPackage)
|
||||||
PARENT_SCOPE)
|
PARENT_SCOPE)
|
||||||
|
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
function(add_ci_package key)
|
||||||
|
set(ARTIFACT ${ARTIFACT_NAME}-${key}-${ARTIFACT_VERSION}.${ARTIFACT_EXT})
|
||||||
|
|
||||||
|
AddPackage(
|
||||||
|
NAME ${ARTIFACT_PACKAGE}-${key}
|
||||||
|
REPO ${ARTIFACT_REPO}
|
||||||
|
TAG v${ARTIFACT_VERSION}
|
||||||
|
VERSION ${ARTIFACT_VERSION}
|
||||||
|
ARTIFACT ${ARTIFACT}
|
||||||
|
|
||||||
|
KEY ${key}
|
||||||
|
HASH_SUFFIX sha512sum
|
||||||
|
BUNDLED_PACKAGE ON
|
||||||
|
DOWNLOAD_ONLY ${ARTIFACT_FORCE_DOWNLOAD}
|
||||||
|
)
|
||||||
|
|
||||||
|
if (NOT ARTIFACT_FORCE_DOWNLOAD)
|
||||||
|
set(ARTIFACT_DIR ${${ARTIFACT_PACKAGE}-${key}_SOURCE_DIR} PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
# TODO(crueter): doc
|
||||||
|
function(AddCIPackage)
|
||||||
|
set(oneValueArgs
|
||||||
|
VERSION
|
||||||
|
NAME
|
||||||
|
REPO
|
||||||
|
PACKAGE
|
||||||
|
EXTENSION
|
||||||
|
FORCE_DOWNLOAD
|
||||||
|
MIN_VERSION
|
||||||
|
DISABLED_PLATFORMS
|
||||||
|
CMAKE_FILENAME
|
||||||
|
)
|
||||||
|
|
||||||
|
cmake_parse_arguments(PKG_ARGS "" "${oneValueArgs}" "" ${ARGN})
|
||||||
|
|
||||||
|
if(NOT DEFINED PKG_ARGS_VERSION)
|
||||||
|
message(FATAL_ERROR "[CPMUtil] VERSION is required")
|
||||||
|
endif()
|
||||||
|
if(NOT DEFINED PKG_ARGS_NAME)
|
||||||
|
message(FATAL_ERROR "[CPMUtil] NAME is required")
|
||||||
|
endif()
|
||||||
|
if(NOT DEFINED PKG_ARGS_REPO)
|
||||||
|
message(FATAL_ERROR "[CPMUtil] REPO is required")
|
||||||
|
endif()
|
||||||
|
if(NOT DEFINED PKG_ARGS_PACKAGE)
|
||||||
|
message(FATAL_ERROR "[CPMUtil] PACKAGE is required")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (NOT DEFINED PKG_ARGS_CMAKE_FILENAME)
|
||||||
|
set(ARTIFACT_CMAKE ${PKG_ARGS_NAME})
|
||||||
|
else()
|
||||||
|
set(ARTIFACT_CMAKE ${PKG_ARGS_CMAKE_FILENAME})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT DEFINED PKG_ARGS_EXTENSION)
|
||||||
|
set(ARTIFACT_EXT "tar.zst")
|
||||||
|
else()
|
||||||
|
set(ARTIFACT_EXT ${PKG_ARGS_EXTENSION})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT DEFINED PKG_ARGS_FORCE_DOWNLOAD)
|
||||||
|
set(ARTIFACT_FORCE_DOWNLOAD OFF)
|
||||||
|
else()
|
||||||
|
set(ARTIFACT_FORCE_DOWNLOAD ${PKG_ARGS_FORCE_DOWNLOAD})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (DEFINED PKG_ARGS_MIN_VERSION)
|
||||||
|
set(ARTIFACT_MIN_VERSION ${PKG_ARGS_MIN_VERSION})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (DEFINED PKG_ARGS_DISABLED_PLATFORMS)
|
||||||
|
set(DISABLED_PLATFORMS ${PKG_ARGS_DISABLED_PLATFORMS})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# this is mildly annoying
|
||||||
|
set(ARTIFACT_VERSION ${PKG_ARGS_VERSION})
|
||||||
|
set(ARTIFACT_NAME ${PKG_ARGS_NAME})
|
||||||
|
set(ARTIFACT_REPO ${PKG_ARGS_REPO})
|
||||||
|
set(ARTIFACT_PACKAGE ${PKG_ARGS_PACKAGE})
|
||||||
|
|
||||||
|
if ((MSVC AND ARCHITECTURE_x86_64) OR ARTIFACT_FORCE_DOWNLOAD AND NOT "windows-amd64" IN_LIST DISABLED_PLATFORMS)
|
||||||
|
add_ci_package(windows-amd64)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if ((MSVC AND ARCHITECTURE_arm64) OR ARTIFACT_FORCE_DOWNLOAD AND NOT "windows-arm64" IN_LIST DISABLED_PLATFORMS)
|
||||||
|
add_ci_package(windows-arm64)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (ANDROID OR ARTIFACT_FORCE_DOWNLOAD AND NOT "android" IN_LIST DISABLED_PLATFORMS)
|
||||||
|
add_ci_package(android)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(PLATFORM_SUN OR ARTIFACT_FORCE_DOWNLOAD AND NOT "solaris" IN_LIST DISABLED_PLATFORMS)
|
||||||
|
add_ci_package(solaris)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(PLATFORM_FREEBSD OR ARTIFACT_FORCE_DOWNLOAD AND NOT "freebsd" IN_LIST DISABLED_PLATFORMS)
|
||||||
|
add_ci_package(freebsd)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(PLATFORM_LINUX OR ARTIFACT_FORCE_DOWNLOAD AND NOT "linux" IN_LIST DISABLED_PLATFORMS)
|
||||||
|
add_ci_package(linux)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (DEFINED ARTIFACT_DIR)
|
||||||
|
include(${ARTIFACT_DIR}/${ARTIFACT_NAME}.cmake)
|
||||||
|
|
||||||
|
# Overrides find package
|
||||||
|
CPMAddPackage(
|
||||||
|
NAME ${ARTIFACT_PACKAGE}
|
||||||
|
SOURCE_DIR ${ARTIFACT_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
set_property(GLOBAL APPEND PROPERTY CPM_PACKAGE_NAMES ${ARTIFACT_NAME})
|
||||||
|
set_property(GLOBAL APPEND PROPERTY CPM_PACKAGE_URLS "https://github.com/${ARTIFACT_REPO}")
|
||||||
|
set_property(GLOBAL APPEND PROPERTY CPM_PACKAGE_SHAS ${ARTIFACT_VERSION})
|
||||||
|
|
||||||
|
set(${ARTIFACT_PACKAGE}_ADDED TRUE PARENT_SCOPE)
|
||||||
|
else()
|
||||||
|
find_package(${ARTIFACT_PACKAGE} ${ARTIFACT_MIN_VERSION} REQUIRED)
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
|
|
@ -49,9 +49,6 @@ function(download_win_archives)
|
||||||
|
|
||||||
download_bundled_external("ffmpeg/" ${FFmpeg_EXT_NAME} "ffmpeg-bundled" "" 7.1.1)
|
download_bundled_external("ffmpeg/" ${FFmpeg_EXT_NAME} "ffmpeg-bundled" "" 7.1.1)
|
||||||
|
|
||||||
# TODO(crueter): separate handling for arm64
|
|
||||||
set(SDL2_VER "SDL2-2.32.8")
|
|
||||||
download_bundled_external("sdl2/" ${SDL2_VER} "sdl2-bundled" "" 2.32.8)
|
|
||||||
set(FORCE_WIN_ARCHIVES OFF)
|
set(FORCE_WIN_ARCHIVES OFF)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue