Skip to content

Commit f1a71d0

Browse files
committed
Merge branch 'release/v1.2'
2 parents 123b6bf + ed772b1 commit f1a71d0

174 files changed

Lines changed: 3430 additions & 13978 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ jobs:
1313
with:
1414
submodules: true
1515
- name: Install package
16-
run: sudo apt-get -y install qtbase5-dev libfmt-dev libyaml-cpp-dev lcov
16+
run: |
17+
sudo apt-get update
18+
sudo apt-get -y install qtbase5-dev
1719
- name: Build and test
1820
run: ci/buildappimage.sh
1921
- name: Create Release
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
on:
2+
push:
3+
# Sequence of patterns matched against refs/tags
4+
tags:
5+
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
6+
7+
jobs:
8+
build:
9+
runs-on: windows-latest
10+
steps:
11+
- name: Cache Qt
12+
id: cache-qt
13+
uses: actions/cache@v1 # not v2!
14+
with:
15+
path: ../Qt
16+
key: ${{ runner.os }}-QtCache
17+
18+
- name: Install Qt
19+
uses: jurplel/install-qt-action@v2
20+
with:
21+
cached: ${{ steps.cache-qt.outputs.cache-hit }}
22+
- uses: lukka/get-cmake@latest
23+
- name: Add msbuild to PATH
24+
uses: microsoft/setup-msbuild@v1.1
25+
- name: Install jinja2
26+
shell: bash
27+
run: python -m pip install jinja2
28+
- name: Install zip
29+
shell: bash
30+
run: choco install -y zip
31+
- name: Checkout
32+
uses: actions/checkout@v2
33+
with:
34+
submodules: true
35+
- name: CMake
36+
shell: bash
37+
run: |
38+
mkdir build
39+
cd build
40+
cmake -DBUILD_TESTING=OFF ..
41+
- name: Build
42+
run: msbuild build\dxfplotter.sln /property:Configuration=Release
43+
- name: Deploy Qt
44+
shell: bash
45+
run: ci/deploywindows.sh
46+
- name: Create Release
47+
uses: softprops/action-gh-release@v1
48+
with:
49+
files: "dxfplotter*.zip"
50+

.github/workflows/sonarcloud.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ jobs:
1212
with:
1313
submodules: true
1414
- name: Install package
15-
run: sudo apt-get -y install qtbase5-dev libfmt-dev libyaml-cpp-dev lcov
15+
run: |
16+
sudo apt-get update
17+
sudo apt-get -y install qtbase5-dev lcov
1618
- name: Install build wrapper
1719
run: |
1820
wget http://sonarcloud.io/static/cpp/build-wrapper-linux-x86.zip

.gitmodules

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,9 @@
77
[submodule "thirdparty/cereal"]
88
path = thirdparty/cereal
99
url = https://github.com/USCiLab/cereal.git
10+
[submodule "thirdparty/yaml-cpp"]
11+
path = thirdparty/yaml-cpp
12+
url = https://github.com/jbeder/yaml-cpp.git
13+
[submodule "thirdparty/fmt"]
14+
path = thirdparty/fmt
15+
url = https://github.com/fmtlib/fmt.git

CMakeLists.txt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.14)
1+
cmake_minimum_required(VERSION 3.15)
22

33
project(dxfplotter)
44

@@ -15,11 +15,13 @@ set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
1515
set(BUILD_TESTS OFF)
1616
set(JUST_INSTALL_CEREAL ON)
1717

18-
# Compilation flag with all warning and error as much as possible on warning.
19-
add_compile_options(-fPIC -Wall -Wextra -Werror -Wno-error=unused-parameter -Wno-error=unused-variable -Wno-error=unknown-pragmas -Wno-expansion-to-defined -Wno-error=missing-field-initializers)
18+
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
2019

21-
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 9.0)
22-
add_compile_options(-Wno-error=deprecated-copy -Wno-error=maybe-uninitialized)
20+
# Compilation flag with all warnings.
21+
if(MSVC)
22+
add_compile_options(/W4)
23+
else()
24+
add_compile_options(-fPIC -Wall -Wextra)
2325
endif()
2426

2527
set(CMAKE_CXX_STANDARD 17)
@@ -29,28 +31,26 @@ set(TEMPLATE_DIR ${PROJECT_SOURCE_DIR}/template)
2931

3032
find_package(codecov)
3133

34+
find_package(PythonInterp)
35+
3236
find_package(Qt5 COMPONENTS REQUIRED
3337
Widgets
3438
Gui
3539
)
3640

37-
find_package(yaml-cpp REQUIRED)
38-
find_package(fmt REQUIRED)
39-
4041
set(INCLUDE_DIRS
4142
src
4243
thirdparty
4344
thirdparty/cereal/include
4445
thirdparty/cavaliercontours/include
4546
thirdparty/fmt/include
4647
thirdparty/nanoflann/include
47-
thirdparty/tomlplusplus/include
48+
thirdparty/yaml-cpp/include
4849
template
4950
${CMAKE_BINARY_DIR}/src
5051
${CMAKE_BINARY_DIR}/template
5152
${Qt5Widgets_INCLUDE_DIRS}
5253
${Qt5Gui_INCLUDE_DIRS}
53-
${YAML_CPP_INCLUDE_DIRS}
5454
)
5555

5656
set(LINK_LIBRARIES
@@ -70,7 +70,7 @@ set(LINK_LIBRARIES
7070
libdxfrw
7171
fmt::fmt
7272
Qt5::Widgets
73-
${YAML_CPP_LIBRARIES}
73+
yaml-cpp
7474
)
7575

7676
include_directories(${INCLUDE_DIRS})

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# DXF Plotter
22

3-
> Fast and easy to use DXF to GCode converter for laser CNC
3+
> Fast and easy to use DXF to GCode converter for laser and router CNC
44
55

66
[![Build Status](https://github.com/panzergame/dxfplotter/actions/workflows/sonarcloud.yml/badge.svg?branch=develop)](https://github.com/panzergame/dxfplotter/actions)

ci/buildappimage.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ pushd "$BUILD_DIR"
3535

3636
# configure build files with CMake
3737
# we need to explicitly set the install prefix, as CMake's default is /usr/local for some reason...
38-
cmake "$REPO_ROOT" -DCMAKE_INSTALL_PREFIX=/usr
38+
cmake "$REPO_ROOT" -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TESTING=OFF
3939

4040
# build project and install files into AppDir
4141
make -j$(nproc)

ci/deploywindows.sh

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#! /bin/bash
2+
3+
set -x
4+
set -e
5+
6+
# generate release name
7+
COMMIT=$(git rev-parse --short HEAD)
8+
TAG=$(git describe --tags)
9+
RELEASE_NAME="dxfplotter-$TAG-$COMMIT-x86_64"
10+
11+
BUILD_DIR="build"
12+
BINARY_NAME="dxfplotter.exe"
13+
BINARY_PATH="${BUILD_DIR}/Release/${BINARY_NAME}"
14+
15+
DEPLOY_DIR="${RELEASE_NAME}"
16+
mkdir $DEPLOY_DIR
17+
cp $BINARY_PATH $DEPLOY_DIR
18+
19+
windeployqt --release --dir $DEPLOY_DIR "${DEPLOY_DIR}/${BINARY_NAME}"
20+
21+
zip -r "${RELEASE_NAME}.zip" $RELEASE_NAME

cmake/Findcereal.cmake

Lines changed: 0 additions & 43 deletions
This file was deleted.
Lines changed: 17 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)