forked from landonwilkins/community-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
63 lines (56 loc) · 3.03 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
cmake_minimum_required(VERSION 3.0.0)
project(community-sdk)
set(COMMUNITY_SDK_CXX_EXAMPLES_BASIC_DIR ${PROJECT_SOURCE_DIR}/examples_basic/C++)
set(COMMUNITY_SDK_CXX_EXAMPLES_PRIME_DIR ${PROJECT_SOURCE_DIR}/examples_extra_prime/C++)
set(COMMUNITY_SDK_BIN_DIR ${PROJECT_SOURCE_DIR}/bin)
set(COMMUNITY_SDK_LIB_DIR ${PROJECT_SOURCE_DIR}/lib)
set(COMMUNITY_SDK_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/Programs CACHE PATH "Place where executables are stored")
if (WIN32)
set(PROJECT_LINK_LIBS edk.lib)
if(WIN64)
set(GLUT_LIBS glut64.lib)
link_directories( ${COMMUNITY_SDK_LIB_DIR}/win64)
set(SDK_DLLS ${COMMUNITY_SDK_BIN_DIR}/win64/edk.dll)
set(THIRD_PARTY_DLLS ${COMMUNITY_SDK_BIN_DIR}/win64/glut32.dll)
set(CMAKE_EXE_LINKER_FLAGS "/machine:x64")
else()
# set(PROJECT_LINK_LIBS edk.lib)
set(GLUT_LIBS glut32.lib)
link_directories( ${COMMUNITY_SDK_LIB_DIR}/win32)
set(SDK_DLLS ${COMMUNITY_SDK_BIN_DIR}/win32/edk.dll)
set(THIRD_PARTY_DLLS ${COMMUNITY_SDK_BIN_DIR}/win32/glut32.dll)
endif()
elseif(APPLE)
set ( PROJECT_LINK_LIBS "-framework edk" )
elseif(UNIX)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -fvisibility=hidden -Wall -Wextra")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y -fPIC -fvisibility=hidden -Wall -Wextra")
set ( PROJECT_LINK_LIBS edk )
if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64")
link_directories( ${COMMUNITY_SDK_BIN_DIR}/linux64 )
elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86")
link_directories( ${COMMUNITY_SDK_BIN_DIR}/linux32 )
else()
link_directories( ${COMMUNITY_SDK_BIN_DIR}/armhf )
endif()
endif()
add_subdirectory(${COMMUNITY_SDK_CXX_EXAMPLES_BASIC_DIR}/EmotivWrapper)
add_subdirectory(${COMMUNITY_SDK_CXX_EXAMPLES_BASIC_DIR}/AverageBandPowers)
add_subdirectory(${COMMUNITY_SDK_CXX_EXAMPLES_BASIC_DIR}/EmoStateLogger)
add_subdirectory(${COMMUNITY_SDK_CXX_EXAMPLES_BASIC_DIR}/FacialExpressionDemo)
add_subdirectory(${COMMUNITY_SDK_CXX_EXAMPLES_BASIC_DIR}/GyroData)
add_subdirectory(${COMMUNITY_SDK_CXX_EXAMPLES_BASIC_DIR}/HeadsetInformationLogger)
add_subdirectory(${COMMUNITY_SDK_CXX_EXAMPLES_BASIC_DIR}/MentalCommandDemo)
add_subdirectory(${COMMUNITY_SDK_CXX_EXAMPLES_BASIC_DIR}/MotionDataLogger)
add_subdirectory(${COMMUNITY_SDK_CXX_EXAMPLES_BASIC_DIR}/MultiDongleConnection)
# For SDK 3.5
add_subdirectory(${COMMUNITY_SDK_CXX_EXAMPLES_BASIC_DIR}/MentalCommandWithCloudProfile)
add_subdirectory(${COMMUNITY_SDK_CXX_EXAMPLES_BASIC_DIR}/MentalCommandWithLocalProfile)
add_subdirectory(${COMMUNITY_SDK_CXX_EXAMPLES_BASIC_DIR}/SavingAndLoadingProfileCloud)
# Advanced License
add_subdirectory(${COMMUNITY_SDK_CXX_EXAMPLES_PRIME_DIR}/ActivateLicense)
add_subdirectory(${COMMUNITY_SDK_CXX_EXAMPLES_PRIME_DIR}/EEGLogger)
add_subdirectory(${COMMUNITY_SDK_CXX_EXAMPLES_PRIME_DIR}/MultiDongleEEGLogger)
add_subdirectory(${COMMUNITY_SDK_CXX_EXAMPLES_PRIME_DIR}/MultilChannelEEGLogger)
add_subdirectory(${COMMUNITY_SDK_CXX_EXAMPLES_PRIME_DIR}/PerformanceMetricsDemo)