Add functionality seeking debug version of 3rdparty libraries.
If debug ones were not found, the release are used instead.
Use standard functionality to find draco.
Implement new logic to compare test result with target branch.
The compare results are stored in single archive contained .html file per job.
Tests results stored as an artefact per job separately.
Extend the jobs with new 3rd-party and new use_* flags
Introduced a comprehensive multi-platform build and
test workflow for OCCT, supporting Windows, macOS, and Linux.
Added a new workflow for automated documentation building.
Reorganized a code analysis workflow using CodeQL
and Microsoft C++ Code Analysis.
Removed cotire PCH
Integrated native PCH by CMake with the same BUILD_USE_PCH flag
Added new option to avoid extra files in 'build/include' folder and replace it by symlink
Symlink creates link to the origin file, it has some benefits from debug and build side.
The CMake parameter for symlink is 'BUILD_INCLUDE_SYMLINK'
Removed or reorganized include that are not a part of the project dependency.
The new file for typedef is added because Select is not direct dependency.
Processing of complex_triangulated_surface_set is added to
STEPCAFControl_GDTProperty::GetTessellation().
Processing of tessellated_curve_set is refactored and moved to a
separate function.
Problems related to normals list are fixed in
RWStepVisual_RWComplexTriangulatedSurfaceSet::WriteStep():
Normals list is now checked for nullptr. It is a valid situation that
occurs when complex_triangulated_surface_set in STEP file has no
normals.
Traversing of normals list is performed in correct order. Previously
rows and columns were switched, which led to crashes or incorrect data.
Windows, Linux builds now starts checking the warning.
In warning case the job will be failed.
MacOS having too much warnings related with sprintf.
Linux Clang having a problem with Flex and Bison.
TODO: Fix the warnings for MacOS and Linux Clang.
Fixed exception in RWStepShape_RWEdgeCurve::Check() thrown when trying
to access step entity in Interface_EntityIterator with zero entities.
Fixed a crash in StepToTopoDS_TranslateFace::Init() caused by
dereferencing nullptr.
RWStepShape_RWEdgeCurve and RWStepShape_RWEdgeCurve are refactored.
Test bug33665 is added to check the fixed behavior.
Precision.hxx optimized to have compiler-time
constants for the most common floating-point values.
Reorganized code to avoid static jumping for parametric.
The absence of target_link_libraries calls for static libraries caused CMake to fail
in modeling the link dependencies correctly.
This fix ensures that CMake correctly exports the dependencies in OpenCASCADEConfig.cmake and
resolves downstream linking errors for projects that link against static OpenCASCADE libraries.