diff --git a/rapids-cmake/cpm/rapids_logger.cmake b/rapids-cmake/cpm/rapids_logger.cmake index ce10f469..9bda7bb8 100644 --- a/rapids-cmake/cpm/rapids_logger.cmake +++ b/rapids-cmake/cpm/rapids_logger.cmake @@ -26,28 +26,23 @@ Allow projects to build `rapids-logger` via `CPM`. Uses the version of rapids-logger :ref:`specified in the version file ` 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( [ ...]) + rapids_cpm_rapids_logger( [BUILD_EXPORT_SET ] + [INSTALL_EXPORT_SET ] + [ ...]) .. |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) @@ -55,13 +50,19 @@ function(rapids_cpm_rapids_logger) 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() diff --git a/rapids-cmake/cpm/versions.json b/rapids-cmake/cpm/versions.json index 2d8f971d..555a7006 100644 --- a/rapids-cmake/cpm/versions.json +++ b/rapids-cmake/cpm/versions.json @@ -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", diff --git a/testing/cpm/cpm_logger-simple.cmake b/testing/cpm/cpm_logger-simple.cmake index ed655644..e9b2b028 100644 --- a/testing/cpm/cpm_logger-simple.cmake +++ b/testing/cpm/cpm_logger-simple.cmake @@ -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() diff --git a/testing/cpm/cpm_rmm-simple.cmake b/testing/cpm/cpm_rmm-simple.cmake index f98498c3..9284d36c 100644 --- a/testing/cpm/cpm_rmm-simple.cmake +++ b/testing/cpm/cpm_rmm-simple.cmake @@ -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()