X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=CMakeLists.txt;h=38495bcf767a7ae0620c5aa4b91d4757d8010580;hb=fc845cfade351c5d9cf0aba8684e6a0ab93e9faa;hp=4433fd5f6c2732a7cddf18f4281ebedb8f4d5143;hpb=6ab7853638f8dc05d71f7c6ce2adb4f161d863cd;p=gdcm.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 4433fd5f..38495bcf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ 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}") @@ -18,46 +18,57 @@ MARK_AS_ADVANCED(GDCM_DATA_DIR) #----------------------------------------------------------------------------- # Build shared lib by default OPTION(BUILD_SHARED_LIBS "Build GDCM with shared libraries." ON) -SET(GDCM_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS}) -SET(CMAKE_CONFIGURATION_TYPES - Debug - Release -) -SET(CMAKE_BUILD_TYPE_INIT Debug) - -# Deals with problem on SunOS: -# ostrstream vs. ostringstream - -#SET(GDCM_NO_ANSI_STRING_STREAM -# ${CMAKE_NO_ANSI_STRING_STREAM} -#) -#CONFIGURE_FILE(${GDCM_SOURCE_DIR}/src/gdcmCommon.h.in -# ${GDCM_BINARY_DIR}/src/gdcmCommon.h @ONLY IMMEDIATE) +OPTION(GDCM_DEBUG "Turn verbosity of some statement ON." OFF) #----------------------------------------------------------------------------- -# Output directories. -#Put all stuff in one single dir for Win32, otherwise dll are a pain: -IF(WIN32 AND GDCM_BUILD_SHARED_LIBS) - SET(OUTPUT_LIB_DIR ${GDCM_SOURCE_DIR}/bin) -ELSE(WIN32 AND GDCM_BUILD_SHARED_LIBS) - SET(OUTPUT_LIB_DIR ${GDCM_SOURCE_DIR}/lib) -ENDIF(WIN32 AND GDCM_BUILD_SHARED_LIBS) - -SET (EXECUTABLE_OUTPUT_PATH ${GDCM_SOURCE_DIR}/bin CACHE PATH "Single output directory for building all executables.") -SET (LIBRARY_OUTPUT_PATH ${OUTPUT_LIB_DIR} CACHE PATH "Single output directory for building all libraries.") +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 SUBDIRS( src Dicts - Test + Example ) +#----------------------------------------------------------------------------- +# 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 +) + +# Set the place for the public dictionary, must be set before gdcmConfigure.h +SET( GDCM_PUB_DICT_PATH "${CMAKE_INSTALL_PREFIX}${GDCM_DATA_DIR}") + +#----------------------------------------------------------------------------- +# 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) + +CONFIGURE_FILE(${GDCM_SOURCE_DIR}/gdcmConfigure.h.in + ${GDCM_BINARY_DIR}/gdcmConfigure.h @ONLY IMMEDIATE) + +INSTALL_FILES(/include .h gdcmConfigure.h) + +#----------------------------------------------------------------------------- +# Add the testing directories +IF(BUILD_TESTING) + ENABLE_TESTING() + INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake) + SUBDIRS(Test) +ENDIF(BUILD_TESTING) + + #----------------------------------------------------------------------------- OPTION(GDCM_VTK "Build VTK-GDCM Lib." OFF) IF(GDCM_VTK) @@ -93,53 +104,3 @@ IF(GDCM_DOXYGEN) ENDIF(DOXYGEN) ENDIF(GDCM_DOXYGEN) -#----------------------------------------------------------------------------- -# Configure files with settings for use by the build. -# for third party to access gdcm through cmake -# to be rewritten to include only the necessary - -CONFIGURE_FILE( - ${GDCM_SOURCE_DIR}/gdcmConfig.cmake.in - ${GDCM_BINARY_DIR}/gdcmConfig.cmake @ONLY IMMEDIATE - ) - -# Export uor build settings and library -# dependencies for the use by the user projects. -INCLUDE( - ${CMAKE_ROOT}/Modules/CMakeExportBuildSettings.cmake) - -CMAKE_EXPORT_BUILD_SETTINGS( - ${GDCM_BINARY_DIR}/gdcmBuildSettings.cmake - ) - -EXPORT_LIBRARY_DEPENDENCIES( - ${GDCM_BINARY_DIR}/gdcmLibraryDepends.cmake - ) - -# Intall the âckaging files for use by FIND_PACKAGE(GDCM) in user projects. -INSTALL_FILES(/lin/gdcm FILES - ${GDCM_SOURCE_DIR}/gdcmUse.cmake - ${GDCM_BINARY_DIR}/gdcmConfig.cmake - ${GDCM_BINARY_DIR}/gdcmBuildSettings.cmake - ${GDCM_BINARY_DIR}/gdcmLibraryDepends.cmake - ) - -#----------------------------------------------------------------------------- -# 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"`