MACRO(CREA_FIND_AND_USE_LIBRARIES)
+IF(INCLUDE_CTEST)
+ include(CTest)
+ENDIF(INCLUDE_CTEST)
+
+
+set(USE_DEBUG_LIB "" CACHE BOOL "Use Debug Libraries" )
+
#-----------------------------------------------------------------------------
# If one can invoke this macro then crea has already been found !!
# However if one whishes to link against crea and crea was built
#-----------------------------------------------------------------------------
IF(USE_QT4)
- IF(NOT QT_FOUND)
- FIND_PACKAGE(Qt4 REQUIRED)
+ IF(NOT QT_FOUND)
+
+ INCLUDE(${CREA_CMAKE_DIR}/CREAMacro_FindAndUseQt.cmake)
+ #FIND_PACKAGE(Qt4 REQUIRED)
+
IF(QT_FOUND)
MESSAGE ( STATUS "=======================================")
MESSAGE ( STATUS "Looking for QT4... found")
MESSAGE ( STATUS "* Inc Dir = ${QT_INCLUDE_DIR}")
MESSAGE ( STATUS "* Version = ${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}")
INCLUDE(${QT_USE_FILE})
+
CREA_DEFINE( USE_QT )
# SET(QT_LIBRARIES
# ${QT_LIBRARIES}
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)
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)
)
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 "=======================================")
# 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
- )
+ 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)
+
+
+#-----------------------------------------------------------------------------
+
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
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)
#-----------------------------------------------------------------------------
IF(USE_LATEX)
- IF (NOT LATEX_COMPILER)
- FIND_PACKAGE(LATEX REQUIRED)
- MESSAGE ( STATUS "=======================================")
- MESSAGE(STATUS "Looking for latex... - found ${LATEX_COMPILER}")
- ENDIF (NOT LATEX_COMPILER)
+ 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)
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
IF(USE_TTH)
IF (NOT TTH_EXECUTABLE)
- FIND_FILE( TTH_EXECUTABLE NAME tth tth.exe PATHS . $ENV{CREATIS}/tth_exe/ ~/Creatis/tth ~/Creatis/tth_linux)
+ FIND_FILE( TTH_EXECUTABLE NAME tth tth.exe PATHS . $ENV{CREATIS}/tth_exe/ ~/Creatis/tth ~/Creatis/tth_linux $ENV{TTH})
+
IF (NOT TTH_EXECUTABLE)
MESSAGE(FATAL_ERROR "TTH not found (LATEX_tth_CONVERTER). Required to build the HTML documentation from tex source")
ELSE (NOT TTH_EXECUTABLE)
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 )
+ INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
+ LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS})
+ IF(WIN32)
+ message("creamacro find and use lib = ${Boost_LIBRARIES}")
+
+
+ CREA_DEFINE( USE_BOOST )
+
+ SET(BOOST_LIBRARIES
+ ${Boost_LIBRARIES}
+ )
+# 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)
- IF(NOT APPLE)
- SET(BOOST_LIBRARIES
- boost_signals
- boost_filesystem
- boost_date_time
- boost_program_options
- )
- ELSE(NOT APPLE)
- SET(BOOST_LIBRARIES
- boost_signals-mt
- boost_filesystem-mt
- boost_date_time-mt
- boost_system-mt
- boost_program_options-mt
- )
- ENDIF(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(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)
+
+ # 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}/include )
+ LINK_DIRECTORIES( ${XERCES_LIB_DIR}/lib )
+
+ ENDIF(NOT XERCES_LIB_DIR)
+
+ IF(USE_DEBUG_LIB)
+ set(XERCES_LIBRARIES xerces-c_3D)
+ ELSE(USE_DEBUG_LIB)
+ set(XERCES_LIBRARIES xerces-c_3)
+ ENDIF(USE_DEBUG_LIB)
+
+ MARK_AS_ADVANCED(XERCES_LIB_DIR)
+ ENDIF(WIN32)
+
+
+ IF(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)
ENDMACRO(CREA_FIND_AND_USE_LIBRARIES)