From a408b922792739d552391d7197427396bc7b78c4 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Mon, 26 Jun 2017 22:01:15 +0200 Subject: [PATCH] closes https://github.com/assimp/assimp/issues/1319: fix build without 3DS. --- code/ASELoader.cpp | 4 ++++ code/ASELoader.h | 4 ++++ code/ASEParser.cpp | 3 +++ code/ASEParser.h | 4 ++++ code/CMakeLists.txt | 2 +- code/ImporterRegistry.cpp | 2 ++ 6 files changed, 18 insertions(+), 1 deletion(-) diff --git a/code/ASELoader.cpp b/code/ASELoader.cpp index 2ea5f7b1c..16b3c4ad9 100644 --- a/code/ASELoader.cpp +++ b/code/ASELoader.cpp @@ -46,6 +46,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef ASSIMP_BUILD_NO_ASE_IMPORTER +#ifndef ASSIMP_BUILD_NO_3DS_IMPORTER + // internal headers #include "ASELoader.h" #include "StringComparison.h" @@ -1320,4 +1322,6 @@ bool ASEImporter::GenerateNormals(ASE::Mesh& mesh) { return false; } +#endif // ASSIMP_BUILD_NO_3DS_IMPORTER + #endif // !! ASSIMP_BUILD_NO_BASE_IMPORTER diff --git a/code/ASELoader.h b/code/ASELoader.h index d1a5769de..3c5048367 100644 --- a/code/ASELoader.h +++ b/code/ASELoader.h @@ -53,6 +53,7 @@ struct aiNode; namespace Assimp { +#ifndef ASSIMP_BUILD_NO_3DS_IMPORTER // -------------------------------------------------------------------------------- /** Importer class for the 3DS ASE ASCII format. @@ -201,6 +202,9 @@ protected: bool noSkeletonMesh; }; +#endif // ASSIMP_BUILD_NO_3DS_IMPORTER + } // end of namespace Assimp + #endif // AI_3DSIMPORTER_H_INC diff --git a/code/ASEParser.cpp b/code/ASEParser.cpp index e3ec0fe34..7de80a2d8 100644 --- a/code/ASEParser.cpp +++ b/code/ASEParser.cpp @@ -46,6 +46,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef ASSIMP_BUILD_NO_ASE_IMPORTER +#ifndef ASSIMP_BUILD_NO_3DS_IMPORTER // internal headers #include "TextureTransform.h" @@ -2151,4 +2152,6 @@ void Parser::ParseLV4MeshLong(unsigned int& iOut) iOut = strtoul10(filePtr,&filePtr); } +#endif // ASSIMP_BUILD_NO_3DS_IMPORTER + #endif // !! ASSIMP_BUILD_NO_BASE_IMPORTER diff --git a/code/ASEParser.h b/code/ASEParser.h index cdae4affe..db64f2a16 100644 --- a/code/ASEParser.h +++ b/code/ASEParser.h @@ -49,6 +49,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include +#ifndef ASSIMP_BUILD_NO_3DS_IMPORTER + // for some helper routines like IsSpace() #include "ParsingUtils.h" #include "qnan.h" @@ -662,4 +664,6 @@ public: } // Namespace ASE } // Namespace ASSIMP +#endif // ASSIMP_BUILD_NO_3DS_IMPORTER + #endif // !! include guard diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt index 82497467a..aa5dffcf3 100644 --- a/code/CMakeLists.txt +++ b/code/CMakeLists.txt @@ -844,7 +844,7 @@ SET( assimp_src ) ADD_DEFINITIONS( -DOPENDDLPARSER_BUILD ) - +ADD_DEFINITIONS( -DASSIMP_BUILD_NO_3DS_IMPORTER) INCLUDE_DIRECTORIES( ${IRRXML_INCLUDE_DIR} ../contrib/openddlparser/include diff --git a/code/ImporterRegistry.cpp b/code/ImporterRegistry.cpp index 5d04b267e..afc308075 100644 --- a/code/ImporterRegistry.cpp +++ b/code/ImporterRegistry.cpp @@ -231,7 +231,9 @@ void GetImporterInstanceList(std::vector< BaseImporter* >& out) out.push_back( new MDLImporter()); #endif #if (!defined ASSIMP_BUILD_NO_ASE_IMPORTER) + #if (!defined ASSIMP_BUILD_NO_3DS_IMPORTER) out.push_back( new ASEImporter()); +# endif #endif #if (!defined ASSIMP_BUILD_NO_HMP_IMPORTER) out.push_back( new HMPImporter());