From eac59a79d8e9589ccc3f1c8879478fd1b9502eef Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Sun, 22 Nov 2020 17:31:05 -0800 Subject: build-system/downloader: cli-downloader isn't part of the core It's part of the main excutable / helper and needs to be linked before all of our support libraries. Signed-off-by: Dirk Hohndel --- CMakeLists.txt | 1 + cli-downloader.cpp | 39 +++++++++++++++++++++++++++++++++++++++ core/CMakeLists.txt | 5 ----- core/cli-downloader.cpp | 39 --------------------------------------- 4 files changed, 40 insertions(+), 44 deletions(-) create mode 100644 cli-downloader.cpp delete mode 100644 core/cli-downloader.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index a023a8a63..79fd6eddd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -392,6 +392,7 @@ elseif (SUBSURFACE_TARGET_EXECUTABLE MATCHES "DesktopExecutable") elseif (SUBSURFACE_TARGET_EXECUTABLE MATCHES "DownloaderExecutable") set(DOWNLOADER_APP subsurface-downloader-main.cpp + cli-downloader.cpp ) source_group("Downloader App" FILES ${DOWNLOADER_APP}) add_executable(${SUBSURFACE_TARGET} MACOSX_BUNDLE WIN32 ${SUBSURFACE_PKG} ${DOWNLOADER_APP} ${SUBSURFACE_RESOURCES}) diff --git a/cli-downloader.cpp b/cli-downloader.cpp new file mode 100644 index 000000000..77053c0c7 --- /dev/null +++ b/cli-downloader.cpp @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: GPL-2.0 +#include "qt-models/diveimportedmodel.h" + +#include +#include + + +void cliDownloader(const char *vendor, const char *product, const char *device) +{ + DiveImportedModel *diveImportedModel = new DiveImportedModel(); + DiveImportedModel::connect(diveImportedModel, &DiveImportedModel::downloadFinished, [] { + // do something useful at the end of the download + printf("Finished\n"); + }); + + auto data = diveImportedModel->thread.data(); + data->setVendor(vendor); + data->setProduct(product); + data->setBluetoothMode(false); + if (data->vendor() == "Uemis") { + char *colon; + char *devname = strdup(device); + if ((colon = strstr(devname, ":\\ (UEMISSDA)")) != NULL) { + *(colon + 2) = '\0'; + fprintf(stderr, "shortened devname to \"%s\"", devname); + } + data->setDevName(devname); + } else { + data->setDevName(device); + } + + // some assumptiond - should all be configurable + data->setForceDownload(false); + data->setSaveLog(true); + data->setSaveDump(false); + + // before we start, remember where the dive_table ended + diveImportedModel->startDownload(); +} diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt index 51ccf608f..1ed24019c 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -20,10 +20,6 @@ if(FTDISUPPORT) set(SERIAL_FTDI serial_ftdi.c) endif() -if (SUBSURFACE_TARGET_EXECUTABLE MATCHES "DownloaderExecutable") - set(DOWNLOADER cli-downloader.cpp) -endif() - if(BTSUPPORT) add_definitions(-DBT_SUPPORT) set(BT_SRC_FILES desktop-widgets/btdeviceselectiondialog.cpp) @@ -256,7 +252,6 @@ set(SUBSURFACE_CORE_LIB_SRCS ${SERIAL_FTDI} ${PLATFORM_SRC} ${BT_CORE_SRC_FILES} - ${DOWNLOADER} ) source_group("Subsurface Core" FILES ${SUBSURFACE_CORE_LIB_SRCS}) diff --git a/core/cli-downloader.cpp b/core/cli-downloader.cpp deleted file mode 100644 index 77053c0c7..000000000 --- a/core/cli-downloader.cpp +++ /dev/null @@ -1,39 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -#include "qt-models/diveimportedmodel.h" - -#include -#include - - -void cliDownloader(const char *vendor, const char *product, const char *device) -{ - DiveImportedModel *diveImportedModel = new DiveImportedModel(); - DiveImportedModel::connect(diveImportedModel, &DiveImportedModel::downloadFinished, [] { - // do something useful at the end of the download - printf("Finished\n"); - }); - - auto data = diveImportedModel->thread.data(); - data->setVendor(vendor); - data->setProduct(product); - data->setBluetoothMode(false); - if (data->vendor() == "Uemis") { - char *colon; - char *devname = strdup(device); - if ((colon = strstr(devname, ":\\ (UEMISSDA)")) != NULL) { - *(colon + 2) = '\0'; - fprintf(stderr, "shortened devname to \"%s\"", devname); - } - data->setDevName(devname); - } else { - data->setDevName(device); - } - - // some assumptiond - should all be configurable - data->setForceDownload(false); - data->setSaveLog(true); - data->setSaveDump(false); - - // before we start, remember where the dive_table ended - diveImportedModel->startDownload(); -} -- cgit v1.2.3-70-g09d2