]> Creatis software - crea.git/blobdiff - cmake/CREAMacro_InstallLibraryForCMake.cmake
re indent
[crea.git] / cmake / CREAMacro_InstallLibraryForCMake.cmake
index 4e08f05b476d98e6aa2dd5e5b9af6ecf4217794b..3fd0288b42e8448740bc276833255a32dd8e5f3b 100644 (file)
@@ -44,7 +44,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 +61,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 +86,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 +136,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 +176,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 +213,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 +252,19 @@ 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 
+    DESTINATION ${CMAKE_INSTALL_PREFIX}/share/cmake/Modules
     )
+    
   #---------------------------------------------------------------------------
   
 
@@ -260,30 +277,48 @@ ENDMACRO(CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE)
 
 
 #-----------------------------------------------------------------------------
-MACRO(CREA_INSTALL_LIBRARY_FOR_CMAKE LIBRARY_NAME)
+MACRO(CREA_INSTALL_LIBRARY_FOR_CMAKE LIBRARY_NAME1)
   
   # Sets the settings to default values
-  SET(${LIBRARY_NAME}_INSTALL_FOLDER ${LIBRARY_NAME})
-  SET(${LIBRARY_NAME}_LIBRARIES ${LIBRARY_NAME})
+  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 
-    ${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS 
+    ${LIBRARY_NAME1}_BUILD_TREE_RELATIVE_INCLUDE_PATHS 
     ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
     )
+  IF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
+    SET(CILFC_EXECUTABLE_OUTPUT_REL_PATH ".")
+  ELSE ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
+
+    FILE(RELATIVE_PATH 
+      CILFC_EXECUTABLE_OUTPUT_REL_PATH
+      ${PROJECT_BINARY_DIR} ${EXECUTABLE_OUTPUT_PATH})
+  ENDIF ( ${PROJECT_BINARY_DIR} STREQUAL ${EXECUTABLE_OUTPUT_PATH} )
+
 
   IF(UNIX)
-    SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS 
-      ${EXECUTABLE_OUTPUT_REL_PATH})
+    SET(${LIBRARY_NAME1}_BUILD_TREE_RELATIVE_LIBRARY_PATHS 
+      ${CILFC_EXECUTABLE_OUTPUT_REL_PATH})
+    SET(${LIBRARY_NAME1}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS ${CMAKE_CREA_LIB_PATH} )
   ELSE(UNIX)
-    SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS 
-      ${EXECUTABLE_OUTPUT_REL_PATH}/Debug
-      ${EXECUTABLE_OUTPUT_REL_PATH}/Release)
+    SET(${LIBRARY_NAME1}_BUILD_TREE_RELATIVE_LIBRARY_PATHS 
+      ${CILFC_EXECUTABLE_OUTPUT_REL_PATH} )
+# LG 15/01/09 : Bug
+#      ${CILFC_EXECUTABLE_OUTPUT_REL_PATH}/Debug
+#     ${CILFC_EXECUTABLE_OUTPUT_REL_PATH}/Release)
+    SET(${LIBRARY_NAME1}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS bin)
   ENDIF(UNIX)
-  SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS include/${LIBRARY_NAME})
-  SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS lib)
+
+  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_NAME})
+  CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME1})
 
 
 ENDMACRO(CREA_INSTALL_LIBRARY_FOR_CMAKE)