[Development] Do we really need Assimp?
Sean Harmer
sh at theharmers.co.uk
Thu Jun 7 13:31:13 CEST 2018
Hi Thiago,
Apologies for the delay in replying, I was on vacation.
On 23/05/2018 01:16, Thiago Macieira wrote:
> Given the number of warnings in this codebase, I am really skeptical about the
> quality of the code. Today, compiling with GCC, Clang an ICC, I saw the
> following warnings scroll by, which are real issues:
>
> LWSLoader.cpp:428:14: warning: duplicated ‘if’ condition [-Wduplicated-cond]
>
> new_allocator.h:140:22: warning: destructor called on non-final
> 'Assimp::FICDATAValueImpl' that has virtual functions but non-virtual
> destructor [-Wdelete-non-virtual-dtor]
>
> miniz.h(4430): warning #592: variable "level" is used before its value is set
>
> And then there are of course warnings that indicate none of their developers
> are testing new compilers, like
>
> LWOLoader.cpp:1408:13: warning: this statement may fall through [-Wimplicit-
> fallthrough=]
>
> Can we get rid of it?
>
> If not, can I ask someone to compile it with CONFIG += warn_off, to hide all
> that ugliness? Those warnings make finding our warnings more difficult and it
> affects our reputation because people see warnings and think they're Qt's
> fault.
>
> Qt3D maintainers, please take action to make sure those warnings disappear
> from our builds.
Tbh I'd be glad to not have assimp in the source tree too as it just
adds to maintenance.
It's used for 2 things at present:
1) A sceneloader plugin. We could move this to be not compiled by
default or even move it to another optional module for users to compile
themselves.
2) The qgltf tool which converts from assimp-supported file formats to
extended glTF 1 files. Again, we coudl do similar as with 1).
Another option is to only rely upon a system installed assimp and build
these tools only if found at configure time. In fact, that's probably
easiest and best. Then we can remove assimp from the source. It means
users woudl need to build these tools/plugins themselves (typically on
macOS/Windows) but at least they would be easily available.
Would that be acceptable to the project?
Cheers,
Sean
More information about the Development
mailing list