]> Creatis software - gdcm.git/commitdiff
ENH: make gdcmjasper more portable. It is now fully independant from the toplevel...
authormalaterre <malaterre>
Thu, 9 Jun 2005 23:16:49 +0000 (23:16 +0000)
committermalaterre <malaterre>
Thu, 9 Jun 2005 23:16:49 +0000 (23:16 +0000)
CMake/gdcmTestCompareTypes.cxx [deleted file]
CMake/gdcmTestConvertTypes.cxx [deleted file]
src/gdcmjasper/CMakeLists.txt
src/gdcmjasper/src/libjasper/CMakeLists.txt
src/gdcmjasper/src/libjasper/include/jasper/CMakeLists.txt
src/gdcmjasper/src/libjasper/jpg/CMakeLists.txt

diff --git a/CMake/gdcmTestCompareTypes.cxx b/CMake/gdcmTestCompareTypes.cxx
deleted file mode 100644 (file)
index bad59da..0000000
+++ /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 (file)
index 18413ff..0000000
+++ /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<TypeTo>(r);
-}
-
-int main()
-{
-  TypeTo tTo = TypeTo();
-  TypeFrom tFrom = TypeFrom();
-  function(tTo, tFrom);
-  return 0;
-}
index d9ff433d1c9e0f071d9846bc31fb855c6f36e385..ba52b3c660f508754c2c4dc8cae39e2671f7de3b 100644 (file)
@@ -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)
index 3d1ccf43f963df8148544c2107cb442fff762204..33cebb74f6c7fc067c9e4279005bbcac65c2c908 100644 (file)
@@ -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)
 
 
index 1799a161ad20cc6e0327ab4f23b1180ef50535ab..1c2b3bfdf48ffb40d5b209204258c9f8aeb75521 100644 (file)
@@ -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<TypeTo>(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
index c3ee20b712fea455b406633ec1f5ccf48c5d9cf3..b96f0a38c3b2c7a005337187fd4102533a2231b0 100644 (file)
@@ -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})
-