mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-21 22:31:02 +00:00
make necessary changes for v0.8 daily conda builds (#4884)
* make necessary changes for v0.8 daily ci conda builds * fix conda find hdf5 portion of CMakelists.txt
This commit is contained in:
committed by
GitHub
parent
82496e8126
commit
9fe40c3137
@@ -2,21 +2,44 @@ name: ci-ifcopenshell-conda-daily-v0.8.0
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
push:
|
schedule:
|
||||||
branches:
|
# ┌───────────── minute (0 - 59)
|
||||||
- v0.8.0
|
# │ ┌───────────── hour (0 - 23)
|
||||||
|
# │ │ ┌───────────── day of the month (1 - 31)
|
||||||
|
# │ │ │ ┌───────────── month (1 - 12 or JAN-DEC)
|
||||||
|
# │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT)
|
||||||
|
# * * * * *
|
||||||
|
- cron: "49 23 * * *" # 11min before utc midnight every day
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
activate:
|
activate:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: |
|
if: |
|
||||||
github.repository == 'IfcOpenShell/IfcOpenShell'
|
github.repository == 'IfcOpenShell/IfcOpenShell'
|
||||||
|
outputs:
|
||||||
|
version: ${{ steps.version.outputs.version }}
|
||||||
|
date: ${{ steps.date.outputs.date }}
|
||||||
|
verdate: ${{ steps.verdate.outputs.verdate }}
|
||||||
steps:
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
- name: Set env
|
- name: Set env
|
||||||
run: echo ok go
|
run: echo ok go
|
||||||
|
|
||||||
|
- name: Get current version
|
||||||
|
id: version
|
||||||
|
run: echo "version=$(cat VERSION)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: Get current date
|
||||||
|
id: date
|
||||||
|
run: echo "date=$(date +'%y%m%d')" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: Version + date str
|
||||||
|
id: verdate
|
||||||
|
run: echo "verdate='${{ steps.version.outputs.version }}.${{ steps.date.outputs.date }}'" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
|
||||||
test:
|
test:
|
||||||
name: ${{ matrix.platform.distver }}-${{ matrix.pyver.name }}
|
name: ${{ matrix.platform.distver }}-${{ matrix.pyver.name }}-${{ matrix.variant }}
|
||||||
needs: activate
|
needs: activate
|
||||||
runs-on: ${{ matrix.platform.distver }}
|
runs-on: ${{ matrix.platform.distver }}
|
||||||
defaults:
|
defaults:
|
||||||
@@ -25,8 +48,9 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
|
variant: [novtk, all]
|
||||||
pyver: [
|
pyver: [
|
||||||
{ name: py311, distver: '3.11'},
|
# { name: py311, distver: '3.11'},
|
||||||
{ name: py312, distver: '3.12'}
|
{ name: py312, distver: '3.12'}
|
||||||
]
|
]
|
||||||
platform: [
|
platform: [
|
||||||
@@ -35,24 +59,28 @@ jobs:
|
|||||||
{ name: macOS, distver: macos-latest, pkg_dir: 'osx-64' }
|
{ name: macOS, distver: macos-latest, pkg_dir: 'osx-64' }
|
||||||
]
|
]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- name: Set up swap space
|
||||||
|
if: runner.os == 'Linux'
|
||||||
|
uses: pierotofy/set-swap-space@v1.0
|
||||||
|
with:
|
||||||
|
swap-size-gb: 10
|
||||||
|
|
||||||
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
|
|
||||||
- name: Download and extract MacOSX SDK
|
- name: Download and extract MacOSX SDK
|
||||||
if: ${{ matrix.platform.name == 'macOS' }}
|
if: ${{ runner.os == 'macOS' }}
|
||||||
run: |
|
run: |
|
||||||
curl -o MacOSX10.13.sdk.tar.xz -L https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX10.13.sdk.tar.xz && \
|
curl -L https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX10.13.sdk.tar.xz | tar -xvJf - -C /Users/runner/work/
|
||||||
tar xf MacOSX10.13.sdk.tar.xz && \
|
|
||||||
sudo mv -v MacOSX10.13.sdk /opt/ && \
|
|
||||||
ls /opt/
|
|
||||||
- uses: seanmiddleditch/gha-setup-ninja@master
|
|
||||||
- uses: mamba-org/setup-micromamba@v1 # https://github.com/mamba-org/setup-micromamba
|
- uses: mamba-org/setup-micromamba@v1 # https://github.com/mamba-org/setup-micromamba
|
||||||
with:
|
with:
|
||||||
environment-file: conda/environment.build.yml
|
environment-name: test-env
|
||||||
create-args: >-
|
create-args: >-
|
||||||
python=${{ matrix.pyver.distver }}
|
python=3.11
|
||||||
anaconda-client
|
anaconda-client
|
||||||
|
boa
|
||||||
|
|
||||||
- name: create conda package dist dir
|
- name: create conda package dist dir
|
||||||
run: |
|
run: |
|
||||||
@@ -60,8 +88,10 @@ jobs:
|
|||||||
|
|
||||||
- name: build & test ifcopenshell
|
- name: build & test ifcopenshell
|
||||||
run: |
|
run: |
|
||||||
boa build . --python ${{ matrix.pyver.distver }} --no-remove-work-dir --output-folder '${{ github.workspace }}/dist'
|
conda mambabuild . --python ${{ matrix.pyver.distver }} --no-remove-work-dir --output-folder '${{ github.workspace }}/dist' --variants='{variant: ${{ matrix.variant }}}'
|
||||||
working-directory: ./conda
|
working-directory: ./conda
|
||||||
|
env:
|
||||||
|
VERSION_OVERRIDE: ${{ needs.activate.outputs.verdate }}
|
||||||
|
|
||||||
- name: upload to anaconda
|
- name: upload to anaconda
|
||||||
if: ${{ matrix.platform.name == 'win' }}
|
if: ${{ matrix.platform.name == 'win' }}
|
||||||
@@ -71,4 +101,4 @@ jobs:
|
|||||||
- name: upload to anaconda
|
- name: upload to anaconda
|
||||||
if: ${{ matrix.platform.name != 'win' }}
|
if: ${{ matrix.platform.name != 'win' }}
|
||||||
run: |
|
run: |
|
||||||
anaconda -t ${{ secrets.ANACONDA_TOKEN }} upload --force --user ifcopenshell ${{ github.workspace }}/dist/${{ matrix.platform.pkg_dir }}/*.tar.bz2
|
anaconda -t ${{ secrets.ANACONDA_TOKEN }} upload --force --user ifcopenshell ${{ github.workspace }}/dist/${{ matrix.platform.pkg_dir }}/*.tar.bz2
|
||||||
|
|||||||
@@ -1,34 +0,0 @@
|
|||||||
name: Restart failed daily conda builds
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_run:
|
|
||||||
workflows: [ ci-ifcopenshell-conda-daily ]
|
|
||||||
types:
|
|
||||||
- completed
|
|
||||||
|
|
||||||
env:
|
|
||||||
REPO_OWNER: IfcOpenShell/IfcOpenShell
|
|
||||||
MY_WORKFLOW: ci-ifcopenshell-conda-daily
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
restart-failed-runs:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
if: ${{ github.event.workflow_run.conclusion == 'failure' }}
|
|
||||||
steps:
|
|
||||||
- name: checkout
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
- name: Use python 3.11
|
|
||||||
uses: actions/setup-python@v2
|
|
||||||
with:
|
|
||||||
python-version: 3.11
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
python -m pip install --upgrade pip
|
|
||||||
pip install requests
|
|
||||||
- name: Check for failed runs
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
WORKFLOW_RUN_ID: ${{ github.event.workflow_run.id }}
|
|
||||||
run: |
|
|
||||||
python check_repo_ci_jobs.py
|
|
||||||
working-directory: .github/workflows
|
|
||||||
+14
-12
@@ -590,25 +590,27 @@ if(HDF5_SUPPORT)
|
|||||||
else()
|
else()
|
||||||
message(STATUS "Packaging hdf5 and zlib for conda distribution")
|
message(STATUS "Packaging hdf5 and zlib for conda distribution")
|
||||||
|
|
||||||
if(WIN32)
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||||
# Windows
|
|
||||||
set(zlib_post zlib)
|
|
||||||
set(lib_ext lib)
|
|
||||||
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
|
||||||
# macOS
|
# macOS
|
||||||
set(zlib_post libz)
|
set(zlib_post libz)
|
||||||
set(lib_ext dylib)
|
set(lib_ext dylib)
|
||||||
else()
|
set(HDF5_LIBRARIES
|
||||||
# linux
|
|
||||||
set(zlib_post libz)
|
|
||||||
set(lib_ext so)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(HDF5_LIBRARIES
|
|
||||||
"${HDF5_LIBRARY_DIR}/libhdf5_cpp.${lib_ext}"
|
"${HDF5_LIBRARY_DIR}/libhdf5_cpp.${lib_ext}"
|
||||||
"${HDF5_LIBRARY_DIR}/libhdf5.${lib_ext}"
|
"${HDF5_LIBRARY_DIR}/libhdf5.${lib_ext}"
|
||||||
"${HDF5_LIBRARY_DIR}/${zlib_post}.${lib_ext}"
|
"${HDF5_LIBRARY_DIR}/${zlib_post}.${lib_ext}"
|
||||||
)
|
)
|
||||||
|
else()
|
||||||
|
# linux and windows
|
||||||
|
# Find HDF5 package
|
||||||
|
find_package(HDF5 REQUIRED COMPONENTS C CXX)
|
||||||
|
# Find ZLIB package
|
||||||
|
find_package(ZLIB REQUIRED)
|
||||||
|
# Include directories
|
||||||
|
include_directories(${HDF5_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS})
|
||||||
|
# Link libraries
|
||||||
|
set(HDF5_LIBRARIES ${HDF5_LIBRARIES} ${ZLIB_LIBRARIES})
|
||||||
|
message(STATUS "HDF5 libraries: ${HDF5_LIBRARIES}")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
.env
|
|
||||||
+8
-6
@@ -1,10 +1,13 @@
|
|||||||
mkdir build && cd build
|
mkdir build && cd build
|
||||||
|
|
||||||
|
REM Remove dot from PY_VER for use in library name
|
||||||
|
REM From https://github.com/tpaviot/pythonocc-core/blob/master/ci/conda/bld.bat
|
||||||
set MY_PY_VER=%PY_VER:.=%
|
set MY_PY_VER=%PY_VER:.=%
|
||||||
rem set LIBXML2="%LIBRARY_PREFIX%/lib/libxml2.lib"
|
|
||||||
|
set LIBXML2="%LIBRARY_PREFIX%/lib/libxml2.lib"
|
||||||
|
|
||||||
cmake -G "Ninja" ^
|
cmake -G "Ninja" ^
|
||||||
-D SCHEMA_VERSIONS="2x3;4;4x1;4x3;4x3_add1" ^
|
-D SCHEMA_VERSIONS="2x3;4;4x1;4x3_add2" ^
|
||||||
-D CMAKE_BUILD_TYPE:STRING=Release ^
|
-D CMAKE_BUILD_TYPE:STRING=Release ^
|
||||||
-D CMAKE_INSTALL_PREFIX:FILEPATH="%LIBRARY_PREFIX%" ^
|
-D CMAKE_INSTALL_PREFIX:FILEPATH="%LIBRARY_PREFIX%" ^
|
||||||
-D CMAKE_PREFIX_PATH:FILEPATH="%LIBRARY_PREFIX%" ^
|
-D CMAKE_PREFIX_PATH:FILEPATH="%LIBRARY_PREFIX%" ^
|
||||||
@@ -39,11 +42,10 @@ cmake -G "Ninja" ^
|
|||||||
-D Boost_INCLUDE_DIR:FILEPATH="%LIBRARY_PREFIX%\include" ^
|
-D Boost_INCLUDE_DIR:FILEPATH="%LIBRARY_PREFIX%\include" ^
|
||||||
-D Boost_USE_STATIC_LIBS:BOOL=OFF ^
|
-D Boost_USE_STATIC_LIBS:BOOL=OFF ^
|
||||||
-D CITYJSON_SUPPORT:BOOL=OFF ^
|
-D CITYJSON_SUPPORT:BOOL=OFF ^
|
||||||
%SRC_DIR%/cmake
|
../cmake
|
||||||
|
|
||||||
if errorlevel 1 exit 1
|
if errorlevel 1 exit 1
|
||||||
|
|
||||||
:: Build and install
|
ninja install -j 1
|
||||||
cmake --build . -- install
|
|
||||||
|
|
||||||
if errorlevel 1 exit 1
|
if errorlevel 1 exit 1
|
||||||
|
|||||||
+3
-5
@@ -6,16 +6,14 @@
|
|||||||
|
|
||||||
if [ "$(uname)" == "Darwin" ]; then
|
if [ "$(uname)" == "Darwin" ]; then
|
||||||
export FSUFFIX=dylib
|
export FSUFFIX=dylib
|
||||||
export CFLAGS="$CFLAGS -Wl,-flat_namespace,-undefined,suppress"
|
|
||||||
export CXXFLAGS="$CXXFLAGS -Wl,-flat_namespace,-undefined,suppress"
|
|
||||||
export LDFLAGS="$LDFLAGS -Wl,-flat_namespace,-undefined,suppress"
|
export LDFLAGS="$LDFLAGS -Wl,-flat_namespace,-undefined,suppress"
|
||||||
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
|
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
|
||||||
export FSUFFIX=so
|
export FSUFFIX=so
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
cmake -G Ninja \
|
cmake ${CMAKE_ARGS} -G Ninja \
|
||||||
-DSCHEMA_VERSIONS="2x3;4;4x1;4x3;4x3_add1" \
|
-DSCHEMA_VERSIONS="2x3;4;4x1;4x3_add2" \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_INSTALL_PREFIX=$PREFIX \
|
-DCMAKE_INSTALL_PREFIX=$PREFIX \
|
||||||
${CMAKE_PLATFORM_FLAGS[@]} \
|
${CMAKE_PLATFORM_FLAGS[@]} \
|
||||||
@@ -48,4 +46,4 @@ cmake -G Ninja \
|
|||||||
|
|
||||||
ninja
|
ninja
|
||||||
|
|
||||||
ninja install -j 1
|
ninja install -j 1
|
||||||
@@ -1,11 +1,58 @@
|
|||||||
CONDA_BUILD_SYSROOT: # used for github actions conda daily build
|
variant:
|
||||||
- /Users/runner/work/MacOSX10.13.sdk # [osx]
|
- novtk
|
||||||
|
- all
|
||||||
|
|
||||||
occt:
|
occt:
|
||||||
- 7.7.1
|
- 7.8.1
|
||||||
|
|
||||||
c_compiler:
|
c_compiler:
|
||||||
- vs2022 # [win]
|
- vs2022 # [win]
|
||||||
|
- gcc # [linux]
|
||||||
|
- clang # [osx]
|
||||||
|
c_stdlib:
|
||||||
|
- vs # [win]
|
||||||
|
- sysroot # [linux]
|
||||||
|
- macosx_deployment_target # [osx]
|
||||||
cxx_compiler:
|
cxx_compiler:
|
||||||
- vs2022 # [win]
|
- vs2022 # [win]
|
||||||
|
- gcc # [linux]
|
||||||
|
- clangxx # [osx]
|
||||||
|
c_compiler_version:
|
||||||
|
- '12' # [linux]
|
||||||
|
- '16' # [osx]
|
||||||
|
cxx_compiler_version:
|
||||||
|
- '12' # [linux]
|
||||||
|
- '16' # [osx]
|
||||||
|
c_stdlib_version:
|
||||||
|
- '2.12' # [linux]
|
||||||
|
- '10.13' # [osx]
|
||||||
|
hdf5:
|
||||||
|
- 1.14.3
|
||||||
|
libboost_devel:
|
||||||
|
- '1.84'
|
||||||
|
libxml2:
|
||||||
|
- '2'
|
||||||
|
mpfr:
|
||||||
|
- '4'
|
||||||
|
gmp:
|
||||||
|
- '6' # [not win]
|
||||||
|
pin_run_as_build:
|
||||||
|
python:
|
||||||
|
min_pin: x.x
|
||||||
|
max_pin: x.x
|
||||||
|
|
||||||
|
zlib:
|
||||||
|
- '1'
|
||||||
|
target_platform:
|
||||||
|
- win-64 # [win]
|
||||||
|
- linux-64 # [linux]
|
||||||
|
- osx-64 # [osx]
|
||||||
|
macos_machine:
|
||||||
|
- x86_64-apple-darwin13.4.0
|
||||||
|
MACOSX_DEPLOYMENT_TARGET:
|
||||||
|
- '10.13'
|
||||||
|
MACOSX_SDK_VERSION:
|
||||||
|
- '10.13'
|
||||||
|
|
||||||
|
CONDA_BUILD_SYSROOT:
|
||||||
|
- "/Users/runner/work/MacOSX10.13.sdk" # [osx]
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
@echo off
|
|
||||||
|
|
||||||
:: This is a batch file to set the environment variables for the project
|
|
||||||
:: It is not necessary for conda compilation, but it provides you with type hints when working with the c++ libraries
|
|
||||||
:: OpenCascade, CGAL, Eigen, etc distributed using conda-forge in your IDE.
|
|
||||||
::
|
|
||||||
:: mamba env update -f environment.build.yml --prune
|
|
||||||
:: mamba activate ifcopenshell-build
|
|
||||||
::
|
|
||||||
:: Note!
|
|
||||||
:: You have to add a .env file next to this env.bat file where you set PREFIX=<path to your conda env>
|
|
||||||
set CONDA_BUILD=1
|
|
||||||
set MY_PY_VER=311
|
|
||||||
|
|
||||||
:: set this file's parent directory as a variable
|
|
||||||
set THIS_DIR=%~dp0
|
|
||||||
|
|
||||||
:: read the .env file located in THIS_DIR and set the environment variables.
|
|
||||||
:: the .env file should contain a line like this:
|
|
||||||
:: PREFIX=C:\Users\your_user_name\mambaforge3\envs\ifcopenshell-build
|
|
||||||
for /f "tokens=*" %%i in (%THIS_DIR%.env) do set %%i
|
|
||||||
|
|
||||||
set LIBRARY_PREFIX=%PREFIX%/Library
|
|
||||||
set CMAKE_PREFIX_PATH=%PREFIX%;%LIBRARY_PREFIX%/include;%LIBRARY_PREFIX%/lib;%LIBRARY_PREFIX%/bin
|
|
||||||
|
|
||||||
set OCC_LIBRARY_DIR=%LIBRARY_PREFIX%/lib
|
|
||||||
set OCC_INCLUDE_DIR=%LIBRARY_PREFIX%/include/opencascade
|
|
||||||
|
|
||||||
set CGAL_DIR=%LIBRARY_PREFIX%/lib/cmake/CGAL
|
|
||||||
set CGAL_INCLUDE_DIR=%LIBRARY_PREFIX%/include
|
|
||||||
set EIGEN_DIR=%LIBRARY_PREFIX%/include/eigen3
|
|
||||||
set LIBXML2_INCLUDE_DIR=%LIBRARY_PREFIX%/include/libxml2
|
|
||||||
set LIBXML2_LIBRARIES=%LIBRARY_PREFIX%/lib/libxml2.lib
|
|
||||||
set Boost_LIBRARY_DIR=%LIBRARY_PREFIX%/lib
|
|
||||||
set Boost_INCLUDE_DIR=%LIBRARY_PREFIX%/include
|
|
||||||
set Boost_USE_STATIC_LIBS=OFF
|
|
||||||
|
|
||||||
set GMP_INCLUDE_DIR=%LIBRARY_PREFIX%/include
|
|
||||||
set GMP_LIBRARY_DIR=%LIBRARY_PREFIX%/lib
|
|
||||||
set MPFR_LIBRARY_DIR=%LIBRARY_PREFIX%/lib
|
|
||||||
|
|
||||||
set HDF5_INCLUDE_DIR=%LIBRARY_PREFIX%/include
|
|
||||||
set HDF5_LIBRARY_DIR=%LIBRARY_PREFIX%/lib
|
|
||||||
set JSON_INCLUDE_DIR=%LIBRARY_PREFIX%/include
|
|
||||||
|
|
||||||
set HDF5_SUPPORT=ON
|
|
||||||
set BUILD_IFCPYTHON=ON
|
|
||||||
set BUILD_IFCGEOM=ON
|
|
||||||
set COLLADA_SUPPORT=OFF
|
|
||||||
set BUILD_EXAMPLES=OFF
|
|
||||||
set BUILD_GEOMSERVER=OFF
|
|
||||||
set GLTF_SUPPORT=ON
|
|
||||||
set BUILD_CONVERT=ON
|
|
||||||
set BUILD_IFCMAX=OFF
|
|
||||||
set IFCXML_SUPPORT=ON
|
|
||||||
|
|
||||||
set PYTHON_EXECUTABLE=%PREFIX%/python.exe
|
|
||||||
set PYTHON_LIBRARY=%PREFIX%/libs/python%MY_PY_VER%.lib
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
name: ifcopenshell-build
|
|
||||||
channels:
|
|
||||||
- conda-forge
|
|
||||||
dependencies:
|
|
||||||
- boa
|
|
||||||
- boost-cpp
|
|
||||||
- occt
|
|
||||||
- libxml2
|
|
||||||
- cgal-cpp
|
|
||||||
- hdf5
|
|
||||||
- mpfr
|
|
||||||
- nlohmann_json
|
|
||||||
- swig
|
|
||||||
- zlib
|
|
||||||
# These needs to be installed per platform
|
|
||||||
#- sel(unix): gmp
|
|
||||||
#- sel(win): mpir
|
|
||||||
+303
@@ -0,0 +1,303 @@
|
|||||||
|
{% set version = environ.get('VERSION_OVERRIDE', '0.8.0') %}
|
||||||
|
{% set build = 0 %}
|
||||||
|
|
||||||
|
# Higher number -> Always prioritize "novtk" variant over "all" variant
|
||||||
|
{% set build = build + 200 %} # [variant == "novtk"]
|
||||||
|
{% set build = build + 100 %} # [variant == "all"]
|
||||||
|
|
||||||
|
package:
|
||||||
|
name: ifcopenshell
|
||||||
|
version: {{ version }}
|
||||||
|
|
||||||
|
source:
|
||||||
|
path: ../
|
||||||
|
|
||||||
|
|
||||||
|
build:
|
||||||
|
number: {{ build }}
|
||||||
|
skip: true # [py<39]
|
||||||
|
binary_relocation: false # [osx]
|
||||||
|
string: py{{ CONDA_PY }}_{{ variant }}_h{{ PKG_HASH }}_{{ build }}
|
||||||
|
run_exports:
|
||||||
|
- {{ pin_subpackage('ifcopenshell', max_pin='x.x.x') }} *{{ variant }}*
|
||||||
|
|
||||||
|
|
||||||
|
requirements:
|
||||||
|
build:
|
||||||
|
- cmake
|
||||||
|
- ninja
|
||||||
|
- swig >=4.1.1
|
||||||
|
- {{ stdlib("c") }}
|
||||||
|
- {{ compiler('c') }}
|
||||||
|
- {{ compiler('cxx') }}
|
||||||
|
host:
|
||||||
|
- python
|
||||||
|
- libboost-devel
|
||||||
|
- occt *=*{{ variant }}*
|
||||||
|
- libxml2
|
||||||
|
- cgal-cpp
|
||||||
|
- hdf5
|
||||||
|
- eigen
|
||||||
|
- mpfr
|
||||||
|
- nlohmann_json
|
||||||
|
- gmp # [unix]
|
||||||
|
- mpir # [win]
|
||||||
|
- zlib
|
||||||
|
run:
|
||||||
|
- python
|
||||||
|
- {{ pin_compatible('occt', max_pin='x.x.x') }} *{{ variant }}*
|
||||||
|
- {{ pin_compatible('cgal-cpp', max_pin='x.x') }}
|
||||||
|
|
||||||
|
|
||||||
|
test:
|
||||||
|
imports:
|
||||||
|
- ifcopenshell
|
||||||
|
|
||||||
|
|
||||||
|
about:
|
||||||
|
home: https://ifcopenshell.org
|
||||||
|
license: LGPL-3.0-or-later
|
||||||
|
license_file: COPYING
|
||||||
|
summary: 'IfcOpenShell is a library to support the IFC file format'
|
||||||
|
description: |
|
||||||
|
IfcOpenShell
|
||||||
|
============
|
||||||
|
|
||||||
|
IfcOpenShell is an open source ([LGPL]) software library for working with Industry Foundation Classes ([IFC]). Complete
|
||||||
|
parsing support is provided for [IFC2x3 TC1], [IFC4 Add2 TC1], IFC4x1, IFC4x3, and IFC4x3. Extensive geometric support
|
||||||
|
is implemented for the IFC releases [IFC2x3 TC1] and [IFC4 Add2 TC1]. Extending with support for arbitrary IFC schemas
|
||||||
|
is possible at compile-time when using C++ and at run-time when using Python.
|
||||||
|
|
||||||
|
In addition to a C++ and Python API, IfcOpenShell comes with an ecosystem of tools, notably including IfcConvert (an
|
||||||
|
application to convert IFC models to
|
||||||
|
other formats), the BlenderBIM Add-on (an add-on to Blender providing a graphical IFC authoring platform), and many
|
||||||
|
other libraries, CLI apps, and more. Support is also provided for auxiliary standards such as BCF and IDS.
|
||||||
|
|
||||||
|
For more information, see:
|
||||||
|
|
||||||
|
* [IfcOpenShell Website](http://ifcopenshell.org)
|
||||||
|
* [IfcOpenShell Documentation](http://blenderbim.org/docs-python)
|
||||||
|
* [IfcOpenShell C++ Installation](https://blenderbim.org/docs-python/ifcopenshell/installation.html)
|
||||||
|
* [IfcOpenShell Python Installation](https://blenderbim.org/docs-python/ifcopenshell-python/installation.html)
|
||||||
|
* [IfcOpenShell Python Hello World Tutorial](https://blenderbim.org/docs-python/ifcopenshell-python/hello_world.html)
|
||||||
|
* [BlenderBIM Add-on Website](https://blenderbim.org)
|
||||||
|
* [BlenderBIM Add-on Documentation](http://blenderbim.org/docs)
|
||||||
|
* [Add-on Installation](https://blenderbim.org/docs/users/installation.html)
|
||||||
|
* [Exploring an IFC model](https://blenderbim.org/docs/users/exploring_an_ifc_model.html)
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Service</th>
|
||||||
|
<th>Status</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>Anaconda Daily Build</td>
|
||||||
|
<td><a href="https://anaconda.org/ifcopenshell/ifcopenshell"><img src="https://img.shields.io/conda/vn/ifcopenshell/ifcopenshell" alt="Anaconda-Server Badge"></a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Anaconda v0.7.0 Stable</td>
|
||||||
|
<td><a href="https://anaconda.org/conda-forge/ifcopenshell"><img src="https://img.shields.io/conda/vn/conda-forge/ifcopenshell" alt="Anaconda-Server Badge"></a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>PyPi Daily Build</td>
|
||||||
|
<td><a href="https://pypi.org/project/ifcopenshell/"><img src="https://img.shields.io/pypi/v/ifcopenshell" alt="PyPi Badge"></a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ArchLinux AUR Package Stable</td>
|
||||||
|
<td><a href="https://aur.archlinux.org/packages/ifcopenshell"><img src="https://img.shields.io/aur/version/ifcopenshell" alt="AUR Badge"></a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ArchLinux AUR Package git</td>
|
||||||
|
<td><a href="https://aur.archlinux.org/packages/ifcopenshell-git"><img src="https://img.shields.io/aur/version/ifcopenshell-git" alt="AUR Badge"></a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>BlenderBIM Add-on Chocolatey (under moderation)</td>
|
||||||
|
<td><a href="https://community.chocolatey.org/packages/blenderbim-nightly/"><img src="https://img.shields.io/chocolatey/v/blenderbim-nightly" alt="Chocolatey Badge"></a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Sponsor development on OpenCollective</td>
|
||||||
|
<td><a href="https://opencollective.com/opensourcebim/"><img src="https://opencollective.com/opensourcebim/tiers/badge.svg" alt="Financial Contributors"></a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Docker hub</td>
|
||||||
|
<td><a href="https://hub.docker.com/r/aecgeeks/ifcopenshell"><img src="https://img.shields.io/docker/pulls/aecgeeks/ifcopenshell" alt="Docker Pulls"></a></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
Contents
|
||||||
|
--------
|
||||||
|
|
||||||
|
Those marked with an asterisk are part of IfcOpenShell.
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Name</th>
|
||||||
|
<th>Description</th>
|
||||||
|
<th>License</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>bcf</td>
|
||||||
|
<td>Library to read and write BCF-XML and query OpenCDE BCF-API modules</td>
|
||||||
|
<td>LGPL-3.0-or-later</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>blenderbim</td>
|
||||||
|
<td>Add-on to Blender providing a graphical native IFC authoring platform</td>
|
||||||
|
<td>GPL-3.0-or-later</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>bsdd</td>
|
||||||
|
<td>Library to query the bSDD API</td>
|
||||||
|
<td>LGPL-3.0-or-later</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifc2ca</td>
|
||||||
|
<td>Utility to convert IFC structural analysis models to Code_Aster</td>
|
||||||
|
<td>LGPL-3.0-or-later</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifc4d</td>
|
||||||
|
<td>Convert to and from IFC and project management software</td>
|
||||||
|
<td>LGPL-3.0-or-later</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifc5d</td>
|
||||||
|
<td>Report and optimise cost information from IFC</td>
|
||||||
|
<td>LGPL-3.0-or-later</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifcbimtester</td>
|
||||||
|
<td>Wrapper for Gherkin based unit testing for IFC models</td>
|
||||||
|
<td>LGPL-3.0-or-later</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifcblender</td>
|
||||||
|
<td>Historic Blender IFC import add-on</td>
|
||||||
|
<td>LGPL-3.0-or-later*</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifccityjson</td>
|
||||||
|
<td>Convert CityJSON to IFC</td>
|
||||||
|
<td>LGPL-3.0-or-later</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifcclash</td>
|
||||||
|
<td>Clash detection library and CLI app</td>
|
||||||
|
<td>LGPL-3.0-or-later</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifccobie</td>
|
||||||
|
<td>Extract IFC data for COBie handover requirements</td>
|
||||||
|
<td>LGPL-3.0-or-later</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifcconvert</td>
|
||||||
|
<td>CLI app to convert IFC to many other formats</td>
|
||||||
|
<td>LGPL-3.0-or-later*</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifccsv</td>
|
||||||
|
<td>Library and CLI app to export and import schedules from IFC</td>
|
||||||
|
<td>LGPL-3.0-or-later</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifcdiff</td>
|
||||||
|
<td>Compare changes between IFC models</td>
|
||||||
|
<td>LGPL-3.0-or-later</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifcfm</td>
|
||||||
|
<td>Extract IFC data for FM handover requirements</td>
|
||||||
|
<td>LGPL-3.0-or-later</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifcgeom</td>
|
||||||
|
<td>Internal library for IfcOpenShell</td>
|
||||||
|
<td>LGPL-3.0-or-later*</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifcgeom_schema_agnostic</td>
|
||||||
|
<td>Internal library for IfcOpenShell</td>
|
||||||
|
<td>LGPL-3.0-or-later*</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifcgeomserver</td>
|
||||||
|
<td>Internal library for IfcOpenShell</td>
|
||||||
|
<td>LGPL-3.0-or-later*</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifcjni</td>
|
||||||
|
<td>Internal library for IfcOpenShell</td>
|
||||||
|
<td>LGPL-3.0-or-later*</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifcmax</td>
|
||||||
|
<td>Historic extension for IFC support in 3DS Max</td>
|
||||||
|
<td>LGPL-3.0-or-later*</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifcopenshell-python</td>
|
||||||
|
<td>Python library for IFC manipulation</td>
|
||||||
|
<td>LGPL-3.0-or-later*</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifcparse</td>
|
||||||
|
<td>Internal library for IfcOpenShell</td>
|
||||||
|
<td>LGPL-3.0-or-later*</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifcpatch</td>
|
||||||
|
<td>Utility to run pre-packaged scripts to manipulate IFCs</td>
|
||||||
|
<td>LGPL-3.0-or-later</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifcsverchok</td>
|
||||||
|
<td>Blender Add-on for visual node programming with IFC</td>
|
||||||
|
<td>GPL-3.0-or-later</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifctester</td>
|
||||||
|
<td>Library, CLI and webapp for IDS model auditing</td>
|
||||||
|
<td>LGPL-3.0-or-later</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>ifcwrap</td>
|
||||||
|
<td>Internal library for IfcOpenShell</td>
|
||||||
|
<td>LGPL-3.0-or-later*</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>qtviewer</td>
|
||||||
|
<td>Internal library for IfcOpenShell</td>
|
||||||
|
<td>LGPL-3.0-or-later*</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>serializers</td>
|
||||||
|
<td>Internal library for IfcOpenShell</td>
|
||||||
|
<td>LGPL-3.0-or-later*</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
[LGPL]: https://github.com/IfcOpenShell/IfcOpenShell/tree/master/COPYING.LESSER "LGPL-3.0-or-later"
|
||||||
|
[IFC]: https://technical.buildingsmart.org/standards/ifc/ "IFC"
|
||||||
|
[IFC2x3 TC1]: https://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/ "IFC2x3 TC1"
|
||||||
|
[IFC4 Add2 TC1]: https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML/ "IFC4 Add2 TC1"
|
||||||
|
[Visual Studio]: https://www.visualstudio.com/ "Visual Studio"
|
||||||
|
[Visual C++ Build Tools]: http://landinghub.visualstudio.com/visual-cpp-build-tools "Visual C++ Build Tools"
|
||||||
|
[MSYS2]: https://msys2.github.io/ "MSYS2"
|
||||||
|
[win/readme.md]: https://github.com/IfcOpenShell/IfcOpenShell/tree/master/win/readme.md "win/readme.md"
|
||||||
|
[nix/build-all.py]: https://github.com/IfcOpenShell/IfcOpenShell/tree/master/nix/build-all.py "nix/build-all.py"
|
||||||
|
doc_url: https://ifcopenshell.org/
|
||||||
|
dev_url: https://github.com/IfcOpenShell/IfcOpenShell
|
||||||
|
|
||||||
|
extra:
|
||||||
|
recipe-maintainers:
|
||||||
|
- adrianinsaval
|
||||||
|
- looooo
|
||||||
|
- Krande
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
context:
|
|
||||||
name: ifcopenshell
|
|
||||||
version: 0.8.0alpha1
|
|
||||||
|
|
||||||
package:
|
|
||||||
name: '{{ name|lower }}'
|
|
||||||
version: '{{ version }}'
|
|
||||||
|
|
||||||
source:
|
|
||||||
path: ..
|
|
||||||
|
|
||||||
build:
|
|
||||||
number: 1
|
|
||||||
|
|
||||||
requirements:
|
|
||||||
build:
|
|
||||||
- "{{ compiler('c') }}"
|
|
||||||
- "{{ compiler('cxx') }}"
|
|
||||||
- ninja >=1.10.2
|
|
||||||
- cmake
|
|
||||||
- swig 4.1.1
|
|
||||||
|
|
||||||
host:
|
|
||||||
- python
|
|
||||||
- boost-cpp
|
|
||||||
- occt ==7.7.0
|
|
||||||
- libxml2
|
|
||||||
- cgal-cpp
|
|
||||||
- hdf5
|
|
||||||
- eigen
|
|
||||||
- mpfr
|
|
||||||
- sel(unix): gmp
|
|
||||||
- sel(win): mpir
|
|
||||||
- nlohmann_json
|
|
||||||
- zlib
|
|
||||||
|
|
||||||
run:
|
|
||||||
- python
|
|
||||||
- {{ pin_compatible('occt', max_pin='x.x.x') }}
|
|
||||||
- {{ pin_compatible('cgal-cpp', max_pin='x.x.x') }}
|
|
||||||
- {{ pin_compatible('boost-cpp', max_pin='x.x.x') }}
|
|
||||||
- libxml2
|
|
||||||
- hdf5
|
|
||||||
- eigen
|
|
||||||
- mpfr
|
|
||||||
- sel(unix): gmp
|
|
||||||
- sel(win): mpir
|
|
||||||
- nlohmann_json
|
|
||||||
- zlib
|
|
||||||
|
|
||||||
test:
|
|
||||||
imports:
|
|
||||||
- ifcopenshell
|
|
||||||
|
|
||||||
about:
|
|
||||||
home: https://ifcopenshell.org
|
|
||||||
license: LGPL-3.0-or-later
|
|
||||||
license_file: COPYING
|
|
||||||
summary: 'IfcOpenShell is a library to support the IFC file format'
|
|
||||||
description: |
|
|
||||||
IfcOpenShell is an open source (LGPL) software library for
|
|
||||||
working with the Industry Foundation Classes (IFC) file format.
|
|
||||||
doc_url: https://blenderbim.org/docs-python/
|
|
||||||
dev_url: https://github.com/IfcOpenShell/IfcOpenShell
|
|
||||||
Reference in New Issue
Block a user