diff --git a/README.md b/README.md index c70115c270..88cecc6332 100644 --- a/README.md +++ b/README.md @@ -350,7 +350,7 @@ set(CMAKE_CXX_EXTENSIONS OFF) find_package(exiv2 REQUIRED CONFIG NAMES exiv2) # search ${CMAKE_INSTALL_PREFIX}/lib/cmake/exiv2/ add_executable(exifprint ../samples/exifprint.cpp) # Create exifprint target -target_link_libraries(exifprint PRIVATE exiv2lib) # link exiv2lib +target_link_libraries(exifprint PRIVATE Exiv2::exiv2lib) # link exiv2lib EOF $ cmake . # generate the makefile $ cmake --build . # build the code diff --git a/cmake/exiv2Config.cmake.in b/cmake/exiv2Config.cmake.in new file mode 100644 index 0000000000..e5809ac3eb --- /dev/null +++ b/cmake/exiv2Config.cmake.in @@ -0,0 +1,12 @@ +@PACKAGE_INIT@ + +cmake_minimum_required(VERSION 3.5) +include(CMakeFindDependencyMacro) + +if(@EXIV2_ENABLE_PNG@) # if(EXIV2_ENABLE_PNG) + find_dependency(ZLIB REQUIRED) +endif() + +include("${CMAKE_CURRENT_LIST_DIR}/exiv2Export.cmake") + +check_required_components(exiv2) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1abc7eac20..4952c0dbfa 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -125,6 +125,7 @@ add_library( exiv2lib ${PUBLIC_HEADERS} $ ) +add_library(Exiv2::exiv2lib ALIAS exiv2lib) generate_export_header(exiv2lib EXPORT_MACRO_NAME EXIV2API @@ -283,10 +284,13 @@ set(requires_private_for_pc_file "${requires_private_string}" PARENT_SCOPE) write_basic_package_version_file(exiv2ConfigVersion.cmake COMPATIBILITY ExactVersion) -install(TARGETS exiv2lib EXPORT exiv2Config - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +install(TARGETS exiv2lib EXPORT exiv2Export) + +include(CMakePackageConfigHelpers) +configure_package_config_file( + ../cmake/exiv2Config.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/exiv2Config.cmake + INSTALL_DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/exiv2" ) install(FILES @@ -295,7 +299,14 @@ install(FILES ${CMAKE_BINARY_DIR}/exiv2lib_export.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/exiv2) -install(EXPORT exiv2Config DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/exiv2") +install(EXPORT exiv2Export + DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/exiv2" + NAMESPACE Exiv2:: +) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2ConfigVersion.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/exiv2") +install( + FILES + ${CMAKE_CURRENT_BINARY_DIR}/exiv2ConfigVersion.cmake + ${CMAKE_CURRENT_BINARY_DIR}/exiv2Config.cmake + DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/exiv2")