]> Creatis software - crea.git/blobdiff - cmake/CREAMacro_InstallLibraryForCMake.cmake
Bug #1913
[crea.git] / cmake / CREAMacro_InstallLibraryForCMake.cmake
index 02204b1300256fae9a797903a716abd16f0cb1a3..21877db79c9a9f705246591836db88c69c4ab58e 100644 (file)
@@ -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 
 #  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/
@@ -176,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(
@@ -250,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
     )
+    
   #---------------------------------------------------------------------------
   
 
@@ -269,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 
@@ -289,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} )
@@ -298,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})