1- cmake_minimum_required (VERSION 3.10 )
2- project (OpenBCI_GUI_Helpers)
1+ cmake_minimum_required (VERSION 3.10 )
2+ project (OpenBCI_GUI_Helpers)
33
4- set (CMAKE_CXX_STANDARD 17)
5- set (CMAKE_VERBOSE_MAKEFILE ON )
6- set (BRAINFLOW_VERSION 2.1.0)
4+ set (CMAKE_CXX_STANDARD 17)
5+ set (CMAKE_VERBOSE_MAKEFILE ON )
6+ set (BRAINFLOW_VERSION 2.1.0)
77
88# dont export sumbols on unix by default
99set (CMAKE_CXX_VISIBILITY_PRESET hidden)
1010set (CMAKE_C_VISIBILITY_PRESET hidden)
1111
12- macro (configure_msvc_runtime )
13- if (MSVC )
12+ macro (configure_msvc_runtime )
13+ if (MSVC )
1414 # Default to statically-linked runtime.
15- if ("${MSVC_RUNTIME} " STREQUAL "" )
16- set (MSVC_RUNTIME "static" )
17- endif ()
15+ if ("${MSVC_RUNTIME} " STREQUAL "" )
16+ set (MSVC_RUNTIME "static" )
17+ endif ()
18+
1819 # Set compiler options.
19- set (variables
20+ set (variables
2021 CMAKE_C_FLAGS_DEBUG
2122 CMAKE_C_FLAGS_MINSIZEREL
2223 CMAKE_C_FLAGS_RELEASE
@@ -26,52 +27,55 @@ macro (configure_msvc_runtime)
2627 CMAKE_CXX_FLAGS_RELEASE
2728 CMAKE_CXX_FLAGS_RELWITHDEBINFO
2829 )
29- if (${MSVC_RUNTIME} STREQUAL "static" )
30+
31+ if (${MSVC_RUNTIME} STREQUAL "static" )
3032 message (STATUS
3133 "MSVC -> forcing use of statically-linked runtime."
3234 )
33- foreach (variable ${variables} )
34- if (${variable} MATCHES "/MD" )
35- string (REGEX REPLACE "/MD" "/MT" ${variable} "${${variable} }" )
36- endif ()
37- endforeach ()
38- else ()
39- message (STATUS
35+
36+ foreach (variable ${variables} )
37+ if (${variable} MATCHES "/MD" )
38+ string (REGEX REPLACE "/MD" "/MT" ${variable} "${${variable} }" )
39+ endif ()
40+ endforeach ()
41+ else ()
42+ message (STATUS
4043 "MSVC -> forcing use of dynamically-linked runtime."
4144 )
42- foreach (variable ${variables} )
43- if (${variable} MATCHES "/MT" )
44- string (REGEX REPLACE "/MT" "/MD" ${variable} "${${variable} }" )
45- endif ()
46- endforeach ()
47- endif ()
48- endif ()
49- endmacro ()
45+
46+ foreach (variable ${variables} )
47+ if (${variable} MATCHES "/MT" )
48+ string (REGEX REPLACE "/MT" "/MD" ${variable} "${${variable} }" )
49+ endif ()
50+ endforeach ()
51+ endif ()
52+ endif ()
53+ endmacro ()
5054
5155# link msvc runtime statically
52- configure_msvc_runtime ()
56+ configure_msvc_runtime ()
5357
5458add_subdirectory (${CMAKE_HOME_DIRECTORY} /third_party/SimpleBLE/simpleble )
5559
56- SET (GANGLION_LIB "GanglionScan" )
57- set (GANGLION_SOURCE_LIB
58- ${CMAKE_HOME_DIRECTORY} /src/callbacks.cpp
59- ${CMAKE_HOME_DIRECTORY} /src/cmd_def.cpp
60- ${CMAKE_HOME_DIRECTORY} /src/stubs.cpp
61- ${CMAKE_HOME_DIRECTORY} /src/uart.cpp
62- ${CMAKE_HOME_DIRECTORY} /src/openbci_gui_helpers.cpp
60+ SET (GANGLION_LIB "GanglionScan" )
61+ set (GANGLION_SOURCE_LIB
62+ ${CMAKE_HOME_DIRECTORY} /modules/bglib/ src/callbacks.cpp
63+ ${CMAKE_HOME_DIRECTORY} /modules/bglib/ src/cmd_def.cpp
64+ ${CMAKE_HOME_DIRECTORY} /modules/bglib/ src/stubs.cpp
65+ ${CMAKE_HOME_DIRECTORY} /modules/bglib/ src/uart.cpp
66+ ${CMAKE_HOME_DIRECTORY} /modules/bglib/ src/openbci_gui_helpers.cpp
6367)
6468
65- add_library (${GANGLION_LIB} SHARED ${GANGLION_SOURCE_LIB} )
69+ add_library (${GANGLION_LIB} SHARED ${GANGLION_SOURCE_LIB} )
6670
67- target_include_directories (${GANGLION_LIB} PUBLIC
71+ target_include_directories (${GANGLION_LIB} PUBLIC
6872 $<BUILD_INTERFACE :${CMAKE_HOME_DIRECTORY} /third_party /json >
69- $<BUILD_INTERFACE :${CMAKE_HOME_DIRECTORY} /src / inc >
73+ $<BUILD_INTERFACE :${CMAKE_HOME_DIRECTORY} /modules / bglib / include >
7074)
7175
72- set_property (TARGET ${GANGLION_LIB} PROPERTY POSITION_INDEPENDENT_CODE ON )
76+ set_property (TARGET ${GANGLION_LIB} PROPERTY POSITION_INDEPENDENT_CODE ON )
7377
74- set_target_properties (${GANGLION_LIB}
78+ set_target_properties (${GANGLION_LIB}
7579 PROPERTIES
7680 ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_HOME_DIRECTORY} /java-package/openbci_gui_helpers/src/main/resources/
7781 LIBRARY_OUTPUT_DIRECTORY_RELEASE ${CMAKE_HOME_DIRECTORY} /java-package/openbci_gui_helpers/src/main/resources/
@@ -84,24 +88,24 @@ set_target_properties (${GANGLION_LIB}
8488 RUNTIME_OUTPUT_DIRECTORY ${CMAKE_HOME_DIRECTORY} /java-package/openbci_gui_helpers/src/main/resources/
8589)
8690
87- SET (GANGLION_NATIVE_LIB "GanglionNativeScan" )
88- set (GANGLION_NATIVE_SOURCE_LIB
89- ${CMAKE_HOME_DIRECTORY} /src /openbci_gui_native_helpers.cpp
91+ SET (GANGLION_NATIVE_LIB "GanglionNativeScan" )
92+ set (GANGLION_NATIVE_SOURCE_LIB
93+ ${CMAKE_HOME_DIRECTORY} /modules /openbci_gui_native_helpers.cpp
9094)
9195
92- add_library (${GANGLION_NATIVE_LIB} SHARED ${GANGLION_NATIVE_SOURCE_LIB} )
96+ add_library (${GANGLION_NATIVE_LIB} SHARED ${GANGLION_NATIVE_SOURCE_LIB} )
9397
94- target_include_directories (${GANGLION_NATIVE_LIB} PUBLIC
95- $<BUILD_INTERFACE :${CMAKE_HOME_DIRECTORY} /src /inc >
98+ target_include_directories (${GANGLION_NATIVE_LIB} PUBLIC
99+ $<BUILD_INTERFACE :${CMAKE_HOME_DIRECTORY} /modules /inc >
96100 $<BUILD_INTERFACE :${CMAKE_HOME_DIRECTORY} /third_party /json >
97101 $<BUILD_INTERFACE :${CMAKE_HOME_DIRECTORY} /third_party /SimpleBLE /simpleble /include /simpleble >
98102)
99103
100- target_link_libraries (${GANGLION_NATIVE_LIB} PRIVATE simpleble )
104+ target_link_libraries (${GANGLION_NATIVE_LIB} PRIVATE simpleble )
101105
102- set_property (TARGET ${GANGLION_NATIVE_LIB} PROPERTY POSITION_INDEPENDENT_CODE ON )
106+ set_property (TARGET ${GANGLION_NATIVE_LIB} PROPERTY POSITION_INDEPENDENT_CODE ON )
103107
104- set_target_properties (${GANGLION_NATIVE_LIB}
108+ set_target_properties (${GANGLION_NATIVE_LIB}
105109 PROPERTIES
106110 ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_HOME_DIRECTORY} /java-package/openbci_gui_helpers/src/main/resources/
107111 LIBRARY_OUTPUT_DIRECTORY_RELEASE ${CMAKE_HOME_DIRECTORY} /java-package/openbci_gui_helpers/src/main/resources/
0 commit comments