Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to using rapids-logger as a library #765

Merged
merged 13 commits into from
Feb 10, 2025
27 changes: 14 additions & 13 deletions rapids-cmake/cpm/rapids_logger.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -26,42 +26,43 @@ Allow projects to build `rapids-logger` via `CPM`.
Uses the version of rapids-logger :ref:`specified in the version file <cpm_versions>` for consistency
across all RAPIDS projects.

Unlike most `rapids_cpm` functions, this one does not support export sets because rapids-logger adds targets directly to the calling project's own export set and does not require its own exporting or to be found at all by consuming projects once the first project's call to rapids_make_logger has completed.

.. code-block:: cmake

rapids_cpm_rapids_logger( [<CPM_ARGS> ...])
rapids_cpm_rapids_logger( [BUILD_EXPORT_SET <export-name>]
[INSTALL_EXPORT_SET <export-name>]
[<CPM_ARGS> ...])

.. |PKG_NAME| replace:: logger
.. include:: common_package_args.txt

Result Functions
^^^^^^^^^^^^^^^^
:cmake:command:`rapids_make_logger` is made available
Result Targets
^^^^^^^^^^^^^^
rapids_logger::rapids_logger target will be created

#]=======================================================================]
function(rapids_cpm_rapids_logger)
list(APPEND CMAKE_MESSAGE_CONTEXT "rapids.cpm.rapids_logger")

set(options)
set(one_value)
set(multi_value)
cmake_parse_arguments(_RAPIDS "${options}" "${one_value}" "${multi_value}" ${ARGN})

include("${rapids-cmake-dir}/cpm/detail/package_details.cmake")
rapids_cpm_package_details(rapids_logger version repository tag shallow exclude)

include("${rapids-cmake-dir}/cpm/detail/generate_patch_command.cmake")
rapids_cpm_generate_patch_command(rapids_logger ${version} patch_command)

include("${rapids-cmake-dir}/cpm/find.cmake")
rapids_cpm_find(rapids_logger ${version} ${_RAPIDS_UNPARSED_ARGUMENTS}
rapids_cpm_find(rapids_logger ${version} ${ARGN}
CPM_ARGS
GIT_REPOSITORY ${repository}
GIT_TAG ${tag}
GIT_SHALLOW ${shallow} ${patch_command}
EXCLUDE_FROM_ALL ON)
OPTIONS "BUILD_TESTS OFF")

include("${rapids-cmake-dir}/cpm/detail/display_patch_status.cmake")
rapids_cpm_display_patch_status(logger)

# Propagate up variables that CPMFindPackage provide
set(rapids_logger_SOURCE_DIR "${rapids_logger_SOURCE_DIR}" PARENT_SCOPE)
set(rapids_logger_BINARY_DIR "${rapids_logger_BINARY_DIR}" PARENT_SCOPE)
set(rapids_logger_ADDED "${rapids_logger_ADDED}" PARENT_SCOPE)
set(rapids_logger_VERSION ${version} PARENT_SCOPE)
endfunction()
3 changes: 1 addition & 2 deletions rapids-cmake/cpm/versions.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,8 @@
"rapids_logger": {
"version": "0.1.0",
"git_shallow": false,
"always_download": true,
"git_url": "https://github.com/rapidsai/rapids-logger.git",
"git_tag": "8968ab3337f31c845d4e3bf6c55ae89242ded22b"
"git_tag": "46070bb255482f0782ca840ae45de9354380e298"
},
"fmt": {
"version": "11.0.2",
Expand Down
38 changes: 13 additions & 25 deletions testing/cpm/cpm_logger-simple.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -17,32 +17,20 @@ include(${rapids-cmake-dir}/cpm/init.cmake)
include(${rapids-cmake-dir}/cpm/rapids_logger.cmake)

rapids_cpm_init()
rapids_cpm_rapids_logger()

set(logger_namespace rapids)
set(logger_target "${logger_namespace}_logger")
set(logger_impl_target "${logger_namespace}_logger_impl")
if(TARGET rapids_logger::rapids_logger)
message(FATAL_ERROR "Expected rapids_logger::rapids_logger not to exist")
endif()

rapids_make_logger("${logger_namespace}")
if(COMMAND create_logger_macros)
message(FATAL_ERROR "Expected create_logger_macros function not to exist")
endif()

function(check_target target)
if(NOT TARGET "${target}")
message(FATAL_ERROR "Target ${target} was not created.")
endif()
endfunction()

function(check_file fn)
if(NOT EXISTS "${fn}")
message(FATAL_ERROR "File ${fn} was not created.")
endif()
endfunction()
rapids_cpm_rapids_logger()

check_target("${logger_target}")
check_target("${logger_impl_target}")
check_target("${logger_namespace}::${logger_target}")
check_target("${logger_namespace}::${logger_impl_target}")
if(NOT TARGET rapids_logger::rapids_logger)
message(FATAL_ERROR "Expected rapids_logger::rapids_logger to exist")
endif()

set(base_dir "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}/${logger_namespace}")
check_file("${base_dir}/logger.hpp")
check_file("${base_dir}/logger_impl/logger_impl.hpp")
check_file("${base_dir}/logger_impl/logger.cpp")
if(NOT COMMAND create_logger_macros)
message(FATAL_ERROR "Expected create_logger_macros function to exist")
endif()
12 changes: 0 additions & 12 deletions testing/cpm/cpm_rmm-simple.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -21,22 +21,10 @@ rapids_cpm_init()
if(TARGET rmm::rmm)
message(FATAL_ERROR "Expected rmm::rmm not to exist")
endif()
if(TARGET rmm::rmm_logger)
message(FATAL_ERROR "Expected rmm::rmm_logger not to exist")
endif()
if(TARGET rmm::rmm_logger_impl)
message(FATAL_ERROR "Expected rmm::rmm_logger_impl not to exist")
endif()

rapids_cpm_rmm()
if(NOT TARGET rmm::rmm)
message(FATAL_ERROR "Expected rmm::rmm target to exist")
endif()
if(NOT TARGET rmm::rmm_logger)
message(FATAL_ERROR "Expected rmm::rmm_logger target to exist")
endif()
if(NOT TARGET rmm::rmm_logger_impl)
message(FATAL_ERROR "Expected rmm::rmm_logger_impl target to exist")
endif()

rapids_cpm_rmm()
Loading