CMakeLists.txt 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. PROJECT(ctkSimplePythonShell)
  2. #
  3. # 3rd party dependencies
  4. #
  5. INCLUDE(${VTK_USE_FILE})
  6. #
  7. # See CTK/CMake/ctkMacroBuildApp.cmake for details
  8. #
  9. SET(KIT_SRCS
  10. ${CMAKE_CURRENT_BINARY_DIR}/ctkSimplePythonManager.cpp
  11. ctkSimplePythonManager.h
  12. ctkSimplePythonQtDecorators.h
  13. ctkSimplePythonShellMain.cpp
  14. )
  15. # Headers that should run through moc
  16. SET(KIT_MOC_SRCS
  17. ctkSimplePythonManager.h
  18. ctkSimplePythonQtDecorators.h
  19. )
  20. # UI files
  21. SET(KIT_UI_FORMS
  22. )
  23. # Resources
  24. SET(KIT_resources
  25. )
  26. # Set VTK_LIBRARIES variable
  27. SET(VTK_LIBRARIES
  28. vtkCommon
  29. vtkFiltering
  30. )
  31. # Target libraries - See CMake/ctkMacroGetTargetLibraries.cmake
  32. # The following macro will read the target libraries from the file 'target_libraries.cmake'
  33. ctkMacroGetTargetLibraries(KIT_target_libraries)
  34. # Configure file will be configured using CTK_WRAP_PYTHONQT_{LIGHT, FULL} variable
  35. CONFIGURE_FILE(
  36. ctkSimplePythonShellConfigure.h.in
  37. ${CMAKE_CURRENT_BINARY_DIR}/ctkSimplePythonShellConfigure.h
  38. )
  39. IF(CTK_WRAP_PYTHONQT_LIGHT OR CTK_WRAP_PYTHONQT_FULL)
  40. # Update list of target libraries with the list of available PythonQt libraries
  41. # and set variables holding list of pythonqt initialization method
  42. SET(CTK_PYTHONQT_INITIALIZATION_METHOD_DEFINITION)
  43. SET(CTK_PYTHONQT_INITIALIZATION_METHOD_CALL)
  44. FOREACH(lib ${CTK_LIBS})
  45. ctkFunctionExtractOptionNameAndValue(${lib} lib_name lib_value)
  46. IF(${CTK_LIB_${lib_name}})
  47. STRING(REPLACE "/" "" lib_name_no_slash ${lib_name})
  48. LIST(APPEND KIT_target_libraries CTK${lib_name_no_slash}PythonQt)
  49. SET(CTK_PYTHONQT_INITIALIZATION_METHOD_DEFINITION
  50. "${CTK_PYTHONQT_INITIALIZATION_METHOD_DEFINITION}
  51. void PythonQt_init_org_commontk_CTK${lib_name_no_slash}(PyObject*);")
  52. SET(CTK_PYTHONQT_INITIALIZATION_METHOD_CALL
  53. "${CTK_PYTHONQT_INITIALIZATION_METHOD_CALL}
  54. PythonQt_init_org_commontk_CTK${lib_name_no_slash}(0);")
  55. ENDIF()
  56. ENDFOREACH()
  57. ENDIF()
  58. CONFIGURE_FILE(
  59. ctkSimplePythonManager.cpp.in
  60. ${CMAKE_CURRENT_BINARY_DIR}/ctkSimplePythonManager.cpp
  61. )
  62. ctkMacroBuildApp(
  63. NAME ${PROJECT_NAME}
  64. SRCS ${KIT_SRCS}
  65. MOC_SRCS ${KIT_MOC_SRCS}
  66. UI_FORMS ${KIT_UI_FORMS}
  67. TARGET_LIBRARIES ${KIT_target_libraries}
  68. RESOURCES ${KIT_resources}
  69. )
  70. ADD_SUBDIRECTORY(Python)
  71. # Testing
  72. IF(BUILD_TESTING)
  73. # ADD_SUBDIRECTORY(Testing)
  74. ENDIF(BUILD_TESTING)