aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorGravatar Linus Torvalds <torvalds@linux-foundation.org>2017-06-12 19:47:50 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2017-06-24 21:58:01 -0700
commit196adb591bd167bc4ee3387c7836f037d106cb5b (patch)
tree6ae3f2cc92f56a3b792af5a690d330ae13cb8392 /CMakeLists.txt
parent03badea06f2bcfa9ebd6e7033710ac01ffac103f (diff)
downloadsubsurface-196adb591bd167bc4ee3387c7836f037d106cb5b.tar.gz
Very early and likely quite broken BLE GATT code
This is some very early and hacky code to be able to access BLE-enabled dive computers that use the GATT protocol to send packets back and forth (which seems to be pretty much all of them: a vendor-specific GATT service with a write characteristic and a notification characteristic for reading). For testing only. But it does successfully let me download dives from my EON Steel and my Scubapro G2. NOTE! There are several very hacky pieces in here, including just "knowing" that the write characteristic is the first one, and the notification characteristic is second. The code should actually check the properties rather than have those kinds of hardcoded assumptions. It also checks "vendor specific" by looking at the UUID string representation, and knowing that the standard ones start with zero. Crazily, there doesn't seem to be any normal way to test for this, although I guess that maybe the uuid.minimumSize() function could be used. There are other nasty corners. Don't complain, send me patches. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt9
1 files changed, 9 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3112c4b71..12bf1c4e8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -216,10 +216,19 @@ if (BTSUPPORT AND "${Qt5Core_VERSION}" VERSION_LESS 5.4.0)
list(REMOVE_ITEM QT_LIBRARIES Qt5::Bluetooth)
endif()
+#I can't test MacOS, and Windows Qt doesn't support BLE at all afaik
+if (BTSUPPORT AND CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ set(BLESUPPORT ON)
+endif()
+
if(BTSUPPORT)
add_definitions(-DBT_SUPPORT)
endif()
+if(BLESUPPORT)
+ add_definitions(-DBLE_SUPPORT)
+endif()
+
#set up the subsurface_link_libraries variable
set(SUBSURFACE_LINK_LIBRARIES ${SUBSURFACE_LINK_LIBRARIES} ${LIBDIVECOMPUTER_LIBRARIES} ${LIBGIT2_LIBRARIES} ${LIBUSB_LIBRARIES})
qt5_add_resources(SUBSURFACE_RESOURCES subsurface.qrc)