Windows LibPack

Maintaining the FreeCAD LibPack for Windows.

To create a new LibPack for Windows, begin by creating an empty directory. The suggested naming scheme is to name it “LibPack-XX-YY-ARCH” where XX is the release of FreeCAD the pack is intended to work with, YY is a version number of the LibPack itself, and ARCH is the architecture the LibPack was build for (e.g. x86_64 or arm64). The rest of this document will refer to that directory as LIBPACK.

Note that in several places below you are instructed to load a developer’s power shell: you may use whichever shell you’d like, but ensure that you are loading the shell configured with the x64 native compilation tools if you are compiling on an Intel processor. ARM compilation is untested.

In most of the instructions below, code is cloned directly from a first-party git repository. In most cases it is perfectly feasible to directly download a source release package instead of cloning the entire git repository.

For the most part, the libraries below are self-compiled in order to reduce dependency on third-party packagers. In some cases it is feasible to download precompiled binaries of the individual items. Major exceptions here are that both Python and Qt are used in their precompiled forms since the packages are provided for Windows by the first parties in each case. libclang is provided by the Qt project as part of the dependencies of PySide6, but can be self-compiled if desired.

WORK IN PROGRESS!!

Install the following packages into the subdirectory you created for this LibPack. In general the order below should work, with dependencies being installed before the software which requires them. Note that not all packages use the same installation structure, so the final LibPack contains several different types of installation tree.