aboutsummaryrefslogtreecommitdiff
path: root/CMakeModules/CPMUtil.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeModules/CPMUtil.cmake')
-rw-r--r--CMakeModules/CPMUtil.cmake20
1 files changed, 15 insertions, 5 deletions
diff --git a/CMakeModules/CPMUtil.cmake b/CMakeModules/CPMUtil.cmake
index 3347c7e884..3d7b84c029 100644
--- a/CMakeModules/CPMUtil.cmake
+++ b/CMakeModules/CPMUtil.cmake
@@ -277,6 +277,7 @@ function(AddPackage)
KEY
BUNDLED_PACKAGE
+ FORCE_BUNDLED_PACKAGE
FIND_PACKAGE_ARGUMENTS
)
@@ -426,7 +427,9 @@ function(AddPackage)
- BUNDLED_PACKAGE
- default to allow local
]]#
- if (${PKG_ARGS_NAME}_FORCE_SYSTEM)
+ if (PKG_ARGS_FORCE_BUNDLED_PACKAGE)
+ set_precedence(OFF OFF)
+ elseif (${PKG_ARGS_NAME}_FORCE_SYSTEM)
set_precedence(ON ON)
elseif (${PKG_ARGS_NAME}_FORCE_BUNDLED)
set_precedence(OFF OFF)
@@ -446,9 +449,14 @@ function(AddPackage)
set_precedence(ON OFF)
endif()
+ if (DEFINED PKG_ARGS_VERSION)
+ list(APPEND EXTRA_ARGS
+ VERSION ${PKG_ARGS_VERSION}
+ )
+ endif()
+
CPMAddPackage(
NAME ${PKG_ARGS_NAME}
- VERSION ${PKG_ARGS_VERSION}
URL ${pkg_url}
URL_HASH ${pkg_hash}
CUSTOM_CACHE_KEY ${pkg_key}
@@ -459,6 +467,8 @@ function(AddPackage)
PATCHES ${PKG_ARGS_PATCHES}
EXCLUDE_FROM_ALL ON
+ ${EXTRA_ARGS}
+
${PKG_ARGS_UNPARSED_ARGUMENTS}
)
@@ -511,12 +521,12 @@ function(add_ci_package key)
NAME ${ARTIFACT_PACKAGE}
REPO ${ARTIFACT_REPO}
TAG v${ARTIFACT_VERSION}
- VERSION ${ARTIFACT_VERSION}
+ GIT_VERSION ${ARTIFACT_VERSION}
ARTIFACT ${ARTIFACT}
- KEY ${key}
+ KEY ${key}-${ARTIFACT_VERSION}
HASH_SUFFIX sha512sum
- BUNDLED_PACKAGE ON
+ FORCE_BUNDLED_PACKAGE ON
)
set(ARTIFACT_DIR ${${ARTIFACT_PACKAGE}_SOURCE_DIR} PARENT_SCOPE)