Craft is an open source meta build system and package manager. It manages dependencies and builds libraries and applications from source, on Windows, Mac, Linux and FreeBSD.
craft --search packagename
craft --unmerge packagename
craft -i packagename
if you just modified the source code and want to test-compile:
craft --compile packagename
.exe setup, ... for a specific package:
craft --package packagename
Packager/PackageType in CraftSettings.ini controls which type of installer is created
When developing on a specific application, you may want to develop on its library as well.
craft -i --no-cache <somelib>
--no-cache also disables the cache for all missing/outdated dependencies.
For the applications to run with changes to the source of the package:
craft --compile --install --qmerge <somelib>
craft -i craft
craft -i craft-blueprints-kde
Blueprints are stored in separate repositories. At the moment there are these repositories:
To navigate to this repository on your local file system:
Open a file browser in that folder and start adding new recipes by copying from existing ones.
Note that the name of the package folder needs to match the blueprint name. An example would be
Packages are by-default installed from the cache. To build a non default version (or to build from master)
craft --set version=some_version packagename
some_version with the branch name of the source git repository of the package (like
master) or version number (for eg: 0.57.0, 0.58.0).
Alternatively ,edit $CraftRoot/etc/BlueprintSettings.ini and add:
[category/packagename] version = branch
For example, to install master branch of khtml, the line to be appended should look like:
[frameworks/khtml] version = master
To change the version of all packages of a category, like
[libs/qt5] version = 5.9.3
To compile from within Qt Creator, I need to set up a kit. This is an example for mingw64.
To be able to use Craft libs in your cmake project from QtCreator follow these steps:
If a package fails to build, you'll be greeted with something like:
... craft warning: while running make cmd: jom craft warning: Action: compile for libs/qt5/qtbase FAILED *** Craft all failed: all of libs/qtbase failed after 0:07:25 *** craft error: fatal error: package libs/qtbase all failed
In order to figure out what failed, grep the command line output above for errors.
Or have a look at the log file located in $HOME/.craft (%USERPROFILE%\.craft on Windows) which will contain much more details.
Search for "error", or "error:" in the file.