]> Creatis software - gdcm.git/blobdiff - Testing/CMakeLists.txt
Should work both with vtk4 and vtk 5.
[gdcm.git] / Testing / CMakeLists.txt
index 8ff30c75f50575e92132896e2b14520780ae7332..07cbf7889967795faabda4ac0ba69ce221514dfe 100644 (file)
@@ -8,19 +8,28 @@ 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
+  TestEmpty.cxx
   TestUtil.cxx
   TestBug.cxx
   TestHash.cxx
+  TestCommand.cxx
   TestTS.cxx
   TestVR.cxx
   TestDictGroupName.cxx
   TestDict.cxx
+  TestDataEntry.cxx
   TestWriteSimple.cxx
   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)
@@ -41,6 +50,8 @@ IF (GDCM_DATA_ROOT)
     TestBuildUpDicomDir.cxx          # writes a file named "NewDICOMDIR"
     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)
@@ -59,7 +70,7 @@ IF (GDCM_DATA_ROOT)
       INCLUDE(${VTK_USE_FILE})
 
       INCLUDE_DIRECTORIES(
-        ${GDCM_SOURCE_DIR}/vtk/
+        ${GDCM_SOURCE_DIR}/vtk
       )
       SET(TEST_SOURCES ${TEST_SOURCES}
         VTKTestRead.cxx
@@ -75,8 +86,8 @@ ENDIF (GDCM_DATA_ROOT)
 
 # include stuff
 INCLUDE_DIRECTORIES(
-  ${GDCM_SOURCE_DIR}/src/
-  ${GDCM_BINARY_DIR}/
+  ${GDCM_SOURCE_DIR}/src
+  ${GDCM_BINARY_DIR}
 )
 
 CREATE_TEST_SOURCELIST(Tests gdcmTests.cxx ${TEST_SOURCES})
@@ -84,7 +95,9 @@ ADD_EXECUTABLE(gdcmTests ${Tests})
 IF(GDCM_VTK)
   IF(GDCM_DATA_ROOT)
     TARGET_LINK_LIBRARIES(gdcmTests vtkgdcm vtkRendering)
-  ENDIF(GDCM_DATA_ROOT)
+  ELSE(GDCM_DATA_ROOT)
+    TARGET_LINK_LIBRARIES(gdcmTests gdcm)
+  ENDIF(GDCM_DATA_ROOT)     
 ELSE(GDCM_VTK)
   TARGET_LINK_LIBRARIES(gdcmTests gdcm)
 ENDIF(GDCM_VTK)
@@ -126,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
@@ -137,14 +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"
+  
+  # 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
@@ -188,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)