X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=CMakeLists.txt;h=9bf969e28f4cccc05e138e5d07913a4000a179b9;hb=74fccf1190246de80a78735ce73b783c488d1113;hp=78c596a1d04323d7ba17e3d32e61291c25f4cd1d;hpb=f510f47e2bd7f426558340f1a62c9ab1bd39a00d;p=gdcm.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 78c596a1..9bf969e2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,18 +5,10 @@ CMAKE_MINIMUM_REQUIRED(VERSION 1.8) # GDCM version number, usefull for packaging and doxygen doc: SET(GDCM_VERSION_MAJOR 0) SET(GDCM_VERSION_MINOR 4) -SET(GDCM_VERSION_PATCH 0) +SET(GDCM_VERSION_PATCH 1) SET(GDCM_VERSION "${GDCM_VERSION_MAJOR}.${GDCM_VERSION_MINOR}") SET(GDCM_VERSION_FULL "${GDCM_VERSION}.${GDCM_VERSION_PATCH}") -#----------------------------------------------------------------------------- -# Output directories. -SET (LIBRARY_OUTPUT_PATH ${GDCM_SOURCE_DIR}/lib CACHE PATH "Single output directory for building all libraries.") -SET (EXECUTABLE_OUTPUT_PATH ${GDCM_SOURCE_DIR}/lib CACHE PATH "Single output directory for building all executables.") -MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH) -SET(GDCM_LIBRARY_PATH "${LIBRARY_OUTPUT_PATH}") -SET(GDCM_EXECUTABLE_PATH "${EXECUTABLE_OUTPUT_PATH}") - #----------------------------------------------------------------------------- # datadir in CMake: SET(GDCM_DATA_DIR "/share/gdcm/" CACHE INTERNAL @@ -28,8 +20,13 @@ MARK_AS_ADVANCED(GDCM_DATA_DIR) OPTION(BUILD_SHARED_LIBS "Build GDCM with shared libraries." ON) SET(GDCM_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS}) -#INCLUDE_DIRECTORIES( -#) + +#----------------------------------------------------------------------------- +SET (EXECUTABLE_OUTPUT_PATH ${GDCM_BINARY_DIR}/bin CACHE PATH "Single output directory for building all executables.") +SET (LIBRARY_OUTPUT_PATH ${GDCM_BINARY_DIR}/bin CACHE PATH "Single output directory for building all libraries.") +#MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH) +#SET(GDCM_LIBRARY_PATH "${LIBRARY_OUTPUT_PATH}") +#SET(GDCM_EXECUTABLE_PATH "${EXECUTABLE_OUTPUT_PATH}") #----------------------------------------------------------------------------- # Build directory on which many applications depend @@ -37,67 +34,81 @@ SUBDIRS( src Dicts Test + Example ) #----------------------------------------------------------------------------- -# Search VTK -FIND_PACKAGE(VTK) -# If vtk found -IF(VTK_FOUND) - OPTION(GDCM_VTK "Build VTK-GDCM Lib." OFF) - IF(GDCM_VTK) - INCLUDE(${VTK_USE_FILE}) - SUBDIRS(vtk) - ENDIF(GDCM_VTK) -ENDIF(VTK_FOUND) +# Adding GDCM_DATA_ROOT +FIND_PATH(GDCM_DATA_ROOT gdcm-ACR-LibIDO.acr + ${GDCM_SOURCE_DIR}/../gdcmData + $ENV{GDCM_DATA} + $ENV{PUB_DICT_PATH}/../../gdcmData +) #----------------------------------------------------------------------------- -# Search Python libs: -FIND_PACKAGE(PythonLibs) -# If PythonLibs found -IF(PYTHON_LIBRARY) - OPTION(GDCM_WRAP_PYTHON "Wrap GDCM classes into the Python language." OFF) - #if wrapping enable - IF(GDCM_WRAP_PYTHON) - SUBDIRS(gdcmPython) - ENDIF(GDCM_WRAP_PYTHON) -ENDIF(PYTHON_LIBRARY) +# Set the place for the public dictionary +SET( GDCM_PUB_DICT_PATH "${CMAKE_INSTALL_PREFIX}${GDCM_DATA_DIR}") -#----------------------------------------------------------------------------- -# Search Doxygen: -FIND_PACKAGE(Doxygen) -IF(DOXYGEN) - OPTION(GDCM_DOXYGEN "Build source documentation using doxygen." OFF) - # if doxygen enable - IF(GDCM_DOXYGEN) - SUBDIRS(Doc) - ENDIF(GDCM_DOXYGEN) -ENDIF(DOXYGEN) +# SunOS + old gcc fixes: +INCLUDE (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityCXX.cmake) +IF(CMAKE_NO_ANSI_STRING_STREAM) + SET(GDCM_NO_ANSI_STRING_STREAM 1) +ENDIF(CMAKE_NO_ANSI_STRING_STREAM) + +INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake) +CHECK_INCLUDE_FILE("stdint.h" CMAKE_HAVE_STDINT_H) + +IF(NOT CMAKE_HAVE_STDINT_H) + SET(GDCM_HAVE_NO_STDINT_H 1) +ENDIF(NOT CMAKE_HAVE_STDINT_H) + +CONFIGURE_FILE(${GDCM_SOURCE_DIR}/gdcmConfigure.h.in + ${GDCM_BINARY_DIR}/gdcmConfigure.h @ONLY IMMEDIATE) + +INSTALL_FILES(/include .h gdcmConfigure.h) #----------------------------------------------------------------------------- -# Configure files with settings for use by the build. +# Add the testing directories +OPTION(GDCM_BUILD_TESTING "Test the project" ON) +IF(GDCM_BUILD_TESTING) + ENABLE_TESTING() + INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake) + SUBDIRS(Test) +ENDIF(GDCM_BUILD_TESTING) -# to be rewritten to include only the necessary -#CONFIGURE_FILE(${GDCM_SOURCE_DIR}/UseGdcm.cmake.in -# ${GDCM_BINARY_DIR}/UseGdcm.cmake COPYONLY IMMEDIATE) +#----------------------------------------------------------------------------- +OPTION(GDCM_VTK "Build VTK-GDCM Lib." OFF) +IF(GDCM_VTK) + # Search VTK + FIND_PACKAGE(VTK) + # If vtk found + IF(VTK_FOUND) + INCLUDE(${VTK_USE_FILE}) + SUBDIRS(vtk) + ENDIF(VTK_FOUND) +ENDIF(GDCM_VTK) #----------------------------------------------------------------------------- -# Copy / paste from old m4 script: - -# EXTRA_DIST = \ -# AUTHORS \ -# ChangeLog \ -# COPYING \ -# INSTALL \ -# NEWS \ -# README \ -# TODO \ -# gdcm.spec \ -# gdcm.dsw - -#release: -# $(MAKE) dist distdir=$(PACKAGE)-$(VERSION) - -#snapshot: -# $(MAKE) dist distdir=$(PACKAGE)`date +"%y%m%d"` +OPTION(GDCM_WRAP_PYTHON "Wrap GDCM classes into the Python language." OFF) +#if wrapping enable +IF(GDCM_WRAP_PYTHON) + # Search Python libs: + FIND_PACKAGE(PythonLibs) + # If PythonLibs found + IF(PYTHON_LIBRARY) + SUBDIRS(gdcmPython) + ENDIF(PYTHON_LIBRARY) +ENDIF(GDCM_WRAP_PYTHON) + +#----------------------------------------------------------------------------- +OPTION(GDCM_DOXYGEN "Build source documentation using doxygen." OFF) +# if doxygen enable +IF(GDCM_DOXYGEN) + # Search Doxygen: + FIND_PACKAGE(Doxygen) + IF(DOXYGEN) + SUBDIRS(Doc) + ENDIF(DOXYGEN) +ENDIF(GDCM_DOXYGEN) +