]> Creatis software - creaImageIO.git/blobdiff - CMakeLists.txt
#3185 creaImageIO Feature New Normal - Clean code
[creaImageIO.git] / CMakeLists.txt
index 5532c133afe3f14ecfeb21a53feb6c72b3188729..4251d0a5f6b3f32b04aa12b52dac153826db3b15 100644 (file)
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
+#                        pour la Santé)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+# Previous Authors : Laurent Guigues, Jean-Pierre Roux
+# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+#
+#  This software is governed by the CeCILL-B license under French law and 
+#  abiding by the rules of distribution of free software. You can  use, 
+#  modify and/ or redistribute the software under the terms of the CeCILL-B 
+#  license as circulated by CEA, CNRS and INRIA at the following URL 
+#  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
+#  or in the file LICENSE.txt.
+#
+#  As a counterpart to the access to the source code and  rights to copy,
+#  modify and redistribute granted by the license, users are provided only
+#  with a limited warranty  and the software's author,  the holder of the
+#  economic rights,  and the successive licensors  have only  limited
+#  liability. 
+#
+#  The fact that you are presently reading this means that you have had
+#  knowledge of the CeCILL-B license and that you accept its terms.
+# ------------------------------------------------------------------------
+
+#
+# Test CMake version
 CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
 
-PROJECT(creaImageIO)
+#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)
 
-SET(PROJECT_MAJOR_VERSION 0)
-SET(PROJECT_MINOR_VERSION 2)
-SET(PROJECT_BUILD_VERSION 3)
+###################################
+PROJECT(creaImageIO)
+###################################
+
+#-----------------------------------------------------------------------------
+# Configure Dart testing support.  This should be done before any
+# MESSAGE(FATAL_ERROR ...) commands are invoked.
+IF(INCLUDE_CTEST)
+  INCLUDE(CTest)
+  ENABLE_TESTING()
+ENDIF(INCLUDE_CTEST)
+IF(BUILD_TESTING)
+  SET(BUILDNAME "${BUILDNAME}" CACHE STRING "Name of build on the dashboard")
+  MARK_AS_ADVANCED(BUILDNAME)
+ENDIF(BUILD_TESTING)
+#-----------------------------------------------------------------------------
+
+#==================================
+# The project version
+SET(PROJECT_MAJOR_VERSION 1)
+SET(PROJECT_MINOR_VERSION 0)
+SET(PROJECT_BUILD_VERSION 0)
 SET(CREA_VERBOSE_CMAKE TRUE)
 
+# JPR 4 mars 2011
+set (CMAKE_MODULE_PATH ${CMAKE_INSTALL_PREFIX}/share/cmake/Module)
+
+#==================================
+# Find crea (mandatory, to use macros)
 FIND_PACKAGE(crea REQUIRED)
 IF (crea_FOUND)
   INCLUDE(${crea_USE_FILE})
 ENDIF(crea_FOUND)
+#==================================
+
+#==================================
+# Do not allow to build inside the source tree
+CREA_PREVENT_IN_SOURCE_BUILD()
+#==================================
+
+
+# For boost 1.46 troubles...  // JPR.
+add_definitions(-DBOOST_FILESYSTEM_VERSION=3)
 
-SET(USE_GDCM ON)
-#SET(USE_GDCM2 ON)
 SET(USE_GDCM_VTK ON)
 
 SET(USE_VTK ON)
-SET(USE_ITK OFF)
-SET(USE_BOOST ON)
 
+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)
+#
+# ----------------- manual setting GDCM/GDCM2 JPR
+#               
+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)
+OPTION(USE_ITK "use ITK" ON)
 CREA_FIND_AND_USE_LIBRARIES()
 
 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
@@ -30,29 +124,37 @@ MARK_AS_ADVANCED(
   LIBRARY_OUTPUT_PATH
   )
 
+##EED 04juin203
+##EED IF(WIN32)
+##EED  IF(MSVC AND CMAKE_SIZEOF_VOID_P MATCHES 4)
+##EED          INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/win32)
+##EED          LINK_DIRECTORIES(${PROJECT_SOURCE_DIR}/win32)
+##EED  endif()
+##EED  IF(MSVC AND CMAKE_SIZEOF_VOID_P MATCHES 8)
+##EED          INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/win64)
+##EED          LINK_DIRECTORIES(${PROJECT_SOURCE_DIR}/win64)
+##EED  endif()
+##EED ENDIF(WIN32)
+
+##EED SQLite
+##EED  mechanisme FIND_PACKAGE(SQLite)   missing ...
 IF(WIN32)
-INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/win32)
-LINK_DIRECTORIES(${PROJECT_SOURCE_DIR}/win32)
+   set (SQLITE_DIR $ENV{SQLITE_DIR})
+   IF(DEFINED SQLITE_DIR)
+     INCLUDE_DIRECTORIES(${SQLITE_DIR}/include)
+     LINK_DIRECTORIES(${SQLITE_DIR}/lib)
+   ELSE()
+      MESSAGE(FATAL_ERROR  "System variable SQLITE_DIR not defined.")
+   ENDIF()
 ENDIF(WIN32)
 
 
-OPTION(BUILD_V2 "Build Version 2 ?" ON) 
-
-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)
@@ -72,8 +174,26 @@ IF (BUILD_CREA_PACS)
        CREA_DEFINE(BUILD_PACS)
 ENDIF(BUILD_CREA_PACS)
 
-#
-SUBDIRS(appli)
-SUBDIRS(bbtk)
-SUBDIRS(win32)
-SUBDIRS(install)
+#==================================
+# Subdirs
+
+ADD_SUBDIRECTORY(appli)
+ADD_SUBDIRECTORY(bbtk)
+
+#EED 31/05/2011   not compiling 
+#ADD_SUBDIRECTORY(tests)
+
+##EED 04juin203
+##EED IF(MSVC AND CMAKE_SIZEOF_VOID_P MATCHES 4)
+##EED  ADD_SUBDIRECTORY(win32)
+##EED endif()
+##EED IF(MSVC AND CMAKE_SIZEOF_VOID_P MATCHES 8)
+##EED  ADD_SUBDIRECTORY(win64)
+##EED endif()
+
+ADD_SUBDIRECTORY(install)
+#==================================
+
+
+#EED 31/05/2011   not compiling 
+#ENABLE_TESTING()