mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-23 02:20:02 +00:00
build-all: make BonsaiViewer a normal target, built by default
Can be skipped using `--without-BonsaiViewer` as any other target, if needed.
This commit is contained in:
@@ -104,7 +104,7 @@ jobs:
|
|||||||
# .dylib` failed to resolve at import time. ifcwrap now sets
|
# .dylib` failed to resolve at import time. ifcwrap now sets
|
||||||
# INSTALL_RPATH to "@loader_path" on Apple.
|
# INSTALL_RPATH to "@loader_path" on Apple.
|
||||||
CXXFLAGS="-O3" CFLAGS="-O3 ${DARWIN_C_SOURCE}" ADD_COMMIT_SHA=1 BUILD_CFG=Release \
|
CXXFLAGS="-O3" CFLAGS="-O3 ${DARWIN_C_SOURCE}" ADD_COMMIT_SHA=1 BUILD_CFG=Release \
|
||||||
BUILD_BONSAIVIEWER=ON QT_DIR="${QT_DIR}" \
|
QT_DIR="${QT_DIR}" \
|
||||||
uv run ./nix/build-all.py -v --diskcleanup --ifcopenshell-shared ${MAC_INTEL} \
|
uv run ./nix/build-all.py -v --diskcleanup --ifcopenshell-shared ${MAC_INTEL} \
|
||||||
| tee build.log
|
| tee build.log
|
||||||
|
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
CXXFLAGS="-O3" CFLAGS="-O3" ADD_COMMIT_SHA=1 BUILD_CFG=Release BUILD_BONSAIVIEWER=ON \
|
CXXFLAGS="-O3" CFLAGS="-O3" ADD_COMMIT_SHA=1 BUILD_CFG=Release \
|
||||||
uv run --with aqtinstall ./nix/build-all.py \
|
uv run --with aqtinstall ./nix/build-all.py \
|
||||||
-v --diskcleanup --ifcopenshell-shared 2>&1 \
|
-v --diskcleanup --ifcopenshell-shared 2>&1 \
|
||||||
| tee build.log
|
| tee build.log
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
CXXFLAGS="-O3" CFLAGS="-O3" ADD_COMMIT_SHA=1 BUILD_CFG=Release BUILD_BONSAIVIEWER=ON \
|
CXXFLAGS="-O3" CFLAGS="-O3" ADD_COMMIT_SHA=1 BUILD_CFG=Release \
|
||||||
uv run --with aqtinstall ./nix/build-all.py \
|
uv run --with aqtinstall ./nix/build-all.py \
|
||||||
-v --diskcleanup --ifcopenshell-shared 2>&1 \
|
-v --diskcleanup --ifcopenshell-shared 2>&1 \
|
||||||
| tee build.log
|
| tee build.log
|
||||||
|
|||||||
+5
-7
@@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
Example usage:
|
Example usage:
|
||||||
# Build all targets by default, except BonsaiViewer (it's set explicitly).
|
# Build all targets by default.
|
||||||
python build-all.py
|
python build-all.py
|
||||||
|
|
||||||
# Build just the provided targets.
|
# Build just the provided targets.
|
||||||
@@ -59,7 +59,6 @@ Used environment variables:
|
|||||||
Example value: 'pyodide/cpython/installs/python-3.13.2'
|
Example value: 'pyodide/cpython/installs/python-3.13.2'
|
||||||
- ``ADD_COMMIT_SHA`` - `off` by default. If enabled
|
- ``ADD_COMMIT_SHA`` - `off` by default. If enabled
|
||||||
`ADD_COMMIT_SHA` and `VERSION_OVERRIDE` will be set to `ON` while configuring IfcOpenShell
|
`ADD_COMMIT_SHA` and `VERSION_OVERRIDE` will be set to `ON` while configuring IfcOpenShell
|
||||||
- ``BUILD_BONSAIVIEWER`` - enable building BonsaiViewer, `off` by default.
|
|
||||||
- ``IFCOS_BUILD_PYTHON_WRAPPER`` - enable building the Python wrapper, `on` by default.
|
- ``IFCOS_BUILD_PYTHON_WRAPPER`` - enable building the Python wrapper, `on` by default.
|
||||||
- ``PYTHON_USER_SITE`` - install the Python wrapper into the user's site-packages directory
|
- ``PYTHON_USER_SITE`` - install the Python wrapper into the user's site-packages directory
|
||||||
instead of the interpreter's prefix, `off` by default.
|
instead of the interpreter's prefix, `off` by default.
|
||||||
@@ -154,7 +153,6 @@ PROJECT_NAME = "IfcOpenShell"
|
|||||||
USE_CURRENT_PYTHON_VERSION = is_on_off(os.getenv("USE_CURRENT_PYTHON_VERSION"), default=False)
|
USE_CURRENT_PYTHON_VERSION = is_on_off(os.getenv("USE_CURRENT_PYTHON_VERSION"), default=False)
|
||||||
ADD_COMMIT_SHA = is_on_off(os.getenv("ADD_COMMIT_SHA"), default=False)
|
ADD_COMMIT_SHA = is_on_off(os.getenv("ADD_COMMIT_SHA"), default=False)
|
||||||
IFCOS_BUILD_PYTHON_WRAPPER = is_on_off(os.getenv("IFCOS_BUILD_PYTHON_WRAPPER"), default=True)
|
IFCOS_BUILD_PYTHON_WRAPPER = is_on_off(os.getenv("IFCOS_BUILD_PYTHON_WRAPPER"), default=True)
|
||||||
BUILD_BONSAIVIEWER = is_on_off(os.getenv("BUILD_BONSAIVIEWER"), default=False)
|
|
||||||
USE_OCCT = is_on_off(os.getenv("USE_OCCT"), default=True)
|
USE_OCCT = is_on_off(os.getenv("USE_OCCT"), default=True)
|
||||||
PYTHON_USER_SITE = is_on_off(os.getenv("PYTHON_USER_SITE"), default=False)
|
PYTHON_USER_SITE = is_on_off(os.getenv("PYTHON_USER_SITE"), default=False)
|
||||||
|
|
||||||
@@ -547,10 +545,10 @@ else:
|
|||||||
targets = set(dependency_tree.keys())
|
targets = set(dependency_tree.keys())
|
||||||
|
|
||||||
targets = set(t for t in targets if t.lower() not in DYNAMIC_ARGS.without)
|
targets = set(t for t in targets if t.lower() not in DYNAMIC_ARGS.without)
|
||||||
if not explicit_targets and not BUILD_BONSAIVIEWER:
|
|
||||||
targets.difference_update({"BonsaiViewer", "qt6"})
|
# Allow `-without-bonsaiviewer` to be a shortcut for `-without-bonsaiviewer -without-qt6`.
|
||||||
if BUILD_BONSAIVIEWER:
|
if "bonsaiviewer" in DYNAMIC_ARGS.without:
|
||||||
targets.update(gather_dependencies("BonsaiViewer"))
|
targets.discard("qt6")
|
||||||
|
|
||||||
# Opt-out for the Python wrapper. Currently used by the bonsai CI workflow
|
# Opt-out for the Python wrapper. Currently used by the bonsai CI workflow
|
||||||
# on macOS, where the post-plug-in-refactor wrapper hard-links
|
# on macOS, where the post-plug-in-refactor wrapper hard-links
|
||||||
|
|||||||
@@ -33,9 +33,9 @@ uses — is ``nix/build-all.py``. It downloads and compiles every dependency
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
BUILD_BONSAIVIEWER=ON python3 ./nix/build-all.py
|
python3 ./nix/build-all.py
|
||||||
|
|
||||||
Setting ``BUILD_BONSAIVIEWER=ON`` pulls in the ``BonsaiViewer`` and ``qt6``
|
By default, the script pulls in the ``BonsaiViewer`` and ``qt6``
|
||||||
targets along with their dependencies. This is self-contained but slow on a
|
targets along with their dependencies. This is self-contained but slow on a
|
||||||
cold checkout, because it builds the whole dependency stack from source. The
|
cold checkout, because it builds the whole dependency stack from source. The
|
||||||
finished executable lands under the platform build tree, e.g.
|
finished executable lands under the platform build tree, e.g.
|
||||||
|
|||||||
Reference in New Issue
Block a user