From b4a2b822c296b09fd6ca59527e4dd6ff04e78f14 Mon Sep 17 00:00:00 2001 From: Luis Diaz Mas Date: Mon, 14 Aug 2017 08:28:24 +0200 Subject: [PATCH] Remove usage of global variable INSTALL_TARGET_STANDARD_ARGS. Specify install destinitions in each target --- CMakeLists.txt | 6 ------ samples/CMakeLists.txt | 10 +++++----- src/CMakeLists.txt | 16 +++++++++++----- xmpsdk/CMakeLists.txt | 6 +++++- 4 files changed, 21 insertions(+), 17 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cfecd01e..6c1f38ce 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -106,12 +106,6 @@ include_directories(${CMAKE_BINARY_DIR}) # Make the exv_conf.h file visible for include( config/CMakeChecks.txt ) -SET( INSTALL_TARGET_STANDARD_ARGS - RUNTIME DESTINATION bin - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -) - ## # add sources from XMPSDK directory # this needs to be done here to be visible to xmpsdk, src and sample sub directories diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt index cf33f2fd..07bb5128 100644 --- a/samples/CMakeLists.txt +++ b/samples/CMakeLists.txt @@ -49,7 +49,7 @@ FOREACH(entry ${SAMPLES}) ADD_EXECUTABLE( ${target} ${target}.cpp ) ADD_TEST( ${target}_test ${target} ) TARGET_LINK_LIBRARIES( ${target} PRIVATE exiv2lib ${CMAKE_THREAD_LIBS_INIT} ${EXPAT_LIBRARIES}) - INSTALL( TARGETS ${target} ${INSTALL_TARGET_STANDARD_ARGS} ) + INSTALL( TARGETS ${target} RUNTIME DESTINATION bin) ENDFOREACH(entry ${SAMPLES}) ################################### @@ -62,26 +62,26 @@ ENDIF( MSVC ) SET( MC_SRC ${MC_SRC} metacopy.cpp ../src/utils.cpp ) ADD_EXECUTABLE( metacopy ${MC_SRC} ) TARGET_LINK_LIBRARIES( metacopy PRIVATE exiv2lib ${CMAKE_THREAD_LIBS_INIT} ${EXPAT_LIBRARIES} ${ZLIB_LIBRARIES}) -INSTALL( TARGETS metacopy ${INSTALL_TARGET_STANDARD_ARGS} ) +INSTALL( TARGETS metacopy RUNTIME DESTINATION bin) SET ( PATHTEST_SRC ${PATHTEST_SRC} path-test.cpp ../src/utils.cpp ) ADD_EXECUTABLE ( pathtest ${PATHTEST_SRC} ) SET_TARGET_PROPERTIES( pathtest PROPERTIES OUTPUT_NAME path-test ) TARGET_LINK_LIBRARIES( pathtest PRIVATE exiv2lib ${CMAKE_THREAD_LIBS_INIT} ${EXPAT_LIBRARIES} ${ZLIB_LIBRARIES}) -INSTALL ( TARGETS pathtest ${INSTALL_TARGET_STANDARD_ARGS} ) +INSTALL ( TARGETS pathtest RUNTIME DESTINATION bin) SET( EXIV2JSON_SRC exiv2json.cpp Jzon.cpp ) ADD_EXECUTABLE( exiv2json ${EXIV2JSON_SRC} ) SET_TARGET_PROPERTIES( exiv2json PROPERTIES OUTPUT_NAME exiv2json ) TARGET_LINK_LIBRARIES( exiv2json PRIVATE exiv2lib ${CMAKE_THREAD_LIBS_INIT} ${EXPAT_LIBRARIES} ${ZLIB_LIBRARIES}) -INSTALL( TARGETS exiv2json ${INSTALL_TARGET_STANDARD_ARGS} ) +INSTALL( TARGETS exiv2json RUNTIME DESTINATION bin) if( EXIV2_ENABLE_LIBXMP ) SET( GEOTAG_SRC geotag.cpp ) ADD_EXECUTABLE( geotag ${GEOTAG_SRC} ) SET_TARGET_PROPERTIES( geotag PROPERTIES OUTPUT_NAME geotag ) TARGET_LINK_LIBRARIES( geotag PRIVATE exiv2lib ${EXPAT_LIBRARIES} ${ZLIB_LIBRARIES}) - INSTALL( TARGETS geotag ${INSTALL_TARGET_STANDARD_ARGS} ) + INSTALL( TARGETS geotag RUNTIME DESTINATION bin) endif() # ****************************************************************************** diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 367c0997..041f0936 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -307,7 +307,14 @@ IF (CYGWIN OR MINGW) TARGET_LINK_LIBRARIES( exiv2lib PRIVATE psapi ws2_32 ) ENDIF(CYGWIN OR MINGW) -INSTALL( TARGETS exiv2lib ${INSTALL_TARGET_STANDARD_ARGS} ) +install(TARGETS exiv2lib + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) +install(FILES ${LIBEXIV2_HDR} + DESTINATION include/exiv2 +) include(../CMake_msvc.txt) msvc_runtime_configure(${EXIV2_ENABLE_SHARED} ${EXIV2_ENABLE_DYNAMIC_RUNTIME}) @@ -316,7 +323,9 @@ msvc_runtime_configure(${EXIV2_ENABLE_SHARED} ${EXIV2_ENABLE_DYNAMIC_RUNTIME}) # exiv2 application ADD_EXECUTABLE( exiv2 ${EXIV2_SRC} ${EXIV2_HDR} ) TARGET_LINK_LIBRARIES( exiv2 exiv2lib ${LIBINTL_LIBRARIES} ) -INSTALL( TARGETS exiv2 ${INSTALL_TARGET_STANDARD_ARGS} ) +install(TARGETS exiv2 + RUNTIME DESTINATION bin + ) # ****************************************************************************** # connection test application @@ -333,9 +342,6 @@ TARGET_LINK_LIBRARIES( conntest PRIVATE exiv2lib ${CURL_LIBRARIES} ${SSH_LIBRAR ADD_EXECUTABLE( remotetest ${REMOTETEST} ) TARGET_LINK_LIBRARIES( remotetest exiv2lib ${LIBINTL_LIBRARIES} ) -# ****************************************************************************** -# Headers -INSTALL( FILES ${LIBEXIV2_HDR} DESTINATION include/exiv2 ) # ****************************************************************************** # Man page diff --git a/xmpsdk/CMakeLists.txt b/xmpsdk/CMakeLists.txt index 4e732ffd..da8b8da1 100644 --- a/xmpsdk/CMakeLists.txt +++ b/xmpsdk/CMakeLists.txt @@ -40,8 +40,12 @@ IF( EXIV2_ENABLE_XMP AND EXIV2_ENABLE_LIBXMP ) endif() target_link_libraries(xmp PUBLIC ${EXPAT_LIBRARIES}) + # 1119 Install libxmp.a for use by third party applications (Thanks, Emmanuel) - INSTALL(TARGETS xmp ${INSTALL_TARGET_STANDARD_ARGS} ) + INSTALL(TARGETS xmp + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + ) ENDIF() # That's all Folks!