CMakeLists.txt 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. PROJECT(CTKScriptingPythonCore)
  2. #
  3. # 3rd party dependencies
  4. #
  5. FIND_PACKAGE(PythonQt)
  6. IF(NOT PYTHONQT_FOUND)
  7. MESSAGE(FATAL_ERROR "error: PythonQt package is required to build ${PROJECT_NAME}")
  8. ENDIF()
  9. #
  10. # See CTK/CMake/ctkMacroBuildLib.cmake for details
  11. #
  12. SET(KIT_export_directive "CTK_SCRIPTING_PYTHON_CORE_EXPORT")
  13. # Additional directories to include
  14. SET(KIT_include_directories
  15. ${PYTHON_INCLUDE_DIRS}
  16. ${PYTHONQT_INCLUDE_DIR}
  17. )
  18. # Source files
  19. SET(KIT_SRCS
  20. ctkAbstractPythonManager.cpp
  21. ctkAbstractPythonManager.h
  22. )
  23. # Headers that should run through moc
  24. SET(KIT_MOC_SRCS
  25. ctkAbstractPythonManager.h
  26. )
  27. # UI files
  28. SET(KIT_UI_FORMS
  29. )
  30. # Resources
  31. SET(KIT_resources
  32. )
  33. #
  34. # Configure file describing which Qt modules are wrapped
  35. #
  36. FOREACH(qtlib gui network opengl sql svg uitools webkit xml xmlpatterns)
  37. STRING(TOUPPER ${qtlib} qtlib_uppercase)
  38. SET(CTK_PYTHONQT_WRAP_QT${qtlib_uppercase} ${CTK_PythonQt_Wrap_Qt${qtlib}})
  39. ENDFOREACH()
  40. # TODO Ideally a file named ctkScripingPythonWidgetsConfigure.h should
  41. # also be configured, this file should deal with module depending only on QtGui
  42. CONFIGURE_FILE(
  43. ctkScriptingPythonCoreConfigure.h.in
  44. ${CMAKE_CURRENT_BINARY_DIR}/ctkScriptingPythonCoreConfigure.h
  45. )
  46. # Target libraries - See CMake/ctkMacroGetTargetLibraries.cmake
  47. # The following macro will read the target libraries from the file 'target_libraries.cmake'
  48. ctkMacroGetTargetLibraries(KIT_target_libraries)
  49. ctkMacroBuildLib(
  50. NAME ${PROJECT_NAME}
  51. EXPORT_DIRECTIVE ${KIT_export_directive}
  52. INCLUDE_DIRECTORIES ${KIT_include_directories}
  53. SRCS ${KIT_SRCS}
  54. MOC_SRCS ${KIT_MOC_SRCS}
  55. UI_FORMS ${KIT_UI_FORMS}
  56. TARGET_LIBRARIES ${KIT_target_libraries}
  57. RESOURCES ${KIT_resources}
  58. LIBRARY_TYPE ${CTK_LIBRARY_MODE}
  59. )
  60. # Plugins
  61. #ADD_SUBDIRECTORY(Plugins)
  62. # Testing
  63. IF(BUILD_TESTING)
  64. #ADD_SUBDIRECTORY(Testing)
  65. ENDIF(BUILD_TESTING)