diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml new file mode 100644 index 00000000..9e9bc400 --- /dev/null +++ b/.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 " + 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 + diff --git a/.github/workflows/clang-format.yml b/.github/workflows/clang-format.yml new file mode 100644 index 00000000..3a2e8f4c --- /dev/null +++ b/.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 diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 00000000..960e86f2 --- /dev/null +++ b/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" + diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 7afe8865..2cea0765 100644 --- a/src/core/CMakeLists.txt +++ b/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() diff --git a/src/tools/blur/blurtool.cpp b/src/tools/blur/blurtool.cpp index 4dd7b653..3c0a7598 100644 --- a/src/tools/blur/blurtool.cpp +++ b/src/tools/blur/blurtool.cpp @@ -22,6 +22,7 @@ #include #include #include +#include BlurTool::BlurTool(QObject* parent) : AbstractTwoPointTool(parent)