Schematic editor
Go to file
Přemysl Eric Janouch 3a087ad581
Remove unnecessary DLLs from Windows builds
This saves 20 MiB and 4 MiB of libraries in MSYS2 and bundle
builds respectively, in total, without any adverse effects.

The MSYS2 build remains bloated, due to the Adwaita icon theme.

Bump minimum CMake version to avoid a bug.
2021-10-23 18:01:30 +02:00
cmake Bump the CMake version requirement, fix Windows 2021-10-22 20:08:51 +02:00
docs/user-guide Name change 2020-09-28 04:49:03 +02:00
liblogdiag Update a comment about widget styling 2021-10-17 08:33:11 +02:00
po Fix the file save dialog and translations 2021-10-22 22:23:59 +02:00
share Bump the CMake version requirement, fix Windows 2021-10-22 20:08:51 +02:00
src Fix the file save dialog and translations 2021-10-22 22:23:59 +02:00
tests Name change 2020-09-28 04:49:03 +02:00
vera++@45f3ab870d Update vera++ 2015-01-18 23:29:53 +01:00
.gitignore Ignore Qt Creator settings file in the tree. 2011-07-05 13:11:49 +02:00
.gitmodules Update vera++ 2015-01-18 23:29:53 +01:00
CMakeLists.txt Remove unnecessary DLLs from Windows builds 2021-10-23 18:01:30 +02:00
config.h.in Bump the CMake version requirement, fix Windows 2021-10-22 20:08:51 +02:00
LICENSE Fix the file save dialog and translations 2021-10-22 22:23:59 +02:00
NEWS Bump version, update NEWS 2021-10-22 22:34:39 +02:00
README.adoc Remove unnecessary DLLs from Windows builds 2021-10-23 18:01:30 +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 Win32Depends.cmake: get rid of 7z 2021-10-22 21:53:35 +02:00
Win64Depends.sh Further minor improvements to cross-compilation 2021-10-22 01:40:29 +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.

logdiag en

Packages

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

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.

Using make install

# make install

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 with the current method were stuck with GTK+ 3.8.2.

First install CMake and MinGW. Add both to 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 FindPkgConfig.cmake 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 setup all dependencies (contact me if the script becomes obsolete, its easy to fix but I usually update it only just a short while before releasing a new version in order to resolve compatibility issues):

> cmake -P Win32Depends.cmake

Note that Windows XP is no longer able to reliably download from HTTPS sources.

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

> mkdir build
> cd build

Let CMake prepare the 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 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.