X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=CMakeLists.txt;h=6dd3eb4ddb781aee897c73f3aea7693e77e84b90;hb=b656ad459e724b1e5302f7907a6b84a54285131e;hp=66c9894cf4daaf4ddd570e376ba75293ce5bed6f;hpb=684add23b4f64cb3c6e39e12a4af20d2c2500df6;p=creaImageIO.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 66c9894..6dd3eb4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,28 +1,84 @@ +# +# 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) +################################### + +#================================== +# The project version +SET(PROJECT_MAJOR_VERSION 0) +SET(PROJECT_MINOR_VERSION 2) +SET(PROJECT_BUILD_VERSION 5) +SET(CREA_VERBOSE_CMAKE TRUE) -SET(crea_VERBOSE_FIND_LIBRARY 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) +#================================== -crea_DEFINE( MY_DEFINITION ) -crea_DEFINE_WITH_VAL( MY_OTHER_DEFINITION TOTO) +#================================== +# Do not allow to build inside the source tree +CREA_PREVENT_IN_SOURCE_BUILD() +#================================== +message("link directory ${GDCM_INCLUDE_DIR} ?!? ") -SET(PROJECT_MAJOR_VERSION 1) -SET(PROJECT_MINOR_VERSION 0) -SET(PROJECT_BUILD_VERSION 0) +# For boost 1.46 troubles... // JPR. +add_definitions(-DBOOST_FILESYSTEM_VERSION=2) -SET(USE_GDCM ON) SET(USE_GDCM_VTK ON) -SET(USE_WXWIDGETS ON) + SET(USE_VTK ON) + SET(USE_BOOST ON) -SET(USE_SQLITE3 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) -INCLUDE(${crea_CMAKE_DIR}/FindAndUseLibraries.cmake) +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() +message ("itk libs : ${ITK_LIBRARIES}") SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}) SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}) @@ -32,18 +88,61 @@ MARK_AS_ADVANCED( LIBRARY_OUTPUT_PATH ) -# Includes -INCLUDE_DIRECTORIES( -# ${PROJECT_BINARY_DIR} - ${PROJECT_SOURCE_DIR}/src - ) - 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) -SUBDIRS(src) -SUBDIRS(appli) -#SUBDIRS(bbtk) +SET(LIBNAME creaImageIO) + INCLUDE_DIRECTORIES( + ${PROJECT_BINARY_DIR} + ${PROJECT_SOURCE_DIR}/src + ) +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 + +ADD_SUBDIRECTORY(appli) +ADD_SUBDIRECTORY(bbtk) + +#EED 31/05/2011 not compiling +#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) +#================================== + +#EED 31/05/2011 not compiling +#ENABLE_TESTING()