mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-06 07:51:47 +00:00
c4d402eb21
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6 to 7. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v6...v7) --- updated-dependencies: - dependency-name: actions/setup-python dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
156 lines
4.9 KiB
YAML
156 lines
4.9 KiB
YAML
# This file was generated with the assistance of an AI coding tool.
|
|
name: ci-ifcwrap-standalone
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
paths:
|
|
- ".github/workflows/ci-ifcwrap-standalone.yml"
|
|
- "cmake/**"
|
|
- "src/ifcwrap/**"
|
|
- "src/ifcparse/**"
|
|
- "src/ifcgeom/**"
|
|
- "src/serializers/**"
|
|
- "src/ifcconvert/**"
|
|
- "src/ifcopenshell-python/**"
|
|
- "src/svgfill/**"
|
|
push:
|
|
paths:
|
|
- ".github/workflows/ci-ifcwrap-standalone.yml"
|
|
- "cmake/**"
|
|
- "src/ifcwrap/**"
|
|
- "src/ifcparse/**"
|
|
- "src/ifcgeom/**"
|
|
- "src/serializers/**"
|
|
- "src/ifcconvert/**"
|
|
- "src/ifcopenshell-python/**"
|
|
- "src/svgfill/**"
|
|
|
|
env:
|
|
IFCOPENSHELL_PREFIX: ${{ github.workspace }}/ifcopenshell-install
|
|
|
|
jobs:
|
|
build-ifcopenshell:
|
|
runs-on: ubuntu-22.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Install C++ dependencies
|
|
run: |
|
|
sudo apt update
|
|
sudo apt-get install --no-install-recommends -y \
|
|
cmake \
|
|
gcc \
|
|
g++ \
|
|
libboost-date-time-dev \
|
|
libboost-filesystem-dev \
|
|
libboost-iostreams-dev \
|
|
libboost-program-options-dev \
|
|
libboost-regex-dev \
|
|
libboost-system-dev \
|
|
libboost-thread-dev \
|
|
libeigen3-dev \
|
|
libocct-data-exchange-dev \
|
|
libocct-draw-dev \
|
|
libocct-foundation-dev \
|
|
libocct-modeling-algorithms-dev \
|
|
libocct-modeling-data-dev \
|
|
libocct-ocaf-dev \
|
|
libocct-visualization-dev \
|
|
libpcre3-dev \
|
|
libtbb-dev \
|
|
libxml2-dev \
|
|
libxi-dev \
|
|
occt-misc \
|
|
tcl-dev \
|
|
tk-dev \
|
|
swig
|
|
|
|
- name: Configure minimal IfcOpenShell
|
|
run: |
|
|
cmake -S cmake -B build-ifcopenshell \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_INSTALL_PREFIX="${IFCOPENSHELL_PREFIX}" \
|
|
-DCMAKE_PREFIX_PATH=/usr \
|
|
-DCMAKE_SYSTEM_PREFIX_PATH=/usr \
|
|
-DMINIMAL_BUILD=ON \
|
|
-DBUILD_IFCPYTHON=OFF \
|
|
"-DSCHEMA_VERSIONS=4x3_add2"
|
|
|
|
- name: Build and install minimal IfcOpenShell
|
|
run: |
|
|
cmake --build build-ifcopenshell --target install -j "$(nproc)"
|
|
|
|
- name: Set up Python 3.11
|
|
uses: actions/setup-python@v7
|
|
with:
|
|
python-version: 3.11
|
|
|
|
- name: Install Python import dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
python -m pip install numpy typing_extensions
|
|
|
|
- name: Configure standalone IfcPython
|
|
run: |
|
|
PYTHON_EXECUTABLE="$(python -c 'import sys; print(sys.executable)')"
|
|
PYTHON_INCLUDE_DIR="$(python -c 'import sysconfig; print(sysconfig.get_path("include"))')"
|
|
|
|
cmake -S src/ifcwrap -B "build-ifcwrap-311" \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_PREFIX_PATH="${IFCOPENSHELL_PREFIX};/usr" \
|
|
-DPython_EXECUTABLE:FILEPATH="${PYTHON_EXECUTABLE}" \
|
|
-DPython_INCLUDE_DIR:PATH="${PYTHON_INCLUDE_DIR}" \
|
|
-DPYTHON_EXECUTABLE:FILEPATH="${PYTHON_EXECUTABLE}" \
|
|
-DPYTHON_INCLUDE_DIR:PATH="${PYTHON_INCLUDE_DIR}"
|
|
|
|
- name: Build and install standalone IfcPython
|
|
run: |
|
|
cmake --build "build-ifcwrap-311" --target install -j "$(nproc)"
|
|
|
|
- name: Import installed IfcPython
|
|
run: |
|
|
PYTHONPATH="${RUNNER_TEMP}/ifcopenshell-python" python - <<'PY'
|
|
import ifcopenshell
|
|
|
|
print("IfcOpenShell import ok:", ifcopenshell.version)
|
|
PY
|
|
|
|
- name: Set up Python 3.12
|
|
uses: actions/setup-python@v7
|
|
with:
|
|
python-version: 3.12
|
|
|
|
- name: Install Python import dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
python -m pip install numpy typing_extensions
|
|
|
|
- name: Configure standalone IfcPython
|
|
run: |
|
|
PYTHON_EXECUTABLE="$(python -c 'import sys; print(sys.executable)')"
|
|
PYTHON_INCLUDE_DIR="$(python -c 'import sysconfig; print(sysconfig.get_path("include"))')"
|
|
|
|
cmake -S src/ifcwrap -B "build-ifcwrap-312" \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_PREFIX_PATH="${IFCOPENSHELL_PREFIX};/usr" \
|
|
-DPython_EXECUTABLE:FILEPATH="${PYTHON_EXECUTABLE}" \
|
|
-DPython_INCLUDE_DIR:PATH="${PYTHON_INCLUDE_DIR}" \
|
|
-DPYTHON_EXECUTABLE:FILEPATH="${PYTHON_EXECUTABLE}" \
|
|
-DPYTHON_INCLUDE_DIR:PATH="${PYTHON_INCLUDE_DIR}"
|
|
|
|
- name: Build and install standalone IfcPython
|
|
run: |
|
|
cmake --build "build-ifcwrap-312" --target install -j "$(nproc)"
|
|
|
|
- name: Import installed IfcPython
|
|
run: |
|
|
PYTHONPATH="${RUNNER_TEMP}/ifcopenshell-python" python - <<'PY'
|
|
import ifcopenshell
|
|
|
|
print("IfcOpenShell import ok:", ifcopenshell.version)
|
|
PY
|