]> Creatis software - crea.git/blobdiff - cmake/CREAMacro_FindAndUseLibraries.cmake
Fix misstyping
[crea.git] / cmake / CREAMacro_FindAndUseLibraries.cmake
index 668dadce32e7565ab6b3efaf7885a397fed19de3..b6935c28d3f12416099c405e0a8ea2bccde63149 100644 (file)
@@ -1,6 +1,8 @@
 
 
 MACRO(CREA_FIND_AND_USE_LIBRARIES)
+#MESSAGE(ERROR "EED CREAMacrp_FindAndUseLibraries")
+set(USE_DEBUG_LIB "" CACHE BOOL "Use Debug Libraries" )
 
 #-----------------------------------------------------------------------------
 # If one can invoke this macro then crea has already been found !!
@@ -120,13 +122,13 @@ IF(USE_GDCM)
     IF(GDCM_FOUND)
       INCLUDE(${GDCM_USE_FILE})
       CREA_DEFINE( USE_GDCM )
-      
+
       MESSAGE ( STATUS "=======================================")
       MESSAGE ( STATUS "Looking for GDCM... found")
       MESSAGE ( STATUS "* Dir       = ${GDCM_DIR}")
       MESSAGE ( STATUS "* Version   = ${GDCM_MAJOR_VERSION}.${GDCM_MINOR_VERSION}.${GDCM_BUILD_VERSION}")
       MESSAGE ( STATUS "* Namespace = ${GDCM_NAME_SPACE}")
-      
+
       # 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)
@@ -134,13 +136,13 @@ IF(USE_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)
-      
+
       SET(GDCM_LIBRARIES
         ${GDCM_LIBRARIES} 
        )
-      
+
       # TODO : Test that GDCM was built with option "vtkgdcm"
       IF(USE_GDCM_VTK)
        IF(USE_VTK)
@@ -155,22 +157,18 @@ IF(USE_GDCM)
   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 "=======================================")
@@ -181,39 +179,36 @@ 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)
-      
-      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  
+            vtkgdcm
+                       gdcm2vtk
             )
        ENDIF(USE_VTK)
       ENDIF(USE_GDCM_VTK)
       
-    ENDIF(GDCM_FOUND)
-  ENDIF(NOT GDCM_FOUND)
+
 ENDIF(USE_GDCM2)
 
+
+
+#-----------------------------------------------------------------------------
+
 #-----------------------------------------------------------------------------
 
 #-----------------------------------------------------------------------------
 IF(USE_WXWIDGETS)
   IF(NOT wxWidgets_FOUND)
     INCLUDE(${CREA_CMAKE_DIR}/CREAMacro_FindAndUseWxWidgets.cmake)
-    CREA_FIND_WXWIDGETS()
+    CREA_FIND_WXWIDGETS(${USE_DEBUG_LIB})
     CREA_USE_WXWIDGETS()
   ENDIF(NOT wxWidgets_FOUND)
 ENDIF(USE_WXWIDGETS)
@@ -237,11 +232,14 @@ 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_FOUND)
+                   MESSAGE(FATAL_ERROR "LATEX_COMPILER NOT FOUND. Example:latex  (MacOS:/opt/local/bin/latex)")
+                ENDIF (NOT LATEX_FOUND)
        ENDIF (NOT LATEX_COMPILER)
   
 ENDIF(USE_LATEX) 
@@ -266,80 +264,94 @@ ENDIF(USE_TTH)
 #-----------------------------------------------------------------------------
 IF(USE_BOOST)
   IF(NOT Boost_FOUND)
-  
-    find_package( Boost 1.37.0 COMPONENTS signals date_time filesystem system )
-
-   IF(Boost_FOUND)
-        MESSAGE ( STATUS "=======================================")
-        MESSAGE ( STATUS "Looking for boost C++ library... - found in ${Boost_INCLUDE_DIR}")
-        INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})      
-        LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS} )
-          #target_link_libraries(${Boost_LIBRARIES})
-        ELSE(Boost_FOUND)
-        MESSAGE(FATAL_ERROR "boost C++ library not found - Set Boost_INCLUDE_DIR to the directory containing boost headers")
-     ENDIF(Boost_FOUND)  
-      # CREA_DEFINE( USE_BOOST )
-#      include_directories(${Boost_INCLUDE_DIRS})
-  #    add_executable(foo foo.cc)
- #     target_link_libraries(foo ${Boost_LIBRARIES})
-  # endif()
-    # FIND_PACKAGE(Boost REQUIRED)
-    # IF(Boost_FOUND)
-      # 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 )
-         # IF(WIN32)
+    FIND_PACKAGE(Boost REQUIRED)
+    IF(Boost_FOUND)
+      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 )
+         IF(WIN32)
                
-               # LINK_DIRECTORIES( ${Boost_INCLUDE_DIRS}/stage/lib) #JCP 01/10/2009
-               # #LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS})
-               # #MESSAGE ("EED " ${Boost_LIBRARY_DIRS})
-               # #libboost_signals-vc71-mt-1_37
-               # #libboost_filesystem-vc71-mt-1_37
-               # #boost_date_time-vc71-mt-1_37
-       
-               # #message("creamacro find and use lib = ${Boost_SIGNALS_LIBRARY}")
-               # SET(BOOST_LIBRARIES
-                               # boost_signals-vc90-mt-1_40
-                # boost_filesystem-vc90-mt-1_40
-                # boost_date_time-vc90-mt-1_40
-                  
-                  # #what about boost_thread? JPR
-           # )
-         # ENDIF(WIN32)
-      # IF(NOT WIN32)
-       # IF(APPLE)
-                 # SET(BOOST_LIBRARIES
-                       # boost_signals
-                       # boost_filesystem
-                               # boost_date_time
-                       # boost_program_options
-                       # boost_regex
-                       # boost_thread
-                       # )
-       # ELSE(NOT APPLE)
-                 # SET(BOOST_LIBRARIES
-                       # boost_signals-mt
-                       # boost_filesystem-mt
-                       # boost_date_time-mt
-                               # boost_system-mt
-                       # boost_program_options-mt
-                       # boost_regex-mt
-                       # boost_thread-mt           
-                       # )
-       # ENDIF(APPLE)  
-      # ENDIF(NOT WIN32)
-         
-      # MARK_AS_ADVANCED(Boost_INCLUDE_DIR)
-    # ELSE(Boost_FOUND)
-      # MESSAGE(FATAL_ERROR "boost C++ library not found - Set Boost_INCLUDE_DIR to the directory containing boost headers")
-    # ENDIF(Boost_FOUND)
+               LINK_DIRECTORIES( ${Boost_INCLUDE_DIRS}/Bin/lib) 
+               #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
+                       )
+               ENDIF(USE_DEBUG_LIB)
+         ENDIF(WIN32)
+      IF(NOT WIN32)
+                 SET(BOOST_LIBRARIES
+                       boost_signals-mt
+                       boost_filesystem-mt
+                       boost_date_time-mt
+                       boost_system-mt
+                       boost_program_options-mt
+                       boost_regex-mt
+                       boost_thread-mt     
+                       )
+      ENDIF(NOT WIN32)
+
+      MARK_AS_ADVANCED(Boost_INCLUDE_DIR)
+    ELSE(Boost_FOUND)
+      MESSAGE(FATAL_ERROR "boost C++ library not found - Set Boost_INCLUDE_DIR to the directory containing boost headers")
+    ENDIF(Boost_FOUND)
   ENDIF(NOT Boost_FOUND)
 ENDIF(USE_BOOST)
 #-----------------------------------------------------------------------------
 
+IF(USE_XERCES)
+
+       # FIND 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 )
+                 
+               ENDIF(NOT XERCES_LIB_DIR)       
+               
+               IF(USE_DEBUG_LIB)
+                       set(XERCES_LIBRARIES  ${XERCES_LIB_DIR}/Build/Win32/VC9/Debug/xerces-c_3D)
+               ELSE(USE_DEBUG_LIB)
+                       set(XERCES_LIBRARIES  ${XERCES_LIB_DIR}/Build/Win32/VC9/Release/xerces-c_3)
+               ENDIF(USE_DEBUG_LIB)
+               
+               MARK_AS_ADVANCED(XERCES_LIB_DIR)
+       ENDIF(WIN32)
+
+
+       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)
+       
+       
+  
+ENDIF(USE_XERCES)
+
 
 ENDMACRO(CREA_FIND_AND_USE_LIBRARIES)