diff --git a/CMakeLists.txt b/CMakeLists.txt index 37c2a871..0f160079 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -136,7 +136,7 @@ if (EXIV2_TEAM_PACKAGING) endif() configure_file(cmake/exiv2.pc.in exiv2.pc @ONLY) -install(FILES ${CMAKE_BINARY_DIR}/exiv2.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) # ****************************************************************************** # Man page diff --git a/cmake/mainSetup.cmake b/cmake/mainSetup.cmake index 1f8d10c8..5bcc3fa5 100644 --- a/cmake/mainSetup.cmake +++ b/cmake/mainSetup.cmake @@ -27,5 +27,8 @@ if (UNIX) endif() endif() -configure_file(cmake/exiv2_uninstall.cmake ${CMAKE_BINARY_DIR}/cmake_uninstall.cmake COPYONLY) -add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake") +# Prevent conflicts when exiv2 is consumed in multiple-subdirectory projects. +if (NOT TARGET uninstall) + configure_file(cmake/exiv2_uninstall.cmake ${CMAKE_BINARY_DIR}/cmake_uninstall.cmake COPYONLY) + add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake") +endif()