Просмотр исходного кода

Added ubuntu CI and fixed issue uncovered during CI. Also added clang-format

Jeremy Borgman 4 лет назад
Родитель
Сommit
5dba3de778

+ 67 - 0
.github/workflows/build_cmake.yml

@@ -0,0 +1,67 @@
+name: CMake
+
+on: [push]
+
+env:
+  # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
+  BUILD_TYPE: RelWithDebInfo
+
+jobs:
+  build:
+
+    runs-on: ${{ matrix.os }}
+    strategy:
+      matrix:
+        os: [ubuntu-latest]
+
+    steps:
+    - uses: actions/checkout@v2
+
+    - name: Install Dependencies
+      run: |
+        sudo apt-get -y -qq update
+        sudo apt-get -y --no-install-recommends install \
+          cmake \
+          extra-cmake-modules \
+          build-essential \
+          qt5-default \
+          qt5-qmake \
+          qttools5-dev-tools \
+          qttools5-dev \
+          libqt5dbus5 \
+          libqt5network5 \
+          libqt5core5a \
+          libqt5widgets5 \
+          libqt5gui5 \
+          libqt5svg5-dev
+
+    - name: Create Build Environment
+      # Some projects don't allow in-source building, so create a separate build directory
+      # We'll use this as our working directory for all subsequent commands
+      run: cmake -E make_directory ${{runner.workspace}}/build
+
+    - name: Configure CMake
+      # Use a bash shell so we can use the same syntax for environment variable
+      # access regardless of the host operating system
+      shell: bash
+      working-directory: ${{runner.workspace}}/build
+      # Note the current convention is to use the -S and -B options here to specify source 
+      # and build directories, but this is only available with CMake 3.13 and higher.  
+      # The CMake binaries on the Github Actions machines are (as of this writing) 3.12
+      # 
+      # We need to source the profile file to make sure conan is in PATH
+      run: |
+        cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE
+    - name: Build
+      working-directory: ${{runner.workspace}}/build
+      shell: bash
+      # Execute the build.  You can specify a specific target with "--target <NAME>"
+      run: cmake --build . --config $BUILD_TYPE
+
+    - name: Test
+      working-directory: ${{runner.workspace}}/build
+      shell: bash
+      # Execute tests defined by the CMake configuration.  
+      # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
+      run: ctest -C $BUILD_TYPE
+

+ 17 - 0
.github/workflows/clang-format.yml

@@ -0,0 +1,17 @@
+name: test-clang-format
+
+on: [push]
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+
+    steps:
+    - uses: actions/checkout@v2
+    - uses: DoozyX/clang-format-lint-action@v0.9
+      with:
+        source: './src'
+        #exclude: './third_party ./external'
+        extensions: 'h,cpp'
+        clangFormatVersion: 11
+        style: mozilla

+ 20 - 0
appveyor.yml

@@ -0,0 +1,20 @@
+image:
+  - Visual Studio 2019
+clone_folder: c:\projects\source
+
+environment:
+  Qt5_INSTALL_DIR: 'C:\Qt\5.15.0\msvc2019_64'
+  PATH: '%Qt5_INSTALL_DIR%\bin;%PATH%'
+build_script:
+- cmd: >-
+
+    mkdir build
+
+    cd build
+
+    echo %PATH%
+
+    cmake c:\projects\source -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE:STRING=Release
+
+    cmake --build . --config "Release"
+

+ 4 - 0
src/core/CMakeLists.txt

@@ -3,3 +3,7 @@
 target_sources(flameshot PRIVATE controller.h flameshotdbusadapter.h)
 
 target_sources(flameshot PRIVATE capturerequest.cpp controller.cpp flameshotdbusadapter.cpp)
+
+IF(WIN32)
+    target_sources(flameshot PRIVATE globalshortcutfilter.h globalshortcutfilter.cpp)
+ENDIF()

+ 1 - 0
src/tools/blur/blurtool.cpp

@@ -22,6 +22,7 @@
 #include <QGraphicsScene>
 #include <QImage>
 #include <QPainter>
+#include <cassert>
 
 BlurTool::BlurTool(QObject* parent)
   : AbstractTwoPointTool(parent)