Update live install script on linux/mac and merge system support docs into dev setup docs

This commit is contained in:
Dion Moult
2024-08-02 15:56:40 +10:00
parent 38759348cd
commit 646cc59687
5 changed files with 137 additions and 221 deletions
+55 -67
View File
@@ -14,19 +14,29 @@ Unstable installation
**Unstable installation** is almost the same as **Stable installation**, except **Unstable installation** is almost the same as **Stable installation**, except
that they are typically updated every day. Simply download a daily build from that they are typically updated every day. Simply download a daily build from
the `GitHub releases page the `GitHub releases page
<https://github.com/IfcOpenShell/IfcOpenShell/releases>`__, then follow the <https://github.com/IfcOpenShell/IfcOpenShell/releases?q=blenderbim&expanded=true>`__,
usual :doc:`installation instructions</users/quickstart/installation>`. then follow the usual :doc:`installation
instructions</users/quickstart/installation>`.
You will need to choose which build to download. The BlenderBIM Add-on officially supports all major 64-bit platforms, as well as
the Python version shipped by the Blender Foundation for the most recent three
major Blender versions:
- If you are on Blender >=4.1, choose py311 - 64-bit Linux (``linux-x64``)
- If you are on Blender >=3.1 and <=4.0, choose py310 - 64-bit MacOS Intel (``macos-x64``)
- If you are on Blender >=2.93 and <3.1, choose py39 - 64-bit MacOS Silicon (``macos-arm64``)
- Choose ``linux-x64``, ``macos-x64`` (Apple Intel), ``macos-arm64`` (Apple Silicon), or - 64-bit Windows (``windows-x64``)
``windows-x64`` depending on your operating system - Blender 4.2 with Python 3.11
For users who don't follow the `VFX Platform <https://vfxplatform.com/>`_ Due to significant changes in the Blender extensions system, Blender versions
standard, we also provide py312 builds. <4.2 are not supported.
Developer builds may exist for different versions of Python but there will be
no guarantee of the uptime or stability of these builds.
Other system specifications match the `Blender Requirements
<https://www.blender.org/download/requirements/>`_ and the `VFX Platform
<https://vfxplatform.com/>`_ standard.
Sometimes, a build may be delayed, or contain broken code. We try to avoid this, Sometimes, a build may be delayed, or contain broken code. We try to avoid this,
but it happens. but it happens.
@@ -46,7 +56,9 @@ compile IfcOpenShell is out of scope of this document.
You can create your own package by using the Makefile as shown below. You can You can create your own package by using the Makefile as shown below. You can
choose between a ``PLATFORM`` of ``linux``, ``macos``, ``macosm1``, and ``win``. choose between a ``PLATFORM`` of ``linux``, ``macos``, ``macosm1``, and ``win``.
You can choose between a ``PYVERSION`` of ``py311``, ``py310``, or ``py39``. You can choose between a ``PYVERSION`` of ``py312``, ``py311``, ``py310``, or
``py39``.
.. code-block:: bash .. code-block:: bash
cd src/blenderbim cd src/blenderbim
@@ -60,18 +72,17 @@ Live development environment
---------------------------- ----------------------------
One option for developers who want to actively develop from source is to follow One option for developers who want to actively develop from source is to follow
the instructions from **Bundling for Blender**. However, creating a build, the instructions from :ref:`devs/installation:Bundling for Blender`. However,
uninstalling the old add-on, and installing a new build is a slow process. creating a build, uninstalling the old add-on, and installing a new build is a
Although it works, it is very slow, so we do not recommend it. slow process. Although it works, it is very slow, so we do not recommend it.
A more rapid approach is to follow the **Unstable installation** method, as this A more rapid approach is to follow the :ref:`devs/installation:Unstable
provides all dependencies for you out of the box. installation` method, as this provides all dependencies for you out of the box.
Once you've done this, you can replace certain Python files that tend to be Once you've done this, you can replace certain Python files that tend to be
updated frequently with those from the Git repository. We're going to use updated frequently with those from the Git repository. We're going to use
symlinks (Windows users can use ``mklink``), so we can code in our Git symbolic links, so we can code in our Git repository, and see the changes in
repository, and see the changes in our Blender installation (you will need to our Blender installation (you will need to restart Blender to see changes).
restart Blender to see changes).
For Linux or Mac: For Linux or Mac:
@@ -117,19 +128,17 @@ Packaged installation
Tips for package managers Tips for package managers
------------------------- -------------------------
If you are interested in packaging the BlenderBIM Add-on for a packaging
manager, read on.
The BlenderBIM Add-on is fully contained in the ``blenderbim/`` subfolder of the The BlenderBIM Add-on is fully contained in the ``blenderbim/`` subfolder of the
Blender add-ons directory. This is typically distributed as a zipfile as per Blender add-ons directory. This is typically distributed as a zipfile as per
Blender add-on conventions. Within this folder, you'll find the following file Blender add-on conventions. Within this folder, you'll find the following file
structure: structure:
:: ::
core/ (Blender agnostic core code) core/ (Blender agnostic core logic)
tool/ (Blender specific logic) tool/ (Blender specific shared functionality)
bim/ (Blender specific UI) bim/ (Blender specific UI)
libs/ (dependencies) libs/ (other assets)
wheels/ (dependencies)
__init__.py __init__.py
This corresponds to the structure found in the source code `here This corresponds to the structure found in the source code `here
@@ -142,50 +151,29 @@ dependencies are bundled with the add-on for convenience.
If you choose to install the BlenderBIM Add-on and use your own system If you choose to install the BlenderBIM Add-on and use your own system
dependencies, the source of truth for how dependencies are bundled are found in dependencies, the source of truth for how dependencies are bundled are found in
the `Makefile the `Makefile
<https://github.com/IfcOpenShell/IfcOpenShell/blob/v0.8.0/src/blenderbim/Makefile>`__. <https://github.com/IfcOpenShell/IfcOpenShell/blob/v0.8.0/src/blenderbim/Makefile>`__
in the ``dist`` target.
Required Python modules to be stored in ``libs/site/packages/`` are: Add-on compatibility
:: --------------------
ifcopenshell The BlenderBIM Add-on is a non-trivial add-on. By turning Blender into a
bcf graphical front-end to a native IFC authoring platform, some fundamental Blender
ifcclash features (such as hotkeys for basic functionality like object deletion or
ifccobie duplication) have been patched and many dependencies have been introduced.
ifccsv
ifcdiff
ifc4d
ifc5d
ifcpatch
ifctester
pystache
svgwrite
dateutil
isodate
networkx
https://github.com/Andrej730/aud/archive/refs/heads/master-reduced-size.zip
deepdiff
jsonpickle
ordered_set
pyparsing
xmlschema
elementpath
six
lark-parser
parse
parse_type
xlsxwriter
odfpy
defusedxml
jmespath
ifcjson
Notes: Other add-ons may no longer work as intended when the BlenderBIM Add-on is
enabled, or vice versa, the BlenderBIM Add-on may no longer work as intended
when other add-ons are enabled.
1. ``ifcopenshell`` almost always requires the latest version due to the fast paced nature of the add-on development. Known scenarios which will lead to add-on incompatibility include:
2. ``ifcjson`` can be found `here <https://github.com/IFCJSON-Team/IFC2JSON_python/tree/master/file_converters>`__.
Required static assets are: - The add-on also overrides the same hotkeys. For example, if an add-on
:: overrides the "X" key to delete an object, you will need to manually trigger
(either via menu or custom hotkey) the BlenderBIM Add-on equivalent operator
bim/data/gantt/jsgantt.js (from jsgantt-improved) (e.g. IFC Delete).
bim/data/gantt/jsgantt.css (from jsgantt-improved) - The add-on uses object deletion or duplication macros with dictionary
override. Note that this is also deprecated in Blender, so the other add-on
should be updated to fix this.
- The add-on requires a conflicting dependency, or a conflicting version of the
same dependency. Neither add-on may work simultaneously.
@@ -1,45 +0,0 @@
System support
==============
The BlenderBIM Add-on officially supports all major 64-bit platforms, as well as
the Python version shipped by the Blender Foundation for the most recent three
major Blender versions:
- 64-bit Linux on Python 3.10
- 64-bit Linux on Python 3.11
- 64-bit MacOS Intel on Python 3.10
- 64-bit MacOS Intel on Python 3.11
- 64-bit MacOS Silicon on Python 3.10
- 64-bit MacOS Silicon on Python 3.11
- 64-bit Windows on Python 3.10
- 64-bit Windows on Python 3.11
Note that developer builds may exist for older versions of Python but there will
be no guarantee of the uptime or stability of these builds.
Other system specifications match the `Blender Requirements
<https://www.blender.org/download/requirements/>`_.
Add-on compatibility
--------------------
The BlenderBIM Add-on is a non-trivial add-on. By turning Blender into a
graphical front-end to a native IFC authoring platform, some fundamental Blender
features (such as hotkeys for basic functionality like object deletion or
duplication) have been patched and many dependencies have been introduced.
Other add-ons may no longer work as intended when the BlenderBIM Add-on is
enabled, or vice versa, the BlenderBIM Add-on may no longer work as intended
when other add-ons are enabled.
Known scenarios which will lead to add-on incompatibility include:
- The add-on also overrides the same hotkeys. For example, if an add-on
overrides the "X" key to delete an object, you will need to manually trigger
(either via menu or custom hotkey) the BlenderBIM Add-on equivalent operator
(e.g. IFC Delete).
- The add-on uses object deletion or duplication macros with dictionary
override. Note that this is also deprecated in Blender, so the other add-on
should be updated to fix this.
- The add-on requires a conflicting dependency, or a conflicting version of the
same dependency. Neither add-on may work simultaneously.
-6
View File
@@ -193,11 +193,6 @@ suggesting new features, or contributing code, your involvement is highly encour
:doc:`/devs/running_tests` :doc:`/devs/running_tests`
Testing and quality assurance. Testing and quality assurance.
.. container:: card
:doc:`/devs/system_support`
Multiplatform compatibility.
.. container:: card .. container:: card
:doc:`/devs/ux_guidelines` :doc:`/devs/ux_guidelines`
@@ -216,5 +211,4 @@ suggesting new features, or contributing code, your involvement is highly encour
devs/undo_system devs/undo_system
devs/code_style devs/code_style
devs/running_tests devs/running_tests
devs/system_support
devs/ux_guidelines devs/ux_guidelines
@@ -1,70 +1,57 @@
@echo off @echo off
echo SETUP BLENDERBIM ADD-ON LIVE DEVELOPMENT ENVIRONMENT echo SETUP BLENDERBIM ADD-ON LIVE DEVELOPMENT ENVIRONMENT
echo Update BLENDER, BLENDER_VERSION, PYTHON_VERSION, BBIM_REPO, BLENDER_USER_NAME in the script bellow. echo Update REPO_PATH, BLENDER_PATH, PACKAGE_PATH, BLENDERBIM_PATH in the script below.
echo Put the script at the root of your IfcOpenShell git repository
echo This script needs to be run as administrator (to create symbolic links) echo This script needs to be run as administrator (to create symbolic links)
echo Make sure you have followed these steps before proceeding :) echo Make sure you have followed these steps before proceeding :)
pause pause
SET BLENDER_VERSION=4.2 SET REPO_PATH=%HOMEDRIVE%\Users\%USERNAME%\Where\Your\Git\Repository\Is\Cloned\IfcOpenShell
SET PYTHON_VERSION=3.11 SET BLENDER_PATH=%HOMEDRIVE%\Users\%USERNAME%\AppData\Roaming\Blender Foundation\Blender\4.2
SET BBIM_REPO=user_default SET PACKAGE_PATH=%BLENDER_PATH%\extensions\.local\lib\python3.11\site-packages
rem Can be useful e.g. if you're running script from administrator account SET BLENDERBIM_PATH=%BLENDER_PATH%\extensions\user_default\blenderbim
rem and need to setup dev environment for some other user.
SET BLENDER_USER_NAME=%USERNAME%
SET BLENDER=%HOMEDRIVE%\Users\%BLENDER_USER_NAME%\AppData\Roaming\Blender Foundation\Blender\%BLENDER_VERSION% echo Changing to the Git repository directory...
SET BLENDER_LOCAL=%BLENDER%\extensions\.local\lib\python%PYTHON_VERSION%\site-packages cd %REPO_PATH%
SET BLENDERBIM=%BLENDER_LOCAL%\blenderbim
SET BLENDER_EXT=%BLENDER%\extensions\%BBIM_REPO%\blenderbim
echo Removing the Blender add-on Python code...
del "%BLENDER_EXT%\__init__.py"
rd /S /Q "%BLENDERBIM%"
echo Replacing them with links to the Git repository...
mklink "%BLENDER_EXT%\__init__.py" "%CD%\src\blenderbim\blenderbim\__init__.py"
mklink /D "%BLENDERBIM%" "%CD%\src\blenderbim\blenderbim"
echo Copy over compiled IfcOpenShell files... echo Copy over compiled IfcOpenShell files...
copy "%BLENDER_LOCAL%\ifcopenshell\*_wrapper*" "%CD%\src\ifcopenshell-python\ifcopenshell\" copy "%PACKAGE_PATH%\ifcopenshell\*_wrapper*" "%CD%\src\ifcopenshell-python\ifcopenshell\"
echo Remove the IfcOpenShell dependency... echo Remove extension and link to Git...
rd /S /Q "%BLENDER_LOCAL%\ifcopenshell" del "%BLENDERBIM_PATH%\__init__.py"
rd /S /Q "%PACKAGE_PATH%\blenderbim"
rd /S /Q "%PACKAGE_PATH%\ifcopenshell"
del "%PACKAGE_PATH%\ifccsv.py"
del "%PACKAGE_PATH%\ifcdiff.py"
del "%PACKAGE_PATH%\bsdd.py"
rd /S /Q "%PACKAGE_PATH%\bcf"
rd /S /Q "%PACKAGE_PATH%\ifc4d"
rd /S /Q "%PACKAGE_PATH%\ifc5d"
rd /S /Q "%PACKAGE_PATH%\ifccityjson"
rd /S /Q "%PACKAGE_PATH%\ifcclash"
rd /S /Q "%PACKAGE_PATH%\ifcpatch"
rd /S /Q "%PACKAGE_PATH%\ifctester"
rd /S /Q "%PACKAGE_PATH%\ifcfm"
echo Replace them with links to the Git repository... mklink "%BLENDERBIM_PATH%\__init__.py" "%CD%\src\blenderbim\blenderbim\__init__.py"
mklink /D "%BLENDER_LOCAL%\ifcopenshell" "%CD%\src\ifcopenshell-python\ifcopenshell" mklink /D "%PACKAGE_PATH%\blenderbim" "%CD%\src\blenderbim\blenderbim"
mklink /D "%PACKAGE_PATH%\ifcopenshell" "%CD%\src\ifcopenshell-python\ifcopenshell"
echo Remove and link other IfcOpenShell utilities... mklink "%PACKAGE_PATH%\ifccsv.py" "%CD%\src\ifccsv\ifccsv.py"
del "%BLENDER_LOCAL%\ifccsv.py" mklink "%PACKAGE_PATH%\ifcdiff.py" "%CD%\src\ifcdiff\ifcdiff.py"
del "%BLENDER_LOCAL%\ifcdiff.py" mklink "%PACKAGE_PATH%\bsdd.py" "%CD%\src\bsdd\bsdd.py"
del "%BLENDER_LOCAL%\bsdd.py" mklink /D "%PACKAGE_PATH%\bcf" "%CD%\src\bcf\bcf"
rd /S /Q "%BLENDER_LOCAL%\bcf" mklink /D "%PACKAGE_PATH%\ifc4d" "%CD%\src\ifc4d\ifc4d"
rd /S /Q "%BLENDER_LOCAL%\ifc4d" mklink /D "%PACKAGE_PATH%\ifc5d" "%CD%\src\ifc5d\ifc5d"
rd /S /Q "%BLENDER_LOCAL%\ifc5d" mklink /D "%PACKAGE_PATH%\ifccityjson" "%CD%\src\ifccityjson\ifccityjson"
rd /S /Q "%BLENDER_LOCAL%\ifccityjson" mklink /D "%PACKAGE_PATH%\ifcclash" "%CD%\src\ifcclash\ifcclash"
rd /S /Q "%BLENDER_LOCAL%\ifcclash" mklink /D "%PACKAGE_PATH%\ifcpatch" "%CD%\src\ifcpatch\ifcpatch"
rd /S /Q "%BLENDER_LOCAL%\ifcpatch" mklink /D "%PACKAGE_PATH%\ifctester" "%CD%\src\ifctester\ifctester"
rd /S /Q "%BLENDER_LOCAL%\ifctester" mklink /D "%PACKAGE_PATH%\ifcfm" "%CD%\src\ifcfm\ifcfm"
rd /S /Q "%BLENDER_LOCAL%\ifcfm"
mklink "%BLENDER_LOCAL%\ifccsv.py" "%CD%\src\ifccsv\ifccsv.py"
mklink "%BLENDER_LOCAL%\ifcdiff.py" "%CD%\src\ifcdiff\ifcdiff.py"
mklink "%BLENDER_LOCAL%\bsdd.py" "%CD%\src\bsdd\bsdd.py"
mklink /D "%BLENDER_LOCAL%\bcf" "%CD%\src\bcf\bcf"
mklink /D "%BLENDER_LOCAL%\ifc4d" "%CD%\src\ifc4d\ifc4d"
mklink /D "%BLENDER_LOCAL%\ifc5d" "%CD%\src\ifc5d\ifc5d"
mklink /D "%BLENDER_LOCAL%\ifccityjson" "%CD%\src\ifccityjson\ifccityjson"
mklink /D "%BLENDER_LOCAL%\ifcclash" "%CD%\src\ifcclash\ifcclash"
mklink /D "%BLENDER_LOCAL%\ifcpatch" "%CD%\src\ifcpatch\ifcpatch"
mklink /D "%BLENDER_LOCAL%\ifctester" "%CD%\src\ifctester\ifctester"
mklink /D "%BLENDER_LOCAL%\ifcfm" "%CD%\src\ifcfm\ifcfm"
echo Manually downloading some third party dependencies... echo Manually downloading some third party dependencies...
curl https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.js -o "%BLENDERBIM%\bim\data\gantt\jsgantt.js" curl https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.js -o "%PACKAGE_PATH%\blenderbim\bim\data\gantt\jsgantt.js"
curl https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.css -o "%BLENDERBIM%\bim\data\gantt\jsgantt.css" curl https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.css -o "%PACKAGE_PATH%\blenderbim\bim\data\gantt\jsgantt.css"
curl -L https://github.com/BrickSchema/Brick/releases/download/nightly/Brick.ttl -o "%BLENDERBIM%\bim\schema\Brick.ttl" curl -L https://github.com/BrickSchema/Brick/releases/download/nightly/Brick.ttl -o "%PACKAGE_PATH%\blenderbim\bim\schema\Brick.ttl"
pause pause
@@ -1,60 +1,52 @@
git clone https://github.com/IfcOpenShell/IfcOpenShell.git # Please update REPO_PATH, BLENDER_PATH, PACKAGE_PATH, BLENDERBIM_PATH in the script below.
cd IfcOpenShell # Default BLENDER_PATH on Mac: "/Users/$USER/Library/Application Support/Blender/4.2/"
# Default BLENDER_PATH on Linux: "$HOME/.config/blender/4.2/"
# REPO_PATH="/path/to/where/your/git/repository/is/cloned/IfcOpenShell"
REPO_PATH="/home/dion/Projects/ifcopenshell/"
BLENDER_PATH="${HOME}/.config/blender/4.2"
PACKAGE_PATH="${BLENDER_PATH}/extensions/.local/lib/python3.11/site-packages"
BLENDERBIM_PATH="${BLENDER_PATH}/extensions/user_default/blenderbim"
# path to BlenderBIM addon # Changing to the Git repository directory
# default path on Mac: "/Users/$USER/Library/Application Support/Blender/X.X/scripts/addons/blenderbim" cd $REPO_PATH
# default path on Linux: "$HOME/.config/blender/X.X/"
BLENDER_ADDON_PATH="/path/to/blender/X.XX/scripts/addons/blenderbim"
# Remove the Blender add-on Python code
rm -r $BLENDER_ADDON_PATH/core/
rm -r $BLENDER_ADDON_PATH/tool/
rm -r $BLENDER_ADDON_PATH/bim/
# Replace them with links to the Git repository
ln -s $PWD/src/blenderbim/blenderbim/core $BLENDER_ADDON_PATH/core
ln -s $PWD/src/blenderbim/blenderbim/tool $BLENDER_ADDON_PATH/tool
ln -s $PWD/src/blenderbim/blenderbim/bim $BLENDER_ADDON_PATH/bim
# Copy over compiled IfcOpenShell files # Copy over compiled IfcOpenShell files
cp $BLENDER_ADDON_PATH/libs/site/packages/ifcopenshell/*_wrapper* $PWD/src/ifcopenshell-python/ifcopenshell/ cp $PACKAGE_PATH/ifcopenshell/*_wrapper* $PWD/src/ifcopenshell-python/ifcopenshell/
# Remove the IfcOpenShell dependency # Remove extension and link to Git
rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifcopenshell rm $BLENDERBIM_PATH/__init__.py
rm -r $PACKAGE_PATH/blenderbim
rm -r $PACKAGE_PATH/ifcopenshell
rm -r $PACKAGE_PATH/ifccsv.py
rm -r $PACKAGE_PATH/ifcdiff.py
rm -r $PACKAGE_PATH/bsdd.py
rm -r $PACKAGE_PATH/bcf
rm -r $PACKAGE_PATH/ifc4d
rm -r $PACKAGE_PATH/ifc5d
rm -r $PACKAGE_PATH/ifccityjson
rm -r $PACKAGE_PATH/ifcclash
rm -r $PACKAGE_PATH/ifcpatch
rm -r $PACKAGE_PATH/ifctester
rm -r $PACKAGE_PATH/ifcfm
# Replace them with links to the Git repository ln -s $PWD/src/blenderbim/blenderbim/__init__.py $BLENDERBIM_PATH/__init__.py
ln -s $PWD/src/ifcopenshell-python/ifcopenshell $BLENDER_ADDON_PATH/libs/site/packages/ifcopenshell ln -s $PWD/src/blenderbim/blenderbim $PACKAGE_PATH/blenderbim
ln -s $PWD/src/ifcopenshell-python/ifcopenshell $PACKAGE_PATH/ifcopenshell
# Remove and link other IfcOpenShell utilities ln -s $PWD/src/ifccsv/ifccsv.py $PACKAGE_PATH/ifccsv.py
rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifccsv.py ln -s $PWD/src/ifcdiff/ifcdiff.py $PACKAGE_PATH/ifcdiff.py
rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifcdiff.py ln -s $PWD/src/bsdd/bsdd.py $PACKAGE_PATH/bsdd.py
rm -r $BLENDER_ADDON_PATH/libs/site/packages/bsdd.py ln -s $PWD/src/bcf/bcf $PACKAGE_PATH/bcf
rm -r $BLENDER_ADDON_PATH/libs/site/packages/bcf ln -s $PWD/src/ifc4d/ifc4d $PACKAGE_PATH/ifc4d
rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifc4d ln -s $PWD/src/ifc5d/ifc5d $PACKAGE_PATH/ifc5d
rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifc5d ln -s $PWD/src/ifccityjson/ifccityjson $PACKAGE_PATH/ifccityjson
rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifccityjson ln -s $PWD/src/ifcclash/ifcclash $PACKAGE_PATH/ifcclash
rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifcclash ln -s $PWD/src/ifcpatch/ifcpatch $PACKAGE_PATH/ifcpatch
rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifcpatch ln -s $PWD/src/ifctester/ifctester $PACKAGE_PATH/ifctester
rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifctester ln -s $PWD/src/ifcfm/ifcfm $PACKAGE_PATH/ifcfm
rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifcfm
rm -r $BLENDER_ADDON_PATH/libs/Desktop
ln -s $PWD/src/ifccsv/ifccsv.py $BLENDER_ADDON_PATH/libs/site/packages/ifccsv.py
ln -s $PWD/src/ifcdiff/ifcdiff.py $BLENDER_ADDON_PATH/libs/site/packages/ifcdiff.py
ln -s $PWD/src/bsdd/bsdd.py $BLENDER_ADDON_PATH/libs/site/packages/bsdd.py
ln -s $PWD/src/bcf/bcf $BLENDER_ADDON_PATH/libs/site/packages/bcf
ln -s $PWD/src/ifc4d/ifc4d $BLENDER_ADDON_PATH/libs/site/packages/ifc4d
ln -s $PWD/src/ifc5d/ifc5d $BLENDER_ADDON_PATH/libs/site/packages/ifc5d
ln -s $PWD/src/ifccityjson/ifccityjson $BLENDER_ADDON_PATH/libs/site/packages/ifccityjson
ln -s $PWD/src/ifcclash/ifcclash $BLENDER_ADDON_PATH/libs/site/packages/ifcclash
ln -s $PWD/src/ifcpatch/ifcpatch $BLENDER_ADDON_PATH/libs/site/packages/ifcpatch
ln -s $PWD/src/ifctester/ifctester $BLENDER_ADDON_PATH/libs/site/packages/ifctester
ln -s $PWD/src/ifcfm/ifcfm $BLENDER_ADDON_PATH/libs/site/packages/ifcfm
ln -s $PWD/src/blenderbim/blenderbim/libs/desktop $BLENDER_ADDON_PATH/libs/Desktop
# Manually download some third party dependencies # Manually download some third party dependencies
cd $BLENDER_ADDON_PATH/bim/data/gantt cd $PACKAGE_PATH/blenderbim/bim/data/gantt
wget https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.js wget https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.js
wget https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.css wget https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.css
cd $BLENDER_ADDON_PATH/bim/schema cd $PACKAGE_PATH/blenderbim/bim/schema
wget https://github.com/BrickSchema/Brick/releases/download/nightly/Brick.ttl wget https://github.com/BrickSchema/Brick/releases/download/nightly/Brick.ttl