-#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})