You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CMakeLists.txt 4.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. IF(OV_DISABLE_GTK)
  2. MESSAGE(STATUS "Skipping Tracker, no GTK")
  3. RETURN()
  4. ENDIF(OV_DISABLE_GTK)
  5. PROJECT(openvibe-tracker)
  6. SET(PROJECT_VERSION ${OV_GLOBAL_VERSION_STRING})
  7. FILE(GLOB_RECURSE SRC_FILES src/*.cpp src/*.h src/*.inl include/*.h)
  8. # @FIXME bad hack, we are cannibalizing a lot of non-exported code from Designer and Kernel
  9. # Its better than copy-paste but it'd be preferable to either export the necessary materials
  10. # or make another solution.
  11. SET(OV_AVP_PATH "${CMAKE_SOURCE_DIR}/../designer/plugins/visualization/ovp-advanced-visualization/src/")
  12. LIST(APPEND SRC_FILES ${OV_AVP_PATH}/m_defines.hpp
  13. ${OV_AVP_PATH}/m_GtkGL.cpp
  14. ${OV_AVP_PATH}/m_GtkGL.hpp
  15. ${OV_AVP_PATH}/m_VisualizationTools.cpp
  16. ${OV_AVP_PATH}/m_VisualizationTools.hpp
  17. ${OV_AVP_PATH}/mTGtkGLWidget.hpp
  18. ${OV_AVP_PATH}/mIRuler.hpp
  19. )
  20. FILE(GLOB RULER_FILES RELATIVE ${OV_AVP_PATH}/ruler/ *.hpp)
  21. # MESSAGE(STATUS "FOUND ${RULER_FILES} in ${OV_AVP_PATH}")
  22. # AUX_SOURCE_DIRECTORY(${OV_AVP_PATH}/ruler RULER_FILES)
  23. LIST(APPEND SRC_FILES ${RULER_FILES})
  24. # from wip-jlindgre-feature-renderer-offset
  25. ADD_DEFINITIONS("-DRENDERER_SUPPORTS_OFFSET")
  26. SET(OV_DESIGNER_PATH "${CMAKE_SOURCE_DIR}/../designer/applications/platform/designer/src/")
  27. FILE(GLOB designer_files
  28. ${OV_DESIGNER_PATH}/dynamic_settings/*.h ${OV_DESIGNER_PATH}/dynamic_settings/*.cpp
  29. ${OV_DESIGNER_PATH}/ovd_base.h
  30. ${OV_DESIGNER_PATH}/ovdCBoxConfigurationDialog.*
  31. ${OV_DESIGNER_PATH}/ovdCLogListenerDesigner.*
  32. ${OV_DESIGNER_PATH}/ovdCCommentEditorDialog.*
  33. ${OV_DESIGNER_PATH}/ovdCSettingCollectionHelper.*
  34. )
  35. LIST(APPEND SRC_FILES ${designer_files})
  36. configure_file(${OV_DESIGNER_PATH}/../share/interface.ui-base "${CMAKE_CURRENT_BINARY_DIR}/designer-interface.ui")
  37. configure_file(${OV_DESIGNER_PATH}/../share/interface-settings.ui-base "${CMAKE_CURRENT_BINARY_DIR}/designer-interface-settings.ui")
  38. install(FILES "${CMAKE_CURRENT_BINARY_DIR}/designer-interface.ui" DESTINATION ${DIST_DATADIR}/openvibe/applications/tracker)
  39. install(FILES "${CMAKE_CURRENT_BINARY_DIR}/designer-interface-settings.ui" DESTINATION ${DIST_DATADIR}/openvibe/applications/tracker)
  40. SET(OV_KERNEL_PATH "${CMAKE_SOURCE_DIR}/../sdk/kernel/src/kernel/")
  41. FILE(GLOB kernel_files
  42. ${OV_KERNEL_PATH}/scenario/ovkCBoxProto.*
  43. ${OV_KERNEL_PATH}/scenario/ovkTAttributable.h
  44. ${OV_KERNEL_PATH}/ovkTKernelObject.h
  45. )
  46. LIST(APPEND SRC_FILES ${kernel_files})
  47. ADD_EXECUTABLE(${PROJECT_NAME} ${SRC_FILES})
  48. SET_PROPERTY(TARGET ${PROJECT_NAME} PROPERTY FOLDER ${APP_FOLDER})
  49. INCLUDE_DIRECTORIES("include")
  50. INCLUDE_DIRECTORIES(${OV_AVP_PATH})
  51. INCLUDE_DIRECTORIES(${OV_DESIGNER_PATH})
  52. INCLUDE_DIRECTORIES(${OV_KERNEL_PATH})
  53. INCLUDE_DIRECTORIES(${OV_KERNEL_PATH}/scenario)
  54. INCLUDE("FindOpenViBE")
  55. INCLUDE("FindOpenViBECommon")
  56. INCLUDE("FindOpenViBEToolkit")
  57. INCLUDE("FindOpenViBEModuleEBML")
  58. INCLUDE("FindOpenViBEModuleSocket")
  59. INCLUDE("FindOpenViBEModuleSystem")
  60. INCLUDE("FindOpenViBEModuleFS")
  61. INCLUDE("FindOpenViBEModuleMessaging")
  62. INCLUDE("FindOpenViBEModuleXML")
  63. INCLUDE("FindThirdPartyGTK")
  64. INCLUDE("FindThirdPartyBoost_System")
  65. INCLUDE("FindThirdPartyOpenGL")
  66. INCLUDE("FindOpenViBEVisualizationToolkit")
  67. INCLUDE("FindLibMensiaAdvancedVisualisation")
  68. IF(WIN32)
  69. # @FIXME CERT getting timeBeginPeriod() linker issues without this
  70. TARGET_LINK_LIBRARIES(${PROJECT_NAME} winmm)
  71. ENDIF(WIN32)
  72. INCLUDE("FindThirdPartyBoost")
  73. INCLUDE("FindThirdPartyRT") # external stims shared memory needs this
  74. # ---------------------------------
  75. # Target macros
  76. # Defines target operating system, architecture and compiler
  77. # ---------------------------------
  78. IF(WIN32)
  79. ADD_DEFINITIONS(-DWIN32_LEAN_AND_MEAN)
  80. ENDIF(WIN32)
  81. # ----------------------
  82. # Generate launch script
  83. # ----------------------
  84. OV_INSTALL_LAUNCH_SCRIPT(SCRIPT_PREFIX "${PROJECT_NAME}" EXECUTABLE_NAME "${PROJECT_NAME}")
  85. # -----------------------------
  86. # Install files
  87. # -----------------------------
  88. INSTALL(TARGETS ${PROJECT_NAME}
  89. RUNTIME DESTINATION ${DIST_BINDIR}
  90. LIBRARY DESTINATION ${DIST_LIBDIR}
  91. ARCHIVE DESTINATION ${DIST_LIBDIR})
  92. configure_file(share/tracker.ui-base "${CMAKE_CURRENT_BINARY_DIR}/tracker.ui" @ONLY)
  93. install(FILES "${CMAKE_CURRENT_BINARY_DIR}/tracker.ui" DESTINATION ${DIST_DATADIR}/openvibe/applications/tracker)
  94. INSTALL(DIRECTORY signals DESTINATION ${DIST_DATADIR}/openvibe/scenarios/)
  95. INSTALL(DIRECTORY share/ DESTINATION ${DIST_DATADIR}/openvibe/applications/tracker PATTERN "*-base" EXCLUDE)
  96. INSTALL(DIRECTORY workspaces DESTINATION ${DIST_DATADIR}/openvibe/scenarios/)