CMakeLists.txt 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. project(CTKCommandLineModulesCore)
  2. #
  3. # 3rd party dependencies
  4. #
  5. #
  6. # See CTK/CMake/ctkMacroBuildLib.cmake for details
  7. #
  8. set(KIT_export_directive "CTK_CMDLINEMODULECORE_EXPORT")
  9. # Additional directories to include
  10. # Source files
  11. set(KIT_SRCS
  12. ctkCmdLineModuleDefaultPathBuilder.cpp
  13. ctkCmdLineModuleDescription.cpp
  14. ctkCmdLineModuleDescriptionPrivate.h
  15. ctkCmdLineModuleDirectoryWatcher.cpp
  16. ctkCmdLineModuleDirectoryWatcherPrivate.h
  17. ctkCmdLineModuleInstance.cpp
  18. ctkCmdLineModuleInstanceFactory.cpp
  19. ctkCmdLineModuleManager.cpp
  20. ctkCmdLineModuleParameter.cpp
  21. ctkCmdLineModuleParameterPrivate.cpp
  22. ctkCmdLineModuleParameterGroup.cpp
  23. ctkCmdLineModuleParameterGroupPrivate.h
  24. ctkCmdLineModuleParameterParsers_p.h
  25. ctkCmdLineModulePathBuilder.cpp
  26. ctkCmdLineModuleProcessTask.cpp
  27. ctkCmdLineModuleXmlProgressWatcher.cpp
  28. ctkCmdLineModuleReference.cpp
  29. ctkCmdLineModuleReferencePrivate.cpp
  30. ctkCmdLineModuleRunException.cpp
  31. ctkCmdLineModuleXmlException.cpp
  32. ctkCmdLineModuleXmlMsgHandler_p.h
  33. ctkCmdLineModuleXmlMsgHandler.cpp
  34. ctkCmdLineModuleXmlParser_p.h
  35. ctkCmdLineModuleXmlParser.cpp
  36. ctkCmdLineModuleXmlValidator.cpp
  37. ctkCmdLineModuleXslTransform.cpp
  38. )
  39. # Headers that should run through moc
  40. set(KIT_MOC_SRCS
  41. ctkCmdLineModuleDirectoryWatcher.h
  42. ctkCmdLineModuleDirectoryWatcherPrivate.h
  43. ctkCmdLineModuleManager.h
  44. ctkCmdLineModuleInstance.h
  45. ctkCmdLineModuleProcessTask.h
  46. )
  47. qt4_wrap_cpp(_dummy ctkCmdLineModuleXmlProgressWatcher.h)
  48. set_source_files_properties(ctkCmdLineModuleXmlProgressWatcher.cpp
  49. PROPERTIES OBJECT_DEPENDS ${_dummy})
  50. # UI files
  51. set(KIT_UI_FORMS
  52. )
  53. # Resources
  54. set(KIT_resources
  55. Resources/ctkCmdLineModules.qrc
  56. )
  57. set(QT_USE_QTXMLPATTERNS 1)
  58. include(${QT_USE_FILE})
  59. # Target libraries - See CMake/ctkFunctionGetTargetLibraries.cmake
  60. # The following macro will read the target libraries from the file 'target_libraries.cmake'
  61. ctkFunctionGetTargetLibraries(KIT_target_libraries)
  62. ctkMacroBuildLib(
  63. NAME ${PROJECT_NAME}
  64. EXPORT_DIRECTIVE ${KIT_export_directive}
  65. INCLUDE_DIRECTORIES ${KIT_include_directories}
  66. SRCS ${KIT_SRCS}
  67. MOC_SRCS ${KIT_MOC_SRCS}
  68. UI_FORMS ${KIT_UI_FORMS}
  69. TARGET_LIBRARIES ${KIT_target_libraries}
  70. RESOURCES ${KIT_resources}
  71. LIBRARY_TYPE ${CTK_LIBRARY_MODE}
  72. )
  73. target_link_libraries(${PROJECT_NAME} ${QT_LIBRARIES})
  74. if(CTK_WRAP_PYTHONQT_FULL OR CTK_WRAP_PYTHONQT_LIGHT)
  75. ctkMacroBuildLibWrapper(
  76. TARGET ${PROJECT_NAME}
  77. SRCS ${KIT_SRCS}
  78. WRAPPER_LIBRARY_TYPE ${CTK_LIBRARY_MODE}
  79. )
  80. endif()
  81. # Testing
  82. if(BUILD_TESTING)
  83. add_subdirectory(Testing)
  84. endif()