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 3.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. IF(OV_DISABLE_GTK)
  2. MESSAGE(STATUS "Skipping Acquisition Server, no GTK")
  3. RETURN()
  4. ENDIF(OV_DISABLE_GTK)
  5. PROJECT(openvibe-acquisition-server)
  6. SET(PROJECT_VERSION ${OV_GLOBAL_VERSION_STRING})
  7. # We call this first as some dependency getters have been coded to not find the libs on x64 until supported
  8. # ---------------------------------
  9. # ---------------------------------
  10. IF(WIN32)
  11. ADD_DEFINITIONS(-DWIN32_LEAN_AND_MEAN)
  12. ENDIF(WIN32)
  13. INCLUDE("FindOpenViBEContributions")
  14. FILE(GLOB_RECURSE SRC_FILES src/*.cpp src/*.h src/*.inl include/*.h ${CMAKE_SOURCE_DIR}/contrib/common/contribAcquisitionServer.*)
  15. IF(PATH_OPENVIBE_CONTRIBUTIONS)
  16. INCLUDE("${CMAKE_SOURCE_DIR}/contrib/common/contribAcquisitionServer.cmake")
  17. ENDIF(PATH_OPENVIBE_CONTRIBUTIONS)
  18. SET(ADDITIONAL_PATH "${CMAKE_SOURCE_DIR}/plugins/server-extensions/")
  19. FILE(GLOB_RECURSE ADDITIONAL_SRC_FILES ${ADDITIONAL_PATH}/*.cpp ${ADDITIONAL_PATH}/*.h)
  20. SET(SRC_FILES "${SRC_FILES};${ADDITIONAL_SRC_FILES}")
  21. ADD_EXECUTABLE(${PROJECT_NAME} ${SRC_FILES})
  22. TARGET_LINK_LIBRARIES(${PROJECT_NAME}
  23. openvibe-module-labstreamlayer)
  24. SET_PROPERTY(TARGET ${PROJECT_NAME} PROPERTY FOLDER ${APP_FOLDER})
  25. INCLUDE_DIRECTORIES("src/drivers")
  26. INCLUDE_DIRECTORIES("include")
  27. # add include paths for non-contrib server plugins
  28. FILE(GLOB children ${ADDITIONAL_PATH}/*)
  29. FOREACH(FILENAME ${children})
  30. # MESSAGE("Testing ${FILENAME}")
  31. IF(IS_DIRECTORY ${FILENAME})
  32. # MESSAGE("Adding ${FILENAME}")
  33. INCLUDE_DIRECTORIES(${FILENAME})
  34. ENDIF(IS_DIRECTORY ${FILENAME})
  35. ENDFOREACH(FILENAME)
  36. INCLUDE("FindOpenViBE")
  37. INCLUDE("FindOpenViBECommon")
  38. INCLUDE("FindOpenViBEToolkit")
  39. INCLUDE("FindOpenViBEModuleEBML")
  40. INCLUDE("FindOpenViBEModuleSocket")
  41. INCLUDE("FindOpenViBEModuleSystem")
  42. INCLUDE("FindOpenViBEModuleFS")
  43. INCLUDE("FindThirdPartyGTK")
  44. INCLUDE("FindThirdPartyBoost_System")
  45. IF(WIN32)
  46. # @FIXME CERT getting timeBeginPeriod() linker issues without this
  47. TARGET_LINK_LIBRARIES(${PROJECT_NAME} winmm)
  48. ENDIF(WIN32)
  49. # These scripts will also add directives to copy the necessary bin dlls if any
  50. INCLUDE("FindThirdPartyActiCHampAPI")
  51. INCLUDE("FindThirdPartyBioSemiLabViewAPI")
  52. INCLUDE("FindThirdPartyEmotivAPI")
  53. INCLUDE("FindThirdPartyNeXus")
  54. INCLUDE("FindThirdPartyMCS")
  55. INCLUDE("FindThirdPartyMensiaAcquisition")
  56. INCLUDE("FindThirdPartyMicromed")
  57. INCLUDE("FindThirdPartyNeuroelectricsEnobio3G")
  58. INCLUDE("FindThirdPartyNeuroServoDeps")
  59. INCLUDE("FindThirdPartyThinkGearAPI")
  60. INCLUDE("FindThirdPartyTMSi")
  61. INCLUDE("FindThirdPartyUSBFirstAmpAPI")
  62. INCLUDE("FindThirdPartyLiveAmpAPI")
  63. INCLUDE("FindThirdPartyOpenAL")
  64. INCLUDE("FindThirdPartyBoost")
  65. INCLUDE("FindThirdPartyPThread") # for Windows Fieldtrip
  66. INCLUDE("FindThirdPartyRT") # external stims shared memory needs this
  67. INCLUDE("FindThirdPartyLSL")
  68. IF(PATH_OPENVIBE_CONTRIBUTIONS)
  69. LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/contrib/cmake-modules")
  70. INCLUDE("${CMAKE_SOURCE_DIR}/contrib/common/contribAcquisitionServerLinkLibs.cmake")
  71. ENDIF(PATH_OPENVIBE_CONTRIBUTIONS)
  72. IF(NOT(DISABLE_MENSIA_ACQUISITION_DRIVER))
  73. ADD_DEFINITIONS(-DTARGET_HasMensiaAcquisitionDriver)
  74. ENDIF()
  75. # ----------------------
  76. # Generate launch script
  77. # ----------------------
  78. OV_INSTALL_LAUNCH_SCRIPT(SCRIPT_PREFIX "${PROJECT_NAME}" EXECUTABLE_NAME "${PROJECT_NAME}")
  79. # -----------------------------
  80. # Install files
  81. # -----------------------------
  82. INSTALL(TARGETS ${PROJECT_NAME}
  83. RUNTIME DESTINATION ${DIST_BINDIR}
  84. LIBRARY DESTINATION ${DIST_LIBDIR}
  85. ARCHIVE DESTINATION ${DIST_LIBDIR})
  86. CONFIGURE_FILE("share/interface.ui-base" "${CMAKE_CURRENT_BINARY_DIR}/interface.ui")
  87. INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/interface.ui" DESTINATION ${DIST_DATADIR}/openvibe/applications/acquisition-server)
  88. INSTALL(DIRECTORY share/ DESTINATION ${DIST_DATADIR}/openvibe/applications/acquisition-server PATTERN "*-base" EXCLUDE)