73 lines
2.5 KiB
CMake
73 lines
2.5 KiB
CMake
|
# ---------------------------------
|
||
|
# 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")
|
||
|
|