diff --git a/CMakeModules/CPMUtil.cmake b/CMakeModules/CPMUtil.cmake index b93d5d99e9..553c2f389a 100644 --- a/CMakeModules/CPMUtil.cmake +++ b/CMakeModules/CPMUtil.cmake @@ -269,7 +269,7 @@ function(add_ci_package key) DOWNLOAD_ONLY ON ) - if (NOT ARTIFACT_FORCE_DOWNLOAD) + if (NOT ARTIFACT_FORCE_DOWNLOAD OR ARTIFACT_OVERRIDE) set(ARTIFACT_DIR ${${ARTIFACT_PACKAGE}-${key}_SOURCE_DIR} PARENT_SCOPE) endif() endfunction() @@ -338,72 +338,65 @@ function(AddCIPackage) if ((MSVC AND ARCHITECTURE_x86_64) OR ARTIFACT_FORCE_DOWNLOAD AND NOT "windows-amd64" IN_LIST DISABLED_PLATFORMS) # kinda hacky if(MSVC AND ARCHITECTURE_x86_64) - set(ARTIFACT_FORCE_DOWNLOAD OFF) - else() - set(ARTIFACT_FORCE_DOWNLOAD ON) + set(ARTIFACT_OVERRIDE ON) endif() add_ci_package(windows-amd64) + set(ARTIFACT_OVERRIDE OFF) endif() if ((MSVC AND ARCHITECTURE_arm64) OR ARTIFACT_FORCE_DOWNLOAD AND NOT "windows-arm64" IN_LIST DISABLED_PLATFORMS) if(MSVC AND ARCHITECTURE_arm64) - set(ARTIFACT_FORCE_DOWNLOAD OFF) - else() - set(ARTIFACT_FORCE_DOWNLOAD ON) + set(ARTIFACT_OVERRIDE ON) endif() add_ci_package(windows-arm64) + set(ARTIFACT_OVERRIDE OFF) endif() if (ANDROID OR ARTIFACT_FORCE_DOWNLOAD AND NOT "android" IN_LIST DISABLED_PLATFORMS) if(ANDROID) - set(ARTIFACT_FORCE_DOWNLOAD OFF) - else() - set(ARTIFACT_FORCE_DOWNLOAD ON) + set(ARTIFACT_OVERRIDE ON) endif() add_ci_package(android) + set(ARTIFACT_OVERRIDE OFF) endif() if(PLATFORM_SUN OR ARTIFACT_FORCE_DOWNLOAD AND NOT "solaris" IN_LIST DISABLED_PLATFORMS) if(PLATFORM_SUN) - set(ARTIFACT_FORCE_DOWNLOAD OFF) - else() - set(ARTIFACT_FORCE_DOWNLOAD ON) + set(ARTIFACT_OVERRIDE ON) endif() add_ci_package(solaris) + set(ARTIFACT_OVERRIDE OFF) endif() if(PLATFORM_FREEBSD OR ARTIFACT_FORCE_DOWNLOAD AND NOT "freebsd" IN_LIST DISABLED_PLATFORMS) if(PLATFORM_FREEBSD) - set(ARTIFACT_FORCE_DOWNLOAD OFF) - else() - set(ARTIFACT_FORCE_DOWNLOAD ON) + set(ARTIFACT_OVERRIDE ON) endif() add_ci_package(freebsd) + set(ARTIFACT_OVERRIDE OFF) endif() if((PLATFORM_LINUX AND ARCHITECTURE_x86_64) OR ARTIFACT_FORCE_DOWNLOAD AND NOT "linux" IN_LIST DISABLED_PLATFORMS) if(PLATFORM_LINUX AND ARCHITECTURE_x86_64) - set(ARTIFACT_FORCE_DOWNLOAD OFF) - else() - set(ARTIFACT_FORCE_DOWNLOAD ON) + set(ARTIFACT_OVERRIDE ON) endif() add_ci_package(linux) + set(ARTIFACT_OVERRIDE OFF) endif() if((PLATFORM_LINUX AND ARCHITECTURE_arm64) OR ARTIFACT_FORCE_DOWNLOAD AND NOT "linux-aarch64" IN_LIST DISABLED_PLATFORMS) if(PLATFORM_LINUX AND ARCHITECTURE_arm64) - set(ARTIFACT_FORCE_DOWNLOAD OFF) - else() - set(ARTIFACT_FORCE_DOWNLOAD ON) + set(ARTIFACT_OVERRIDE ON) endif() add_ci_package(linux-aarch64) + set(ARTIFACT_OVERRIDE OFF) endif() if (DEFINED ARTIFACT_DIR)