init
This commit is contained in:
+65
@@ -0,0 +1,65 @@
|
||||
# ---------------------------------
|
||||
# Finds mensia's advanced visualization toolkit
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
option(LINK_LIBADVVIZ "By default, link libadvviz, otherwise only use the includes" ON)
|
||||
option(DYNAMIC_LINK_LIBADVVIZ "Dynamically link libadvviz" OFF)
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE AND CMAKE_GENERATOR MATCHES "Visual Studio*")
|
||||
set(MULTI_BUILD TRUE)
|
||||
elseif(CMAKE_BUILD_TYPE AND OV_PACKAGE)
|
||||
set(SOLO_PACKAGE TRUE)
|
||||
elseif(CMAKE_BUILD_TYPE)
|
||||
set(SOLO_BUILD TRUE)
|
||||
else()
|
||||
message(FATAL_ERROR "Build should specify a type or use a multi-type generator (like Visual Studio)")
|
||||
endif()
|
||||
|
||||
if(DYNAMIC_LINK_LIBADVVIZ)
|
||||
message(STATUS "Dynamic linking libadvviz")
|
||||
set(LIBADVVIZ_LINKING "")
|
||||
add_definitions(-DADVVIZ_Shared)
|
||||
if(WIN32)
|
||||
set(LIB_EXT lib)
|
||||
elseif(APPLE)
|
||||
set(LIB_PREFIX "lib")
|
||||
set(LIB_EXT "dylib")
|
||||
elseif(UNIX)
|
||||
set(LIB_PREFIX "lib")
|
||||
set(LIB_EXT "so")
|
||||
endif()
|
||||
else()
|
||||
message(STATUS "Static linking libadvviz")
|
||||
set(LIBADVVIZ_LINKING "-static")
|
||||
add_definitions(-DADVVIZ_Static)
|
||||
if(WIN32)
|
||||
set(LIB_EXT lib)
|
||||
elseif(UNIX)
|
||||
set(LIB_PREFIX "lib")
|
||||
set(LIB_EXT "a")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# set(PATH_LIBADVVIZ "PATH_LIBADVVIZ-NOTFOUND")
|
||||
if(MULTI_BUILD)
|
||||
# set(DESIGNER_SDK_PATH ${DESIGNER_SDK_PATH}/$<UPPER_CASE:$<CONFIG>>)
|
||||
set(PATH_LIBADVVIZ ${DESIGNER_SDK_PATH}/include)
|
||||
else()
|
||||
find_path(PATH_LIBADVVIZ mensia/ PATHS ${DESIGNER_SDK_PATH}/include/ NO_DEFAULT_PATH)
|
||||
endif()
|
||||
|
||||
if(PATH_LIBADVVIZ)
|
||||
message(STATUS " Found libadvviz... ${PATH_LIBADVVIZ}")
|
||||
include_directories(${PATH_LIBADVVIZ}/)
|
||||
|
||||
if(LINK_LIBADVVIZ)
|
||||
# find_library(PATH libadvviz${LIBADVVIZ_LINKING} PATHS ${DESIGNER_SDK_PATH}/lib NO_DEFAULT_PATH)
|
||||
# set(VISUALIZATION_TOOLKIT_LIBRARY ${DESIGNER_SDK_PATH}/lib/${LIB_PREFIX}libadvviz${LIBADVVIZ_LINKING}.${LIB_EXT})
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PATH_LIBADVVIZ}/../lib/${LIB_PREFIX}mensia-advanced-visualization${LIBADVVIZ_LINKING}.${LIB_EXT})
|
||||
endif()
|
||||
|
||||
add_definitions(-DTARGET_HAS_LibAdvancedVisualization)
|
||||
else()
|
||||
message(WARNING " FAILED to find libadvviz... [${PATH_LIBADVVIZ}]")
|
||||
endif()
|
||||
@@ -0,0 +1,22 @@
|
||||
# ---------------------------------
|
||||
# Finds module Geometry
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_OpenViBEModuleGeometry)
|
||||
|
||||
set(SRC_DIR ${OV_BASE_DIR}/modules/geometry/include)
|
||||
|
||||
FIND_PATH(PATH_OPENVIBE_MODULES_GEOMETRY geometry PATHS ${SRC_DIR} NO_DEFAULT_PATH)
|
||||
IF(PATH_OPENVIBE_MODULES_GEOMETRY)
|
||||
OV_PRINT(OV_PRINTED " Found OpenViBE module Geometry... ${PATH_OPENVIBE_MODULES_GEOMETRY}")
|
||||
INCLUDE_DIRECTORIES(${PATH_OPENVIBE_MODULES_GEOMETRY}/)
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} openvibe-module-geometry)
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_Geometry)
|
||||
ELSE(PATH_OPENVIBE_MODULES_GEOMETRY)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find OpenViBE module Geometry...")
|
||||
ENDIF(PATH_OPENVIBE_MODULES_GEOMETRY)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_OpenViBEModuleGeometry "Yes")
|
||||
|
||||
@@ -0,0 +1,125 @@
|
||||
# ---------------------------------
|
||||
# Finds OpenViBE Designer binary distribution
|
||||
# ---------------------------------
|
||||
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE AND CMAKE_GENERATOR MATCHES "Visual Studio*")
|
||||
set(MULTI_BUILD TRUE)
|
||||
elseif(CMAKE_BUILD_TYPE AND OV_PACKAGE)
|
||||
set(SOLO_PACKAGE TRUE)
|
||||
elseif(CMAKE_BUILD_TYPE)
|
||||
set(SOLO_BUILD TRUE)
|
||||
else()
|
||||
message(FATAL_ERROR "Build should specify a type or use a multi-type generator (like Visual Studio)")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED TRIED_FIND_OVDESIGNER)
|
||||
if(MULTI_BUILD)
|
||||
set(SEEK_PATHS ${DESIGNER_SDK_PATH};${LIST_DEPENDENCIES_PATH})
|
||||
unset(DESIGNER_SDK_PATH CACHE)
|
||||
foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} )
|
||||
# set(OPENVIBE_SDK_PATH ${OPENVIBE_SDK_PATH}/$<UPPER_CASE:$<CONFIG>>)
|
||||
string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIGU )
|
||||
unset(DESIGNER_SDK_PATH_TMP CACHE)
|
||||
find_path(DESIGNER_SDK_PATH_TMP include/visualization-toolkit/ovviz_all.h PATHS ${SEEK_PATHS} PATH_SUFFIXES openvibe-designer-${OUTPUTCONFIG} ${OUTPUTCONFIG} NO_DEFAULT_PATH)
|
||||
set(DESIGNER_SDK_PATH_${OUTPUTCONFIGU} ${DESIGNER_SDK_PATH_TMP})
|
||||
if(DESIGNER_SDK_PATH_TMP)
|
||||
message(STATUS "Found ${OUTPUTCONFIG} of designer at ${DESIGNER_SDK_PATH_TMP}")
|
||||
string(CONCAT DESIGNER_SDK_PATH ${DESIGNER_SDK_PATH} $<$<CONFIG:${OUTPUTCONFIGU}>:${DESIGNER_SDK_PATH_TMP}>)
|
||||
set(AT_LEAST_ONE_DESIGNER_BUILD TRUE)
|
||||
endif()
|
||||
endforeach()
|
||||
if(NOT DEFINED AT_LEAST_ONE_DESIGNER_BUILD)
|
||||
message(FATAL_ERROR "Did not find any valid build of OpenViBE Designer")
|
||||
endif()
|
||||
else() # Regular build
|
||||
# find_path(DESIGNER_SDK_PATH bin PATHS ${DESIGNER_SDK_PATH} PATH_SUFFIXES designer NO_DEFAULT_PATH)
|
||||
find_path(DESIGNER_SDK_PATH include/visualization-toolkit/ovviz_all.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES openvibe-designer-${CMAKE_BUILD_TYPE_LOWER} NO_DEFAULT_PATH)
|
||||
if(NOT DESIGNER_SDK_PATH)
|
||||
MESSAGE(ERROR "Could not find DESIGNER_SDK_PATH (value : ${OPENVIBE_SDK_PATH}). Please either specify it or put OpenViBE designer binaries into dependencies/openvibe-designer-{debug/release} folder")
|
||||
endif()
|
||||
string(REGEX REPLACE "\\\\+" "/" DESIGNER_SDK_PATH ${DESIGNER_SDK_PATH})
|
||||
message(" Found Designer... [${DESIGNER_SDK_PATH}]")
|
||||
endif()
|
||||
set(TRIED_FIND_OVDESIGNER TRUE)
|
||||
endif()
|
||||
|
||||
if(INSTALL_DESIGNER)
|
||||
if(MULTI_BUILD) # Replace with generator expression in CMake 3.5+
|
||||
foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
|
||||
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIGU)
|
||||
file(GLOB EXE_SCRIPT_LIST "${DESIGNER_SDK_PATH_${OUTPUTCONFIGU}}/*.cmd" "${DESIGNER_SDK_PATH_${OUTPUTCONFIGU}}/*.sh")
|
||||
if(EXE_SCRIPT_LIST)
|
||||
foreach(SCRIPT IN LISTS EXE_SCRIPT_LIST)
|
||||
get_filename_component(base_name ${SCRIPT} NAME_WE)
|
||||
if(WIN32)
|
||||
set(exe_name "${base_name}.exe")
|
||||
else()
|
||||
set(exe_name ${base_name})
|
||||
endif()
|
||||
if(WIN32)
|
||||
SET(SCRIPT_POSTFIX ".cmd")
|
||||
elseif(APPLE)
|
||||
set(SCRIPT_POSTFIX "-macos.sh")
|
||||
elseif(UNIX)
|
||||
# Debian recommends that extensions such as .sh are not used; On Linux, scripts with such extensions shouldn't be packaged
|
||||
set(SCRIPT_POSTFIX ".sh")
|
||||
endif()
|
||||
set(OV_CMD_EXECUTABLE ${exe_name})
|
||||
# IF(WIN32)
|
||||
# SET(OV_CMD_EXECUTABLE "%OV_PATH_ROOT%/bin/${exe_name}")
|
||||
# ENDIF()
|
||||
set(SCRIPT_NAME ${base_name}${SCRIPT_POSTFIX})
|
||||
set(OV_CMD_ARGS "")
|
||||
set(OV_PAUSE "")
|
||||
|
||||
configure_file(${OV_LAUNCHER_SOURCE_PATH}/openvibe-launcher${SCRIPT_POSTFIX}-base ${CMAKE_CURRENT_BINARY_DIR}/${SCRIPT_NAME} @ONLY)
|
||||
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${SCRIPT_NAME} DESTINATION ${DIST_ROOT})
|
||||
endforeach()
|
||||
endif()
|
||||
install(DIRECTORY ${DESIGNER_SDK_PATH_${OUTPUTCONFIGU}}/include/ DESTINATION ${DIST_INCLUDEDIR} CONFIGURATIONS ${OUTPUTCONFIG})
|
||||
install(DIRECTORY ${DESIGNER_SDK_PATH_${OUTPUTCONFIGU}}/bin/ DESTINATION ${DIST_BINDIR} CONFIGURATIONS ${OUTPUTCONFIG} USE_SOURCE_PERMISSIONS) # FILES_MATCHING PATTERN "openvibe-plugins*dll") or *so*
|
||||
install(DIRECTORY ${DESIGNER_SDK_PATH_${OUTPUTCONFIGU}}/lib/ DESTINATION ${DIST_LIBDIR} CONFIGURATIONS ${OUTPUTCONFIG}) # FILES_MATCHING PATTERN "openvibe-plugins*dll")
|
||||
install(DIRECTORY ${DESIGNER_SDK_PATH_${OUTPUTCONFIGU}}/etc/ DESTINATION ${DIST_SYSCONFDIR} CONFIGURATIONS ${OUTPUTCONFIG} OPTIONAL)
|
||||
install(DIRECTORY ${DESIGNER_SDK_PATH_${OUTPUTCONFIGU}}/share/ DESTINATION ${DIST_DATADIR} CONFIGURATIONS ${OUTPUTCONFIG})
|
||||
if(DESIGNER_SDK_PATH_${OUTPUTCONFIGU})
|
||||
file(COPY "${DESIGNER_SDK_PATH_${OUTPUTCONFIGU}}/share/openvibe/applications/designer/designer.conf" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
file(RENAME ${CMAKE_CURRENT_BINARY_DIR}/designer.conf ${CMAKE_CURRENT_BINARY_DIR}/designer.conf_${OUTPUTCONFIG})
|
||||
file(READ ${CMAKE_CURRENT_BINARY_DIR}/designer.conf_${OUTPUTCONFIG} FILE_CONTENT)
|
||||
set(MATCH_EXPR "(ProjectVersion_Components *= *.\{[^\}]+)(.\}\n)")
|
||||
string(REGEX REPLACE ${MATCH_EXPR} "\\1, \"openvibe-extras\":\"${OV_GLOBAL_VERSION_STRING}\"\\2" FILE_CONTENT ${FILE_CONTENT})
|
||||
set(MATCH_EXPR "(Designer_WebBrowserHelpURLBase *= *\\$\{[^\}]+\}/documentation)/[\\.0-9a-zA-Z]+\n")
|
||||
string(REGEX REPLACE ${MATCH_EXPR} "\\1/${OV_GLOBAL_VERSION_STRING}\n" FILE_CONTENT ${FILE_CONTENT})
|
||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/designer.conf_${OUTPUTCONFIG} ${FILE_CONTENT})
|
||||
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/designer.conf_${OUTPUTCONFIG} "Application_Name = OpenViBE Designer\nApplication_Version = ${OV_GLOBAL_VERSION_STRING}\nAcquisitionServer_HostName = localhost\n")
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/designer.conf_${OUTPUTCONFIG}" DESTINATION "${DIST_DATADIR}/openvibe/applications/designer" RENAME designer.conf CONFIGURATIONS ${OUTPUTCONFIG})
|
||||
endif()
|
||||
endforeach()
|
||||
else()
|
||||
file(GLOB EXE_SCRIPT_LIST "${DESIGNER_SDK_PATH}/*.cmd" "${DESIGNER_SDK_PATH}/*.sh")
|
||||
foreach(SCRIPT IN LISTS EXE_SCRIPT_LIST)
|
||||
get_filename_component(base_name ${SCRIPT} NAME_WE)
|
||||
if(WIN32)
|
||||
set(exe_name "${base_name}.exe")
|
||||
else()
|
||||
set(exe_name ${base_name})
|
||||
endif()
|
||||
OV_INSTALL_LAUNCH_SCRIPT(SCRIPT_PREFIX ${base_name} EXECUTABLE_NAME ${exe_name} NOPROJECT)
|
||||
endforeach()
|
||||
install(DIRECTORY ${DESIGNER_SDK_PATH}/include/ DESTINATION ${DIST_INCLUDEDIR})
|
||||
install(DIRECTORY ${DESIGNER_SDK_PATH}/bin/ DESTINATION ${DIST_BINDIR} USE_SOURCE_PERMISSIONS) # FILES_MATCHING PATTERN "openvibe-plugins*dll") or *so*
|
||||
install(DIRECTORY ${DESIGNER_SDK_PATH}/lib/ DESTINATION ${DIST_LIBDIR}) # FILES_MATCHING PATTERN "openvibe-plugins*dll")
|
||||
install(DIRECTORY ${DESIGNER_SDK_PATH}/etc/ DESTINATION ${DIST_SYSCONFDIR} OPTIONAL)
|
||||
install(DIRECTORY ${DESIGNER_SDK_PATH}/share/ DESTINATION ${DIST_DATADIR})
|
||||
file(COPY "${DESIGNER_SDK_PATH}/share/openvibe/applications/designer/designer.conf" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
file(READ ${CMAKE_CURRENT_BINARY_DIR}/designer.conf FILE_CONTENT)
|
||||
set(MATCH_EXPR "(ProjectVersion_Components *= *.\{[^\}]+)(.\}\n)")
|
||||
string(REGEX REPLACE ${MATCH_EXPR} "\\1, \"openvibe-extras\":\"${OV_GLOBAL_VERSION_STRING}\"\\2" FILE_CONTENT ${FILE_CONTENT})
|
||||
set(MATCH_EXPR "(Designer_WebBrowserHelpURLBase *= *\\$\{[^\}]+\}/documentation)/[\\.0-9a-zA-Z]+\n")
|
||||
string(REGEX REPLACE ${MATCH_EXPR} "\\1/${OV_GLOBAL_VERSION_STRING}\n" FILE_CONTENT ${FILE_CONTENT})
|
||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/designer.conf ${FILE_CONTENT})
|
||||
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/designer.conf "Application_Name = OpenViBE Designer\nApplication_Version = ${OV_GLOBAL_VERSION_STRING}\nAcquisitionServer_HostName = localhost\n")
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/designer.conf DESTINATION "${DIST_DATADIR}/openvibe/applications/designer")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -0,0 +1,112 @@
|
||||
# ---------------------------------
|
||||
# Finds OpenViBE SDK binary distribution
|
||||
# ---------------------------------
|
||||
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE AND CMAKE_GENERATOR MATCHES "Visual Studio*")
|
||||
set(MULTI_BUILD TRUE)
|
||||
elseif(CMAKE_BUILD_TYPE AND OV_PACKAGE)
|
||||
set(SOLO_PACKAGE TRUE)
|
||||
elseif(CMAKE_BUILD_TYPE)
|
||||
set(SOLO_BUILD TRUE)
|
||||
else()
|
||||
message(FATAL_ERROR "Build should specify a type or use a multi-type generator (like Visual Studio)")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED TRIED_FIND_OVSDK)
|
||||
if(MULTI_BUILD)
|
||||
set(SEEK_PATHS ${OPENVIBE_SDK_PATH};${LIST_DEPENDENCIES_PATH})
|
||||
unset(OPENVIBE_SDK_PATH CACHE)
|
||||
foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} )
|
||||
# set(OPENVIBE_SDK_PATH ${OPENVIBE_SDK_PATH}/$<UPPER_CASE:$<CONFIG>>)
|
||||
string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIGU )
|
||||
unset(OPENVIBE_SDK_PATH_TMP CACHE)
|
||||
find_path(OPENVIBE_SDK_PATH_TMP include/openvibe/ov_all.h PATHS ${SEEK_PATHS} PATH_SUFFIXES openvibe-sdk-${OUTPUTCONFIG} ${OUTPUTCONFIG} NO_DEFAULT_PATH)
|
||||
set(OPENVIBE_SDK_PATH_${OUTPUTCONFIGU} ${OPENVIBE_SDK_PATH_TMP})
|
||||
if(OPENVIBE_SDK_PATH_TMP)
|
||||
message(STATUS "Found ${OUTPUTCONFIG} of sdk at ${OPENVIBE_SDK_PATH_TMP}")
|
||||
string(CONCAT OPENVIBE_SDK_PATH ${OPENVIBE_SDK_PATH} $<$<CONFIG:${OUTPUTCONFIGU}>:${OPENVIBE_SDK_PATH_TMP}>)
|
||||
set(AT_LEAST_ONE_OV_BUILD TRUE)
|
||||
endif()
|
||||
endforeach()
|
||||
if(NOT DEFINED AT_LEAST_ONE_OV_BUILD)
|
||||
message(FATAL_ERROR "Did not find any valid build of OpenViBE SDK")
|
||||
endif()
|
||||
else() # Regular build
|
||||
string(TOLOWER CMAKE_BUILD_TYPE OV_SDK_BUILD_TYPE)
|
||||
find_path(${OPENVIBE_SDK_PATH} include/openvibe/ov_all.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES openvibe-sdk-${OV_SDK_BUILD_TYPE} NO_DEFAULT_PATH)
|
||||
if(${OPENVIBE_SDK_PATH} STREQUAL "OPENVIBE_SDK_PATH-NOTFOUND")
|
||||
message(FATAL_ERROR " FAILED to find OpenViBE SDK [${OPENVIBE_SDK_PATH}]")
|
||||
endif()
|
||||
string(REGEX REPLACE "\\\\+" "/" OPENVIBE_SDK_PATH ${OPENVIBE_SDK_PATH})
|
||||
message(STATUS " Found OpenViBE SDK... [${OPENVIBE_SDK_PATH}]")
|
||||
endif()
|
||||
set(TRIED_FIND_OVSDK TRUE)
|
||||
endif()
|
||||
|
||||
if(INSTALL_SDK)
|
||||
if(MULTI_BUILD) # Replace with generator expression in CMake 3.5+
|
||||
foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
|
||||
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIGU)
|
||||
file(GLOB EXE_SCRIPT_LIST "${OPENVIBE_SDK_PATH_${OUTPUTCONFIGU}}/*.cmd" "${OPENVIBE_SDK_PATH_${OUTPUTCONFIGU}}/*.sh")
|
||||
if(EXE_SCRIPT_LIST)
|
||||
foreach(SCRIPT IN LISTS EXE_SCRIPT_LIST)
|
||||
get_filename_component(base_name ${SCRIPT} NAME_WE)
|
||||
if(WIN32)
|
||||
set(exe_name "${base_name}.exe")
|
||||
else()
|
||||
set(exe_name ${base_name})
|
||||
endif()
|
||||
IF(WIN32)
|
||||
SET(SCRIPT_POSTFIX ".cmd")
|
||||
ELSEIF(APPLE)
|
||||
SET(SCRIPT_POSTFIX "-macos.sh")
|
||||
ELSEIF(UNIX)
|
||||
# Debian recommends that extensions such as .sh are not used; On Linux, scripts with such extensions shouldn't be packaged
|
||||
SET(SCRIPT_POSTFIX ".sh")
|
||||
ENDIF()
|
||||
SET(OV_CMD_EXECUTABLE ${exe_name})
|
||||
# IF(WIN32)
|
||||
# SET(OV_CMD_EXECUTABLE "%OV_PATH_ROOT%/bin/${exe_name}")
|
||||
# ENDIF()
|
||||
SET(SCRIPT_NAME ${base_name}${SCRIPT_POSTFIX})
|
||||
SET(OV_CMD_ARGS "")
|
||||
SET(OV_PAUSE "")
|
||||
|
||||
CONFIGURE_FILE(${OV_LAUNCHER_SOURCE_PATH}/openvibe-launcher${SCRIPT_POSTFIX}-base ${CMAKE_CURRENT_BINARY_DIR}/${SCRIPT_NAME} @ONLY)
|
||||
INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${SCRIPT_NAME} DESTINATION ${DIST_ROOT})
|
||||
endforeach()
|
||||
endif()
|
||||
install(DIRECTORY ${OPENVIBE_SDK_PATH_${OUTPUTCONFIGU}}/include/ DESTINATION ${DIST_INCLUDEDIR} CONFIGURATIONS ${OUTPUTCONFIG})
|
||||
install(DIRECTORY ${OPENVIBE_SDK_PATH_${OUTPUTCONFIGU}}/bin/ DESTINATION ${DIST_BINDIR} CONFIGURATIONS ${OUTPUTCONFIG} USE_SOURCE_PERMISSIONS) # FILES_MATCHING PATTERN "openvibe-plugins*dll") or *so*
|
||||
install(DIRECTORY ${OPENVIBE_SDK_PATH_${OUTPUTCONFIGU}}/lib/ DESTINATION ${DIST_LIBDIR} CONFIGURATIONS ${OUTPUTCONFIG}) # FILES_MATCHING PATTERN "openvibe-plugins*dll")
|
||||
install(DIRECTORY ${OPENVIBE_SDK_PATH_${OUTPUTCONFIGU}}/etc/ DESTINATION ${DIST_SYSCONFDIR} CONFIGURATIONS ${OUTPUTCONFIG} OPTIONAL)
|
||||
install(DIRECTORY ${OPENVIBE_SDK_PATH_${OUTPUTCONFIGU}}/share/ DESTINATION ${DIST_DATADIR} CONFIGURATIONS ${OUTPUTCONFIG})
|
||||
if(OPENVIBE_SDK_PATH_${OUTPUTCONFIGU})
|
||||
file(COPY "${OPENVIBE_SDK_PATH_${OUTPUTCONFIGU}}/share/openvibe/kernel/openvibe.conf" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
file(RENAME ${CMAKE_CURRENT_BINARY_DIR}/openvibe.conf ${CMAKE_CURRENT_BINARY_DIR}/openvibe.conf_${OUTPUTCONFIG})
|
||||
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/openvibe.conf_${OUTPUTCONFIG} "Application_Name = Player\nApplication_Version = ${OV_GLOBAL_VERSION_STRING}\nAcquisitionServer_HostName = localhost\n")
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/openvibe.conf_${OUTPUTCONFIG} DESTINATION "${DIST_DATADIR}/openvibe/kernel" RENAME openvibe.conf CONFIGURATIONS ${OUTPUTCONFIG})
|
||||
endif()
|
||||
endforeach()
|
||||
else()
|
||||
file(GLOB EXE_SCRIPT_LIST "${OPENVIBE_SDK_PATH}/*.cmd" "${OPENVIBE_SDK_PATH}/*.sh")
|
||||
foreach(SCRIPT IN LISTS EXE_SCRIPT_LIST)
|
||||
get_filename_component(base_name ${SCRIPT} NAME_WE)
|
||||
if(WIN32)
|
||||
set(exe_name "${base_name}.exe")
|
||||
else()
|
||||
set(exe_name ${base_name})
|
||||
endif()
|
||||
OV_INSTALL_LAUNCH_SCRIPT(SCRIPT_PREFIX ${base_name} EXECUTABLE_NAME ${exe_name} NOPROJECT)
|
||||
endforeach()
|
||||
install(DIRECTORY ${OPENVIBE_SDK_PATH}/include/ DESTINATION ${DIST_INCLUDEDIR})
|
||||
install(DIRECTORY ${OPENVIBE_SDK_PATH}/bin/ DESTINATION ${DIST_BINDIR} USE_SOURCE_PERMISSIONS) # FILES_MATCHING PATTERN "openvibe-plugins*dll") or *so*
|
||||
install(DIRECTORY ${OPENVIBE_SDK_PATH}/lib/ DESTINATION ${DIST_LIBDIR}) # FILES_MATCHING PATTERN "openvibe-plugins*dll")
|
||||
install(DIRECTORY ${OPENVIBE_SDK_PATH}/etc/ DESTINATION ${DIST_SYSCONFDIR} OPTIONAL)
|
||||
install(DIRECTORY ${OPENVIBE_SDK_PATH}/share/ DESTINATION ${DIST_DATADIR})
|
||||
file(COPY "${OPENVIBE_SDK_PATH}/share/openvibe/kernel/openvibe.conf" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/openvibe.conf "Application_Name = Player\nApplication_Version = ${OV_GLOBAL_VERSION_STRING}\nAcquisitionServer_HostName = localhost\n")
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/openvibe.conf DESTINATION "${DIST_DATADIR}/openvibe/kernel")
|
||||
endif()
|
||||
endif()
|
||||
@@ -0,0 +1,12 @@
|
||||
# ---------------------------------
|
||||
# Finds OpenViBE
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_OpenViBE)
|
||||
|
||||
SET(INCLUDED_OV_SDK_COMPONENTS MAIN)
|
||||
INCLUDE(AddOpenViBESDKComponents)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_OpenViBE "Yes")
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# ---------------------------------
|
||||
# Finds OpenViBE common include files
|
||||
# Adds dependency to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_OpenViBECommon)
|
||||
|
||||
SET(INCLUDED_OV_SDK_COMPONENTS COMMON)
|
||||
INCLUDE(AddOpenViBESDKComponents)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_OpenViBECommon "Yes")
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
# ---------------------------------
|
||||
# Finds OpenViBE contributions
|
||||
# Only serves to set up a define for the preprocessor
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_OpenViBEContributions)
|
||||
|
||||
FIND_PATH(PATH_OPENVIBE_CONTRIBUTIONS common/contribAcquisitionServer.cmake PATHS ${OV_BASE_DIR}/contrib NO_DEFAULT_PATH)
|
||||
IF(PATH_OPENVIBE_CONTRIBUTIONS)
|
||||
OV_PRINT(OV_PRINTED " Found openvibe-contributions...")
|
||||
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_OpenViBEContributions)
|
||||
ELSE(PATH_OPENVIBE_CONTRIBUTIONS)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find openvibe-contributions...")
|
||||
ENDIF(PATH_OPENVIBE_CONTRIBUTIONS)
|
||||
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_OpenViBEContributions "Yes")
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# ---------------------------------
|
||||
# Finds module EBML
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_OpenViBEModuleEBML)
|
||||
|
||||
SET(INCLUDED_OV_SDK_COMPONENTS EBML)
|
||||
INCLUDE(AddOpenViBESDKComponents)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_OpenViBEModuleEBML "Yes")
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# ---------------------------------
|
||||
# Finds module FS
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_OpenViBEModuleFS)
|
||||
|
||||
SET(INCLUDED_OV_SDK_COMPONENTS FS)
|
||||
INCLUDE(AddOpenViBESDKComponents)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_OpenViBEModuleFS "Yes")
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# ---------------------------------
|
||||
# Finds module Messaging
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_OpenViBEModuleMessaging)
|
||||
|
||||
SET(INCLUDED_OV_SDK_COMPONENTS COMMUNICATION)
|
||||
INCLUDE(AddOpenViBESDKComponents)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_OpenViBEModuleMessaging "Yes")
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# ---------------------------------
|
||||
# Finds module Socket
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_OpenViBEModuleSocket)
|
||||
|
||||
SET(INCLUDED_OV_SDK_COMPONENTS SOCKET)
|
||||
INCLUDE(AddOpenViBESDKComponents)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_OpenViBEModuleSocket "Yes")
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# ---------------------------------
|
||||
# Finds module System
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_OpenViBEModuleSystem)
|
||||
|
||||
SET(INCLUDED_OV_SDK_COMPONENTS SYSTEM)
|
||||
INCLUDE(AddOpenViBESDKComponents)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_OpenViBEModuleSystem "Yes")
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
# ---------------------------------
|
||||
# Finds module TCPTagging
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_OpenViBEModuleTCPTagging)
|
||||
|
||||
OPTION(DYNAMIC_LINK_OPENVIBE_MODULE_TCPTAGGING "Dynamically link OpenViBE module TCPTagging" ON)
|
||||
|
||||
IF(DYNAMIC_LINK_OPENVIBE_MODULE_TCPTAGGING)
|
||||
SET(OPENVIBE_MODULE_TCPTAGGING_LINKING "")
|
||||
ELSE(DYNAMIC_LINK_OPENVIBE_MODULE_TCPTAGGING)
|
||||
SET(OPENVIBE_MODULE_TCPTAGGING_LINKING "-static")
|
||||
ENDIF(DYNAMIC_LINK_OPENVIBE_MODULE_TCPTAGGING)
|
||||
|
||||
set(SRC_DIR ${OV_BASE_DIR}/modules/tcptagging/include)
|
||||
|
||||
FIND_PATH(PATH_OPENVIBE_MODULES_TCPTAGGING tcptagging/defines.h PATHS ${SRC_DIR} NO_DEFAULT_PATH)
|
||||
IF(PATH_OPENVIBE_MODULES_TCPTAGGING)
|
||||
OV_PRINT(OV_PRINTED " Found OpenViBE module TCPTagging... ${PATH_OPENVIBE_MODULES_TCPTAGGING}")
|
||||
INCLUDE_DIRECTORIES(${PATH_OPENVIBE_MODULES_TCPTAGGING}/)
|
||||
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} openvibe-module-tcptagging${OPENVIBE_MODULE_TCPTAGGING_LINKING})
|
||||
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_TCPTagging)
|
||||
ELSE(PATH_OPENVIBE_MODULES_TCPTAGGING)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find OpenViBE module TCPTagging...")
|
||||
ENDIF(PATH_OPENVIBE_MODULES_TCPTAGGING)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_OpenViBEModuleTCPTagging "Yes")
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# ---------------------------------
|
||||
# Finds module XML
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_OpenViBEModuleXML)
|
||||
|
||||
SET(INCLUDED_OV_SDK_COMPONENTS XML)
|
||||
INCLUDE(AddOpenViBESDKComponents)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_OpenViBEModuleXML "Yes")
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# ---------------------------------
|
||||
# Finds openvibe-toolkit
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_OpenViBEToolkit)
|
||||
|
||||
SET(INCLUDED_OV_SDK_COMPONENTS TOOLKIT)
|
||||
INCLUDE(AddOpenViBESDKComponents)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_OpenViBEToolkit "Yes")
|
||||
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
# ---------------------------------
|
||||
# Finds openvibe-toolkit
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
option(LINK_OPENVIBE_VISUALIZATION_TOOLKIT "By default, link openvibe-visualization-toolkit, otherwise only use the includes" ON)
|
||||
option(DYNAMIC_LINK_OPENVIBE_VISUALIZATION_TOOLKIT "Dynamically link openvibe-visualization-toolkit" ON)
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE AND CMAKE_GENERATOR MATCHES "Visual Studio*")
|
||||
set(MULTI_BUILD TRUE)
|
||||
elseif(CMAKE_BUILD_TYPE AND OV_PACKAGE)
|
||||
set(SOLO_PACKAGE TRUE)
|
||||
elseif(CMAKE_BUILD_TYPE)
|
||||
set(SOLO_BUILD TRUE)
|
||||
else()
|
||||
message(FATAL_ERROR "Build should specify a type or use a multi-type generator (like Visual Studio)")
|
||||
endif()
|
||||
|
||||
if(DYNAMIC_LINK_OPENVIBE_VISUALIZATION_TOOLKIT)
|
||||
set(OPENVIBE_VISUALIZATION_TOOLKIT_LINKING "")
|
||||
add_definitions(-DOVVIZ_Shared)
|
||||
if(WIN32)
|
||||
set(LIB_EXT lib)
|
||||
elseif(APPLE)
|
||||
set(LIB_PREFIX "lib")
|
||||
set(LIB_EXT "dylib")
|
||||
elseif(UNIX)
|
||||
set(LIB_PREFIX "lib")
|
||||
set(LIB_EXT "so")
|
||||
endif()
|
||||
else()
|
||||
set(OPENVIBE_VISUALIZATION_TOOLKIT_LINKING "-static")
|
||||
add_definitions(-DOVVIZ_Static)
|
||||
if(WIN32)
|
||||
set(LIB_EXT lib)
|
||||
elseif(UNIX)
|
||||
set(LIB_PREFIX "lib")
|
||||
set(LIB_EXT "a")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# set(PATH_OPENVIBE_VISUALIZATION_TOOLKIT "PATH_OPENVIBE_VISUALIZATION_TOOLKIT-NOTFOUND")
|
||||
if(MULTI_BUILD)
|
||||
# set(DESIGNER_SDK_PATH ${DESIGNER_SDK_PATH}/$<UPPER_CASE:$<CONFIG>>)
|
||||
set(PATH_OPENVIBE_VISUALIZATION_TOOLKIT ${DESIGNER_SDK_PATH}/include)
|
||||
else()
|
||||
find_path(PATH_OPENVIBE_VISUALIZATION_TOOLKIT visualization-toolkit/ovviz_all.h PATHS ${DESIGNER_SDK_PATH}/include/ NO_DEFAULT_PATH)
|
||||
endif()
|
||||
|
||||
if(PATH_OPENVIBE_VISUALIZATION_TOOLKIT)
|
||||
message(STATUS " Found openvibe-visualization-toolkit... ${PATH_OPENVIBE_VISUALIZATION_TOOLKIT}")
|
||||
include_directories(${PATH_OPENVIBE_VISUALIZATION_TOOLKIT}/)
|
||||
|
||||
if(LINK_OPENVIBE_VISUALIZATION_TOOLKIT)
|
||||
# find_library(VISUALIZATION_TOOLKIT_LIBRARY openvibe-visualization-toolkit${OPENVIBE_VISUALIZATION_TOOLKIT_LINKING} PATHS ${DESIGNER_SDK_PATH}/lib NO_DEFAULT_PATH)
|
||||
set(VISUALIZATION_TOOLKIT_LIBRARY ${DESIGNER_SDK_PATH}/lib/${LIB_PREFIX}openvibe-visualization-toolkit${OPENVIBE_VISUALIZATION_TOOLKIT_LINKING}.${LIB_EXT})
|
||||
target_link_libraries(${PROJECT_NAME} ${VISUALIZATION_TOOLKIT_LIBRARY})
|
||||
endif()
|
||||
|
||||
add_definitions(-DTARGET_HAS_OpenViBEVisualizationToolkit)
|
||||
else()
|
||||
message(WARNING " FAILED to find openvibe-visualization-toolkit... [${PATH_OPENVIBE_VISUALIZATION_TOOLKIT}]")
|
||||
endif()
|
||||
@@ -0,0 +1,57 @@
|
||||
# /*
|
||||
# * FindThirdPartyActiCHampAPI.cmake
|
||||
# *
|
||||
# * Copyright (c) 2012, Mensia Technologies SA. All rights reserved.
|
||||
# * -- Rights transferred to Inria, contract signed 21.11.2014
|
||||
# *
|
||||
# */
|
||||
|
||||
# ---------------------------------
|
||||
# Finds ActiCHamp library
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyActiCHampAPI)
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PATH(PATH_ActiCHampAPI ActiChamp.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES sdk_brainproducts_actichamp)
|
||||
IF(PATH_ActiCHampAPI)
|
||||
OV_PRINT(OV_PRINTED " Found Brain Products actiCHamp API...")
|
||||
INCLUDE_DIRECTORIES(${PATH_ActiCHampAPI})
|
||||
|
||||
IF("${PLATFORM_TARGET}" STREQUAL "x64")
|
||||
SET(ACTICHAMP_LIBPREFIX "ActiChamp_x64")
|
||||
ELSE()
|
||||
SET(ACTICHAMP_LIBPREFIX "ActiChamp_x86")
|
||||
ENDIF()
|
||||
|
||||
FIND_LIBRARY(LIB_ActiCHampAPI ${ACTICHAMP_LIBPREFIX}.lib PATHS ${PATH_ActiCHampAPI} )
|
||||
IF(LIB_ActiCHampAPI)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_ActiCHampAPI}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_ActiCHampAPI} )
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib actiCHamp")
|
||||
ENDIF()
|
||||
|
||||
FIND_FILE(FIRMWARE_ActiCHampAPI ActiChamp.bit PATHS ${PATH_ActiCHampAPI} )
|
||||
IF(FIRMWARE_ActiCHampAPI)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] firmware ${FIRMWARE_ActiCHampAPI}")
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " [FAILED] firmware actiCHamp")
|
||||
ENDIF()
|
||||
|
||||
# Copy the DLL file at install
|
||||
INSTALL(PROGRAMS "${PATH_ActiCHampAPI}/${ACTICHAMP_LIBPREFIX}.dll" DESTINATION ${DIST_BINDIR})
|
||||
|
||||
# Copy the firmware file at install
|
||||
INSTALL(PROGRAMS "${FIRMWARE_ActiCHampAPI}" DESTINATION ${DIST_BINDIR})
|
||||
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyActiCHampAPI)
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " FAILED to find Brain Products actiCHamp API (optional driver)")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyActiCHampAPI "Yes")
|
||||
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
# ---------------------------------
|
||||
# Finds BioSemi LabView API
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyBioSemiLabViewAPI)
|
||||
|
||||
IF(WIN32)
|
||||
# note: care must be taken here that lib of wrong bitness is not picked
|
||||
IF("${PLATFORM_TARGET}" STREQUAL "x64")
|
||||
SET(PATH_BioSemiAPI "C:/Program Files/BioSemi/Developers_kit/C-code")
|
||||
ELSE()
|
||||
SET(PATH_BioSemiAPI "C:/Program Files (x86)/BioSemi/Developers_kit/C-code")
|
||||
ENDIF()
|
||||
|
||||
FIND_FILE(LABVIEW_HEADER labview_dll.h
|
||||
PATHS ${PATH_BioSemiAPI}
|
||||
NO_SYSTEM_ENVIRONMENT_PATH
|
||||
NO_DEFAULT_PATH)
|
||||
|
||||
IF(LABVIEW_HEADER)
|
||||
OV_PRINT(OV_PRINTED " Found BioSemi LabView API...")
|
||||
INCLUDE_DIRECTORIES(${PATH_BioSemiAPI})
|
||||
FIND_LIBRARY(LIB_BioSemiAPI Labview_DLL PATHS ${PATH_BioSemiAPI} NO_SYSTEM_ENVIRONMENT_PATH NO_DEFAULT_PATH)
|
||||
IF(LIB_BioSemiAPI)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_BioSemiAPI}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_BioSemiAPI} )
|
||||
ELSE(LIB_BioSemiAPI)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib Labview_DLL")
|
||||
ENDIF(LIB_BioSemiAPI)
|
||||
|
||||
# Copy the DLL file at install
|
||||
INSTALL(PROGRAMS "${PATH_BioSemiAPI}/Labview_DLL.dll" DESTINATION ${DIST_BINDIR})
|
||||
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyBioSemiAPI)
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " FAILED to find BioSemi LabView API (optional driver)")
|
||||
ENDIF()
|
||||
ENDIF(WIN32)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyBioSemiLabViewAPI "Yes")
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
# ---------------------------------
|
||||
# Finds third party boost
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost)
|
||||
|
||||
FIND_PATH(PATH_BOOST "include/boost/config/auto_link.hpp" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES boost NO_DEFAULT_PATH)
|
||||
FIND_PATH(PATH_BOOST "include/boost/config/auto_link.hpp" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES boost)
|
||||
|
||||
IF(PATH_BOOST)
|
||||
OV_PRINT(OV_PRINTED " Found boost includes...")
|
||||
INCLUDE_DIRECTORIES(${PATH_BOOST}/include)
|
||||
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_Boost)
|
||||
ELSE(PATH_BOOST)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find boost includes...")
|
||||
ENDIF(PATH_BOOST)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost "Yes")
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
# ---------------------------------
|
||||
# Finds third party boost chrono
|
||||
# Adds a def that its present
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_Chrono)
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PATH(PATH_BOOST_CHRONO "include/boost/chrono.hpp" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES boost NO_DEFAULT_PATH)
|
||||
IF(PATH_BOOST_CHRONO)
|
||||
OV_PRINT(OV_PRINTED " Found boost chrono includes...")
|
||||
OV_LINK_BOOST_LIB("chrono" ${OV_WIN32_BOOST_VERSION} )
|
||||
IF(LIB_BOOST_PATH AND LIB_BOOST_DEBUG_PATH)
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_Boost_Chrono)
|
||||
ENDIF(LIB_BOOST_PATH AND LIB_BOOST_DEBUG_PATH)
|
||||
ENDIF(PATH_BOOST_CHRONO)
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(UNIX)
|
||||
|
||||
FIND_PATH(PATH_BOOST_CHRONO "include/boost/chrono.hpp" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES boost NO_DEFAULT_PATH)
|
||||
FIND_PATH(PATH_BOOST_CHRONO "include/boost/chrono.hpp" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES boost)
|
||||
|
||||
IF(PATH_BOOST_CHRONO)
|
||||
OV_PRINT(OV_PRINTED " Found boost chrono includes...")
|
||||
|
||||
FIND_LIBRARY(LIB_Boost_Chrono NAMES "boost_chrono" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(LIB_Boost_Chrono NAMES "boost_chrono" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib)
|
||||
IF(LIB_Boost_Chrono)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_Boost_Chrono}")
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_Boost_Chrono)
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_Boost_Chrono})
|
||||
ELSE(LIB_Boost_Chrono)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib boost_chrono")
|
||||
ENDIF(LIB_Boost_Chrono)
|
||||
|
||||
# Fedora / Ubuntu
|
||||
FIND_LIBRARY(LIB_STANDARD_MODULE_RT rt)
|
||||
IF(LIB_STANDARD_MODULE_RT)
|
||||
OV_PRINT(OV_PRINTED " Found rt...")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_STANDARD_MODULE_RT})
|
||||
ELSE(LIB_STANDARD_MODULE_RT)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find rt...")
|
||||
ENDIF(LIB_STANDARD_MODULE_RT)
|
||||
|
||||
ELSE(PATH_BOOST_CHRONO)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find boost chrono includes...")
|
||||
ENDIF(PATH_BOOST_CHRONO)
|
||||
|
||||
ENDIF(UNIX)
|
||||
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_Chrono "Yes")
|
||||
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
# ---------------------------------
|
||||
# Finds third party boost
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_FileSystem)
|
||||
|
||||
IF(UNIX)
|
||||
FIND_LIBRARY(LIB_Boost_Filesystem NAMES "boost_filesystem-mt" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(LIB_Boost_Filesystem NAMES "boost_filesystem-mt" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib)
|
||||
|
||||
IF(LIB_Boost_Filesystem)
|
||||
OV_PRINT(OV_PRINTED " Found boost FileSystem...")
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_Boost_Filesystem}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_Boost_Filesystem} )
|
||||
ELSE(LIB_Boost_Filesystem)
|
||||
# Fedora 20 and Ubuntu 13.10,14.04 have no more multi-thread boost libs ( *-mt ) so try if there are non -mt libs to link
|
||||
FIND_LIBRARY(LIB_Boost_Filesystem NAMES "boost_filesystem" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(LIB_Boost_Filesystem NAMES "boost_filesystem" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib)
|
||||
IF(LIB_Boost_Filesystem)
|
||||
OV_PRINT(OV_PRINTED " Found boost FileSystem...")
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_Boost_Filesystem}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_Boost_Filesystem})
|
||||
ELSE(LIB_Boost_Filesystem)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find boost FileSystem...")
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib boost_filesystem-mt")
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib boost_filesystem")
|
||||
ENDIF(LIB_Boost_Filesystem)
|
||||
ENDIF(LIB_Boost_Filesystem)
|
||||
|
||||
# For Fedora
|
||||
INCLUDE("FindThirdPartyPThread")
|
||||
|
||||
ENDIF(UNIX)
|
||||
|
||||
IF(WIN32)
|
||||
OV_LINK_BOOST_LIB("filesystem" ${OV_WIN32_BOOST_VERSION} )
|
||||
OV_LINK_BOOST_LIB("system" ${OV_WIN32_BOOST_VERSION} ) # filesystem depends on system
|
||||
ENDIF(WIN32)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_FileSystem "Yes")
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
# ---------------------------------
|
||||
# Finds third party boost
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_Math)
|
||||
|
||||
INCLUDE("FindThirdPartyBoost")
|
||||
|
||||
IF(UNIX)
|
||||
FIND_LIBRARY(LIB_Boost_Math NAMES "boost_math_c99" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib NO_DEFAULT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH)
|
||||
# OV_PRINT(OV_PRINTED " looking in ${LIST_DEPENDENCIES_PATH}")
|
||||
IF(LIB_Boost_Math)
|
||||
OV_PRINT(OV_PRINTED " Found boost math...")
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_Boost_Math}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_Boost_Math} )
|
||||
ELSE(LIB_Boost_Math)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find boost math...")
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib libboost_math_c99")
|
||||
ENDIF(LIB_Boost_Math)
|
||||
ENDIF(UNIX)
|
||||
|
||||
IF(WIN32)
|
||||
IF(PATH_BOOST)
|
||||
OV_LINK_BOOST_LIB("math_c99" ${OV_WIN32_BOOST_VERSION} )
|
||||
ENDIF(PATH_BOOST)
|
||||
ENDIF(WIN32)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_Math "Yes")
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
# ---------------------------------
|
||||
# Finds third party boost
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_Regex)
|
||||
|
||||
IF(UNIX)
|
||||
FIND_LIBRARY(LIB_Boost_Regex NAMES "boost_regex-mt" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(LIB_Boost_Regex NAMES "boost_regex-mt" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib)
|
||||
|
||||
IF(LIB_Boost_Regex)
|
||||
OV_PRINT(OV_PRINTED " Found Boost regex...")
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_Boost_Regex}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_Boost_Regex} )
|
||||
ELSE(LIB_Boost_Regex)
|
||||
# Fedora 20 and Ubuntu 13.10,14.04 have no more multi-thread boost libs ( *-mt ) so try if there are non -mt libs to link
|
||||
FIND_LIBRARY(LIB_Boost_Regex NAMES "boost_regex" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(LIB_Boost_Regex NAMES "boost_regex" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib)
|
||||
IF(LIB_Boost_Regex)
|
||||
OV_PRINT(OV_PRINTED " Found Boost regex...")
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_Boost_Regex}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_Boost_Regex})
|
||||
ELSE(LIB_Boost_Regex)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib boost_regex-mt")
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib boost_regex")
|
||||
ENDIF(LIB_Boost_Regex)
|
||||
ENDIF(LIB_Boost_Regex)
|
||||
ENDIF(UNIX)
|
||||
|
||||
IF(WIN32)
|
||||
OV_LINK_BOOST_LIB("regex" ${OV_WIN32_BOOST_VERSION})
|
||||
ENDIF(WIN32)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_Regex "Yes")
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
# ---------------------------------
|
||||
# Finds third party boost
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_System)
|
||||
|
||||
IF(UNIX)
|
||||
FIND_LIBRARY(LIB_Boost_System NAMES "boost_system-mt" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(LIB_Boost_System NAMES "boost_system-mt" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib)
|
||||
|
||||
IF(LIB_Boost_System)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_Boost_System}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_Boost_System} )
|
||||
ELSE(LIB_Boost_System)
|
||||
# Fedora 20 and Ubuntu 13.10,14.04 have no more multi-thread boost libs ( *-mt ) so try if there are non -mt libs to link
|
||||
FIND_LIBRARY(LIB_Boost_System NAMES "boost_system" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(LIB_Boost_System NAMES "boost_system" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib)
|
||||
IF(LIB_Boost_System)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_Boost_System}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_Boost_System})
|
||||
ELSE(LIB_Boost_System)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib boost_system-mt")
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib boost_system")
|
||||
ENDIF(LIB_Boost_System)
|
||||
ENDIF(LIB_Boost_System)
|
||||
ENDIF(UNIX)
|
||||
|
||||
IF(WIN32)
|
||||
OV_LINK_BOOST_LIB("system" ${OV_WIN32_BOOST_VERSION})
|
||||
ENDIF(WIN32)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_System "Yes")
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
# ---------------------------------
|
||||
# Finds third party boost
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_Thread)
|
||||
|
||||
IF(UNIX)
|
||||
FIND_LIBRARY(LIB_Boost_Thread NAMES "boost_thread-mt" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(LIB_Boost_Thread NAMES "boost_thread-mt" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib)
|
||||
|
||||
IF(LIB_Boost_Thread)
|
||||
OV_PRINT(OV_PRINTED " Found boost thread...")
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_Boost_Thread}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_Boost_Thread} )
|
||||
ELSE(LIB_Boost_Thread)
|
||||
# Fedora 20 and Ubuntu 13.10,14.04 have no more multi-thread boost libs ( *-mt ) so try if there are non -mt libs to link
|
||||
FIND_LIBRARY(LIB_Boost_Thread NAMES "boost_thread" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(LIB_Boost_Thread NAMES "boost_thread" PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib)
|
||||
IF(LIB_Boost_Thread)
|
||||
OV_PRINT(OV_PRINTED " Found boost thread...")
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_Boost_Thread}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_Boost_Thread})
|
||||
ELSE(LIB_Boost_Thread)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find boost thread...")
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib boost_thread-mt")
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib boost_thread")
|
||||
ENDIF(LIB_Boost_Thread)
|
||||
ENDIF(LIB_Boost_Thread)
|
||||
|
||||
# For Fedora
|
||||
INCLUDE("FindThirdPartyPThread")
|
||||
|
||||
# For Ubuntu 13.04 (interprocess/ipc/message_queue.hpp in ovasCPluginExternalStimulations.cpp caused dep)
|
||||
FIND_LIBRARY(LIB_STANDARD_MODULE_RT rt)
|
||||
IF(LIB_STANDARD_MODULE_RT)
|
||||
OV_PRINT(OV_PRINTED " Found rt...")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_STANDARD_MODULE_RT})
|
||||
ELSE(LIB_STANDARD_MODULE_RT)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find rt...")
|
||||
ENDIF(LIB_STANDARD_MODULE_RT)
|
||||
|
||||
ENDIF(UNIX)
|
||||
|
||||
IF(WIN32)
|
||||
OV_LINK_BOOST_LIB("thread" ${OV_WIN32_BOOST_VERSION})
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_Thread "Yes")
|
||||
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
# ---------------------------------
|
||||
# Finds BrainmasterCodeMakerAPI
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyBrainmasterCodeMakerAPI)
|
||||
|
||||
IF(WIN32)
|
||||
IF("${PLATFORM_TARGET}" STREQUAL "x64")
|
||||
OV_PRINT(OV_PRINTED " SKIPPED BrainMaster Discovery & Atlantis not yet supported on 64bit build...")
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyBrainmasterCodeMakerAPI "Yes")
|
||||
RETURN()
|
||||
ENDIF()
|
||||
|
||||
# note that ampersands in paths below passed through cmake mess up Visual Studio IDE. If you get this problem, rename the dll folder under Program Files/
|
||||
FIND_PATH(PATH_BrainmasterCodeMakerAPI CMKRDLLU.H PATHS
|
||||
"C:/Program Files/Atlantis and Discovery SW DLL 1-11-12"
|
||||
"C:/Program Files (x86)/Atlantis and Discovery SW DLL 1-11-12"
|
||||
"C:/Program Files/Atlantis & Discovery SW DLL 1-11-12"
|
||||
"C:/Program Files (x86)/Atlantis & Discovery SW DLL 1-11-12"
|
||||
${LIST_DEPENDENCIES_PATH})
|
||||
IF(PATH_BrainmasterCodeMakerAPI)
|
||||
OV_PRINT(OV_PRINTED " Found Brainmaster Code Maker API...")
|
||||
INCLUDE_DIRECTORIES(${PATH_BrainmasterCodeMakerAPI})
|
||||
|
||||
FOREACH(LIB_BrainmasterCodeMakerAPI bmrcm.lib ovbmrcm.lib)
|
||||
SET(LIB_BrainmasterCodeMakerAPI1 "LIB_BrainmasterCodeMakerAPI1-NOTFOUND")
|
||||
FIND_LIBRARY(LIB_BrainmasterCodeMakerAPI1 NAMES ${LIB_BrainmasterCodeMakerAPI} PATHS ${PATH_BrainmasterCodeMakerAPI} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(LIB_BrainmasterCodeMakerAPI1 NAMES ${LIB_BrainmasterCodeMakerAPI})
|
||||
IF(LIB_BrainmasterCodeMakerAPI1)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${LIB_BrainmasterCodeMakerAPI1}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_BrainmasterCodeMakerAPI1})
|
||||
ELSE(LIB_BrainmasterCodeMakerAPI1)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${LIB_BrainmasterCodeMakerAPI}")
|
||||
ENDIF(LIB_BrainmasterCodeMakerAPI1)
|
||||
ENDFOREACH(LIB_BrainmasterCodeMakerAPI)
|
||||
|
||||
# Copy the DLL file at install
|
||||
INSTALL(PROGRAMS "${PATH_BrainmasterCodeMakerAPI}/bmrcm.dll" DESTINATION ${DIST_BINDIR})
|
||||
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyBrainmasterCodeMakerAPI)
|
||||
ELSE(PATH_BrainmasterCodeMakerAPI)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find Brainmaster Code Maker API (optional driver)")
|
||||
ENDIF(PATH_BrainmasterCodeMakerAPI)
|
||||
ENDIF(WIN32)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyBrainmasterCodeMakerAPI "Yes")
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
# ---------------------------------
|
||||
# Finds CEGUI toolkit
|
||||
#
|
||||
# Sets CEGUI_FOUND
|
||||
# Sets CEGUI_LIBRARIES
|
||||
# Sets CEGUI_LIBRARY_DIRS
|
||||
# Sets CEGUI_LDFLAGS
|
||||
# Sets CEGUI_LDFLAGS_OTHERS
|
||||
# Sets CEGUI_INCLUDE_DIRS
|
||||
# Sets CEGUI_CFLAGS
|
||||
# Sets CEGUI_CFLAGS_OTHERS
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyCEGUI)
|
||||
|
||||
IF(OV_DISABLE_OGRE)
|
||||
OV_PRINT(OV_PRINTED " SKIPPED Ogre3D/OIS (CEGUI), disabled, no 3D ...")
|
||||
RETURN()
|
||||
ENDIF(OV_DISABLE_OGRE)
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PATH(PATH_CEGUI cegui/include/CEGUI.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES cegui)
|
||||
IF(PATH_CEGUI)
|
||||
SET(CEGUI_FOUND TRUE)
|
||||
SET(OgreCEGUIRenderer_FOUND TRUE)
|
||||
SET(CEGUI_INCLUDE_DIRS ${PATH_CEGUI}/cegui/include)
|
||||
STRING(REGEX MATCH "vc120.*" MSVC_VER120 ${MSVC_SERVICE_PACK})
|
||||
IF(MSVC_VER120)
|
||||
SET(CEGUI_LIBRARIES_DEBUG CEGUIBase-0_d CEGUIOgreRenderer-0_d)
|
||||
SET(CEGUI_LIBRARIES_RELEASE CEGUIBase-0 CEGUIOgreRenderer-0)
|
||||
ELSE(MSVC_VER120)
|
||||
SET(CEGUI_LIBRARIES_DEBUG CEGUIBase_d CEGUIOgreRenderer_d)
|
||||
SET(CEGUI_LIBRARIES_RELEASE CEGUIBase CEGUIOgreRenderer)
|
||||
ENDIF(MSVC_VER120)
|
||||
SET(CEGUI_LIBRARY_DIRS ${PATH_CEGUI}/lib)
|
||||
ENDIF(PATH_CEGUI)
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(UNIX)
|
||||
# Assumes FindThirdPartyCEGUI_Check.cmake has been run
|
||||
ENDIF(UNIX)
|
||||
|
||||
IF(CEGUI_FOUND AND OgreCEGUIRenderer_FOUND)
|
||||
OV_PRINT(OV_PRINTED " Found CEGUI/OgreCEGUIRenderer...")
|
||||
|
||||
INCLUDE_DIRECTORIES(${CEGUI_INCLUDE_DIRS} ${OgreCEGUIRenderer_INCLUDE_DIRS})
|
||||
ADD_DEFINITIONS(${CEGUI_CFLAGS} ${OgreCEGUIRenderer_CFLAGS})
|
||||
ADD_DEFINITIONS(${CEGUI_CFLAGS_OTHERS} ${OgreCEGUIRenderer_CFLAGS_OTHERS})
|
||||
# LINK_DIRECTORIES(${CEGUI_LIBRARY_DIRS} ${OgreCEGUIRenderer_LIBRARY_DIRS})
|
||||
IF(UNIX)
|
||||
|
||||
FOREACH(CEGUI_LIB ${CEGUI_LIBRARIES} ${OgreCEGUIRenderer_LIBRARIES})
|
||||
SET(CEGUI_LIB1 "CEGUI_LIB1-NOTFOUND")
|
||||
FIND_LIBRARY(CEGUI_LIB1 NAMES ${CEGUI_LIB} PATHS ${CEGUI_LIBRARY_DIRS} ${CEGUI_LIBDIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(CEGUI_LIB1 NAMES ${CEGUI_LIB})
|
||||
IF(CEGUI_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${CEGUI_LIB1}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${CEGUI_LIB1})
|
||||
ELSE(CEGUI_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${CEGUI_LIB}")
|
||||
ENDIF(CEGUI_LIB1)
|
||||
ENDFOREACH(CEGUI_LIB)
|
||||
ENDIF(UNIX)
|
||||
IF(WIN32)
|
||||
FOREACH(CEGUI_LIB ${CEGUI_LIBRARIES_DEBUG})
|
||||
SET(CEGUI_LIB1 "CEGUI_LIB1-NOTFOUND")
|
||||
FIND_LIBRARY(CEGUI_LIB1 NAMES ${CEGUI_LIB} PATHS ${CEGUI_LIBRARY_DIRS} ${CEGUI_LIBDIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(CEGUI_LIB1 NAMES ${CEGUI_LIB})
|
||||
IF(CEGUI_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${CEGUI_LIB1}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} debug ${CEGUI_LIB1})
|
||||
ELSE(CEGUI_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${CEGUI_LIB}")
|
||||
ENDIF(CEGUI_LIB1)
|
||||
ENDFOREACH(CEGUI_LIB)
|
||||
FOREACH(CEGUI_LIB ${CEGUI_LIBRARIES_RELEASE})
|
||||
SET(CEGUI_LIB1 "CEGUI_LIB1-NOTFOUND")
|
||||
FIND_LIBRARY(CEGUI_LIB1 NAMES ${CEGUI_LIB} PATHS ${CEGUI_LIBRARY_DIRS} ${CEGUI_LIBDIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(CEGUI_LIB1 NAMES ${CEGUI_LIB})
|
||||
IF(CEGUI_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${CEGUI_LIB1}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} optimized ${CEGUI_LIB1})
|
||||
ELSE(CEGUI_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${CEGUI_LIB}")
|
||||
ENDIF(CEGUI_LIB1)
|
||||
ENDFOREACH(CEGUI_LIB)
|
||||
ENDIF(WIN32)
|
||||
|
||||
ELSE(CEGUI_FOUND AND OgreCEGUIRenderer_FOUND)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find CEGUI/OgreCEGUIRenderer...")
|
||||
ENDIF(CEGUI_FOUND AND OgreCEGUIRenderer_FOUND)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyCEGUI "Yes")
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
# ---------------------------------
|
||||
# Finds CEGUI & Ogre toolkit
|
||||
#
|
||||
# Should only be used to check the presence, include later
|
||||
#
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyCEGUI_Check)
|
||||
|
||||
IF(OV_DISABLE_OGRE)
|
||||
OV_PRINT(OV_PRINTED " SKIPPED Ogre3D/OIS (CEGUI), disabled, no 3D ...")
|
||||
RETURN()
|
||||
ENDIF(OV_DISABLE_OGRE)
|
||||
|
||||
OV_PRINT(OV_PRINTED " Checking for CEGUI ...")
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PATH(PATH_CEGUI cegui/include/CEGUI.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES cegui)
|
||||
IF(PATH_CEGUI)
|
||||
SET(CEGUI_FOUND TRUE)
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " CEGUI headers not found ...")
|
||||
ENDIF()
|
||||
FIND_PATH(PATH_Ogre3D include/OGRE/Ogre.h PATHS ${LIST_DEPENDENCIES_PATH} $ENV{OGRE_HOME} PATH_SUFFIXES . ogre)
|
||||
IF(PATH_Ogre3D)
|
||||
SET(OgreCEGUIRenderer_FOUND TRUE)
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " Ogre materials not found ...")
|
||||
ENDIF()
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(UNIX)
|
||||
INCLUDE("FindPkgConfig")
|
||||
SET(CEGUI_FOUND "-NOTFOUND")
|
||||
pkg_check_modules(CEGUI QUIET CEGUI)
|
||||
IF(NOT CEGUI_FOUND)
|
||||
# we have this mess as the cegui filenames & paths are different on Fedora 21 at least,
|
||||
# and the include_dirs doesn't contain the CEGUI/ part ... I'd put that to the .h/.cpp IF the same path
|
||||
# convention was the case on all platforms... but it is not
|
||||
pkg_check_modules(CEGUI QUIET CEGUI-0)
|
||||
SET(CEGUI_INCLUDE_DIRS "${CEGUI_INCLUDE_DIRS}/CEGUI")
|
||||
ENDIF(NOT CEGUI_FOUND)
|
||||
SET(OgreCEGUIRenderer_FOUND "-NOTFOUND")
|
||||
pkg_check_modules(OgreCEGUIRenderer QUIET CEGUI-OGRE)
|
||||
IF(NOT OgreCEGUIRenderer_FOUND)
|
||||
pkg_check_modules(OgreCEGUIRenderer QUIET CEGUI-0-OGRE)
|
||||
ENDIF(NOT OgreCEGUIRenderer_FOUND)
|
||||
ENDIF(UNIX)
|
||||
|
||||
# IF(CEGUI_FOUND AND OgreCEGUIRenderer_FOUND)
|
||||
# OV_PRINT(OV_PRINTED " Found CEGUI/OgreCEGUIRenderer...")
|
||||
# ELSE(CEGUI_FOUND AND OgreCEGUIRenderer_FOUND)
|
||||
# OV_PRINT(OV_PRINTED " FAILED to find CEGUI/OgreCEGUIRenderer...")
|
||||
# ENDIF(CEGUI_FOUND AND OgreCEGUIRenderer_FOUND)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyCEGUI_Check "Yes")
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyEemagineEEGO)
|
||||
|
||||
# ---------------------------------
|
||||
# Finds the Eemagine EEGO API & library
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
if (WIN32)
|
||||
FIND_PATH(PATH_EEGOAPI amplifier.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES sdk_eemagine_eego/eemagine/sdk/)
|
||||
else()
|
||||
FIND_PATH(PATH_EEGOAPI amplifier.h PATHS /usr/include PATH_SUFFIXES eemagine/sdk/)
|
||||
endif(WIN32)
|
||||
|
||||
IF(NOT PATH_EEGOAPI)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find EEGO API (optional driver) - cmake looked in '${LIST_DEPENDENCIES_PATH}', skipping EEGO.")
|
||||
RETURN()
|
||||
ENDIF(NOT PATH_EEGOAPI)
|
||||
|
||||
OV_PRINT(OV_PRINTED " Found EEGO API in ${PATH_EEGOAPI}...")
|
||||
|
||||
if (WIN32)
|
||||
FIND_FILE(LIB_EEGOAPI NAMES eego-SDK.dll PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES sdk_eemagine_eego/eemagine/bin/)
|
||||
else()
|
||||
find_library(LIB_EEGOAPI NAMES eego-SDK)
|
||||
target_link_libraries(${PROJECT_NAME} -ldl)
|
||||
OV_PRINT(OV_PRINTED " LIB_EEGOAPI : ${LIB_EEGOAPI}")
|
||||
endif(WIN32)
|
||||
|
||||
IF(NOT LIB_EEGOAPI)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] EEGO lib not found under '${LIST_DEPENDENCIES_PATH}', skipping EEGO.")
|
||||
RETURN()
|
||||
ENDIF(NOT LIB_EEGOAPI)
|
||||
|
||||
INCLUDE_DIRECTORIES("${PATH_EEGOAPI}/../../")
|
||||
|
||||
INSTALL(PROGRAMS "${LIB_EEGOAPI}" DESTINATION ${DIST_BINDIR})
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyEEGOAPI)
|
||||
ADD_DEFINITIONS(-DEEGO_SDK_BIND_DYNAMIC)
|
||||
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_EEGOAPI}")
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyEemagineEEGO "Yes")
|
||||
@@ -0,0 +1,56 @@
|
||||
# ---------------------------------
|
||||
# Finds Eigen headers
|
||||
#
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyEigen)
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PATH(PATH_EIGEN Eigen/Eigen PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES eigen)
|
||||
IF(PATH_EIGEN)
|
||||
SET(EIGEN_FOUND TRUE)
|
||||
SET(EIGEN_INCLUDE_DIRS ${PATH_EIGEN})
|
||||
SET(EIGEN_CFLAGS "")
|
||||
#SET(EIGEN_LIBRARIES_RELEASE EIGEN)
|
||||
#SET(EIGEN_LIBRARIES_DEBUG EIGENd)
|
||||
#SET(EIGEN_LIBRARY_DIRS ${PATH_EIGEN}/lib )
|
||||
ENDIF(PATH_EIGEN)
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(UNIX)
|
||||
|
||||
# @FIXME remove that when an Ubuntu package will be available
|
||||
# Find in priority local library for eigen even if linux package has been installed
|
||||
# reason: package on distri Ubuntu 16.04 is still bugged (eigen 3.2.92)
|
||||
INCLUDE("FindPkgConfig")
|
||||
UNSET(PATH_EIGEN_LOCAL CACHE)
|
||||
FIND_PATH(PATH_EIGEN_LOCAL eigen3 PATHS "/usr/local/include" NO_DEFAULT_PATH)
|
||||
SET(EIGEN_FOUND FALSE)
|
||||
IF (PATH_EIGEN_LOCAL)
|
||||
SET(EIGEN_INCLUDE_DIRS "${PATH_EIGEN_LOCAL}/eigen3")
|
||||
SET(EIGEN_CFLAGS "-I${EIGEN_INCLUDE_DIRS}")
|
||||
SET(EIGEN_FOUND TRUE)
|
||||
ELSE()
|
||||
pkg_check_modules(EIGEN eigen3)
|
||||
ENDIF()
|
||||
|
||||
# @FIXME uncomment that when an Ubuntu package will be available
|
||||
#SET(EIGEN_FOUND FALSE)
|
||||
#INCLUDE("FindPkgConfig")
|
||||
#pkg_check_modules(EIGEN eigen3)
|
||||
|
||||
ENDIF(UNIX)
|
||||
|
||||
IF(EIGEN_FOUND)
|
||||
OV_PRINT(OV_PRINTED " Found eigen3...")
|
||||
INCLUDE_DIRECTORIES(${EIGEN_INCLUDE_DIRS})
|
||||
ADD_DEFINITIONS(${EIGEN_CFLAGS})
|
||||
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyEIGEN)
|
||||
ELSE(EIGEN_FOUND)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find eigen3...")
|
||||
ENDIF(EIGEN_FOUND)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyEigen "Yes")
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
# ---------------------------------
|
||||
# Finds Emotiv SDK
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyEmotivAPI)
|
||||
|
||||
IF(WIN32)
|
||||
IF("${PLATFORM_TARGET}" STREQUAL "x64")
|
||||
OV_PRINT(OV_PRINTED " SKIPPED Emotiv EPOC not yet supported on 64bit builds...")
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyEmotivAPI "Yes")
|
||||
RETURN()
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
# Put the path to the Emotiv SDK followed by *
|
||||
FILE(GLOB PATH_Candidates
|
||||
"C:/Program Files/Emotiv Development Kit*"
|
||||
"C:/Program Files/Emotiv Research Edition*"
|
||||
"C:/Program Files/Emotiv SDK Premium Edition*"
|
||||
"C:/Program Files (x86)/Emotiv Development Kit*"
|
||||
"C:/Program Files (x86)/Emotiv Research Edition*"
|
||||
"C:/Program Files (x86)/Emotiv SDK Premium Edition*"
|
||||
"/home/{username}/EmotivResearch_2.0.0.20*"
|
||||
#Put here the path to the directory where you installed the emotiv sdk
|
||||
)
|
||||
FOREACH(Candidate_folder ${PATH_Candidates})
|
||||
# OV_PRINT(OV_PRINTED "Found path ${PATH_Candidate}")
|
||||
#Version 1 of sdk
|
||||
LIST(APPEND PATH_Candidates ${Candidate_folder}/doc/examples/include)
|
||||
#Version 2 of sdk
|
||||
LIST(APPEND PATH_Candidates ${Candidate_folder}/doc/examples_Qt/example5)
|
||||
#Version 3 of sdk
|
||||
LIST(APPEND PATH_Candidates ${Candidate_folder}/EDK/Header\ files/)
|
||||
ENDFOREACH(Candidate_folder ${PATH_Candidates})
|
||||
|
||||
SET(PATH_EmotivAPI "-NOTFOUND")
|
||||
FIND_PATH(PATH_EmotivAPI1 edk.h PATHS ${PATH_Candidates} ${LIST_DEPENDENCIES_PATH})
|
||||
IF(PATH_EmotivAPI1)
|
||||
OV_PRINT(OV_PRINTED " Found Emotiv Research API 1.x ...")
|
||||
SET(OV_EMOTIV_VERSION "research-1")
|
||||
SET(PATH_EmotivAPI ${PATH_EmotivAPI1})
|
||||
SET(OV_EMOTIV_PATHS "${PATH_EmotivAPI}/../lib" "${PATH_EmotivAPI}/../../lib" "${PATH_EmotivAPI}/../../../lib")
|
||||
ENDIF(PATH_EmotivAPI1)
|
||||
|
||||
FIND_PATH(PATH_EmotivAPI2 IEdk.h PATHS ${PATH_Candidates} ${LIST_DEPENDENCIES_PATH})
|
||||
IF(PATH_EmotivAPI2)
|
||||
OV_PRINT(OV_PRINTED " Found Emotiv API 3.x ...")
|
||||
SET(OV_EMOTIV_VERSION "community")
|
||||
SET(PATH_EmotivAPI ${PATH_EmotivAPI2})
|
||||
SET(OV_EMOTIV_PATHS "${PATH_EmotivAPI}/../x86" "${PATH_EmotivAPI}/../../x86" "${PATH_EmotivAPI}/../../../x86")
|
||||
ENDIF(PATH_EmotivAPI2)
|
||||
|
||||
FIND_PATH(PATH_EmotivAPI3 IEegData.h PATHS ${PATH_Candidates} ${LIST_DEPENDENCIES_PATH})
|
||||
IF(PATH_EmotivAPI3)
|
||||
OV_PRINT(OV_PRINTED " Found Emotiv Research API 3.x ...")
|
||||
SET(OV_EMOTIV_VERSION "research-3")
|
||||
SET(PATH_EmotivAPI ${PATH_EmotivAPI3})
|
||||
SET(OV_EMOTIV_PATHS "${PATH_EmotivAPI}/../x86" "${PATH_EmotivAPI}/../../x86" "${PATH_EmotivAPI}/../../../x86")
|
||||
ENDIF(PATH_EmotivAPI3)
|
||||
|
||||
IF(PATH_EmotivAPI)
|
||||
FIND_LIBRARY(LIB_EmotivAPI edk PATHS ${OV_EMOTIV_PATHS})
|
||||
IF(LIB_EmotivAPI)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] api ${PATH_EmotivAPI}")
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_EmotivAPI}")
|
||||
INCLUDE_DIRECTORIES(${PATH_EmotivAPI})
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_EmotivAPI} )
|
||||
IF(WIN32)
|
||||
# To delay load EDK.dll and redistribute binary
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} Delayimp.lib )
|
||||
SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LINK_FLAGS "/DELAYLOAD:edk.dll /DELAY:UNLOAD")
|
||||
ENDIF(WIN32)
|
||||
IF(${OV_EMOTIV_VERSION} STREQUAL "community")
|
||||
# This doesn't work by itself yet...
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyEmotivCommunityAPI)
|
||||
ELSEIF(${OV_EMOTIV_VERSION} STREQUAL "research-1")
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyEmotivAPI)
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyEmotivResearchAPI1x)
|
||||
ELSEIF(${OV_EMOTIV_VERSION} STREQUAL "research-3")
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyEmotivAPI)
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyEmotivResearchAPI3x)
|
||||
ENDIF(${OV_EMOTIV_VERSION} STREQUAL "community")
|
||||
ELSE(LIB_EmotivAPI)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib Emotiv edk.lib")
|
||||
ENDIF(LIB_EmotivAPI)
|
||||
|
||||
ELSE(PATH_EmotivAPI)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find Emotiv API (optional driver)")
|
||||
ENDIF(PATH_EmotivAPI)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyEmotivAPI "Yes")
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
# ---------------------------------
|
||||
# Finds FFTW3
|
||||
#
|
||||
# Sets define if the lib is found, adds include paths, libs
|
||||
#
|
||||
# ---------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyFFTW3)
|
||||
|
||||
# On windows, we take the itpp one.
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PATH(PATH_FFTW3 include/fftw3.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES itpp)
|
||||
IF(PATH_FFTW3)
|
||||
SET(FFTW3_FOUND TRUE)
|
||||
# Of course the name of the library is this or that, depending on the circumstances ...
|
||||
IF("${PLATFORM_TARGET}" STREQUAL "x64")
|
||||
FIND_LIBRARY(FFTW3_TMP NAMES libfftw3-3_win64 PATHS ${PATH_FFTW3}/lib NO_DEFAULT_PATH)
|
||||
IF(FFTW3_TMP)
|
||||
SET(FFTW3_LIBRARIES libfftw3-3_win64)
|
||||
ELSE(FFTW3_TMP)
|
||||
SET(FFTW3_LIBRARIES libfftw3-3)
|
||||
ENDIF(FFTW3_TMP)
|
||||
ELSE()
|
||||
FIND_LIBRARY(FFTW3_TMP NAMES libfftw3-3_win32 PATHS ${PATH_FFTW3}/lib NO_DEFAULT_PATH)
|
||||
IF(FFTW3_TMP)
|
||||
SET(FFTW3_LIBRARIES libfftw3-3_win32)
|
||||
ELSE(FFTW3_TMP)
|
||||
SET(FFTW3_LIBRARIES libfftw3-3)
|
||||
ENDIF(FFTW3_TMP)
|
||||
ENDIF()
|
||||
|
||||
SET(FFTW3_INCLUDE_DIRS ${PATH_FFTW3}/include )
|
||||
SET(FFTW3_LIBRARY_DIRS ${PATH_FFTW3}/lib )
|
||||
ENDIF(PATH_FFTW3)
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(UNIX)
|
||||
INCLUDE("FindThirdPartyPkgConfig")
|
||||
pkg_check_modules(FFTW3 fftw3)
|
||||
ENDIF(UNIX)
|
||||
|
||||
IF(FFTW3_FOUND)
|
||||
SET(FFTW3_LOCATED_LIBS "")
|
||||
OV_PRINT(OV_PRINTED " Found fftw3 includes...")
|
||||
FOREACH(FFTW3_LIB ${FFTW3_LIBRARIES})
|
||||
SET(FFTW3_LIB1 "FFTW3_LIB1-NOTFOUND")
|
||||
# The list is 'fftw3 m' on Fedora 19. CMake gets confused unless the two following lines are used ...
|
||||
# 1) catch fftw3 if its under dependencies/lib/ (fedora19)
|
||||
FIND_LIBRARY(FFTW3_LIB1 NAMES ${FFTW3_LIB} PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lib NO_DEFAULT_PATH)
|
||||
# 2) catch fftw3 from found paths, and libm from usual system paths, i.e. default path is allowed. (covers other systems + libm on fedora).
|
||||
FIND_LIBRARY(FFTW3_LIB1 NAMES ${FFTW3_LIB} PATHS ${FFTW3_LIBRARY_DIRS})
|
||||
IF(FFTW3_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${FFTW3_LIB1}")
|
||||
LIST(APPEND FFTW3_LOCATED_LIBS ${FFTW3_LIB1})
|
||||
ELSE(FFTW3_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${FFTW3_LIB}")
|
||||
SET(FFTW3_FOUND "-NOTFOUND")
|
||||
BREAK()
|
||||
ENDIF(FFTW3_LIB1)
|
||||
ENDFOREACH(FFTW3_LIB)
|
||||
ENDIF(FFTW3_FOUND)
|
||||
|
||||
IF(FFTW3_FOUND)
|
||||
INCLUDE_DIRECTORIES(${FFTW3_INCLUDE_DIRS})
|
||||
ADD_DEFINITIONS(${FFTW3_CFLAGS})
|
||||
|
||||
FOREACH(FFTW3_LIB ${FFTW3_LOCATED_LIBS})
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${FFTW3_LIB})
|
||||
ENDFOREACH(FFTW3_LIB)
|
||||
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyFFTW3)
|
||||
ELSE(FFTW3_FOUND)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find fftw3...")
|
||||
ENDIF(FFTW3_FOUND)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyFFTW3 "Yes")
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
#
|
||||
# The gMobilab driver (Linux) was contributed by Lucie Daubigney from Supelec Metz
|
||||
#
|
||||
# Windows-compatibility added by Jussi T. Lindgren / Inria
|
||||
#
|
||||
|
||||
# ---------------------------------
|
||||
# Finds GTecMobiLabPlus+
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyGMobiLabPlusAPI)
|
||||
|
||||
IF(WIN32)
|
||||
# note that the API bitness must match the OV build bitness
|
||||
FIND_PATH(PATH_GMobiLabCAPI GMobiLabPlus.h PATHS
|
||||
"C:/Program Files/gtec/GMobiLabCAPI/Lib"
|
||||
"C:/Program Files (x86)/gtec/GMobiLabCAPI/Lib"
|
||||
${LIST_DEPENDENCIES_PATH})
|
||||
IF("${PLATFORM_TARGET}" STREQUAL "x64")
|
||||
# We need to copy the DLL on install; note that System32 *is* the 64bit folder on 64bit arch
|
||||
FIND_PATH(PATH_GMobiLabDLL gMOBIlabplus.dll PATHS
|
||||
"C:/Windows/System32"
|
||||
${LIST_DEPENDENCIES_PATH})
|
||||
FIND_LIBRARY(LIB_GMobiLabCAPI GMobiLabplus PATHS ${PATH_GMobiLabCAPI}/x64)
|
||||
ELSE()
|
||||
# We need to copy the DLL on install
|
||||
FIND_PATH(PATH_GMobiLabDLL gMOBIlabplus.dll PATHS
|
||||
"C:/Windows/System32"
|
||||
"C:/Windows/SysWOW64"
|
||||
${LIST_DEPENDENCIES_PATH})
|
||||
FIND_LIBRARY(LIB_GMobiLabCAPI GMobiLabplus PATHS ${PATH_GMobiLabCAPI}/x86)
|
||||
ENDIF()
|
||||
|
||||
IF(PATH_GMobiLabCAPI AND PATH_GMobiLabDLL AND LIB_GMobiLabCAPI)
|
||||
OV_PRINT(OV_PRINTED " Found gtec gMobiLabCAPI ...")
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_GMobiLabCAPI}")
|
||||
|
||||
INCLUDE_DIRECTORIES(${PATH_GMobiLabCAPI})
|
||||
|
||||
# Do not link to the dll! Its opened runtime with dlopen()
|
||||
# TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_GMobiLabCAPI} )
|
||||
|
||||
INSTALL(PROGRAMS ${PATH_GMobiLabDLL}/gMOBIlabplus.dll DESTINATION ${DIST_BINDIR})
|
||||
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyGMobiLabPlusAPI)
|
||||
SET(OV_ThirdPartyGMobilab "YES")
|
||||
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " FAILED to find gtec gMobiLabPlusAPI + lib + dll (optional driver)")
|
||||
#OV_PRINT(OV_PRINTED " Results were ${PATH_GMobiLabCAPI} AND ${PATH_GMobiLabDLL} AND ${LIB_GMobiLabCAPI}")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
IF(UNIX)
|
||||
FIND_LIBRARY(gMOBIlabplus_LIBRARY NAMES "gMOBIlabplus" "gmobilabplusapi" PATHS "/usr/lib" "/usr/local/lib")
|
||||
IF(gMOBIlabplus_LIBRARY)
|
||||
OV_PRINT(OV_PRINTED " Found gtec gMobiLabPlusAPI...")
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${gMOBIlabplus_LIBRARY}")
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyGMobiLabPlusAPI)
|
||||
# Do not link to the dll! Its opened runtime with dlopen()
|
||||
# TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${gMOBIlabplus_LIBRARY} )
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " FAILED to find gtec gMobiLabPlusAPI... (optional driver)")
|
||||
OV_PRINT(OV_PRINTED " : If it should be found, see that 'gmobilabapi.so' link exists on the fs, with no numeric suffixes in the filename.")
|
||||
OV_PRINT(OV_PRINTED " : e.g. do 'cd /usr/lib/ ; ln -s libgmobilabplusapi.so.1.12 libgmobilabplusapi.so' ")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyGMobiLabPlusAPI "Yes")
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
# ---------------------------------
|
||||
# Finds GTK toolkit
|
||||
#
|
||||
# Sets GTK_FOUND
|
||||
# Sets GTK_LIBRARIES
|
||||
# Sets GTK_LIBRARY_DIRS
|
||||
# Sets GTK_LDFLAGS
|
||||
# Sets GTK_LDFLAGS_OTHERS
|
||||
# Sets GTK_INCLUDE_DIRS
|
||||
# Sets GTK_CFLAGS
|
||||
# Sets GTK_CFLAGS_OTHERS
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyGTK)
|
||||
|
||||
IF(OV_DISABLE_GTK)
|
||||
OV_PRINT(OV_PRINTED " GTK disabled")
|
||||
RETURN()
|
||||
ENDIF(OV_DISABLE_GTK)
|
||||
|
||||
INCLUDE("FindThirdPartyPkgConfig")
|
||||
IF(WIN32)
|
||||
pkg_check_modules(GTK gtk+-win32-2.0 gthread-2.0)
|
||||
ELSE(WIN32)
|
||||
pkg_check_modules(GTK "gtk+-2.0" "gthread-2.0")
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(${OV_DEPENDENCIES_PLATFORM_FOLDER_NAME} STREQUAL "dependencies")
|
||||
SET(GTK_LIB_SUBFOLDER "2.10.0")
|
||||
SET(LIB_Z_NAME "zdll")
|
||||
ELSE()
|
||||
SET(GTK_LIB_SUBFOLDER "i686-pc-vs10")
|
||||
SET(LIB_Z_NAME "zlib1")
|
||||
ENDIF()
|
||||
IF(GTK_FOUND)
|
||||
OV_PRINT(OV_PRINTED " Found GTK+...")
|
||||
|
||||
# optimistic...
|
||||
SET(GTK_FOUND_EVERYTHING "True")
|
||||
|
||||
#shouldn't add GTK_CFLAGS, this results in AdditionalIncludeDirectories becoming broken in visual studio
|
||||
#ADD_DEFINITIONS(${GTK_CFLAGS} ${GTK_CFLAGS_OTHERS} ${GTHREAD_CFLAGS}${GTHREAD_CFLAGS_OTHERS})
|
||||
#LINK_DIRECTORIES(${GTK_LIBRARY_DIRS} ${GTHREAD_LIBRARY_DIRS})
|
||||
IF(WIN32)
|
||||
SET( GTK_LIB_LIST ${GTK_LIBRARIES} ${GTHREAD_LIBRARIES} ${LIB_Z_NAME})
|
||||
ELSE(WIN32)
|
||||
SET( GTK_LIB_LIST ${GTK_LIBRARIES} ${GTHREAD_LIBRARIES} z)
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(WIN32)
|
||||
# gdi32.lib could be under the MS Windows SDK
|
||||
INCLUDE("OvSetWindowsSDKPath")
|
||||
ENDIF(WIN32)
|
||||
|
||||
FOREACH(GTK_LIB ${GTK_LIB_LIST})
|
||||
SET(GTK_LIB1 "GTK_LIB1-NOTFOUND")
|
||||
FIND_LIBRARY(GTK_LIB1 NAMES ${GTK_LIB} PATHS ${GTK_LIBRARY_DIRS} ${GTK_LIBDIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(GTK_LIB1 NAMES ${GTK_LIB} PATHS ${GTK_LIBRARY_DIRS} ${GTK_LIBDIR})
|
||||
IF(WIN32)
|
||||
FIND_LIBRARY(GTK_LIB1 NAMES ${GTK_LIB} PATHS ${OV_MS_SDK_PATH}/lib)
|
||||
ENDIF(WIN32)
|
||||
IF(GTK_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${GTK_LIB1}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${GTK_LIB1})
|
||||
ELSE(GTK_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${GTK_LIB}")
|
||||
SET(GTK_FOUND_EVERYTHING "-NOTFOUND")
|
||||
ENDIF(GTK_LIB1)
|
||||
ENDFOREACH(GTK_LIB)
|
||||
ENDIF(GTK_FOUND)
|
||||
|
||||
IF(GTK_FOUND_EVERYTHING)
|
||||
INCLUDE_DIRECTORIES(${GTK_INCLUDE_DIRS} ${GTHREAD_INCLUDE_DIRS})
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyGTK)
|
||||
ELSE(GTK_FOUND_EVERYTHING)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find GTK+ or its components...")
|
||||
SET(OV_DISABLE_GTK TRUE)
|
||||
IF(NOT PKG_CONFIG_FOUND)
|
||||
OV_PRINT(OV_PRINTED " Did not even find pkg-config exe")
|
||||
ENDIF(NOT PKG_CONFIG_FOUND)
|
||||
ENDIF(GTK_FOUND_EVERYTHING)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyGTK "Yes")
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
# ---------------------------------
|
||||
# Finds GUSBampCAPI
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyGUSBampCAPI)
|
||||
|
||||
IF(WIN32)
|
||||
IF("${PLATFORM_TARGET}" STREQUAL "x64")
|
||||
SET(GUSBAMP_ARCH "x64")
|
||||
ELSE()
|
||||
SET(GUSBAMP_ARCH "Win32")
|
||||
ENDIF()
|
||||
|
||||
FIND_PATH(PATH_GUSBampCAPI gUSBamp.h PATHS
|
||||
"C:/Program Files/gtec/gUSBampCAPI/API"
|
||||
"C:/Program Files (x86)/gtec/gUSBampCAPI/API"
|
||||
"C:/Program Files/gtec/gUSBampCAPI/API/${GUSBAMP_ARCH}"
|
||||
"C:/Program Files (x86)/gtec/gUSBampCAPI/API/${GUSBAMP_ARCH}"
|
||||
${LIST_DEPENDENCIES_PATH})
|
||||
IF(PATH_GUSBampCAPI)
|
||||
OV_PRINT(OV_PRINTED " Found gtec gUSBampCAPI...")
|
||||
INCLUDE_DIRECTORIES(${PATH_GUSBampCAPI})
|
||||
FIND_LIBRARY(LIB_GUSBampCAPI gUSBamp PATHS ${PATH_GUSBampCAPI})
|
||||
IF(LIB_GUSBampCAPI)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_GUSBampCAPI}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_GUSBampCAPI} )
|
||||
ELSE(LIB_GUSBampCAPI)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib gUSBamp")
|
||||
ENDIF(LIB_GUSBampCAPI)
|
||||
|
||||
# Copy the DLL file at install
|
||||
INSTALL(PROGRAMS "${PATH_GUSBampCAPI}/gUSBamp.dll" DESTINATION ${DIST_BINDIR})
|
||||
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyGUSBampCAPI)
|
||||
SET(OV_ThirdPartyGUSBAmp "YES")
|
||||
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " FAILED to find gtec gUSBampCAPI (optional driver)")
|
||||
ENDIF()
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
IF(UNIX)
|
||||
# To try other versions of the gtec's library, change the number below
|
||||
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".so.1.14")
|
||||
FIND_LIBRARY(gUSBAmpLinux_LIBRARY NAMES "gusbampapi" PATHS "/usr/lib" "/usr/local/lib")
|
||||
IF(gUSBAmpLinux_LIBRARY)
|
||||
OV_PRINT(OV_PRINTED " Found gtec gUSBAmpAPILinux...")
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${gUSBAmpLinux_LIBRARY}")
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyGUSBampCAPI_Linux)
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${gUSBAmpLinux_LIBRARY} )
|
||||
SET(OV_ThirdPartyGUSBAmp "YES")
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " FAILED to find gtec gUSBAmpAPI Linux... (optional)")
|
||||
OV_PRINT(OV_PRINTED " : If it should be found, see that 'libgusbampapi.so.1.14' link exists on the fs, with no further nemeric suffixes in the filename.")
|
||||
OV_PRINT(OV_PRINTED " : e.g. do 'cd /usr/lib/ ; ln -s libgusbampapi.so.1.14'. See gtec-bcilab/README for details.")
|
||||
ENDIF()
|
||||
ENDIF(UNIX)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyGUSBampCAPI "Yes")
|
||||
|
||||
@@ -0,0 +1,126 @@
|
||||
# ---------------------------------
|
||||
# Finds ITPP toolkit
|
||||
#
|
||||
# Sets ITPP_FOUND
|
||||
# Sets ITPP_LIBRARIES
|
||||
# Sets ITPP_LIBRARY_DIRS
|
||||
# Sets ITPP_LDFLAGS
|
||||
# Sets ITPP_LDFLAGS_OTHERS
|
||||
# Sets ITPP_INCLUDE_DIRS
|
||||
# Sets ITPP_CFLAGS
|
||||
# Sets ITPP_CFLAGS_OTHERS
|
||||
#
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyITPP)
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PATH(PATH_ITPP include/itpp/itbase.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES itpp)
|
||||
IF(PATH_ITPP)
|
||||
SET(ITPP_FOUND TRUE)
|
||||
SET(ITPP_INCLUDE_DIRS ${PATH_ITPP}/include)
|
||||
|
||||
# Currently the different versions we package for different VS have a bit different lib names...
|
||||
STRING(REGEX MATCH "vc100.*" MSVC_VER100 ${MSVC_SERVICE_PACK})
|
||||
STRING(REGEX MATCH "vc120.*" MSVC_VER120 ${MSVC_SERVICE_PACK})
|
||||
|
||||
IF(MSVC_VER100)
|
||||
SET(ITPP_LIBRARIES libblas.a libfftw3-3 liblapack.a libgcc.a libg2c.a)
|
||||
SET(ITPP_LIBRARIES_RELEASE itpp)
|
||||
SET(ITPP_LIBRARIES_DEBUG itppd)
|
||||
ENDIF(MSVC_VER100)
|
||||
IF(MSVC_VER120)
|
||||
IF("${PLATFORM_TARGET}" STREQUAL "x64")
|
||||
SET(ITPP_LIBRARIES libfftw3-3_win64)
|
||||
SET(ITPP_LIBRARIES_RELEASE blas_win64_MT lapack_win64_MT itpp)
|
||||
SET(ITPP_LIBRARIES_DEBUG blas_win64_MT lapack_win64_MT itpp) # we dont have a good 64bit debug build, just use release
|
||||
ELSE()
|
||||
SET(ITPP_LIBRARIES libfftw3-3_win32)
|
||||
SET(ITPP_LIBRARIES_RELEASE blas_win32_MT lapack_win32_MT itpp)
|
||||
SET(ITPP_LIBRARIES_DEBUG blas_win32_MTd lapack_win32_MTd itppd)
|
||||
ENDIF()
|
||||
ENDIF(MSVC_VER120)
|
||||
|
||||
SET(ITPP_LIBRARY_DIRS ${PATH_ITPP}/lib )
|
||||
ENDIF(PATH_ITPP)
|
||||
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(UNIX)
|
||||
INCLUDE("FindThirdPartyPkgConfig")
|
||||
FIND_PATH(PATH_ITPP include/itpp PATHS ${LIST_DEPENDENCIES_PATH})
|
||||
|
||||
IF(PATH_ITPP)
|
||||
FIND_LIBRARY(ITPP_LIBRARY itpp PATHS ${PATH_ITPP}/lib)
|
||||
SET(ITPP_FOUND TRUE)
|
||||
SET(ITPP_INCLUDE_DIRS ${PATH_ITPP}/include/)
|
||||
GET_FILENAME_COMPONENT(ITPP_LIBRARY_DIRS ${ITPP_LIBRARY} DIRECTORY)
|
||||
SET(ITPP_LIBRARIES_RELEASE libitpp.so)
|
||||
ELSE()
|
||||
pkg_check_modules(ITPP itpp)
|
||||
ENDIF()
|
||||
ENDIF(UNIX)
|
||||
|
||||
IF(ITPP_FOUND)
|
||||
OV_PRINT(OV_PRINTED " Found it++...")
|
||||
SET(ITPP_LOADING_FAILURE FALSE)
|
||||
INCLUDE_DIRECTORIES(${ITPP_INCLUDE_DIRS})
|
||||
ADD_DEFINITIONS(${ITPP_CFLAGS})
|
||||
ADD_DEFINITIONS(${ITPP_CFLAGS_OTHERS})
|
||||
# LINK_DIRECTORIES(${ITPP_LIBRARY_DIRS})
|
||||
FOREACH(ITPP_LIB ${ITPP_LIBRARIES})
|
||||
SET(ITPP_LIB1 "ITPP_LIB1-NOTFOUND")
|
||||
FIND_LIBRARY(ITPP_LIB1 NAMES ${ITPP_LIB} PATHS ${ITPP_LIBRARY_DIRS} ${ITPP_LIBDIR} NO_DEFAULT_PATH)
|
||||
IF(ITPP_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${ITPP_LIB1}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${ITPP_LIB1})
|
||||
IF(WIN32)
|
||||
INSTALL(FILES "${ITPP_LIBRARY_DIRS}/../bin/${ITPP_LIB}.dll" DESTINATION "${DIST_BINDIR}")
|
||||
ENDIF()
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${ITPP_LIB}")
|
||||
SET(ITPP_LOADING_FAILURE TRUE)
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
FOREACH(ITPP_LIB ${ITPP_LIBRARIES_RELEASE})
|
||||
SET(ITPP_LIB1 "ITPP_LIB1-RELEASE-NOTFOUND")
|
||||
FIND_LIBRARY(ITPP_LIB1 NAMES ${ITPP_LIB} PATHS ${ITPP_LIBRARY_DIRS} ${ITPP_LIBDIR} NO_DEFAULT_PATH)
|
||||
IF(ITPP_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${ITPP_LIB1}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} optimized ${ITPP_LIB1})
|
||||
IF(WIN32)
|
||||
INSTALL(FILES "${ITPP_LIBRARY_DIRS}/../bin/${ITPP_LIB}.dll" DESTINATION "${DIST_BINDIR}" CONFIGURATIONS Release)
|
||||
ENDIF()
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${ITPP_LIB}")
|
||||
SET(ITPP_LOADING_FAILURE TRUE)
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
FOREACH(ITPP_LIB ${ITPP_LIBRARIES_DEBUG})
|
||||
SET(ITPP_LIB1 "ITPP_LIB1-DEBUG-NOTFOUND")
|
||||
FIND_LIBRARY(ITPP_LIB1 NAMES ${ITPP_LIB} PATHS ${ITPP_LIBRARY_DIRS} ${ITPP_LIBDIR} NO_DEFAULT_PATH)
|
||||
IF(ITPP_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${ITPP_LIB1}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} debug ${ITPP_LIB1})
|
||||
IF(WIN32)
|
||||
INSTALL(FILES "${ITPP_LIBRARY_DIRS}/../bin/${ITPP_LIB}.dll" DESTINATION "${DIST_BINDIR}" CONFIGURATIONS Debug)
|
||||
ENDIF()
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${ITPP_LIB}")
|
||||
SET(ITPP_LOADING_FAILURE TRUE)
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
|
||||
# We only add ITPP if everything was found
|
||||
IF(NOT ITPP_LOADING_FAILURE)
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyITPP)
|
||||
ENDIF()
|
||||
|
||||
ELSE(ITPP_FOUND)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find it++...")
|
||||
ENDIF()
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyITPP "Yes")
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
# ---------------------------------
|
||||
# Finds LabStreamingLayer (LSL) library
|
||||
#
|
||||
# Sets LSL_FOUND
|
||||
# Sets LSL_INCLUDE_DIRS
|
||||
# Sets LSL_LIBRARY_DIRS
|
||||
# Sets LSL_LIBRARIES_RELEASE
|
||||
#
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
#
|
||||
# Script @author Jussi T. Lindgren / Inria
|
||||
#
|
||||
# @note On Windows, trying to use the debug library of LSL 1.12 in the same way we did with LSL 1.04
|
||||
# caused an obscure Windows error code when launching the linking app. To sidestep, we use only the
|
||||
# LSL release build library for now. To enable the debug lib, the following might be needed on Win
|
||||
# in addition to linking the debug lib (but did not seem to be sufficient to make it work):
|
||||
# SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DLSL_DEBUG_BINDINGS")
|
||||
#
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyLSL)
|
||||
|
||||
# The first ${..}/liblsl path is for Windows, the second ${..}/ for Linux
|
||||
FIND_PATH(PATH_LSL include/lsl_cpp.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES . liblsl NO_DEFAULT_PATH)
|
||||
FIND_PATH(PATH_LSL include/lsl_cpp.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES . liblsl)
|
||||
|
||||
IF(PATH_LSL)
|
||||
SET(LSL_FOUND TRUE)
|
||||
SET(LSL_INCLUDE_DIRS ${PATH_LSL}/include/)
|
||||
SET(LSL_LIBRARY_DIRS ${PATH_LSL}/lib/)
|
||||
IF(WIN32)
|
||||
IF("${PLATFORM_TARGET}" STREQUAL "x64")
|
||||
SET(LSL_LIBRARIES_RELEASE liblsl64.lib)
|
||||
SET(LSL_LIBRARIES_RELEASE_DLL liblsl64.dll)
|
||||
ELSE()
|
||||
SET(LSL_LIBRARIES_RELEASE liblsl32.lib)
|
||||
SET(LSL_LIBRARIES_RELEASE_DLL liblsl32.dll)
|
||||
ENDIF()
|
||||
ELSEIF(UNIX)
|
||||
SET(LSL_LIBRARIES_RELEASE liblsl.so)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
IF(LSL_FOUND)
|
||||
OV_PRINT(OV_PRINTED " Found liblsl...")
|
||||
INCLUDE_DIRECTORIES(${LSL_INCLUDE_DIRS})
|
||||
|
||||
SET(LSL_LIB_REL "LSL_LIB_REL-NOTFOUND")
|
||||
# OV_PRINT(OV_PRINTED "LSL: ${LSL_LIBRARIES_RELEASE} - ${LSL_LIBRARY_DIRS_RELEASE}")
|
||||
FIND_LIBRARY(LSL_LIB_REL NAMES ${LSL_LIBRARIES_RELEASE} PATHS ${LSL_LIBRARY_DIRS} NO_DEFAULT_PATH)
|
||||
IF(LSL_LIB_REL)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${LSL_LIB_REL}")
|
||||
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} optimized ${LSL_LIB_REL})
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} debug ${LSL_LIB_REL})
|
||||
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyLSL)
|
||||
|
||||
IF(WIN32)
|
||||
INSTALL(FILES "${LSL_LIBRARY_DIRS}/${LSL_LIBRARIES_RELEASE_DLL}" DESTINATION "${DIST_BINDIR}" CONFIGURATIONS Release Debug)
|
||||
ENDIF()
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${LSL_LIB_REL}")
|
||||
ENDIF()
|
||||
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " FAILED to find liblsl (optional) ...")
|
||||
ENDIF()
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyLSL "Yes")
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# /*
|
||||
# * FindThirdPartyLiveAmpAPI.cmake
|
||||
# *
|
||||
# * Copyright (c) 2016, Brain Products GmbH. All rights reserved.
|
||||
# * -- Rights transferred to Inria, contract signed ...
|
||||
# *
|
||||
# */
|
||||
|
||||
# ---------------------------------
|
||||
# Finds LiveAmp library
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_FindThirdPartyLiveAmpAPI)
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PATH(PATH_LiveAmpAPI Amplifier_LIB.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES sdk_brainproducts_liveamp)
|
||||
IF(PATH_LiveAmpAPI)
|
||||
OV_PRINT(OV_PRINTED " Found Brain Products LiveAmp API...")
|
||||
INCLUDE_DIRECTORIES(${PATH_LiveAmpAPI})
|
||||
|
||||
FIND_LIBRARY(LIB_LiveAmpAPI LiveAmpLib2 PATHS ${PATH_LiveAmpAPI} )
|
||||
IF(LIB_LiveAmpAPI)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_LiveAmpAPI}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_LiveAmpAPI} )
|
||||
ELSE(LIB_LiveAmpAPI)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib LiveAmp")
|
||||
ENDIF(LIB_LiveAmpAPI)
|
||||
|
||||
# Copy the DLL file at install
|
||||
INSTALL(PROGRAMS "${PATH_LiveAmpAPI}/LiveAmpLib2.dll" DESTINATION ${DIST_BINDIR})
|
||||
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyLiveAmpAPI)
|
||||
ELSE(PATH_LiveAmpAPI)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find Brain Products LiveAmp API (optional)")
|
||||
ENDIF(PATH_LiveAmpAPI)
|
||||
ENDIF(WIN32)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_FindThirdPartyLiveAmpAPI "Yes")
|
||||
@@ -0,0 +1,46 @@
|
||||
# ---------------------------------
|
||||
# Finds LUA
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyLua)
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PATH(LUA_INCLUDE_DIR lua.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES lua/include NO_DEFAULT_PATH)
|
||||
ELSEIF(UNIX)
|
||||
if(${CMAKE_SYSTEM} MATCHES fc21)
|
||||
FIND_PACKAGE(Lua REQUIRED)
|
||||
else ()
|
||||
FIND_PACKAGE(Lua51 REQUIRED)
|
||||
endif()
|
||||
ENDIF()
|
||||
|
||||
IF(LUA_INCLUDE_DIR)
|
||||
OV_PRINT(OV_PRINTED " Found Lua... in '${LUA_INCLUDE_DIR}'")
|
||||
|
||||
IF(WIN32)
|
||||
FIND_LIBRARY(LUA_LIBRARIES lua5.1 PATHS ${LUA_INCLUDE_DIR}/../lib NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(LUA_LIBRARIES lua5.1 PATHS ${LUA_INCLUDE_DIR}/../lib)
|
||||
ENDIF()
|
||||
|
||||
IF(LUA_LIBRARIES)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LUA_LIBRARIES}")
|
||||
|
||||
INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR})
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LUA_LIBRARIES})
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyLua)
|
||||
IF(WIN32)
|
||||
INSTALL(FILES "${LUA_INCLUDE_DIR}/../bin/lua5.1.dll" DESTINATION "${DIST_BINDIR}")
|
||||
ENDIF()
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib lua5.1")
|
||||
ENDIF()
|
||||
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " FAILED to find Lua")
|
||||
ENDIF()
|
||||
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyLua "Yes")
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyMCS)
|
||||
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PATH(PATH_MCS nvxmcs.dll PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES sdk_mcs/lib NO_DEFAULT_PATH)
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(PATH_MCS)
|
||||
OV_PRINT(OV_PRINTED " Found MCS device SDK...")
|
||||
INCLUDE_DIRECTORIES(${PATH_MCS}/../include/)
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PATH_MCS}/nvxmcs.lib)
|
||||
|
||||
INSTALL(PROGRAMS "${PATH_MCS}/nvxmcs.dll" DESTINATION ${DIST_BINDIR})
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyMCS)
|
||||
ELSE(PATH_MCS)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find MCS device SDK (optional driver)")
|
||||
ENDIF(PATH_MCS)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyMCS "Yes")
|
||||
|
||||
@@ -0,0 +1,116 @@
|
||||
# ---------------------------------
|
||||
# Finds Matlab toolkit
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyMatlab)
|
||||
|
||||
# Clear cached variables, otherwise repeated builds lead to trouble
|
||||
SET(Matlab_EXECUTABLE "Matlab_EXECUTABLE-NOTFOUND")
|
||||
SET(Matlab_INCLUDE "Matlab_INCLUDE-NOTFOUND")
|
||||
SET(Matlab_ROOT "Matlab_ROOT-NOTFOUND")
|
||||
|
||||
# See if we can locate the matlab executable
|
||||
IF (WIN32)
|
||||
# Unfortunately there doesn't seem to be a neat way to discover both 32 and 64bit matlabs
|
||||
IF("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
|
||||
SET(MATLAB_PATHS "C:/Program Files/MATLAB/r2015b/bin")
|
||||
ELSEIF("${CMAKE_SIZEOF_VOID_P}" EQUAL "4")
|
||||
SET(MATLAB_PATHS "C:/Program Files (x86)/MATLAB/r2013b/bin")
|
||||
ELSE()
|
||||
SET(MATLAB_PATHS "")
|
||||
ENDIF()
|
||||
|
||||
# Ignore path on the first call, if that fails, try defaults
|
||||
FIND_PROGRAM(Matlab_EXECUTABLE MATLAB PATHS ${MATLAB_PATHS} NO_DEFAULT_PATH)
|
||||
FIND_PROGRAM(Matlab_EXECUTABLE MATLAB)
|
||||
ENDIF(WIN32)
|
||||
IF (UNIX)
|
||||
FIND_PROGRAM(Matlab_EXECUTABLE matlab)
|
||||
|
||||
IF(NOT Matlab_EXECUTABLE)
|
||||
# Alternative way to try to find matlab
|
||||
FILE(GLOB_RECURSE Executable_Candidates1 "/usr/local/matlab*/matlab")
|
||||
FILE(GLOB_RECURSE Executable_Candidates2 "/usr/local/MATLAB*/matlab")
|
||||
SET(Executable_Candidates ${Executable_Candidates1} ${Executable_Candidates2})
|
||||
|
||||
IF(Executable_Candidates)
|
||||
LIST(GET Executable_Candidates 0 Matlab_EXECUTABLE)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
ENDIF(UNIX)
|
||||
|
||||
# Figure out the paths to libs and includes
|
||||
IF(Matlab_EXECUTABLE)
|
||||
# OV_PRINT(OV_PRINTED "Have Matlab_EXECUTABLE ${Matlab_EXECUTABLE}")
|
||||
# Try relative to the executable path
|
||||
GET_FILENAME_COMPONENT(Matlab_ROOT ${Matlab_EXECUTABLE} PATH)
|
||||
IF(Matlab_ROOT)
|
||||
# OV_PRINT(OV_PRINTED "Have Matlab_ROOT ${Matlab_ROOT}")
|
||||
SET(Matlab_ROOT ${Matlab_ROOT}/../)
|
||||
# OV_PRINT(OV_PRINTED " -> ${Matlab_ROOT}")
|
||||
FIND_PATH(Matlab_INCLUDE "mex.h" PATHS ${Matlab_ROOT}/extern/include ${Matlab_ROOT}/extern/include/extern)
|
||||
ENDIF()
|
||||
|
||||
# matlab executable path might have been pointing to a symbolic link elsewhere, try something else
|
||||
IF((NOT Matlab_INCLUDE) AND UNIX)
|
||||
EXECUTE_PROCESS(COMMAND matlab -e COMMAND grep "^MATLAB=" COMMAND sed "s/^MATLAB=//g" COMMAND tr "\n" "/"
|
||||
OUTPUT_VARIABLE Matlab_ROOT)
|
||||
FIND_PATH(Matlab_INCLUDE "mex.h" PATHS ${Matlab_ROOT}/extern/include ${Matlab_ROOT}/extern/include/extern)
|
||||
ENDIF()
|
||||
|
||||
IF(Matlab_INCLUDE)
|
||||
# OV_PRINT(OV_PRINTED "Have Matlab_INCLUDE ${Matlab_INCLUDE}")
|
||||
IF(UNIX)
|
||||
SET(Matlab_LIBRARIES mex mx eng)
|
||||
IF(CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
SET(Matlab_LIB_DIRECTORIES ${Matlab_ROOT}/bin/glnx86)
|
||||
ELSE()
|
||||
SET(Matlab_LIB_DIRECTORIES ${Matlab_ROOT}/bin/glnxa64)
|
||||
ENDIF()
|
||||
ENDIF(UNIX)
|
||||
IF(WIN32)
|
||||
SET(Matlab_LIBRARIES libmex libmx libeng) #mclmcrrt
|
||||
IF(CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
SET(Matlab_LIB_DIRECTORIES ${Matlab_ROOT}/extern/lib/win32/microsoft)
|
||||
ELSE()
|
||||
SET(Matlab_LIB_DIRECTORIES ${Matlab_ROOT}/extern/lib/win64/microsoft)
|
||||
ENDIF()
|
||||
# for delayed importation on windows
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} Delayimp )
|
||||
SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LINK_FLAGS "/DELAYLOAD:libeng.dll /DELAYLOAD:libmx.dll")
|
||||
# /DELAYLOAD:libmex.dll /DELAYLOAD:mclmcrrt.dll --> useless, no import
|
||||
ENDIF(WIN32)
|
||||
SET(Matlab_FOUND TRUE)
|
||||
ENDIF()
|
||||
|
||||
ENDIF(Matlab_EXECUTABLE)
|
||||
|
||||
IF(Matlab_FOUND)
|
||||
OV_PRINT(OV_PRINTED " Found Matlab in [${Matlab_ROOT}]")
|
||||
SET(Matlab_LIB_FOUND TRUE)
|
||||
INCLUDE_DIRECTORIES(${Matlab_INCLUDE})
|
||||
|
||||
FOREACH(Matlab_LIB ${Matlab_LIBRARIES})
|
||||
SET(Matlab_LIB1 "Matlab_LIB1-NOTFOUND")
|
||||
FIND_LIBRARY(Matlab_LIB1 NAMES ${Matlab_LIB} PATHS ${Matlab_LIB_DIRECTORIES} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(Matlab_LIB1 NAMES ${Matlab_LIB})
|
||||
IF(Matlab_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${Matlab_LIB1}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${Matlab_LIB1})
|
||||
ELSE(Matlab_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${Matlab_LIB}")
|
||||
SET(Matlab_LIB_FOUND FALSE)
|
||||
ENDIF(Matlab_LIB1)
|
||||
ENDFOREACH(Matlab_LIB)
|
||||
IF(Matlab_LIB_FOUND)
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyMatlab)
|
||||
ELSE(Matlab_LIB_FOUND)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find Matlab Libs, the plugins won't be built. You need a valid MATLAB installation, bitness matching platform target ${PLATFORM_TARGET}.")
|
||||
ENDIF(Matlab_LIB_FOUND)
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " FAILED to find Matlab (optional) ...")
|
||||
ENDIF()
|
||||
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyMatlab "Yes")
|
||||
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyMensiaAcquisition)
|
||||
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PATH(PATH_MENSIA openvibe-driver-mensia-acquisition.dll PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES sdk_mensia_acquisition_driver NO_DEFAULT_PATH)
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(PATH_MENSIA)
|
||||
OV_PRINT(OV_PRINTED " Found Mensia Acquisition driver...")
|
||||
|
||||
INSTALL(DIRECTORY "${PATH_MENSIA}/" DESTINATION "${DIST_BINDIR}/" FILES_MATCHING PATTERN "*.dll")
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyMensiaAcquisition)
|
||||
ELSE(PATH_MENSIA)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find Mensia Acquisition driver (optional driver)")
|
||||
ENDIF(PATH_MENSIA)
|
||||
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyMensiaAcquisition "Yes")
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyMicromed)
|
||||
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PATH(PATH_MICROMED_RELEASE dllMicromed.dll PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES sdk_micromed/Release NO_DEFAULT_PATH)
|
||||
FIND_PATH(PATH_MICROMED_DEBUG dllMicromed.dll PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES sdk_micromed/Debug NO_DEFAULT_PATH)
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(PATH_MICROMED_RELEASE AND PATH_MICROMED_DEBUG)
|
||||
OV_PRINT(OV_PRINTED " Found Micromed dll...")
|
||||
|
||||
OV_PRINT(OV_PRINTED " [ OK ] dll ${PATH_MICROMED_RELEASE}/dllMicromed.dll")
|
||||
OV_PRINT(OV_PRINTED " [ OK ] dll ${PATH_MICROMED_DEBUG}/dllMicromed.dll")
|
||||
|
||||
INSTALL(PROGRAMS "${PATH_MICROMED_RELEASE}/dllMicromed.dll" DESTINATION ${DIST_BINDIR} CONFIGURATIONS Release Optimized)
|
||||
INSTALL(PROGRAMS "${PATH_MICROMED_DEBUG}/dllMicromed.dll" DESTINATION ${DIST_BINDIR} CONFIGURATIONS Debug)
|
||||
INSTALL(PROGRAMS "${PATH_MICROMED_DEBUG}/dllMicromed.pdb" DESTINATION ${DIST_BINDIR} CONFIGURATIONS Debug)
|
||||
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyMicromed)
|
||||
ELSE(PATH_MICROMED_RELEASE AND PATH_MICROMED_DEBUG)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find Micromed device dlls (optional driver)")
|
||||
ENDIF(PATH_MICROMED_RELEASE AND PATH_MICROMED_DEBUG)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyMicromed "Yes")
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyMitsar)
|
||||
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PATH(PATH_MITSAR MitsarDll.dll PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES sdk_mitsar NO_DEFAULT_PATH)
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(PATH_MITSAR)
|
||||
OV_PRINT(OV_PRINTED " Found Mitsar dll...")
|
||||
|
||||
INSTALL(PROGRAMS "${PATH_MITSAR}/MitsarDll.dll" DESTINATION ${DIST_BINDIR})
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyMitsar)
|
||||
ELSE(PATH_MITSAR)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find Mitsar device dll (optional driver)")
|
||||
ENDIF(PATH_MITSAR)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyMitsar "Yes")
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyNeXus)
|
||||
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PATH(PATH_NEXUS NeXusDll.dll PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES sdk_nexus NO_DEFAULT_PATH)
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(PATH_NEXUS)
|
||||
OV_PRINT(OV_PRINTED " Found MindMedia NeXus dll...")
|
||||
|
||||
INSTALL(PROGRAMS "${PATH_NEXUS}/NeXusDll.dll" "${PATH_NEXUS}/RTInst.dll" DESTINATION ${DIST_BINDIR})
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyNeXus)
|
||||
ELSE(PATH_NEXUS)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find MindMedia NeXus device dll (optional driver)")
|
||||
ENDIF(PATH_NEXUS)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyNeXus "Yes")
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# ---------------------------------
|
||||
# Finds third party libs for NeuroServo driver
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyNeuroServoDeps)
|
||||
|
||||
IF(WIN32)
|
||||
|
||||
FIND_LIBRARY(LIB_STANDARD_MODULE_HID hid)
|
||||
FIND_LIBRARY(LIB_STANDARD_MODULE_SETUPAPI SetupApi)
|
||||
|
||||
IF(LIB_STANDARD_MODULE_HID AND LIB_STANDARD_MODULE_SETUPAPI)
|
||||
OV_PRINT(OV_PRINTED " Found NeuroServo driver dependencies ...")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_STANDARD_MODULE_HID})
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_STANDARD_MODULE_SETUPAPI})
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyNeuroServo)
|
||||
ELSE(LIB_STANDARD_MODULE_HID AND LIB_STANDARD_MODULE_SETUPAPI)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find NeuroServo HID driver dependencies (optional driver) ...")
|
||||
ENDIF(LIB_STANDARD_MODULE_HID AND LIB_STANDARD_MODULE_SETUPAPI)
|
||||
|
||||
IF(LIB_STANDARD_MODULE_HID)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] HID library ${LIB_STANDARD_MODULE_HID}...")
|
||||
ELSE(LIB_STANDARD_MODULE_HID)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] to find HID library...")
|
||||
ENDIF(LIB_STANDARD_MODULE_HID)
|
||||
|
||||
IF(LIB_STANDARD_MODULE_SETUPAPI)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] SetupApi library ${LIB_STANDARD_MODULE_SETUPAPI}...")
|
||||
ELSE(LIB_STANDARD_MODULE_SETUPAPI)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] to find SetupApi library...")
|
||||
ENDIF(LIB_STANDARD_MODULE_SETUPAPI)
|
||||
|
||||
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyNeuroServoDeps "Yes")
|
||||
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
# ---------------------------------
|
||||
# Finds the ENOBIO API & library
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyNeuroelectricsEnobio3G)
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PATH(PATH_ENOBIOAPI enobio3g.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES sdk_enobio3g/enobio3g)
|
||||
IF(NOT PATH_ENOBIOAPI)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find ENOBIO API (optional driver) - cmake looked in '${LIST_DEPENDENCIES_PATH}', skipping Enobio.")
|
||||
RETURN()
|
||||
ENDIF(NOT PATH_ENOBIOAPI)
|
||||
|
||||
OV_PRINT(OV_PRINTED " Found ENOBIO API...")
|
||||
|
||||
FIND_LIBRARY(LIB_ENOBIOAPI Enobio3GAPI PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES sdk_enobio3g/MSVC)
|
||||
IF(NOT LIB_ENOBIOAPI)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Enobio libs not found, skipping Enobio.")
|
||||
RETURN()
|
||||
ENDIF(NOT LIB_ENOBIOAPI)
|
||||
|
||||
INCLUDE_DIRECTORIES("${PATH_ENOBIOAPI}")
|
||||
INSTALL(DIRECTORY "${PATH_ENOBIOAPI}/../MSVC/" DESTINATION "${DIST_BINDIR}/" FILES_MATCHING PATTERN "*.dll")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_ENOBIOAPI} )
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyEnobioAPI)
|
||||
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_ENOBIOAPI}")
|
||||
|
||||
ENDIF(WIN32)
|
||||
|
||||
# For now, the Linux building of Enobio3G is disabled as it has not been tested with a recent Neuroelectrics lib.
|
||||
IF(UNIX)
|
||||
OV_PRINT(OV_PRINTED " Skipped Enobio3G, its work in progress.")
|
||||
RETURN()
|
||||
ENDIF(UNIX)
|
||||
|
||||
IF(UNIX)
|
||||
SET(QTCORE_INCLUDE_PREFIX /usr/share/qt4/include/)
|
||||
SET(QTCORE_LIB_PREFIX /usr/lib/x86_64-linux-gnu/)
|
||||
|
||||
FIND_PATH(PATH_ENOBIOAPI enobio3g.h PATHS $ENV{OpenViBE_dependencies} ${OV_BASE_DIR}/contrib/plugins/server-drivers/enobio3G/Enobio3GAPI.linux/)
|
||||
IF(PATH_ENOBIOAPI)
|
||||
OV_PRINT(OV_PRINTED " Found ENOBIO API...")
|
||||
INCLUDE_DIRECTORIES(${PATH_ENOBIOAPI})
|
||||
FIND_PATH(PATH_QTCORE_INCLUDE QtCore/QtCore ${QTCORE_INCLUDE_PREFIX})
|
||||
IF(PATH_QTCORE_INCLUDE)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] QtCore include ${PATH_QTCORE_INCLUDE}/")
|
||||
INCLUDE_DIRECTORIES(${PATH_QTCORE_INCLUDE}/)
|
||||
ELSE(PATH_QTCORE_INCLUDE)
|
||||
OV_PRINT(OV_PRINTED " FAILED TO FIND QtCore include PATH")
|
||||
ENDIF(PATH_QTCORE_INCLUDE)
|
||||
FIND_LIBRARY(LIB_ENOBIOAPI Enobio3GAPI PATHS ${PATH_ENOBIOAPI}/libs/ )
|
||||
IF(LIB_ENOBIOAPI)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_ENOBIOAPI}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_ENOBIOAPI} )
|
||||
ELSE(LIB_ENOBIOAPI)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib ENOBIO")
|
||||
ENDIF(LIB_ENOBIOAPI)
|
||||
|
||||
FIND_LIBRARY(LIB_QT QtCore ${QTCORE_LIB_PREFIX})
|
||||
IF(LIB_QT)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_QT}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} -L${LIB_QT} -lQtCore)
|
||||
ELSE(LIB_QT)
|
||||
OV_PRINT(OV_PRINTED " [ FAILED ] lib QT ${QTCORE_LIB_PREFIX}")
|
||||
ENDIF(LIB_QT)
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyEnobioAPI)
|
||||
|
||||
# Copying the DLL file at postbuild
|
||||
ADD_CUSTOM_COMMAND(
|
||||
TARGET ${PROJECT_NAME}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy "${LIB_ENOBIOAPI}" "${PROJECT_SOURCE_DIR}/bin"
|
||||
COMMENT " ---> Copying lib file ${LIB_ENOBIOAPI} for the Neuroelectrics Enobio driver."
|
||||
VERBATIM)
|
||||
ELSE(PATH_ENOBIOAPI)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find ENOBIO API - cmake looked in $ENV{OpenViBE_dependencies} and in ${OV_BASE_DIR}/contrib/plugins/server-drivers/enobio3G/Enobio3GAPI/")
|
||||
ENDIF(PATH_ENOBIOAPI)
|
||||
ENDIF(UNIX)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyNeuroelectricsEnobio3G "Yes")
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
# ---------------------------------
|
||||
# Finds Ogre3D toolkit
|
||||
#
|
||||
# Sets Ogre3D_FOUND
|
||||
# Sets Ogre3D_LIBRARIES
|
||||
# Sets Ogre3D_LIBRARY_DIRS
|
||||
# Sets Ogre3D_LDFLAGS
|
||||
# Sets Ogre3D_LDFLAGS_OTHERS
|
||||
# Sets Ogre3D_INCLUDE_DIRS
|
||||
# Sets Ogre3D_CFLAGS
|
||||
# Sets Ogre3D_CFLAGS_OTHERS
|
||||
#
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyOgre3D)
|
||||
|
||||
IF(OV_DISABLE_OGRE)
|
||||
OV_PRINT(OV_PRINTED " SKIPPED Ogre3D/OIS, disabled, no 3D ...")
|
||||
RETURN()
|
||||
ENDIF(OV_DISABLE_OGRE)
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PATH(PATH_Ogre3D include/OGRE/Ogre.h PATHS ${LIST_DEPENDENCIES_PATH} $ENV{OGRE_HOME} PATH_SUFFIXES ogre .)
|
||||
IF(PATH_Ogre3D)
|
||||
SET(Ogre3D_FOUND TRUE)
|
||||
SET(OIS_FOUND TRUE)
|
||||
SET(Ogre3D_INCLUDE_DIRS ${PATH_Ogre3D}/include/OGRE ${PATH_Ogre3D}/include/OIS)
|
||||
|
||||
# Currently the different versions we package for different VS have a bit different libs...
|
||||
STRING(REGEX MATCH "vc100.*" MSVC_VER100 ${MSVC_SERVICE_PACK})
|
||||
STRING(REGEX MATCH "vc120.*" MSVC_VER120 ${MSVC_SERVICE_PACK})
|
||||
IF(MSVC_VER100)
|
||||
SET(Ogre3D_LIBRARIES_RELEASE OgreMain OIS)
|
||||
SET(Ogre3D_LIBRARIES_DEBUG OgreMain_d OIS_d)
|
||||
SET(Ogre3D_LIBRARY_DIRS_DEBUG ${PATH_Ogre3D}/lib/Debug)
|
||||
ENDIF(MSVC_VER100)
|
||||
IF(MSVC_VER120)
|
||||
SET(Ogre3D_LIBRARIES_RELEASE OgreMain OgreOverlay OIS)
|
||||
SET(Ogre3D_LIBRARIES_DEBUG OgreMain_d OgreOverlay_d OIS_d)
|
||||
ENDIF(MSVC_VER120)
|
||||
|
||||
SET(Ogre3D_LIBRARY_DIRS_DEBUG ${PATH_Ogre3D}/lib/Debug)
|
||||
SET(Ogre3D_LIBRARY_DIRS_RELEASE ${PATH_Ogre3D}/lib/Release)
|
||||
ENDIF(PATH_Ogre3D)
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(UNIX)
|
||||
INCLUDE("FindThirdPartyPkgConfig")
|
||||
pkg_check_modules(Ogre3D OGRE)
|
||||
pkg_check_modules(OIS OIS)
|
||||
ENDIF(UNIX)
|
||||
|
||||
IF(Ogre3D_FOUND AND OIS_FOUND)
|
||||
OV_PRINT(OV_PRINTED " Found Ogre3D/OIS...")
|
||||
INCLUDE_DIRECTORIES(${OIS_INCLUDE_DIRS} ${Ogre3D_INCLUDE_DIRS})
|
||||
ADD_DEFINITIONS(${OIS_CFLAGS} ${Ogre3D_CFLAGS})
|
||||
ADD_DEFINITIONS(${OIS_CFLAGS_OTHERS} ${Ogre3D_CFLAGS_OTHERS})
|
||||
# OV_PRINT(OV_PRINTED "A ${OIS_CFLAGS} ${Ogre3D_CFLAGS} B ${OIS_CFLAGS_OTHERS} ${Ogre3D_CFLAGS_OTHERS} C ${Ogre3D_LIBRARIES_RELEASE} D ${Ogre3D_LIBRARIES_DEBUG}")
|
||||
|
||||
IF(UNIX)
|
||||
IF(Ogre3D_VERSION VERSION_EQUAL "1.9.0" OR Ogre3D_VERSION VERSION_GREATER "1.9.0")
|
||||
SET(Ogre3D_LIBRARIES "${Ogre3_LIBRARIES};OgreOverlay")
|
||||
ENDIF(Ogre3D_VERSION VERSION_EQUAL "1.9.0" OR Ogre3D_VERSION VERSION_GREATER "1.9.0")
|
||||
|
||||
FOREACH(Ogre3D_LIB ${Ogre3D_LIBRARIES} ${OIS_LIBRARIES})
|
||||
SET(Ogre3D_LIB1 "Ogre3D_LIB1-NOTFOUND")
|
||||
FIND_LIBRARY(Ogre3D_LIB1 NAMES ${Ogre3D_LIB} PATHS ${Ogre3D_LIBRARY_DIRS} ${Ogre3D_LIBDIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(Ogre3D_LIB1 NAMES ${Ogre3D_LIB})
|
||||
IF(Ogre3D_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${Ogre3D_LIB1}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${Ogre3D_LIB1})
|
||||
ELSE(Ogre3D_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${Ogre3D_LIB}")
|
||||
ENDIF(Ogre3D_LIB1)
|
||||
ENDFOREACH(Ogre3D_LIB)
|
||||
ENDIF(UNIX)
|
||||
IF(WIN32)
|
||||
FOREACH(Ogre3D_LIB ${Ogre3D_LIBRARIES_RELEASE})
|
||||
SET(Ogre3D_LIB1 "Ogre3D_LIB1-NOTFOUND")
|
||||
FIND_LIBRARY(Ogre3D_LIB1 NAMES ${Ogre3D_LIB} PATHS ${Ogre3D_LIBRARY_DIRS_RELEASE} ${Ogre3D_LIBDIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(Ogre3D_LIB1 NAMES ${Ogre3D_LIB})
|
||||
IF(Ogre3D_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${Ogre3D_LIB1}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} optimized ${Ogre3D_LIB1})
|
||||
ELSE(Ogre3D_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${Ogre3D_LIB}")
|
||||
ENDIF(Ogre3D_LIB1)
|
||||
ENDFOREACH(Ogre3D_LIB)
|
||||
|
||||
FOREACH(Ogre3D_LIB ${Ogre3D_LIBRARIES_DEBUG})
|
||||
SET(Ogre3D_LIB1 "Ogre3D_LIB1-NOTFOUND")
|
||||
FIND_LIBRARY(Ogre3D_LIB1 NAMES ${Ogre3D_LIB} PATHS ${Ogre3D_LIBRARY_DIRS_DEBUG} ${Ogre3D_LIBDIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(Ogre3D_LIB1 NAMES ${Ogre3D_LIB})
|
||||
IF(Ogre3D_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${Ogre3D_LIB1}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} debug ${Ogre3D_LIB1})
|
||||
ELSE(Ogre3D_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${Ogre3D_LIB}")
|
||||
ENDIF(Ogre3D_LIB1)
|
||||
ENDFOREACH(Ogre3D_LIB)
|
||||
ENDIF(WIN32)
|
||||
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyOgre3D)
|
||||
ELSE(Ogre3D_FOUND AND OIS_FOUND)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find Ogre3D/OIS...")
|
||||
ENDIF(Ogre3D_FOUND AND OIS_FOUND)
|
||||
|
||||
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyOgre3D "Yes")
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
# ---------------------------------
|
||||
# Finds Ogre3DTerrain toolkit
|
||||
#
|
||||
# Sets Ogre3DTerrain_FOUND
|
||||
# Sets Ogre3DTerrain_LIBRARIES
|
||||
# Sets Ogre3DTerrain_LIBRARY_DIRS
|
||||
# Sets Ogre3DTerrain_LDFLAGS
|
||||
# Sets Ogre3DTerrain_LDFLAGS_OTHERS
|
||||
# Sets Ogre3DTerrain_INCLUDE_DIRS
|
||||
# Sets Ogre3DTerrain_CFLAGS
|
||||
# Sets Ogre3DTerrain_CFLAGS_OTHERS
|
||||
#
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyOgre3DTerrain)
|
||||
|
||||
IF(OV_DISABLE_OGRE)
|
||||
OV_PRINT(OV_PRINTED " SKIPPED Ogre3D (Terrain), disabled, no 3D ...")
|
||||
RETURN()
|
||||
ENDIF(OV_DISABLE_OGRE)
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PATH(PATH_Ogre3DTerrain include/OGRE/Ogre.h PATHS ${LIST_DEPENDENCIES_PATH} $ENV{OGRE_HOME} PATH_SUFFIXES ogre .)
|
||||
IF(PATH_Ogre3DTerrain)
|
||||
SET(Ogre3DTerrain_FOUND TRUE)
|
||||
SET(OIS_FOUND TRUE)
|
||||
SET(Ogre3DTerrain_INCLUDE_DIRS ${PATH_Ogre3DTerrain}/include/OGRE ${PATH_Ogre3DTerrain}/include/OIS)
|
||||
|
||||
SET(Ogre3DTerrain_LIBRARIES_RELEASE OgreMain OIS)
|
||||
SET(Ogre3DTerrain_LIBRARY_DIRS_RELEASE ${PATH_Ogre3DTerrain}/lib/Release)
|
||||
|
||||
SET(Ogre3DTerrain_LIBRARIES_DEBUG OgreMain_d OIS_d)
|
||||
SET(Ogre3DTerrain_LIBRARY_DIRS_DEBUG ${PATH_Ogre3DTerrain}/lib/Debug)
|
||||
ENDIF(PATH_Ogre3DTerrain)
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(UNIX)
|
||||
INCLUDE("FindThirdPartyPkgConfig")
|
||||
pkg_check_modules(Ogre3DTerrain OGRE-Terrain)
|
||||
pkg_check_modules(OIS OIS)
|
||||
ENDIF(UNIX)
|
||||
|
||||
IF(Ogre3DTerrain_FOUND AND OIS_FOUND)
|
||||
OV_PRINT(OV_PRINTED " Found Ogre3DTerrain/OIS...")
|
||||
INCLUDE_DIRECTORIES(${OIS_INCLUDE_DIRS} ${Ogre3DTerrain_INCLUDE_DIRS})
|
||||
ADD_DEFINITIONS(${OIS_CFLAGS} ${Ogre3DTerrain_CFLAGS})
|
||||
ADD_DEFINITIONS(${OIS_CFLAGS_OTHERS} ${Ogre3DTerrain_CFLAGS_OTHERS})
|
||||
# OV_PRINT(OV_PRINTED "A ${OIS_CFLAGS} ${Ogre3DTerrain_CFLAGS} B ${OIS_CFLAGS_OTHERS} ${Ogre3DTerrain_CFLAGS_OTHERS} C ${Ogre3DTerrain_LIBRARIES_RELEASE} D ${Ogre3DTerrain_LIBRARIES_DEBUG}")
|
||||
|
||||
IF(UNIX)
|
||||
FOREACH(Ogre3DTerrain_LIB ${Ogre3DTerrain_LIBRARIES} ${OIS_LIBRARIES})
|
||||
SET(Ogre3DTerrain_LIB1 "Ogre3DTerrain_LIB1-NOTFOUND")
|
||||
FIND_LIBRARY(Ogre3DTerrain_LIB1 NAMES ${Ogre3DTerrain_LIB} PATHS ${Ogre3DTerrain_LIBRARY_DIRS} ${Ogre3DTerrain_LIBDIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(Ogre3DTerrain_LIB1 NAMES ${Ogre3DTerrain_LIB})
|
||||
IF(Ogre3DTerrain_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${Ogre3DTerrain_LIB1}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${Ogre3DTerrain_LIB1})
|
||||
ELSE(Ogre3DTerrain_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${Ogre3DTerrain_LIB}")
|
||||
ENDIF(Ogre3DTerrain_LIB1)
|
||||
ENDFOREACH(Ogre3DTerrain_LIB)
|
||||
ENDIF(UNIX)
|
||||
IF(WIN32)
|
||||
FOREACH(Ogre3DTerrain_LIB ${Ogre3DTerrain_LIBRARIES_RELEASE})
|
||||
SET(Ogre3DTerrain_LIB1 "Ogre3DTerrain_LIB1-NOTFOUND")
|
||||
FIND_LIBRARY(Ogre3DTerrain_LIB1 NAMES ${Ogre3DTerrain_LIB} PATHS ${Ogre3DTerrain_LIBRARY_DIRS_RELEASE} ${Ogre3DTerrain_LIBDIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(Ogre3DTerrain_LIB1 NAMES ${Ogre3DTerrain_LIB})
|
||||
IF(Ogre3DTerrain_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${Ogre3DTerrain_LIB1}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} optimized ${Ogre3DTerrain_LIB1})
|
||||
ELSE(Ogre3DTerrain_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${Ogre3DTerrain_LIB}")
|
||||
ENDIF(Ogre3DTerrain_LIB1)
|
||||
ENDFOREACH(Ogre3DTerrain_LIB)
|
||||
|
||||
FOREACH(Ogre3DTerrain_LIB ${Ogre3DTerrain_LIBRARIES_DEBUG})
|
||||
SET(Ogre3DTerrain_LIB1 "Ogre3DTerrain_LIB1-NOTFOUND")
|
||||
FIND_LIBRARY(Ogre3DTerrain_LIB1 NAMES ${Ogre3DTerrain_LIB} PATHS ${Ogre3DTerrain_LIBRARY_DIRS_DEBUG} ${Ogre3DTerrain_LIBDIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(Ogre3DTerrain_LIB1 NAMES ${Ogre3DTerrain_LIB})
|
||||
IF(Ogre3DTerrain_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${Ogre3DTerrain_LIB1}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} debug ${Ogre3DTerrain_LIB1})
|
||||
ELSE(Ogre3DTerrain_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${Ogre3DTerrain_LIB}")
|
||||
ENDIF(Ogre3DTerrain_LIB1)
|
||||
ENDFOREACH(Ogre3DTerrain_LIB)
|
||||
ENDIF(WIN32)
|
||||
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyOgre3DTerrain)
|
||||
ELSE(Ogre3DTerrain_FOUND AND OIS_FOUND)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find Ogre3DTerrain/OIS...")
|
||||
ENDIF(Ogre3DTerrain_FOUND AND OIS_FOUND)
|
||||
|
||||
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyOgre3DTerrain "Yes")
|
||||
|
||||
@@ -0,0 +1,188 @@
|
||||
# ---------------------------------
|
||||
# Finds OpenAL, ALUT, OGGVORBIS
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyOpenAL)
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PATH(PATH_OPENAL include/al.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES openal . NO_DEFAULT_PATH)
|
||||
FIND_PATH(PATH_ALUT include/AL/alut.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES freealut .)
|
||||
FIND_PATH(PATH_OGG include/ogg/ogg.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES libogg .)
|
||||
FIND_PATH(PATH_VORBIS include/vorbis/vorbisfile.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES libvorbis .)
|
||||
|
||||
SET(BUILDTYPE_PATH_DEBUG "debug")
|
||||
SET(BUILDTYPE_PATH_RELEASE "release")
|
||||
|
||||
IF(PATH_OPENAL)
|
||||
OV_PRINT(OV_PRINTED " Found OpenAL...")
|
||||
IF("${PLATFORM_TARGET}" STREQUAL "x64")
|
||||
SET(OPENAL_SUBDIR "Win64")
|
||||
ELSE()
|
||||
SET(OPENAL_SUBDIR "Win32")
|
||||
ENDIF()
|
||||
FIND_LIBRARY(LIB_OPENAL OpenAL32 PATHS ${PATH_OPENAL}/libs/${OPENAL_SUBDIR}/ NO_DEFAULT_PATH)
|
||||
IF(LIB_OPENAL)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_OPENAL}")
|
||||
INSTALL(DIRECTORY "${PATH_OPENAL}/libs/${OPENAL_SUBDIR}/" DESTINATION "${DIST_BINDIR}/" FILES_MATCHING PATTERN "*.dll" PATTERN "EFX*" EXCLUDE)
|
||||
ELSE(LIB_OPENAL)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib OpenAL32")
|
||||
SET(OPENAL_MISSED_SOMETHING YES)
|
||||
ENDIF(LIB_OPENAL)
|
||||
ELSE(PATH_OPENAL)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find OpenAL32")
|
||||
SET(OPENAL_MISSED_SOMETHING YES)
|
||||
ENDIF(PATH_OPENAL)
|
||||
|
||||
IF(PATH_ALUT)
|
||||
FIND_LIBRARY(LIB_ALUT alut PATHS ${PATH_ALUT}/lib NO_DEFAULT_PATH)
|
||||
IF(LIB_ALUT)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_ALUT}")
|
||||
INSTALL(DIRECTORY "${PATH_ALUT}/lib/" DESTINATION "${DIST_BINDIR}/" FILES_MATCHING PATTERN "*.dll")
|
||||
ELSE(LIB_ALUT)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib alut")
|
||||
SET(OPENAL_MISSED_SOMETHING YES)
|
||||
ENDIF(LIB_ALUT)
|
||||
ELSE(PATH_ALUT)
|
||||
OV_PRINT(OV_PRINTED " -- FAILED to find ALUT")
|
||||
SET(OPENAL_MISSED_SOMETHING YES)
|
||||
ENDIF(PATH_ALUT)
|
||||
|
||||
IF(PATH_OGG)
|
||||
FIND_LIBRARY(LIB_OGG_RELEASE libogg PATHS ${PATH_OGG}/win32/lib/${BUILDTYPE_PATH_RELEASE} NO_DEFAULT_PATH)
|
||||
IF(LIB_OGG_RELEASE)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_OGG_RELEASE} (release)")
|
||||
# We only have release OpenAL, so we have to include release version for libogg, and libvorbis
|
||||
INSTALL(DIRECTORY "${PATH_OGG}/win32/bin/${BUILDTYPE_PATH_RELEASE}/" DESTINATION "${DIST_BINDIR}/") # CONFIGURATIONS Release)
|
||||
ELSE(LIB_OGG_RELEASE)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib ogg (release)")
|
||||
SET(OPENAL_MISSED_SOMETHING YES)
|
||||
ENDIF(LIB_OGG_RELEASE)
|
||||
|
||||
FIND_LIBRARY(LIB_OGG_DEBUG libogg PATHS ${PATH_OGG}/win32/lib/${BUILDTYPE_PATH_DEBUG} NO_DEFAULT_PATH)
|
||||
IF(LIB_OGG_DEBUG)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_OGG_DEBUG} (debug)")
|
||||
# INSTALL(DIRECTORY "${PATH_OGG}/win32/bin/${BUILDTYPE_PATH_DEBUG}/" DESTINATION "${DIST_BINDIR}/" CONFIGURATIONS Debug)
|
||||
ELSE(LIB_OGG_DEBUG)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib ogg (debug)")
|
||||
SET(OPENAL_MISSED_SOMETHING YES)
|
||||
ENDIF(LIB_OGG_DEBUG)
|
||||
ELSE(PATH_OGG)
|
||||
OV_PRINT(OV_PRINTED " -- FAILED to find OGG")
|
||||
SET(OPENAL_MISSED_SOMETHING YES)
|
||||
ENDIF(PATH_OGG)
|
||||
|
||||
IF(PATH_VORBIS)
|
||||
FIND_LIBRARY(LIB_VORBIS_RELEASE libvorbis PATHS ${PATH_VORBIS}/win32/lib/${BUILDTYPE_PATH_RELEASE} NO_DEFAULT_PATH)
|
||||
IF(LIB_VORBIS_RELEASE)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_VORBIS_RELEASE} (release)")
|
||||
INSTALL(FILES "${PATH_VORBIS}/win32/bin/${BUILDTYPE_PATH_RELEASE}/libvorbis.dll" DESTINATION "${DIST_BINDIR}") # CONFIGURATIONS Release)
|
||||
ELSE(LIB_VORBIS_RELEASE)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib vorbis (release)")
|
||||
SET(OPENAL_MISSED_SOMETHING YES)
|
||||
ENDIF(LIB_VORBIS_RELEASE)
|
||||
|
||||
FIND_LIBRARY(LIB_VORBIS_DEBUG libvorbis PATHS ${PATH_VORBIS}/win32/lib/${BUILDTYPE_PATH_DEBUG} NO_DEFAULT_PATH)
|
||||
IF(LIB_VORBIS_DEBUG)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_VORBIS_DEBUG} (debug)")
|
||||
# INSTALL(FILES "${PATH_VORBIS}/win32/bin/${BUILDTYPE_PATH_DEBUG}/libvorbis.dll" DESTINATION "${DIST_BINDIR}" CONFIGURATIONS Debug)
|
||||
ELSE(LIB_VORBIS_DEBUG)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib vorbis (debug)")
|
||||
SET(OPENAL_MISSED_SOMETHING YES)
|
||||
ENDIF(LIB_VORBIS_DEBUG)
|
||||
|
||||
FIND_LIBRARY(LIB_VORBISFILE_RELEASE libvorbisfile PATHS ${PATH_VORBIS}/win32/lib/${BUILDTYPE_PATH_RELEASE} NO_DEFAULT_PATH)
|
||||
IF(LIB_VORBISFILE_RELEASE)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_VORBISFILE_RELEASE} (release)")
|
||||
INSTALL(FILES "${PATH_VORBIS}/win32/bin/${BUILDTYPE_PATH_RELEASE}/libvorbisfile.dll" DESTINATION "${DIST_BINDIR}")# CONFIGURATIONS Release)
|
||||
ELSE(LIB_VORBISFILE_RELEASE)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib vorbisfile (release)")
|
||||
SET(OPENAL_MISSED_SOMETHING YES)
|
||||
ENDIF(LIB_VORBISFILE_RELEASE)
|
||||
|
||||
FIND_LIBRARY(LIB_VORBISFILE_DEBUG libvorbisfile PATHS ${PATH_VORBIS}/win32/lib/${BUILDTYPE_PATH_DEBUG} NO_DEFAULT_PATH)
|
||||
IF(LIB_VORBISFILE_DEBUG)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_VORBISFILE_DEBUG} (debug)")
|
||||
# INSTALL(FILES "${PATH_VORBIS}/win32/bin/${BUILDTYPE_PATH_DEBUG}/libvorbisfile.dll" DESTINATION "${DIST_BINDIR}" CONFIGURATIONS Debug)
|
||||
ELSE(LIB_VORBISFILE_DEBUG)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib vorbisfile (debug)")
|
||||
SET(OPENAL_MISSED_SOMETHING YES)
|
||||
ENDIF(LIB_VORBISFILE_DEBUG)
|
||||
ELSE(PATH_VORBIS)
|
||||
OV_PRINT(OV_PRINTED " -- FAILED to find VORBIS")
|
||||
SET(OPENAL_MISSED_SOMETHING YES)
|
||||
ENDIF(PATH_VORBIS)
|
||||
|
||||
IF(OPENAL_MISSED_SOMETHING)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find everything required by OpenAL")
|
||||
ELSE(OPENAL_MISSED_SOMETHING)
|
||||
OV_PRINT(OV_PRINTED " Found OpenAL and all its library dependencies...")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_OPENAL})
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_ALUT})
|
||||
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} debug ${LIB_OGG_DEBUG} optimized ${LIB_OGG_RELEASE} )
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} debug ${LIB_VORBIS_DEBUG} optimized ${LIB_VORBIS_RELEASE} )
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} debug ${LIB_VORBISFILE_DEBUG} optimized ${LIB_VORBISFILE_RELEASE})
|
||||
|
||||
INCLUDE_DIRECTORIES(${PATH_OPENAL}/include ${PATH_ALUT}/include ${PATH_OGG}/include ${PATH_VORBIS}/include)
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyOpenAL)
|
||||
ENDIF(OPENAL_MISSED_SOMETHING)
|
||||
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(UNIX)
|
||||
INCLUDE("FindThirdPartyPkgConfig")
|
||||
pkg_check_modules(ALUT freealut)
|
||||
|
||||
IF(ALUT_FOUND)
|
||||
OV_PRINT(OV_PRINTED " Found ALUT...")
|
||||
INCLUDE_DIRECTORIES(${ALUT_INCLUDE_DIRS})
|
||||
ADD_DEFINITIONS(${ALUT_CFLAGS})
|
||||
ADD_DEFINITIONS(${ALUT_CFLAGS_OTHERS})
|
||||
# LINK_DIRECTORIES(${ALUT_LIBRARY_DIRS})
|
||||
FOREACH(ALUT_LIB ${ALUT_LIBRARIES})
|
||||
SET(ALUT_LIB1 "ALUT_LIB1-NOTFOUND")
|
||||
FIND_LIBRARY(ALUT_LIB1 NAMES ${ALUT_LIB} PATHS ${ALUT_LIBRARY_DIRS} ${ALUT_LIBDIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(ALUT_LIB1 NAMES ${ALUT_LIB})
|
||||
IF(ALUT_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${ALUT_LIB1}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${ALUT_LIB1})
|
||||
ELSE(ALUT_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${ALUT_LIB}")
|
||||
ENDIF(ALUT_LIB1)
|
||||
ENDFOREACH(ALUT_LIB)
|
||||
ELSE(ALUT_FOUND)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find ALUT...")
|
||||
ENDIF(ALUT_FOUND)
|
||||
|
||||
pkg_check_modules(VORBIS vorbisfile)
|
||||
|
||||
IF(VORBIS_FOUND)
|
||||
OV_PRINT(OV_PRINTED " Found VORBIS...")
|
||||
INCLUDE_DIRECTORIES(${VORBIS_INCLUDE_DIRS})
|
||||
ADD_DEFINITIONS(${VORBIS_CFLAGS})
|
||||
ADD_DEFINITIONS(${VORBIS_CFLAGS_OTHERS})
|
||||
# LINK_DIRECTORIES(${VORBIS_LIBRARY_DIRS})
|
||||
FOREACH(VORBIS_LIB ${VORBIS_LIBRARIES})
|
||||
SET(VORBIS_LIB1 "VORBIS_LIB1-NOTFOUND")
|
||||
FIND_LIBRARY(VORBIS_LIB1 NAMES ${VORBIS_LIB} PATHS ${VORBIS_LIBRARY_DIRS} ${VORBIS_LIBDIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(VORBIS_LIB1 NAMES ${VORBIS_LIB})
|
||||
IF(VORBIS_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${VORBIS_LIB1}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${VORBIS_LIB1})
|
||||
ELSE(VORBIS_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${VORBIS_LIB}")
|
||||
ENDIF(VORBIS_LIB1)
|
||||
ENDFOREACH(VORBIS_LIB)
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyOpenAL)
|
||||
ELSE(VORBIS_FOUND)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find VORBIS...")
|
||||
ENDIF(VORBIS_FOUND)
|
||||
|
||||
ENDIF(UNIX)
|
||||
|
||||
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyOpenAL "Yes")
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
# ---------------------------------
|
||||
# Finds OpenGL toolkit
|
||||
#
|
||||
# Sets OpenGL_FOUND
|
||||
# Sets OpenGL_LIBRARIES
|
||||
# Sets OpenGL_LIBRARY_DIRS
|
||||
# Sets OpenGL_LDFLAGS
|
||||
# Sets OpenGL_LDFLAGS_OTHERS
|
||||
# Sets OpenGL_INCLUDE_DIRS
|
||||
# Sets OpenGL_CFLAGS
|
||||
# Sets OpenGL_CFLAGS_OTHERS
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyOpenGL)
|
||||
|
||||
IF(WIN32)
|
||||
FIND_LIBRARY(LIB_STANDARD_MODULE_GL opengl32)
|
||||
FIND_LIBRARY(LIB_STANDARD_MODULE_GLU glu32)
|
||||
IF(LIB_STANDARD_MODULE_GL AND LIB_STANDARD_MODULE_GLU)
|
||||
OV_PRINT(OV_PRINTED " Found gl...")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_STANDARD_MODULE_GL})
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_STANDARD_MODULE_GLU})
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyOpenGL)
|
||||
ELSE(LIB_STANDARD_MODULE_GL AND LIB_STANDARD_MODULE_GLU)
|
||||
MESSAGE(WARNING " FAILED to find gl...")
|
||||
ENDIF(LIB_STANDARD_MODULE_GL AND LIB_STANDARD_MODULE_GLU)
|
||||
ELSE(WIN32)
|
||||
INCLUDE("FindPkgConfig")
|
||||
pkg_check_modules(OpenGL glu)
|
||||
|
||||
IF(OpenGL_FOUND)
|
||||
OV_PRINT(OV_PRINTED " Found OpenGL...")
|
||||
INCLUDE_DIRECTORIES(${OpenGL_INCLUDE_DIRS})
|
||||
ADD_DEFINITIONS(${OpenGL_CFLAGS})
|
||||
ADD_DEFINITIONS(${OpenGL_CFLAGS_OTHERS})
|
||||
LINK_DIRECTORIES(${OpenGL_LIBRARY_DIRS})
|
||||
IF(NOT(APPLE))
|
||||
LINK_DIRECTORIES(${OpenGL_LIBRARY_DIRS}/mesa)
|
||||
ENDIF()
|
||||
FOREACH(OpenGL_LIB ${OpenGL_LIBRARIES} z)
|
||||
SET(OpenGL_LIB1 "OpenGL_LIB1-NOTFOUND")
|
||||
FIND_LIBRARY(OpenGL_LIB1 NAMES ${OpenGL_LIB} PATHS ${OpenGL_LIBRARY_DIRS} ${OpenGL_LIBDIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(OpenGL_LIB1 NAMES ${OpenGL_LIB} PATHS ${OpenGL_LIBRARY_DIRS}/mesa ${OpenGL_LIBDIR}/mesa NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(OpenGL_LIB1 NAMES ${OpenGL_LIB})
|
||||
IF(OpenGL_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${OpenGL_LIB1}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${OpenGL_LIB1})
|
||||
ELSE(OpenGL_LIB1)
|
||||
MESSAGE(WARNING " [FAILED] Third party lib ${OpenGL_LIB}")
|
||||
ENDIF(OpenGL_LIB1)
|
||||
ENDFOREACH(OpenGL_LIB)
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyOpenGL)
|
||||
ELSE(OpenGL_FOUND)
|
||||
MESSAGE(WARNING " FAILED to find OpenGL...")
|
||||
ENDIF(OpenGL_FOUND)
|
||||
ENDIF(WIN32)
|
||||
@@ -0,0 +1,59 @@
|
||||
# ---------------------------------
|
||||
# Finds third party pthread lib
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyPThread)
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PATH(PTHREAD_DIR lib PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES pthread NO_DEFAULT_PATH)
|
||||
FIND_PATH(PTHREAD_DIR lib PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES pthreads NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(PTHREAD_LIB pthreadVC2 PATHS ${PTHREAD_DIR} PATH_SUFFIXES lib NO_DEFAULT_PATH)
|
||||
FIND_PROGRAM(PTHREAD_DLL pthread.dll PATHS ${PTHREAD_DIR} PATH_SUFFIXES bin NO_DEFAULT_PATH)
|
||||
|
||||
INCLUDE("OvSetWindowsSDKPath")
|
||||
SET(WS232_LIB "WS232_LIB-NOTFOUND")
|
||||
FIND_LIBRARY(WS232_LIB ws2_32 ${OV_MS_SDK_PATH}/lib NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(WS232_LIB ws2_32 ${OV_MS_SDK_PATH}/lib)
|
||||
|
||||
IF(PTHREAD_LIB AND WS232_LIB AND PTHREAD_DLL)
|
||||
OV_PRINT(OV_PRINTED " Found PThreads")
|
||||
INCLUDE_DIRECTORIES(${PTHREAD_DIR}/include)
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${WS232_LIB})
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PTHREAD_LIB})
|
||||
INSTALL(PROGRAMS "${PTHREAD_DLL}" DESTINATION ${DIST_BINDIR})
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_PThread)
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " FAILED to find PThreads")
|
||||
ENDIF()
|
||||
|
||||
IF(PTHREAD_LIB)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${PTHREAD_LIB}")
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${PTHREAD_LIB}")
|
||||
ENDIF()
|
||||
|
||||
IF(WS232_LIB)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${WS232_LIB}")
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${WS232_LIB}")
|
||||
ENDIF()
|
||||
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(UNIX)
|
||||
|
||||
FIND_LIBRARY(LIB_STANDARD_MODULE_PTHREAD pthread)
|
||||
IF(LIB_STANDARD_MODULE_PTHREAD)
|
||||
OV_PRINT(OV_PRINTED " Found pthread...")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_STANDARD_MODULE_PTHREAD})
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_PThread)
|
||||
ELSE(LIB_STANDARD_MODULE_PTHREAD)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find pthread...")
|
||||
ENDIF(LIB_STANDARD_MODULE_PTHREAD)
|
||||
|
||||
ENDIF(UNIX)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyPThread "Yes")
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
# ---------------------------------
|
||||
# Finds third party pthreads VCE2 (largely for Fieldtrip)
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyPThreadsVCE2)
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PATH(PTHREAD_DIR lib PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES pthread NO_DEFAULT_PATH)
|
||||
FIND_PATH(PTHREAD_DIR lib PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES pthreads NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(PTHREAD_LIB pthreadVCE2 PATHS ${PTHREAD_DIR} PATH_SUFFIXES lib NO_DEFAULT_PATH)
|
||||
|
||||
INCLUDE("OvSetWindowsSDKPath")
|
||||
SET(WS232_LIB "WS232_LIB-NOTFOUND")
|
||||
FIND_LIBRARY(WS232_LIB ws2_32 ${OV_MS_SDK_PATH}/lib NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(WS232_LIB ws2_32 ${OV_MS_SDK_PATH}/lib)
|
||||
|
||||
IF(PTHREAD_LIB AND WS232_LIB)
|
||||
OV_PRINT(OV_PRINTED " Found PThreads VCE2")
|
||||
INCLUDE_DIRECTORIES(${PTHREAD_DIR}/include)
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${WS232_LIB})
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PTHREAD_LIB})
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_PThreadsVCE2)
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " FAILED to find PThreads VCE2")
|
||||
ENDIF()
|
||||
|
||||
IF(PTHREAD_LIB)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${PTHREAD_LIB}")
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${PTHREAD_LIB}")
|
||||
ENDIF()
|
||||
|
||||
IF(WS232_LIB)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${WS232_LIB}")
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${WS232_LIB}")
|
||||
ENDIF()
|
||||
|
||||
ENDIF(WIN32)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyPThreadsVCE2 "Yes")
|
||||
|
||||
@@ -0,0 +1,379 @@
|
||||
# - a pkg-config module for CMake
|
||||
#
|
||||
# Usage:
|
||||
# pkg_check_modules(<PREFIX> [REQUIRED] <MODULE> [<MODULE>]*)
|
||||
# checks for all the given modules
|
||||
#
|
||||
# pkg_search_module(<PREFIX> [REQUIRED] <MODULE> [<MODULE>]*)
|
||||
# checks for given modules and uses the first working one
|
||||
#
|
||||
# When the 'REQUIRED' argument was set, macros will fail with an error
|
||||
# when module(s) could not be found
|
||||
#
|
||||
# It sets the following variables:
|
||||
# PKG_CONFIG_FOUND ... true iff pkg-config works on the system
|
||||
# PKG_CONFIG_EXECUTABLE ... pathname of the pkg-config program
|
||||
# <PREFIX>_FOUND ... set to 1 iff module(s) exist
|
||||
#
|
||||
# For the following variables two sets of values exist; first one is the
|
||||
# common one and has the given PREFIX. The second set contains flags
|
||||
# which are given out when pkgconfig was called with the '--static'
|
||||
# option.
|
||||
# <XPREFIX>_LIBRARIES ... only the libraries (w/o the '-l')
|
||||
# <XPREFIX>_LIBRARY_DIRS ... the paths of the libraries (w/o the '-L')
|
||||
# <XPREFIX>_LDFLAGS ... all required linker flags
|
||||
# <XPREFIX>_LDFLAGS_OTHERS ... all other linker flags
|
||||
# <XPREFIX>_INCLUDE_DIRS ... the '-I' preprocessor flags (w/o the '-I')
|
||||
# <XPREFIX>_CFLAGS ... all required cflags
|
||||
# <XPREFIX>_CFLAGS_OTHERS ... the other compiler flags
|
||||
#
|
||||
# <XPREFIX> = <PREFIX> for common case
|
||||
# <XPREFIX> = <PREFIX>_STATIC for static linking
|
||||
#
|
||||
# There are some special variables whose prefix depends on the count
|
||||
# of given modules. When there is only one module, <PREFIX> stays
|
||||
# unchanged. When there are multiple modules, the prefix will be
|
||||
# changed to <PREFIX>_<MODNAME>:
|
||||
# <XPREFIX>_VERSION ... version of the module
|
||||
# <XPREFIX>_PREFIX ... prefix-directory of the module
|
||||
# <XPREFIX>_INCLUDEDIR ... include-dir of the module
|
||||
# <XPREFIX>_LIBDIR ... lib-dir of the module
|
||||
#
|
||||
# <XPREFIX> = <PREFIX> when |MODULES| == 1, else
|
||||
# <XPREFIX> = <PREFIX>_<MODNAME>
|
||||
#
|
||||
# A <MODULE> parameter can have the following formats:
|
||||
# {MODNAME} ... matches any version
|
||||
# {MODNAME}>={VERSION} ... at least version <VERSION> is required
|
||||
# {MODNAME}={VERSION} ... exactly version <VERSION> is required
|
||||
# {MODNAME}<={VERSION} ... modules must not be newer than <VERSION>
|
||||
#
|
||||
# Examples
|
||||
# pkg_check_modules (GLIB2 glib-2.0)
|
||||
#
|
||||
# pkg_check_modules (GLIB2 glib-2.0>=2.10)
|
||||
# requires at least version 2.10 of glib2 and defines e.g.
|
||||
# GLIB2_VERSION=2.10.3
|
||||
#
|
||||
# pkg_check_modules (FOO glib-2.0>=2.10 gtk+-2.0)
|
||||
# requires both glib2 and gtk2, and defines e.g.
|
||||
# FOO_glib-2.0_VERSION=2.10.3
|
||||
# FOO_gtk+-2.0_VERSION=2.8.20
|
||||
#
|
||||
# pkg_check_modules (XRENDER REQUIRED xrender)
|
||||
# defines e.g.:
|
||||
# XRENDER_LIBRARIES=Xrender;X11
|
||||
# XRENDER_STATIC_LIBRARIES=Xrender;X11;pthread;Xau;Xdmcp
|
||||
#
|
||||
# pkg_search_module (BAR libxml-2.0 libxml2 libxml>=2)
|
||||
|
||||
|
||||
# Copyright (C) 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
|
||||
#
|
||||
# Redistribution and use, with or without modification, are permitted
|
||||
# provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# 2. The name of the author may not be used to endorse or promote
|
||||
# products derived from this software without specific prior
|
||||
# written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
||||
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
### Common stuff ####
|
||||
set(PKG_CONFIG_VERSION 1)
|
||||
set(PKG_CONFIG_FOUND 0)
|
||||
|
||||
find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config DOC "pkg-config executable")
|
||||
mark_as_advanced(PKG_CONFIG_EXECUTABLE)
|
||||
|
||||
if(PKG_CONFIG_EXECUTABLE)
|
||||
set(PKG_CONFIG_FOUND 1)
|
||||
endif(PKG_CONFIG_EXECUTABLE)
|
||||
|
||||
# Unsets the given variables
|
||||
macro(_pkgconfig_unset var)
|
||||
set(${var} "" CACHE INTERNAL "")
|
||||
endmacro(_pkgconfig_unset)
|
||||
|
||||
macro(_pkgconfig_set var value)
|
||||
set(${var} ${value} CACHE INTERNAL "")
|
||||
endmacro(_pkgconfig_set)
|
||||
|
||||
# Invokes pkgconfig, cleans up the result and sets variables
|
||||
macro(_pkgconfig_invoke _pkglist _prefix _varname _regexp)
|
||||
set(_pkgconfig_invoke_result)
|
||||
|
||||
execute_process(
|
||||
COMMAND ${PKG_CONFIG_EXECUTABLE} ${ARGN} ${_pkglist}
|
||||
OUTPUT_VARIABLE _pkgconfig_invoke_result
|
||||
RESULT_VARIABLE _pkgconfig_failed)
|
||||
|
||||
if (_pkgconfig_failed)
|
||||
set(_pkgconfig_${_varname} "")
|
||||
_pkgconfig_unset(${_prefix}_${_varname})
|
||||
else(_pkgconfig_failed)
|
||||
string(REGEX REPLACE "[\r\n]" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
|
||||
string(REGEX REPLACE " +$" "" _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
|
||||
|
||||
if (NOT ${_regexp} STREQUAL "")
|
||||
string(REGEX REPLACE "${_regexp}" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
|
||||
endif(NOT ${_regexp} STREQUAL "")
|
||||
|
||||
separate_arguments(_pkgconfig_invoke_result)
|
||||
|
||||
#message(STATUS " ${_varname} ... ${_pkgconfig_invoke_result}")
|
||||
set(_pkgconfig_${_varname} ${_pkgconfig_invoke_result})
|
||||
_pkgconfig_set(${_prefix}_${_varname} "${_pkgconfig_invoke_result}")
|
||||
endif(_pkgconfig_failed)
|
||||
endmacro(_pkgconfig_invoke)
|
||||
|
||||
# Invokes pkgconfig two times; once without '--static' and once with
|
||||
# '--static'
|
||||
macro(_pkgconfig_invoke_dyn _pkglist _prefix _varname cleanup_regexp)
|
||||
_pkgconfig_invoke("${_pkglist}" ${_prefix} ${_varname} "${cleanup_regexp}" ${ARGN})
|
||||
_pkgconfig_invoke("${_pkglist}" ${_prefix} STATIC_${_varname} "${cleanup_regexp}" --static ${ARGN})
|
||||
endmacro(_pkgconfig_invoke_dyn)
|
||||
|
||||
# Splits given arguments into options and a package list
|
||||
macro(_pkgconfig_parse_options _result _is_req)
|
||||
set(${_is_req} 0)
|
||||
|
||||
foreach(_pkg ${ARGN})
|
||||
if (_pkg STREQUAL "REQUIRED")
|
||||
set(${_is_req} 1)
|
||||
endif (_pkg STREQUAL "REQUIRED")
|
||||
endforeach(_pkg ${ARGN})
|
||||
|
||||
set(${_result} ${ARGN})
|
||||
list(REMOVE_ITEM ${_result} "REQUIRED")
|
||||
endmacro(_pkgconfig_parse_options)
|
||||
|
||||
###
|
||||
macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
|
||||
_pkgconfig_unset(${_prefix}_FOUND)
|
||||
_pkgconfig_unset(${_prefix}_VERSION)
|
||||
_pkgconfig_unset(${_prefix}_PREFIX)
|
||||
_pkgconfig_unset(${_prefix}_INCLUDEDIR)
|
||||
_pkgconfig_unset(${_prefix}_LIBDIR)
|
||||
_pkgconfig_unset(${_prefix}_LIBS)
|
||||
_pkgconfig_unset(${_prefix}_LIBS_L)
|
||||
_pkgconfig_unset(${_prefix}_LIBS_PATHS)
|
||||
_pkgconfig_unset(${_prefix}_LIBS_OTHER)
|
||||
_pkgconfig_unset(${_prefix}_CFLAGS)
|
||||
_pkgconfig_unset(${_prefix}_CFLAGS_I)
|
||||
_pkgconfig_unset(${_prefix}_CFLAGS_OTHER)
|
||||
_pkgconfig_unset(${_prefix}_STATIC_LIBDIR)
|
||||
_pkgconfig_unset(${_prefix}_STATIC_LIBS)
|
||||
_pkgconfig_unset(${_prefix}_STATIC_LIBS_L)
|
||||
_pkgconfig_unset(${_prefix}_STATIC_LIBS_PATHS)
|
||||
_pkgconfig_unset(${_prefix}_STATIC_LIBS_OTHER)
|
||||
_pkgconfig_unset(${_prefix}_STATIC_CFLAGS)
|
||||
_pkgconfig_unset(${_prefix}_STATIC_CFLAGS_I)
|
||||
_pkgconfig_unset(${_prefix}_STATIC_CFLAGS_OTHER)
|
||||
|
||||
# create a better addressable variable of the modules and calculate its size
|
||||
set(_pkg_check_modules_list ${ARGN})
|
||||
list(LENGTH _pkg_check_modules_list _pkg_check_modules_cnt)
|
||||
|
||||
if(PKG_CONFIG_EXECUTABLE)
|
||||
# give out status message telling checked module
|
||||
if (NOT ${_is_silent})
|
||||
if (_pkg_check_modules_cnt EQUAL 1)
|
||||
# message(STATUS "checking for module '${_pkg_check_modules_list}'")
|
||||
else(_pkg_check_modules_cnt EQUAL 1)
|
||||
# message(STATUS "checking for modules '${_pkg_check_modules_list}'")
|
||||
endif(_pkg_check_modules_cnt EQUAL 1)
|
||||
endif(NOT ${_is_silent})
|
||||
|
||||
set(_pkg_check_modules_packages)
|
||||
set(_pkg_check_modules_failed)
|
||||
|
||||
# iterate through module list and check whether they exist and match the required version
|
||||
foreach (_pkg_check_modules_pkg ${_pkg_check_modules_list})
|
||||
set(_pkg_check_modules_exist_query)
|
||||
|
||||
# check whether version is given
|
||||
if (_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
|
||||
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\1" _pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}")
|
||||
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\2" _pkg_check_modules_pkg_op "${_pkg_check_modules_pkg}")
|
||||
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\3" _pkg_check_modules_pkg_ver "${_pkg_check_modules_pkg}")
|
||||
else(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
|
||||
set(_pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}")
|
||||
set(_pkg_check_modules_pkg_op)
|
||||
set(_pkg_check_modules_pkg_ver)
|
||||
endif(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
|
||||
|
||||
# handle the operands
|
||||
if (_pkg_check_modules_pkg_op STREQUAL ">=")
|
||||
list(APPEND _pkg_check_modules_exist_query --atleast-version)
|
||||
endif(_pkg_check_modules_pkg_op STREQUAL ">=")
|
||||
|
||||
if (_pkg_check_modules_pkg_op STREQUAL "=")
|
||||
list(APPEND _pkg_check_modules_exist_query --exact-version)
|
||||
endif(_pkg_check_modules_pkg_op STREQUAL "=")
|
||||
|
||||
if (_pkg_check_modules_pkg_op STREQUAL "<=")
|
||||
list(APPEND _pkg_check_modules_exist_query --max-version)
|
||||
endif(_pkg_check_modules_pkg_op STREQUAL "<=")
|
||||
|
||||
# create the final query which is of the format:
|
||||
# * --atleast-version <version> <pkg-name>
|
||||
# * --exact-version <version> <pkg-name>
|
||||
# * --max-version <version> <pkg-name>
|
||||
# * --exists <pkg-name>
|
||||
if (_pkg_check_modules_pkg_op)
|
||||
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_ver}")
|
||||
else(_pkg_check_modules_pkg_op)
|
||||
list(APPEND _pkg_check_modules_exist_query --exists)
|
||||
endif(_pkg_check_modules_pkg_op)
|
||||
|
||||
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_VERSION)
|
||||
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_PREFIX)
|
||||
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_INCLUDEDIR)
|
||||
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_LIBDIR)
|
||||
|
||||
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name}")
|
||||
list(APPEND _pkg_check_modules_packages "${_pkg_check_modules_pkg_name}")
|
||||
|
||||
# execute the query
|
||||
execute_process(
|
||||
COMMAND ${PKG_CONFIG_EXECUTABLE} ${_pkg_check_modules_exist_query}
|
||||
RESULT_VARIABLE _pkgconfig_retval)
|
||||
|
||||
# evaluate result and tell failures
|
||||
if (_pkgconfig_retval)
|
||||
if(NOT ${_is_silent})
|
||||
message(STATUS " package '${_pkg_check_modules_pkg}' not found")
|
||||
endif(NOT ${_is_silent})
|
||||
|
||||
set(_pkg_check_modules_failed 1)
|
||||
endif(_pkgconfig_retval)
|
||||
endforeach(_pkg_check_modules_pkg)
|
||||
|
||||
if(_pkg_check_modules_failed)
|
||||
# fail when requested
|
||||
if (${_is_required})
|
||||
message(SEND_ERROR "A required package was not found")
|
||||
endif (${_is_required})
|
||||
else(_pkg_check_modules_failed)
|
||||
# when we are here, we checked whether requested modules
|
||||
# exist. Now, go through them and set variables
|
||||
|
||||
_pkgconfig_set(${_prefix}_FOUND 1)
|
||||
list(LENGTH _pkg_check_modules_packages pkg_count)
|
||||
|
||||
# iterate through all modules again and set individual variables
|
||||
foreach (_pkg_check_modules_pkg ${_pkg_check_modules_packages})
|
||||
# handle case when there is only one package required
|
||||
if (pkg_count EQUAL 1)
|
||||
set(_pkg_check_prefix "${_prefix}")
|
||||
else(pkg_count EQUAL 1)
|
||||
set(_pkg_check_prefix "${_prefix}_${_pkg_check_modules_pkg}")
|
||||
endif(pkg_count EQUAL 1)
|
||||
|
||||
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" VERSION "" --modversion )
|
||||
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" PREFIX "" --variable=prefix )
|
||||
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" INCLUDEDIR "" --variable=includedir )
|
||||
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" LIBDIR "" --variable=libdir )
|
||||
|
||||
# message(STATUS " found ${_pkg_check_modules_pkg}, version ${_pkgconfig_VERSION}")
|
||||
endforeach(_pkg_check_modules_pkg)
|
||||
|
||||
# set variables which are combined for multiple modules
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARIES "(^| )-l" --libs-only-l )
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARY_DIRS "(^| )-L" --libs-only-L )
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS "" --libs )
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS_OTHER "" --libs-only-other )
|
||||
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" INCLUDE_DIRS "(^| )-I" --cflags-only-I )
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS "" --cflags )
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS_OTHER "" --cflags-only-other )
|
||||
endif(_pkg_check_modules_failed)
|
||||
else(PKG_CONFIG_EXECUTABLE)
|
||||
if (${_is_required})
|
||||
message(SEND_ERROR "pkg-config tool not found")
|
||||
endif (${_is_required})
|
||||
endif(PKG_CONFIG_EXECUTABLE)
|
||||
endmacro(_pkg_check_modules_internal)
|
||||
|
||||
###
|
||||
### User visible macros start here
|
||||
###
|
||||
|
||||
###
|
||||
macro(pkg_check_modules _prefix _module0)
|
||||
# check cached value
|
||||
if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION})
|
||||
_pkgconfig_parse_options (_pkg_modules _pkg_is_required "${_module0}" ${ARGN})
|
||||
_pkg_check_modules_internal("${_pkg_is_required}" 0 "${_prefix}" ${_pkg_modules})
|
||||
|
||||
_pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
|
||||
endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION})
|
||||
endmacro(pkg_check_modules)
|
||||
|
||||
###
|
||||
macro(pkg_search_module _prefix _module0)
|
||||
# check cached value
|
||||
if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION})
|
||||
set(_pkg_modules_found 0)
|
||||
_pkgconfig_parse_options(_pkg_modules_alt _pkg_is_required "${_module0}" ${ARGN})
|
||||
|
||||
# message(STATUS "checking for one of the modules '${_pkg_modules_alt}'")
|
||||
|
||||
# iterate through all modules and stop at the first working one.
|
||||
foreach(_pkg_alt ${_pkg_modules_alt})
|
||||
if(NOT _pkg_modules_found)
|
||||
_pkg_check_modules_internal(0 1 "${_prefix}" "${_pkg_alt}")
|
||||
endif(NOT _pkg_modules_found)
|
||||
|
||||
if (${_prefix}_FOUND)
|
||||
set(_pkg_modules_found 1)
|
||||
endif(${_prefix}_FOUND)
|
||||
endforeach(_pkg_alt)
|
||||
|
||||
if (NOT ${_prefix}_FOUND)
|
||||
if(${_pkg_is_required})
|
||||
message(SEND_ERROR "None of the required '${_pkg_modules_alt}' found")
|
||||
endif(${_pkg_is_required})
|
||||
endif(NOT ${_prefix}_FOUND)
|
||||
|
||||
_pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
|
||||
endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION})
|
||||
endmacro(pkg_search_module)
|
||||
|
||||
###
|
||||
macro(PKGCONFIG _package _include_DIR _link_DIR _link_FLAGS _cflags)
|
||||
message(STATUS "WARNING: you are using the obsolete 'PKGCONFIG' macro")
|
||||
_pkg_check_modules_internal(0 0 _PKGCONFIG_TMP "${_package}")
|
||||
if (_PKGCONFIG_TMP_FOUND)
|
||||
set(${_include_DIR} ${_PKGCONFIG_TMP_INCLUDEDIR})
|
||||
set(${_link_DIR} ${_PKGCONFIG_TMP_LIBDIR})
|
||||
set(${_link_FLAGS} ${_PKGCONFIG_TMP_LDFLAGS})
|
||||
set(${_cflags} ${_PKGCONFIG_TMP_CFLAGS})
|
||||
set(_return_VALUE 0)
|
||||
else(_PKGCONFIG_TMP_FOUND)
|
||||
set(${_include_DIR})
|
||||
set(${_link_DIR})
|
||||
set(${_link_FLAGS})
|
||||
set(${_cflags})
|
||||
set(_return_VALUE 1)
|
||||
endif(_PKGCONFIG_TMP_FOUND)
|
||||
endmacro(PKGCONFIG)
|
||||
|
||||
|
||||
### Local Variables:
|
||||
### mode: cmake
|
||||
### End:
|
||||
@@ -0,0 +1,37 @@
|
||||
# ---------------------------------
|
||||
# Finds Python
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyPython2)
|
||||
|
||||
SET(Python_ADDITIONAL_VERSIONS 2.7)
|
||||
|
||||
# Stops lookup as soon as a version satisfying the version constraints is found.
|
||||
# Important when building both 32bits andd 64bits versions on the same machine.
|
||||
# CMake might go for the 64bits version of Python when building 32bits, making the compilation fail.
|
||||
# To work, you need to ensure that 32bits versions of Python appearing first in the Path.
|
||||
# This is only needed for windows.
|
||||
SET(Python2_FIND_STRATEGY LOCATION)
|
||||
|
||||
FIND_PACKAGE(Python2 COMPONENTS Development)
|
||||
|
||||
IF(Python2_FOUND)
|
||||
OV_PRINT(OV_PRINTED " Found Python 2 at ${Python2_LIBRARIES}")
|
||||
INCLUDE_DIRECTORIES(${Python2_INCLUDE_DIRS})
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${Python2_LIBRARIES})
|
||||
|
||||
IF(WIN32)
|
||||
# These are needed not to cause a popup on machines missing the dll
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} optimized Delayimp )
|
||||
SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LINK_FLAGS "/DELAYLOAD:python27.dll")
|
||||
ENDIF()
|
||||
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyPython2)
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " FAILED to find Python 2 (needs v2.7 with bitness matching build target ${PLATFORM_TARGET})")
|
||||
ENDIF()
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyPython2 "Yes")
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
# ---------------------------------
|
||||
# Finds Python
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyPython3)
|
||||
|
||||
SET(Python_ADDITIONAL_VERSIONS 3.7)
|
||||
|
||||
# Stops lookup as soon as a version satisfying the version constraints is found.
|
||||
# Important when building both 32bits andd 64bits versions on the same machine.
|
||||
# CMake might go for the 64bits version of Python when building 32bits, making the compilation fail.
|
||||
# To work, you need to ensure that 32bits versions of Python appearing first in the Path.
|
||||
# This is only needed for windows.
|
||||
SET(Python3_FIND_STRATEGY LOCATION)
|
||||
|
||||
FIND_PACKAGE(Python3 COMPONENTS Development)
|
||||
|
||||
IF(Python3_FOUND)
|
||||
OV_PRINT(OV_PRINTED " Found Python 3 at ${Python3_LIBRARIES}")
|
||||
INCLUDE_DIRECTORIES(${Python3_INCLUDE_DIRS})
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${Python3_LIBRARIES})
|
||||
|
||||
IF(WIN32)
|
||||
# These are needed not to cause a popup on machines missing the dll
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} optimized Delayimp )
|
||||
SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LINK_FLAGS "/DELAYLOAD:python37.dll")
|
||||
ENDIF()
|
||||
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyPython3)
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " FAILED to find Python 3 (needs v3.7 with bitness matching build target ${PLATFORM_TARGET})")
|
||||
ENDIF()
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyPython3 "Yes")
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
# ---------------------------------
|
||||
# Finds third party rt
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyRT)
|
||||
|
||||
IF(UNIX)
|
||||
# For Ubuntu 13.04 (interprocess/ipc/message_queue.hpp in ovasCPluginExternalStimulations.cpp caused dep)
|
||||
FIND_LIBRARY(LIB_STANDARD_MODULE_RT rt)
|
||||
IF(LIB_STANDARD_MODULE_RT)
|
||||
OV_PRINT(OV_PRINTED " Found rt...")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_STANDARD_MODULE_RT})
|
||||
ELSE(LIB_STANDARD_MODULE_RT)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find rt...")
|
||||
ENDIF(LIB_STANDARD_MODULE_RT)
|
||||
|
||||
ENDIF(UNIX)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyBoost_RT "Yes")
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyTMSi)
|
||||
|
||||
IF(WIN32)
|
||||
FIND_PATH(PATH_TMSi TMSiSDK.dll PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES sdk_tmsi NO_DEFAULT_PATH)
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(PATH_TMSi)
|
||||
OV_PRINT(OV_PRINTED " Found TMSi dll...")
|
||||
OV_PRINT(OV_PRINTED " [ OK ] dll ${PATH_TMSi}/TMSiSDK.dll")
|
||||
|
||||
INSTALL(PROGRAMS "${PATH_TMSi}/TMSiSDK.dll" DESTINATION ${DIST_BINDIR})
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyTMSi)
|
||||
ELSE(PATH_TMSi)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find TMSi device dll (optional driver)")
|
||||
ENDIF(PATH_TMSi)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyTMSi "Yes")
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
# ---------------------------------
|
||||
# Finds Neurosky ThinkGear library
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyThinkGearAPI)
|
||||
|
||||
IF(WIN32)
|
||||
|
||||
IF("${PLATFORM_TARGET}" STREQUAL "x64")
|
||||
SET(THINKGEAR_LIBDIR "x64")
|
||||
SET(THINKGEAR_LIB "thinkgear64")
|
||||
ELSE()
|
||||
SET(THINKGEAR_LIBDIR "win32")
|
||||
SET(THINKGEAR_LIB "thinkgear")
|
||||
ENDIF()
|
||||
|
||||
FIND_PATH(PATH_ThinkGearAPI thinkgear.h PATHS
|
||||
"C:/Program Files/MindSet Windows Developer Tools 3.2/Stream SDK for PC/libs/${THINKGEAR_LIBDIR}/"
|
||||
"C:/Program Files (x86)/MindSet Windows Developer Tools 3.2/Stream SDK for PC/libs/${THINKGEAR_LIBDIR}/"
|
||||
${LIST_DEPENDENCIES_PATH}
|
||||
NO_DEFAULT_PATH)
|
||||
|
||||
IF(PATH_ThinkGearAPI)
|
||||
OV_PRINT(OV_PRINTED " Found ThinkGear API...")
|
||||
INCLUDE_DIRECTORIES(${PATH_ThinkGearAPI})
|
||||
FIND_LIBRARY(LIB_ThinkGearAPI ${THINKGEAR_LIB} PATHS ${PATH_ThinkGearAPI} )
|
||||
IF(LIB_ThinkGearAPI)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_ThinkGearAPI}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_ThinkGearAPI} )
|
||||
ELSE(LIB_ThinkGearAPI)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib thinkgear")
|
||||
ENDIF(LIB_ThinkGearAPI)
|
||||
|
||||
# Copy the DLL file at install
|
||||
INSTALL(PROGRAMS "${PATH_ThinkGearAPI}/${THINKGEAR_LIB}.dll" DESTINATION ${DIST_BINDIR})
|
||||
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyThinkGearAPI)
|
||||
ELSE(PATH_ThinkGearAPI)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find a valid ThinkGear API for NeuroSky Mindsets (optional driver)")
|
||||
ENDIF(PATH_ThinkGearAPI)
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(UNIX)
|
||||
OV_PRINT(OV_PRINTED " Skipped ThinkGear API for Neurosky MindSet, only available on windows.")
|
||||
ENDIF(UNIX)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyThinkGearAPI "Yes")
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
# ---------------------------------
|
||||
# Finds VAmp FirstAmp library
|
||||
# Adds library to target
|
||||
# Adds include path
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyUSBFirstAmpAPI)
|
||||
|
||||
IF(WIN32)
|
||||
IF("${PLATFORM_TARGET}" STREQUAL "x64")
|
||||
FIND_PATH(PATH_USBFirstAmpAPI FirstAmp.h PATHS "C:/Program Files/FaSDK-x64" ${LIST_DEPENDENCIES_PATH})
|
||||
ELSE()
|
||||
FIND_PATH(PATH_USBFirstAmpAPI FirstAmp.h PATHS "C:/Program Files/FaSDK" "C:/Program Files (x86)/FaSDK" ${LIST_DEPENDENCIES_PATH})
|
||||
ENDIF()
|
||||
|
||||
IF(PATH_USBFirstAmpAPI)
|
||||
OV_PRINT(OV_PRINTED " Found Brain Products FirstAmp (VAmp) API...")
|
||||
INCLUDE_DIRECTORIES(${PATH_USBFirstAmpAPI})
|
||||
FIND_LIBRARY(LIB_USBFirstAmpAPI FirstAmp PATHS ${PATH_USBFirstAmpAPI} )
|
||||
IF(LIB_USBFirstAmpAPI)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_USBFirstAmpAPI}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_USBFirstAmpAPI} )
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib FirstAmp")
|
||||
ENDIF()
|
||||
|
||||
# Copy the DLL file at install
|
||||
INSTALL(PROGRAMS "${PATH_USBFirstAmpAPI}/FirstAmp.dll" DESTINATION ${DIST_BINDIR})
|
||||
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyUSBFirstAmpAPI)
|
||||
ELSE()
|
||||
OV_PRINT(OV_PRINTED " FAILED to find Brain Products FirstAmp (VAmp) API (optional driver)")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyUSBFirstAmpAPI "Yes")
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
# ---------------------------------
|
||||
# Adds VRPN library to the target project
|
||||
# Adds include path
|
||||
# Requires FindThirdPartyVRPN_Check.cmake to have been run successfully before
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyVRPN)
|
||||
|
||||
IF(PATH_VRPN)
|
||||
# Find all library paths
|
||||
|
||||
IF(WIN32)
|
||||
FIND_LIBRARY(LIB_VRPN vrpn PATHS ${PATH_VRPN}/lib NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(LIB_VRPN vrpn PATHS ${PATH_VRPN}/lib)
|
||||
IF(LIB_VRPN)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_VRPN}")
|
||||
ELSE(LIB_VRPN)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib vrpn")
|
||||
RETURN()
|
||||
ENDIF(LIB_VRPN)
|
||||
|
||||
FIND_LIBRARY(LIB_VRPN_DEBUG vrpnd PATHS ${PATH_VRPN}/lib NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(LIB_VRPN_DEBUG vrpnd PATHS ${PATH_VRPN}/lib)
|
||||
IF(LIB_VRPN_DEBUG)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_VRPN_DEBUG}")
|
||||
ELSE(LIB_VRPN_DEBUG)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib vrpnd")
|
||||
RETURN()
|
||||
ENDIF(LIB_VRPN_DEBUG)
|
||||
|
||||
FIND_LIBRARY(LIB_QUAT quat PATHS ${PATH_VRPN}/lib NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(LIB_QUAT quat PATHS ${PATH_VRPN}/lib)
|
||||
IF(LIB_QUAT)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_QUAT}")
|
||||
ELSE(LIB_QUAT)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib quat")
|
||||
RETURN()
|
||||
ENDIF(LIB_QUAT)
|
||||
|
||||
FIND_LIBRARY(LIB_QUAT_DEBUG quatd PATHS ${PATH_VRPN}/lib NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(LIB_QUAT_DEBUG quatd PATHS ${PATH_VRPN}/lib)
|
||||
IF(LIB_QUAT_DEBUG)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_QUAT_DEBUG}")
|
||||
ELSE(LIB_QUAT_DEBUG)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib quatd")
|
||||
RETURN()
|
||||
ENDIF(LIB_QUAT_DEBUG)
|
||||
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(UNIX)
|
||||
FIND_LIBRARY(LIB_VRPNSERVER vrpnserver PATHS ${PATH_VRPN}/lib NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(LIB_VRPNSERVER vrpnserver PATHS ${PATH_VRPN}/lib)
|
||||
IF(LIB_VRPNSERVER)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_VRPNSERVER}")
|
||||
ELSE(LIB_VRPNSERVER)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib vrpnserver")
|
||||
RETURN()
|
||||
ENDIF(LIB_VRPNSERVER)
|
||||
|
||||
FIND_LIBRARY(LIB_QUAT quat PATHS ${PATH_VRPN}/lib NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(LIB_QUAT quat PATHS ${PATH_VRPN}/lib)
|
||||
IF(LIB_QUAT)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_QUAT}")
|
||||
ELSE(LIB_QUAT)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] lib quat")
|
||||
RETURN()
|
||||
ENDIF(LIB_QUAT)
|
||||
ENDIF(UNIX)
|
||||
|
||||
# If we reach here, everything has been found, add
|
||||
INCLUDE_DIRECTORIES(${PATH_VRPN}/include)
|
||||
|
||||
IF(WIN32)
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} optimized ${LIB_VRPN})
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} debug ${LIB_VRPN_DEBUG})
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} optimized ${LIB_QUAT})
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} debug ${LIB_QUAT_DEBUG})
|
||||
ENDIF(WIN32)
|
||||
IF(UNIX)
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_VRPNSERVER})
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIB_QUAT})
|
||||
ENDIF(UNIX)
|
||||
|
||||
ADD_DEFINITIONS(-DTARGET_HAS_ThirdPartyVRPN)
|
||||
ELSE(PATH_VRPN)
|
||||
MESSAGE(AUTHOR_WARNING "Should not run FindThirdPartyVRPN without FindThirdPartyVRPN_Check passing successfully first")
|
||||
ENDIF(PATH_VRPN)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyVRPN "Yes")
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
# ---------------------------------
|
||||
# Finds VRPN
|
||||
# Sets PATH_VRPN if found
|
||||
# ---------------------------------
|
||||
# The first ${..}/vrpn path is for Windows, the second ${..}/ for Linux
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyVRPN_Check)
|
||||
|
||||
OV_PRINT(OV_PRINTED " Checking for VRPN...")
|
||||
|
||||
FIND_PATH(PATH_VRPN include/vrpn_BaseClass.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES vrpn . NO_DEFAULT_PATH)
|
||||
FIND_PATH(PATH_VRPN include/vrpn_BaseClass.h PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES vrpn .)
|
||||
IF(PATH_VRPN)
|
||||
OV_PRINT(OV_PRINTED " Found VRPN...")
|
||||
ELSE(PATH_VRPN)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find VRPN")
|
||||
ENDIF(PATH_VRPN)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyVRPN_Check "Yes")
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
# ---------------------------------
|
||||
# Finds X11 toolkit
|
||||
#
|
||||
# Sets X11_FOUND
|
||||
# Sets X11_LIBRARIES
|
||||
# Sets X11_LIBRARY_DIRS
|
||||
# Sets X11_LDFLAGS
|
||||
# Sets X11_LDFLAGS_OTHERS
|
||||
# Sets X11_INCLUDE_DIRS
|
||||
# Sets X11_CFLAGS
|
||||
# Sets X11_CFLAGS_OTHERS
|
||||
# ---------------------------------
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_ThirdPartyX11)
|
||||
|
||||
IF(UNIX)
|
||||
INCLUDE("FindThirdPartyPkgConfig")
|
||||
pkg_check_modules(X11 x11)
|
||||
|
||||
IF(X11_FOUND)
|
||||
OV_PRINT(OV_PRINTED " Found X11...")
|
||||
INCLUDE_DIRECTORIES(${X11_INCLUDE_DIRS})
|
||||
ADD_DEFINITIONS(${X11_CFLAGS})
|
||||
ADD_DEFINITIONS(${X11_CFLAGS_OTHERS})
|
||||
# LINK_DIRECTORIES(${X11_LIBRARY_DIRS})
|
||||
FOREACH(X11_LIB ${X11_LIBRARIES})
|
||||
SET(X11_LIB1 "X11_LIB1-NOTFOUND")
|
||||
FIND_LIBRARY(X11_LIB1 NAMES ${X11_LIB} PATHS ${X11_LIBRARY_DIRS} ${X11_LIBDIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(X11_LIB1 NAMES ${X11_LIB})
|
||||
IF(X11_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] Third party lib ${X11_LIB1}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${X11_LIB1})
|
||||
ELSE(X11_LIB1)
|
||||
OV_PRINT(OV_PRINTED " [FAILED] Third party lib ${X11_LIB}")
|
||||
ENDIF(X11_LIB1)
|
||||
ENDFOREACH(X11_LIB)
|
||||
ELSE(X11_FOUND)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find X11...")
|
||||
ENDIF(X11_FOUND)
|
||||
ENDIF(UNIX)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_ThirdPartyX11 "Yes")
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
# Adds the current project to the global properties
|
||||
FUNCTION(OV_ADD_THIS_TO_PROJECT_LIST)
|
||||
#MESSAGE(STATUS "ADDING: ${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
|
||||
# Add the dir to be parsed for documentation later. We need to do this before adding subdir, in case the subdir is the actual docs dir
|
||||
GET_PROPERTY(OV_TMP GLOBAL PROPERTY OV_PROP_CURRENT_PROJECTS)
|
||||
SET(OV_TMP "${OV_TMP};${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_PROP_CURRENT_PROJECTS ${OV_TMP})
|
||||
|
||||
ENDFUNCTION(OV_ADD_THIS_TO_PROJECT_LIST)
|
||||
|
||||
FUNCTION(SOURCE_DIRECTORIES CURRENT_DIR RETURN_LIST)
|
||||
FILE(GLOB_RECURSE NEW_LIST ${CURRENT_DIR}/*.cpp ${CURRENT_DIR}/*.h ${CURRENT_DIR}/*.hpp ${CURRENT_DIR}/*.inl)
|
||||
SET(DIR_LIST "")
|
||||
FOREACH(FILE_PATH ${NEW_LIST})
|
||||
GET_FILENAME_COMPONENT(DIR_PATH ${FILE_PATH} PATH)
|
||||
SET(DIR_LIST ${DIR_LIST} "${DIR_PATH}/..")
|
||||
ENDFOREACH()
|
||||
LIST(REMOVE_DUPLICATES DIR_LIST)
|
||||
SET(${RETURN_LIST} ${DIR_LIST} PARENT_SCOPE)
|
||||
ENDFUNCTION(SOURCE_DIRECTORIES)
|
||||
|
||||
# Adds the given directory to the CMake build
|
||||
FUNCTION(OV_ADD_SOURCE_DIR CURRENT_SOURCE_DIR)
|
||||
# Add the given current directory
|
||||
GET_PROPERTY(OV_TMP GLOBAL PROPERTY OV_PROP_CURRENT_PROJECTS)
|
||||
SET(OV_TMP "${OV_TMP};${CURRENT_SOURCE_DIR}")
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_PROP_CURRENT_PROJECTS ${OV_TMP})
|
||||
# Add source code directories
|
||||
SOURCE_DIRECTORIES(${CURRENT_SOURCE_DIR} LIST_DIR)
|
||||
FOREACH(SUBDIR ${LIST_DIR})
|
||||
GET_PROPERTY(OV_TMP GLOBAL PROPERTY OV_PROP_CURRENT_PROJECTS)
|
||||
SET(OV_TMP "${OV_TMP};${SUBDIR}")
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_PROP_CURRENT_PROJECTS ${OV_TMP})
|
||||
ENDFOREACH()
|
||||
ENDFUNCTION(OV_ADD_SOURCE_DIR)
|
||||
|
||||
#
|
||||
# Adds all directories as subdirectories to the CMake build, using the branch specified (if any) in the root CMakeList.txt or
|
||||
# trunk otherwise.
|
||||
#
|
||||
# The branch variable name that is checked is made up from ${CURRENT_BRANCH_PREFIX}_${DIRNAMEUPPER}.
|
||||
#
|
||||
# The script also adds the directory to the global list of projects.
|
||||
#
|
||||
|
||||
FUNCTION(OV_ADD_PROJECTS CURRENT_FOLDER_PREFIX)
|
||||
|
||||
FILE(GLOB FILENAMES "*")
|
||||
|
||||
FOREACH(FULLPATH ${FILENAMES})
|
||||
IF(IS_DIRECTORY ${FULLPATH} AND EXISTS "${FULLPATH}/CMakeLists.txt" AND NOT ${FULLPATH} MATCHES ".*\\.svn")
|
||||
GET_FILENAME_COMPONENT(DIRNAME ${FULLPATH} NAME)
|
||||
|
||||
STRING(TOUPPER ${DIRNAME} DIRNAMEUPPER)
|
||||
SET(SKIP_THIS_FOLDER "SKIP_${CURRENT_FOLDER_PREFIX}_${DIRNAMEUPPER}")
|
||||
|
||||
#MESSAGE(STATUS "Checking SKIP_${CURRENT_FOLDER_PREFIX}_${DIRNAMEUPPER} as branch var ${SKIP_THIS_FOLDER}")
|
||||
|
||||
IF(${SKIP_THIS_FOLDER})
|
||||
MESSAGE(STATUS "Note: ${FULLPATH} has been skipped by setting SKIP_${CURRENT_FOLDER_PREFIX}_${DIRNAMEUPPER}")
|
||||
ELSE(${SKIP_THIS_FOLDER})
|
||||
# MESSAGE(STATUS "Inserting folder ${FULLPATH}")
|
||||
|
||||
# Add the dir to be parsed for documentation later. We need to do this before adding subdir, in case the subdir is the actual docs dir
|
||||
GET_PROPERTY(OV_TMP GLOBAL PROPERTY OV_PROP_CURRENT_PROJECTS)
|
||||
SET(OV_TMP "${OV_TMP};${FULLPATH}")
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_PROP_CURRENT_PROJECTS ${OV_TMP})
|
||||
|
||||
SET(OV_CURRENT_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/${DIRNAME}")
|
||||
GET_PROPERTY(OV_TMP GLOBAL PROPERTY OV_PROP_CURRENT_PROJECTS_BUILD_DIR)
|
||||
SET(OV_TMP "${OV_TMP};${OV_CURRENT_BINARY_DIR}")
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_PROP_CURRENT_PROJECTS_BUILD_DIR ${OV_TMP})
|
||||
|
||||
add_subdirectory(${FULLPATH})
|
||||
|
||||
ENDIF(${SKIP_THIS_FOLDER})
|
||||
ENDIF(IS_DIRECTORY ${FULLPATH} AND EXISTS "${FULLPATH}/CMakeLists.txt" AND NOT ${FULLPATH} MATCHES ".*\\.svn")
|
||||
ENDFOREACH(FULLPATH ${FILENAMES})
|
||||
|
||||
ENDFUNCTION(OV_ADD_PROJECTS)
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
#
|
||||
# This function is used to add a project to the build in the case where the current directory only contains
|
||||
# 'branches', 'tags' and 'trunk' directories of a single project. The project will be added using the
|
||||
# branch specified (if any) in the root CMakeList.txt or trunk otherwise.
|
||||
#
|
||||
# The branch variable name that is checked is made up from ${CURRENT_BRANCH_PREFIX}_${DIRNAMEUPPER}.
|
||||
#
|
||||
# The script also adds the directory to the global list of projects.
|
||||
#
|
||||
|
||||
FUNCTION(OV_ADD_SINGLE_PROJECT CURRENT_BRANCH_PREFIX)
|
||||
|
||||
SET(BRANCH_VARIABLE_NAME "${CURRENT_BRANCH_PREFIX}")
|
||||
|
||||
# MESSAGE(STATUS "Parts ${CURRENT_BRANCH_PREFIX} Now ${BRANCH_VARIABLE_NAME}")
|
||||
# MESSAGE(STATUS "Value ${${BRANCH_VARIABLE_NAME}}")
|
||||
|
||||
SET(SUBDIR "SUBDIR-NOTFOUND")
|
||||
|
||||
# MESSAGE(STATUS "Checking branch for ${BRANCH_VARIABLE_NAME}")
|
||||
|
||||
IF(${BRANCH_VARIABLE_NAME})
|
||||
SET(BRANCH ${${BRANCH_VARIABLE_NAME}})
|
||||
IF("${BRANCH}" STREQUAL "__SKIPME")
|
||||
MESSAGE(STATUS "Note: ${BRANCH_VARIABLE_NAME} has been disabled by setting it to __SKIPME")
|
||||
ELSE("${BRANCH}" STREQUAL "__SKIPME")
|
||||
SET(SUBDIR "${BRANCH}")
|
||||
ENDIF("${BRANCH}" STREQUAL "__SKIPME")
|
||||
ELSE(${BRANCH_VARIABLE_NAME})
|
||||
# MESSAGE(STATUS "Going for trunk...")
|
||||
SET(SUBDIR "${OV_TRUNK}")
|
||||
ENDIF(${BRANCH_VARIABLE_NAME})
|
||||
|
||||
IF(SUBDIR)
|
||||
# MESSAGE(STATUS "Inserting folder ${SUBDIR}")
|
||||
|
||||
# Add the dir to be parsed for documentation later. We need to do this before adding subdir, in case the subdir is the actual docs dir.
|
||||
GET_PROPERTY(OV_TMP GLOBAL PROPERTY OV_PROP_CURRENT_PROJECTS)
|
||||
SET(OV_TMP "${OV_TMP};${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIR}")
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_PROP_CURRENT_PROJECTS ${OV_TMP})
|
||||
|
||||
# MESSAGE(STATUS "BDIR ${CMAKE_CURRENT_BINARY_DIR}/${SUBDIR}")
|
||||
GET_PROPERTY(OV_TMP GLOBAL PROPERTY OV_PROP_CURRENT_PROJECTS_BUILD_DIR)
|
||||
SET(OV_TMP "${OV_TMP};${CMAKE_CURRENT_BINARY_DIR}/${SUBDIR}")
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_PROP_CURRENT_PROJECTS_BUILD_DIR ${OV_TMP})
|
||||
|
||||
|
||||
ADD_SUBDIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIR})
|
||||
|
||||
ENDIF(SUBDIR)
|
||||
|
||||
ENDFUNCTION(OV_ADD_SINGLE_PROJECT)
|
||||
+79
@@ -0,0 +1,79 @@
|
||||
INCLUDE(CMakeParseArguments)
|
||||
#
|
||||
# Creates launch script from a common OpenViBE template (in "cmake-modules/launchers/"), but dedicated to scenarios to be executed with the Designer
|
||||
#
|
||||
# The mandatory 1st argument SCRIPT_PREFIX specifies what the resulting script is called. A platform specific postfix will be added.
|
||||
# The mandatory 2nd argument EXECUTABLE_NAME specifies what the resulting script will called eventually.
|
||||
# The optional 3nd argument ARGV1 specifies some extra argument or switch that is given to the launched executable by the script
|
||||
#
|
||||
FUNCTION(OV_INSTALL_LAUNCH_SCRIPT)
|
||||
SET(options PAUSE NOPROJECT)
|
||||
SET(oneValueArgs SCRIPT_PREFIX EXECUTABLE_NAME ICON_PATH)
|
||||
SET(multiValueArgs PARAMETERS)
|
||||
|
||||
CMAKE_PARSE_ARGUMENTS(OV_INSTALL_LAUNCH_SCRIPT "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||
#OV_CONFIGURE_RC(NAME ${OV_INSTALL_LAUNCH_SCRIPT_SCRIPT_PREFIX} ICON_PATH ${OV_INSTALL_LAUNCH_SCRIPT_ICON_PATH})
|
||||
|
||||
# Install executable launcher if install_exe option is set to on, the os is WIN32, and no argument has been specified
|
||||
IF(WIN32 AND INSTALL_EXE AND NOT(OV_INSTALL_LAUNCH_SCRIPT_PAUSE) AND NOT(OV_INSTALL_LAUNCH_SCRIPT_PARAMETERS))
|
||||
# Add the dir to be parsed for documentation later. We need to do this before adding subdir, in case the subdir is the actual docs dir
|
||||
GET_PROPERTY(OV_TMP GLOBAL PROPERTY OV_EXE_PROJECTS_TO_INSTALL)
|
||||
SET(OV_TMP "${OV_TMP};${OV_INSTALL_LAUNCH_SCRIPT_SCRIPT_PREFIX}")
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_EXE_PROJECTS_TO_INSTALL ${OV_TMP})
|
||||
ELSE()
|
||||
IF(WIN32)
|
||||
SET(SCRIPT_POSTFIX ".cmd")
|
||||
ELSEIF(APPLE)
|
||||
SET(SCRIPT_POSTFIX "-macos.sh")
|
||||
ELSEIF(UNIX)
|
||||
# Debian recommends that extensions such as .sh are not used; On Linux, scripts with such extensions shouldn't be packaged
|
||||
SET(SCRIPT_POSTFIX ".sh")
|
||||
ENDIF()
|
||||
# Extract the filename of the project executable, the variable in the script base will be replaced with it by CONFIGURE_FILE()
|
||||
SET(OV_CMD_EXECUTABLE "TMP_PROJECT_TARGET_PATH-NOTFOUND")
|
||||
IF(NOT OV_INSTALL_LAUNCH_SCRIPT_NOPROJECT)
|
||||
GET_TARGET_PROPERTY(TMP_PROJECT_TARGET_PATH ${OV_INSTALL_LAUNCH_SCRIPT_EXECUTABLE_NAME} LOCATION)
|
||||
GET_FILENAME_COMPONENT(OV_CMD_EXECUTABLE ${TMP_PROJECT_TARGET_PATH} NAME)
|
||||
ENDIF()
|
||||
|
||||
IF(${OV_CMD_EXECUTABLE} STREQUAL "TMP_PROJECT_TARGET_PATH-NOTFOUND")
|
||||
SET(OV_CMD_EXECUTABLE ${OV_INSTALL_LAUNCH_SCRIPT_EXECUTABLE_NAME})
|
||||
# ELSE()
|
||||
# IF(WIN32)
|
||||
# SET(OV_CMD_EXECUTABLE "%OV_PATH_ROOT%\\bin\\${OV_CMD_EXECUTABLE}")
|
||||
# ENDIF()
|
||||
ENDIF()
|
||||
|
||||
SET(SCRIPT_NAME ${OV_INSTALL_LAUNCH_SCRIPT_SCRIPT_PREFIX}${SCRIPT_POSTFIX})
|
||||
SET(OV_CMD_ARGS ${OV_INSTALL_LAUNCH_SCRIPT_PARAMETERS})
|
||||
|
||||
IF(OV_INSTALL_LAUNCH_SCRIPT_PAUSE)
|
||||
SET(OV_PAUSE "PAUSE")
|
||||
ELSE()
|
||||
SET(OV_PAUSE "")
|
||||
ENDIF()
|
||||
|
||||
CONFIGURE_FILE(${OV_LAUNCHER_SOURCE_PATH}/openvibe-launcher${SCRIPT_POSTFIX}-base ${CMAKE_CURRENT_BINARY_DIR}/${SCRIPT_NAME} @ONLY)
|
||||
INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${SCRIPT_NAME} DESTINATION ${DIST_ROOT})
|
||||
ENDIF()
|
||||
ENDFUNCTION()
|
||||
|
||||
#FUNCTION(OV_CONFIGURE_RC)
|
||||
# SET(options )
|
||||
# SET(oneValueArgs NAME ICON_PATH)
|
||||
# SET(multiValueArgs )
|
||||
# CMAKE_PARSE_ARGUMENTS(OV_CONFIGURE_RC "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||
# SET(GENERATED_RC_FILE "${DIST_DATADIR}/resource-files/${OV_CONFIGURE_RC_NAME}.rc")
|
||||
# IF(OV_CONFIGURE_RC_ICON_PATH)
|
||||
# SET(CONFIGURE_ICON "ID_Icon ICON DISCARDABLE \"${OV_CONFIGURE_RC_ICON_PATH}\"")
|
||||
# ENDIF()
|
||||
# IF(NOT(PROJECT_PRODUCT_NAME))
|
||||
# SET(PROJECT_PRODUCT_NAME "${OV_CONFIGURE_RC_NAME}")
|
||||
# ENDIF()
|
||||
# SET(FILE_DESCRIPTION "${PROJECT_PRODUCT_NAME} for Win32")
|
||||
|
||||
# CONFIGURE_FILE(
|
||||
# ${OV_LAUNCHER_SOURCE_PATH}/resource-file.rc-base
|
||||
# ${GENERATED_RC_FILE}
|
||||
# @ONLY)
|
||||
#ENDFUNCTION()
|
||||
@@ -0,0 +1,63 @@
|
||||
#
|
||||
# Win32 only
|
||||
#
|
||||
# This concoction mainly exists to locate the boost libraries on WIN32 in the case where our dependency/ folder has only a
|
||||
# truncated version of boost and we cannot use find_package(). The background story is that we wish to link explicitly
|
||||
# instead of using automatic linking and specifying a generic boost path to linker before each project definition.
|
||||
#
|
||||
# The downside of this is that it assumes the boost library names to have a particular format and only works for VC90/VC100
|
||||
#
|
||||
# Function: Links specified boost library defined by COMPONENT and BOOST_VERSION to PROJECT_NAME.
|
||||
#
|
||||
|
||||
|
||||
FUNCTION(OV_LINK_BOOST_LIB BOOST_COMPONENT BOOST_VERSION)
|
||||
|
||||
GET_PROPERTY(OV_PRINTED GLOBAL PROPERTY OV_TRIED_BOOST_${BOOST_COMPONENT})
|
||||
|
||||
IF(WIN32)
|
||||
|
||||
SET(LIB_BOOST "unknown-platform-NOTFOUND")
|
||||
SET(LIB_BOOST_DEBUG "unknown-platform-NOTFOUND")
|
||||
|
||||
STRING(REGEX MATCH "vc100.*" MSVC_VER100 ${MSVC_SERVICE_PACK})
|
||||
IF(MSVC_VER100)
|
||||
SET(LIB_BOOST "libboost_${BOOST_COMPONENT}-vc100-mt-${BOOST_VERSION}.lib")
|
||||
SET(LIB_BOOST_DEBUG "libboost_${BOOST_COMPONENT}-vc100-mt-gd-${BOOST_VERSION}.lib")
|
||||
ENDIF(MSVC_VER100)
|
||||
|
||||
STRING(REGEX MATCH "vc120.*" MSVC_VER120 ${MSVC_SERVICE_PACK})
|
||||
IF(MSVC_VER120)
|
||||
SET(LIB_BOOST "libboost_${BOOST_COMPONENT}-vc120-mt-${BOOST_VERSION}.lib")
|
||||
SET(LIB_BOOST_DEBUG "libboost_${BOOST_COMPONENT}-vc120-mt-gd-${BOOST_VERSION}.lib")
|
||||
ENDIF(MSVC_VER120)
|
||||
|
||||
SET(LIB_BOOST_PATH "-NOTFOUND")
|
||||
FIND_LIBRARY(LIB_BOOST_PATH NAMES ${LIB_BOOST} PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES boost/lib NO_DEFAULT_PATH)
|
||||
SET(LIB_BOOST_DEBUG_PATH "-NOTFOUND")
|
||||
FIND_LIBRARY(LIB_BOOST_DEBUG_PATH NAMES ${LIB_BOOST_DEBUG} PATHS ${LIST_DEPENDENCIES_PATH} PATH_SUFFIXES boost/lib NO_DEFAULT_PATH)
|
||||
|
||||
IF(LIB_BOOST_PATH AND LIB_BOOST_DEBUG_PATH)
|
||||
OV_PRINT(OV_PRINTED " Found Boost ${BOOST_COMPONENT} libraries ...")
|
||||
ELSE(LIB_BOOST_PATH AND LIB_BOOST_DEBUG_PATH)
|
||||
OV_PRINT(OV_PRINTED " FAILED to find all Boost ${BOOST_COMPONENT} libraries ...")
|
||||
ENDIF(LIB_BOOST_PATH AND LIB_BOOST_DEBUG_PATH)
|
||||
|
||||
IF(LIB_BOOST_PATH)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_BOOST_PATH}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} optimized ${LIB_BOOST_PATH})
|
||||
ELSE(LIB_BOOST_PATH)
|
||||
MESSAGE(STATUS " FAILED to find boost lib ${LIB_BOOST}")
|
||||
ENDIF(LIB_BOOST_PATH)
|
||||
|
||||
IF(LIB_BOOST_DEBUG_PATH)
|
||||
OV_PRINT(OV_PRINTED " [ OK ] lib ${LIB_BOOST_DEBUG_PATH}")
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} debug ${LIB_BOOST_DEBUG_PATH})
|
||||
ELSE(LIB_BOOST_DEBUG_PATH)
|
||||
MESSAGE(STATUS " FAILED to find boost debug lib ${LIB_BOOST_DEBUG}")
|
||||
ENDIF(LIB_BOOST_DEBUG_PATH)
|
||||
ENDIF(WIN32)
|
||||
|
||||
SET_PROPERTY(GLOBAL PROPERTY OV_TRIED_BOOST_${BOOST_COMPONENT} "Yes")
|
||||
|
||||
ENDFUNCTION(OV_LINK_BOOST_LIB)
|
||||
@@ -0,0 +1,5 @@
|
||||
function(debug_message)
|
||||
if(${Flag_VerboseOutput})
|
||||
message(STATUS "${ARGV}")
|
||||
endif()
|
||||
endfunction()
|
||||
@@ -0,0 +1,9 @@
|
||||
|
||||
FUNCTION(OV_PRINT ALREADY_PRINTED TEXT)
|
||||
|
||||
IF("${${ALREADY_PRINTED}}" STREQUAL "")
|
||||
MESSAGE(STATUS ${TEXT})
|
||||
ENDIF("${${ALREADY_PRINTED}}" STREQUAL "")
|
||||
|
||||
ENDFUNCTION(OV_PRINT)
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
|
||||
IF(NOT OV_MS_SDK_PATH)
|
||||
GET_FILENAME_COMPONENT(OV_MS_SDK_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Win32SDK\\Directories;Install Dir]" ABSOLUTE CACHE)
|
||||
ENDIF(NOT OV_MS_SDK_PATH)
|
||||
|
||||
IF(NOT OV_MS_SDK_PATH)
|
||||
GET_FILENAME_COMPONENT(OV_MS_SDK_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MicrosoftSDK\\Directories;Install Dir]" ABSOLUTE CACHE)
|
||||
ENDIF(NOT OV_MS_SDK_PATH)
|
||||
|
||||
IF(NOT OV_MS_SDK_PATH)
|
||||
GET_FILENAME_COMPONENT(OV_MS_SDK_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows;CurrentInstallFolder]" ABSOLUTE CACHE)
|
||||
ENDIF(NOT OV_MS_SDK_PATH)
|
||||
|
||||
IF(NOT OV_MS_SDK_PATH)
|
||||
MESSAGE(STATUS "Could not find Microsoft Windows SDK")
|
||||
ENDIF(NOT OV_MS_SDK_PATH)
|
||||
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# This script is meant to be launched from inside an OpenViBE application (such as a scenario in Designer)
|
||||
#
|
||||
|
||||
CALLCMD=$1
|
||||
shift
|
||||
|
||||
ov_run_bg=0
|
||||
if [ "$1" == "--run-bg" ]; then
|
||||
ov_run_bg=1
|
||||
shift
|
||||
fi
|
||||
|
||||
# OV_PATH_BIN overrides the CMake specified folder, if given
|
||||
LOCAL_BIN_PATH="@CMAKE_INSTALL_FULL_BINDIR@"
|
||||
if [ "$OV_PATH_BIN" != "" ]; then
|
||||
LOCAL_BIN_PATH="$OV_PATH_BIN"
|
||||
fi
|
||||
|
||||
ret_code=0
|
||||
|
||||
if [ $ov_run_bg == 0 ]; then
|
||||
eval "$LOCAL_BIN_PATH/$CALLCMD" @OV_CMD_ARGS@ $*
|
||||
ret_code=$?
|
||||
else
|
||||
"$LOCAL_BIN_PATH/$CALLCMD" @OV_CMD_ARGS@ $* &
|
||||
fi
|
||||
|
||||
exit $ret_code
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
@echo off
|
||||
|
||||
REM
|
||||
REM This script is meant to be launched from an environment with the OV_PATH_BIN env variable set externally
|
||||
REM
|
||||
|
||||
SET "OV_RUN_APP=%1"
|
||||
SHIFT
|
||||
|
||||
SET OV_RUN_IN_BG=
|
||||
IF /i "%1"=="--run-bg" (
|
||||
REM Run in background. The first arg to START is the app title.
|
||||
SET OV_RUN_IN_BG=START "%OV_RUN_APP%"
|
||||
SHIFT
|
||||
)
|
||||
|
||||
%OV_RUN_IN_BG% "%OV_PATH_ROOT%\bin\%OV_RUN_APP%" %1 %2 %3 %4 %5
|
||||
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
@ECHO OFF
|
||||
SETLOCAL EnableExtensions
|
||||
SETLOCAL EnableDelayedExpansion
|
||||
|
||||
REM If not set to PASSIVE, OpenMP (Eigen) boxes may load the cores fully even if there's little to do.
|
||||
SET "OMP_WAIT_POLICY=@OV_OMP_WAIT_POLICY@"
|
||||
|
||||
REM Get the directory location of this script, assume it contains the OpenViBE dist tree. These variables will be used by OpenViBE executables.
|
||||
SET "OV_PATH_ROOT=%~dp0"
|
||||
|
||||
REM Default behavior
|
||||
SET OV_PAUSE=PAUSE
|
||||
SET OV_RUN_IN_BG=
|
||||
|
||||
REM Parse out Windows specific args ...
|
||||
SET "ARGS="
|
||||
SET EMPTY=
|
||||
:loop
|
||||
SET "STRIPPEDARG=%~1"
|
||||
if NOT !STRIPPEDARG! == !EMPTY! (
|
||||
IF /i "!STRIPPEDARG!" == "--no-pause" (
|
||||
SET OV_PAUSE=
|
||||
goto found:
|
||||
)
|
||||
IF /i "!STRIPPEDARG!" == "--run-bg" (
|
||||
REM Run in background, disable pause. The second parameter below is because CMD requires a 'title'
|
||||
SET OV_RUN_IN_BG=START "@OV_CMD_EXECUTABLE@"
|
||||
SET OV_PAUSE=
|
||||
goto found:
|
||||
)
|
||||
|
||||
REM Pass the non-stripped arg to the launched application...
|
||||
SET ARGS=%ARGS% %1
|
||||
|
||||
:found
|
||||
SHIFT
|
||||
goto loop:
|
||||
)
|
||||
|
||||
REM Set dependency paths etc...
|
||||
SET "OV_ENVIRONMENT_FILE=%OV_PATH_ROOT%\bin\OpenViBE-set-env.cmd"
|
||||
IF NOT EXIST "%OV_ENVIRONMENT_FILE%" (
|
||||
ECHO Error: "%OV_ENVIRONMENT_FILE%" was not found
|
||||
GOTO EndOfScript
|
||||
)
|
||||
CALL "%OV_ENVIRONMENT_FILE%"
|
||||
|
||||
REM cmake variable OV_CMD_ARGS below may specify additional arguments outside this script
|
||||
|
||||
%OV_RUN_IN_BG% "%OV_PATH_ROOT%\bin\@OV_CMD_EXECUTABLE@" @OV_CMD_ARGS@ %ARGS%
|
||||
|
||||
:EndOfScript
|
||||
|
||||
%OV_PAUSE%
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
#!/bin/bash
|
||||
|
||||
## By default, paths specified by CMake install will be used to locate OpenViBE components. If defined, these ENV variables can override the CMake defines.
|
||||
export OV_PATH_ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
export OV_PATH_BIN="$OV_PATH_ROOT/bin"
|
||||
export OV_PATH_LIB="$OV_PATH_ROOT/lib"
|
||||
export OV_PATH_DATA="$OV_PATH_ROOT/share/openvibe"
|
||||
|
||||
# Dump core...
|
||||
# ulimit -c unlimited
|
||||
|
||||
# Tries to locate matlab executable from $PATH, and set the library path to the corresponding matlab libs.
|
||||
if [ "`which matlab`" != "" ] ; then
|
||||
MATLAB_ROOT=`matlab -e | grep "^MATLAB=" | sed -e "s/^MATLAB=//"`
|
||||
MATLAB_ARCH=`matlab -e | grep "^ARCH=" | sed -e "s/^ARCH=//"`
|
||||
MATLAB_LIBPATH="$MATLAB_ROOT/bin/$MATLAB_ARCH"
|
||||
# echo Matlab libs expected at $MATLAB_LIBPATH
|
||||
export LD_LIBRARY_PATH="$MATLAB_LIBPATH:$LD_LIBRARY_PATH"
|
||||
fi
|
||||
|
||||
LOCAL_BIN_PATH="@CMAKE_INSTALL_FULL_BINDIR@"
|
||||
if [ "$OV_PATH_BIN" != "" ]; then
|
||||
LOCAL_BIN_PATH="$OV_PATH_BIN"
|
||||
fi
|
||||
LOCAL_LIB_PATH="@CMAKE_INSTALL_FULL_LIBDIR@"
|
||||
if [ "$OV_PATH_LIB" != "" ]; then
|
||||
LOCAL_LIB_PATH="$OV_PATH_LIB"
|
||||
fi
|
||||
|
||||
export LD_LIBRARY_PATH="$LOCAL_LIB_PATH:@OV_PATH_DEPENDENCY_LIBS@:$LD_LIBRARY_PATH"
|
||||
export LC_ALL=C
|
||||
|
||||
|
||||
# The following line is there to help in cases where OpenViBE can consume excessive
|
||||
# amounts of CPU or grind the swap. You can remove it if you know what you're doing.
|
||||
renice 19 $$
|
||||
|
||||
ov_debugger=
|
||||
if [ "$1" == "--debug" ]; then
|
||||
ov_debugger="gdb --args"
|
||||
shift
|
||||
fi
|
||||
|
||||
if [ "$1" == "--memcheck" ]; then
|
||||
ov_debugger="valkyrie "
|
||||
#ov_debugger="valgrind --tool=memcheck --log-file='valgrind_@OV_CMD_EXECUTABLE@_%p.log'"
|
||||
shift
|
||||
fi
|
||||
ov_run_bg=0
|
||||
if [ "$1" == "--run-bg" ]; then
|
||||
ov_run_bg=1
|
||||
shift
|
||||
fi
|
||||
|
||||
ret_code=0
|
||||
|
||||
if [ $ov_run_bg == 0 ]; then
|
||||
eval $ov_debugger "$LOCAL_BIN_PATH/@OV_CMD_EXECUTABLE@" @OV_CMD_ARGS@ "$@"
|
||||
ret_code=$?
|
||||
else
|
||||
$ov_debugger "$LOCAL_BIN_PATH/@OV_CMD_EXECUTABLE@" @OV_CMD_ARGS@ "$@" &
|
||||
fi
|
||||
|
||||
exit $ret_code
|
||||
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
PluginFolder=@OGRE3D_PLUGIN_PATH@
|
||||
Plugin=RenderSystem_GL
|
||||
Plugin=Plugin_ParticleFX
|
||||
Plugin=Plugin_BSPSceneManager
|
||||
Plugin=Plugin_OctreeSceneManager
|
||||
Reference in New Issue
Block a user