CMakeLists.txt 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. SET(KIT CTKApplication)
  2. SET(KIT_TEST_SRCS)
  3. ## Query / Retrieve Testing
  4. if(CTK_APP_ctkDICOMQuery AND CTK_APP_ctkDICOMRetrieve)
  5. LIST(APPEND KIT_TEST_SRCS
  6. ctkDICOMApplicationTest1.cpp
  7. )
  8. endif()
  9. # If there is no tests, exit
  10. LIST(LENGTH KIT_TEST_SRCS KIT_TEST_SRCS_LENGTH)
  11. if(${KIT_TEST_SRCS_LENGTH} EQUAL 0)
  12. RETURN()
  13. endif()
  14. CREATE_TEST_SOURCELIST(Tests ${KIT}CppTests.cpp
  15. ${KIT_TEST_SRCS}
  16. )
  17. SET (TestsToRun ${Tests})
  18. REMOVE (TestsToRun ${KIT}CppTests.cpp)
  19. # Target libraries - See CMake/ctkMacroGetTargetLibraries.cmake
  20. # The following macro will read the target libraries from the file 'target_libraries.cmake'
  21. ctkMacroGetTargetLibraries(KIT_target_libraries)
  22. ADD_EXECUTABLE(${KIT}CppTests ${Tests})
  23. TARGET_LINK_LIBRARIES(${KIT}CppTests ${KIT_target_libraries})
  24. SET( KIT_TESTS ${CPP_TEST_PATH}/${KIT}CppTests)
  25. MACRO( SIMPLE_TEST TESTNAME )
  26. ADD_TEST( ${TESTNAME} ${KIT_TESTS} ${TESTNAME} )
  27. SET_PROPERTY(TEST ${TESTNAME} PROPERTY LABELS ${PROJECT_NAME})
  28. ENDMACRO( SIMPLE_TEST )
  29. ## Query / Retrieve Testing
  30. if (CTK_APP_ctkDICOMQuery AND CTK_APP_ctkDICOMRetrieve)
  31. # create a dcm query/retrieve service config file that points to the build dir
  32. set (DCMQRSCP_STORE_DIR ${CTK_BINARY_DIR}/Testing/Temporary)
  33. set (ctkDICOMRetrieve_STORE_DIR ${CTK_BINARY_DIR}/Testing/Temporary/ctkDICOMRetrieveStorage)
  34. set (DCMQRSCP_CONFIG ${CTK_BINARY_DIR}/Testing/Temporary/dcmqrscp.cfg)
  35. CONFIGURE_FILE( dcmqrscp.cfg.in ${DCMQRSCP_CONFIG} )
  36. set(CTK_APPLICATION_RUNTIME_DIRECTORY ${CTK_CMAKE_RUNTIME_OUTPUT_DIRECTORY})
  37. if(WIN32)
  38. set(CTK_APPLICATION_RUNTIME_DIRECTORY
  39. ${CTK_APPLICATION_RUNTIME_DIRECTORY}/${CMAKE_BUILD_TYPE})
  40. endif(WIN32)
  41. set(ctkDICOMQuery_EXECUTABLE ${CTK_APPLICATION_RUNTIME_DIRECTORY}/ctkDICOMQuery)
  42. set(ctkDICOMQuery_DB_FILE ${CTK_BINARY_DIR}/Testing/Temporary/ctkDICOMApplicationTest1.db)
  43. set(ctkDICOMRetrieve_EXECUTABLE ${CTK_APPLICATION_RUNTIME_DIRECTORY}/ctkDICOMRetrieve)
  44. #
  45. # Add Tests
  46. #
  47. ADD_TEST( ctkDICOMApplicationTest1 ${KIT_TESTS}
  48. ctkDICOMApplicationTest1
  49. ${DCMTK_DCMQRSCP_EXECUTABLE}
  50. ${DCMQRSCP_CONFIG}
  51. ${CTKData_DIR}/Data/DICOM/MRHEAD/000055.IMA
  52. ${CTKData_DIR}/Data/DICOM/MRHEAD/000056.IMA
  53. ${DCMTK_STORESCU_EXECUTABLE}
  54. ${ctkDICOMQuery_EXECUTABLE}
  55. ${ctkDICOMQuery_DB_FILE}
  56. ${ctkDICOMRetrieve_EXECUTABLE}
  57. ${ctkDICOMRetrieve_STORE_DIR}
  58. )
  59. SET_PROPERTY(TEST ctkDICOMApplicationTest1 PROPERTY LABELS ${PROJECT_NAME})
  60. endif (CTK_APP_ctkDICOMQuery AND CTK_APP_ctkDICOMRetrieve)