Create and install netCDFCxxConfig.cmake

This commit is contained in:
Peter Hill 2019-06-07 11:23:16 +01:00
parent f208d2acb0
commit fce8b5a830
No known key found for this signature in database
GPG Key ID: BDB980A0AB69E24C
2 changed files with 43 additions and 20 deletions

View File

@ -509,6 +509,21 @@ INSTALL(
# End libnetcdf-cxx.settings section.
#####
#####
# Traverse into subdirectories.
#####
##
# Set up include directories.
##
# INCLUDE_DIRECTORIES(cxx4 examples)
ADD_SUBDIRECTORY(cxx4)
ADD_SUBDIRECTORY(examples)
IF(ENABLE_DOXYGEN)
ADD_SUBDIRECTORY(docs)
ENDIF()
#####
# Begin ncxx4-config section
#####
@ -528,42 +543,41 @@ INSTALL(PROGRAMS ${NCXX_BINARY_DIR}/ncxx4-config
# End ncxx4-config section
#####
#####
# Options
#####
include(CMakePackageConfigHelpers)
set(ConfigPackageLocation "${CMAKE_INSTALL_LIBDIR}/cmake/netCDF")
# Create export configuration
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/netCDF/netCDFCxxConfigVersion.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/netCDFCxxConfigVersion.cmake"
VERSION ${NCXX_VERSION}
COMPATIBILITY SameMajorVersion
)
install(
FILES
"${CMAKE_CURRENT_BINARY_DIR}/netCDF/netCDFCxxConfigVersion.cmake"
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/netCDFCxx
COMPONENT headers
EXPORT netcdf-cxx4Targets
FILE netcdf-cxx4Targets.cmake
NAMESPACE netCDF::
DESTINATION ${ConfigPackageLocation}
)
configure_package_config_file(
"${CMAKE_CURRENT_SOURCE_DIR}/netCDFCxxConfig.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/netCDFCxxConfig.cmake"
INSTALL_DESTINATION "${ConfigPackageLocation}"
)
#####
# Traverse into subdirectories.
#####
##
# Set up include directories.
##
INCLUDE_DIRECTORIES(cxx4 examples)
ADD_SUBDIRECTORY(cxx4)
ADD_SUBDIRECTORY(examples)
IF(ENABLE_DOXYGEN)
ADD_SUBDIRECTORY(docs)
ENDIF()
install(
FILES
"${CMAKE_CURRENT_BINARY_DIR}/netCDFCxxConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/netCDFCxxConfigVersion.cmake"
DESTINATION "${ConfigPackageLocation}"
COMPONENT headers
)
##
# CPack, CMakeInstallation.cmake file.

9
netCDFCxxConfig.cmake.in Normal file
View File

@ -0,0 +1,9 @@
# NetCDF CXX Configuration Summary
@PACKAGE_INIT@
include(CMakeFindDependencyMacro)
find_dependency(netCDF)
include("${CMAKE_CURRENT_LIST_DIR}/netcdf-cxx4Targets.cmake")