Necessary tools:
- CMake (>= 3.16)
- pkg-config
- recent C/C++ compiler with C++17 support, recommended GCC (>= 7.5.0) or Clang (>= 9.0.0), or MSVC (>= 19.29.30146.0) on Windows
Required libraries1:
-
Configure:
cmake -B build . \ -DCMAKE_INSTALL_PREFIX=/usr \ [-Dparameter=value ...] -- The C compiler identification is GNU 12.2.0 -- The CXX compiler identification is GNU 12.2.0 ... -- Build files have been written to: /efibooteditor/build
Available parameters:
CMAKE_BUILD_TYPE=Debug,Release,RelWithDebInfo,MinSizeRel
- specifies the build type, can be used to overwrite custom/default C/C++ compiler flags with recommended valuesQT_VERSION_MAJOR=5,6
- force Qt5 or Qt6 build, useful if both are installed
-
Build
cmake --build build --config Release [ 5%] Automatic MOC and UIC for target efibooteditor ... [100%] Built target efibooteditor
-
Install
cmake --install build -- Install configuration: "" -- Installing: /usr/bin/efibooteditor ...
There is also:
- a package in the AUR for Arch Linux (-git variant)
- and a SPEC file for RPM based distributions (thanks @Justinzobel).
Releases automatically build a set of packages - they're mostly considered for testing purposes / making sure that the code compiles correctly on various environments, but they should also work just fine for normal usage. Just keep in mind they might have some specific requirements inherited from the build environment.
Latest releases are also available for download with Windows Package Manager.
Packages follow a specific naming pattern: EFIBootEditor-{VERSION}-{OS}-{QT_VERSION}-{COMPILER}.{EXTENSION}.
Release version.
Operating system used during build and generally which was targeted for the runtime. The package might work on other systems with similar versions of system libraries.
Targeted Qt version, generally required to have compatible Qt version installed, though some packages include all the necessary libraries in the bundles.
Compiler used during compilation, generally shouldn't matter but there might be some bugs caught in one but not the other.
Assets are delivered in various formats:
.dmg
- macOS App Bundle..deb
- Debian package - should also work on any Debian derivative as long as dependencies are met.2.ddeb
- Debian debug symbol package - primarily useful during troubleshooting..msi
- Windows installer..zip
,.tar.zst
- simple archive files, should contain all necessary files, ready to use in-place after decompression (.zip
is for Windows and.tar.zst
is for macOS and Linux).
Footnotes
-
Remember to install development files as well. For example
qt6-base-dev
,libefivar-dev
,libefiboot-dev
,zlib1g-dev
on Ubuntu. ↩ -
Using
.deb
packages on old Ubuntu (< 21.10) or Debian (< bullseye) releases might require manual Qt installation as versions in the official repositories are older than the minimum requirements. In the CI aqtinstall is used for installation, but then package install needs to be probably forced. Quick search through the internet also reveals PPAs with pre-built packages from Stephan Binner that might be useful. ↩