diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml new file mode 100644 index 0000000..74f3935 --- /dev/null +++ b/.github/workflows/cmake.yml @@ -0,0 +1,37 @@ +name: CMake + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +env: + # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) + BUILD_TYPE: Release + +jobs: + build: + # The CMake configure and build commands are platform agnostic and should work equally + # well on Windows or Mac. You can convert this to a matrix build if you need + # cross-platform coverage. + # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Install system dependencies + if: runner.os == 'Linux' + run: | + sudo apt-get update + sudo apt-get -y install libgtk-3-dev gettext + + - name: Configure CMake + # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + + - name: Build + # Build your program with the given configuration + run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} diff --git a/README.MD b/README.MD index 008d39e..3ff07ba 100644 --- a/README.MD +++ b/README.MD @@ -1,5 +1,7 @@ # GDS-Render Readme +[![CMake](https://github.com/0mhu/gds-render/actions/workflows/cmake.yml/badge.svg?branch=master)](https://github.com/0mhu/gds-render/actions/workflows/cmake.yml) + This software is a rendering programm for GDS2 layout files. The GDS2 format is mainly used in integrated circuit development. This program allows the conversion of a GDS file to a vector graphics file. diff --git a/doxygen/compilation.dox b/doxygen/compilation.dox index ca0ae2f..93b7e10 100644 --- a/doxygen/compilation.dox +++ b/doxygen/compilation.dox @@ -30,7 +30,7 @@ Development is done with the following library versions: | Cairographics | GLib2 | GTK3 | | ------------- | ---------- | --------- | -| 1.17.3 | 2.60.6-1 | 3.24.10-1 | +| 1.17.2 | 2.64.2 | 3.24.18 | @section comp-instr Compilation Instructions @subsection linux-build General Linux Build Instruction @@ -47,7 +47,7 @@ Once cmake has finished, type make @endcode to build the program and - + @code make documentation @endcode @@ -59,7 +59,7 @@ The subfolder 'AUR' contains a PKGBUILD file to build an Archlinux/Pacman packag @subsection comp-warnings Compiler Warnings -The compiler will throw the following warnings. Compiled with GCC 8.2.1. +The compiler will throw the following warnings. Compiled with GCC 9.3.0. | Warning | Assessment | | ------- | ---------- | diff --git a/gds-render-gui.c b/gds-render-gui.c index a55b7e0..7802013 100644 --- a/gds-render-gui.c +++ b/gds-render-gui.c @@ -187,7 +187,8 @@ static gboolean cell_store_filter_visible_func(GtkTreeModel *model, GtkTreeIter gtk_tree_model_get(model, iter, CELL_SEL_CELL, &cell, CELL_SEL_LIBRARY, &lib, -1); - if (lib) { + /* Show always, if this is a pure lib entry */ + if (lib && !cell) { result = TRUE; goto exit_filter; } diff --git a/geometric/vector-operations.c b/geometric/vector-operations.c index f3b0eb1..16580d8 100644 --- a/geometric/vector-operations.c +++ b/geometric/vector-operations.c @@ -65,7 +65,7 @@ void vector_2d_rotate(struct vector_2d *vec, double angle) sin_val = sin(angle); cos_val = cos(angle); - vector_2d_copy(&temp, vec); + (void)vector_2d_copy(&temp, vec); /* Apply rotation matrix */ vec->x = (cos_val * temp.x) - (sin_val * temp.y); diff --git a/layer/color-palette.c b/layer/color-palette.c index ae51dae..2372e9c 100644 --- a/layer/color-palette.c +++ b/layer/color-palette.c @@ -238,6 +238,7 @@ static void color_palette_dispose(GObject *gobj) if (palette->color_array) { palette->color_array_length = 0; free(palette->color_array); + palette->color_array = NULL; } /* Chain up to parent class */