Skip to content
Snippets Groups Projects
Commit d2a2eea4 authored by Riccardo Maria Bianchi's avatar Riccardo Maria Bianchi :sunny:
Browse files

(cmake) Fix the targets export to also have proper version number

parent 6f691039
No related branches found
No related tags found
No related merge requests found
......@@ -3,13 +3,10 @@ cmake_minimum_required( VERSION 3.1...3.19 )
project( "MagneticField" VERSION ${GeoModel_VERSION} LANGUAGES CXX )
# Set up the build of the three libraries of the project.
# Set up the build of the libraries of the project's subpackages
add_subdirectory(MagFieldInterfaces)
add_subdirectory(MagFieldServices)
install(EXPORT MagFieldInterfaces-export FILE MagneticField-MagFieldInterfaces.cmake DESTINATION lib/cmake/MagneticField)
install(EXPORT MagFieldServices-export FILE MagneticField-MagFieldServices.cmake DESTINATION lib/cmake/MagneticField)
install(FILES cmake/MagneticFieldConfig.cmake DESTINATION lib/cmake/MagneticField)
# Install headers
file( GLOB HEADERS_Int MagFieldInterfaces/MagFieldInterfaces/*.h )
......@@ -21,4 +18,28 @@ install( FILES ${HEADERS_Svc}
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/MagFieldServices
COMPONENT Development )
# install the CMake configuration files of the subpackages
install(EXPORT MagFieldInterfaces-export FILE MagneticField-MagFieldInterfaces.cmake DESTINATION lib/cmake/MagneticField)
install(EXPORT MagFieldServices-export FILE MagneticField-MagFieldServices.cmake DESTINATION lib/cmake/MagneticField)
# Write and install the version file
write_basic_config_version_file(
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PROJECT_NAME}ConfigVersion.cmake
VERSION ${PROJECT_VERSION}
COMPATIBILITY SameMajorVersion )
install(
FILES
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PROJECT_NAME}ConfigVersion.cmake
COMPONENT Development
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} )
# Install the hand-written project configuration.
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/MagneticFieldConfig.cmake.in
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PROJECT_NAME}Config.cmake
@ONLY )
install(
FILES
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PROJECT_NAME}Config.cmake
COMPONENT Development
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} )
......@@ -3,3 +3,15 @@ get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
include(${SELF_DIR}/MagneticField-MagFieldInterfaces.cmake)
include(${SELF_DIR}/MagneticField-MagFieldServices.cmake)
# Set the version of the installed project.
set( MagneticField_VERSION "@PROJECT_VERSION@" )
# Print some standard messages about the package being found.
include( FindPackageHandleStandardArgs )
find_package_handle_standard_args( MagneticField
FOUND_VAR MagneticField_FOUND
REQUIRED_VARS SELF_DIR
VERSION_VAR MagneticField_VERSION )
# Clean up.
unset( SELF_DIR )
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment