Skip to content

Commit dc4f69e

Browse files
Make git tag and repository optional
To allow the removal of nvcomp 2.2.0, we make the git tag and repo arguments optional, since all nvcomp versions now use the proprietary binary instead. Fixes: rapidsai#702
1 parent 27b7b66 commit dc4f69e

File tree

3 files changed

+22
-10
lines changed

3 files changed

+22
-10
lines changed

rapids-cmake/cpm/detail/package_details.cmake

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Result Variables
3636
3737
#]=======================================================================]
3838
# cmake-lint: disable=R0913,R0915
39-
function(rapids_cpm_package_details package_name version_var url_var tag_var shallow_var
39+
function(rapids_cpm_package_details package_name version_var git_url_var git_tag_var shallow_var
4040
exclude_from_all_var)
4141
list(APPEND CMAKE_MESSAGE_CONTEXT "rapids.cpm.rapids_cpm_package_details")
4242

@@ -67,12 +67,18 @@ function(rapids_cpm_package_details package_name version_var url_var tag_var sha
6767
# Only do validation if we have an entry
6868
if(json_data OR override_json_data)
6969
# Validate that we have the required fields
70-
foreach(var IN ITEMS version git_url git_tag)
70+
foreach(var IN ITEMS version)
7171
if(NOT ${var})
7272
message(FATAL_ERROR "rapids_cmake can't parse '${package_name}' json entry, it is missing a `${var}` entry"
7373
)
7474
endif()
7575
endforeach()
76+
foreach(var IN ITEMS git_url git_tag)
77+
if(NOT ${var} AND ${var}_var)
78+
message(FATAL_ERROR "rapids_cmake can't parse '${package_name}' json entry, it is missing a `${var}` entry"
79+
)
80+
endif()
81+
endforeach()
7682
endif()
7783

7884
if(override_json_data)
@@ -111,8 +117,8 @@ function(rapids_cpm_package_details package_name version_var url_var tag_var sha
111117
cmake_language(EVAL CODE "set(git_url ${git_url})")
112118

113119
set(${version_var} ${version} PARENT_SCOPE)
114-
set(${url_var} ${git_url} PARENT_SCOPE)
115-
set(${tag_var} ${git_tag} PARENT_SCOPE)
120+
set(${git_url_var} ${git_url} PARENT_SCOPE)
121+
set(${git_tag_var} ${git_tag} PARENT_SCOPE)
116122
set(${shallow_var} ${git_shallow} PARENT_SCOPE)
117123
set(${exclude_from_all_var} ${exclude_from_all} PARENT_SCOPE)
118124
if(DEFINED always_download)

rapids-cmake/cpm/nvcomp.cmake

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,13 @@ function(rapids_cpm_nvcomp)
8686
set(_RAPIDS_UNPARSED_ARGUMENTS ${_RAPIDS_EXPORT_ARGUMENTS})
8787

8888
include("${rapids-cmake-dir}/cpm/detail/package_details.cmake")
89-
rapids_cpm_package_details(nvcomp version repository tag shallow exclude)
89+
set(repository_var)
90+
set(tag_var)
91+
if(NOT _RAPIDS_USE_PROPRIETARY_BINARY)
92+
set(repository_var repository)
93+
set(tag_var tag)
94+
endif()
95+
rapids_cpm_package_details(nvcomp version "${repository_var}" "${tag_var}" shallow exclude)
9096
set(to_exclude OFF)
9197
if(NOT _RAPIDS_INSTALL_EXPORT_SET OR exclude)
9298
set(to_exclude ON)
@@ -187,11 +193,13 @@ function(rapids_cpm_nvcomp)
187193
endif()
188194

189195
include("${rapids-cmake-dir}/cpm/find.cmake")
196+
set(git_args)
197+
if(NOT _RAPIDS_USE_PROPRIETARY_BINARY)
198+
set(git_args GIT_REPOSITORY ${repository} GIT_TAG ${tag})
199+
endif()
190200
rapids_cpm_find(nvcomp ${version} ${_RAPIDS_UNPARSED_ARGUMENTS}
191201
GLOBAL_TARGETS nvcomp::nvcomp
192-
CPM_ARGS
193-
GIT_REPOSITORY ${repository}
194-
GIT_TAG ${tag}
202+
CPM_ARGS ${git_args}
195203
GIT_SHALLOW ${shallow}
196204
EXCLUDE_FROM_ALL ${to_exclude} ${patch_command}
197205
OPTIONS "BUILD_STATIC ON" "BUILD_TESTS OFF" "BUILD_BENCHMARKS OFF"

rapids-cmake/cpm/versions.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,6 @@
4747
},
4848
"nvcomp": {
4949
"version": "4.0.1",
50-
"git_url": "https://github.com/NVIDIA/nvcomp.git",
51-
"git_tag": "v2.2.0",
5250
"proprietary_binary_cuda_version_mapping": {
5351
"11": "11.x",
5452
"12": "12.x"

0 commit comments

Comments
 (0)