2015-09-02 23:52:34 +00:00
|
|
|
set(PLATFORM_SRC unknown_platform.c)
|
2015-11-05 15:57:47 +00:00
|
|
|
message(STATUS "system name ${CMAKE_SYSTEM_NAME}")
|
2015-09-02 23:52:34 +00:00
|
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
2015-11-05 15:57:47 +00:00
|
|
|
if(ANDROID)
|
|
|
|
set(PLATFORM_SRC android.cpp)
|
|
|
|
else()
|
2018-07-18 09:04:35 +00:00
|
|
|
set(PLATFORM_SRC unix.c)
|
2015-11-05 15:57:47 +00:00
|
|
|
endif()
|
2015-11-07 00:51:31 +00:00
|
|
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
|
|
|
set(PLATFORM_SRC android.cpp)
|
2015-09-02 23:52:34 +00:00
|
|
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
|
|
|
set(PLATFORM_SRC macos.c)
|
|
|
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
|
|
|
set(PLATFORM_SRC windows.c)
|
2018-07-18 09:04:35 +00:00
|
|
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
|
|
|
|
set(PLATFORM_SRC unix.c)
|
2015-09-02 23:52:34 +00:00
|
|
|
endif()
|
|
|
|
|
|
|
|
if(FTDISUPPORT)
|
|
|
|
set(SERIAL_FTDI serial_ftdi.c)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(BTSUPPORT)
|
|
|
|
add_definitions(-DBT_SUPPORT)
|
2015-11-16 09:49:58 +00:00
|
|
|
set(BT_SRC_FILES desktop-widgets/btdeviceselectiondialog.cpp)
|
2017-10-06 14:52:17 +00:00
|
|
|
set(BT_CORE_SRC_FILES qtserialbluetooth.cpp btdiscovery.cpp)
|
2015-09-02 23:52:34 +00:00
|
|
|
endif()
|
|
|
|
|
2017-06-13 02:47:50 +00:00
|
|
|
if(BLESUPPORT)
|
|
|
|
add_definitions(-DBLE_SUPPORT)
|
2017-10-06 14:52:17 +00:00
|
|
|
set(BT_CORE_SRC_FILES ${BT_CORE_SRC_FILES} qt-ble.cpp)
|
2017-06-13 02:47:50 +00:00
|
|
|
endif()
|
|
|
|
|
2018-06-16 07:52:01 +00:00
|
|
|
# compile the core library part in C, part in C++
|
2015-09-02 23:52:34 +00:00
|
|
|
set(SUBSURFACE_CORE_LIB_SRCS
|
2018-06-16 07:52:01 +00:00
|
|
|
checkcloudconnection.cpp
|
|
|
|
cloudstorage.cpp
|
2015-09-02 23:52:34 +00:00
|
|
|
cochran.c
|
2018-06-16 07:52:01 +00:00
|
|
|
color.cpp
|
|
|
|
configuredivecomputer.cpp
|
|
|
|
configuredivecomputerthreads.cpp
|
|
|
|
connectionlistmodel.cpp
|
2015-09-02 23:52:34 +00:00
|
|
|
datatrak.c
|
|
|
|
deco.c
|
|
|
|
device.c
|
2018-06-16 07:52:01 +00:00
|
|
|
devicedetails.cpp
|
2015-09-02 23:52:34 +00:00
|
|
|
dive.c
|
2018-06-16 07:52:01 +00:00
|
|
|
divecomputer.cpp
|
|
|
|
divelogexportlogic.cpp
|
2015-09-02 23:52:34 +00:00
|
|
|
divesite.c
|
2018-06-16 07:52:01 +00:00
|
|
|
divesitehelpers.cpp
|
2017-12-08 14:13:08 +00:00
|
|
|
divesite-helper.cpp
|
2015-09-02 23:52:34 +00:00
|
|
|
divelist.c
|
2018-06-16 07:52:01 +00:00
|
|
|
downloadfromdcthread.cpp
|
2015-09-02 23:52:34 +00:00
|
|
|
equipment.c
|
2017-10-26 12:33:02 +00:00
|
|
|
errorhelper.c
|
2018-06-16 07:52:01 +00:00
|
|
|
exif.cpp
|
2015-09-02 23:52:34 +00:00
|
|
|
file.c
|
2018-06-16 07:52:01 +00:00
|
|
|
format.cpp
|
|
|
|
gaspressures.c
|
2016-03-02 21:49:59 +00:00
|
|
|
gas-model.c
|
2018-06-16 07:52:01 +00:00
|
|
|
gettextfromc.cpp
|
2015-09-02 23:52:34 +00:00
|
|
|
git-access.c
|
2018-06-16 07:52:01 +00:00
|
|
|
gpslocation.cpp
|
|
|
|
imagedownloader.cpp
|
2015-09-02 23:52:34 +00:00
|
|
|
libdivecomputer.c
|
|
|
|
liquivision.c
|
|
|
|
load-git.c
|
|
|
|
membuffer.c
|
2018-06-16 07:52:01 +00:00
|
|
|
metadata.cpp
|
2018-09-15 17:11:01 +00:00
|
|
|
xmp_parser.cpp
|
2018-06-16 07:52:01 +00:00
|
|
|
metrics.cpp
|
2015-09-02 23:52:34 +00:00
|
|
|
ostctools.c
|
|
|
|
parse-xml.c
|
2017-11-27 17:41:10 +00:00
|
|
|
parse.c
|
2017-11-28 19:24:53 +00:00
|
|
|
import-suunto.c
|
2017-11-28 19:31:27 +00:00
|
|
|
import-shearwater.c
|
2017-11-28 19:34:37 +00:00
|
|
|
import-cobalt.c
|
2017-11-28 19:36:57 +00:00
|
|
|
import-divinglog.c
|
2018-01-06 20:24:38 +00:00
|
|
|
import-csv.c
|
2015-09-02 23:52:34 +00:00
|
|
|
planner.c
|
2017-05-25 10:57:06 +00:00
|
|
|
plannernotes.c
|
2015-09-02 23:52:34 +00:00
|
|
|
profile.c
|
2018-06-16 07:52:01 +00:00
|
|
|
qthelper.cpp
|
|
|
|
qt-init.cpp
|
2015-09-02 23:52:34 +00:00
|
|
|
save-git.c
|
|
|
|
save-xml.c
|
|
|
|
save-html.c
|
|
|
|
sha1.c
|
|
|
|
statistics.c
|
|
|
|
strtod.c
|
|
|
|
subsurfacestartup.c
|
2018-06-16 07:52:01 +00:00
|
|
|
subsurfacesysinfo.cpp
|
|
|
|
taxonomy.c
|
2015-09-02 23:52:34 +00:00
|
|
|
time.c
|
|
|
|
uemis.c
|
|
|
|
uemis-downloader.c
|
|
|
|
version.c
|
2018-07-10 13:04:35 +00:00
|
|
|
videoframeextractor.cpp
|
2015-09-02 23:52:34 +00:00
|
|
|
windowtitleupdate.cpp
|
2018-06-16 07:52:01 +00:00
|
|
|
worldmap-save.c
|
2016-01-07 18:01:24 +00:00
|
|
|
|
2018-06-16 14:03:31 +00:00
|
|
|
# classes to manage struct preferences for QWidget and QML
|
|
|
|
settings/qPref.cpp
|
2018-07-12 19:01:31 +00:00
|
|
|
settings/qPrefCloudStorage.cpp
|
2018-06-15 08:53:42 +00:00
|
|
|
settings/qPrefDisplay.cpp
|
2018-07-15 16:15:40 +00:00
|
|
|
settings/qPrefDiveComputer.cpp
|
2018-08-01 15:14:04 +00:00
|
|
|
settings/qPrefDivePlanner.cpp
|
2018-08-12 15:57:45 +00:00
|
|
|
settings/qPrefGeneral.cpp
|
2018-08-06 17:25:06 +00:00
|
|
|
settings/qPrefGeocoding.cpp
|
2018-08-06 17:39:35 +00:00
|
|
|
settings/qPrefLanguage.cpp
|
2018-08-05 13:59:28 +00:00
|
|
|
settings/qPrefLocationService.cpp
|
2018-08-10 19:18:40 +00:00
|
|
|
settings/qPrefPartialPressureGas.cpp
|
2018-07-17 13:22:51 +00:00
|
|
|
settings/qPrefPrivate.cpp
|
2018-07-27 08:25:43 +00:00
|
|
|
settings/qPrefProxy.cpp
|
2018-08-04 10:02:29 +00:00
|
|
|
settings/qPrefTechnicalDetails.cpp
|
2018-07-31 13:04:12 +00:00
|
|
|
settings/qPrefUnit.cpp
|
2018-08-03 17:24:53 +00:00
|
|
|
settings/qPrefUpdateManager.cpp
|
2018-06-16 14:03:31 +00:00
|
|
|
|
2016-01-07 18:01:24 +00:00
|
|
|
#Subsurface Qt have the Subsurface structs QObjectified for easy access via QML.
|
|
|
|
subsurface-qt/DiveObjectHelper.cpp
|
2016-07-31 21:27:07 +00:00
|
|
|
subsurface-qt/CylinderObjectHelper.cpp
|
Dive list: implement proper Qt-model semantics for DiveTripModel
Previously, each dive-list modifying function would lead to a
full model reset. Instead, implement proper Qt-model semantics
using beginInsertRows()/endInsertRows(), beginRemoveRows()/
endRemoveRows(), dataChange().
To do so, a DiveListNotifer singleton is generatated, which
broadcasts all changes to the dive-list. Signals are sent by
the commands and received by the DiveTripModel. Signals are
batched by dive-trip. This seems to be an adequate compromise
for the two kinds of list-views (tree and list). In the common
usecase mostly dives of a single trip are affected.
Thus, batching of dives is performed in two positions:
- At command-level to batch by trip
- In DiveTripModel to feed batches of contiguous elements
to Qt's begin*/end*-functions.
This is conceptually simple, but rather complex code. To avoid
repetition of complex loops, the batching is implemented in
templated-functions, which are passed lambda-functions, which
are called for each batch.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2018-07-30 07:20:25 +00:00
|
|
|
subsurface-qt/DiveListNotifier.cpp
|
2017-04-18 17:14:03 +00:00
|
|
|
|
2015-09-02 23:52:34 +00:00
|
|
|
${SERIAL_FTDI}
|
|
|
|
${PLATFORM_SRC}
|
|
|
|
${BT_CORE_SRC_FILES}
|
|
|
|
)
|
|
|
|
source_group("Subsurface Core" FILES ${SUBSURFACE_CORE_LIB_SRCS})
|
|
|
|
|
|
|
|
add_library(subsurface_corelib STATIC ${SUBSURFACE_CORE_LIB_SRCS} )
|
|
|
|
target_link_libraries(subsurface_corelib ${QT_LIBRARIES})
|
|
|
|
|