diff --git a/CMakeLists.txt b/CMakeLists.txt index f2b54b1762..09f7e414e9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1620,11 +1620,11 @@ if(NOT DEFINED CMAKE_INSTALL_LIBDIR) set(CMAKE_INSTALL_LIBDIR lib) endif(NOT DEFINED CMAKE_INSTALL_LIBDIR) -# Set +# Set for nc-config and pkgconfig files set(prefix ${CMAKE_INSTALL_PREFIX}) set(exec_prefix ${CMAKE_INSTALL_PREFIX}) -set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) -set(includedir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}) +cmake_path(ABSOLUTE_PATH CMAKE_INSTALL_LIBDIR BASE_DIRECTORY "${CMAKE_INSTALL_PREFIX}" OUTPUT_VARIABLE libdir) +cmake_path(ABSOLUTE_PATH CMAKE_INSTALL_INCLUDEDIR BASE_DIRECTORY "${CMAKE_INSTALL_PREFIX}" OUTPUT_VARIABLE includedir) set(CC ${CMAKE_C_COMPILER}) # Process all dependency libraries and create a string @@ -1934,6 +1934,8 @@ install(EXPORT netCDFTargets export(EXPORT netCDFTargets FILE netCDFTargets.cmake NAMESPACE netCDF::) include(CMakePackageConfigHelpers) +cmake_path(ABSOLUTE_PATH CMAKE_INSTALL_INCLUDEDIR BASE_DIRECTORY "${CMAKE_INSTALL_PREFIX}" OUTPUT_VARIABLE netCDF_INCLUDE_DIR) +cmake_path(ABSOLUTE_PATH CMAKE_INSTALL_LIBDIR BASE_DIRECTORY "${CMAKE_INSTALL_PREFIX}" OUTPUT_VARIABLE netCDF_LIB_DIR) configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/netCDFConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/netCDFConfig.cmake" diff --git a/nc-config.cmake.in b/nc-config.cmake.in index 3a7fc5cdb3..523a06aa98 100644 --- a/nc-config.cmake.in +++ b/nc-config.cmake.in @@ -6,14 +6,14 @@ prefix="@CMAKE_INSTALL_PREFIX@" exec_prefix="@CMAKE_INSTALL_PREFIX@" -libdir="@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@" -includedir="@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@" +libdir="@libdir@" +includedir="@includedir@" plugindir="@NETCDF_PLUGIN_INSTALL_DIR@" pluginsearchpath="@NETCDF_PLUGIN_SEARCH_PATH@" cc="@CMAKE_C_COMPILER@" -cflags="-I@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@" -libs="-L@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ @NC_LIBS@" +cflags="-I@includedir@" +libs="-L@libdir@ @NC_LIBS@" libsprivate="@LIBS@" HAS_STATIC="FALSE" PRINTLIBS="FALSE" diff --git a/netCDFConfig.cmake.in b/netCDFConfig.cmake.in index 987b2adc4a..bef7788c74 100644 --- a/netCDFConfig.cmake.in +++ b/netCDFConfig.cmake.in @@ -6,8 +6,8 @@ set(NetCDFVersion "@PACKAGE_VERSION@") set_and_check(netCDF_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@") -set_and_check(netCDF_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@") -set_and_check(netCDF_LIB_DIR "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@") +set_and_check(netCDF_INCLUDE_DIR "@netCDF_INCLUDE_DIR@") +set_and_check(netCDF_LIB_DIR "@netCDF_LIB_DIR@") set(netCDF_LIBRARIES netCDF::netcdf) # include target information