CMakeLists.txt 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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. ctkCmdLineModuleBackend.cpp
  13. ctkCmdLineModuleCache.cpp
  14. ctkCmdLineModuleCache_p.h
  15. ctkCmdLineModuleConcurrentHelpers.cpp
  16. ctkCmdLineModuleDefaultPathBuilder.cpp
  17. ctkCmdLineModuleDescription.cpp
  18. ctkCmdLineModuleDescription_p.h
  19. ctkCmdLineModuleDirectoryWatcher.cpp
  20. ctkCmdLineModuleDirectoryWatcher_p.h
  21. ctkCmdLineModuleFrontend.cpp
  22. ctkCmdLineModuleFrontendFactory.cpp
  23. ctkCmdLineModuleFuture.cpp
  24. ctkCmdLineModuleFutureInterface_p.h
  25. ctkCmdLineModuleFutureInterface.cpp
  26. ctkCmdLineModuleFutureWatcher.cpp
  27. ctkCmdLineModuleManager.cpp
  28. ctkCmdLineModuleParameter.cpp
  29. ctkCmdLineModuleParameter_p.h
  30. ctkCmdLineModuleParameterGroup.cpp
  31. ctkCmdLineModuleParameterGroup_p.h
  32. ctkCmdLineModuleParameterParsers_p.h
  33. ctkCmdLineModulePathBuilder.cpp
  34. ctkCmdLineModuleResult.h
  35. ctkCmdLineModuleXmlProgressWatcher.cpp
  36. ctkCmdLineModuleReference.cpp
  37. ctkCmdLineModuleRunException.cpp
  38. ctkCmdLineModuleXmlException.cpp
  39. ctkCmdLineModuleXmlMsgHandler_p.h
  40. ctkCmdLineModuleXmlMsgHandler.cpp
  41. ctkCmdLineModuleXmlParser_p.h
  42. ctkCmdLineModuleXmlParser.cpp
  43. ctkCmdLineModuleXmlValidator.cpp
  44. ctkCmdLineModuleXslTransform.cpp
  45. )
  46. # Headers that should run through moc
  47. set(KIT_MOC_SRCS
  48. ctkCmdLineModuleDirectoryWatcher.h
  49. ctkCmdLineModuleDirectoryWatcher_p.h
  50. ctkCmdLineModuleFrontend.h
  51. ctkCmdLineModuleFutureWatcher.h
  52. ctkCmdLineModuleManager.h
  53. )
  54. qt4_wrap_cpp(_dummy ctkCmdLineModuleXmlProgressWatcher.h)
  55. set_source_files_properties(ctkCmdLineModuleXmlProgressWatcher.cpp
  56. PROPERTIES OBJECT_DEPENDS ${_dummy})
  57. # UI files
  58. set(KIT_UI_FORMS
  59. )
  60. # Resources
  61. set(KIT_resources
  62. Resources/ctkCmdLineModules.qrc
  63. )
  64. set(QT_USE_QTXMLPATTERNS 1)
  65. include(${QT_USE_FILE})
  66. # Target libraries - See CMake/ctkFunctionGetTargetLibraries.cmake
  67. # The following macro will read the target libraries from the file 'target_libraries.cmake'
  68. ctkFunctionGetTargetLibraries(KIT_target_libraries)
  69. ctkMacroBuildLib(
  70. NAME ${PROJECT_NAME}
  71. EXPORT_DIRECTIVE ${KIT_export_directive}
  72. INCLUDE_DIRECTORIES ${KIT_include_directories}
  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. target_link_libraries(${PROJECT_NAME} ${QT_LIBRARIES})
  81. if(CTK_WRAP_PYTHONQT_FULL OR CTK_WRAP_PYTHONQT_LIGHT)
  82. ctkMacroBuildLibWrapper(
  83. TARGET ${PROJECT_NAME}
  84. SRCS ${KIT_SRCS}
  85. WRAPPER_LIBRARY_TYPE ${CTK_LIBRARY_MODE}
  86. )
  87. endif()
  88. # Testing
  89. if(BUILD_TESTING)
  90. add_subdirectory(Testing)
  91. endif()