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