X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=CMakeLists.txt;h=4251d0a5f6b3f32b04aa12b52dac153826db3b15;hb=HEAD;hp=931f7e59093da3f29b77d15efd041672004794e9;hpb=7ca5b25a73bb296c395c810af83332d8af1eed1c;p=creaImageIO.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 931f7e5..4251d0a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,25 +1,119 @@ +# --------------------------------------------------------------------- +# +# 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 2) +################################### +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_WXWIDGETS 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,32 +124,40 @@ 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?" OFF) +OPTION(BUILD_CREA_BRUKER "Build creaIRM with creaBruker?" ON) IF (BUILD_CREA_BRUKER) FIND_PACKAGE(creaBruker REQUIRED) @@ -70,9 +172,28 @@ ENDIF (BUILD_CREA_BRUKER) OPTION(BUILD_CREA_PACS "Build creaImageIO with PACS connection library ?" OFF) IF (BUILD_CREA_PACS) CREA_DEFINE(BUILD_PACS) -ENDIF(BUID_CREA_PACS) +ENDIF(BUILD_CREA_PACS) -# -SUBDIRS(appli) -SUBDIRS(bbtk) -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()