Schematic editor
Go to file
2023-07-01 21:59:05 +02:00
cmake CMakeLists.txt: slightly modernize 2021-10-31 04:18:44 +01:00
docs/user-guide Bump version, update NEWS 2021-11-03 07:18:35 +01:00
liblogdiag Eliminate a Wayland-specific warning 2021-11-17 07:42:37 +01:00
po Bump version, update NEWS 2021-11-03 07:18:35 +01:00
share Tidy up GSettings 2022-07-25 13:31:32 +02:00
src Tidy up GSettings 2022-07-25 13:31:32 +02:00
tests Name change 2020-09-28 04:49:03 +02:00
.clang-format Improve clang-format configuration 2021-10-30 03:01:11 +02:00
.gitignore Don't generate marshallers in the source tree 2021-11-01 10:14:19 +01:00
CMakeLists.txt CMakeLists.txt: fix RPM license field 2023-06-28 01:57:50 +02:00
config.h.in Tidy up GSettings 2022-07-25 13:31:32 +02:00
LICENSE Fix the file save dialog and translations 2021-10-22 22:23:59 +02:00
NEWS Bump version, update NEWS 2021-11-03 07:18:35 +01:00
README.adoc README.adoc: update package information 2023-07-01 21:59:05 +02:00
ToolchainCrossMinGW.cmake Figure out how to abuse MSYS2 repositories 2021-10-21 19:38:37 +02:00
ToolchainCrossMinGWW64.cmake Figure out how to abuse MSYS2 repositories 2021-10-21 19:38:37 +02:00
ToolchainCrossWin64.cmake Include modern build instructions for Win64 2021-10-21 21:53:20 +02:00
Win32Cleanup.cmake Remove unnecessary DLLs from Windows builds 2021-10-23 18:01:30 +02:00
Win32Depends.cmake Stop stuttering in CMake scripts 2021-10-29 04:56:56 +02:00
Win64Depends.sh Win64Depends.sh: only extract what we need 2023-06-26 20:54:38 +02:00

logdiag

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.

logdiag en

Packages

Regular releases are sporadic. git master should be stable enough. You can get a package with the latest development version using Arch Linuxs AUR, or as a Nix derivation.

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

Requirements

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.

$ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr

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 were 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 theyre 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 CMakes 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 \
  -DCMAKE_BUILD_TYPE=Release ..
$ cpack

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

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

Contributing and Support

Use https://git.janouch.name/p/logdiag 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://irc.janouch.name, channel #dev.

Bitcoin donations are accepted at: 12r5uEWEgcHC46xd64tt3hHt9EUvYYDHe9

License

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.