]> Creatis software - gdcm.git/blobdiff - Testing/CMakeLists.txt
Should work both with vtk4 and vtk 5.
[gdcm.git] / Testing / CMakeLists.txt
index 104109efd2b5a437b221da0b6ea57ff4f5e6a29e..07cbf7889967795faabda4ac0ba69ce221514dfe 100644 (file)
@@ -8,10 +8,11 @@ SET(GDCM_TESTS ${CXX_TEST_PATH}/gdcmTests)
 # add test that does not require data:
 # They usally return if no argument is given
 SET(TEST_SOURCES
-  TestInline
+  TestEmpty.cxx
   TestUtil.cxx
   TestBug.cxx
   TestHash.cxx
+  TestCommand.cxx
   TestTS.cxx
   TestVR.cxx
   TestDictGroupName.cxx
@@ -21,8 +22,14 @@ SET(TEST_SOURCES
   TestImageSet.cxx
   TestDicomDirElement.cxx
   TestDicomString.cxx
-  #TestValidate.cxx
+  TestEnumVR.cxx
+
 )
+IF(UNIX)
+  SET(TEST_SOURCES ${TEST_SOURCES}
+    #TestInline.cxx
+  )
+ENDIF(UNIX)
 
 # add tests that require data
 IF (GDCM_DATA_ROOT)
@@ -44,6 +51,7 @@ IF (GDCM_DATA_ROOT)
     TestMakeDicomDir.cxx             # writes a file named "NewDICOMDIR"
     TestSerieHelper.cxx              # uses gdcmData as a default root directory    
     TestAllVM.cxx
+    TestValidate.cxx                 #Just to have on overviews of oddities ...  
   )
   # add test that require VTK:
   IF(GDCM_VTK)
@@ -85,7 +93,11 @@ INCLUDE_DIRECTORIES(
 CREATE_TEST_SOURCELIST(Tests gdcmTests.cxx ${TEST_SOURCES})
 ADD_EXECUTABLE(gdcmTests ${Tests})
 IF(GDCM_VTK)
-  TARGET_LINK_LIBRARIES(gdcmTests vtkgdcm vtkRendering)
+  IF(GDCM_DATA_ROOT)
+    TARGET_LINK_LIBRARIES(gdcmTests vtkgdcm vtkRendering)
+  ELSE(GDCM_DATA_ROOT)
+    TARGET_LINK_LIBRARIES(gdcmTests gdcm)
+  ENDIF(GDCM_DATA_ROOT)     
 ELSE(GDCM_VTK)
   TARGET_LINK_LIBRARIES(gdcmTests gdcm)
 ENDIF(GDCM_VTK)
@@ -127,7 +139,7 @@ SET(BLACK_LIST
   "ETIAM_video_002.dcm"
   #Something stupid occured in the code for LibIDO images.
   #I Black list them for a while. JP
-  "gdcm-ACR-LibIDO.acr"
+  #"gdcm-ACR-LibIDO.acr"
   "LIBIDO-24-ACR_NEMA-Rectangle.dcm"
   #16 Bits per pixel images with LUT 16 Bits.
   #I wait to be 100% sure before releasing them. JP
@@ -138,17 +150,22 @@ SET(BLACK_LIST
   "CT_Phillips_JPEG2K_Decompr_Problem.dcm"
   #
   # ------------
-  #
-  # I probabely messed up smething with the .png, .tst of
-  # the images I recently added to the Test Suite
-  # I Black list them, until I find where is the pb.
-  "US-RGB-8-esopecho.dcm"
-  "MR_Philips_Intera_No_PrivateSequenceImplicitVR.dcm"
+  #  
+  #Still cause troubles (see the .README.txt file for more details)  
+  "MR_Philips_Intera_in_SQ_2001_e05f_item_wrong_lgt_use_NOSHADOWSEQ.dcm"  
+  "MR_Philips_Intera_PrivateSequenceExplicitVR.dcm" 
+  #The 2 previous images are identical !
+  #--> Replaced by more significant name
+  "MR_Philips_Intera_PrivateSequenceExplicitVR_in_SQ_2001_e05f_item_wrong_lgt_use_NOSHADOWSEQ.dcm"
+
+  #hexedit shows something *very* strange around offset 0x76e !
+  #the images looks *over*corrupted (on disc, not from the manufacturer!)
   "MR_Philips_Intera_PrivateSequenceImplicitVR.dcm"
-  "MR_SIEMENS_forceLoad29-1010_29-1020.dcm"
-  # An element contains a value of 4, but no data follows
-  # So, the next (group, elem) is not correctly read
-  "gdcm-MR-PHILIPS-16-Multi-Seq.dcm"
+  
+  # Seems this one hangs on 64 bits processors ?!?
+  # I blacklist it untill the pb is solved.
+  # (to get some more green on the Dasboards)
+  "MR_Philips-Intera_BreaksNOSHADOW.dcm"
   )
 
 # Create a specific list of dicom files that we know are part of a sequence
@@ -192,13 +209,30 @@ FILE(WRITE "${GDCM_BINARY_DIR}/gdcmDataSeqImages.h"
 #-----------------------------------------------------------------------------
 # Trying to solve a bizarre problem when loading shared lib if gdcm is static
 # Therefore I disable the test when building SHAREDLIBS
-IF(UNIX AND NOT GDCM_BUILD_SHARED_LIBS)
+IF(UNIX AND NOT BUILD_SHARED_LIBS)
   ADD_LIBRARY(dynmodule MODULE dynmodule.cxx)
   TARGET_LINK_LIBRARIES(dynmodule gdcm)
   ADD_EXECUTABLE(loadmodule loadmodule.cxx )
   TARGET_LINK_LIBRARIES(loadmodule gdcm -ldl)
   ADD_TEST(loadmodule ${CXX_TEST_PATH}/loadmodule)
-ENDIF(UNIX AND NOT GDCM_BUILD_SHARED_LIBS)
+ENDIF(UNIX AND NOT BUILD_SHARED_LIBS)
 
 
+#-----------------------------------------------------------------------------
+# Do the build against an installed gdcm
+SET(GDCM_TEST_INSTALL_LEFT "${CMAKE_INSTALL_PREFIX}")
+SET(GDCM_TEST_INSTALL_RIGHT "${GDCM_BINARY_DIR}/InstallTest/Root")
+STRING(COMPARE EQUAL "${GDCM_TEST_INSTALL_LEFT}" "${GDCM_TEST_INSTALL_RIGHT}"
+  GDCM_TEST_INSTALL)
+IF(GDCM_TEST_INSTALL)
+  ADD_TEST(Install
+    ${CMAKE_CTEST_COMMAND}
+    #  ${GDCM_INSTALL_TEST_CONFIG_TYPE}
+    --build-and-test ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR}
+    --build-generator ${CMAKE_GENERATOR}
+    --build-project GDCM
+    --build-makeprogram ${CMAKE_MAKE_PROGRAM}
+    --build-noclean
+    --build-target install)
+ENDIF(GDCM_TEST_INSTALL)