X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2Fgdcmjasper%2Fsrc%2Flibjasper%2Finclude%2Fjasper%2FCMakeLists.txt;h=1799a161ad20cc6e0327ab4f23b1180ef50535ab;hb=87ac02b456a9c2044b3eab23aa5d9e8dbfd12f29;hp=1d2a9ac8d4cbdedd9cdfdc7bb310e5c29fb21b83;hpb=864d8790a138bbddf80130534571adde753c8d67;p=gdcm.git diff --git a/src/gdcmjasper/src/libjasper/include/jasper/CMakeLists.txt b/src/gdcmjasper/src/libjasper/include/jasper/CMakeLists.txt index 1d2a9ac8..1799a161 100644 --- a/src/gdcmjasper/src/libjasper/include/jasper/CMakeLists.txt +++ b/src/gdcmjasper/src/libjasper/include/jasper/CMakeLists.txt @@ -1,5 +1,4 @@ -INCLUDE_REGULAR_EXPRESSION("^(jas).*$") - +INCLUDE_REGULAR_EXPRESSION("^.*$") #libjasperinclude_HEADERS = \ # jasper.h \ @@ -25,24 +24,24 @@ INCLUDE_REGULAR_EXPRESSION("^(jas).*$") SET(JAS_VERSION "1.701.0") -CHECK_INCLUDE_FILE("dlfcn.h" HAVE_DLFCN_H) -CHECK_INCLUDE_FILE("fcntl.h" HAVE_FCNTL_H) +CHECK_INCLUDE_FILE("dlfcn.h" HAVE_DLFCN_H) +CHECK_INCLUDE_FILE("fcntl.h" HAVE_FCNTL_H) CHECK_INCLUDE_FILE("inttypes.h" HAVE_INTTYPES_H) -CHECK_INCLUDE_FILE("io.h" HAVE_IO_H) +CHECK_INCLUDE_FILE("io.h" HAVE_IO_H) #/* Define to 1 if you have the `m' library (-lm). */ ##define HAVE_LIBM 1 -CHECK_INCLUDE_FILE("limits.h" HAVE_LIMITS_H) -CHECK_INCLUDE_FILE("memory.h" HAVE_MEMORY_H) -CHECK_INCLUDE_FILE("stdbool.h" HAVE_STDBOOL_H) -CHECK_INCLUDE_FILE("stddef.h" HAVE_STDDEF_H) -CHECK_INCLUDE_FILE("stdint.h" HAVE_STDINT_H) -CHECK_INCLUDE_FILE("stdlib.h" HAVE_STDLIB_H) -CHECK_INCLUDE_FILE("strings.h" HAVE_STRINGS_H) -CHECK_INCLUDE_FILE("string.h" HAVE_STRING_H) -CHECK_INCLUDE_FILE("sys/stat.h" HAVE_SYS_STAT_H) +CHECK_INCLUDE_FILE("limits.h" HAVE_LIMITS_H) +CHECK_INCLUDE_FILE("memory.h" HAVE_MEMORY_H) +CHECK_INCLUDE_FILE("stdbool.h" HAVE_STDBOOL_H) +CHECK_INCLUDE_FILE("stddef.h" HAVE_STDDEF_H) +CHECK_INCLUDE_FILE("stdint.h" HAVE_STDINT_H) +CHECK_INCLUDE_FILE("stdlib.h" HAVE_STDLIB_H) +CHECK_INCLUDE_FILE("strings.h" HAVE_STRINGS_H) +CHECK_INCLUDE_FILE("string.h" HAVE_STRING_H) +CHECK_INCLUDE_FILE("sys/stat.h" HAVE_SYS_STAT_H) CHECK_INCLUDE_FILE("sys/types.h" HAVE_SYS_TYPES_H) -CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H) +CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H) #/* Have variable length arrays */ ##define HAVE_VLA 1 @@ -55,7 +54,136 @@ CHECK_INCLUDE_FILE("windows.h" HAVE_WINDOWS_H) INCLUDE (${CMAKE_ROOT}/Modules/TestBigEndian.cmake) TEST_BIG_ENDIAN(WORDS_BIGENDIAN) +# let's have some fun with long long and __int64...I don't even know why this lib need those types anyway... +INCLUDE(${CMAKE_ROOT}/Modules/CheckTypeSize.cmake) +CHECK_TYPE_SIZE("char" GDCM_SIZEOF_CHAR) +CHECK_TYPE_SIZE("short" GDCM_SIZEOF_SHORT) +CHECK_TYPE_SIZE("int" GDCM_SIZEOF_INT) +CHECK_TYPE_SIZE("long" GDCM_SIZEOF_LONG) +CHECK_TYPE_SIZE("float" GDCM_SIZEOF_FLOAT) +CHECK_TYPE_SIZE("double" GDCM_SIZEOF_DOUBLE) + +CHECK_TYPE_SIZE("uint" GDCM_SIZEOF_UINT) +CHECK_TYPE_SIZE("ushort" GDCM_SIZEOF_USHORT) +CHECK_TYPE_SIZE("ulong" GDCM_SIZEOF_ULONG) + +CHECK_TYPE_SIZE("long long" GDCM_SIZEOF_LONG_LONG) +CHECK_TYPE_SIZE("__int64" GDCM_SIZEOF___INT64) + +IF(GDCM_SIZEOF___INT64) + IF("GDCM_TYPE_SAME_LONG_AND___INT64" MATCHES "^GDCM_TYPE_SAME_LONG_AND___INT64$") + MESSAGE(STATUS "Checking whether long and __int64 are the same type") + TRY_COMPILE(GDCM_TYPE_SAME_LONG_AND___INT64 + ${GDCM_BINARY_DIR}/CMakeTmp + ${GDCM_SOURCE_DIR}/CMake/gdcmTestCompareTypes.cxx + COMPILE_DEFINITIONS + -DGDCM_TEST_COMPARE_TYPE_1=long + -DGDCM_TEST_COMPARE_TYPE_2=__int64 + OUTPUT_VARIABLE OUTPUT) + IF(GDCM_TYPE_SAME_LONG_AND___INT64) + MESSAGE(STATUS "Checking whether long and __int64 are the same type -- yes") + SET(GDCM_TYPE_SAME_LONG_AND___INT64 1 CACHE INTERNAL "Whether long and __int64 are the same type") + WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeOutput.log + "Determining whether long and __int64 are the same type " + "passed with the following output:\n" + "${OUTPUT}\n" APPEND) + ELSE(GDCM_TYPE_SAME_LONG_AND___INT64) + MESSAGE(STATUS "Checking whether long and __int64 are the same type -- no") + SET(GDCM_TYPE_SAME_LONG_AND___INT64 0 CACHE INTERNAL "Whether long and __int64 are the same type") + WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log + "Determining whether long and __int64 are the same type " + "failed with the following output:\n" + "${OUTPUT}\n" APPEND) + ENDIF(GDCM_TYPE_SAME_LONG_AND___INT64) + ENDIF("GDCM_TYPE_SAME_LONG_AND___INT64" MATCHES "^GDCM_TYPE_SAME_LONG_AND___INT64$") + IF(GDCM_SIZEOF_LONG_LONG) + IF("GDCM_TYPE_SAME_LONG_LONG_AND___INT64" MATCHES "^GDCM_TYPE_SAME_LONG_LONG_AND___INT64$") + MESSAGE(STATUS "Checking whether long long and __int64 are the same type") + TRY_COMPILE(GDCM_TYPE_SAME_LONG_LONG_AND___INT64 + ${GDCM_BINARY_DIR}/CMakeTmp + ${GDCM_SOURCE_DIR}/CMake/gdcmTestCompareTypes.cxx + COMPILE_DEFINITIONS + -DGDCM_TEST_COMPARE_TYPE_1=TYPE_LONG_LONG + -DGDCM_TEST_COMPARE_TYPE_2=__int64 + OUTPUT_VARIABLE OUTPUT) + IF(GDCM_TYPE_SAME_LONG_LONG_AND___INT64) + MESSAGE(STATUS "Checking whether long long and __int64 are the same type -- yes") + SET(GDCM_TYPE_SAME_LONG_LONG_AND___INT64 1 CACHE INTERNAL "Whether long long and __int64 are the same type") + WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeOutput.log + "Determining whether long long and __int64 are the same type " + "passed with the following output:\n" + "${OUTPUT}\n" APPEND) + ELSE(GDCM_TYPE_SAME_LONG_LONG_AND___INT64) + MESSAGE(STATUS "Checking whether long long and __int64 are the same type -- no") + SET(GDCM_TYPE_SAME_LONG_LONG_AND___INT64 0 CACHE INTERNAL "Whether long long and __int64 are the same type") + WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log + "Determining whether long long and __int64 are the same type " + "failed with the following output:\n" + "${OUTPUT}\n" APPEND) + ENDIF(GDCM_TYPE_SAME_LONG_LONG_AND___INT64) + ENDIF("GDCM_TYPE_SAME_LONG_LONG_AND___INT64" MATCHES "^GDCM_TYPE_SAME_LONG_LONG_AND___INT64$") + ENDIF(GDCM_SIZEOF_LONG_LONG) + IF(NOT GDCM_TYPE_SAME_LONG_AND___INT64) + IF(NOT GDCM_TYPE_SAME_LONG_LONG_AND___INT64) + # VS 6 cannot convert unsigned __int64 to double unless the + # "Visual C++ Processor Pack" is installed. + IF("GDCM_TYPE_CONVERT_UI64_TO_DOUBLE" MATCHES "^GDCM_TYPE_CONVERT_UI64_TO_DOUBLE$") + MESSAGE(STATUS "Checking whether unsigned __int64 can convert to double") + TRY_COMPILE(GDCM_TYPE_CONVERT_UI64_TO_DOUBLE + ${GDCM_BINARY_DIR}/CMakeTmp + ${GDCM_SOURCE_DIR}/CMake/gdcmTestConvertTypes.cxx + COMPILE_DEFINITIONS + -DGDCM_TEST_CONVERT_TYPE_FROM=TYPE_UNSIGNED___INT64 + -DGDCM_TEST_CONVERT_TYPE_TO=double + OUTPUT_VARIABLE OUTPUT) + IF(GDCM_TYPE_CONVERT_UI64_TO_DOUBLE) + MESSAGE(STATUS "Checking whether unsigned __int64 can convert to double -- yes") + SET(GDCM_TYPE_CONVERT_UI64_TO_DOUBLE 1 CACHE INTERNAL "Whether unsigned __int64 can convert to double") + WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeOutput.log + "Determining whether unsigned __int64 can convert to double " + "passed with the following output:\n" + "${OUTPUT}\n" APPEND) + ELSE(GDCM_TYPE_CONVERT_UI64_TO_DOUBLE) + MESSAGE(STATUS "Checking whether unsigned __int64 can convert to double -- no") + SET(GDCM_TYPE_CONVERT_UI64_TO_DOUBLE 0 CACHE INTERNAL "Whether unsigned __int64 can convert to double") + WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log + "Determining whether unsigned __int64 can convert to double " + "failed with the following output:\n" + "${OUTPUT}\n" APPEND) + ENDIF(GDCM_TYPE_CONVERT_UI64_TO_DOUBLE) + ENDIF("GDCM_TYPE_CONVERT_UI64_TO_DOUBLE" MATCHES "^GDCM_TYPE_CONVERT_UI64_TO_DOUBLE$") + ENDIF(NOT GDCM_TYPE_SAME_LONG_LONG_AND___INT64) + ENDIF(NOT GDCM_TYPE_SAME_LONG_AND___INT64) +ENDIF(GDCM_SIZEOF___INT64) + +# Enable the "long long" type if it is available. It is standard in +# C99 and C++03 but not in earlier standards. +SET(GDCM_TYPE_USE_LONG_LONG) +IF(GDCM_SIZEOF_LONG_LONG) + SET(GDCM_TYPE_USE_LONG_LONG 1) +ENDIF(GDCM_SIZEOF_LONG_LONG) + +# Enable the "__int64" type if it is available and unique. It is not +# standard. +SET(GDCM_TYPE_USE___INT64) +IF(GDCM_SIZEOF___INT64) + IF(NOT GDCM_TYPE_SAME_LONG_AND___INT64) + IF(NOT GDCM_TYPE_SAME_LONG_LONG_AND___INT64) + SET(GDCM_TYPE_USE___INT64 1) + ENDIF(NOT GDCM_TYPE_SAME_LONG_LONG_AND___INT64) + ENDIF(NOT GDCM_TYPE_SAME_LONG_AND___INT64) +ENDIF(GDCM_SIZEOF___INT64) + +IF (WIN32) + IF (BUILD_SHARED_LIBS) +# ADD_DEFINITIONS(-DJASPERDLL) + SET(JASPERDLL 1) + ELSE (BUILD_SHARED_LIBS) + SET(JASPERSTATIC 1) + ENDIF (BUILD_SHARED_LIBS) +ENDIF (WIN32) + CONFIGURE_FILE( - ${JASPER_SOURCE_DIR}/src/libjasper/include/jasper/jas_config.h.in - ${JASPER_BINARY_DIR}/src/libjasper/include/jasper/jas_config.h + "${GDCMJASPER_SOURCE_DIR}/src/libjasper/include/jasper/jas_config.h.in" + "${GDCMJASPER_BINARY_DIR}/src/libjasper/include/jasper/jas_config.h" @ONLY IMMEDIATE)