You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
zhanghao 993e8377b7 first commit 1 week ago
..
Dockerfile.Arch first commit 1 week ago
Dockerfile.Conda first commit 1 week ago
Dockerfile.Debian first commit 1 week ago
Dockerfile.Fedora first commit 1 week ago
Dockerfile.Manjaro first commit 1 week ago
Dockerfile.Ubuntu first commit 1 week ago
Dockerfile.UbuntuQt6 first commit 1 week ago
README.conda.rst first commit 1 week ago
README.rst first commit 1 week ago
arch.sh first commit 1 week ago
debian.sh first commit 1 week ago
fedora.sh first commit 1 week ago
manjaro.sh first commit 1 week ago
ubuntu.sh first commit 1 week ago
ubuntuQt6.sh first commit 1 week ago

README.rst

==========================
FreeCAD build dependencies
==========================

Distributions
=============

The following commands are used to install the packages needed to build FreeCAD from source on the following distributions.


Arch Linux
----------

The following command is used to install the required packages used to compile FreeCAD on Arch Linux.

.. code-block:: console

    sudo sh tools/build/Docker/arch.sh


Debian
------

The following command is used to install the required packages used to compile FreeCAD on Debian.

.. code-block:: console

    sudo sh tools/build/Docker/debian.sh


Fedora
------

The following command is used to install the required packages used to compile FreeCAD on Fedora.

.. code-block:: console

    sudo sh tools/build/Docker/fedora.sh


Manjaro
-------

The following command is used to install the required packages used to compile FreeCAD on Manjaro Linux.

.. code-block:: console

    sudo sh tools/build/Docker/manjaro.sh


Ubuntu
------


The following command is used to install the required packages used to compile FreeCAD on Ubuntu Linux.

.. code-block:: console

    sudo sh tools/build/Docker/ubuntu.sh


Containers
==========

The following will create containers that have all the required dependencies
pre-installed that are needed to build FreeCAD from source.


Arch Linux
-----------

The following commands are used to create and run a Arch Linux build environment.

.. code-block:: console

    docker build --file tools/build/Docker/Dockerfile.Arch --tag freecad-arch
    docker run --rm --interactive --tty --volume $(pwd):/builds:z freecad-arch


Debian
------

The following commands are used to create and run a Debian build environment.

.. code-block:: console

    docker build --file tools/build/Docker/Dockerfile.Debian --tag freecad-debian
    docker run --rm --interactive --tty --volume $(pwd):/builds:z freecad-debian


Fedora
------

The following commands are used to create and run a Fedora build environment.

.. code-block:: console

    docker build --file tools/build/Docker/Dockerfile.Fedora --tag freecad-fedora
    docker run --rm --interactive --tty --volume $(pwd):/builds:z freecad-fedora


Manjaro
-------

The following commands are used to create and run a Manjaro build environment.

.. code-block:: console

    docker build --file tools/build/Docker/Dockerfile.Manjaro --tag freecad-manjaro
    docker run --rm --interactive --tty --volume $(pwd):/builds:z freecad-manjaro


Ubuntu
------

The following commands are used to create and run a Ubuntu build environment.


.. code-block:: console

    docker build --file tools/build/Docker/Dockerfile.Ubuntu --tag freecad-ubuntu
    docker run --rm --interactive --tty --volume $(pwd):/builds:z freecad-ubuntu


Build Code
==========

To build the FreeCAD code inside one of the running containers the following
commands should be used

.. code-block:: console

    mkdir freecad-build
    cd freecad-build
    cmake ../freecad-source
    make -j$(nproc --ignore=2)