When the python wrappers are selected be built and CMAKE_CXX_STANDARD=17 I get weird error about type_traits way down low in the c++ standard library. I think it has to do with the python bindings may be hard coding std=c++11.
I am not totally sure I understand what the issue is, but gives and error like
_Tp does not refer to a value
// referencing this code snippet in type_traits
: public integral_constant<bool, _GLIBCXX_BUILTIN_IS_SAME_AS(_Tp, _Up)>
there were some other issues around throw(itk::object) which I replaced with noexcept(false) but that didnât seemed relevant to the issue above.
I also turned off the python bindings and it appears to be compiling fine.
it appears to give the same error when CMAKE_CXX_STANDARD is not set. which I would assume get set to a default?
the latest cmake sets it to 14, which appears to be the same issue.
also I believe I am compiling with swig 3.x (the default), maybe using external 4.x would fix. Is it in the works to upgrade swig to 4.x in the default build settings?
I found that the default build uses swig 3.x on unix. after modifying to use 4.x the build produces the same issue.
We use CastXML to parse the C++ headers to generate the wrapping interface. CastXML uses LLVM for syntax parsing. This version bumps LLVM from 6 to 10 to improve syntax support for GCC 10.