11#! /bin/bash
22
3- # SPDX-FileCopyrightText: Copyright (c) 2020-2026, NVIDIA CORPORATION.
3+ # SPDX-FileCopyrightText: Copyright (c) 2020-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved .
44# SPDX-License-Identifier: Apache-2.0
55
66# cuvs build scripts
@@ -62,6 +62,8 @@ HELP="$0 [<target> ...] [<flag> ...] [--cmake-args=\"<args>\"] [--cache-tool=<to
6262 to speedup the build process.
6363 --time - Enable nvcc compilation time logging into cpp/build/nvcc_compile_log.csv.
6464 Results can be interpreted with cpp/scripts/analyze_nvcc_log.py
65+ --logging-level=<level> - overwrite the macro \" RAFT_LOG_ACTIVE_LEVEL\" to RAPIDS_LOGGER_LOG_LEVEL_{given_value}.
66+ Valid values are (TRACE, DEBUG, INFO, WARN, ERROR, CRITICAL, OFF)
6567 -h - print this text
6668
6769 default action (no args) is to build libcuvs, tests and cuvs targets
@@ -95,6 +97,7 @@ CLEAN=0
9597DISABLE_DEPRECATION_WARNINGS=ON
9698CMAKE_TARGET=()
9799EXTRA_CMAKE_ARGS=" "
100+ LIBRAFT_LOGGING_LEVEL=INFO
98101
99102# Set defaults for vars that may not have been defined externally
100103INSTALL_PREFIX=${INSTALL_PREFIX:= ${PREFIX:= ${CONDA_PREFIX:= $LIBCUVS_BUILD_DIR / install} } }
@@ -236,6 +239,20 @@ function gpuArch {
236239 fi
237240}
238241
242+ function loggingLevel {
243+ if [[ -n $( echo " $ARGS " | { grep -E " \-\-logging\-level" || true ; } ) ]]; then
244+ LIBRAFT_LOGGING_LEVEL=$( echo " $ARGS " | sed -e ' s/.*--logging-level[= ]//' -e ' s/ .*//' )
245+ if [[ -n ${LIBRAFT_LOGGING_LEVEL} ]]; then
246+ ARGS=" ${ARGS// --logging-level[= ]${LIBRAFT_LOGGING_LEVEL} / } "
247+ VALID_LEVELS=" TRACE DEBUG INFO WARN ERROR CRITICAL OFF"
248+ if [[ ! " ${VALID_LEVELS} " == * " ${LIBRAFT_LOGGING_LEVEL} " * ]]; then
249+ echo " Invalid --logging-level value: '${LIBRAFT_LOGGING_LEVEL} '. Valid values are: ${VALID_LEVELS} "
250+ exit 1
251+ fi
252+ fi
253+ fi
254+ }
255+
239256if hasArg -h || hasArg --help; then
240257 echo " ${HELP} "
241258 exit 0
@@ -249,6 +266,7 @@ if (( NUMARGS != 0 )); then
249266 limitAnnBench
250267 buildMetrics
251268 gpuArch
269+ loggingLevel
252270 for a in ${ARGS} ; do
253271 if ! (echo " ${VALIDARGS} " | grep -q " ${a} " ); then
254272 echo " Invalid option: ${a} "
@@ -415,6 +433,7 @@ if (( NUMARGS == 0 )) || hasArg libcuvs || hasArg tests || hasArg bench-prims ||
415433 -DBUILD_MG_ALGOS=${BUILD_MG_ALGOS} \
416434 -DCMAKE_MESSAGE_LOG_LEVEL=${CMAKE_LOG_LEVEL} \
417435 -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} \
436+ -DLIBRAFT_LOGGING_LEVEL=" ${LIBRAFT_LOGGING_LEVEL} " \
418437 " ${CACHE_ARGS[@]} " \
419438 " ${EXTRA_CMAKE_ARGS[@]} "
420439
0 commit comments