You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Readme.md
+8-7Lines changed: 8 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,14 @@
1
-
This repository is to provide libraries needed to compile FreeCAD under Windows.
1
+
This repository is to provide libraries needed to compile FreeCAD under Windows. Releases are named according to which version of FreeCAD they are expected to work with. The most recent LibPack is typically only designed to work with the current development branch of FreeCAD. To compile release versions of FreeCAD you typically must use older versions of the LibPack. LibPacks release names include the version of FreeCAD they are designed to work with.
2
2
3
-
The current LibPack, v3.0, is tested to work with [Microsoft Visual C++](https://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B)(a.k.a. MSVC or VC) v19.40 (Visual Studio version 17.10), and is known to not work with earlier versions (e.g. Visual Studio 2019 will not work with LibPack v3, and must use LibPack v2.11) It should be possible to use other compilers like MinGW, however this is not tested. This LibPack only supports FreeCAD compilation in Release or RelWithDebInfo mode. It may be possible to compile the LibPack in Debug mode, but changes will certainly be required (and patches are welcome!). In particular, the pip installation of Numpy will have to be adjusted to compile a debug version of Numpy, which will otherwise fail to load from a debug compilation of Python.
3
+
The current LibPack, v3.1, is tested to work with [Microsoft Visual Studio](https://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B)version 17.12, e.g. MSVC 143, and is known to not work with earlier versions (e.g. Visual Studio 2019 will not work with LibPack v3, and must use LibPack v2.11) It should be possible to use other compilers like MinGW, however this is not tested. This LibPack only supports FreeCAD compilation in Release or RelWithDebInfo mode. It may be possible to compile the LibPack in Debug mode, but changes will certainly be required (and patches are welcome!). In particular, the pip installation of Numpy will have to be adjusted to compile a debug version of Numpy, which will otherwise fail to load from a debug compilation of Python.
4
4
5
5
For information how to use the LibPack to compile, see this Wiki page: https://wiki.freecadweb.org/Compile_on_Windows
6
6
7
7
## Building the LibPack ##
8
8
9
9
To build the LibPack locally, you will need the following:
10
10
* Network access
11
-
* Visual Studio 17.10.x, accessible by cMake (note that PySide cannot currently be compiled with Visual Studio 17.11, so self-builds of the LibPack **must** use 17.10.x. Earlier and later versions are not supported.)
11
+
* Visual Studio 17.12.x, accessible by cMake (other versions may work, but are not supported)
12
12
* CMake
13
13
* git
14
14
* 7z (see https://www.7-zip.org)
@@ -24,9 +24,10 @@ lists the source for each LibPack component. Depending on the component, there a
24
24
1) A pip package installed to the LibPack directory using the LibPack's Python interpreter
25
25
* Note that `pip` itself is installed using the `ensure_pip` Python module
26
26
1) Files copied from a local source
27
+
1) Compressed files downloaded from a remote source and unpacked
27
28
28
29
The JSON file just lists out the sources and versions: beyond specifying which method is used for the installation by setting
29
-
either "git-repo" and "git_ref", "pip-install", or "install-directory", the actual details of how things are built when source
30
+
either "git-repo" and "git_ref", or "install-directory", the actual details of how things are built when source
30
31
code is provided are set in the `compile_all.py` script. In that file, the class `Compiler` contains methods following the
31
32
naming convention `build_XXX` where `XXX` is the "name" provided in the JSON configuration file. If you need to add a compiled
32
33
or copied package, you must both specify it in the config.json file and provide a matching `build_XXX` method. For pip
@@ -41,11 +42,11 @@ examples.
41
42
python.exe create_libpack [arguments]
42
43
```
43
44
Arguments:
44
-
*`-m`, `--mode` -- 'release' or 'debug' (Default: 'release')
45
+
*`-m`, `--mode` -- 'release' or 'debug' (Default: 'release' -- debug is not currently functional)
45
46
*`-c`, `--config` -- Path to a JSON configuration file for this utility (Default: './config.json')
46
47
*`-w`, `--working` -- Directory to put all the clones and downloads in (Default: './working')
47
48
*`-e`, `--no-skip-existing-clone` -- If a given clone (or download) directory exists, delete it and download it again
48
49
*`-b`, `--no-skip-existing-build` -- If a given build already exists, run the build process again anyway
49
50
*`-s`, `--silent` -- I kow what I'm doing, don't ask me any questions
50
-
*`--7zip` -- Path to 7-zip executable
51
-
*`--bison` -- Path to Bison executable
51
+
*`--7zip` -- Path to 7-zip executable if not in PATH
52
+
*`--bison` -- Path to Bison executable if not in PATH
0 commit comments