fixed glTF export stuff being pulled into the EXE even if building with ASSIMP_BUILD_NO_EXPORT
“LazyDictBase::WriteObjects()” in the two glTF implementations is only used for export. Since it’s a virtual method, and many compilers have trouble removing unreferenced virtual methods, glTF export stuff is pulled into the binary even if compiling without exports. This commit removes said virtual function if only compiling for import. This removes 75 KiB of useless code when compiled with Visual Studio for x64.pull/3763/head
parent
cd42b9954b
commit
6cbeca5518
|
@ -954,7 +954,9 @@ namespace glTF
|
|||
virtual void AttachToDocument(Document& doc) = 0;
|
||||
virtual void DetachFromDocument() = 0;
|
||||
|
||||
#if !defined(ASSIMP_BUILD_NO_EXPORT)
|
||||
virtual void WriteObjects(AssetWriter& writer) = 0;
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
|
@ -986,8 +988,10 @@ namespace glTF
|
|||
void AttachToDocument(Document& doc);
|
||||
void DetachFromDocument();
|
||||
|
||||
#if !defined(ASSIMP_BUILD_NO_EXPORT)
|
||||
void WriteObjects(AssetWriter& writer)
|
||||
{ WriteLazyDict<T>(*this, writer); }
|
||||
#endif
|
||||
|
||||
Ref<T> Add(T* obj);
|
||||
|
||||
|
|
|
@ -43,7 +43,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||
|
||||
#include "AssetLib/glTF/glTFImporter.h"
|
||||
#include "AssetLib/glTF/glTFAsset.h"
|
||||
#if !defined(ASSIMP_BUILD_NO_EXPORT)
|
||||
#include "AssetLib/glTF/glTFAssetWriter.h"
|
||||
#endif
|
||||
#include "PostProcessing/MakeVerboseFormat.h"
|
||||
|
||||
#include <assimp/StringComparison.h>
|
||||
|
|
|
@ -997,7 +997,9 @@ public:
|
|||
virtual void AttachToDocument(Document &doc) = 0;
|
||||
virtual void DetachFromDocument() = 0;
|
||||
|
||||
#if !defined(ASSIMP_BUILD_NO_EXPORT)
|
||||
virtual void WriteObjects(AssetWriter &writer) = 0;
|
||||
#endif
|
||||
};
|
||||
|
||||
template <class T>
|
||||
|
@ -1030,7 +1032,9 @@ class LazyDict : public LazyDictBase {
|
|||
void AttachToDocument(Document &doc);
|
||||
void DetachFromDocument();
|
||||
|
||||
#if !defined(ASSIMP_BUILD_NO_EXPORT)
|
||||
void WriteObjects(AssetWriter &writer) { WriteLazyDict<T>(*this, writer); }
|
||||
#endif
|
||||
|
||||
Ref<T> Add(T *obj);
|
||||
|
||||
|
|
|
@ -44,7 +44,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||
#include "AssetLib/glTF2/glTF2Importer.h"
|
||||
#include "PostProcessing/MakeVerboseFormat.h"
|
||||
#include "AssetLib/glTF2/glTF2Asset.h"
|
||||
#if !defined(ASSIMP_BUILD_NO_EXPORT)
|
||||
#include "AssetLib/glTF2/glTF2AssetWriter.h"
|
||||
#endif
|
||||
|
||||
#include <assimp/CreateAnimMesh.h>
|
||||
#include <assimp/StringComparison.h>
|
||||
|
|
Loading…
Reference in New Issue