Schematic editor
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Přemysl Eric Janouch 4aeaf61c99
Synchronize cross-compilation scripts
2 months ago
cmake CMakeLists.txt: slightly modernize 11 months ago
docs/user-guide Bump version, update NEWS 11 months ago
liblogdiag Eliminate a Wayland-specific warning 11 months ago
po Bump version, update NEWS 11 months ago
share Tidy up GSettings 2 months ago
src Tidy up GSettings 2 months ago
tests Name change 2 years ago
.clang-format Improve clang-format configuration 11 months ago
.gitignore Don't generate marshallers in the source tree 11 months ago
CMakeLists.txt Tidy up GSettings 2 months ago
LICENSE Fix the file save dialog and translations 11 months ago
NEWS Bump version, update NEWS 11 months ago
README.adoc Update README 2 months ago
ToolchainCrossMinGW.cmake Figure out how to abuse MSYS2 repositories 12 months ago
ToolchainCrossMinGWW64.cmake Figure out how to abuse MSYS2 repositories 12 months ago
ToolchainCrossWin64.cmake Include modern build instructions for Win64 11 months ago
Win32Cleanup.cmake Remove unnecessary DLLs from Windows builds 11 months ago
Win32Depends.cmake Stop stuttering in CMake scripts 11 months ago Synchronize cross-compilation scripts 2 months ago Tidy up GSettings 2 months ago



logdiag is a simple multiplatform schematic editor written in GTK+.

This software has never really been finished, and is no longer being worked on, although I strive to keep it building on Windows XP and elsewhere.



Regular releases are sporadic. git master should be stable enough. You can get a package with the latest development version from Archlinux’s AUR.

Windows installers can be downloaded from the Releases page on Gitea.


Runtime dependencies: GTK+ >= 3.8, json-glib >= 0.10.4, lua >= 5.2
Build dependencies: CMake >= 3.10

Build from source on Unix-like systems

First check that you have all the required dependencies installed, including development packages, if your distribution provides them.

Reserve a directory for an out-of-source build:

$ mkdir build
$ cd build

Let CMake prepare the build. You may change the directory where you want the application to be installed. The default is /usr/local.


Now you have two basic choices of installing the application:

  1. Using make install:

    # make install
  2. Using cpack:

    You have to choose a package format understood by your system package manager. CMake offers DEB and RPM.

    After cpack finishes making the package, install this file.

    $ cpack -G DEB
    # dpkg -i logdiag-version-system-arch.deb

Build from source on Windows

Note that using the current method we’re stuck with GTK+ 3.8.2, which works worse on Windows 10, but better on XP and under WINE.

First, install CMake and MinGW (mingw32-base-bin, mingw32-gettext-dev). Ensure they’re both in your system path. If you want to build an installation package, also install NSIS. If you want to build within a path containing spaces, fix your CMake’s FindPkgConfig.cmake module to say:

separate_arguments(_pkgconfig_invoke_result UNIX_COMMAND "${_pkgconfig_invoke_result}")

Run the following command in the directory with source files to automatically fetch and set up all dependencies:

> cmake -P Win32Depends.cmake

Note that on Windows XP, CMake will fail to download those files, even with updates. You will have to run the script externally.

Reserve a directory for an out-of-source build and let CMake prepare the build:

> mkdir build
> cd build
> cmake .. -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release

Now you can generate a package with CPack. You may choose between:

  1. An NSIS-based installation package:

    > cpack -G NSIS
  2. A portable ZIP package:

    > cpack -G ZIP

By default, that is if you specify no generator, both packages are built.

Cross-compilation for Windows

The procedure is almost exactly the same as before, including the requirements. Just install MinGW-w64 and let automation take care of the rest.

$ cmake -P Win32Depends.cmake
$ mkdir build
$ cd build
$ cmake -DCMAKE_TOOLCHAIN_FILE=../ToolchainCrossMinGWW64.cmake \
$ cpack

Alternatively, for an unnecessarily bloated MSYS2-based 64-bit build:

$ sh -e
$ cmake -DCMAKE_TOOLCHAIN_FILE=ToolchainCrossWin64.cmake \
  -DCMAKE_BUILD_TYPE=Release -B build
$ cmake --build build -- package

Contributing and Support

Use to report any bugs, request features, or submit pull requests. git send-email is tolerated. If you want to discuss the project, feel free to join me at ircs://, channel #dev.

Bitcoin donations are accepted at: 12r5uEWEgcHC46xd64tt3hHt9EUvYYDHe9


This software is released under the terms of the 0BSD license, the text of which is included within the package along with the list of authors.