X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=CMakeLists.txt;h=14ba182f2ea3f484ef6a84f3fffeee8e787c1137;hb=4ef8257270e9d499e8c5ece74c4582bcb6c3f6a4;hp=bde81c934f088bd246361c56faf7da1ed0d0e1e1;hpb=c68e4cf4e6ffeff9ce40adf544c237aa3a612f1e;p=gdcm.git diff --git a/CMakeLists.txt b/CMakeLists.txt index bde81c93..14ba182f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,11 +1,12 @@ PROJECT(GDCM) CMAKE_MINIMUM_REQUIRED(VERSION 2.0) +# okay in fact you need at least cmake 2.0.4 to get swig working properly #----------------------------------------------------------------------------- # GDCM version number, usefull for packaging and doxygen doc: SET(GDCM_MAJOR_VERSION 1) -SET(GDCM_MINOR_VERSION 0) -SET(GDCM_BUILD_VERSION 1) +SET(GDCM_MINOR_VERSION 2) +SET(GDCM_BUILD_VERSION 0) SET(GDCM_VERSION "${GDCM_MAJOR_VERSION}.${GDCM_MINOR_VERSION}.${GDCM_BUILD_VERSION}") @@ -15,6 +16,12 @@ SET(GDCM_DATA_DIR "/share/gdcm/" CACHE INTERNAL "Install location for data (relative to prefix).") MARK_AS_ADVANCED(GDCM_DATA_DIR) +#----------------------------------------------------------------------------- +# Provide compatibility options. +OPTION(GDCM_LEGACY_REMOVE "Remove all legacy code completely." OFF) +OPTION(GDCM_LEGACY_SILENT "Silence all legacy code messages." OFF) +MARK_AS_ADVANCED(GDCM_LEGACY_REMOVE GDCM_LEGACY_SILENT) + #----------------------------------------------------------------------------- # Build shared lib by default OPTION(GDCM_BUILD_SHARED_LIBS "Build GDCM with shared libraries." ON) @@ -46,16 +53,14 @@ SET(GDCM_INCLUDE_DIRS ) SET(GDCM_LIBRARY_DIRS ${LIBRARY_OUTPUT_PATH}) SET(GDCM_LIBRARY_DEPENDS_FILE ${GDCM_BINARY_DIR}/GDCMLibraryDepends.cmake) -CONFIGURE_FILE(${GDCM_SOURCE_DIR}/GDCMConfig.cmake.in - ${GDCM_BINARY_DIR}/GDCMConfig.cmake @ONLY IMMEDIATE) # For installed GDCM: SET(GDCM_USE_FILE ${CMAKE_INSTALL_PREFIX}/lib/GDCM-${GDCM_VERSION}/GDCMUse.cmake) SET(GDCM_INCLUDE_DIRS ${CMAKE_INSTALL_PREFIX}/include/GDCM-${GDCM_VERSION}) -SET(GDCM_LIBRARY_DIRS ${CMAKE_INSTALL_PREFIX}/lib/ExodusII-${GDCM_VERSION}) +SET(GDCM_LIBRARY_DIRS ${CMAKE_INSTALL_PREFIX}/lib/GDCM-${GDCM_VERSION}) SET(GDCM_LIBRARY_DEPENDS_FILE ${CMAKE_INSTALL_PREFIX}/lib/GDCM-${GDCM_VERSION}/GDCMLibraryDepends.cmake) CONFIGURE_FILE(${GDCM_SOURCE_DIR}/GDCMConfig.cmake.in - ${GDCM_BINARY_DIR}/Utilities/GDCMConfig.cmake @ONLY IMMEDIATE) + ${GDCM_BINARY_DIR}/GDCMConfig.cmake @ONLY IMMEDIATE) #----------------------------------------------------------------------------- # Test if compiler defines the pseudo-macro __FUNCTION__ @@ -117,12 +122,19 @@ 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) + +# Big endian thing: INCLUDE (${CMAKE_ROOT}/Modules/TestBigEndian.cmake) TEST_BIG_ENDIAN(GDCM_WORDS_BIGENDIAN) INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake) CHECK_INCLUDE_FILE("stdint.h" CMAKE_HAVE_STDINT_H) -CHECK_INCLUDE_FILE("inttypes.h" CMAKE_HAVE_INTTYPES_H) +IF(UNIX) #Avoid polluting Win32 cmakecache + CHECK_INCLUDE_FILE("inttypes.h" CMAKE_HAVE_INTTYPES_H) +ENDIF(UNIX) +# Special Time support, two convention: *NIX vs Win32 +CHECK_INCLUDE_FILE("sys/times.h" CMAKE_HAVE_SYS_TIMES_H) +CHECK_INCLUDE_FILE("sys/timeb.h" CMAKE_HAVE_SYS_TIMEB_H) # Check if header file exists and add it to the list. INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFiles.cmake) @@ -138,7 +150,7 @@ ENDMACRO(CHECK_INCLUDE_FILE_CONCAT) # test the inclusion of files CHECK_INCLUDE_FILE_CONCAT("unistd.h" CMAKE_HAVE_UNISTD_H) CHECK_INCLUDE_FILE_CONCAT("stdlib.h" CMAKE_HAVE_STDLIB_H) -IF(UNIX) #Avoid pollutting Win32 cmakecache +IF(UNIX) #Avoid polluting Win32 cmakecache CHECK_INCLUDE_FILE_CONCAT("sys/ioctl.h" CMAKE_HAVE_SYS_IOCTL_H) CHECK_INCLUDE_FILE_CONCAT("sys/socket.h" CMAKE_HAVE_SYS_SOCKET_H) CHECK_INCLUDE_FILE_CONCAT("sys/sockio.h" CMAKE_HAVE_SYS_SOCKIO_H) @@ -188,13 +200,16 @@ OPTION(GDCM_FORCE_BIGENDIAN_EMULATION "Force Big Endian Emulation. Do use if you CONFIGURE_FILE(${GDCM_SOURCE_DIR}/gdcmConfigure.h.in ${GDCM_BINARY_DIR}/gdcmConfigure.h @ONLY IMMEDIATE) -INSTALL_FILES(/include .h gdcmConfigure.h) +INSTALL_FILES(/include/gdcm .h gdcmConfigure.h) +INSTALL_FILES(/lib .cmake GDCMBuildSettings GDCMConfig GDCMLibraryDepends) #----------------------------------------------------------------------------- # Add the testing directories OPTION(BUILD_TESTING "Build testing." ON) IF(BUILD_TESTING) + CONFIGURE_FILE(${GDCM_SOURCE_DIR}/CMake/CTestCustom.ctest.in + ${GDCM_BINARY_DIR}/CMake/CTestCustom.ctest @ONLY) ENABLE_TESTING() INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake) MARK_AS_ADVANCED(DART_ROOT) @@ -240,8 +255,11 @@ ENDIF(GDCM_DOCUMENTATION) #----------------------------------------------------------------------------- IF(WIN32) OPTION(GDCM_INSTALLER "Build the install setup using InnoSetup." OFF) - IF(GDCM_INSTALLER) - SUBDIRS(Builder) - ENDIF(GDCM_INSTALLER) ENDIF(WIN32) +IF(UNIX) + OPTION(GDCM_INSTALLER "Prepare the rpmBuild use." OFF) +ENDIF(UNIX) +IF(GDCM_INSTALLER) + SUBDIRS(Builder) +ENDIF(GDCM_INSTALLER)