Skip to content

Commit 5af3cc5

Browse files
committed
iOS support for C++ API (no Swift bindings yet)
1 parent ee7d056 commit 5af3cc5

File tree

10 files changed

+1253
-49
lines changed

10 files changed

+1253
-49
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,4 +379,4 @@ Makefile
379379
*.cmd
380380
CMakeSettings.json
381381
._.gitignore
382-
382+
.DS_Store

CMakeLists.txt

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,32 @@ option (BUILD_BLE "BUILD_BLE" OFF)
2727
option (BUILD_ONNX "BUILD_ONNX" OFF)
2828
option (BUILD_TESTS "BUILD_TESTS" OFF)
2929
option (BUILD_PERIPHERY "BUILD_PERIPHERY" OFF)
30+
option (BRAINFLOW_COPY_TO_PACKAGE_DIRS "Copy built artifacts into language package folders" ON)
31+
32+
set (BRAINFLOW_IOS OFF)
33+
if (CMAKE_SYSTEM_NAME STREQUAL "iOS")
34+
set (BRAINFLOW_IOS ON)
35+
endif ()
36+
37+
set (BRAINFLOW_CORE_LIBRARY_TYPE SHARED)
38+
if (BRAINFLOW_IOS)
39+
set (BRAINFLOW_CORE_LIBRARY_TYPE STATIC)
40+
41+
if (BRAINFLOW_COPY_TO_PACKAGE_DIRS)
42+
message (STATUS "Disabling BRAINFLOW_COPY_TO_PACKAGE_DIRS for iOS builds.")
43+
set (BRAINFLOW_COPY_TO_PACKAGE_DIRS OFF CACHE BOOL "Copy built artifacts into language package folders" FORCE)
44+
endif ()
45+
46+
if (BUILD_SYNCHRONI_SDK)
47+
message (STATUS "Disabling BUILD_SYNCHRONI_SDK for iOS builds; the bundled wrapper is macOS/Linux/Windows-only.")
48+
set (BUILD_SYNCHRONI_SDK OFF CACHE BOOL "BUILD_SYNCHRONI_SDK" FORCE)
49+
endif ()
50+
51+
if (BUILD_PERIPHERY)
52+
message (STATUS "Disabling BUILD_PERIPHERY for iOS builds.")
53+
set (BUILD_PERIPHERY OFF CACHE BOOL "BUILD_PERIPHERY" FORCE)
54+
endif ()
55+
endif ()
3056

3157
include (${CMAKE_CURRENT_SOURCE_DIR}/cmake/macros.cmake)
3258
configure_msvc_runtime ()
@@ -76,4 +102,4 @@ install (
76102
EXPORT ${TARGETS_EXPORT_NAME}
77103
NAMESPACE brainflow::
78104
DESTINATION ${CONFIG_INSTALL_DIR}
79-
)
105+
)

cmake/toolchains/ios.toolchain.cmake

Lines changed: 1177 additions & 0 deletions
Large diffs are not rendered by default.

cpp_package/build.cmake

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,17 @@ add_library (
2121
)
2222

2323
target_include_directories (
24-
${BRAINFLOW_CPP_BINDING_NAME} PRIVATE
25-
${CMAKE_CURRENT_SOURCE_DIR}/src/board_controller/inc
26-
${CMAKE_CURRENT_SOURCE_DIR}/src/utils/inc
27-
${CMAKE_CURRENT_SOURCE_DIR}/src/data_handler/inc
28-
${CMAKE_CURRENT_SOURCE_DIR}/cpp_package/src/inc
29-
${CMAKE_CURRENT_SOURCE_DIR}/third_party/json
30-
${CMAKE_CURRENT_SOURCE_DIR}/src/ml/inc
24+
${BRAINFLOW_CPP_BINDING_NAME} PUBLIC
25+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/board_controller/inc>
26+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/utils/inc>
27+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/data_handler/inc>
28+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/cpp_package/src/inc>
29+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/third_party/json>
30+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/ml/inc>
31+
$<INSTALL_INTERFACE:inc>
3132
)
3233

33-
target_link_libraries (${BRAINFLOW_CPP_BINDING_NAME} PRIVATE ${BOARD_CONTROLLER_NAME} ${DATA_HANDLER_NAME} ${ML_MODULE_NAME})
34+
target_link_libraries (${BRAINFLOW_CPP_BINDING_NAME} PUBLIC ${BOARD_CONTROLLER_NAME} ${DATA_HANDLER_NAME} ${ML_MODULE_NAME})
3435

3536
install (
3637
FILES

src/board_controller/build.cmake

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ if (BUILD_BLE)
116116
endif (BUILD_BLE)
117117

118118
add_library (
119-
${BOARD_CONTROLLER_NAME} SHARED
119+
${BOARD_CONTROLLER_NAME} ${BRAINFLOW_CORE_LIBRARY_TYPE}
120120
${BOARD_CONTROLLER_SRC}
121121
)
122122

@@ -190,7 +190,7 @@ if (BUILD_PERIPHERY)
190190
target_link_libraries (${BOARD_CONTROLLER_NAME} PRIVATE periphery ${CMAKE_THREAD_LIBS_INIT} dl)
191191
endif (BUILD_PERIPHERY)
192192

193-
if (MSVC)
193+
if (BRAINFLOW_COPY_TO_PACKAGE_DIRS AND MSVC)
194194
add_custom_command (TARGET ${BOARD_CONTROLLER_NAME} POST_BUILD
195195
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${BOARD_CONTROLLER_COMPILED_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/nodejs_package/brainflow/lib/${BOARD_CONTROLLER_COMPILED_NAME}"
196196
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${BOARD_CONTROLLER_COMPILED_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/python_package/brainflow/lib/${BOARD_CONTROLLER_COMPILED_NAME}"
@@ -207,8 +207,8 @@ if (MSVC)
207207
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/src/board_controller/inc/board_info_getter.h" "${CMAKE_CURRENT_SOURCE_DIR}/rust_package/brainflow/inc/board_info_getter.h"
208208
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/src/utils/inc/brainflow_constants.h" "${CMAKE_CURRENT_SOURCE_DIR}/rust_package/brainflow/inc/brainflow_constants.h"
209209
)
210-
endif (MSVC)
211-
if (UNIX AND NOT ANDROID)
210+
endif (BRAINFLOW_COPY_TO_PACKAGE_DIRS AND MSVC)
211+
if (BRAINFLOW_COPY_TO_PACKAGE_DIRS AND UNIX AND NOT ANDROID)
212212
add_custom_command (TARGET ${BOARD_CONTROLLER_NAME} POST_BUILD
213213
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/${BOARD_CONTROLLER_COMPILED_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/nodejs_package/brainflow/lib/${BOARD_CONTROLLER_COMPILED_NAME}"
214214
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/${BOARD_CONTROLLER_COMPILED_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/python_package/brainflow/lib/${BOARD_CONTROLLER_COMPILED_NAME}"
@@ -225,7 +225,7 @@ if (UNIX AND NOT ANDROID)
225225
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/src/board_controller/inc/board_info_getter.h" "${CMAKE_CURRENT_SOURCE_DIR}/rust_package/brainflow/inc/board_info_getter.h"
226226
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/src/utils/inc/brainflow_constants.h" "${CMAKE_CURRENT_SOURCE_DIR}/rust_package/brainflow/inc/brainflow_constants.h"
227227
)
228-
endif (UNIX AND NOT ANDROID)
228+
endif (BRAINFLOW_COPY_TO_PACKAGE_DIRS AND UNIX AND NOT ANDROID)
229229

230230
if (ANDROID)
231231
add_custom_command (TARGET ${BOARD_CONTROLLER_NAME} POST_BUILD
@@ -250,9 +250,9 @@ if (ANDROID)
250250
endif (LibFTDI1_FOUND)
251251
endif (ANDROID)
252252

253-
if (UNIX AND NOT ANDROID)
253+
if (UNIX AND NOT ANDROID AND NOT BRAINFLOW_IOS)
254254
target_link_libraries (${BOARD_CONTROLLER_NAME} PRIVATE pthread dl)
255-
endif (UNIX AND NOT ANDROID)
255+
endif (UNIX AND NOT ANDROID AND NOT BRAINFLOW_IOS)
256256
if (ANDROID)
257257
find_library (log-lib log)
258258
target_link_libraries (${BOARD_CONTROLLER_NAME} PRIVATE log)

src/board_controller/muse/muse_bglib/build.cmake

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ SET (MUSE_BLED_SOURCE_LIB
3333
${CMAKE_CURRENT_SOURCE_DIR}/src/utils/data_buffer.cpp
3434
)
3535

36-
add_library (${MUSE_BLED_LIB} SHARED ${MUSE_BLED_SOURCE_LIB})
36+
add_library (${MUSE_BLED_LIB} ${BRAINFLOW_CORE_LIBRARY_TYPE} ${MUSE_BLED_SOURCE_LIB})
3737
target_include_directories (${MUSE_BLED_LIB} PUBLIC
3838
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/utils/inc>
3939
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/board_controller/muse/muse_bglib/inc>
@@ -50,7 +50,7 @@ set_target_properties (${MUSE_BLED_LIB}
5050
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/compiled
5151
)
5252

53-
if (MSVC)
53+
if (BRAINFLOW_COPY_TO_PACKAGE_DIRS AND MSVC)
5454
add_custom_command (TARGET ${MUSE_BLED_LIB} POST_BUILD
5555
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${MUSE_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/nodejs_package/brainflow/lib/${MUSE_BLED_LIB_NAME}"
5656
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${MUSE_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/python_package/brainflow/lib/${MUSE_BLED_LIB_NAME}"
@@ -59,8 +59,8 @@ if (MSVC)
5959
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${MUSE_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/matlab_package/brainflow/lib/${MUSE_BLED_LIB_NAME}"
6060
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${MUSE_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/julia_package/brainflow/lib/${MUSE_BLED_LIB_NAME}"
6161
)
62-
endif (MSVC)
63-
if (UNIX AND NOT ANDROID)
62+
endif (BRAINFLOW_COPY_TO_PACKAGE_DIRS AND MSVC)
63+
if (BRAINFLOW_COPY_TO_PACKAGE_DIRS AND UNIX AND NOT ANDROID)
6464
add_custom_command (TARGET ${MUSE_BLED_LIB} POST_BUILD
6565
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/${MUSE_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/nodejs_package/brainflow/lib/${MUSE_BLED_LIB_NAME}"
6666
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/${MUSE_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/python_package/brainflow/lib/${MUSE_BLED_LIB_NAME}"
@@ -69,7 +69,7 @@ if (UNIX AND NOT ANDROID)
6969
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/${MUSE_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/csharp_package/brainflow/brainflow/${MUSE_BLED_LIB_NAME}"
7070
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/${MUSE_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/matlab_package/brainflow/lib/${MUSE_BLED_LIB_NAME}"
7171
)
72-
endif (UNIX AND NOT ANDROID)
72+
endif (BRAINFLOW_COPY_TO_PACKAGE_DIRS AND UNIX AND NOT ANDROID)
7373

7474
install (
7575
TARGETS ${MUSE_BLED_LIB}
@@ -78,4 +78,4 @@ install (
7878
LIBRARY DESTINATION lib
7979
INCLUDES DESTINATION inc
8080
ARCHIVE DESTINATION lib
81-
)
81+
)

src/board_controller/neuromd/brainbit_bglib/build.cmake

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ SET (BRAINBIT_BLED_SOURCE_LIB
3030
${CMAKE_CURRENT_SOURCE_DIR}/src/utils/timestamp.cpp
3131
)
3232

33-
add_library (${BRAINBIT_BLED_LIB} SHARED ${BRAINBIT_BLED_SOURCE_LIB})
33+
add_library (${BRAINBIT_BLED_LIB} ${BRAINFLOW_CORE_LIBRARY_TYPE} ${BRAINBIT_BLED_SOURCE_LIB})
3434
target_include_directories (${BRAINBIT_BLED_LIB} PUBLIC
3535
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/utils/inc>
3636
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/inc>
@@ -46,7 +46,7 @@ set_target_properties (${BRAINBIT_BLED_LIB}
4646
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/compiled
4747
)
4848

49-
if (MSVC)
49+
if (BRAINFLOW_COPY_TO_PACKAGE_DIRS AND MSVC)
5050
add_custom_command (TARGET ${BRAINBIT_BLED_LIB} POST_BUILD
5151
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${BRAINBIT_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/nodejs_package/brainflow/lib/${BRAINBIT_BLED_LIB_NAME}"
5252
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${BRAINBIT_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/python_package/brainflow/lib/${BRAINBIT_BLED_LIB_NAME}"
@@ -55,8 +55,8 @@ if (MSVC)
5555
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${BRAINBIT_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/matlab_package/brainflow/lib/${BRAINBIT_BLED_LIB_NAME}"
5656
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${BRAINBIT_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/julia_package/brainflow/lib/${BRAINBIT_BLED_LIB_NAME}"
5757
)
58-
endif (MSVC)
59-
if (UNIX AND NOT ANDROID)
58+
endif (BRAINFLOW_COPY_TO_PACKAGE_DIRS AND MSVC)
59+
if (BRAINFLOW_COPY_TO_PACKAGE_DIRS AND UNIX AND NOT ANDROID)
6060
add_custom_command (TARGET ${BRAINBIT_BLED_LIB} POST_BUILD
6161
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/${BRAINBIT_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/nodejs_package/brainflow/lib/${BRAINBIT_BLED_LIB_NAME}"
6262
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/${BRAINBIT_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/python_package/brainflow/lib/${BRAINBIT_BLED_LIB_NAME}"
@@ -65,7 +65,7 @@ if (UNIX AND NOT ANDROID)
6565
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/${BRAINBIT_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/csharp_package/brainflow/brainflow/${BRAINBIT_BLED_LIB_NAME}"
6666
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/${BRAINBIT_BLED_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/matlab_package/brainflow/lib/${BRAINBIT_BLED_LIB_NAME}"
6767
)
68-
endif (UNIX AND NOT ANDROID)
68+
endif (BRAINFLOW_COPY_TO_PACKAGE_DIRS AND UNIX AND NOT ANDROID)
6969

7070
install (
7171
TARGETS ${BRAINBIT_BLED_LIB}
@@ -74,4 +74,4 @@ install (
7474
LIBRARY DESTINATION lib
7575
INCLUDES DESTINATION inc
7676
ARCHIVE DESTINATION lib
77-
)
77+
)

src/board_controller/openbci/ganglion_bglib/build.cmake

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ SET (GANGLION_SOURCE_LIB
3030
${CMAKE_CURRENT_SOURCE_DIR}/src/utils/timestamp.cpp
3131
)
3232

33-
add_library (${GANGLION_LIB} SHARED ${GANGLION_SOURCE_LIB})
33+
add_library (${GANGLION_LIB} ${BRAINFLOW_CORE_LIBRARY_TYPE} ${GANGLION_SOURCE_LIB})
3434
target_include_directories (${GANGLION_LIB} PUBLIC
3535
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/utils/inc>
3636
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/inc>
@@ -44,7 +44,7 @@ set_target_properties (${GANGLION_LIB}
4444
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/compiled
4545
)
4646

47-
if (MSVC)
47+
if (BRAINFLOW_COPY_TO_PACKAGE_DIRS AND MSVC)
4848
add_custom_command (TARGET ${GANGLION_LIB} POST_BUILD
4949
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${GANGLION_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/nodejs_package/brainflow/lib/${GANGLION_LIB_NAME}"
5050
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${GANGLION_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/python_package/brainflow/lib/${GANGLION_LIB_NAME}"
@@ -53,8 +53,8 @@ if (MSVC)
5353
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${GANGLION_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/matlab_package/brainflow/lib/${GANGLION_LIB_NAME}"
5454
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${GANGLION_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/julia_package/brainflow/lib/${GANGLION_LIB_NAME}"
5555
)
56-
endif (MSVC)
57-
if (UNIX AND NOT ANDROID)
56+
endif (BRAINFLOW_COPY_TO_PACKAGE_DIRS AND MSVC)
57+
if (BRAINFLOW_COPY_TO_PACKAGE_DIRS AND UNIX AND NOT ANDROID)
5858
add_custom_command (TARGET ${GANGLION_LIB} POST_BUILD
5959
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/${GANGLION_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/nodejs_package/brainflow/lib/${GANGLION_LIB_NAME}"
6060
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/${GANGLION_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/python_package/brainflow/lib/${GANGLION_LIB_NAME}"
@@ -63,7 +63,7 @@ if (UNIX AND NOT ANDROID)
6363
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/${GANGLION_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/csharp_package/brainflow/brainflow/${GANGLION_LIB_NAME}"
6464
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/${GANGLION_LIB_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/matlab_package/brainflow/lib/${GANGLION_LIB_NAME}"
6565
)
66-
endif (UNIX AND NOT ANDROID)
66+
endif (BRAINFLOW_COPY_TO_PACKAGE_DIRS AND UNIX AND NOT ANDROID)
6767

6868
install (
6969
TARGETS ${GANGLION_LIB}

src/data_handler/build.cmake

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ SET (DATA_HANDLER_SRC
3232
)
3333

3434
add_library (
35-
${DATA_HANDLER_NAME} SHARED
35+
${DATA_HANDLER_NAME} ${BRAINFLOW_CORE_LIBRARY_TYPE}
3636
${DATA_HANDLER_SRC}
3737
)
3838

@@ -65,17 +65,17 @@ if (USE_OPENMP)
6565
endif (OpenMP_CXX_FOUND)
6666
endif (USE_OPENMP)
6767

68-
if (UNIX AND NOT ANDROID)
68+
if (UNIX AND NOT ANDROID AND NOT BRAINFLOW_IOS)
6969
target_link_libraries (${DATA_HANDLER_NAME} PRIVATE ${DSPFILTERS} ${WAVELIB} kissfft pthread dl)
70-
else (UNIX AND NOT ANDROID)
70+
else (UNIX AND NOT ANDROID AND NOT BRAINFLOW_IOS)
7171
target_link_libraries (${DATA_HANDLER_NAME} PRIVATE ${DSPFILTERS} ${WAVELIB} kissfft)
72-
endif (UNIX AND NOT ANDROID)
72+
endif (UNIX AND NOT ANDROID AND NOT BRAINFLOW_IOS)
7373
if (ANDROID)
7474
find_library (log-lib log)
7575
target_link_libraries (${DATA_HANDLER_NAME} PRIVATE log)
7676
endif (ANDROID)
7777

78-
if (MSVC)
78+
if (BRAINFLOW_COPY_TO_PACKAGE_DIRS AND MSVC)
7979
add_custom_command (TARGET ${DATA_HANDLER_NAME} POST_BUILD
8080
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${DATA_HANDLER_COMPILED_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/nodejs_package/brainflow/lib/${DATA_HANDLER_COMPILED_NAME}"
8181
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${DATA_HANDLER_COMPILED_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/python_package/brainflow/lib/${DATA_HANDLER_COMPILED_NAME}"
@@ -89,8 +89,8 @@ if (MSVC)
8989
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/$<CONFIG>/${DATA_HANDLER_COMPILED_NAME_DOT_LIB}" "${CMAKE_CURRENT_SOURCE_DIR}/rust_package/brainflow/lib/${DATA_HANDLER_COMPILED_NAME_DOT_LIB}"
9090
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/src/data_handler/inc/data_handler.h" "${CMAKE_CURRENT_SOURCE_DIR}/rust_package/brainflow/inc/data_handler.h"
9191
)
92-
endif (MSVC)
93-
if (UNIX AND NOT ANDROID)
92+
endif (BRAINFLOW_COPY_TO_PACKAGE_DIRS AND MSVC)
93+
if (BRAINFLOW_COPY_TO_PACKAGE_DIRS AND UNIX AND NOT ANDROID)
9494
add_custom_command (TARGET ${DATA_HANDLER_NAME} POST_BUILD
9595
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/${DATA_HANDLER_COMPILED_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/nodejs_package/brainflow/lib/${DATA_HANDLER_COMPILED_NAME}"
9696
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/${DATA_HANDLER_COMPILED_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/python_package/brainflow/lib/${DATA_HANDLER_COMPILED_NAME}"
@@ -103,7 +103,7 @@ if (UNIX AND NOT ANDROID)
103103
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/${DATA_HANDLER_COMPILED_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/rust_package/brainflow/lib/${DATA_HANDLER_COMPILED_NAME}"
104104
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/src/data_handler/inc/data_handler.h" "${CMAKE_CURRENT_SOURCE_DIR}/rust_package/brainflow/inc/data_handler.h"
105105
)
106-
endif (UNIX AND NOT ANDROID)
106+
endif (BRAINFLOW_COPY_TO_PACKAGE_DIRS AND UNIX AND NOT ANDROID)
107107
if (ANDROID)
108108
add_custom_command (TARGET ${DATA_HANDLER_NAME} POST_BUILD
109109
COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/compiled/${DATA_HANDLER_COMPILED_NAME}" "${CMAKE_CURRENT_SOURCE_DIR}/tools/jniLibs/${ANDROID_ABI}/${DATA_HANDLER_COMPILED_NAME}"

0 commit comments

Comments
 (0)