]> Creatis software - gdcm.git/blobdiff - Testing/CMakeLists.txt
Adding a GDCM_DATA_ROOT for testing
[gdcm.git] / Testing / CMakeLists.txt
index c273c1d508d4be997e21dce06a6e1c37d55e85a3..f722013e4396f85c1fda339afac168b7e6db00a1 100644 (file)
@@ -1,41 +1,58 @@
-#For later : rewrite this things for more consistencies, such as a 'FOREACH'
+# TODO:
+# http://www.cmake.org/pipermail/cmake/2001-November/002491.html
+# So that dll is copied to each subdir where needed
 
-LINK_LIBRARIES(gdcm)
-INCLUDE_DIRECTORIES(
-  ${GDCM_SOURCE_DIR}/src/
-)
+SET(CXX_TEST_PATH ${EXECUTABLE_OUTPUT_PATH})
 
-SET(PrintHeader_SOURCES
-  PrintHeader.cxx
-)
-ADD_EXECUTABLE(PrintHeader ${PrintHeader_SOURCES})
+SET(GDCM_TESTS ${CXX_TEST_PATH}/gdcmTests)
 
-SET(testWrite_SOURCES
-  testWrite.cxx
-)
-ADD_EXECUTABLE(testWrite ${testWrite_SOURCES})
+INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)
+CHECK_INCLUDE_FILE("stdint.h"    CMAKE_HAVE_STDINT_H)
+
+IF(NOT CMAKE_HAVE_STDINT_H)
+  SET(GDCM_TEST_COMPILE_FLAGS "-DHAVE_NO_STDINT_H")
+ENDIF(NOT CMAKE_HAVE_STDINT_H)
 
-SET(testChangeEntete_SOURCES
-  testChangeEntete.cxx
-)
-ADD_EXECUTABLE(testChangeEntete ${testChangeEntete_SOURCES})
 
-SET(hashtest_SOURCES
+SET(TEST_SOURCES
+  PrintHeader.cxx #require test.acr
+  bug1.cxx        #require test.acr
+  dcm2acr.cxx     #require test.acr
   hashtest.cxx
+  makeDicomDir.cxx
+  testDicomDir.cxx
+  testWrite.cxx
 )
-ADD_EXECUTABLE(hashtest ${hashtest_SOURCES})
+IF (GDCM_DATA_ROOT)
+       # add tests that require data
+       SET(TEST_SOURCES ${TEST_SOURCES}     
+         PrintDicomDir.cxx
+    pourFindTaggs.cxx
+    testChangeEntete.cxx
+  )
+ENDIF (GDCM_DATA_ROOT)
 
-SET(bug1_SOURCES
-  bug1.cxx
+# include stuff
+INCLUDE_DIRECTORIES(
+  ${GDCM_SOURCE_DIR}/src/
+  ${GDCM_BINARY_DIR}/
 )
-ADD_EXECUTABLE(bug1 ${bug1_SOURCES})
 
-SET(pourFindTaggs_SOURCES
-  pourFindTaggs.cxx
-)
-ADD_EXECUTABLE(pourFindTaggs ${pourFindTaggs_SOURCES})
+# Loop over files and create executables
+FOREACH(file ${TEST_SOURCES})
+  #Doh ! I need to specify each time the compile flags !
+  IF(GDCM_TEST_COMPILE_FLAGS)
+  SET_SOURCE_FILES_PROPERTIES(${file}
+    PROPERTIES
+    COMPILE_FLAGS ${GDCM_TEST_COMPILE_FLAGS}
+  )
+  ENDIF(GDCM_TEST_COMPILE_FLAGS)
+  GET_FILENAME_COMPONENT(name ${file} NAME_WE)
+  ADD_TEST(${name} ${GDCM_TESTS} ${name})
+ENDFOREACH(file ${TEST_SOURCES})
+
+
+ADD_EXECUTABLE(gdcmTests gdcmTests.cxx ${TEST_SOURCES})
+TARGET_LINK_LIBRARIES(gdcmTests gdcm)
+
 
-SET(dcm2acr_SOURCES
-  dcm2acr.cxx
-)
-ADD_EXECUTABLE(dcm2acr ${dcm2acr_SOURCES})