Bruno Postle
24a241addc
Use version preprocessor guards for RocksDB unique_ptr API, retain unique_ptr internally
2026-06-05 14:22:07 +02:00
Bruno Postle
365be8fb52
Support RocksDB shared library and new unique_ptr DB::Open API
...
Some distributions (e.g. Fedora) ship only a shared RocksDB that exports
RocksDB::rocksdb-shared rather than RocksDB::rocksdb. The CMake target
selection now falls back to the shared target when the static one is absent.
Newer RocksDB also changed DB::Open and DB::OpenForReadOnly to take
std::unique_ptr<DB>* instead of DB**. IfcFile.cpp uses SFINAE tag dispatch
to build against both old and new APIs without version detection.
2026-06-05 14:22:07 +02:00
Bruno Postle
bd264f1d85
Add missing standard library includes for self-sufficient headers
...
Fixes builds with newer GCC/libstdc++ that no longer provide <cstdint>,
<cstring>, <cfloat>, <memory>, <algorithm> etc. transitively. Also
disambiguates visit<> calls in taxonomy.h with the full namespace and
casts the character value in IfcCharacterDecoder to uint32_t to silence
ambiguous overload warnings.
2026-06-05 08:54:27 +02:00
Richard Brice
c39fe6e8a3
Fixes bug in addRelatedObject<> for IfcRelReferencedInSpatialStructure
2026-04-23 08:40:05 -07:00
Thomas Krijnen
e7db239647
inverse access in schema
2026-04-10 21:46:39 +02:00
Thomas Krijnen
3fbf01f446
partial revert of 24acfea
2026-04-08 13:48:23 +02:00
Thomas Krijnen
24acfeaf45
Thinking indicator under chat
2026-04-03 10:59:09 +02:00
ssg3d
7b4889d2ec
Update IfcParse.cpp
...
IfcOpenshell read file, and write file without changes. This round trip introduces truncation noise. It should not hurt to increase the precision to keep this clean.
2026-02-13 10:03:05 +01:00
Andrej730
d41985f23a
format cmake files
2025-12-22 18:44:42 +05:00
Andrej730
deb6243ce5
cmake - use INCLUDES DESTINATION for includes paths export
...
As it's more idiomatic.
2025-12-15 19:02:06 +05:00
Andrej730
d5210e0d75
cmake export - propagate HAS_SCHEMA definitions to exported IfcParse target
2025-12-12 20:16:14 +05:00
Andrej730
d303acd660
cmake export - propagate IFOPSH_WITH_ROCKSDB to cmake config
...
Apparently, cmake isn't exporting definitions defined globally `add_definitions`, so creating interface target to combine rocksdb and our definitions.
2025-12-12 20:16:13 +05:00
Andrej730
01f97a5860
IfcParse - export include path
2025-12-12 19:30:23 +05:00
Andrej730
5a0f8d30cf
cmake - install headers using PUBLIC_HEADER, deprecate INCLUDEDIR
2025-12-12 19:30:21 +05:00
Andrej730
92964fb5ef
cmake - option to build only common schemas
2025-12-12 19:30:21 +05:00
Andrej730
2627052b55
cmake - export IfcOpenShellConfig.cmake
2025-12-11 19:55:41 +05:00
Andrej730
6a0caa7989
cmake - fix missing xml.lib in debug builds #7413
...
After 5d56025 we were using `LibXml2::LibXml2` instead of `LIBXML2_LIBRARIES` for linking, but this target was missing debug variants leading to issues during linking.
2025-12-04 17:44:13 +05:00
Andrej730
1468bf3c97
parse_ifcxml - remove redundant ifdef WITH_IFCXML
...
The entire file is already wrapped in `WITH_IFCXML`, so no need to do it again for some block.
2025-12-02 19:55:56 +05:00
Andrej730
a5d0187343
ifcparse cmake - fix missing ifcxml symbols in python wrapper #7406
2025-12-02 19:55:56 +05:00
Andrej730
67421c533c
ifcparse cmake - make compile definition more explicit #7406
2025-12-02 19:55:56 +05:00
Esteban DUGUEPEROUX
083fab5255
cmake: Use standard install way
...
For specific install customization, use CMAKE_INSTALL_BINDIR, CMAKE_INSTALL_LIBDIR and CMAKE_INSTALL_INCLUDEDIR variables.
See-Also: https://cmake.org/cmake/help/latest/guide/tutorial/Installation%20Commands%20and%20Concepts.html
2025-11-30 11:11:51 +01:00
Esteban DUGUEPEROUX
81bf187ee6
cmake: put IFCXML_SUPPORT related config in IfcParse cmake config file
2025-11-30 11:05:46 +01:00
Thomas Krijnen
9d437b5bc3
Mark simple type instance file ownership #7226
2025-11-25 09:19:28 +01:00
Thomas Krijnen
461404cd45
Don't terminate parsing on invalid entity names
2025-11-23 11:16:47 +01:00
Esteban DUGUEPEROUX
5d56025014
cmake: Separate ifcparse build in its own CMakeLists.txt file
2025-11-10 09:42:51 +01:00
Thomas Krijnen
7cb1f07a0b
hacky way to retain attribute too many messages on header entities in validate.py
2025-10-25 21:12:12 +02:00
Thomas Krijnen
bdb52dcffd
Pass header entity types during pass to resolve empty list type
2025-10-25 20:29:41 +02:00
Thomas Krijnen
1594b9505c
Don't emit Parsing terminated on benign files by not reading past stream in skipComment()
2025-10-25 20:14:02 +02:00
Thomas Krijnen
fa46fe0cf0
Typos
2025-10-25 15:30:36 +02:00
Thomas Krijnen
e82ca0e932
Less back and forths by returning semi count in page
2025-10-25 15:08:21 +02:00
Thomas Krijnen
2e951eb952
Whitespace handling now that token strings are built on the fly
2025-10-25 13:55:15 +02:00
Thomas Krijnen
bcb5fd7810
Missing return type
2025-10-24 13:32:18 +02:00
Thomas Krijnen
40c5145a13
Address some omissions in the FileReader rewrite regarding unicode paths on windows
2025-10-24 13:26:27 +02:00
Thomas Krijnen
0494bd9677
Option to bypass storing types when opening model
2025-10-24 12:06:59 +02:00
Thomas Krijnen
a6d20c0cc4
Follow up after 4d688170e0
2025-10-22 21:42:37 +02:00
Thomas Krijnen
550779deee
Merge branch 'v0.8.0' of https://github.com/IfcOpenShell/IfcOpenShell into v0.8.0
2025-10-21 13:06:05 +02:00
Thomas Krijnen
86b89f2153
Comment behaviour #7264
2025-10-20 10:37:35 +02:00
Thomas Krijnen
34f4aa430a
Keep file_ as nullptr to not bypass addEntity() #7264
2025-10-20 10:33:09 +02:00
Thomas Krijnen
67678cb7f1
Merge branch 'v0.8.0' of https://github.com/IfcOpenShell/IfcOpenShell into v0.8.0
2025-10-20 10:27:50 +02:00
Thomas Krijnen
f05b0d946d
if -> ifdef #7174
2025-10-19 13:20:58 +02:00
Thomas Krijnen
4d688170e0
Storage rework WIP
2025-10-13 20:47:43 +02:00
Thomas Krijnen
14c1b70768
Address some compiler warnings
2025-10-08 14:18:17 +02:00
Thomas Krijnen
e15f222a19
Address segfault #7215 #7185
2025-10-08 14:17:47 +02:00
Osyotr
066326ab3b
Fix warning C4275
...
It's not enough to disable this warning by adding /wd4257 at build time because it's triggered when the library is consumed.
2025-10-03 18:12:56 +02:00
Thomas Krijnen
ca3685900f
Update clear_schemas() which is now handled by unique_ptr
2025-10-03 14:18:50 +02:00
Thomas Krijnen
5e10e61aca
Clean-up parsed simple types #7185
2025-10-03 14:18:07 +02:00
Andrej730
babf95785c
Move IFCOPENSHELL_VERSION definition from IfcParse.h
...
To prevent recompiling all files that have IfcParse.h include and improve caching.
2025-09-30 19:17:46 +05:00
Thomas Krijnen
06f5ded038
Don't crash on missing schema when loading rdb
2025-09-29 11:29:52 +02:00
Thomas Krijnen
91f371a46e
Be sure to init header_section_schema when obtaining schemas in python #7131
2025-09-29 11:29:35 +02:00
Thomas Krijnen
573e53ebfd
Ugly workarounds to not depend on std::filesystem #7131
2025-09-29 11:29:07 +02:00