X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=cmake%2FCREAMacro_InstallLibraryForCMake.cmake;h=21877db79c9a9f705246591836db88c69c4ab58e;hb=5a17d994576296f2a5a85f3a01ad5631786a0c56;hp=6990a2fcff530a6590b52aceb42b1a471cc4d1de;hpb=7445d11c4bb61fb6d5340625493760ff199c0f0e;p=crea.git diff --git a/cmake/CREAMacro_InstallLibraryForCMake.cmake b/cmake/CREAMacro_InstallLibraryForCMake.cmake index 6990a2f..21877db 100644 --- a/cmake/CREAMacro_InstallLibraryForCMake.cmake +++ b/cmake/CREAMacro_InstallLibraryForCMake.cmake @@ -1,3 +1,29 @@ +# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Santé) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# Previous Authors : Laurent Guigues, Jean-Pierre Roux +# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ */ + + #----------------------------------------------------------------------------- # Macro CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE # Creates and install the cmake files which allow @@ -44,7 +70,7 @@ # * ${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS # The list of include paths # when someone uses an *INSTALLED* version of ${LIBRARY_NAME} -# The paths *MUST BE RELATIVE* to INSTALL_PREFIX +# The paths *MUST BE RELATIVE* to CMAKE_INSTALL_PREFIX # # A typical example is "include/${LIBRARY_NAME}" # * ${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS # Like the previous var but for library paths. @@ -61,8 +87,8 @@ # * ${LIBRARY_NAME}_MINOR_VERSION # * ${LIBRARY_NAME}_BUILD_VERSION # * ${LIBRARY_NAME}_INSTALL_FOLDER : if set then install the generated files -# in INSTALL_PREFIX/lib/${LIBRARY_NAME}_INSTALL_FOLDER -# instead of INSTALL_PREFIX/lib/${LIBRARY_NAME} +# in CMAKE_INSTALL_PREFIX/lib/${LIBRARY_NAME}_INSTALL_FOLDER +# instead of CMAKE_INSTALL_PREFIX/lib/${LIBRARY_NAME} # # # To provide a user defined @@ -86,7 +112,7 @@ # AdditionalUse${LIBRARY_NAME}.cmake # # At install-time, the same files are installed -# in INSTALL_PREFIX/lib/${LIBRARY_NAME}_INSTALL_FOLDER +# in CMAKE_INSTALL_PREFIX/lib/${LIBRARY_NAME}_INSTALL_FOLDER # and the file : # Find${LIBRARY_NAME}.cmake # is installed in ${CMAKE_ROOT}/Modules/ @@ -136,8 +162,11 @@ MACRO(CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE LIBRARY_NAME) ) # LIBRARY_NAMEBuildSettings.cmake : # Save the compiler settings so another project can import them. + # FCY : DEPREDCATED FUNCTION FOR CMAKE 2.8 + IF( "${CMAKE_MINIMUM_REQUIRED_VERSION}" VERSION_LESS 2.7) INCLUDE(${CMAKE_ROOT}/Modules/CMakeExportBuildSettings.cmake) CMAKE_EXPORT_BUILD_SETTINGS(${PROJECT_BINARY_DIR}/${LIBRARY_NAME}BuildSettings.cmake) + ENDIF() # Additional Config and Use files IF(CILC_LIB_HAS_ADDITIONAL_CONFIG_FILE) CONFIGURE_FILE( @@ -173,13 +202,15 @@ MACRO(CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE LIBRARY_NAME) SET(INSTALL_PATH .) ELSE(WIN32) IF(${LIBRARY_NAME}_INSTALL_FOLDER) - SET(INSTALL_PATH lib/${${LIBRARY_NAME}_INSTALL_FOLDER}) +##EED SET(INSTALL_PATH lib/${${LIBRARY_NAME}_INSTALL_FOLDER}) + SET(INSTALL_PATH ${${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS}/${${LIBRARY_NAME}_INSTALL_FOLDER}) ELSE(${LIBRARY_NAME}_INSTALL_FOLDER) - SET(INSTALL_PATH lib/${LIBRARY_NAME}) +##EED SET(INSTALL_PATH lib/${LIBRARY_NAME}) + SET(INSTALL_PATH ${${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS}/${LIBRARY_NAME}) ENDIF(${LIBRARY_NAME}_INSTALL_FOLDER) ENDIF(WIN32) - + message(STATUS "Library Install Path ${INSTALL_PATH}") # UseLIBRARY_NAME.cmake CONFIGURE_FILE( @@ -208,7 +239,10 @@ MACRO(CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE LIBRARY_NAME) DESTINATION ${INSTALL_PATH} ) # LIBRARY_NAMEBuildSettings.cmake : + # FCY : DEPREDCATED FUNCTION FOR CMAKE 2.8 + IF( "${CMAKE_MINIMUM_REQUIRED_VERSION}" VERSION_LESS 2.7) CMAKE_EXPORT_BUILD_SETTINGS(${CILC_WORK_DIR}/${LIBRARY_NAME}BuildSettings.cmake) + ENDIF() INSTALL( FILES ${CILC_WORK_DIR}/${LIBRARY_NAME}BuildSettings.cmake @@ -244,10 +278,20 @@ MACRO(CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE LIBRARY_NAME) ${CILC_WORK_DIR}/Find${LIBRARY_NAME}.cmake @ONLY IMMEDIATE ) +#EED 02 mars 2011 +# INSTALL( +# FILES ${CILC_WORK_DIR}/Find${LIBRARY_NAME}.cmake +# DESTINATION ${CMAKE_ROOT}/Modules +# ) + +# JPR 04 Mars 2011 INSTALL( FILES ${CILC_WORK_DIR}/Find${LIBRARY_NAME}.cmake - DESTINATION ${CMAKE_ROOT}/Modules +##EED12Fev2013 DESTINATION ${CMAKE_INSTALL_PREFIX}/share/cmake/Modules + DESTINATION share/cmake/Modules ) + + #--------------------------------------------------------------------------- @@ -263,7 +307,10 @@ ENDMACRO(CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE) MACRO(CREA_INSTALL_LIBRARY_FOR_CMAKE LIBRARY_NAME1) # Sets the settings to default values - SET(${LIBRARY_NAME1}_INSTALL_FOLDER ${LIBRARY_NAME1}) + IF(NOT ${LIBRARY_NAME1}_INSTALL_FOLDER) + SET(${LIBRARY_NAME1}_INSTALL_FOLDER ${LIBRARY_NAME1}) + ENDIF(NOT ${LIBRARY_NAME1}_INSTALL_FOLDER) + SET(${LIBRARY_NAME1}_LIBRARIES ${LIBRARY_NAME1}) FILE(RELATIVE_PATH @@ -283,7 +330,7 @@ MACRO(CREA_INSTALL_LIBRARY_FOR_CMAKE LIBRARY_NAME1) IF(UNIX) SET(${LIBRARY_NAME1}_BUILD_TREE_RELATIVE_LIBRARY_PATHS ${CILFC_EXECUTABLE_OUTPUT_REL_PATH}) - SET(${LIBRARY_NAME1}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS lib) + SET(${LIBRARY_NAME1}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS ${CMAKE_CREA_LIB_PATH} ) ELSE(UNIX) SET(${LIBRARY_NAME1}_BUILD_TREE_RELATIVE_LIBRARY_PATHS ${CILFC_EXECUTABLE_OUTPUT_REL_PATH} ) @@ -292,7 +339,10 @@ MACRO(CREA_INSTALL_LIBRARY_FOR_CMAKE LIBRARY_NAME1) # ${CILFC_EXECUTABLE_OUTPUT_REL_PATH}/Release) SET(${LIBRARY_NAME1}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS bin) ENDIF(UNIX) - SET(${LIBRARY_NAME1}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS include/${LIBRARY_NAME1}) + + IF(NOT ${LIBRARY_NAME1}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS) + SET(${LIBRARY_NAME1}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS include/${LIBRARY_NAME1}) + ENDIF(NOT ${LIBRARY_NAME1}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS) # Invoke the advanced macro CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME1})