CMakeLists.txt 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. project(CTKDICOMCore)
  2. #
  3. # See CTK/CMake/ctkMacroBuildLib.cmake for details
  4. #
  5. set(KIT_export_directive "CTK_DICOM_CORE_EXPORT")
  6. # Source files
  7. set(KIT_SRCS
  8. ctkDICOMAbstractThumbnailGenerator.cpp
  9. ctkDICOMAbstractThumbnailGenerator.h
  10. ctkDICOMDatabase.cpp
  11. ctkDICOMDatabase.h
  12. ctkDICOMItem.h
  13. ctkDICOMFilterProxyModel.cpp
  14. ctkDICOMFilterProxyModel.h
  15. ctkDICOMIndexer.cpp
  16. ctkDICOMIndexer.h
  17. ctkDICOMIndexer_p.h
  18. ctkDICOMItem.cpp
  19. ctkDICOMItem.h
  20. ctkDICOMModel.cpp
  21. ctkDICOMModel.h
  22. ctkDICOMObjectModel.cpp
  23. ctkDICOMObjectModel.h
  24. ctkDICOMPersonName.cpp
  25. ctkDICOMPersonName.h
  26. ctkDICOMQuery.cpp
  27. ctkDICOMQuery.h
  28. ctkDICOMRetrieve.cpp
  29. ctkDICOMRetrieve.h
  30. ctkDICOMTester.cpp
  31. ctkDICOMTester.h
  32. ctkDICOMUtil.cpp
  33. ctkDICOMUtil.h
  34. )
  35. # Abstract class should not be wrapped !
  36. set_source_files_properties(
  37. ctkDICOMAbstractThumbnailGenerator.h
  38. WRAP_EXCLUDE
  39. )
  40. # Headers that should run through moc
  41. set(KIT_MOC_SRCS
  42. ctkDICOMAbstractThumbnailGenerator.h
  43. ctkDICOMDatabase.h
  44. ctkDICOMIndexer.h
  45. ctkDICOMIndexer_p.h
  46. ctkDICOMFilterProxyModel.h
  47. ctkDICOMModel.h
  48. ctkDICOMObjectModel.h
  49. ctkDICOMQuery.h
  50. ctkDICOMRetrieve.h
  51. ctkDICOMTester.h
  52. )
  53. # UI files
  54. set(KIT_UI_FORMS
  55. )
  56. # Resources
  57. set(KIT_resources
  58. Resources/ctkDICOMCore.qrc
  59. )
  60. # Target libraries - See CMake/ctkFunctionGetTargetLibraries.cmake
  61. # The following macro will read the target libraries from the file 'target_libraries.cmake'
  62. ctkFunctionGetTargetLibraries(KIT_target_libraries)
  63. if(CTK_QT_VERSION VERSION_GREATER "4")
  64. list(APPEND KIT_target_libraries Qt5::Sql Qt5::Gui)
  65. endif()
  66. # create a dcm query/retrieve service config file that points to the build dir
  67. set (DCMQRSCP_STORE_DIR ${CMAKE_CURRENT_BINARY_DIR}/Testing)
  68. configure_file( Resources/dcmqrscp.cfg.in dcmqrscp.cfg )
  69. set (DCMQRSCP_CONFIG ${CMAKE_CURRENT_BINARY_DIR}/dcmqrscp.cfg)
  70. ctkMacroBuildLib(
  71. NAME ${PROJECT_NAME}
  72. EXPORT_DIRECTIVE ${KIT_export_directive}
  73. SRCS ${KIT_SRCS}
  74. MOC_SRCS ${KIT_MOC_SRCS}
  75. UI_FORMS ${KIT_UI_FORMS}
  76. TARGET_LIBRARIES ${KIT_target_libraries}
  77. RESOURCES ${KIT_resources}
  78. LIBRARY_TYPE ${CTK_LIBRARY_MODE}
  79. )
  80. if(DEFINED DCMTK_HAVE_CONFIG_H_OPTIONAL AND NOT DCMTK_HAVE_CONFIG_H_OPTIONAL)
  81. # Workaround Debian packaging issue - See FindDCMTK.cmake for more details
  82. set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_DEFINITIONS ${DCMTK_DEFINITIONS})
  83. if("${CMAKE_VERSION}" VERSION_GREATER 2.8.10)
  84. set_target_properties(${PROJECT_NAME} PROPERTIES INTERFACE_COMPILE_DEFINITIONS ${DCMTK_DEFINITIONS})
  85. endif()
  86. endif()
  87. if(CTK_WRAP_PYTHONQT_LIGHT)
  88. ctkMacroBuildLibWrapper(
  89. TARGET ${PROJECT_NAME}
  90. SRCS ${KIT_SRCS}
  91. WRAPPER_LIBRARY_TYPE ${CTK_LIBRARY_MODE}
  92. )
  93. endif()
  94. # Plugins
  95. #if(CTK_BUILD_QTDESIGNER_PLUGINS)
  96. # add_subdirectory(Plugins)
  97. #endif()
  98. # Testing
  99. if(BUILD_TESTING)
  100. add_subdirectory(Testing)
  101. endif()