From: malaterre Date: Thu, 9 Jun 2005 23:16:49 +0000 (+0000) Subject: ENH: make gdcmjasper more portable. It is now fully independant from the toplevel... X-Git-Tag: Version1.2.bp~546 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=899e8669c13651e11b308af90a5454f72f5c3d5c;p=gdcm.git ENH: make gdcmjasper more portable. It is now fully independant from the toplevel GDCM project --- diff --git a/CMake/gdcmTestCompareTypes.cxx b/CMake/gdcmTestCompareTypes.cxx deleted file mode 100644 index bad59da1..00000000 --- a/CMake/gdcmTestCompareTypes.cxx +++ /dev/null @@ -1,31 +0,0 @@ -/*========================================================================= - - Program: gdcm - Module: $RCSfile: gdcmTestCompareTypes.cxx,v $ - Language: C++ - Date: $Date: 2005/05/29 23:06:41 $ - Version: $Revision: 1.1 $ - - Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de - l'Image). All rights reserved. See Doc/License.txt or - http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. See the above copyright notices for more information. - -=========================================================================*/ - -#define TYPE_LONG_LONG long long - -typedef GDCM_TEST_COMPARE_TYPE_1 Type1; -typedef GDCM_TEST_COMPARE_TYPE_2 Type2; - -void function(Type1**) {} - -int main() -{ - Type2** p = 0; - function(p); - return 0; -} diff --git a/CMake/gdcmTestConvertTypes.cxx b/CMake/gdcmTestConvertTypes.cxx deleted file mode 100644 index 18413ff1..00000000 --- a/CMake/gdcmTestConvertTypes.cxx +++ /dev/null @@ -1,35 +0,0 @@ -/*========================================================================= - - Program: gdcm - Module: $RCSfile: gdcmTestConvertTypes.cxx,v $ - Language: C++ - Date: $Date: 2005/05/29 23:06:41 $ - Version: $Revision: 1.1 $ - - Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de - l'Image). All rights reserved. See Doc/License.txt or - http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. See the above copyright notices for more information. - -=========================================================================*/ - -#define TYPE_UNSIGNED___INT64 unsigned __int64 - -typedef GDCM_TEST_CONVERT_TYPE_TO TypeTo; -typedef GDCM_TEST_CONVERT_TYPE_FROM TypeFrom; - -void function(TypeTo& l, TypeFrom const& r) -{ - l = static_cast(r); -} - -int main() -{ - TypeTo tTo = TypeTo(); - TypeFrom tFrom = TypeFrom(); - function(tTo, tFrom); - return 0; -} diff --git a/src/gdcmjasper/CMakeLists.txt b/src/gdcmjasper/CMakeLists.txt index d9ff433d..ba52b3c6 100644 --- a/src/gdcmjasper/CMakeLists.txt +++ b/src/gdcmjasper/CMakeLists.txt @@ -5,4 +5,13 @@ IF(APPLE) SET(CMAKE_SHARED_LINKER_FLAGS "-single_module") ENDIF(APPLE) +#OPTION(HAVE_LIBJPEG "Do you have ijg" OFF) +IF(GDCM_SOURCE_DIR) + SET(HAVE_LIBJPEG ON CACHE BOOL "Do you have ijg" FORCE) +ELSE(GDCM_SOURCE_DIR) + SET(HAVE_LIBJPEG OFF CACHE BOOL "Do you have ijg" FORCE) +ENDIF(GDCM_SOURCE_DIR) + +MARK_AS_ADVANCED(HAVE_LIBJPEG) + SUBDIRS(src) diff --git a/src/gdcmjasper/src/libjasper/CMakeLists.txt b/src/gdcmjasper/src/libjasper/CMakeLists.txt index 3d1ccf43..33cebb74 100644 --- a/src/gdcmjasper/src/libjasper/CMakeLists.txt +++ b/src/gdcmjasper/src/libjasper/CMakeLists.txt @@ -5,17 +5,11 @@ SUBDIRS(include/jasper) # This is one can stay here MACRO(GDCM_CONVENIENT_LIBRARY) - #MESSAGE("ARGC=${ARGC}") - #MESSAGE("ARGV=${ARGV}") SET(GDCMJASPER_SOURCES) FOREACH(SUBDIR ${ARGV}) INCLUDE("${GDCMJASPER_SOURCE_DIR}/src/libjasper/${SUBDIR}/CMakeLists.txt") - #MESSAGE("FILES=${lib${SUBDIR}_la_SOURCES}") #SET(convenient_lib${SUBDIR}_la_SOURCES) FOREACH(file ${lib${SUBDIR}_la_SOURCES}) - #MESSAGE("${SUBDIR}/${file}") - #MESSAGE("BAR ${convenient_lib${SUBDIR}_la_SOURCES}") - #MESSAGE("${GDCMJASPER_SOURCE_DIR}/src/libjasper/${SUBDIR}/${file}") #SET(convenient_lib${SUBDIR}_la_SOURCES # "${GDCMJASPER_SOURCE_DIR}/src/libjasper/${SUBDIR}/${file}" # "${convenient_lib${SUBDIR}_la_SOURCES}" @@ -25,18 +19,24 @@ MACRO(GDCM_CONVENIENT_LIBRARY) ${GDCMJASPER_SOURCES} ) ENDFOREACH(file) - #MESSAGE("R= ${convenient_lib${SUBDIR}_la_SOURCES}") ENDFOREACH(SUBDIR) ENDMACRO(GDCM_CONVENIENT_LIBRARY) # Yeah ! I know how come I only did jpeg 8bits... bla bla # I'll wait until I actually such beast of jpeg2000 + some # crazy 16bits lossless jpeg... -INCLUDE_DIRECTORIES(${GDCM_BINARY_DIR}/src/gdcmjpeg/8) +IF(HAVE_LIBJPEG) + INCLUDE_DIRECTORIES(${GDCM_BINARY_DIR}/src/gdcmjpeg/8) +ENDIF(HAVE_LIBJPEG) + +INCLUDE_DIRECTORIES(${GDCMJASPER_BINARY_DIR}/src/libjasper/include) +INCLUDE_DIRECTORIES(${GDCMJASPER_SOURCE_DIR}/src/libjasper/include) GDCM_CONVENIENT_LIBRARY(base bmp jp2 jpc jpg mif pgx pnm ras) #MESSAGE("src= ${GDCMJASPER_SOURCES}") ADD_LIBRARY(gdcmjasper ${GDCMJASPER_SOURCES}) -TARGET_LINK_LIBRARIES(gdcmjasper gdcmjpeg8) +IF(HAVE_LIBJPEG) + TARGET_LINK_LIBRARIES(gdcmjasper gdcmjpeg8) +ENDIF(HAVE_LIBJPEG) diff --git a/src/gdcmjasper/src/libjasper/include/jasper/CMakeLists.txt b/src/gdcmjasper/src/libjasper/include/jasper/CMakeLists.txt index 1799a161..1c2b3bfd 100644 --- a/src/gdcmjasper/src/libjasper/include/jasper/CMakeLists.txt +++ b/src/gdcmjasper/src/libjasper/include/jasper/CMakeLists.txt @@ -24,6 +24,8 @@ INCLUDE_REGULAR_EXPRESSION("^.*$") SET(JAS_VERSION "1.701.0") +INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake) + CHECK_INCLUDE_FILE("dlfcn.h" HAVE_DLFCN_H) CHECK_INCLUDE_FILE("fcntl.h" HAVE_FCNTL_H) CHECK_INCLUDE_FILE("inttypes.h" HAVE_INTTYPES_H) @@ -71,11 +73,21 @@ CHECK_TYPE_SIZE("long long" GDCM_SIZEOF_LONG_LONG) CHECK_TYPE_SIZE("__int64" GDCM_SIZEOF___INT64) IF(GDCM_SIZEOF___INT64) + STRING(ASCII 35 POUND) + FILE(WRITE ${GDCMJASPER_BINARY_DIR}/gdcmTestCompareTypes.cxx + "${POUND}define TYPE_LONG_LONG long long\n" + "typedef GDCM_TEST_COMPARE_TYPE_1 Type1;\n" + "typedef GDCM_TEST_COMPARE_TYPE_2 Type2;\n" + "void function(Type1**) {}\n" + "int main() {\n" + " Type2** p = 0;\n" + " function(p);\n" + " return 0; }") 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 + ${GDCMJASPER_BINARY_DIR}/ + ${GDCMJASPER_BINARY_DIR}/gdcmTestCompareTypes.cxx COMPILE_DEFINITIONS -DGDCM_TEST_COMPARE_TYPE_1=long -DGDCM_TEST_COMPARE_TYPE_2=__int64 @@ -100,8 +112,8 @@ IF(GDCM_SIZEOF___INT64) 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 + ${GDCMJASPER_BINARY_DIR} + ${GDCMJASPER_SOURCE_DIR}/gdcmTestCompareTypes.cxx COMPILE_DEFINITIONS -DGDCM_TEST_COMPARE_TYPE_1=TYPE_LONG_LONG -DGDCM_TEST_COMPARE_TYPE_2=__int64 @@ -129,9 +141,20 @@ IF(GDCM_SIZEOF___INT64) # "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") + FILE(WRITE ${GDCMJASPER_BINARY_DIR}/gdcmTestCompareTypes.cxx + "${POUND}define TYPE_UNSIGNED___INT64 unsigned __int64\n" + "typedef GDCM_TEST_CONVERT_TYPE_TO TypeTo;\n" + "typedef GDCM_TEST_CONVERT_TYPE_FROM TypeFrom;\n" + "void function(TypeTo& l, TypeFrom const& r) {\n" + " l = static_cast(r); }\n" + "int main() {\n" + " TypeTo tTo = TypeTo();\n" + " TypeFrom tFrom = TypeFrom();\n" + " function(tTo, tFrom);\n" + " return 0; }") TRY_COMPILE(GDCM_TYPE_CONVERT_UI64_TO_DOUBLE - ${GDCM_BINARY_DIR}/CMakeTmp - ${GDCM_SOURCE_DIR}/CMake/gdcmTestConvertTypes.cxx + ${GDCMJASPER_BINARY_DIR} + ${GDCMJASPER_BINARY_DIR}/gdcmTestConvertTypes.cxx COMPILE_DEFINITIONS -DGDCM_TEST_CONVERT_TYPE_FROM=TYPE_UNSIGNED___INT64 -DGDCM_TEST_CONVERT_TYPE_TO=double diff --git a/src/gdcmjasper/src/libjasper/jpg/CMakeLists.txt b/src/gdcmjasper/src/libjasper/jpg/CMakeLists.txt index c3ee20b7..b96f0a38 100644 --- a/src/gdcmjasper/src/libjasper/jpg/CMakeLists.txt +++ b/src/gdcmjasper/src/libjasper/jpg/CMakeLists.txt @@ -1,28 +1,21 @@ INCLUDE_REGULAR_EXPRESSION("^.*$") -# all the include are there: -#INCLUDE_DIRECTORIES(${JASPER_SOURCE_DIR}/src/libjasper/include) - #EXTRA_DIST = README -#if HAVE_LIBJPEG -#MISCSOURCES = jpg_dec.c jpg_enc.c -#else -#MISCSOURCES = jpg_dummy.c -#endif +IF(HAVE_LIBJPEG) + SET(MISCSOURCES + jpg_dec.c + jpg_enc.c) +ELSE(HAVE_LIBJPEG) + SET(MISCSOURCES + jpg_dummy.c) +ENDIF(HAVE_LIBJPEG) SET(libjpg_la_SOURCES # jpg_cod.h # jpg_enc.h # jpg_jpeglib.h - # $(MISCSOURCES) jpg_val.c - # ) - #SET(EXTRA_libjpg_la_SOURCES - jpg_dec.c - jpg_enc.c - #jpg_dummy.c + ${MISCSOURCES} ) -#ADD_LIBRARY(jpg ${libjpg_la_SOURCES} ${EXTRA_libjpg_la_SOURCES}) -