Commit Graph

426 Commits

Author SHA1 Message Date
Andrej730 abeea643af build-all: --add-commit-sha cli arg 2026-09-16 18:07:51 +05:00
Andrej730 2bfaa4a196 build-all: --help to include default values 2026-09-16 18:07:51 +05:00
Andrej730 6d880a26c1 build-all: --build-cfg cli arg 2026-09-16 18:07:51 +05:00
Andrej730 490d888e17 build-all: --schemas cli arg 2026-09-16 18:07:51 +05:00
Andrej730 39b913d5ec build-all: --num_build_procs cli arg 2026-09-16 18:07:51 +05:00
Andrej730 0607a7caa1 build scripts: autoswitch to release Python 3.15 2026-09-15 12:02:52 +05:00
Andrej730 e21dec4781 build-all: drop stale x86 comments (993ae7196) 2026-09-15 12:02:52 +05:00
Andrej730 c0a939be96 build-all: bump Python 3.15 to rc2 2026-09-15 12:02:52 +05:00
Andrej730 b59dc01019 build: run aqtinstall in deps directory to avoid stray log file 2026-09-14 17:23:21 +05:00
Andrej730 6ad9386a8d build: dont provide dependencies to cgal installation
CGAL never runs `find_package` for `Boost`, `GMP` or `MPFR` during its configuration and never hardcodes their paths to the generated configs. So providing them have no effect. It's also can be confirmed by `build-deps.cmd` on Windows running all this time without the most of these args. Though it was settings `BOOST_ROOT` but it had no effect too.

Probably it's some kind of artifact from CGAL past when it's used to be non-header-only library.
2026-09-09 16:43:04 +05:00
Andrej730 9fd3fd17ab build: drop CGAL_HEADER_ONLY flag
Since cgal 5.3 the library is header only and flag is not needed. `BUILD_SHARED_LIBS` - same story.

See https://www.cgal.org/2021/07/06/cgal53/
2026-09-09 16:43:04 +05:00
Andrej730 5352d72815 build-all: use logger instead of print consistently 2026-09-01 18:13:03 +05:00
Andrej730 2f7ab8852f build-all: document QT_DIR, QT6_VERSION variables 2026-09-01 18:13:03 +05:00
Andrej730 1477fd2bc0 build-all: use datetime instead of date executable 2026-09-01 18:13:03 +05:00
Andrej730 7c685942b2 build-all: use shutil and pathlib instead of mkdir and cp 2026-09-01 18:13:03 +05:00
Andrej730 ee0e67a63b build-all: use find_spec to check aqt 2026-09-01 18:13:03 +05:00
Andrej730 f462424185 build-all: clean up unused variables
`BOOST_VERSION_UNDERSCORE` unused since 2e35b07

`OCE_LOCATION` is dead since it was introduced 72d8b5377 (and was a dead variable in build-all.sh too)

`curl`, `wget` - replaced with `urlretrieve back in 51cf52c38

Moved `BOOST_LOCATION` next to its `build_dependency`, so it will have a harder time getting lost.
2026-09-01 18:13:03 +05:00
Andrej730 2afbb46eca package-zip-archives: --fail-on-missing-deps 2026-09-01 18:13:03 +05:00
Andrej730 29e14c10cb build-all: --disable-icu on boost to avoid linking unexpected ICU libs
Example error coming from Linux build (`build_rocky` is bringing ISU dev libs transitively through pango/cairo):
```
./BonsaiViewer: error while loading shared libraries: libicudata.so.67: cannot open shared object file: No such file or directory
```
2026-08-31 22:50:20 +05:00
Andrej730 24c4231013 build-all: do not deploy qt runtime
As it installs everything to `lib`, making it hard to filter things that are needed just for Python wrapper (e.g. skipping qt libs). Anyway we deploy everything ourselves manually in `package-zip-archives`.
2026-08-31 22:50:20 +05:00
Andrej730 8027bcf7da package-zip-archives: --no-zip 2026-08-31 22:50:20 +05:00
Andrej730 c4dde0b0c0 build-all: support providing ld library paths on Mac 2026-08-31 22:50:20 +05:00
Andrej730 8332371ed3 build-all: pass boost to ld library paths for tests 2026-08-31 22:50:20 +05:00
Andrej730 2d6e233bd0 build-all: reuse APPLE constant 2026-08-31 22:50:20 +05:00
Andrej730 da28d127d7 build-all: make BonsaiViewer a normal target, built by default
Can be skipped using `--without-BonsaiViewer` as any other target, if
needed.
2026-08-31 22:50:20 +05:00
Andrej730 6dc14fa05c build-all: fix LIBRARY_EXT not considering macos
Led to error during OpenCOLLADA build:
```
2026-08-28 13:33:34,391 make[2]: *** No rule to make target `/Users/runner/work/IfcOpenShell/IfcOpenShell/build/Darwin/arm64/10.15/install/pcre-shared-8.41/lib/libpcre.so', needed by `lib/libOpenCOLLADABaseUtils.dylib'.  Stop.
2026-08-28 13:33:34,391 make[2]: *** Waiting for unfinished jobs....
```
2026-08-28 18:59:47 +05:00
Andrej730 12334d1f69 build-all: use kernel as gmp mirror
As it seems more stable than the other ones.
2026-08-28 18:59:47 +05:00
Andrej730 4e390acbbc build-all: fix missing cgal dependency on boost
boost does have `"boost" in targets` guard, so building just `cgal` previously would fail
2026-08-28 18:59:47 +05:00
Andrej730 f3d1c62f57 build-all: set CMAKE_INSTALL_PREFIX automatically for all dependencies
The only tricky one was occt, but it seems `INSTALL_DIR` is always initialized with `CMAKE_INSTALL_PREFIX` if not provided, so it will work fine.
2026-08-28 18:59:47 +05:00
Andrej730 914720c7ac package-zip-archives: --shared flag
Currently adding `-shared-` suffix to all dependencies instead of overriding, to avoid mixups during transition period.
2026-08-28 18:59:47 +05:00
Andrej730 05152a5fc6 package-zip-archives: skip previously installed runtime deps 2026-08-28 18:59:47 +05:00
Andrej730 68da576123 build-all: provide LD_LIBRARY_PATH when testing wrapper import 2026-08-28 18:59:47 +05:00
Andrej730 05cc2d4e3d build-all: consider lib64 during examples testing 2026-08-28 18:59:47 +05:00
Andrej730 2a9786bac2 package-zip-archives: --occt-shared
Packing OCCT shared libraries, seems to work. Though still got to do a test in CI before implementing `--shared`.
2026-08-27 18:48:58 +05:00
Andrej730 df31069743 package-zip-archives: target patching and checking more precisely
E.g. to ensure patching of qt libraries is not covering up issues with other runtime libraries.
2026-08-27 18:48:58 +05:00
Andrej730 48eddeec01 package-zip-archives: patch rpath for all runtime libs, not just qt
Unsure if it's required, but just to be safe and to avoid warnings showing up during `check_runtime_dependencies`.
2026-08-27 18:48:58 +05:00
Andrej730 453bf9b8e8 package-zip-archives: add libs to ignore during check_runtime_dependencies 2026-08-27 18:48:58 +05:00
Andrej730 705aacf659 package-zip-archives: check runtime deps for python wrapper too 2026-08-27 18:48:58 +05:00
Andrej730 94fa2dea42 package-zip-archives: make python wrapper packaging rerunnable
Now we have temporary staging area and each run works exactly the same, without affecting actuall installation.
2026-08-27 17:56:15 +05:00
Andrej730 57f0f89993 remove_tr1.patch: add a note 2026-08-27 17:07:35 +05:00
Andrej730 57eb5f474e build-all: always apply tr1 removal patch
Just to use consistent patches between the builds. It was previously guarded by `WASM`, but it was a dead code - `OpenCOLLADA` is skipped on wasm, so it was never exercised.

Regarding the "specializing std::hash outside of the std:: namespace" issue on gcc - it was caused by patch missing fixes for `COLLADABU_HASH_NAMESPACE_OPEN` and `COLLADABU_HASH_NAMESPACE_CLOSE`. So in theory it should have also result in an error in clang or in an invalid code/ub. Either way, now it's fixed.
2026-08-27 17:07:11 +05:00
Andrej730 3251c1b225 Enable ccache explicitly for builds #9359
Since it's now off by default
2026-08-27 16:54:01 +05:00
Andrej730 028497d4c0 package-zip-archives: use logger to control logs verbosity 2026-08-27 10:26:06 +05:00
Andrej730 b6b8d27f53 package-zip-archives: fix using wrong pattern for detecting SONAME
See example below - `Shared library` is used to declarate dependency, `Library soname` is used to declare `SONAME`.
```
 0x0000000000000001 (NEEDED)             Shared library: [libifcopenshell.plugin.so]
 0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [ld-linux-x86-64.so.2]
 0x000000000000000e (SONAME)             Library soname: [libifcopenshell.parse.so]
```
2026-08-27 10:26:06 +05:00
Andrej730 12338714aa package-zip-archives: provide arch suffixes and use them to determine build type
E.g. to avoid picking up wasm build that's also available locally
2026-08-26 13:03:30 +05:00
Andrej730 99c3304365 package-zip-archives: add colors for readibility 2026-08-26 12:34:36 +05:00
Andrej730 087f24185f package-zip-archives: consider installed qt libs to install/ifcopenshell/lib 2026-08-26 12:34:04 +05:00
Andrej730 aa4a73f62c package-zip-archives: clean up leftovers from previous failed local run 2026-08-26 12:34:04 +05:00
Andrej730 feba4cedb6 package-zip-archives: print current step 2026-08-26 12:33:58 +05:00
Andrej730 be05a04c9e package-zip-archives: get hash using git rev-parse for local runs 2026-08-26 12:02:01 +05:00