diff --git a/modeling/applications/pmltools/CMakeLists.txt b/modeling/applications/pmltools/CMakeLists.txt index ef168b6ffc979cede94129155bad26e42a3a59c1..3721857eaf28b92e803ded0fcb8ae6d40cc38ae9 100644 --- a/modeling/applications/pmltools/CMakeLists.txt +++ b/modeling/applications/pmltools/CMakeLists.txt @@ -33,7 +33,7 @@ macro(pml_tool) # installation install(TARGETS ${PML_TOOLS_TARGET_NAME} - RUNTIME DESTINATION bin + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT pml-tools ) endif() diff --git a/sdk/cmake/modules/CamiTKConfig.cmake.in b/sdk/cmake/modules/CamiTKConfig.cmake.in index 6eb70c249bf72da599811f078e0032af2ee1aa2a..9edd596c022cafcaeb50c3c20f491c7921a01bc1 100644 --- a/sdk/cmake/modules/CamiTKConfig.cmake.in +++ b/sdk/cmake/modules/CamiTKConfig.cmake.in @@ -56,6 +56,15 @@ set(CAMITK_INCLUDE_DIR ${CAMITK_DIR}/include/${CAMITK_SHORT_VERSION_STRING} set(CAMITK_TESTDATA_DIR ${CAMITK_DIR}/share/${CAMITK_SHORT_VERSION_STRING}/testdata ) set(CAMITK_CMAKE_DIR ${CAMITK_DIR}/share/${CAMITK_SHORT_VERSION_STRING}/cmake ) +#-- supply default values for CMake (seems required by CMake 3.13) +if(NOT DEFINED CMAKE_INSTALL_BINDIR) + set(CMAKE_INSTALL_BINDIR "bin") +endif() +if(NOT DEFINED CMAKE_INSTALL_LIBDIR) + # set default when not already defined by CMake + set(CMAKE_INSTALL_LIBDIR "lib") +endif() + #-- User Config directory variable # see http://qt-project.org/doc/qt-4.8/qsettings.html#platform-specific-notes if(WIN32) diff --git a/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake b/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake index 774ef84e351cae11a3ad40ff4dd8c77e84bd115e..bfd4876ab40c307e521a9c3ad293a1585563cc88 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKApplication.cmake @@ -553,9 +553,9 @@ macro(camitk_application) ######################################################################### # FOLDER INSTALLATION - # Indicate where to install the application + message(STATUS "Installing application ${APPLICATION_TARGET_NAME} in ${CMAKE_INSTALL_BINDIR}") install(TARGETS ${APPLICATION_TARGET_NAME} - RUNTIME DESTINATION bin + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${APPLICATION_TARGET_NAME} ) diff --git a/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake index f946f7e7b88b136eb301332c1a7d3e5c7cff4dbe..14f7dc5c7cde80bda1b5bc087bec6c29187024d9 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKExtension.cmake @@ -729,9 +729,9 @@ macro(camitk_extension) # Indicate where to install the action/component install(TARGETS ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} # TODO always use private lib, even for runtime - RUNTIME DESTINATION lib/${CAMITK_SHORT_VERSION_STRING}/${TYPE_EXTENSION}s - LIBRARY DESTINATION lib/${CAMITK_SHORT_VERSION_STRING}/${TYPE_EXTENSION}s - ARCHIVE DESTINATION lib/${CAMITK_SHORT_VERSION_STRING}/${TYPE_EXTENSION}s + RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CAMITK_SHORT_VERSION_STRING}/${TYPE_EXTENSION}s + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CAMITK_SHORT_VERSION_STRING}/${TYPE_EXTENSION}s + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CAMITK_SHORT_VERSION_STRING}/${TYPE_EXTENSION}s COMPONENT ${${TYPE_EXTENSION_CMAKE}_TARGET_NAME} ) diff --git a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake index 85acf49bb613c41a2413aaccd14be46d9111dc45..9a63d36cd50cfcbc156d584e8508f16c384759e3 100644 --- a/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake +++ b/sdk/cmake/modules/macros/camitk/CamiTKLibrary.cmake @@ -542,30 +542,31 @@ macro(camitk_library) # FOLDER INSTALLATION # Indicate where to install the library, dependending on its property (public / private) - if (${DEFAULT_LIBRARY_NAME_CMAKE}_PUBLIC) # public library + message(STATUS "Installing library ${LIBRARY_TARGET_NAME} in ${CMAKE_INSTALL_LIBDIR}") + if (${DEFAULT_LIBRARY_NAME_CMAKE}_PUBLIC) # public library if(WIN32) # public library -> install in bin folder install(TARGETS ${LIBRARY_TARGET_NAME} - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib/${CAMITK_SHORT_VERSION_STRING} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CAMITK_SHORT_VERSION_STRING} COMPONENT ${LIBRARY_NAME_INSTALL} ) else() # other public libraries -> install in lib folder install(TARGETS ${LIBRARY_TARGET_NAME} - RUNTIME DESTINATION lib - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib + RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${LIBRARY_NAME_INSTALL} ) endif() else() # private library -> install in lib/camitk-version folder install(TARGETS ${LIBRARY_TARGET_NAME} - RUNTIME DESTINATION lib/${CAMITK_SHORT_VERSION_STRING} - LIBRARY DESTINATION lib/${CAMITK_SHORT_VERSION_STRING} - ARCHIVE DESTINATION lib/${CAMITK_SHORT_VERSION_STRING} + RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CAMITK_SHORT_VERSION_STRING} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CAMITK_SHORT_VERSION_STRING} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CAMITK_SHORT_VERSION_STRING} COMPONENT ${LIBRARY_NAME_INSTALL} ) endif() diff --git a/sdk/libraries/core/CMakeLists.txt b/sdk/libraries/core/CMakeLists.txt index 998afd67b4de9e2b35d4890d97c38d39cedcff20..ed20be5d29e12fb4273917d4ac9645f8d9d273af 100644 --- a/sdk/libraries/core/CMakeLists.txt +++ b/sdk/libraries/core/CMakeLists.txt @@ -131,9 +131,9 @@ set_target_properties(${CAMITK_CORE_LIB_TARGET_NAME} # lib installation install(TARGETS ${CAMITK_CORE_LIB_TARGET_NAME} - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib/${CAMITK_SHORT_VERSION_STRING} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/${CAMITK_SHORT_VERSION_STRING} COMPONENT ${CAMITK_CORE_LIB_TARGET_NAME} )