mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2025-12-06 14:00:55 +03:00
- test whether native library matches the JAR (bad builds could e.g. ship a newer JAR with an older incompatible native library) - invoke a method (to get API version) to check whether native library works correctly if API version do not match, or method could not invoked correctly, disable usage of FlatLaf native library Windows and macOS binaries built and signed locally in clean workspace Linux binary built by GitHub Actions
FlatLaf Linux Native Library
This sub-project contains the source code for the FlatLaf Linux native library.
The native library can be built only on Linux and requires a C++ compiler.
To be able to build FlatLaf on any platform, and without C++ compiler, the pre-built native library is checked into Git at flatlaf-core/src/main/resources/com/formdev/flatlaf/natives/.
The native library was built on a GitHub server with the help of GitHub Actions. See: Native Libraries workflow. Then the produced Artifacts ZIP was downloaded and the native library checked into Git.
Development
To build the library on Linux, some packages needs to be installed.
Ubuntu
build-essential contains GCC and development tools. libxt-dev contains the
X11 toolkit development headers.
sudo apt update
sudo apt install build-essential libxt-dev
CentOS
sudo yum install libXt-devel