# Install config

if(${CMAKE_VERSION} VERSION_LESS "3.23.0") 
    # Old way
    # Define exports
    install(TARGETS bimap
        EXPORT ojl_bimapExports
    )
    # Install header directory
    # Don't install bijection.hpp yet
    install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ojl
        DESTINATION 
            ${CMAKE_INSTALL_INCLUDEDIR}
        FILES_MATCHING PATTERN
            *bimap.hpp
            #*bijection.hpp
    )

        
else()
    # Define export set bimapTargets, install headers
    install(TARGETS bimap
        EXPORT ojl_bimapExports
        FILE_SET HEADERS 
        DESTINATION 
          ${CMAKE_INSTALL_INCLUDEDIR}/ojl
    )
endif()

# Generate the export set file
install(EXPORT ojl_bimapExports
    FILE ojl_bimapExports.cmake
    NAMESPACE ojl::
    DESTINATION
      ${CMAKE_INSTALL_LIBDIR}/cmake/ojl_bimap-${PROJECT_VERSION}
)

#I'd like for these paths to be cmake/ojl/bimap-version, but CMake won't find that

#Generate the config
include(CMakePackageConfigHelpers)

# Generate the CMake Config file
configure_package_config_file(
    "${PROJECT_SOURCE_DIR}/cmake/ojl_bimapConfig.cmake.in"
    "${PROJECT_BINARY_DIR}/ojl_bimapConfig.cmake"
  INSTALL_DESTINATION
    ${CMAKE_INSTALL_LIBDIR}/cmake/ojl_bimap-${PROJECT_VERSION}
)

# Generate a file that checks the version 
write_basic_package_version_file(
    "ojl_bimapConfigVersion.cmake"
    VERSION ${bimap_VERSION}
    COMPATIBILITY SameMajorVersion
)

install(FILES
    "${CMAKE_CURRENT_BINARY_DIR}/ojl_bimapConfig.cmake"
    "${CMAKE_CURRENT_BINARY_DIR}/ojl_bimapConfigVersion.cmake"
  DESTINATION
  ${CMAKE_INSTALL_LIBDIR}/cmake/ojl_bimap-${PROJECT_VERSION}
)