]> Creatis software - creaImageIO.git/blobdiff - CMakeLists.txt
revert to GDCM as default
[creaImageIO.git] / CMakeLists.txt
index dc4a57d6fb196852c9f377804d97f9a4b9517bdc..45c9c982b290035883ce4d6df65933a700290b9a 100644 (file)
@@ -1,25 +1,66 @@
+#
+# Test CMake version
+#
+
 CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
 
+#MARK_AS_ADVANCED( FORCE CMAKE_BACKWARDS_COMPATIBILITY )
+# for CMake 2.6 corrected behaviour (see "cmake --help-policy CMP0003")
+IF(COMMAND cmake_policy AND ${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 4)
+  CMAKE_POLICY(SET CMP0003 NEW)
+  CMAKE_POLICY(SET CMP0005 NEW)
+  CMAKE_POLICY(SET CMP0011 NEW)
+ENDIF(COMMAND cmake_policy AND ${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} GREATER 4)
+
+
 PROJECT(creaImageIO)
 
 SET(PROJECT_MAJOR_VERSION 0)
 SET(PROJECT_MINOR_VERSION 2)
-SET(PROJECT_BUILD_VERSION 1)
+SET(PROJECT_BUILD_VERSION 5)
 SET(CREA_VERBOSE_CMAKE TRUE)
 
 FIND_PACKAGE(crea REQUIRED)
 IF (crea_FOUND)
   INCLUDE(${crea_USE_FILE})
+
 ENDIF(crea_FOUND)
 
-SET(USE_GDCM ON)
-#SET(USE_GDCM2 ON)
+
+message("link directory ${GDCM_INCLUDE_DIR}")
+
+
 SET(USE_GDCM_VTK ON)
-SET(USE_WXWIDGETS ON)
+
 SET(USE_VTK ON)
 SET(USE_ITK OFF)
 SET(USE_BOOST ON)
+OPTION(USE_WXWIDGETS "Use WxWidgets GUI" ON)
+OPTION(USE_QT4 "USE QT4GUI"       OFF)
+OPTION(USE_XERCES "USE Xerces if you want to use an beta version of outputModel" OFF)
+OPTION(USE_INSTALL_APP "install only useful applications" ON)
 
+IF(USE_QT4)
+       IF(USE_WXWIDGETS)
+                MESSAGE(ERROR "CANNOT USE QT WXWIDGETS IN SAME TIME")
+       ENDIF(USE_WXWIDGETS)
+ENDIF(USE_QT4)
+                
+IF(QT4_FOUND)
+ IF (WIN32)
+ MESSAGE("So ... ${QT_DIR}")
+               INCLUDE_DIRECTORIES(${QT_DIR}/../include)               
+               LINK_DIRECTORIES(${QT_DIR}/../lib)
+ ENDIF(WIN32)
+ENDIF(QT4_FOUND)
+                
+OPTION(USE_GDCM "Use gdcm 1.3" ON)
+OPTION(USE_GDCM2 "Use gdcm 2.0.14 at least" OFF)
+ MESSAGE(STATUS "GDCM LIB ....= ${GDCM_LIBRARIES}")
+IF(USE_GDCM2)
+       OPTION(USE_GDCM_ANOM "use gdcm2 anonymizer tool" OFF)
+       #TO DO TEST IF GDCM_USE_SYSTEM_OPENSSL is valid
+ENDIF(USE_GDCM2)
 CREA_FIND_AND_USE_LIBRARIES()
 
 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
@@ -31,31 +72,53 @@ MARK_AS_ADVANCED(
   )
 
 IF(WIN32)
-INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/win32)
-LINK_DIRECTORIES(${PROJECT_SOURCE_DIR}/win32)
+       IF(MSVC AND CMAKE_SIZEOF_VOID_P MATCHES 4)
+               INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/win32)
+               LINK_DIRECTORIES(${PROJECT_SOURCE_DIR}/win32)
+       endif()
+       IF(MSVC AND CMAKE_SIZEOF_VOID_P MATCHES 8)
+               INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/win64)
+               LINK_DIRECTORIES(${PROJECT_SOURCE_DIR}/win64)
+       endif()
 ENDIF(WIN32)
 
-
-OPTION(BUILD_V2 "Build Version 2 ?" OFF) 
-
-IF (BUILD_V2)
-  SET(LIBNAME creaImageIO2)
-  INCLUDE_DIRECTORIES(
-    ${PROJECT_BINARY_DIR}
-    ${PROJECT_SOURCE_DIR}/src2
-    )
-  SUBDIRS(src2)
-ELSE (BUILD_V2)
-  SET(LIBNAME creaImageIO)
-  INCLUDE_DIRECTORIES(
+SET(LIBNAME creaImageIO)
+       INCLUDE_DIRECTORIES(
     ${PROJECT_BINARY_DIR}
     ${PROJECT_SOURCE_DIR}/src
     )
-  SUBDIRS(src)
-ENDIF (BUILD_V2)
+ADD_SUBDIRECTORY(src)
+
+
+OPTION(BUILD_CREA_BRUKER "Build creaIRM with creaBruker?" ON)
 
+IF (BUILD_CREA_BRUKER)
+       FIND_PACKAGE(creaBruker REQUIRED)
+       IF (creaBruker_FOUND)
+               INCLUDE(${creaBruker_USE_FILE})
+               CREA_DEFINE(BUILD_BRUKER)
+       ENDIF(creaBruker_FOUND)
+ENDIF (BUILD_CREA_BRUKER)
+
+
+# To Use PACS connection library
+OPTION(BUILD_CREA_PACS "Build creaImageIO with PACS connection library ?" OFF)
+IF (BUILD_CREA_PACS)
+       CREA_DEFINE(BUILD_PACS)
+ENDIF(BUILD_CREA_PACS)
 
 #
-SUBDIRS(appli)
-SUBDIRS(bbtk)
-SUBDIRS(install)
+ADD_SUBDIRECTORY(appli)
+ADD_SUBDIRECTORY(bbtk)
+ADD_SUBDIRECTORY(tests)
+
+IF(MSVC AND CMAKE_SIZEOF_VOID_P MATCHES 4)
+       ADD_SUBDIRECTORY(win32)
+endif()
+IF(MSVC AND CMAKE_SIZEOF_VOID_P MATCHES 8)
+       ADD_SUBDIRECTORY(win64)
+endif()
+
+ADD_SUBDIRECTORY(install)
+
+ENABLE_TESTING()