PROJECT(openvibe-plugins-signal-processing)

SET(PROJECT_VERSION_MAJOR ${OV_GLOBAL_VERSION_MAJOR})
SET(PROJECT_VERSION ${OV_GLOBAL_VERSION_STRING})

FILE(GLOB_RECURSE SRC_FILES src/*.cpp src/*.h src/*.hpp src/*.inl)
ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRC_FILES}
	"../../../contrib/packages/wavelet2d/wavelet2s.cpp"
	"../../../contrib/packages/wavelet2d/wavelet2s.h")
target_include_directories(${PROJECT_NAME}
						   PRIVATE
						   src
						   src/algorithms/connectivity
						   src/algorithms/basic)

SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES
	VERSION ${PROJECT_VERSION}
	SOVERSION ${PROJECT_VERSION_MAJOR}
	FOLDER ${PLUGINS_FOLDER}
	COMPILE_FLAGS "-DOVP_Exports -DOVP_Shared")

INCLUDE_DIRECTORIES("../../../contrib/packages/wavelet2d")

ADD_DEFINITIONS(-D_USE_MATH_DEFINES)
# ---------------------------------

INCLUDE("FindOpenViBE")
INCLUDE("FindOpenViBECommon")
INCLUDE("FindOpenViBEToolkit")
INCLUDE("FindOpenViBEModuleEBML")
INCLUDE("FindThirdPartyBoost")
INCLUDE("FindThirdPartyEigen")
INCLUDE("FindThirdPartyFFTW3")		# used by the wavelet library
INCLUDE("FindThirdPartyITPP")		# note that itpp gives the fftw3 on Win

IF(OV_COMPILE_TESTS)
	ADD_SUBDIRECTORY("test")
ENDIF(OV_COMPILE_TESTS)

# -----------------------------
# Install files
# -----------------------------
INSTALL(TARGETS ${PROJECT_NAME}
	RUNTIME DESTINATION ${DIST_BINDIR}
	LIBRARY DESTINATION ${DIST_LIBDIR}
	ARCHIVE DESTINATION ${DIST_LIBDIR})

INSTALL(DIRECTORY signals/       DESTINATION ${DIST_DATADIR}/openvibe/scenarios/signals)
INSTALL(DIRECTORY box-tutorials/ DESTINATION ${DIST_DATADIR}/openvibe/scenarios/box-tutorials)
	
