The name of the 'netgen' executable collides with an older UNIX pcb
trace routing application also named 'netgen'. Fedora, for this
reason, renames this mesher package to 'netgen-mesher' and the
executable, likewise, to 'netgen-mesher'. I propose the same change
here.
Ironically though, the current python module is already named
'netgen-mesher', which complicates loading of the module as 'netgen',
often resulting in it being unfindable. For this reason, I similarly
reverse the usage, renaming the python module from 'netgen-mesher' to
'netgen'.
Add explicit defaults where missing for clarity.
Support passing in NETGEN_GIT_VERSION for use when building, eg, RPM
packages using rpkg, which requires building from an untagged source
bundle, that is, not directly from a git checkout.
Add option to choose build against internal or external Pybind11; add
cmake module to find and configure against system Pybind.
re-add versioning of shared library files.
Add section for GCC-specific options setting (right now, to turn off
harmless warnings).
Warn if pybind11_stubgen is not found.
Adjust stubgen paths to work when build is not in-place in the source tree.
move fieldlines code to meshing dir
move visualization function pointers to meshing directory
DLL_HEADER -> NGGUI_API in visualization lib
move soldata.hpp to meshing
update occ, no freetype necessary anymore
Found via `codespell -q 3 -S ./external_dependencies/pybind11 -L alledges,allright,ane,anormal,ans,apoints,ba,boxs,cancle,childs,co-ordinate,co-ordinates,daty,enty,filld,hel,identifyable,ist,linz,lod,ned,nd,selt,statics,suround,thev,thist,thisy,timere,upto,wel`
The CMake export of Interface libraries also exports PRIVATE build
settings, which leads to build errors with non-existing include paths and .lib files for binary distributions.
Use the work-around mentioned here to circumvent this behavior:
https://gitlab.kitware.com/cmake/cmake/-/issues/15415#note_849405