From e23bebed9f4240f59a92163745016decc982e724 Mon Sep 17 00:00:00 2001 From: Alberto Nidasio <alberto.nidasio@skywarder.eu> Date: Thu, 29 Aug 2024 08:41:58 +0000 Subject: [PATCH] [CMake] Fixed version of backward-cpp to v1.6, renamed CMake target from groundstation to skywardhub and set C++ standard to 17 --- .gitlab-ci.yml | 14 +++---- CMakeLists.txt | 39 ++++++++++-------- .../linuxdeploy}/SkywardLogo.png | Bin .../linuxdeploy/skywardhub.desktop | 5 ++- macdeploy.sh => deployment/macdeploy.sh | 0 windeploy.bat => deployment/windeploy.bat | 2 +- .../groundstation => }/application.qrc | 0 .../assets/icons/SkywardHub.icns | Bin .../assets/icons/SkywardHub.ico | Bin .../assets/icons/SkywardHub.png | Bin .../assets/icons/splitter_horizontal.png | Bin .../assets/icons/splitter_vertical.png | Bin .../assets/models/rocket.obj | 0 .../assets/styles/global.qss | 0 .../assets/styles/white-mode.qss | 0 src/{entrypoints/groundstation => }/main.cpp | 0 src/shared/Core/QCustomPlot/QCustomPlot.cpp | 12 +++--- 17 files changed, 39 insertions(+), 33 deletions(-) rename {linuxdeploy => deployment/linuxdeploy}/SkywardLogo.png (100%) rename linuxdeploy/groundstation.desktop => deployment/linuxdeploy/skywardhub.desktop (67%) rename macdeploy.sh => deployment/macdeploy.sh (100%) rename windeploy.bat => deployment/windeploy.bat (73%) rename src/{entrypoints/groundstation => }/application.qrc (100%) rename src/{entrypoints/groundstation => }/assets/icons/SkywardHub.icns (100%) rename src/{entrypoints/groundstation => }/assets/icons/SkywardHub.ico (100%) rename src/{entrypoints/groundstation => }/assets/icons/SkywardHub.png (100%) rename src/{entrypoints/groundstation => }/assets/icons/splitter_horizontal.png (100%) rename src/{entrypoints/groundstation => }/assets/icons/splitter_vertical.png (100%) rename src/{entrypoints/groundstation => }/assets/models/rocket.obj (100%) rename src/{entrypoints/groundstation => }/assets/styles/global.qss (100%) rename src/{entrypoints/groundstation => }/assets/styles/white-mode.qss (100%) rename src/{entrypoints/groundstation => }/main.cpp (100%) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5b00b928..fc8a40ba 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -60,16 +60,16 @@ build_linux: before_script: - QMAKE=/opt/qt/$QT_VERSION/gcc_64/bin/qmake script: - - cmake -Bbuild -DCMAKE_CXX_COMPILER_LAUNCHER=ccache . + - cmake -Bbuild -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=RelWithDebInfo . - cmake --build build -j 16 - cd build - - linuxdeploy --plugin qt -e groundstation -d ../linuxdeploy/groundstation.desktop -i ../linuxdeploy/SkywardLogo.png --appdir AppDir + - linuxdeploy --plugin qt -e skywardhub -d ../deployment/linuxdeploy/skywardhub.desktop -i ../deployment/linuxdeploy/SkywardLogo.png --appdir AppDir - appimagetool AppDir - - mv Ground_Station-x86_64.AppImage ../Ground_Station-$CI_COMMIT_SHORT_SHA-x86_64.AppImage + - mv SkywardHub-x86_64.AppImage ../SkywardHub-$CI_COMMIT_SHORT_SHA-x86_64.AppImage artifacts: name: Linux AppImage paths: - - Ground_Station-$CI_COMMIT_SHORT_SHA-x86_64.AppImage + - SkywardHub-$CI_COMMIT_SHORT_SHA-x86_64.AppImage expire_in: 7 days build_windows: @@ -78,13 +78,13 @@ build_windows: before_script: - export PATH=/home/gitlab-runner/mxe/usr/bin:$PATH script: - - x86_64-w64-mingw32.static-cmake -Bbuild -DCMAKE_CXX_COMPILER_LAUNCHER=ccache . + - x86_64-w64-mingw32.static-cmake -Bbuild -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=RelWithDebInfo . - x86_64-w64-mingw32.static-cmake --build build -j 16 - - mv build/groundstation.exe Ground_Station-$CI_COMMIT_SHORT_SHA.exe + - mv build/skywardhub.exe SkywardHub-$CI_COMMIT_SHORT_SHA.exe artifacts: name: Windows executable paths: - - Ground_Station-$CI_COMMIT_SHORT_SHA.exe + - SkywardHub-$CI_COMMIT_SHORT_SHA.exe expire_in: 7 days post_on_slack: diff --git a/CMakeLists.txt b/CMakeLists.txt index 6f386e77..9b061d2e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,18 +20,12 @@ # THE SOFTWARE. cmake_minimum_required(VERSION 3.16) -# For now we keep debug information on -set(CMAKE_BUILD_TYPE RelWithDebInfo) project(SkywardHub) -set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTORCC ON) -set(CMAKE_AUTOUIC ON) - # MAvLink Skyward library add_subdirectory(libs/mavlink-skyward-lib EXCLUDE_FROM_ALL) @@ -42,7 +36,12 @@ add_subdirectory(libs/backward-cpp) # Qt5 and its modules find_package(Qt5 REQUIRED COMPONENTS Widgets SerialPort PrintSupport 3DCore 3DExtras 3DRender 3DInput) -add_executable(groundstation +add_executable(skywardhub + # Primary files + src/main.cpp + src/application.qrc + + # Componets src/shared/Components/ModulesPicker/ModulesPicker.cpp src/shared/Components/SaveConfigurationDialog/SaveConfigurationDialog.cpp src/shared/Components/SubscriptionsPanel/SubscriptionsPanel.cpp @@ -50,6 +49,8 @@ add_executable(groundstation src/shared/Components/ErrorDisplayer/Error.cpp src/shared/Components/ErrorDisplayer/ErrorDisplayer.cpp src/shared/Components/FilterSelector/FilterSelector.cpp + + # Core src/shared/Core/Message/Field.cpp src/shared/Core/Message/Filter.cpp src/shared/Core/Message/Message.cpp @@ -59,6 +60,8 @@ add_executable(groundstation src/shared/Core/Window/Window.cpp src/shared/Core/SkywardHubCore.cpp src/shared/Core/XmlObject.cpp + + # Modules src/shared/Modules/CommandPad/CommandPad.cpp src/shared/Modules/CommandPad/MessageFormElement.cpp src/shared/Modules/CompactCommandPad/CompactCommandPad.cpp @@ -91,11 +94,9 @@ add_executable(groundstation src/shared/Modules/ModulesList.cpp src/shared/Modules/ValvesViewer/ValvesViewer.cpp src/shared/Modules/Module.cpp - src/entrypoints/groundstation/application.qrc - src/entrypoints/groundstation/main.cpp ) -target_include_directories(groundstation PRIVATE src/shared) -target_link_libraries(groundstation PUBLIC +target_include_directories(skywardhub PRIVATE src/shared) +target_link_libraries(skywardhub PUBLIC Qt5::Widgets Qt5::SerialPort Qt5::PrintSupport @@ -106,13 +107,17 @@ target_link_libraries(groundstation PUBLIC Mavlink::Mavlink ) +set_target_properties(skywardhub PROPERTIES AUTOMOC ON) +set_target_properties(skywardhub PROPERTIES AUTORCC ON) +set_target_properties(skywardhub PROPERTIES AUTOUIC ON) + # Prevent the creation of a console window on Windows -set_target_properties(groundstation PROPERTIES WIN32_EXECUTABLE TRUE) +set_target_properties(skywardhub PROPERTIES WIN32_EXECUTABLE TRUE) # Create an applkication build on MacOS -set_target_properties(groundstation PROPERTIES MACOSX_BUNDLE TRUE) +set_target_properties(skywardhub PROPERTIES MACOSX_BUNDLE TRUE) -add_backward(groundstation) +add_backward(skywardhub) if(UNIX) set(BACKWARD_HAS_DW 1) set(BACKWARD_HAS_LIBUNWIND 1) @@ -123,8 +128,8 @@ endif(UNIX) if(DEFINED ENV{WIN_DEPLOY_QT}) message("-- Using windeployqt.exe from $ENV{WIN_DEPLOY_QT}") add_custom_command( - TARGET groundstation POST_BUILD - COMMAND $ENV{WIN_DEPLOY_QT} groundstation.exe + TARGET skywardhub POST_BUILD + COMMAND $ENV{WIN_DEPLOY_QT} skywardhub.exe WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMENT "Running windeployqt.exe..." ) diff --git a/linuxdeploy/SkywardLogo.png b/deployment/linuxdeploy/SkywardLogo.png similarity index 100% rename from linuxdeploy/SkywardLogo.png rename to deployment/linuxdeploy/SkywardLogo.png diff --git a/linuxdeploy/groundstation.desktop b/deployment/linuxdeploy/skywardhub.desktop similarity index 67% rename from linuxdeploy/groundstation.desktop rename to deployment/linuxdeploy/skywardhub.desktop index 0d7a6dc3..9b6668d2 100644 --- a/linuxdeploy/groundstation.desktop +++ b/deployment/linuxdeploy/skywardhub.desktop @@ -1,8 +1,9 @@ [Desktop Entry] Type=Application -Name=Ground Station -Exec=groundstation +Name=SkywardHub +Exec=skywardhub Icon=SkywardLogo Categories=Utility; Terminal=false X-AppImage-Version=d16258c +Keywords=groundstation diff --git a/macdeploy.sh b/deployment/macdeploy.sh similarity index 100% rename from macdeploy.sh rename to deployment/macdeploy.sh diff --git a/windeploy.bat b/deployment/windeploy.bat similarity index 73% rename from windeploy.bat rename to deployment/windeploy.bat index dc498ec4..42949508 100644 --- a/windeploy.bat +++ b/deployment/windeploy.bat @@ -1,2 +1,2 @@ windeployqt --dir Deploy\SkywardHub ..\build-SkywardHub-Desktop_Qt_5_15_2_MinGW_32_bit-Release\Release\SkywardHub.exe -xcopy ..\build-SkywardHub-Desktop_Qt_5_15_2_MinGW_32_bit-Release\release\SkywardHub.exe Deploy\SkywardHub\SkywardHub.exe /f /y \ No newline at end of file +xcopy ..\build-SkywardHub-Desktop_Qt_5_15_2_MinGW_32_bit-Release\release\SkywardHub.exe Deploy\SkywardHub\SkywardHub.exe /f /y diff --git a/src/entrypoints/groundstation/application.qrc b/src/application.qrc similarity index 100% rename from src/entrypoints/groundstation/application.qrc rename to src/application.qrc diff --git a/src/entrypoints/groundstation/assets/icons/SkywardHub.icns b/src/assets/icons/SkywardHub.icns similarity index 100% rename from src/entrypoints/groundstation/assets/icons/SkywardHub.icns rename to src/assets/icons/SkywardHub.icns diff --git a/src/entrypoints/groundstation/assets/icons/SkywardHub.ico b/src/assets/icons/SkywardHub.ico similarity index 100% rename from src/entrypoints/groundstation/assets/icons/SkywardHub.ico rename to src/assets/icons/SkywardHub.ico diff --git a/src/entrypoints/groundstation/assets/icons/SkywardHub.png b/src/assets/icons/SkywardHub.png similarity index 100% rename from src/entrypoints/groundstation/assets/icons/SkywardHub.png rename to src/assets/icons/SkywardHub.png diff --git a/src/entrypoints/groundstation/assets/icons/splitter_horizontal.png b/src/assets/icons/splitter_horizontal.png similarity index 100% rename from src/entrypoints/groundstation/assets/icons/splitter_horizontal.png rename to src/assets/icons/splitter_horizontal.png diff --git a/src/entrypoints/groundstation/assets/icons/splitter_vertical.png b/src/assets/icons/splitter_vertical.png similarity index 100% rename from src/entrypoints/groundstation/assets/icons/splitter_vertical.png rename to src/assets/icons/splitter_vertical.png diff --git a/src/entrypoints/groundstation/assets/models/rocket.obj b/src/assets/models/rocket.obj similarity index 100% rename from src/entrypoints/groundstation/assets/models/rocket.obj rename to src/assets/models/rocket.obj diff --git a/src/entrypoints/groundstation/assets/styles/global.qss b/src/assets/styles/global.qss similarity index 100% rename from src/entrypoints/groundstation/assets/styles/global.qss rename to src/assets/styles/global.qss diff --git a/src/entrypoints/groundstation/assets/styles/white-mode.qss b/src/assets/styles/white-mode.qss similarity index 100% rename from src/entrypoints/groundstation/assets/styles/white-mode.qss rename to src/assets/styles/white-mode.qss diff --git a/src/entrypoints/groundstation/main.cpp b/src/main.cpp similarity index 100% rename from src/entrypoints/groundstation/main.cpp rename to src/main.cpp diff --git a/src/shared/Core/QCustomPlot/QCustomPlot.cpp b/src/shared/Core/QCustomPlot/QCustomPlot.cpp index 44e767d1..0ad2a304 100644 --- a/src/shared/Core/QCustomPlot/QCustomPlot.cpp +++ b/src/shared/Core/QCustomPlot/QCustomPlot.cpp @@ -697,7 +697,7 @@ QCPPainter *QCPPaintBufferPixmap::startPainting() { QCPPainter *result = new QCPPainter(&mBuffer); #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) - result->setRenderHint(QPainter::HighQualityAntialiasing); + result->setRenderHint(QPainter::Antialiasing); #endif return result; } @@ -791,7 +791,7 @@ QCPPainter *QCPPaintBufferGlPbuffer::startPainting() } QCPPainter *result = new QCPPainter(mGlPBuffer); - result->setRenderHint(QPainter::HighQualityAntialiasing); + result->setRenderHint(QPainter::Antialiasing); return result; } @@ -914,7 +914,7 @@ QCPPainter *QCPPaintBufferGlFbo::startPainting() mGlFrameBuffer->bind(); QCPPainter *result = new QCPPainter(paintDevice.data()); #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) - result->setRenderHint(QPainter::HighQualityAntialiasing); + result->setRenderHint(QPainter::Antialiasing); #endif return result; } @@ -17294,9 +17294,9 @@ void QCustomPlot::paintEvent(QPaintEvent *event) { #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) painter.setRenderHint( - QPainter::HighQualityAntialiasing); // to make Antialiasing look - // good if using the OpenGL - // graphicssystem + QPainter::Antialiasing); // to make Antialiasing look + // good if using the OpenGL + // graphicssystem #endif if (mBackgroundBrush.style() != Qt::NoBrush) painter.fillRect(mViewport, mBackgroundBrush); -- GitLab