diff --git a/CMakeLists.txt b/CMakeLists.txt index 4af140da..d6880a70 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,6 +9,8 @@ CMAKE_MINIMUM_REQUIRED( VERSION 3.1.0 ) PROJECT( exiv2 ) +INCLUDE( GNUInstallDirs ) + set(CMAKE_MACOSX_RPATH 1) SET( PACKAGE_COPYRIGHT "Andreas Huggel" ) diff --git a/config/CMakeChecks.txt b/config/CMakeChecks.txt index 3fe96295..f53f9e56 100644 --- a/config/CMakeChecks.txt +++ b/config/CMakeChecks.txt @@ -31,8 +31,6 @@ # # ConfigureChecks for exiv2 -INCLUDE( GNUInstallDirs ) - IF( EXIV2_ENABLE_SHARED ) ADD_DEFINITIONS( -DEXV_HAVE_DLL ) SET( STATIC_FLAG SHARED ) diff --git a/config/exiv2.pc.cmake b/config/exiv2.pc.cmake index 256f8ac6..afc16e2b 100644 --- a/config/exiv2.pc.cmake +++ b/config/exiv2.pc.cmake @@ -1,7 +1,7 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${prefix}/lib -includedir=${prefix}/include +libdir=@CMAKE_INSTALL_FULL_LIBDIR@ +includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ Name: exiv2 Description: Exif and IPTC metadata library and tools diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt index 63b37733..69e8414b 100644 --- a/po/CMakeLists.txt +++ b/po/CMakeLists.txt @@ -9,7 +9,7 @@ FILE(GLOB PO_FILES *.po) if ( NOT MSVC ) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_BINDIR}) endif() UPDATE_TRANSLATIONS(exiv2 ${PO_FILES}) diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt index 59cf8f0b..7837d034 100644 --- a/samples/CMakeLists.txt +++ b/samples/CMakeLists.txt @@ -5,7 +5,7 @@ # For details see the accompanying COPYING-CMAKE-SCRIPTS file. if ( NOT MSVC ) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_BINDIR}) endif() SET( SAMPLES addmoddel.cpp @@ -47,7 +47,7 @@ foreach(entry ${SAMPLES}) add_executable( ${target} ${target}.cpp ) add_test( ${target}_test ${target} ) target_link_libraries( ${target} PRIVATE exiv2lib) - install( TARGETS ${target} RUNTIME DESTINATION bin) + install( TARGETS ${target} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endforeach() ################################### @@ -68,7 +68,7 @@ endif() add_executable( exiv2json exiv2json.cpp Jzon.cpp) target_link_libraries( exiv2json PRIVATE exiv2lib) -install( TARGETS metacopy pathtest exiv2json RUNTIME DESTINATION bin) +install( TARGETS metacopy pathtest exiv2json RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) if (MSVC) target_sources(pathtest PRIVATE ../src/getopt_win32.c) @@ -78,7 +78,7 @@ endif() if( EXIV2_ENABLE_XMP ) add_executable( geotag geotag.cpp) target_link_libraries( geotag PRIVATE exiv2lib ${ZLIB_LIBRARIES}) - install( TARGETS geotag RUNTIME DESTINATION bin) + install( TARGETS geotag RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif() # ****************************************************************************** diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 32680ed8..285fd97b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -263,12 +263,12 @@ IF (CYGWIN OR MINGW) ENDIF(CYGWIN OR MINGW) install(TARGETS exiv2lib - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) install(FILES ${LIBEXIV2_HDR} - DESTINATION include/exiv2 + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/exiv2 ) include(../CMake_msvc.txt) @@ -287,7 +287,7 @@ set( EXIV2_SRC exiv2.cpp add_executable( exiv2 ${EXIV2_SRC} ) target_link_libraries( exiv2 PRIVATE exiv2lib ) -install(TARGETS exiv2 RUNTIME DESTINATION bin) +install(TARGETS exiv2 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) # TODO This should not be needed here! we need to fix the previous TODO target_include_directories(exiv2 PRIVATE ${CMAKE_SOURCE_DIR}/include/) diff --git a/xmpsdk/CMakeLists.txt b/xmpsdk/CMakeLists.txt index 75b4517e..15324e9f 100644 --- a/xmpsdk/CMakeLists.txt +++ b/xmpsdk/CMakeLists.txt @@ -69,7 +69,7 @@ if( EXIV2_ENABLE_LIBXMP ) # 1119 Install libxmp.a for use by third party applications (Thanks, Emmanuel) install(TARGETS xmp - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) endif()