]> Creatis software - crea.git/blobdiff - cmake/CREAMacro_FindAndUseLibraries.cmake
Forget to commit these ones
[crea.git] / cmake / CREAMacro_FindAndUseLibraries.cmake
index 5643dc28b4dd0694ad687e958de800da90820cf9..09fa8b0115c7560b018d3cf1703fa7c9ff8517aa 100644 (file)
@@ -1,7 +1,12 @@
 
 
 MACRO(CREA_FIND_AND_USE_LIBRARIES)
-MESSAGE(ERROR "EED CREAMacrp_FindAndUseLibraries")
+
+IF(INCLUDE_CTEST)
+       include(CTest) 
+ENDIF(INCLUDE_CTEST)
+
+
 set(USE_DEBUG_LIB "" CACHE BOOL "Use Debug Libraries" )
 
 #-----------------------------------------------------------------------------
@@ -152,27 +157,26 @@ IF(USE_GDCM)
             )
        ENDIF(USE_VTK)
       ENDIF(USE_GDCM_VTK)
-      
+
+    ELSE(GDCM_FOUND)     
+         MESSAGE(FATAL_ERROR "GDCM not found....")
     ENDIF(GDCM_FOUND)
+
   ENDIF(NOT GDCM_FOUND)
 ENDIF(USE_GDCM)
 
-#-----------------------------------------------------------------------------
-
 #-----------------------------------------------------------------------------
 IF(USE_GDCM2)
-  IF(NOT GDCM_FOUND)
     # Search GDCM2
-    FIND_PACKAGE(GDCM)
-    # If gdcm found
-    IF(GDCM_FOUND)
-      INCLUDE(${GDCM_USE_FILE})
+    FIND_PACKAGE(GDCM REQUIRED)
+    INCLUDE(${GDCM_USE_FILE})
 
       IF(NOT ${GDCM_MAJOR_VERSION} EQUAL 2)
        MESSAGE(FATAL_ERROR "gdcm version 2 needed. found ${GDCM_MAJOR_VERSION}.${GDCM_MINOR_VERSION}.${GDCM_BUILD_VERSION}. Set GDCM_DIR to the gdcm version 2 directory")
       ENDIF(NOT ${GDCM_MAJOR_VERSION} EQUAL 2)
       
       CREA_DEFINE( USE_GDCM2 )
+         MARK_AS_ADVANCED(GDCM_DIR)
       CREA_DEFINE_WITH_VAL( GDCM_NAME_SPACE gdcm )
       
       MESSAGE ( STATUS "=======================================")
@@ -183,32 +187,38 @@ IF(USE_GDCM2)
       
       # Test that GDCM_NAME_SPACE is **NOT** "gdcm" or will conflict with 
       # embedded gdcm in ITK and will result in hard seg faults !
-      IF(USE_ITK)
-       IF (GDCM_NAME_SPACE STREQUAL "gdcm")
-         MESSAGE(FATAL_ERROR "GDCM_NAME_SPACE value is 'gdcm' which conflicts with ITK embededd gdcm namespace : rebuild gdcm with another GDCM_NAME_SPACE value")
-       ENDIF (GDCM_NAME_SPACE STREQUAL "gdcm")
-      ENDIF(USE_ITK)
-
-      MARK_AS_ADVANCED(GDCM_DIR)
+                  INCLUDE_DIRECTORIES(${GDCM_INCLUDE_DIR})      
+                       LINK_DIRECTORIES( ${GDCM_LIBRARY_DIR}) 
 
-      SET(GDCM_LIBRARIES
+      SET(GDCM2_LIBRARIES
         ${GDCM_LIBRARIES} 
        )
 
-      # TODO : Test that GDCM was built with option "vtkgdcm"
       IF(USE_GDCM_VTK)
        IF(USE_VTK)
-         SET(GDCM_LIBRARIES
-           ${GDCM_LIBRARIES}
-            vtkgdcm  
-            )
+               IF(WIN32)
+                 SET(GDCM_LIBRARIES
+                   ${GDCM_LIBRARIES}
+                       vtkgdcm
+                       #gdcm2vtk
+                    )
+               ELSE(WIN32)
+                   SET(GDCM_LIBRARIES
+                   ${GDCM_LIBRARIES}
+                       vtkgdcm
+                       )
+               ENDIF(WIN32)
+               
        ENDIF(USE_VTK)
       ENDIF(USE_GDCM_VTK)
-      
-    ENDIF(GDCM_FOUND)
-  ENDIF(NOT GDCM_FOUND)
+     
+
 ENDIF(USE_GDCM2)
 
+
+
+#-----------------------------------------------------------------------------
+
 #-----------------------------------------------------------------------------
 
 #-----------------------------------------------------------------------------
@@ -239,12 +249,12 @@ ENDIF(USE_DOXYGEN)
 
 
 #-----------------------------------------------------------------------------
-IF(USE_LATEX)  
+IF(USE_LATEX)
        IF (NOT LATEX_COMPILER)
                FIND_PACKAGE(LATEX REQUIRED)
                MESSAGE ( STATUS "=======================================")
                MESSAGE(STATUS "Looking for latex... - found ${LATEX_COMPILER}")
-               IF (NOT LATEX_COMPILER)
+               IF (NOT LATEX_FOUND)
                    MESSAGE(FATAL_ERROR "LATEX_COMPILER NOT FOUND. Example:latex  (MacOS:/opt/local/bin/latex)")
                 ENDIF (NOT LATEX_FOUND)
        ENDIF (NOT LATEX_COMPILER)
@@ -267,39 +277,46 @@ IF(USE_TTH)
   ENDIF(NOT TTH_EXECUTABLE)
 ENDIF(USE_TTH)
 #-----------------------------------------------------------------------------
-
 #-----------------------------------------------------------------------------
 IF(USE_BOOST)
+message(STATUS "1")
   IF(NOT Boost_FOUND)
-    FIND_PACKAGE(Boost REQUIRED)
+      FIND_PACKAGE(Boost COMPONENTS filesystem  signals date_time regex REQUIRED)
     IF(Boost_FOUND)
+       message(STATUS "1 bis")
       MESSAGE ( STATUS "=======================================")
       MESSAGE ( STATUS "Looking for boost C++ library... - found in ${Boost_INCLUDE_DIR}")
       INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})        
-      LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS} )
-   
-      CREA_DEFINE( USE_BOOST )
+                       LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS}) 
          IF(WIN32)
-               
-               LINK_DIRECTORIES( ${Boost_INCLUDE_DIRS}/stage/lib) #JCP 01/10/2009
+         message("creamacro find and use lib = ${Boost_LIBRARIES}")
+       
 
-               #message("creamacro find and use lib = ${Boost_SIGNALS_LIBRARY}")
-               IF(USE_DEBUG_LIB)
-                       SET(BOOST_LIBRARIES
-                               boost_signals-vc90-mt-gd-1_40
-                               boost_filesystem-vc90-mt-gd-1_40
-                               boost_date_time-vc90-mt-gd-1_40                    
-                          #what about boost_thread? JPR
-                       )
-               ELSE(NOT USE_DEBUG_LIB)
-                       SET(BOOST_LIBRARIES
-                               boost_signals-vc90-mt-1_40
-                               boost_filesystem-vc90-mt-1_40
-                               boost_date_time-vc90-mt-1_40
+               CREA_DEFINE( USE_BOOST )
+               
+               SET(BOOST_LIBRARIES
+                       ${Boost_LIBRARIES}
                        )
-               ENDIF(USE_DEBUG_LIB)
+# FCY with cmake boost, it's useless. 
+# But if it is not working, uncomment  
+#
+#      IF(USE_DEBUG_LIB)
+#                      SET(BOOST_LIBRARIES
+#                              boost_signals-vc90-mt-gd-1_40
+#                              boost_filesystem-vc90-mt-gd-1_40
+#                              boost_date_time-vc90-mt-gd-1_40                    
+#                         #what about boost_thread? JPR
+#                      )
+#              ELSE(NOT USE_DEBUG_LIB)
+#                      SET(BOOST_LIBRARIES
+#                              boost_signals-vc90-mt-1_40
+#                              boost_filesystem-vc90-mt-1_40
+#                              boost_date_time-vc90-mt-1_40
+#                      )
+#              ENDIF(USE_DEBUG_LIB)    
          ENDIF(WIN32)
       IF(NOT WIN32)
+
                  SET(BOOST_LIBRARIES
                        boost_signals-mt
                        boost_filesystem-mt
@@ -311,13 +328,19 @@ IF(USE_BOOST)
                        )
       ENDIF(NOT WIN32)
 
-      MARK_AS_ADVANCED(Boost_INCLUDE_DIR)
+         MARK_AS_ADVANCED(Boost_INCLUDE_DIR)
+         MARK_AS_ADVANCED(Boost_LIBRARY_DIRS)
+     
     ELSE(Boost_FOUND)
-      MESSAGE(FATAL_ERROR "boost C++ library not found - Set Boost_INCLUDE_DIR to the directory containing boost headers")
+       message(STATUS "2")
+      MESSAGE( "boost C++ library not found - Set Boost_INCLUDE_DIR to the directory containing boost headers")
     ENDIF(Boost_FOUND)
   ENDIF(NOT Boost_FOUND)
+  message("${Boost_FOUND}")
+
 ENDIF(USE_BOOST)
-#-----------------------------------------------------------------------------
+#-----------------------------------------------------------
 
 IF(USE_XERCES)
 
@@ -325,20 +348,20 @@ IF(USE_XERCES)
        IF(WIN32)
        
                SET(XERCES_LIB_DIR $ENV{XERCES_DIR})
-                
+       
                IF(NOT XERCES_LIB_DIR)  
                  MESSAGE(FATAL_ERROR "XERCES_DIR not found")  
                ELSE(NOT XERCES_LIB_DIR)
                  
-               INCLUDE_DIRECTORIES( ${XERCES_LIB_DIR}/src )            
-               LINK_DIRECTORIES(  ${XERCES_LIB_DIR}/Build/Win32/VC9/Debug )
+               INCLUDE_DIRECTORIES( ${XERCES_LIB_DIR}/include )                
+               LINK_DIRECTORIES(  ${XERCES_LIB_DIR}/lib )
                  
                ENDIF(NOT XERCES_LIB_DIR)       
                
                IF(USE_DEBUG_LIB)
-                       set(XERCES_LIBRARIES  ${XERCES_LIB_DIR}/Build/Win32/VC9/Debug/xerces-c_3D)
+                       set(XERCES_LIBRARIES  xerces-c_3D)
                ELSE(USE_DEBUG_LIB)
-                       set(XERCES_LIBRARIES  ${XERCES_LIB_DIR}/Build/Win32/VC9/Release/xerces-c_3)
+                       set(XERCES_LIBRARIES  xerces-c_3)
                ENDIF(USE_DEBUG_LIB)
                
                MARK_AS_ADVANCED(XERCES_LIB_DIR)
@@ -346,18 +369,21 @@ IF(USE_XERCES)
 
 
        IF(UNIX)
-               
-               SET(XERCES_LIBRARIES libxerces-c.so )
-                INCLUDE_DIRECTORIES( /usr/local/include )
-                LINK_DIRECTORIES(  /usr/local/lib ) 
-               #FIND_PACKAGE(Xerces)
-               # Use if found
-               #IF(Xerces_FOUND)
-                #  INCLUDE_DIRECTORIES( ${XERCES_INCLUDE_DIR} ) 
-               #ENDIF(Xerces_FOUND)            
-       ENDIF(UNIX)
-       
-       
+               IF(APPLE)
+                       SET(XERCES_LIBRARIES xerces-c )
+                        INCLUDE_DIRECTORIES( /opt/local/include )
+                        LINK_DIRECTORIES(  /opt/local/lib ) 
+               ELSEIF(APPLE)
+                       SET(XERCES_LIBRARIES libxerces-c.so )
+                        INCLUDE_DIRECTORIES( /usr/local/include )
+                        LINK_DIRECTORIES(  /usr/local/lib /usr/lib) 
+                       #FIND_PACKAGE(Xerces)
+                       # Use if found
+                       #IF(Xerces_FOUND)
+                        #  INCLUDE_DIRECTORIES( ${XERCES_INCLUDE_DIR} ) 
+                       #ENDIF(Xerces_FOUND)            
+               ENDIF(APPLE)
+       ENDIF(UNIX)     
   
 ENDIF(USE_XERCES)