From 5ee66e87ac52b5c626afefdcd96833c2b055008b Mon Sep 17 00:00:00 2001 From: Peter Hill Date: Fri, 20 Oct 2023 17:47:18 +0100 Subject: [PATCH 1/2] CMake: Export targets so the build directory can be used directly --- CMakeLists.txt | 9 +++++++-- netCDFConfig.cmake.in | 3 --- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0191f1454..56ec023e3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2745,6 +2745,11 @@ install(EXPORT netCDFTargets NAMESPACE netCDF:: ) +export(EXPORT netCDFTargets + FILE "${CMAKE_CURRENT_BINARY_DIR}/netCDFTargets.cmake" + NAMESPACE netCDF:: + ) + include(CMakePackageConfigHelpers) CONFIGURE_PACKAGE_CONFIG_FILE( "${CMAKE_CURRENT_SOURCE_DIR}/netCDFConfig.cmake.in" @@ -2772,14 +2777,14 @@ target_include_directories(netcdf # Create export configuration write_basic_package_version_file( - "${CMAKE_CURRENT_BINARY_DIR}/netCDF/netCDFConfigVersion.cmake" + netCDFConfigVersion.cmake VERSION ${netCDF_VERSION} COMPATIBILITY SameMajorVersion ) install( FILES - "${CMAKE_CURRENT_BINARY_DIR}/netCDF/netCDFConfigVersion.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/netCDFConfigVersion.cmake" DESTINATION ${ConfigPackageLocation} COMPONENT headers ) diff --git a/netCDFConfig.cmake.in b/netCDFConfig.cmake.in index 3146bb7d7..1dfdb959a 100644 --- a/netCDFConfig.cmake.in +++ b/netCDFConfig.cmake.in @@ -5,9 +5,6 @@ @PACKAGE_INIT@ set(NetCDFVersion "@PACKAGE_VERSION@") -set_and_check(netCDF_INSTALL_PREFIX "@PACKAGE_CMAKE_INSTALL_PREFIX@") -set_and_check(netCDF_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@") -set_and_check(netCDF_LIB_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@") set(netCDF_LIBRARIES netCDF::netcdf) From 3c59bf6f54bd843f75eea3ab945a9a9f97d53d1d Mon Sep 17 00:00:00 2001 From: Peter Hill Date: Wed, 24 Jan 2024 11:15:07 +0000 Subject: [PATCH 2/2] CMake: Tidy exporting targets Fixes comments from review --- CMakeLists.txt | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 56ec023e3..9dae19cdd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2745,28 +2745,14 @@ install(EXPORT netCDFTargets NAMESPACE netCDF:: ) -export(EXPORT netCDFTargets - FILE "${CMAKE_CURRENT_BINARY_DIR}/netCDFTargets.cmake" - NAMESPACE netCDF:: - ) +export(EXPORT netCDFTargets FILE netCDFTargets.cmake NAMESPACE netCDF::) include(CMakePackageConfigHelpers) -CONFIGURE_PACKAGE_CONFIG_FILE( +configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/netCDFConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/netCDFConfig.cmake" INSTALL_DESTINATION "${ConfigPackageLocation}" - NO_CHECK_REQUIRED_COMPONENTS_MACRO - PATH_VARS - CMAKE_INSTALL_PREFIX - CMAKE_INSTALL_INCLUDEDIR - CMAKE_INSTALL_LIBDIR - ) - -INSTALL( - FILES "${CMAKE_CURRENT_BINARY_DIR}/netCDFConfig.cmake" - DESTINATION "${ConfigPackageLocation}" - COMPONENT headers - ) +) add_library(netCDF::netcdf ALIAS netcdf) target_include_directories(netcdf @@ -2780,14 +2766,15 @@ write_basic_package_version_file( netCDFConfigVersion.cmake VERSION ${netCDF_VERSION} COMPATIBILITY SameMajorVersion - ) +) install( FILES + "${CMAKE_CURRENT_BINARY_DIR}/netCDFConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/netCDFConfigVersion.cmake" DESTINATION ${ConfigPackageLocation} COMPONENT headers - ) +) #### # End export files