From f204c168f6642a9a4361c6e8b14e9cce31ca2446 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Thu, 31 Jul 2025 16:35:44 +0100 Subject: [PATCH] Add crash handler on Windows. Add memory buffer to Logger, so last 500 log messages can be included in crash report. Generate and include stripped pdb files so stack trace can include function names. --- CMakeLists.txt | 4 + app/crashhandler.h | 22 + app/crashhandlerwin.cpp | 421 ++++++++++++++++++ app/main.cpp | 5 + cmake/Modules/CompilerOptions.cmake | 6 + logging/CMakeLists.txt | 2 + logging/bufferlogger.cpp | 49 ++ logging/bufferlogger.h | 46 ++ logging/loggerwithfile.cpp | 9 + logging/loggerwithfile.h | 6 + .../beamsteeringcwmod/CMakeLists.txt | 1 + plugins/channelmimo/doa2/CMakeLists.txt | 1 + .../channelmimo/interferometer/CMakeLists.txt | 1 + plugins/channelrx/chanalyzer/CMakeLists.txt | 1 + plugins/channelrx/channelpower/CMakeLists.txt | 1 + plugins/channelrx/demodadsb/CMakeLists.txt | 6 +- plugins/channelrx/demodais/CMakeLists.txt | 1 + plugins/channelrx/demodam/CMakeLists.txt | 1 + plugins/channelrx/demodapt/CMakeLists.txt | 1 + plugins/channelrx/demodatv/CMakeLists.txt | 1 + plugins/channelrx/demodbfm/CMakeLists.txt | 1 + .../channelrx/demodchirpchat/CMakeLists.txt | 1 + plugins/channelrx/demoddab/CMakeLists.txt | 1 + plugins/channelrx/demoddatv/CMakeLists.txt | 1 + plugins/channelrx/demoddsc/CMakeLists.txt | 1 + plugins/channelrx/demoddsd/CMakeLists.txt | 1 + .../channelrx/demodendoftrain/CMakeLists.txt | 1 + plugins/channelrx/demodfreedv/CMakeLists.txt | 1 + plugins/channelrx/demodft8/CMakeLists.txt | 1 + plugins/channelrx/demodils/CMakeLists.txt | 1 + plugins/channelrx/demodm17/CMakeLists.txt | 1 + plugins/channelrx/demodnavtex/CMakeLists.txt | 1 + plugins/channelrx/demodnfm/CMakeLists.txt | 1 + plugins/channelrx/demodpacket/CMakeLists.txt | 1 + plugins/channelrx/demodpager/CMakeLists.txt | 1 + .../channelrx/demodradiosonde/CMakeLists.txt | 6 +- plugins/channelrx/demodrtty/CMakeLists.txt | 1 + plugins/channelrx/demodssb/CMakeLists.txt | 1 + plugins/channelrx/demodvor/CMakeLists.txt | 1 + plugins/channelrx/demodvormc/CMakeLists.txt | 1 + plugins/channelrx/demodwfm/CMakeLists.txt | 1 + plugins/channelrx/filesink/CMakeLists.txt | 1 + plugins/channelrx/freqscanner/CMakeLists.txt | 1 + plugins/channelrx/freqtracker/CMakeLists.txt | 1 + plugins/channelrx/heatmap/CMakeLists.txt | 6 +- plugins/channelrx/localsink/CMakeLists.txt | 1 + plugins/channelrx/noisefigure/CMakeLists.txt | 1 + .../channelrx/radioastronomy/CMakeLists.txt | 1 + plugins/channelrx/radioclock/CMakeLists.txt | 1 + plugins/channelrx/remotesink/CMakeLists.txt | 1 + .../channelrx/remotetcpsink/CMakeLists.txt | 1 + .../channelrx/sigmffilesink/CMakeLists.txt | 1 + plugins/channelrx/udpsink/CMakeLists.txt | 1 + plugins/channelrx/wdsprx/CMakeLists.txt | 1 + plugins/channeltx/filesource/CMakeLists.txt | 1 + plugins/channeltx/localsource/CMakeLists.txt | 1 + plugins/channeltx/mod802.15.4/CMakeLists.txt | 1 + plugins/channeltx/modais/CMakeLists.txt | 1 + plugins/channeltx/modam/CMakeLists.txt | 1 + plugins/channeltx/modatv/CMakeLists.txt | 1 + plugins/channeltx/modchirpchat/CMakeLists.txt | 1 + plugins/channeltx/moddatv/CMakeLists.txt | 1 + plugins/channeltx/modfreedv/CMakeLists.txt | 1 + plugins/channeltx/modm17/CMakeLists.txt | 1 + plugins/channeltx/modnfm/CMakeLists.txt | 1 + plugins/channeltx/modpacket/CMakeLists.txt | 1 + plugins/channeltx/modpsk31/CMakeLists.txt | 1 + plugins/channeltx/modrtty/CMakeLists.txt | 1 + plugins/channeltx/modssb/CMakeLists.txt | 1 + plugins/channeltx/modwfm/CMakeLists.txt | 1 + plugins/channeltx/remotesource/CMakeLists.txt | 1 + plugins/channeltx/udpsource/CMakeLists.txt | 1 + .../samplemimo/audiocatsiso/CMakeLists.txt | 1 + .../samplemimo/bladerf2mimo/CMakeLists.txt | 1 + plugins/samplemimo/limesdrmimo/CMakeLists.txt | 1 + plugins/samplemimo/metismiso/CMakeLists.txt | 1 + .../samplemimo/plutosdrmimo/CMakeLists.txt | 1 + plugins/samplemimo/testmi/CMakeLists.txt | 1 + plugins/samplemimo/testmosync/CMakeLists.txt | 1 + plugins/samplemimo/xtrxmimo/CMakeLists.txt | 1 + .../aaroniartsaoutput/CMakeLists.txt | 1 + plugins/samplesink/audiooutput/CMakeLists.txt | 1 + .../samplesink/bladerf1output/CMakeLists.txt | 1 + .../samplesink/bladerf2output/CMakeLists.txt | 1 + plugins/samplesink/fileoutput/CMakeLists.txt | 1 + .../samplesink/hackrfoutput/CMakeLists.txt | 1 + .../samplesink/limesdroutput/CMakeLists.txt | 1 + plugins/samplesink/localoutput/CMakeLists.txt | 1 + .../samplesink/plutosdroutput/CMakeLists.txt | 1 + .../samplesink/remoteoutput/CMakeLists.txt | 1 + .../samplesink/soapysdroutput/CMakeLists.txt | 1 + plugins/samplesink/testsink/CMakeLists.txt | 1 + plugins/samplesink/usrpoutput/CMakeLists.txt | 1 + plugins/samplesink/xtrxoutput/CMakeLists.txt | 1 + .../aaroniartsainput/CMakeLists.txt | 1 + plugins/samplesource/airspy/CMakeLists.txt | 1 + plugins/samplesource/airspyhf/CMakeLists.txt | 1 + .../androidsdrdriverinput/CMakeLists.txt | 1 + .../samplesource/audioinput/CMakeLists.txt | 1 + .../samplesource/bladerf1input/CMakeLists.txt | 1 + .../samplesource/bladerf2input/CMakeLists.txt | 1 + plugins/samplesource/fcdpro/CMakeLists.txt | 1 + .../samplesource/fcdproplus/CMakeLists.txt | 1 + plugins/samplesource/fileinput/CMakeLists.txt | 1 + .../samplesource/hackrfinput/CMakeLists.txt | 1 + plugins/samplesource/kiwisdr/CMakeLists.txt | 1 + .../samplesource/limesdrinput/CMakeLists.txt | 1 + .../samplesource/localinput/CMakeLists.txt | 1 + plugins/samplesource/perseus/CMakeLists.txt | 1 + .../samplesource/plutosdrinput/CMakeLists.txt | 1 + .../samplesource/remoteinput/CMakeLists.txt | 1 + .../remotetcpinput/CMakeLists.txt | 1 + plugins/samplesource/rtlsdr/CMakeLists.txt | 1 + plugins/samplesource/sdrplay/CMakeLists.txt | 1 + plugins/samplesource/sdrplayv3/CMakeLists.txt | 1 + .../sigmffileinput/CMakeLists.txt | 1 + .../samplesource/soapysdrinput/CMakeLists.txt | 1 + .../samplesource/testsource/CMakeLists.txt | 1 + plugins/samplesource/usrpinput/CMakeLists.txt | 1 + plugins/samplesource/xtrxinput/CMakeLists.txt | 1 + sdrbase/CMakeLists.txt | 3 +- sdrgui/CMakeLists.txt | 1 + 122 files changed, 683 insertions(+), 16 deletions(-) create mode 100644 app/crashhandler.h create mode 100644 app/crashhandlerwin.cpp create mode 100644 logging/bufferlogger.cpp create mode 100644 logging/bufferlogger.h diff --git a/CMakeLists.txt b/CMakeLists.txt index c9ae16001..26c493bbf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1003,6 +1003,9 @@ if (BUILD_GUI) sdrgui/resources/sdrangel.rc settings/settings.qrc ) + if (WIN32) + set(sdrangel_SOURCES ${sdrangel_SOURCES} app/crashhandlerwin.cpp) + endif() if(APPLE) set(sdrangel_SOURCES ${sdrangel_SOURCES} mac/auth.mm) endif() @@ -1109,6 +1112,7 @@ endif() # Install debug symbols if (WIN32) + install(FILES $/${CMAKE_PROJECT_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_LIB_DIR} RENAME ${CMAKE_PROJECT_NAME}.pdb) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_BIN_DIR} ) endif() diff --git a/app/crashhandler.h b/app/crashhandler.h new file mode 100644 index 000000000..ac5de8395 --- /dev/null +++ b/app/crashhandler.h @@ -0,0 +1,22 @@ +/////////////////////////////////////////////////////////////////////////////////// +// Copyright (C) 2025 Jon Beniston, M7RCE // +// // +// This program is free software; you can redistribute it and/or modify // +// it under the terms of the GNU General Public License as published by // +// the Free Software Foundation as version 3 of the License, or // +// (at your option) any later version. // +// // +// This program is distributed in the hope that it will be useful, // +// but WITHOUT ANY WARRANTY; without even the implied warranty of // +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // +// GNU General Public License V3 for more details. // +// // +// You should have received a copy of the GNU General Public License // +// along with this program. If not, see . // +/////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "loggerwithfile.h" + +void installCrashHandler(qtwebapp::LoggerWithFile *logger); diff --git a/app/crashhandlerwin.cpp b/app/crashhandlerwin.cpp new file mode 100644 index 000000000..6a98c4ed6 --- /dev/null +++ b/app/crashhandlerwin.cpp @@ -0,0 +1,421 @@ +/////////////////////////////////////////////////////////////////////////////////// +// Copyright (C) 2025 Jon Beniston, M7RCE // +// // +// This program is free software; you can redistribute it and/or modify // +// it under the terms of the GNU General Public License as published by // +// the Free Software Foundation as version 3 of the License, or // +// (at your option) any later version. // +// // +// This program is distributed in the hope that it will be useful, // +// but WITHOUT ANY WARRANTY; without even the implied warranty of // +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // +// GNU General Public License V3 for more details. // +// // +// You should have received a copy of the GNU General Public License // +// along with this program. If not, see . // +/////////////////////////////////////////////////////////////////////////////////// + +#include "crashhandler.h" + +#include +#include + +// Use common controls v6, rather than v5 +#pragma comment(linker,"\"/manifestdependency:type='win32' \ +name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \ +processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") + +#define IDC_EXIT_BUTTON 1500 +#define IDC_COPY_BUTTON 1501 +#define IDC_GITHUB_BUTTON 1502 + +static HWND hWindow; +static HWND hLabel; +static HWND hEdit; +static HWND hGithubButton; +static HWND hCopyButton; +static HWND hExitButton; + +static qtwebapp::LoggerWithFile *crashLogger; + +static void ScaleWindow(HWND wnd, int x, int y, int w, int h) +{ + int dpi = GetDpiForWindow(wnd); + + int scaledX = MulDiv(x, dpi, USER_DEFAULT_SCREEN_DPI); + int scaledY = MulDiv(y, dpi, USER_DEFAULT_SCREEN_DPI); + int scaledW = MulDiv(w, dpi, USER_DEFAULT_SCREEN_DPI); + int scaledH = MulDiv(h, dpi, USER_DEFAULT_SCREEN_DPI); + + SetWindowPos(wnd, wnd, scaledX, scaledY, scaledW, scaledH, SWP_NOZORDER | SWP_NOACTIVATE); +} + +static void Scale(HWND wnd, int& w, int &h) +{ + int dpi = GetDpiForWindow(wnd); + + w = MulDiv(w, dpi, USER_DEFAULT_SCREEN_DPI); + h = MulDiv(h, dpi, USER_DEFAULT_SCREEN_DPI); +} + +static void Unscale(HWND wnd, int& w, int &h) +{ + int dpi = GetDpiForWindow(wnd); + + w = MulDiv(w, USER_DEFAULT_SCREEN_DPI, dpi); + h = MulDiv(h, USER_DEFAULT_SCREEN_DPI, dpi); +} + +static void ScaleControls() +{ + RECT rect; + int w; + int h; + + GetWindowRect(hWindow, &rect); + w = rect.right - rect.left; + h = rect.bottom - rect.top; + Unscale(hWindow, w, h); + + int buttonY = h - 100; + int editW = w - 40; + int editH = h - 200; + + if (hLabel) { + ScaleWindow(hLabel, 10, 10, editW, 70); + } + if (hEdit) { + ScaleWindow(hEdit, 10, 80, editW, editH); + } + if (hGithubButton) { + ScaleWindow(hGithubButton, 10, buttonY, 150, 30); + } + if (hCopyButton) { + ScaleWindow(hCopyButton, 170, buttonY, 150, 30); + } + if (hExitButton) { + ScaleWindow(hExitButton, w - 180, buttonY, 150, 30); + } +} + +static void ScaleWindow() +{ + if (hWindow) + { + RECT rect; + + GetWindowRect(hWindow, &rect); + ScaleWindow(hWindow, rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top); + } +} + +static LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + switch (message) + { + + case WM_COMMAND: + { + int wmId = LOWORD(wParam); + + switch (wmId) + { + + case IDC_EXIT_BUTTON: + PostQuitMessage(0); + break; + + case IDC_GITHUB_BUTTON: + // Open SDRangel GitHub issues page in web browser + ShellExecute(NULL, L"open", L"https://github.com/f4exb/sdrangel/issues", NULL, NULL, SW_SHOWNORMAL); + break; + + case IDC_COPY_BUTTON: + { + // Copy contents of edit control to clipboard + int len = GetWindowTextLength(hEdit); + HGLOBAL hMem = GlobalAlloc(GMEM_MOVEABLE, (len + 1) * sizeof(wchar_t)); + + if (hMem) + { + void *text = GlobalLock(hMem); + if (text) + { + GetWindowText(hEdit, (LPWSTR) text, len); + GlobalUnlock(hMem); + OpenClipboard(0); + EmptyClipboard(); + SetClipboardData(CF_UNICODETEXT, hMem); + CloseClipboard(); + } + } + break; + } + + default: + return DefWindowProc(hWnd, message, wParam, lParam); + } + break; + } + + case WM_CREATE: + { + HINSTANCE hInst = (HINSTANCE) GetWindowLongPtr(hWnd, GWLP_HINSTANCE); + LPCREATESTRUCT cs = (LPCREATESTRUCT) lParam; + + hLabel = CreateWindow(L"Static", + L"SDRangel has crashed.\r\n\r\nPlease consider opening a bug report on GitHub, copying the text below and a screenshot.", + WS_CHILD | WS_VISIBLE, + 0, 0, 0, 0, + hWnd, + NULL, + hInst, + NULL); + + hEdit = CreateWindowA("EDIT", + (LPCSTR) cs->lpCreateParams, + WS_BORDER | WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL, + 0, 0, 0, 0, + hWnd, + NULL, + hInst, + NULL); + + hGithubButton = CreateWindow( + L"BUTTON", + L"Open Github...", + WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON, + 0, 0, 0, 0, + hWnd, + (HMENU) IDC_GITHUB_BUTTON, + hInst, + NULL); + + hCopyButton = CreateWindow( + L"BUTTON", + L"Copy text", + WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON, + 0, 0, 0, 0, + hWnd, + (HMENU) IDC_COPY_BUTTON, + hInst, + NULL); + + hExitButton = CreateWindow( + L"BUTTON", + L"Exit SDRangel", + WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON, + 0, 0, 0, 0, + hWnd, + (HMENU) IDC_EXIT_BUTTON, + hInst, + NULL); + + ScaleControls(); + + break; + } + + case WM_GETMINMAXINFO: + { + LPMINMAXINFO lpMMI = (LPMINMAXINFO) lParam; + int w = 500; + int h = 220; + Scale(hWindow, w, h); + + lpMMI->ptMinTrackSize.x = w; + lpMMI->ptMinTrackSize.y = h; + break; + } + + case WM_SIZE: + ScaleControls(); + RedrawWindow(hWindow, NULL, NULL, RDW_ERASE | RDW_INVALIDATE | RDW_UPDATENOW | RDW_ALLCHILDREN); + break; + + case WM_DPICHANGED: + ScaleControls(); + ScaleWindow(); + break; + + case WM_CTLCOLORSTATIC: + SetBkMode((HDC) wParam, TRANSPARENT); + return (LRESULT) GetStockObject(NULL_BRUSH); + + case WM_DESTROY: + PostQuitMessage(0); + break; + + default: + return DefWindowProc(hWnd, message, wParam, lParam); + } + return 0; +} + +// Create and display crash log when an unhandled exception occurs +static LONG crashHandler(struct _EXCEPTION_POINTERS *ExceptionInfo) +{ + const int reportBufferSize = 1024*1024; + char *reportBuffer = new char[reportBufferSize]; + char *reportBufferPtr = reportBuffer; + int reportBufferRemaining = reportBufferSize; + + int written = snprintf(reportBufferPtr, reportBufferRemaining, + "SDRangel crash data\r\n%s %s\r\nQt %s\r\n%s %s\r\nStack trace:\r\n", + APPLICATION_NAME, + SDRANGEL_VERSION, + QT_VERSION_STR, + qPrintable(QSysInfo::prettyProductName()), + qPrintable(QSysInfo::currentCpuArchitecture()) + ); + reportBufferPtr += written; + reportBufferRemaining -= written; + + // Create stack trace + + STACKFRAME64 stack; + CONTEXT context; + HANDLE process; + DWORD64 displacement; + ULONG frame; + BOOL symInit; + char symName[(MAX_PATH * sizeof(TCHAR))]; + char storage[sizeof(IMAGEHLP_SYMBOL64) + (sizeof(symName))]; + IMAGEHLP_SYMBOL64* symbol; + + RtlCaptureContext(&context); + memset(&stack, 0, sizeof(STACKFRAME64)); +#if defined(_AMD64_) + stack.AddrPC.Offset = context.Rip; + stack.AddrPC.Mode = AddrModeFlat; + stack.AddrStack.Offset = context.Rsp; + stack.AddrStack.Mode = AddrModeFlat; + stack.AddrFrame.Offset = context.Rbp; + stack.AddrFrame.Mode = AddrModeFlat; +#else + stack.AddrPC.Offset = context.Eip; + stack.AddrPC.Mode = AddrModeFlat; + stack.AddrStack.Offset = context.Esp; + stack.AddrStack.Mode = AddrModeFlat; + stack.AddrFrame.Offset = context.Ebp; + stack.AddrFrame.Mode = AddrModeFlat; +#endif + displacement = 0; + process = GetCurrentProcess(); + symInit = SymInitialize(process, "plugins", TRUE); + symbol = (IMAGEHLP_SYMBOL64*) storage; + + for (frame = 0; reportBufferRemaining > 0; frame++) + { + BOOL result = StackWalk(IMAGE_FILE_MACHINE_AMD64, + process, + GetCurrentThread(), + &stack, + &context, + NULL, + SymFunctionTableAccess64, + SymGetModuleBase64, + NULL); + + if (result) + { + symbol->SizeOfStruct = sizeof(storage); + symbol->MaxNameLength = sizeof(symName); + + BOOL symResult = SymGetSymFromAddr64(process, (ULONG64)stack.AddrPC.Offset, &displacement, symbol); + if (symResult) { + UnDecorateSymbolName(symbol->Name, (PSTR)symName, sizeof(symName), UNDNAME_COMPLETE); + } + + written = snprintf( + reportBufferPtr, + reportBufferRemaining, + "%02u 0x%p %s\r\n", + frame, + stack.AddrPC.Offset, + symResult ? symbol->Name : "Unknown" + ); + if (written > 0) + { + if (written <= reportBufferRemaining) + { + reportBufferPtr += written; + reportBufferRemaining -= written; + } + else + { + reportBufferPtr += reportBufferRemaining; + reportBufferRemaining = 0; + } + } + } + else + { + break; + } + } + + // Append log file + if (crashLogger) + { + QString log = crashLogger->getBufferLog(); + log = log.replace('\n', "\r\n"); + written = snprintf(reportBufferPtr, reportBufferRemaining, "Log:\r\n%s\r\n", qPrintable(log)); + if (written > 0) + { + reportBufferPtr += written; + reportBufferRemaining -= written; + } + } + + // Create a window to display the crash report + // Can't use QMessageBox here, as may not work depending where the crash was, so need to use Win32 API + + SetThreadDpiAwarenessContext(DPI_AWARENESS_CONTEXT_SYSTEM_AWARE); // Needed, otherwise GetDpiForWindow always returns 96, rather than the actual value + + wchar_t windowClass[] = L"SDRangel Crash Window Class"; + HMODULE hInstance = GetModuleHandle(NULL); + WNDCLASSEX wc = { }; + + wc.cbSize = sizeof(WNDCLASSEX); + wc.lpfnWndProc = WindowProc; + wc.hInstance = hInstance; + wc.lpszClassName = windowClass; + wc.hCursor = LoadCursor(NULL, IDC_ARROW); + wc.hbrBackground = (HBRUSH) (COLOR_3DFACE + 1); + + RegisterClassEx(&wc); + + hWindow = CreateWindow(windowClass, L"SDRangel Crash", WS_OVERLAPPEDWINDOW, + CW_USEDEFAULT, 0, 640, 500, + NULL, NULL, hInstance, (LPVOID) reportBuffer + ); + if (hWindow) + { + ScaleWindow(); + ShowWindow(hWindow, SW_SHOWNORMAL); + UpdateWindow(hWindow); + + MSG msg; + while (GetMessage(&msg, nullptr, 0, 0)) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + } + else + { + fprintf(stderr, "Failed to create window\n"); + fprintf(stderr, reportBuffer); + } + + delete[] reportBuffer; + + return EXCEPTION_EXECUTE_HANDLER; +} + +void installCrashHandler(qtwebapp::LoggerWithFile *logger) +{ + crashLogger = logger; + SetUnhandledExceptionFilter(crashHandler); +} diff --git a/app/main.cpp b/app/main.cpp index 948a98e18..afe6d0608 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -44,6 +44,7 @@ #include "mainwindow.h" #include "remotetcpsinkstarter.h" #include "dsp/dsptypes.h" +#include "crashhandler.h" static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *logger) { @@ -236,6 +237,10 @@ int main(int argc, char* argv[]) logger->installMsgHandler(); #endif +#ifdef _WIN32 + installCrashHandler(logger); +#endif + int res = runQtApplication(argc, argv, logger); if (logger) { diff --git a/cmake/Modules/CompilerOptions.cmake b/cmake/Modules/CompilerOptions.cmake index 64f84c72a..d5b1d96e2 100644 --- a/cmake/Modules/CompilerOptions.cmake +++ b/cmake/Modules/CompilerOptions.cmake @@ -30,6 +30,12 @@ else() # C4267: 'return': conversion from 'size_t' to 'int', possible loss of data # C4305: 'initializing': truncation from 'double' to 'Real' add_compile_options(/wd4996 /wd4267 /wd4305) + + if(CMAKE_BUILD_TYPE MATCHES "Release") + # Include stripped debug info in release builds so crash handler can generate stack trace with function names + add_compile_options(/Zi) + add_link_options(/Zi /PDBSTRIPPED:$/$stripped.pdb) + endif() endif() if (SANITIZE_ADDRESS) diff --git a/logging/CMakeLists.txt b/logging/CMakeLists.txt index 60ff10132..d724540d4 100644 --- a/logging/CMakeLists.txt +++ b/logging/CMakeLists.txt @@ -1,6 +1,7 @@ project(logging) set(logging_SOURCES + bufferlogger.cpp dualfilelogger.cpp loggerwithfile.cpp filelogger.cpp @@ -9,6 +10,7 @@ set(logging_SOURCES ) set(logging_HEADERS + bufferlogger.h dualfilelogger.h loggerwithfile.h filelogger.h diff --git a/logging/bufferlogger.cpp b/logging/bufferlogger.cpp new file mode 100644 index 000000000..6b072f690 --- /dev/null +++ b/logging/bufferlogger.cpp @@ -0,0 +1,49 @@ +/////////////////////////////////////////////////////////////////////////////////// +// Copyright (C) 2025 Jon Beniston, M7RCE // +// // +// This program is free software; you can redistribute it and/or modify // +// it under the terms of the GNU General Public License as published by // +// the Free Software Foundation as version 3 of the License, or // +// (at your option) any later version. // +// // +// This program is distributed in the hope that it will be useful, // +// but WITHOUT ANY WARRANTY; without even the implied warranty of // +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // +// GNU General Public License V3 for more details. // +// // +// You should have received a copy of the GNU General Public License // +// along with this program. If not, see . // +/////////////////////////////////////////////////////////////////////////////////// + +#include "bufferlogger.h" + +using namespace qtwebapp; + +BufferLogger::BufferLogger(int maxSize, QObject *parent) : + m_maxSize(maxSize) +{ +} + +BufferLogger::~BufferLogger() +{ +} + +void BufferLogger::write(const LogMessage* logMessage) +{ + QString text = qPrintable(logMessage->toString("{timestamp} {type} {msg}", "yyyy-MM-dd HH:mm:ss.zzz")); + m_messages.enqueue(text); + while (m_messages.size() > m_maxSize) { + m_messages.dequeue(); + } +} + +QString BufferLogger::getLog() const +{ + QString log; + + for (const auto s : m_messages) { + log.append(s); + } + + return log; +} diff --git a/logging/bufferlogger.h b/logging/bufferlogger.h new file mode 100644 index 000000000..fa4807e90 --- /dev/null +++ b/logging/bufferlogger.h @@ -0,0 +1,46 @@ +/////////////////////////////////////////////////////////////////////////////////// +// Copyright (C) 2025 Jon Beniston, M7RCE // +// // +// This program is free software; you can redistribute it and/or modify // +// it under the terms of the GNU General Public License as published by // +// the Free Software Foundation as version 3 of the License, or // +// (at your option) any later version. // +// // +// This program is distributed in the hope that it will be useful, // +// but WITHOUT ANY WARRANTY; without even the implied warranty of // +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // +// GNU General Public License V3 for more details. // +// // +// You should have received a copy of the GNU General Public License // +// along with this program. If not, see . // +/////////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include + +#include "logger.h" +#include "export.h" + +namespace qtwebapp { + +// A ring-buffer like logger for holding m_maxSize recent log messages +class LOGGING_API BufferLogger : public Logger { + Q_OBJECT + Q_DISABLE_COPY(BufferLogger) + +public: + BufferLogger(int maxSize, QObject *parent = nullptr); + virtual ~BufferLogger(); + + void write(const LogMessage* logMessage) override; + QString getLog() const; // Get last m_maxSize messages as one big string + +private: + + int m_maxSize; // Maximum number of messages to store + QQueue m_messages; // Queue containing last m_maxSize messages + +}; + +} diff --git a/logging/loggerwithfile.cpp b/logging/loggerwithfile.cpp index c1534316c..2c838be05 100644 --- a/logging/loggerwithfile.cpp +++ b/logging/loggerwithfile.cpp @@ -13,12 +13,14 @@ LoggerWithFile::LoggerWithFile(QObject* parent) :Logger(parent), fileLogger(0), useFileFlogger(false) { consoleLogger = new Logger(this); + bufferLogger = new BufferLogger(500, this); } LoggerWithFile::~LoggerWithFile() { destroyFileLogger(); delete consoleLogger; + delete bufferLogger; } void LoggerWithFile::createOrSetFileLogger(const FileLoggerSettings& settings, const int refreshInterval) @@ -42,6 +44,7 @@ void LoggerWithFile::destroyFileLogger() void LoggerWithFile::log(const QtMsgType type, const QString& message, const QString &file, const QString &function, const int line) { consoleLogger->log(type,message,file,function,line); + bufferLogger->log(type,message,file,function,line); if (fileLogger && useFileFlogger) { fileLogger->log(type,message,file,function,line); @@ -58,6 +61,7 @@ void LoggerWithFile::logToFile(const QtMsgType type, const QString& message, con void LoggerWithFile::clear(const bool buffer, const bool variables) { consoleLogger->clear(buffer,variables); + bufferLogger->clear(buffer,variables); if (fileLogger && useFileFlogger) { fileLogger->clear(buffer,variables); @@ -126,3 +130,8 @@ void LoggerWithFile::getLogFileName(QString& fileName) { fileName = fileLogger->getFileLoggerSettings().fileName; } + +QString LoggerWithFile::getBufferLog() const +{ + return bufferLogger->getLog(); +} diff --git a/logging/loggerwithfile.h b/logging/loggerwithfile.h index 1de8f1b34..74c3b77e9 100644 --- a/logging/loggerwithfile.h +++ b/logging/loggerwithfile.h @@ -11,6 +11,7 @@ #include #include "logger.h" #include "filelogger.h" +#include "bufferlogger.h" #include "export.h" @@ -79,6 +80,9 @@ public: /** This will log to file only */ void logToFile(const QtMsgType type, const QString& message, const QString &file="", const QString &function="", const int line=0); + /** Gets last messages saved in buffer. */ + QString getBufferLog() const; + private: /** First console logger */ Logger* consoleLogger; @@ -86,6 +90,8 @@ private: /** Second file logger */ FileLogger* fileLogger; + BufferLogger* bufferLogger; + /** Use file logger indicator */ bool useFileFlogger; }; diff --git a/plugins/channelmimo/beamsteeringcwmod/CMakeLists.txt b/plugins/channelmimo/beamsteeringcwmod/CMakeLists.txt index 7ce2eec1d..73f0905d6 100644 --- a/plugins/channelmimo/beamsteeringcwmod/CMakeLists.txt +++ b/plugins/channelmimo/beamsteeringcwmod/CMakeLists.txt @@ -67,5 +67,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelmimo/doa2/CMakeLists.txt b/plugins/channelmimo/doa2/CMakeLists.txt index c0d309e05..b5e125e57 100644 --- a/plugins/channelmimo/doa2/CMakeLists.txt +++ b/plugins/channelmimo/doa2/CMakeLists.txt @@ -71,5 +71,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelmimo/interferometer/CMakeLists.txt b/plugins/channelmimo/interferometer/CMakeLists.txt index 211282bdb..09e7a4aad 100644 --- a/plugins/channelmimo/interferometer/CMakeLists.txt +++ b/plugins/channelmimo/interferometer/CMakeLists.txt @@ -69,5 +69,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/chanalyzer/CMakeLists.txt b/plugins/channelrx/chanalyzer/CMakeLists.txt index 792218706..57fb1f188 100644 --- a/plugins/channelrx/chanalyzer/CMakeLists.txt +++ b/plugins/channelrx/chanalyzer/CMakeLists.txt @@ -50,5 +50,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/channelpower/CMakeLists.txt b/plugins/channelrx/channelpower/CMakeLists.txt index b033ed48f..8eda7a16c 100644 --- a/plugins/channelrx/channelpower/CMakeLists.txt +++ b/plugins/channelrx/channelpower/CMakeLists.txt @@ -65,6 +65,7 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodadsb/CMakeLists.txt b/plugins/channelrx/demodadsb/CMakeLists.txt index 2039ed7ef..b44b92d97 100644 --- a/plugins/channelrx/demodadsb/CMakeLists.txt +++ b/plugins/channelrx/demodadsb/CMakeLists.txt @@ -104,10 +104,6 @@ endif() # Install debug symbols if (WIN32) - install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) -endif() - -# Install debug symbols -if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodais/CMakeLists.txt b/plugins/channelrx/demodais/CMakeLists.txt index e88ca9afc..f1b2f00e1 100644 --- a/plugins/channelrx/demodais/CMakeLists.txt +++ b/plugins/channelrx/demodais/CMakeLists.txt @@ -65,6 +65,7 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodam/CMakeLists.txt b/plugins/channelrx/demodam/CMakeLists.txt index cd4fe35cc..6558bff6f 100644 --- a/plugins/channelrx/demodam/CMakeLists.txt +++ b/plugins/channelrx/demodam/CMakeLists.txt @@ -69,5 +69,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodapt/CMakeLists.txt b/plugins/channelrx/demodapt/CMakeLists.txt index 168e20463..acd74afa0 100644 --- a/plugins/channelrx/demodapt/CMakeLists.txt +++ b/plugins/channelrx/demodapt/CMakeLists.txt @@ -86,5 +86,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodatv/CMakeLists.txt b/plugins/channelrx/demodatv/CMakeLists.txt index c824489df..ea49f19c5 100644 --- a/plugins/channelrx/demodatv/CMakeLists.txt +++ b/plugins/channelrx/demodatv/CMakeLists.txt @@ -50,5 +50,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodbfm/CMakeLists.txt b/plugins/channelrx/demodbfm/CMakeLists.txt index 02b087467..2fe424f15 100644 --- a/plugins/channelrx/demodbfm/CMakeLists.txt +++ b/plugins/channelrx/demodbfm/CMakeLists.txt @@ -77,5 +77,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodchirpchat/CMakeLists.txt b/plugins/channelrx/demodchirpchat/CMakeLists.txt index 5485a8e58..66b63ebc5 100644 --- a/plugins/channelrx/demodchirpchat/CMakeLists.txt +++ b/plugins/channelrx/demodchirpchat/CMakeLists.txt @@ -83,5 +83,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demoddab/CMakeLists.txt b/plugins/channelrx/demoddab/CMakeLists.txt index ecb35ca4e..12040d4a2 100644 --- a/plugins/channelrx/demoddab/CMakeLists.txt +++ b/plugins/channelrx/demoddab/CMakeLists.txt @@ -71,5 +71,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demoddatv/CMakeLists.txt b/plugins/channelrx/demoddatv/CMakeLists.txt index 100fab375..2a1994719 100644 --- a/plugins/channelrx/demoddatv/CMakeLists.txt +++ b/plugins/channelrx/demoddatv/CMakeLists.txt @@ -117,5 +117,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demoddsc/CMakeLists.txt b/plugins/channelrx/demoddsc/CMakeLists.txt index a1134d692..b9c6aa8bc 100644 --- a/plugins/channelrx/demoddsc/CMakeLists.txt +++ b/plugins/channelrx/demoddsc/CMakeLists.txt @@ -67,5 +67,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demoddsd/CMakeLists.txt b/plugins/channelrx/demoddsd/CMakeLists.txt index a543d31d5..861f7a6cd 100644 --- a/plugins/channelrx/demoddsd/CMakeLists.txt +++ b/plugins/channelrx/demoddsd/CMakeLists.txt @@ -80,5 +80,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodendoftrain/CMakeLists.txt b/plugins/channelrx/demodendoftrain/CMakeLists.txt index 917eef919..4b940595e 100644 --- a/plugins/channelrx/demodendoftrain/CMakeLists.txt +++ b/plugins/channelrx/demodendoftrain/CMakeLists.txt @@ -67,5 +67,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodfreedv/CMakeLists.txt b/plugins/channelrx/demodfreedv/CMakeLists.txt index 673337efc..73163e35e 100644 --- a/plugins/channelrx/demodfreedv/CMakeLists.txt +++ b/plugins/channelrx/demodfreedv/CMakeLists.txt @@ -71,5 +71,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodft8/CMakeLists.txt b/plugins/channelrx/demodft8/CMakeLists.txt index a19e51b5b..dd61d0e27 100644 --- a/plugins/channelrx/demodft8/CMakeLists.txt +++ b/plugins/channelrx/demodft8/CMakeLists.txt @@ -77,5 +77,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodils/CMakeLists.txt b/plugins/channelrx/demodils/CMakeLists.txt index 920b150c0..614b076f9 100644 --- a/plugins/channelrx/demodils/CMakeLists.txt +++ b/plugins/channelrx/demodils/CMakeLists.txt @@ -65,5 +65,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodm17/CMakeLists.txt b/plugins/channelrx/demodm17/CMakeLists.txt index 44f523584..68592f9c9 100644 --- a/plugins/channelrx/demodm17/CMakeLists.txt +++ b/plugins/channelrx/demodm17/CMakeLists.txt @@ -82,5 +82,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodnavtex/CMakeLists.txt b/plugins/channelrx/demodnavtex/CMakeLists.txt index 463589f80..1cdf4acc4 100644 --- a/plugins/channelrx/demodnavtex/CMakeLists.txt +++ b/plugins/channelrx/demodnavtex/CMakeLists.txt @@ -65,5 +65,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodnfm/CMakeLists.txt b/plugins/channelrx/demodnfm/CMakeLists.txt index 88c609775..9676fab8b 100644 --- a/plugins/channelrx/demodnfm/CMakeLists.txt +++ b/plugins/channelrx/demodnfm/CMakeLists.txt @@ -71,5 +71,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodpacket/CMakeLists.txt b/plugins/channelrx/demodpacket/CMakeLists.txt index 3d3b9b6f3..797e0319a 100644 --- a/plugins/channelrx/demodpacket/CMakeLists.txt +++ b/plugins/channelrx/demodpacket/CMakeLists.txt @@ -65,5 +65,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodpager/CMakeLists.txt b/plugins/channelrx/demodpager/CMakeLists.txt index b92fa7c8e..e47b048b8 100644 --- a/plugins/channelrx/demodpager/CMakeLists.txt +++ b/plugins/channelrx/demodpager/CMakeLists.txt @@ -77,5 +77,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodradiosonde/CMakeLists.txt b/plugins/channelrx/demodradiosonde/CMakeLists.txt index 044656cc6..8e5557a5e 100644 --- a/plugins/channelrx/demodradiosonde/CMakeLists.txt +++ b/plugins/channelrx/demodradiosonde/CMakeLists.txt @@ -65,10 +65,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) - install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) -endif() - -# Install debug symbols -if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodrtty/CMakeLists.txt b/plugins/channelrx/demodrtty/CMakeLists.txt index d49d325e2..2e67f2c97 100644 --- a/plugins/channelrx/demodrtty/CMakeLists.txt +++ b/plugins/channelrx/demodrtty/CMakeLists.txt @@ -65,5 +65,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodssb/CMakeLists.txt b/plugins/channelrx/demodssb/CMakeLists.txt index 7ece1553d..38c60d8fa 100644 --- a/plugins/channelrx/demodssb/CMakeLists.txt +++ b/plugins/channelrx/demodssb/CMakeLists.txt @@ -65,5 +65,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodvor/CMakeLists.txt b/plugins/channelrx/demodvor/CMakeLists.txt index e3c638bfe..8a99291d9 100644 --- a/plugins/channelrx/demodvor/CMakeLists.txt +++ b/plugins/channelrx/demodvor/CMakeLists.txt @@ -67,5 +67,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodvormc/CMakeLists.txt b/plugins/channelrx/demodvormc/CMakeLists.txt index 9ff536cc2..61ae76490 100644 --- a/plugins/channelrx/demodvormc/CMakeLists.txt +++ b/plugins/channelrx/demodvormc/CMakeLists.txt @@ -66,5 +66,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/demodwfm/CMakeLists.txt b/plugins/channelrx/demodwfm/CMakeLists.txt index 544615e44..e8348083a 100644 --- a/plugins/channelrx/demodwfm/CMakeLists.txt +++ b/plugins/channelrx/demodwfm/CMakeLists.txt @@ -65,5 +65,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/filesink/CMakeLists.txt b/plugins/channelrx/filesink/CMakeLists.txt index f51ee01db..38a48d592 100644 --- a/plugins/channelrx/filesink/CMakeLists.txt +++ b/plugins/channelrx/filesink/CMakeLists.txt @@ -69,5 +69,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/freqscanner/CMakeLists.txt b/plugins/channelrx/freqscanner/CMakeLists.txt index aba79ca0d..7da5665af 100644 --- a/plugins/channelrx/freqscanner/CMakeLists.txt +++ b/plugins/channelrx/freqscanner/CMakeLists.txt @@ -68,5 +68,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/freqtracker/CMakeLists.txt b/plugins/channelrx/freqtracker/CMakeLists.txt index db9e529ca..f6c97a1c9 100644 --- a/plugins/channelrx/freqtracker/CMakeLists.txt +++ b/plugins/channelrx/freqtracker/CMakeLists.txt @@ -68,5 +68,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/heatmap/CMakeLists.txt b/plugins/channelrx/heatmap/CMakeLists.txt index 141198932..fb7046984 100644 --- a/plugins/channelrx/heatmap/CMakeLists.txt +++ b/plugins/channelrx/heatmap/CMakeLists.txt @@ -65,10 +65,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) - install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) -endif() - -# Install debug symbols -if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/localsink/CMakeLists.txt b/plugins/channelrx/localsink/CMakeLists.txt index e8b9e4bb0..52ef12b32 100644 --- a/plugins/channelrx/localsink/CMakeLists.txt +++ b/plugins/channelrx/localsink/CMakeLists.txt @@ -68,5 +68,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/noisefigure/CMakeLists.txt b/plugins/channelrx/noisefigure/CMakeLists.txt index 1de6bc246..361d6d2da 100644 --- a/plugins/channelrx/noisefigure/CMakeLists.txt +++ b/plugins/channelrx/noisefigure/CMakeLists.txt @@ -72,5 +72,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/radioastronomy/CMakeLists.txt b/plugins/channelrx/radioastronomy/CMakeLists.txt index 8834d3bec..8c8864e72 100644 --- a/plugins/channelrx/radioastronomy/CMakeLists.txt +++ b/plugins/channelrx/radioastronomy/CMakeLists.txt @@ -74,5 +74,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/radioclock/CMakeLists.txt b/plugins/channelrx/radioclock/CMakeLists.txt index 0e46fcf0b..0ef1c5b1d 100644 --- a/plugins/channelrx/radioclock/CMakeLists.txt +++ b/plugins/channelrx/radioclock/CMakeLists.txt @@ -65,5 +65,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/remotesink/CMakeLists.txt b/plugins/channelrx/remotesink/CMakeLists.txt index fc5a61e35..d8d131e20 100644 --- a/plugins/channelrx/remotesink/CMakeLists.txt +++ b/plugins/channelrx/remotesink/CMakeLists.txt @@ -77,5 +77,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/remotetcpsink/CMakeLists.txt b/plugins/channelrx/remotetcpsink/CMakeLists.txt index a5750a799..1e36d7692 100644 --- a/plugins/channelrx/remotetcpsink/CMakeLists.txt +++ b/plugins/channelrx/remotetcpsink/CMakeLists.txt @@ -74,5 +74,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/sigmffilesink/CMakeLists.txt b/plugins/channelrx/sigmffilesink/CMakeLists.txt index 1c24a7452..74305179e 100644 --- a/plugins/channelrx/sigmffilesink/CMakeLists.txt +++ b/plugins/channelrx/sigmffilesink/CMakeLists.txt @@ -68,5 +68,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/udpsink/CMakeLists.txt b/plugins/channelrx/udpsink/CMakeLists.txt index 206185891..fc9cd4c46 100644 --- a/plugins/channelrx/udpsink/CMakeLists.txt +++ b/plugins/channelrx/udpsink/CMakeLists.txt @@ -67,5 +67,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channelrx/wdsprx/CMakeLists.txt b/plugins/channelrx/wdsprx/CMakeLists.txt index 0f48d4f1a..96c7f720e 100644 --- a/plugins/channelrx/wdsprx/CMakeLists.txt +++ b/plugins/channelrx/wdsprx/CMakeLists.txt @@ -95,5 +95,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channeltx/filesource/CMakeLists.txt b/plugins/channeltx/filesource/CMakeLists.txt index 123b0b5ca..2f20e06b3 100644 --- a/plugins/channeltx/filesource/CMakeLists.txt +++ b/plugins/channeltx/filesource/CMakeLists.txt @@ -69,5 +69,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channeltx/localsource/CMakeLists.txt b/plugins/channeltx/localsource/CMakeLists.txt index 1d151c00c..e0b12cb88 100644 --- a/plugins/channeltx/localsource/CMakeLists.txt +++ b/plugins/channeltx/localsource/CMakeLists.txt @@ -70,5 +70,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channeltx/mod802.15.4/CMakeLists.txt b/plugins/channeltx/mod802.15.4/CMakeLists.txt index 9715da34d..27d7c4f89 100644 --- a/plugins/channeltx/mod802.15.4/CMakeLists.txt +++ b/plugins/channeltx/mod802.15.4/CMakeLists.txt @@ -73,5 +73,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channeltx/modais/CMakeLists.txt b/plugins/channeltx/modais/CMakeLists.txt index 42ccc107d..8c6dba524 100644 --- a/plugins/channeltx/modais/CMakeLists.txt +++ b/plugins/channeltx/modais/CMakeLists.txt @@ -71,5 +71,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channeltx/modam/CMakeLists.txt b/plugins/channeltx/modam/CMakeLists.txt index ea54bb913..586f2f66b 100644 --- a/plugins/channeltx/modam/CMakeLists.txt +++ b/plugins/channeltx/modam/CMakeLists.txt @@ -67,5 +67,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channeltx/modatv/CMakeLists.txt b/plugins/channeltx/modatv/CMakeLists.txt index d6c2f9c27..97f07e3f6 100644 --- a/plugins/channeltx/modatv/CMakeLists.txt +++ b/plugins/channeltx/modatv/CMakeLists.txt @@ -75,5 +75,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channeltx/modchirpchat/CMakeLists.txt b/plugins/channeltx/modchirpchat/CMakeLists.txt index e9b3722ed..206d55052 100644 --- a/plugins/channeltx/modchirpchat/CMakeLists.txt +++ b/plugins/channeltx/modchirpchat/CMakeLists.txt @@ -83,5 +83,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channeltx/moddatv/CMakeLists.txt b/plugins/channeltx/moddatv/CMakeLists.txt index 23d5a1aad..becacb477 100644 --- a/plugins/channeltx/moddatv/CMakeLists.txt +++ b/plugins/channeltx/moddatv/CMakeLists.txt @@ -101,5 +101,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channeltx/modfreedv/CMakeLists.txt b/plugins/channeltx/modfreedv/CMakeLists.txt index 0e4a168fa..a29c70b32 100644 --- a/plugins/channeltx/modfreedv/CMakeLists.txt +++ b/plugins/channeltx/modfreedv/CMakeLists.txt @@ -71,5 +71,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channeltx/modm17/CMakeLists.txt b/plugins/channeltx/modm17/CMakeLists.txt index 6eab68747..7642f645b 100644 --- a/plugins/channeltx/modm17/CMakeLists.txt +++ b/plugins/channeltx/modm17/CMakeLists.txt @@ -82,5 +82,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channeltx/modnfm/CMakeLists.txt b/plugins/channeltx/modnfm/CMakeLists.txt index 80644c10a..7306dc787 100644 --- a/plugins/channeltx/modnfm/CMakeLists.txt +++ b/plugins/channeltx/modnfm/CMakeLists.txt @@ -69,5 +69,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channeltx/modpacket/CMakeLists.txt b/plugins/channeltx/modpacket/CMakeLists.txt index 7d2431793..39bf380e9 100644 --- a/plugins/channeltx/modpacket/CMakeLists.txt +++ b/plugins/channeltx/modpacket/CMakeLists.txt @@ -74,5 +74,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channeltx/modpsk31/CMakeLists.txt b/plugins/channeltx/modpsk31/CMakeLists.txt index f0c56cbef..9bfc05db1 100644 --- a/plugins/channeltx/modpsk31/CMakeLists.txt +++ b/plugins/channeltx/modpsk31/CMakeLists.txt @@ -71,5 +71,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channeltx/modrtty/CMakeLists.txt b/plugins/channeltx/modrtty/CMakeLists.txt index f562a4eab..39ea41240 100644 --- a/plugins/channeltx/modrtty/CMakeLists.txt +++ b/plugins/channeltx/modrtty/CMakeLists.txt @@ -71,5 +71,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channeltx/modssb/CMakeLists.txt b/plugins/channeltx/modssb/CMakeLists.txt index e09fab781..067aa5f73 100644 --- a/plugins/channeltx/modssb/CMakeLists.txt +++ b/plugins/channeltx/modssb/CMakeLists.txt @@ -67,5 +67,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channeltx/modwfm/CMakeLists.txt b/plugins/channeltx/modwfm/CMakeLists.txt index 5f35850ad..22212ab61 100644 --- a/plugins/channeltx/modwfm/CMakeLists.txt +++ b/plugins/channeltx/modwfm/CMakeLists.txt @@ -67,5 +67,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channeltx/remotesource/CMakeLists.txt b/plugins/channeltx/remotesource/CMakeLists.txt index 8ac5c32ad..8b3241ce1 100644 --- a/plugins/channeltx/remotesource/CMakeLists.txt +++ b/plugins/channeltx/remotesource/CMakeLists.txt @@ -77,5 +77,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/channeltx/udpsource/CMakeLists.txt b/plugins/channeltx/udpsource/CMakeLists.txt index 012f0e8eb..8491fbae2 100644 --- a/plugins/channeltx/udpsource/CMakeLists.txt +++ b/plugins/channeltx/udpsource/CMakeLists.txt @@ -72,5 +72,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplemimo/audiocatsiso/CMakeLists.txt b/plugins/samplemimo/audiocatsiso/CMakeLists.txt index 1b86270f2..a35c11e06 100644 --- a/plugins/samplemimo/audiocatsiso/CMakeLists.txt +++ b/plugins/samplemimo/audiocatsiso/CMakeLists.txt @@ -75,5 +75,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplemimo/bladerf2mimo/CMakeLists.txt b/plugins/samplemimo/bladerf2mimo/CMakeLists.txt index 5ed9afbb7..7d05a6539 100644 --- a/plugins/samplemimo/bladerf2mimo/CMakeLists.txt +++ b/plugins/samplemimo/bladerf2mimo/CMakeLists.txt @@ -73,5 +73,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplemimo/limesdrmimo/CMakeLists.txt b/plugins/samplemimo/limesdrmimo/CMakeLists.txt index fe538e32b..1dc17caed 100644 --- a/plugins/samplemimo/limesdrmimo/CMakeLists.txt +++ b/plugins/samplemimo/limesdrmimo/CMakeLists.txt @@ -73,5 +73,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplemimo/metismiso/CMakeLists.txt b/plugins/samplemimo/metismiso/CMakeLists.txt index b7bd1ffac..12b425fd1 100644 --- a/plugins/samplemimo/metismiso/CMakeLists.txt +++ b/plugins/samplemimo/metismiso/CMakeLists.txt @@ -67,5 +67,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplemimo/plutosdrmimo/CMakeLists.txt b/plugins/samplemimo/plutosdrmimo/CMakeLists.txt index a458b73bb..39d0bb728 100644 --- a/plugins/samplemimo/plutosdrmimo/CMakeLists.txt +++ b/plugins/samplemimo/plutosdrmimo/CMakeLists.txt @@ -73,5 +73,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplemimo/testmi/CMakeLists.txt b/plugins/samplemimo/testmi/CMakeLists.txt index 7f8f842e8..27e5ec434 100644 --- a/plugins/samplemimo/testmi/CMakeLists.txt +++ b/plugins/samplemimo/testmi/CMakeLists.txt @@ -63,5 +63,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplemimo/testmosync/CMakeLists.txt b/plugins/samplemimo/testmosync/CMakeLists.txt index 704207aae..5bc8e79f9 100644 --- a/plugins/samplemimo/testmosync/CMakeLists.txt +++ b/plugins/samplemimo/testmosync/CMakeLists.txt @@ -62,5 +62,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplemimo/xtrxmimo/CMakeLists.txt b/plugins/samplemimo/xtrxmimo/CMakeLists.txt index 63c3b23bc..dd4d4d921 100644 --- a/plugins/samplemimo/xtrxmimo/CMakeLists.txt +++ b/plugins/samplemimo/xtrxmimo/CMakeLists.txt @@ -63,5 +63,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesink/aaroniartsaoutput/CMakeLists.txt b/plugins/samplesink/aaroniartsaoutput/CMakeLists.txt index 3c5a9acc4..0224a1251 100644 --- a/plugins/samplesink/aaroniartsaoutput/CMakeLists.txt +++ b/plugins/samplesink/aaroniartsaoutput/CMakeLists.txt @@ -64,5 +64,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesink/audiooutput/CMakeLists.txt b/plugins/samplesink/audiooutput/CMakeLists.txt index 6ab7ed6bf..8c6753699 100644 --- a/plugins/samplesink/audiooutput/CMakeLists.txt +++ b/plugins/samplesink/audiooutput/CMakeLists.txt @@ -68,5 +68,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesink/bladerf1output/CMakeLists.txt b/plugins/samplesink/bladerf1output/CMakeLists.txt index 9286e90a1..45ecf75b7 100644 --- a/plugins/samplesink/bladerf1output/CMakeLists.txt +++ b/plugins/samplesink/bladerf1output/CMakeLists.txt @@ -73,5 +73,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesink/bladerf2output/CMakeLists.txt b/plugins/samplesink/bladerf2output/CMakeLists.txt index 099df1855..dcac61b0f 100644 --- a/plugins/samplesink/bladerf2output/CMakeLists.txt +++ b/plugins/samplesink/bladerf2output/CMakeLists.txt @@ -73,5 +73,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesink/fileoutput/CMakeLists.txt b/plugins/samplesink/fileoutput/CMakeLists.txt index b62d3ca26..e01c67429 100644 --- a/plugins/samplesink/fileoutput/CMakeLists.txt +++ b/plugins/samplesink/fileoutput/CMakeLists.txt @@ -64,5 +64,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesink/hackrfoutput/CMakeLists.txt b/plugins/samplesink/hackrfoutput/CMakeLists.txt index 33e5c6c9a..4009ff241 100644 --- a/plugins/samplesink/hackrfoutput/CMakeLists.txt +++ b/plugins/samplesink/hackrfoutput/CMakeLists.txt @@ -69,5 +69,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesink/limesdroutput/CMakeLists.txt b/plugins/samplesink/limesdroutput/CMakeLists.txt index 520ca9167..c7acd55c9 100644 --- a/plugins/samplesink/limesdroutput/CMakeLists.txt +++ b/plugins/samplesink/limesdroutput/CMakeLists.txt @@ -73,5 +73,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesink/localoutput/CMakeLists.txt b/plugins/samplesink/localoutput/CMakeLists.txt index bbafa9fbb..4d5909f11 100644 --- a/plugins/samplesink/localoutput/CMakeLists.txt +++ b/plugins/samplesink/localoutput/CMakeLists.txt @@ -63,5 +63,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesink/plutosdroutput/CMakeLists.txt b/plugins/samplesink/plutosdroutput/CMakeLists.txt index f98bb2db3..c12a20134 100644 --- a/plugins/samplesink/plutosdroutput/CMakeLists.txt +++ b/plugins/samplesink/plutosdroutput/CMakeLists.txt @@ -73,5 +73,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesink/remoteoutput/CMakeLists.txt b/plugins/samplesink/remoteoutput/CMakeLists.txt index a2dca61fa..e67206ba1 100644 --- a/plugins/samplesink/remoteoutput/CMakeLists.txt +++ b/plugins/samplesink/remoteoutput/CMakeLists.txt @@ -77,5 +77,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesink/soapysdroutput/CMakeLists.txt b/plugins/samplesink/soapysdroutput/CMakeLists.txt index 57488324f..93825f412 100644 --- a/plugins/samplesink/soapysdroutput/CMakeLists.txt +++ b/plugins/samplesink/soapysdroutput/CMakeLists.txt @@ -74,5 +74,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesink/testsink/CMakeLists.txt b/plugins/samplesink/testsink/CMakeLists.txt index e7665a8a9..bed6fe14f 100644 --- a/plugins/samplesink/testsink/CMakeLists.txt +++ b/plugins/samplesink/testsink/CMakeLists.txt @@ -62,5 +62,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesink/usrpoutput/CMakeLists.txt b/plugins/samplesink/usrpoutput/CMakeLists.txt index 6808a8f71..a25ed4f78 100644 --- a/plugins/samplesink/usrpoutput/CMakeLists.txt +++ b/plugins/samplesink/usrpoutput/CMakeLists.txt @@ -72,5 +72,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesink/xtrxoutput/CMakeLists.txt b/plugins/samplesink/xtrxoutput/CMakeLists.txt index ce24b1e37..286ae77a8 100644 --- a/plugins/samplesink/xtrxoutput/CMakeLists.txt +++ b/plugins/samplesink/xtrxoutput/CMakeLists.txt @@ -68,5 +68,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/aaroniartsainput/CMakeLists.txt b/plugins/samplesource/aaroniartsainput/CMakeLists.txt index 76e3e1298..8a5600a6f 100644 --- a/plugins/samplesource/aaroniartsainput/CMakeLists.txt +++ b/plugins/samplesource/aaroniartsainput/CMakeLists.txt @@ -65,5 +65,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/airspy/CMakeLists.txt b/plugins/samplesource/airspy/CMakeLists.txt index 764c8af45..e3c1c6369 100644 --- a/plugins/samplesource/airspy/CMakeLists.txt +++ b/plugins/samplesource/airspy/CMakeLists.txt @@ -71,5 +71,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/airspyhf/CMakeLists.txt b/plugins/samplesource/airspyhf/CMakeLists.txt index 7b9df67c2..a6ba3c465 100644 --- a/plugins/samplesource/airspyhf/CMakeLists.txt +++ b/plugins/samplesource/airspyhf/CMakeLists.txt @@ -72,5 +72,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/androidsdrdriverinput/CMakeLists.txt b/plugins/samplesource/androidsdrdriverinput/CMakeLists.txt index de5b15d19..39568148a 100644 --- a/plugins/samplesource/androidsdrdriverinput/CMakeLists.txt +++ b/plugins/samplesource/androidsdrdriverinput/CMakeLists.txt @@ -67,5 +67,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/audioinput/CMakeLists.txt b/plugins/samplesource/audioinput/CMakeLists.txt index 258727e04..742e10e58 100644 --- a/plugins/samplesource/audioinput/CMakeLists.txt +++ b/plugins/samplesource/audioinput/CMakeLists.txt @@ -68,5 +68,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/bladerf1input/CMakeLists.txt b/plugins/samplesource/bladerf1input/CMakeLists.txt index 5a8ac0916..30ecdcd37 100644 --- a/plugins/samplesource/bladerf1input/CMakeLists.txt +++ b/plugins/samplesource/bladerf1input/CMakeLists.txt @@ -72,5 +72,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/bladerf2input/CMakeLists.txt b/plugins/samplesource/bladerf2input/CMakeLists.txt index 1258caf4e..08edd62b4 100644 --- a/plugins/samplesource/bladerf2input/CMakeLists.txt +++ b/plugins/samplesource/bladerf2input/CMakeLists.txt @@ -73,5 +73,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/fcdpro/CMakeLists.txt b/plugins/samplesource/fcdpro/CMakeLists.txt index 953820ea4..dea327b72 100644 --- a/plugins/samplesource/fcdpro/CMakeLists.txt +++ b/plugins/samplesource/fcdpro/CMakeLists.txt @@ -70,5 +70,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/fcdproplus/CMakeLists.txt b/plugins/samplesource/fcdproplus/CMakeLists.txt index de31caaa8..a0714cd4e 100644 --- a/plugins/samplesource/fcdproplus/CMakeLists.txt +++ b/plugins/samplesource/fcdproplus/CMakeLists.txt @@ -70,5 +70,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/fileinput/CMakeLists.txt b/plugins/samplesource/fileinput/CMakeLists.txt index 1a55d25eb..1270f7c3e 100644 --- a/plugins/samplesource/fileinput/CMakeLists.txt +++ b/plugins/samplesource/fileinput/CMakeLists.txt @@ -67,5 +67,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/hackrfinput/CMakeLists.txt b/plugins/samplesource/hackrfinput/CMakeLists.txt index 3c1023c0c..d9151d0d1 100644 --- a/plugins/samplesource/hackrfinput/CMakeLists.txt +++ b/plugins/samplesource/hackrfinput/CMakeLists.txt @@ -69,5 +69,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/kiwisdr/CMakeLists.txt b/plugins/samplesource/kiwisdr/CMakeLists.txt index f8488109b..8e3df693a 100644 --- a/plugins/samplesource/kiwisdr/CMakeLists.txt +++ b/plugins/samplesource/kiwisdr/CMakeLists.txt @@ -69,5 +69,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/limesdrinput/CMakeLists.txt b/plugins/samplesource/limesdrinput/CMakeLists.txt index 440f374ee..59df717d5 100644 --- a/plugins/samplesource/limesdrinput/CMakeLists.txt +++ b/plugins/samplesource/limesdrinput/CMakeLists.txt @@ -76,5 +76,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/localinput/CMakeLists.txt b/plugins/samplesource/localinput/CMakeLists.txt index 1058a50ce..1fb017e6a 100644 --- a/plugins/samplesource/localinput/CMakeLists.txt +++ b/plugins/samplesource/localinput/CMakeLists.txt @@ -68,5 +68,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/perseus/CMakeLists.txt b/plugins/samplesource/perseus/CMakeLists.txt index f48757493..ebc672828 100644 --- a/plugins/samplesource/perseus/CMakeLists.txt +++ b/plugins/samplesource/perseus/CMakeLists.txt @@ -74,5 +74,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/plutosdrinput/CMakeLists.txt b/plugins/samplesource/plutosdrinput/CMakeLists.txt index 7fb06e95a..9cec34d87 100644 --- a/plugins/samplesource/plutosdrinput/CMakeLists.txt +++ b/plugins/samplesource/plutosdrinput/CMakeLists.txt @@ -73,5 +73,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/remoteinput/CMakeLists.txt b/plugins/samplesource/remoteinput/CMakeLists.txt index b9fe252ae..e0f875787 100644 --- a/plugins/samplesource/remoteinput/CMakeLists.txt +++ b/plugins/samplesource/remoteinput/CMakeLists.txt @@ -73,5 +73,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/remotetcpinput/CMakeLists.txt b/plugins/samplesource/remotetcpinput/CMakeLists.txt index 644c5c144..9dc957feb 100644 --- a/plugins/samplesource/remotetcpinput/CMakeLists.txt +++ b/plugins/samplesource/remotetcpinput/CMakeLists.txt @@ -70,5 +70,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/rtlsdr/CMakeLists.txt b/plugins/samplesource/rtlsdr/CMakeLists.txt index f002f814d..dd8b4a6ed 100644 --- a/plugins/samplesource/rtlsdr/CMakeLists.txt +++ b/plugins/samplesource/rtlsdr/CMakeLists.txt @@ -71,5 +71,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/sdrplay/CMakeLists.txt b/plugins/samplesource/sdrplay/CMakeLists.txt index bdb6ca46a..37a722a8d 100644 --- a/plugins/samplesource/sdrplay/CMakeLists.txt +++ b/plugins/samplesource/sdrplay/CMakeLists.txt @@ -71,5 +71,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/sdrplayv3/CMakeLists.txt b/plugins/samplesource/sdrplayv3/CMakeLists.txt index 5930163f6..855c2a15f 100644 --- a/plugins/samplesource/sdrplayv3/CMakeLists.txt +++ b/plugins/samplesource/sdrplayv3/CMakeLists.txt @@ -76,5 +76,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/sigmffileinput/CMakeLists.txt b/plugins/samplesource/sigmffileinput/CMakeLists.txt index b19faad4d..e2d278611 100644 --- a/plugins/samplesource/sigmffileinput/CMakeLists.txt +++ b/plugins/samplesource/sigmffileinput/CMakeLists.txt @@ -79,5 +79,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/soapysdrinput/CMakeLists.txt b/plugins/samplesource/soapysdrinput/CMakeLists.txt index 62902997a..df0ded896 100644 --- a/plugins/samplesource/soapysdrinput/CMakeLists.txt +++ b/plugins/samplesource/soapysdrinput/CMakeLists.txt @@ -74,5 +74,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/testsource/CMakeLists.txt b/plugins/samplesource/testsource/CMakeLists.txt index d5da7f4bc..b62a8b804 100644 --- a/plugins/samplesource/testsource/CMakeLists.txt +++ b/plugins/samplesource/testsource/CMakeLists.txt @@ -65,5 +65,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/usrpinput/CMakeLists.txt b/plugins/samplesource/usrpinput/CMakeLists.txt index faecbcaec..eefab7e39 100644 --- a/plugins/samplesource/usrpinput/CMakeLists.txt +++ b/plugins/samplesource/usrpinput/CMakeLists.txt @@ -73,5 +73,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/plugins/samplesource/xtrxinput/CMakeLists.txt b/plugins/samplesource/xtrxinput/CMakeLists.txt index 2c44df46a..e3146d3ce 100644 --- a/plugins/samplesource/xtrxinput/CMakeLists.txt +++ b/plugins/samplesource/xtrxinput/CMakeLists.txt @@ -69,5 +69,6 @@ install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) # Install debug symbols if (WIN32) + install(FILES $/${TARGET_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_FOLDER} RENAME ${TARGET_NAME}.pdb ) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_FOLDER} ) endif() diff --git a/sdrbase/CMakeLists.txt b/sdrbase/CMakeLists.txt index e07ed93ef..87f77b2a9 100644 --- a/sdrbase/CMakeLists.txt +++ b/sdrbase/CMakeLists.txt @@ -50,7 +50,7 @@ endif() # CUDA Toolkit: https://developer.nvidia.com/cuda-downloads if (${VKFFT_BACKEND} EQUAL 1) - find_package(CUDAToolkit) + find_package(CUDAToolkit) if(CUDA_FOUND) enable_language(CUDA) set(sdrbase_SOURCES @@ -732,5 +732,6 @@ endif() # Install debug symbols if (WIN32) + install(FILES $/sdrbasestripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_LIB_DIR} RENAME sdrbase.pdb) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_LIB_DIR} ) endif() diff --git a/sdrgui/CMakeLists.txt b/sdrgui/CMakeLists.txt index fc8e1b3d2..321474cfb 100644 --- a/sdrgui/CMakeLists.txt +++ b/sdrgui/CMakeLists.txt @@ -367,5 +367,6 @@ endif() # Install debug symbols if (WIN32) + install(FILES $/sdrguistripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_LIB_DIR} RENAME sdrgui.pdb) install(FILES $ CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_LIB_DIR} ) endif()