X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=CMakeLists.txt;h=6b0db95b35b2a68c122a77566d644b867471143b;hb=d2d88279289bcafbeca8a41934d514d58141376d;hp=fdc9ff0441e344abfd503589e49ca466ad0b44de;hpb=777e0b3c4cadd322da83f01a9b38d14065d41a8d;p=gdcm.git diff --git a/CMakeLists.txt b/CMakeLists.txt index fdc9ff04..6b0db95b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,20 +1,10 @@ PROJECT(GDCM) CMAKE_MINIMUM_REQUIRED(VERSION 2.0) -#MESSAGE("MATHIEU: ${CMAKE_VERSION_RELEASE}") -#MESSAGE("MATHIEU: ${CMAKE_VERSION}") -#MESSAGE("MATHIEU: ${CMAKE_CACHE_RELEASE_VERSION}") -#IF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} EQUAL 2.0) -# IF(${CMAKE_CACHE_RELEASE_VERSION} EQUAL "patch 5") -# MESSAGE("MAHTIEU FOO") -# ENDIF(${CMAKE_CACHE_RELEASE_VERSION} EQUAL "patch 5") -#ENDIF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} EQUAL 2.0) - - #----------------------------------------------------------------------------- # GDCM version number, usefull for packaging and doxygen doc: -SET(GDCM_MAJOR_VERSION 0) -SET(GDCM_MINOR_VERSION 7) +SET(GDCM_MAJOR_VERSION 1) +SET(GDCM_MINOR_VERSION 0) SET(GDCM_BUILD_VERSION 0) SET(GDCM_VERSION "${GDCM_MAJOR_VERSION}.${GDCM_MINOR_VERSION}.${GDCM_BUILD_VERSION}") @@ -27,7 +17,8 @@ MARK_AS_ADVANCED(GDCM_DATA_DIR) #----------------------------------------------------------------------------- # Build shared lib by default -OPTION(BUILD_SHARED_LIBS "Build GDCM with shared libraries." ON) +OPTION(GDCM_BUILD_SHARED_LIBS "Build GDCM with shared libraries." ON) +SET(BUILD_SHARED_LIBS ${GDCM_BUILD_SHARED_LIBS}) OPTION(GDCM_DEBUG "Turn verbosity of some statement ON." OFF) MARK_AS_ADVANCED(GDCM_DEBUG) @@ -37,17 +28,46 @@ SET (EXECUTABLE_OUTPUT_PATH ${GDCM_BINARY_DIR}/bin CACHE PATH "Single output dir 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) +#----------------------------------------------------------------------------- +# Help outside projects link against gdcm + +EXPORT_LIBRARY_DEPENDENCIES(${GDCM_BINARY_DIR}/GDCMLibraryDepends.cmake) + +# Save the compiler settings so another project can import them. +INCLUDE(${CMAKE_ROOT}/Modules/CMakeExportBuildSettings.cmake) +CMAKE_EXPORT_BUILD_SETTINGS(${GDCM_BINARY_DIR}/GDCMBuildSettings.cmake) +#INSTALL_FILES(/lib/gdcm .cmake GDCMBuildSettings) + +# For GDCM from build tree: +SET(GDCM_USE_FILE ${GDCM_SOURCE_DIR}/GDCMUse.cmake) +SET(GDCM_INCLUDE_DIRS + ${GDCM_BINARY_DIR}/ #for gdcmConfigure.h + ${GDCM_SOURCE_DIR}/src #for main gdcm include + ) +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_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) + #----------------------------------------------------------------------------- # Test if compiler defines the pseudo-macro __FUNCTION__ IF("GDCM_COMPILER_HAS_FUNCTION" MATCHES "^GDCM_COMPILER_HAS_FUNCTION$") MESSAGE(STATUS "Checking support for __FUNCTION__ in compiler") TRY_COMPILE(GDCM_COMPILER_HAS_FUNCTION ${GDCM_BINARY_DIR}/CMakeTmp/Function - ${GDCM_SOURCE_DIR}/gdcmTestFUNCTION.cxx + ${GDCM_SOURCE_DIR}/CMake/gdcmTestFUNCTION.cxx OUTPUT_VARIABLE OUTPUT) IF(GDCM_COMPILER_HAS_FUNCTION) MESSAGE(STATUS "Checking support for __FUNCTION__ -- yes") - SET(GDCM_COMPILER_HAS_FUNCTION 1 CACHE INTERNAL "Support for extention C __FUNCTION__") + SET(GDCM_COMPILER_HAS_FUNCTION 1 CACHE INTERNAL "Support for extension C __FUNCTION__") WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeOutput.log "Determining if the C compiler supports __FUNCTION__ " "passed with the following output:\n" @@ -128,6 +148,7 @@ 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) # Check if header file exists and add it to the list. INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFiles.cmake) @@ -151,6 +172,10 @@ CHECK_INCLUDE_FILE_CONCAT("netinet/in.h" CMAKE_HAVE_NETINET_IN_H) CHECK_INCLUDE_FILE_CONCAT("net/if_dl.h" CMAKE_HAVE_NET_IF_DL_H) CHECK_INCLUDE_FILE_CONCAT("net/if_arp.h" CMAKE_HAVE_NET_IF_ARP_H) +#----------------------------------------------------------------------------- +# Force Big Endian emulation on little endian: +OPTION(GDCM_FORCE_BIGENDIAN_EMULATION "Force Big Endian Emulation. Do use if you don't know what you are doing." OFF) + CONFIGURE_FILE(${GDCM_SOURCE_DIR}/gdcmConfigure.h.in ${GDCM_BINARY_DIR}/gdcmConfigure.h @ONLY IMMEDIATE) @@ -164,7 +189,7 @@ IF(BUILD_TESTING) ENABLE_TESTING() INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake) MARK_AS_ADVANCED(DART_ROOT) - SUBDIRS(Test) + SUBDIRS(Testing) ENDIF(BUILD_TESTING) @@ -203,3 +228,11 @@ IF(GDCM_DOCUMENTATION) ENDIF(DOXYGEN) 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) +