From c666375867e188f996e3bc0b56b1273daaa60483 Mon Sep 17 00:00:00 2001 From: Alexander Wenzel Date: Tue, 11 Jan 2022 19:35:23 +0100 Subject: [PATCH] Update to Qt 5.12.12, Visual Studio 2017 Build Tools, simplify and cmake (#239) Signed-off-by: Alexander Wenzel --- .github/workflows/BuildPR.yml | 2 +- .github/workflows/Release.yml | 2 +- INSTALL.md | 66 ++-- README.md | 5 +- build_parser_windows_qt5_MSVC.bat | 55 ++-- build_qwt_windows_qt5_MSVC.bat | 71 ++--- build_sdk_windows_qt5_MSVC.bat | 61 ++-- build_sdk_windows_qt5_MSVC_cmake.bat | 287 ++++++++++++++++++ ...sdk_windows_qt5_MSVC_cmake_interactive.bat | 4 + plugin/CMakeLists.txt | 1 + plugin/dlttestrobotplugin/CMakeLists.txt | 6 +- 11 files changed, 393 insertions(+), 167 deletions(-) create mode 100644 build_sdk_windows_qt5_MSVC_cmake.bat create mode 100644 build_sdk_windows_qt5_MSVC_cmake_interactive.bat diff --git a/.github/workflows/BuildPR.yml b/.github/workflows/BuildPR.yml index 56d95e89..fe07f886 100644 --- a/.github/workflows/BuildPR.yml +++ b/.github/workflows/BuildPR.yml @@ -78,7 +78,7 @@ jobs: - name: Install qt uses: jurplel/install-qt-action@v2 with: - version: 5.12.10 + version: 5.12.12 - name: Build ${{ matrix.task }} run: $env:WORKSPACE=$env:GITHUB_WORKSPACE; $env:QTDIR=$env:Qt5_DIR.Replace('/','\'); ./build_${{ matrix.task }}_windows_qt5_MSVC.bat - name: Archive artifact diff --git a/.github/workflows/Release.yml b/.github/workflows/Release.yml index ed82d79f..a3be7847 100644 --- a/.github/workflows/Release.yml +++ b/.github/workflows/Release.yml @@ -78,7 +78,7 @@ jobs: uses: jurplel/install-qt-action@v2 with: mirror: http://ftp.fau.de/qtproject/ - version: 5.12.10 + version: 5.12.12 - name: Build ${{ matrix.task }} run: $env:WORKSPACE=$env:GITHUB_WORKSPACE; $env:QTDIR=$env:Qt5_DIR.Replace('/','\'); ./build_${{ matrix.task }}_windows_qt5_MSVC.bat - name: Archive artifact diff --git a/INSTALL.md b/INSTALL.md index f00c1697..755f420f 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,19 +1,17 @@ -DLT Viewer - Installation -========================= +# DLT Viewer - Installation + Alexander Wenzel -Instructions for installing DLT Viewer (GUI) --------------------------------------------- +## Instructions for installing DLT Viewer (GUI) -* Install Qt5 SDK including Qt Creator and MSVC 2015 for 64bit Windows builds -* Tested with QT 5.12.4 (Windows) and Qt 5.9.5 (Ubuntu Linux) +* Install Qt5 SDK including Qt Creator and Microsoft Visual Studio Build Tools 2017 +* Tested with QT 5.12.12 (Windows) and Qt 5.9.5 (Ubuntu Linux) * Open project BuildDltViewer.pro in Qt Creator. * Ensure that build options point to correct QT and MSVC. * Build Release in Qt Creator or via CMake (see last). * Optional Linux: set the library path in Qt Creator: Add variable to Projects/Build Settings/Build Environment: LD_LIBRARY_PATH = . -Instructions for installing DLT Viewer (Linux command line) ----------------------------------------------------------- +## Instructions for installing DLT Viewer (Linux command line) * sudo apt install build-essential * sudo apt install qtcreator @@ -27,45 +25,31 @@ Instructions for installing DLT Viewer (Linux command line) * sudo ldconfig * Optional: set the library path: LD_LIBRARY_PATH = . -Create SDK (Windows) --------------------- +## Build DLT Viewer in Windows -Microsoft Visual C++ 2015 (64bit): -* Install Qt5 SDK and MSVC 2015 (you can use the free "Community" version). -* If your Qt installation does not match "C:\Qt\Qt5.12.4\5.12.4\msvc2015_64" (for 64 bit), - you can set the correct path as environment variable "QTDIR" in your system properties. -* Adjust and run build_sdk_windows_qt5_MSVC.bat with optional parameter (the current system's architecture is used by default). +* Install Qt5 SDK and Microsoft Visual Studio Build Tools 2017 +* If needed adapt you configuration in build_sdk_windows_qt5_MSVC.bat +* Run build_sdk_windows_qt5_MSVC.bat -The SDK will be installed to C:\Users\%USERNAME%\DltViewerSDK\ +The DLT Viewer will be installed by default in C:\DltViewerSDK -Optional: Prepare Installation Qwt (Windows) --------------------------------------------- +## Optional: Prepare Installation Qwt (Windows) Some DLT Viewer plugins will use the Qwt library for displaying graphs. The Qwt library must be compiled and installed before it can be used. -(Tested with Qwt 6.1.4) +(Tested with Qwt 6.2.0) -Microsoft Visual C++ 2015 (64bit): -* Install Qt5 SDK for Visual C++ 2015 (you can use the free "Community" version) -* Extract Qwt Zip package -* If you like, you can adjust the installation path by changing the variable "QWT_INSTALL_PREFIX" in qwtconfig.pri -* Start Qt commandline from Start->Qt_5.x.x -* Change into Qwt directory -* Execute "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64 - for 64bit. -* Execute qmake qwt.pro -* Execute "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\nmake.exe" -* Execute "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\nmake.exe" install +* Install Qt5 SDK and Microsoft Visual Studio Build Tools 2017 +* Copy Qwt zip package qwt-6.2.0.zip to DLT Viewer folder +* Run build_qwt_windows_qt5_MSVC.bat -Create SDK (Linux) ------------------- +## Create SDK (Linux) * Compile DLT Viewer as described in "Build DLT-viewer Linux" * Call "sudo make install" to install dlt-viewer including libraries and headers for SDK -Create SDK Documentation (Windows) ----------------------------------- +## Create SDK Documentation (Windows) * Install doxygen and graphviz * Change into project directory @@ -74,8 +58,7 @@ Create SDK Documentation (Windows) * (Optional) doxygen sdk\doxygen_dlt_viewer_qdlt.cfg * You will find the documentation in the doc directory -Create SDK Documentation (Linux) --------------------------------- +## Create SDK Documentation (Linux) * Install doxygen and graphviz * Change into project directory @@ -84,8 +67,7 @@ Create SDK Documentation (Linux) * (Optional) doxygen sdk/doxygen_dlt_viewer_qdlt.cfg * You will find the documentation in the doc directory -Create manuals documentation ----------------------------- +## Create manuals documentation The plugins programming manual is generated with asciidoc. Call @@ -103,10 +85,8 @@ sudo apt-get install texlive texlive-latex-extra To create a pdf format output use: pdflatex dlt-viewer_user_manual.tex +## Instructions for building DLT Viewer with CMake (Linux and MacOS command line) - -Instructions for building DLT Viewer with CMake (Linux and MacOS command line) ----------------------------------------------------------- CMake is a "meta" make system. This means CMake creates a make system for various make solutions including command line build tools like "Unix Makefiles", or IDE tools like "Visual Studio". @@ -143,8 +123,8 @@ Then give the Qt directory to CMake and build: The application is built in "bin/DLT Viewer.app", it can be launched from Finder or the command line: open -a $DLT_BUILD_DIR/bin/DLT\ Viewer.app -Building DLT Viewer release version with Qmake on MacOs --------------------------------------------------------- +## Building DLT Viewer release version with Qmake on MacOs + Sometimes building with Cmake or in Qt Creator leads to Plugins not working in DLT Viewer. Building with qmake in release version gets rid of this problem. Steps to follow: diff --git a/README.md b/README.md index a4479d26..8107cd0f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # Diagnostic Log and Trace Viewer + ## Overview The Diagnostic Log and Trace Viewer is an application that can send and receive control messages to the DLT daemon, e.g. to set individual log levels of applications and contexts or get the list of applications and contexts registered in the DLT daemon. DLT viewer is based on Qt for Windows and Linux and can run on the Mac though that is not officially supported. @@ -35,7 +36,7 @@ See INSTALL.txt regarding doxygen API documentation generation. ## Software/Hardware Developed with QT 5 (http://qt-project.org/) -Tested with Windows 10 + Qt 5.12.10 + Microsoft Visual Studio 2015 Community Edition +Tested with Windows 10 + Qt 5.12.12 + Microsoft Visual Studio Build Tools 2017 Tested with Ubuntu Linux 18.04 + Qt 5.9.5 Tested with macOS Sierra + Qt 5.7.0 Dynamically linked open source software @@ -43,7 +44,7 @@ Dynamically linked open source software Qt 5.x.x (LGPLv3 - Qt) GCC (GPL) (Optional) Mingw (GPL + BSD Variante + Public Domain) -Open Icon Library (http://openiconlibrary.sourceforge.net,Multiple LIcenses) +Open Icon Library (http://openiconlibrary.sourceforge.net,Multiple Licenses) License Full information on the license for this software is available in the "LICENSE.txt" file. diff --git a/build_parser_windows_qt5_MSVC.bat b/build_parser_windows_qt5_MSVC.bat index f5450b12..a19ca828 100644 --- a/build_parser_windows_qt5_MSVC.bat +++ b/build_parser_windows_qt5_MSVC.bat @@ -2,49 +2,48 @@ REM Date Version Author Changes REM 4.7.19 1.0 Alexander Wenzel Update to Qt 5.12.4 and Visual Studio 2015 -REM 25.11.20 1.2 Alexander Wenzel Update to Qt 5.12.10 +REM 25.11.20 1.1 Alexander Wenzel Update to Qt 5.12.10 +REM 11.1.21 1.2 Alexander Wenzel Update to Qt 5.12.12, Visual Studio 2017 Build Tools and simplify echo ************************************ echo *** DLT Parser *** echo ************************************ -echo . echo ************************************ echo *** Configuration *** echo ************************************ -rem setlocal enabledelayedexpansion +echo *** Setting up environment *** -rem parameter of this batch script can be either x86 or x86_amd64 -if "%ARCHITECTURE%"=="" ( - if "%PROCESSOR_ARCHITECTURE%"=="AMD64" ( - set ARCHITECTURE=x86_amd64 - ) else ( - set ARCHITECTURE=x86 - ) +IF "%QTVER%"=="" ( + set QTVER=5.12.12 +) - set USE_ARCH_PARAM=false - if "%1" NEQ "" ( - if "%1"=="x86" set USE_ARCH_PARAM=true - if "%1"=="x86_amd64" set USE_ARCH_PARAM=true - ) - if "!USE_ARCH_PARAM!"=="true" set ARCHITECTURE=%1 +IF "%MSVC_VER%"=="" ( + if exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build" ( + set MSVC_VER=2017 + ) else ( + set MSVC_VER=2015 + ) ) -echo Target architecture is !ARCHITECTURE! - -echo *** Setting up environment *** +echo Set QT diretory for %QTVER% if "%QTDIR%"=="" ( - if "%ARCHITECTURE%"=="x86_amd64" ( - set QTDIR=C:\Qt\Qt5.12.10\5.12.10\msvc2015_64 - ) else (set QTDIR=C:\Qt\Qt5.12.10\5.12.10\msvc2015) + set QTDIR=C:\Qt\Qt%QTVER%\%QTVER%\msvc%MSVC_VER%_64 ) -if "%MSVC_DIR%"=="" set MSVC_DIR=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC +if "%MSVC_VER%"=="2015" ( + if "%MSVC_DIR%"=="" ( + set "MSVC_DIR=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC" + ) +) else ( + if "%MSVC_DIR%"=="" ( + set "MSVC_DIR=C:\Program Files (x86)\Microsoft Visual Studio\%MSVC_VER%\BuildTools\VC\Auxiliary\Build" + ) +) -set PATH=%QTDIR%\bin;%MSVC_DIR%;%MSVC_DIR%\bin;%PATH% -set QTSDK=%QTDIR% +set PATH=%QTDIR%\bin;%MSVC_DIR%;%PATH% if '%WORKSPACE%'=='' ( if '%DLT_PARSER_DIR%'=='' ( @@ -62,10 +61,8 @@ if '%WORKSPACE%'=='' ( set BUILD_DIR=%WORKSPACE%\build\release ) - echo ************************************ echo * QTDIR = %QTDIR% -echo * QTSDK = %QTSDK% echo * MSVC_DIR = %MSVC_DIR% echo * PATH = %PATH% echo * DLT_PARSER_DIR = %DLT_PARSER_DIR% @@ -94,7 +91,7 @@ echo ************************************ echo *** Configure MSVC environment *** echo ************************************ -call vcvarsall.bat %ARCHITECTURE% +call vcvarsall.bat x86_amd64 if %ERRORLEVEL% NEQ 0 goto error echo configuring was successful @@ -120,10 +117,8 @@ echo ************************************ echo *** Create directories %DLT_PARSER_DIR% *** if not exist %DLT_PARSER_DIR% mkdir %DLT_PARSER_DIR% -rem mkdir %DLT_PARSER_DIR% IF %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER -rem mkdir %DLT_PARSER_DIR%\examples if not exist %DLT_PARSER_DIR%\examples mkdir %DLT_PARSER_DIR%\examples IF %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER diff --git a/build_qwt_windows_qt5_MSVC.bat b/build_qwt_windows_qt5_MSVC.bat index b0b7ce32..f3542c31 100644 --- a/build_qwt_windows_qt5_MSVC.bat +++ b/build_qwt_windows_qt5_MSVC.bat @@ -4,7 +4,7 @@ cls REM Date Version Author Changes REM 30.1.18 1.0 Gernot Wirschal First versioned file REM 4.7.19 1.1 Alexander Wenzel Update to Qt 5.12.4, Qwt 6.1.4 and Visual Studio 2015 -REM 25.11.20 1.2 Alexander Wenzel Update to Qt 5.12.10 +REM 11.1.21 1.2 Alexander Wenzel Update to Qt 5.12.12, Visual Studio 2017 Build Tools and simplify echo ************************************ echo *** Build QWT Library *** @@ -14,71 +14,49 @@ echo ************************************ echo *** Configuration *** echo ************************************ -if "%MSVC_VERSION%"=="" ( - echo "Set default MSVCS "" - set MSVC_VERSION=2015 -) +echo *** Setting up environment *** -set MSVC_VER=msvc%MSVC_VERSION% - -rem parameter of this batch script can be either x86 or x86_amd64 - -if "%ARCHITECTURE%"=="" ( - if "%PROCESSOR_ARCHITECTURE%"=="AMD64" ( - set ARCHITECTURE=x86_amd64 - ) else ( - set ARCHITECTURE=x86 - ) - - set USE_ARCH_PARAM=false - if "%1" NEQ "" ( - if "%1"=="x86" set USE_ARCH_PARAM=true - if "%1"=="x86_amd64" set USE_ARCH_PARAM=true - ) - if "!USE_ARCH_PARAM!"=="true" set ARCHITECTURE=%1 +IF "%QTVER%"=="" ( + set QTVER=5.12.12 ) -echo Target architecture is %ARCHITECTURE% - -echo *** Setting up environment *** - -IF "%QTVER%"=="" ( - set QTVER=5.12.10 +IF "%MSVC_VER%"=="" ( + if exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build" ( + set MSVC_VER=2017 + ) else ( + set MSVC_VER=2015 + ) ) -echo Set QT path for %QTVER% -echo Set QT diretory for %ARCHITECTURE% +echo Set QT diretory for %QTVER% if "%QTDIR%"=="" ( - if "%ARCHITECTURE%"=="x86_amd64" ( - set QTDIR=C:\Qt\Qt5.12.10\5.12.10\msvc2015_64 - ) else (set QTDIR=C:\Qt\Qt5.12.10\5.12.10\msvc2015) + set QTDIR=C:\Qt\Qt%QTVER%\%QTVER%\msvc%MSVC_VER%_64 ) -if "%MSVC_DIR%"=="" set MSVC_DIR=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC - -echo Set suffix for %ARCHITECTURE% -set DIR_POSTFIX=_32bit -IF "%ARCHITECTURE%" EQU "x86_amd64" set DIR_POSTFIX=_64bit -echo DIR_POSTFIX %DIR_POSTFIX% +if "%MSVC_VER%"=="2015" ( + if "%MSVC_DIR%"=="" set "MSVC_DIR=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC" +) else ( + if "%MSVC_DIR%"=="" set "MSVC_DIR=C:\Program Files (x86)\Microsoft Visual Studio\%MSVC_VER%\BuildTools\VC\Auxiliary\Build" +) set WORKINGDIR=%CD% IF "%QWT%"=="" ( - set QWT=6.1.4 + set QWT=6.2.0 ) -set PATH=%QTDIR%\bin;%MSVC_DIR%;%MSVC_DIR%\bin;%PATH% +set PATH=%QTDIR%\bin;%MSVC_DIR%;%PATH% if '%WORKSPACE%'=='' ( IF "%QWT_DIR%"=="" ( - set QWT_DIR=C:\Qwt-%QWT%_%MSVC_VERSION%_%QTVER%%DIR_POSTFIX% + set QWT_DIR=C:\Qwt-%QWT%_%QTVER% ) set SOURCE_DIR=%CD%\qwt-%QWT% ) else ( if '%QWT_DIR%'=='' ( - set QWT_DIR=%WORKSPACE%\Qwt-%QWT%_%MSVC_VERSION%_%QTVER%%DIR_POSTFIX% + set QWT_DIR=%WORKSPACE%\Qwt-%QWT%_%QTVER% ) set SOURCE_DIR=%WORKSPACE%\qwt-%QWT% @@ -92,8 +70,8 @@ echo ************************************ echo * QTDIR = %QTDIR% echo * MSVC_DIR = %MSVC_DIR% echo * PATH = %PATH% -echo * QWT_DIR = %QWT_DIR% -echo * SOURCE_DIR = %SOURCE_DIR% +echo * QWT_DIR = %QWT_DIR% +echo * SOURCE_DIR = %SOURCE_DIR% echo ************************************ IF not exist "%MSVC_DIR%" ( @@ -132,7 +110,7 @@ echo ************************************ echo *** Configure MSVC environment *** echo ************************************ -call vcvarsall.bat %ARCHITECTURE% +call vcvarsall.bat x86_amd64 if %ERRORLEVEL% NEQ 0 goto error echo configuring was successful @@ -146,7 +124,6 @@ qmake qwt.pro IF %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER nmake clean -rem IF %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER nmake IF %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER diff --git a/build_sdk_windows_qt5_MSVC.bat b/build_sdk_windows_qt5_MSVC.bat index 3a0e2f52..1f7add30 100644 --- a/build_sdk_windows_qt5_MSVC.bat +++ b/build_sdk_windows_qt5_MSVC.bat @@ -3,45 +3,43 @@ REM Date Version Author Changes REM 4.7.19 1.0 Alexander Wenzel Update to Qt 5.12.4 and Visual Studio 2015 REM 25.11.20 1.1 Alexander Wenzel Update to Qt 5.12.10 +REM 11.1.21 1.2 Alexander Wenzel Update to Qt 5.12.12, Visual Studio 2017 Build Tools and simplify echo ************************************ echo *** DLT Viewer SDK *** echo ************************************ + echo ************************************ echo *** Configuration *** echo ************************************ -rem parameter of this batch script can be either x86 or x86_amd64 -if "%ARCHITECTURE%"=="" ( - if "%PROCESSOR_ARCHITECTURE%"=="AMD64" ( - set ARCHITECTURE=x86_amd64 - ) else ( - set ARCHITECTURE=x86 - ) +echo *** Setting up environment *** - set USE_ARCH_PARAM=false - if "%1" NEQ "" ( - if "%1"=="x86" set USE_ARCH_PARAM=true - if "%1"=="x86_amd64" set USE_ARCH_PARAM=true - ) - if "!USE_ARCH_PARAM!"=="true" set ARCHITECTURE=%1 +IF "%QTVER%"=="" ( + set QTVER=5.12.12 ) -echo Target architecture is %ARCHITECTURE% +IF "%MSVC_VER%"=="" ( + if exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build" ( + set MSVC_VER=2017 + ) else ( + set MSVC_VER=2015 + ) +) -echo *** Setting up environment *** +echo Set QT directory for %QTVER% if "%QTDIR%"=="" ( - if "%ARCHITECTURE%"=="x86_amd64" ( - set QTDIR=C:\Qt\Qt5.12.10\5.12.10\msvc2015_64 - ) else (set QTDIR=C:\Qt\Qt5.12.10\5.12.10\msvc2015) + set QTDIR=C:\Qt\Qt%QTVER%\%QTVER%\msvc%MSVC_VER%_64 ) -if "%MSVC_DIR%"=="" set MSVC_DIR=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC - +if "%MSVC_VER%"=="2015" ( + if "%MSVC_DIR%"=="" set "MSVC_DIR=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC" +) else ( + if "%MSVC_DIR%"=="" set "MSVC_DIR=C:\Program Files (x86)\Microsoft Visual Studio\%MSVC_VER%\BuildTools\VC\Auxiliary\Build" +) -set PATH=%QTDIR%\bin;%MSVC_DIR%;%MSVC_DIR%\bin;%PATH% -set QTSDK=%QTDIR% +set PATH=%QTDIR%\bin;%MSVC_DIR%;%PATH% if '%WORKSPACE%'=='' ( if '%DLT_VIEWER_SDK_DIR%'=='' ( @@ -61,8 +59,6 @@ if '%WORKSPACE%'=='' ( echo ************************************ echo * QTDIR = %QTDIR% -echo * QTSDK = %QTSDK% -echo * QWT_DIR = %QWT_DIR% echo * MSVC_DIR = %MSVC_DIR% echo * PATH = %PATH% echo * DLT_VIEWER_SDK_DIR = %DLT_VIEWER_SDK_DIR% @@ -84,7 +80,7 @@ echo ************************************ echo *** Configure MSVC environment *** echo ************************************ -call vcvarsall.bat %ARCHITECTURE% +call vcvarsall.bat x86_amd64 if %ERRORLEVEL% NEQ 0 goto ERROR_HANDLER echo configuring was successful @@ -119,7 +115,6 @@ echo ************************************ if not exist %DLT_VIEWER_SDK_DIR% mkdir %DLT_VIEWER_SDK_DIR% echo *** Create directories %DLT_VIEWER_SDK_DIR% *** -rem mkdir %DLT_VIEWER_SDK_DIR% if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER mkdir %DLT_VIEWER_SDK_DIR%\plugins @@ -201,13 +196,6 @@ if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER copy %BUILD_DIR%\qdlt.dll %DLT_VIEWER_SDK_DIR% if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER -rem echo "copy %QWT_DIR%\lib\qwt.dll %DLT_VIEWER_SDK_DIR%" -rem copy %QWT_DIR%\lib\qwt.dll %DLT_VIEWER_SDK_DIR% -rem IF %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER - -rem copy %BUILD_DIR%\plugins\speedplugin.dll %DLT_VIEWER_SDK_DIR%\plugins -rem if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER - copy %BUILD_DIR%\plugins\dltviewerplugin.dll %DLT_VIEWER_SDK_DIR%\plugins if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER @@ -230,10 +218,8 @@ copy %BUILD_DIR%\plugins\dlttestrobotplugin.dll %DLT_VIEWER_SDK_DIR%\plugins if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER copy %SOURCE_DIR%\doc\*.txt %DLT_VIEWER_SDK_DIR%\doc -rem if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER copy %SOURCE_DIR%\ReleaseNotes_Viewer.txt %DLT_VIEWER_SDK_DIR% -rem if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER copy %SOURCE_DIR%\README.md %DLT_VIEWER_SDK_DIR% if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER @@ -254,19 +240,14 @@ copy %BUILD_DIR%\qdlt.lib %DLT_VIEWER_SDK_DIR%\sdk\lib if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER copy %SOURCE_DIR%\plugin\dummyviewerplugin %DLT_VIEWER_SDK_DIR%\sdk\src\dummyviewerplugin -rem if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER copy %SOURCE_DIR%\plugin\dummydecoderplugin %DLT_VIEWER_SDK_DIR%\sdk\src\dummydecoderplugin -rem if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER copy %SOURCE_DIR%\plugin\dummycontrolplugin %DLT_VIEWER_SDK_DIR%\sdk\src\dummycontrolplugin -rem if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER copy %SOURCE_DIR%\sdk\BuildPlugins.pro %DLT_VIEWER_SDK_DIR%\sdk\src -rem if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER copy %SOURCE_DIR%\sdk\dummydecoderplugin.pro %DLT_VIEWER_SDK_DIR%\sdk\src\dummydecoderplugin -rem if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER copy %SOURCE_DIR%\sdk\dummyviewerplugin.pro %DLT_VIEWER_SDK_DIR%\sdk\src\dummyviewerplugin if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER diff --git a/build_sdk_windows_qt5_MSVC_cmake.bat b/build_sdk_windows_qt5_MSVC_cmake.bat new file mode 100644 index 00000000..df1ccee6 --- /dev/null +++ b/build_sdk_windows_qt5_MSVC_cmake.bat @@ -0,0 +1,287 @@ +@echo off + +REM Date Version Author Changes +REM 4.7.19 1.0 Alexander Wenzel Update to Qt 5.12.4 and Visual Studio 2015 +REM 25.11.20 1.1 Alexander Wenzel Update to Qt 5.12.10 +REM 11.1.21 1.2 Alexander Wenzel Update to Qt 5.12.12, Visual Studio 2017 Build Tools, simplify and cmake + +echo ************************************ +echo *** DLT Viewer SDK (cmake) *** +echo ************************************ + +echo ************************************ +echo *** Configuration *** +echo ************************************ + +echo *** Setting up environment *** + +IF "%QTVER%"=="" ( + set QTVER=5.12.12 +) + +IF "%MSVC_VER%"=="" ( + if exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build" ( + set MSVC_VER=2017 + ) else ( + set MSVC_VER=2015 + ) +) + +echo Set QT directory for %QTVER% + +if "%QTDIR%"=="" ( + set QTDIR=C:\Qt\Qt%QTVER%\%QTVER%\msvc%MSVC_VER%_64 +) + +if "%MSVC_VER%"=="2015" ( + if "%MSVC_DIR%"=="" set "MSVC_DIR=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC" +) else ( + if "%MSVC_DIR%"=="" set "MSVC_DIR=C:\Program Files (x86)\Microsoft Visual Studio\%MSVC_VER%\BuildTools\VC\Auxiliary\Build" +) + +set PATH=%QTDIR%\bin;%MSVC_DIR%;%PATH% + +if '%WORKSPACE%'=='' ( + if '%DLT_VIEWER_SDK_DIR%'=='' ( + set DLT_VIEWER_SDK_DIR=c:\DltViewerSDK + ) + + set SOURCE_DIR=%CD% + set BUILD_DIR=%CD%\build\release +) else ( + if '%DLT_VIEWER_SDK_DIR%'=='' ( + set DLT_VIEWER_SDK_DIR=%WORKSPACE%\build\dist\DltViewerSDK + ) + + set SOURCE_DIR=%WORKSPACE% + set BUILD_DIR=%WORKSPACE%\build\release +) + +echo ************************************ +echo * QTDIR = %QTDIR% +echo * MSVC_DIR = %MSVC_DIR% +echo * PATH = %PATH% +echo * DLT_VIEWER_SDK_DIR = %DLT_VIEWER_SDK_DIR% +echo * SOURCE_DIR = %SOURCE_DIR% +echo * BUILD_DIR = %BUILD_DIR% +echo ************************************ + +if exist build ( +echo ************************************ +echo *** Delete old build Directory *** +echo ************************************ + + rmdir /s /q build || rem + if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +) + +echo ************************************ +echo *** Configure MSVC environment *** +echo ************************************ + +call vcvarsall.bat x86_amd64 +if %ERRORLEVEL% NEQ 0 goto ERROR_HANDLER +echo configuring was successful + +if exist %DLT_VIEWER_SDK_DIR% ( +echo ************************************ +echo *** Delete old SDK Directory *** +echo ************************************ + + rmdir /s /q %DLT_VIEWER_SDK_DIR% || rem + if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER +) + +echo ************************************ +echo *** Build DLT Viewer *** +echo ************************************ + +mkdir build +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +cd build +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +mkdir Release +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +cd Release +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ..\.. +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +cmake --build . +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +echo ************************************ +echo *** Create SDK *** +echo ************************************ + +if not exist %DLT_VIEWER_SDK_DIR% mkdir %DLT_VIEWER_SDK_DIR% +echo *** Create directories %DLT_VIEWER_SDK_DIR% *** +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +mkdir %DLT_VIEWER_SDK_DIR%\plugins +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +mkdir %DLT_VIEWER_SDK_DIR%\plugins\examples +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +mkdir %DLT_VIEWER_SDK_DIR%\sdk +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +mkdir %DLT_VIEWER_SDK_DIR%\sdk\include +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +mkdir %DLT_VIEWER_SDK_DIR%\sdk\lib +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +mkdir %DLT_VIEWER_SDK_DIR%\sdk\src +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +mkdir %DLT_VIEWER_SDK_DIR%\sdk\src\dummydecoderplugin +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +mkdir %DLT_VIEWER_SDK_DIR%\sdk\src\dummyviewerplugin +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +mkdir %DLT_VIEWER_SDK_DIR%\sdk\src\dummycontrolplugin +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +mkdir %DLT_VIEWER_SDK_DIR%\filters +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +mkdir %DLT_VIEWER_SDK_DIR%\platforms +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +mkdir %DLT_VIEWER_SDK_DIR%\doc +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +mkdir %DLT_VIEWER_SDK_DIR%\cache +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +echo *** Copy files *** +copy %QTDIR%\bin\Qt5Core.dll %DLT_VIEWER_SDK_DIR% +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %QTDIR%\bin\Qt5Gui.dll %DLT_VIEWER_SDK_DIR% +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %QTDIR%\bin\Qt5Network.dll %DLT_VIEWER_SDK_DIR% +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %QTDIR%\bin\Qt5Sql.dll %DLT_VIEWER_SDK_DIR% +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %QTDIR%\bin\Qt5Svg.dll %DLT_VIEWER_SDK_DIR% +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %QTDIR%\bin\Qt5Widgets.dll %DLT_VIEWER_SDK_DIR% +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %QTDIR%\bin\Qt5PrintSupport.dll %DLT_VIEWER_SDK_DIR% +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %QTDIR%\bin\Qt5Xml.dll %DLT_VIEWER_SDK_DIR% +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %QTDIR%\bin\Qt5OpenGL.dll %DLT_VIEWER_SDK_DIR% +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %QTDIR%\bin\Qt5SerialPort.dll %DLT_VIEWER_SDK_DIR% +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %QTDIR%\plugins\platforms\qwindows.dll %DLT_VIEWER_SDK_DIR%\platforms +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %BUILD_DIR%\bin\dlt-viewer.exe %DLT_VIEWER_SDK_DIR% +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %BUILD_DIR%\bin\qdlt.dll %DLT_VIEWER_SDK_DIR% +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %BUILD_DIR%\bin\plugins\dltviewerplugin.dll %DLT_VIEWER_SDK_DIR%\plugins +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %BUILD_DIR%\bin\plugins\nonverboseplugin.dll %DLT_VIEWER_SDK_DIR%\plugins +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %BUILD_DIR%\bin\plugins\filetransferplugin.dll %DLT_VIEWER_SDK_DIR%\plugins +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %BUILD_DIR%\bin\plugins\dltsystemviewerplugin.dll %DLT_VIEWER_SDK_DIR%\plugins +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %BUILD_DIR%\bin\plugins\dltdbusplugin.dll %DLT_VIEWER_SDK_DIR%\plugins +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %BUILD_DIR%\bin\plugins\dltlogstorageplugin.dll %DLT_VIEWER_SDK_DIR%\plugins +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %BUILD_DIR%\bin\plugins\dlttestrobotplugin.dll %DLT_VIEWER_SDK_DIR%\plugins +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %SOURCE_DIR%\doc\*.txt %DLT_VIEWER_SDK_DIR%\doc + +copy %SOURCE_DIR%\ReleaseNotes_Viewer.txt %DLT_VIEWER_SDK_DIR% + +copy %SOURCE_DIR%\README.md %DLT_VIEWER_SDK_DIR% +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %SOURCE_DIR%\LICENSE.txt %DLT_VIEWER_SDK_DIR% +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %SOURCE_DIR%\MPL.txt %DLT_VIEWER_SDK_DIR% +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %SOURCE_DIR%\qdlt\*.h %DLT_VIEWER_SDK_DIR%\sdk\include +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %BUILD_DIR%\bin\qdlt.dll %DLT_VIEWER_SDK_DIR%\sdk\lib +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %BUILD_DIR%\qdlt\qdlt.lib %DLT_VIEWER_SDK_DIR%\sdk\lib +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %SOURCE_DIR%\plugin\dummyviewerplugin %DLT_VIEWER_SDK_DIR%\sdk\src\dummyviewerplugin + +copy %SOURCE_DIR%\plugin\dummydecoderplugin %DLT_VIEWER_SDK_DIR%\sdk\src\dummydecoderplugin + +copy %SOURCE_DIR%\plugin\dummycontrolplugin %DLT_VIEWER_SDK_DIR%\sdk\src\dummycontrolplugin + +copy %SOURCE_DIR%\sdk\BuildPlugins.pro %DLT_VIEWER_SDK_DIR%\sdk\src + +copy %SOURCE_DIR%\sdk\dummydecoderplugin.pro %DLT_VIEWER_SDK_DIR%\sdk\src\dummydecoderplugin + +copy %SOURCE_DIR%\sdk\dummyviewerplugin.pro %DLT_VIEWER_SDK_DIR%\sdk\src\dummyviewerplugin +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %SOURCE_DIR%\sdk\dummycontrolplugin.pro %DLT_VIEWER_SDK_DIR%\sdk\src\dummycontrolplugin +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %SOURCE_DIR%\plugin\examples\nonverboseplugin_configuration.xml %DLT_VIEWER_SDK_DIR%\plugins\examples +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %SOURCE_DIR%\plugin\examples\filetransferplugin_configuration.xml %DLT_VIEWER_SDK_DIR%\plugins\examples +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +copy %SOURCE_DIR%\filters\* %DLT_VIEWER_SDK_DIR%\filters +if %ERRORLEVEL% NEQ 0 GOTO ERROR_HANDLER + +GOTO QUIT + +:ERROR_HANDLER +echo #################################### +echo ### ERROR occured ### +echo #################################### +exit /b 1 + + +:QUIT +echo ************************************ +echo *** SUCCESS finish *** +echo ************************************ +echo SDK installed in: %DLT_VIEWER_SDK_DIR% +exit /b 0 diff --git a/build_sdk_windows_qt5_MSVC_cmake_interactive.bat b/build_sdk_windows_qt5_MSVC_cmake_interactive.bat new file mode 100644 index 00000000..87c38712 --- /dev/null +++ b/build_sdk_windows_qt5_MSVC_cmake_interactive.bat @@ -0,0 +1,4 @@ +call build_sdk_windows_qt5_MSVC_cmake.bat +SET RETCODE=%ERRORLEVEL% +set /p name= Continue +exit /b %RETCODE% \ No newline at end of file diff --git a/plugin/CMakeLists.txt b/plugin/CMakeLists.txt index f0e6bda0..26828d0e 100644 --- a/plugin/CMakeLists.txt +++ b/plugin/CMakeLists.txt @@ -45,3 +45,4 @@ add_subdirectory(dummycommandplugin) add_subdirectory(dummydecoderplugin) add_subdirectory(dltdbusplugin) add_subdirectory(dltlogstorageplugin) +add_subdirectory(dlttestrobotplugin) diff --git a/plugin/dlttestrobotplugin/CMakeLists.txt b/plugin/dlttestrobotplugin/CMakeLists.txt index 1fff8981..f21a9884 100644 --- a/plugin/dlttestrobotplugin/CMakeLists.txt +++ b/plugin/dlttestrobotplugin/CMakeLists.txt @@ -18,9 +18,9 @@ #cmake 2.8.12 doesn't have AUTOUIC ?? QT5_WRAP_UI( UI_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/form.ui ) -add_library(dummycontrolplugin MODULE dummycontrolplugin.cpp +add_library(dlttestrobotplugin MODULE dlttestrobotplugin.cpp form.cpp ${UI_HEADERS}) -target_link_libraries(dummycontrolplugin qdlt Qt5::Widgets ) -add_plugin(dummycontrolplugin) +target_link_libraries(dlttestrobotplugin qdlt Qt5::Widgets ) +add_plugin(dlttestrobotplugin)