X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Testing%2FCMakeLists.txt;h=f722013e4396f85c1fda339afac168b7e6db00a1;hb=0aefbe64c65acfed527a7f18b352a2621f4bc92b;hp=c273c1d508d4be997e21dce06a6e1c37d55e85a3;hpb=7b90a94638699fec1143d1928f6a6b6f3c769d54;p=gdcm.git diff --git a/Testing/CMakeLists.txt b/Testing/CMakeLists.txt index c273c1d5..f722013e 100644 --- a/Testing/CMakeLists.txt +++ b/Testing/CMakeLists.txt @@ -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})