From c27ec6b408b700a30fd5a520a60f4bdad8467e52 Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: May 24 2016 23:40:50 +0000 Subject: Update to release 3.2.0 (rhbz#1332434) --- diff --git a/.gitignore b/.gitignore index 110e96c..275c2b6 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /assimp-3.0.1270-f849f6d.tar.gz /assimp-f849f6d9bd21efe802fa456184b1c3173e74a050-free.tar.bz2 /assimp-3.1.1_no_test_models.zip +/assimp-c318d648ff73aa2e32b783709d69740ac3e8c072-free.tar.bz2 diff --git a/assimp-3.1.1-cmakefix.patch b/assimp-3.1.1-cmakefix.patch deleted file mode 100644 index b5b3f51..0000000 --- a/assimp-3.1.1-cmakefix.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -up ./assimp-config.cmake.in.cmakefix ./assimp-config.cmake.in ---- ./assimp-config.cmake.in.cmakefix 2014-06-14 19:00:10.000000000 -0400 -+++ ./assimp-config.cmake.in 2015-09-16 19:48:33.982445792 -0400 -@@ -10,10 +10,7 @@ - # ASSIMP_LIBRARY_DIRS - link directories - # ASSIMP_LIBRARIES - libraries to link plugins with - # ASSIMP_Boost_VERSION - the boost version assimp was compiled with --get_filename_component(_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) --get_filename_component(_PREFIX "${_PREFIX}" PATH) --get_filename_component(_PREFIX "${_PREFIX}" PATH) --get_filename_component(ASSIMP_ROOT_DIR "${_PREFIX}" PATH) -+set(ASSIMP_ROOT_DIR "@CMAKE_INSTALL_PREFIX@") - - if( MSVC ) - # in order to prevent DLL hell, each of the DLLs have to be suffixed with the major version and msvc prefix -@@ -37,8 +34,8 @@ if( WIN32 ) - set( ASSIMP_CXX_FLAGS " -DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB") - endif() - set( ASSIMP_LINK_FLAGS "" ) --set( ASSIMP_LIBRARY_DIRS "${ASSIMP_ROOT_DIR}/@ASSIMP_LIB_INSTALL_DIR@") --set( ASSIMP_INCLUDE_DIRS "${ASSIMP_ROOT_DIR}/@ASSIMP_INCLUDE_INSTALL_DIR@") -+set( ASSIMP_LIBRARY_DIRS "@ASSIMP_LIB_INSTALL_DIR@") -+set( ASSIMP_INCLUDE_DIRS "@ASSIMP_INCLUDE_INSTALL_DIR@") - set( ASSIMP_LIBRARIES assimp${ASSIMP_LIBRARY_SUFFIX}) - if (CMAKE_BUILD_TYPE EQUAL "DEBUG") - set( ASSIMP_LIBRARIES ${ASSIMP_LIBRARIES}D) diff --git a/assimp-3.1.1-pythonpath.patch b/assimp-3.1.1-pythonpath.patch deleted file mode 100644 index becaabe..0000000 --- a/assimp-3.1.1-pythonpath.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -up ./port/PyAssimp/pyassimp/helper.py.pythonpath ./port/PyAssimp/pyassimp/helper.py ---- ./port/PyAssimp/pyassimp/helper.py.pythonpath 2015-07-03 12:17:19.850506767 -0400 -+++ ./port/PyAssimp/pyassimp/helper.py 2015-07-03 12:19:16.248849772 -0400 -@@ -21,12 +21,14 @@ additional_dirs, ext_whitelist = [],[] - # depending on the platform we're running on. - if os.name=='posix': - additional_dirs.append('/usr/lib/') -+ additional_dirs.append('/usr/lib64') - additional_dirs.append('/usr/local/lib/') - - # note - this won't catch libassimp.so.N.n, but - # currently there's always a symlink called - # libassimp.so in /usr/local/lib. - ext_whitelist.append('.so') -+ ext_whitelist.append('0') - # libassimp.dylib in /usr/local/lib - ext_whitelist.append('.dylib') - diff --git a/assimp-3.1.1-unbundle.patch b/assimp-3.1.1-unbundle.patch deleted file mode 100644 index e9dda96..0000000 --- a/assimp-3.1.1-unbundle.patch +++ /dev/null @@ -1,935 +0,0 @@ -diff -up ./CMakeLists.txt.unbundle ./CMakeLists.txt ---- ./CMakeLists.txt.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./CMakeLists.txt 2015-07-03 12:23:40.221699014 -0400 -@@ -156,6 +156,36 @@ if (PKG_CONFIG_FOUND) - PKG_CHECK_MODULES(UNZIP minizip) - endif (PKG_CONFIG_FOUND) - -+# Search for irrXML -+FIND_LIBRARY(IRRXML_LIB IrrXML HINTS ${IRRXML_LIB_PATH}) -+FIND_FILE(IRRXML_H irrXML.h PATHS ${IRRXML_INCLUDE_PATH}) -+IF(IRRXML_LIB AND IRRXML_H) -+ message (STATUS "Found External IrrXML") -+ set(HAVE_IRRXML true) -+ELSE (IRRXML_LIB AND IRRXML_H) -+ SET(HAVE_IRRXML false) -+ENDIF(IRRXML_LIB AND IRRXML_H) -+ -+# Search for poly2tri -+FIND_LIBRARY(POLY2TRI_LIB poly2tri HINTS ${POLY2TRI_LIB_PATH}) -+FIND_FILE(POLY2TRI_H poly2tri.h PATHS ${POLY2TRI_INCLUDE_PATH}) -+IF (POLY2TRI_LIB AND POLY2TRI_H) -+ message(status "Found External poly2tri") -+ SET(HAVE_POLY2TRI true) -+ELSE(POLY2TRI_LIB AND POLY2TRI_H) -+ SET(HAVE_POLY2TRI false) -+ENDIF(POLY2TRI_LIB AND POLY2TRI_H) -+ -+# Search for clipper -+FIND_LIBRARY(CLIPPER_LIB polyclipping HINTS ${CLIPPER_LIB_PATH}) -+FIND_FILE(CLIPPER_H clipper.hpp PATHS ${CLIPPER_INCLUDE_PATH}) -+IF (CLIPPER_LIB AND CLIPPER_H) -+ message(status "Found External clipper") -+ SET(HAVE_CLIPPER true) -+ELSE(CLIPPER_LIB AND CLIPPER_H) -+ SET(HAVE_CLIPPER false) -+ENDIF(CLIPPER_LIB AND CLIPPER_H) -+ - IF ( ASSIMP_NO_EXPORT ) - ADD_DEFINITIONS( -DASSIMP_BUILD_NO_EXPORT) - MESSAGE( STATUS "Build an import-only version of Assimp." ) -diff -up ./code/ACLoader.cpp.unbundle ./code/ACLoader.cpp ---- ./code/ACLoader.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/ACLoader.cpp 2015-07-03 12:23:40.222699052 -0400 -@@ -49,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - // internal headers - #include "ACLoader.h" - #include "ParsingUtils.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - #include "Subdivision.h" - - using namespace Assimp; -diff -up ./code/ASELoader.cpp.unbundle ./code/ASELoader.cpp ---- ./code/ASELoader.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/ASELoader.cpp 2015-07-03 12:23:40.222699052 -0400 -@@ -53,7 +53,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include "TargetAnimation.h" - - // utilities --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - using namespace Assimp; - using namespace Assimp::ASE; -diff -up ./code/ASEParser.cpp.unbundle ./code/ASEParser.cpp ---- ./code/ASEParser.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/ASEParser.cpp 2015-07-03 12:23:40.223699089 -0400 -@@ -50,7 +50,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include "TextureTransform.h" - #include "ASELoader.h" - #include "MaterialSystem.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - using namespace Assimp; - using namespace Assimp::ASE; -diff -up ./code/BlenderDNA.cpp.unbundle ./code/BlenderDNA.cpp ---- ./code/BlenderDNA.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/BlenderDNA.cpp 2015-07-03 12:23:40.224699126 -0400 -@@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #ifndef ASSIMP_BUILD_NO_BLEND_IMPORTER - #include "BlenderDNA.h" - #include "StreamReader.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - using namespace Assimp; - using namespace Assimp::Blender; -diff -up ./code/BlenderScene.cpp.unbundle ./code/BlenderScene.cpp -diff -up ./code/BlenderTessellator.h.unbundle ./code/BlenderTessellator.h ---- ./code/BlenderTessellator.h.unbundle 2015-07-03 12:52:16.084396913 -0400 -+++ ./code/BlenderTessellator.h 2015-07-03 12:52:21.680900278 -0400 -@@ -142,7 +142,7 @@ namespace Assimp - - #if ASSIMP_BLEND_WITH_POLY_2_TRI - --#include "../contrib/poly2tri/poly2tri/poly2tri.h" -+#include "poly2tri/poly2tri.h" - - namespace Assimp - { -diff -up ./code/BVHLoader.cpp.unbundle ./code/BVHLoader.cpp ---- ./code/BVHLoader.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/BVHLoader.cpp 2015-07-03 12:23:40.224699126 -0400 -@@ -44,7 +44,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #ifndef ASSIMP_BUILD_NO_BVH_IMPORTER - - #include "BVHLoader.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - #include "SkeletonMeshBuilder.h" - - using namespace Assimp; -diff -up ./code/CMakeLists.txt.unbundle ./code/CMakeLists.txt ---- ./code/CMakeLists.txt.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/CMakeLists.txt 2015-07-03 12:23:40.224699126 -0400 -@@ -88,7 +88,7 @@ SET( Logging_SRCS - SOURCE_GROUP(Logging FILES ${Logging_SRCS}) - - SET( Common_SRCS -- fast_atof.h -+ fast_atof_assimp.h - qnan.h - BaseImporter.cpp - BaseImporter.h -@@ -576,12 +576,15 @@ SET( ConvertUTF_SRCS - ) - SOURCE_GROUP( ConvertUTF FILES ${ConvertUTF_SRCS}) - -+if (NOT HAVE_CLIPPER) - SET( Clipper_SRCS - ../contrib/clipper/clipper.hpp - ../contrib/clipper/clipper.cpp - ) - SOURCE_GROUP( Clipper FILES ${Clipper_SRCS}) -- -+else (NOT HAVE_CLIPPER) -+ SET(Clipper_SRCS "") -+endif(NOT HAVE_CLIPPER) - - SET( Poly2Tri_SRCS - ../contrib/poly2tri/poly2tri/common/shapes.cc -@@ -679,10 +682,7 @@ SET( assimp_src - ${FBX_SRCS} - - # Third-party libraries -- ${IrrXML_SRCS} - ${ConvertUTF_SRCS} -- ${unzip_compile_SRCS} -- ${Poly2Tri_SRCS} - ${Clipper_SRCS} - # Necessary to show the headers in the project when using the VC++ generator: - ${Boost_SRCS} -@@ -722,6 +722,25 @@ else (UNZIP_FOUND) - INCLUDE_DIRECTORIES("../contrib/unzip") - endif (UNZIP_FOUND) - -+if (HAVE_IRRXML) -+ INCLUDE_DIRECTORIES(${IRRXML_INCLUDE_PATH}) -+ TARGET_LINK_LIBRARIES(assimp ${IRRXML_LIB}) -+else (HAVE_IRRXML) -+ INCLUDE_DIRECTORIES("../contrib/irrXML") -+endif (HAVE_IRRXML) -+ -+if (HAVE_POLY2TRI) -+ INCLUDE_DIRECTORIES(${POLY2TRI_INCLUDE_PATH}) -+ TARGET_LINK_LIBRARIES(assimp ${POLY2TRI_LIB}) -+endif(HAVE_POLY2TRI) -+ -+if (HAVE_CLIPPER) -+ INCLUDE_DIRECTORIES(${CLIPPER_INCLUDE_PATH}) -+ TARGET_LINK_LIBRARIES(assimp ${CLIPPER_LIB}) -+else (HAVE_CLIPPER) -+ INCLUDE_DIRECTORIES(../contrib/clipper) -+endif(HAVE_CLIPPER) -+ - INSTALL( TARGETS assimp - LIBRARY DESTINATION ${ASSIMP_LIB_INSTALL_DIR} - ARCHIVE DESTINATION ${ASSIMP_LIB_INSTALL_DIR} -diff -up ./code/COBLoader.cpp.unbundle ./code/COBLoader.cpp ---- ./code/COBLoader.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/COBLoader.cpp 2015-07-03 12:23:40.225699164 -0400 -@@ -49,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - - #include "StreamReader.h" - #include "ParsingUtils.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - #include "LineSplitter.h" - #include "TinyFormatter.h" -diff -up ./code/ColladaExporter.cpp.unbundle ./code/ColladaExporter.cpp ---- ./code/ColladaExporter.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/ColladaExporter.cpp 2015-07-03 12:23:40.225699164 -0400 -@@ -45,7 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include "ColladaExporter.h" - - #include "Bitmap.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - #include "SceneCombiner.h" - - #include -diff -up ./code/ColladaLoader.cpp.unbundle ./code/ColladaLoader.cpp ---- ./code/ColladaLoader.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/ColladaLoader.cpp 2015-07-03 12:23:40.225699164 -0400 -@@ -48,7 +48,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include "ColladaLoader.h" - #include "ColladaParser.h" - --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - #include "ParsingUtils.h" - #include "SkeletonMeshBuilder.h" - -diff -up ./code/ColladaParser.cpp.unbundle ./code/ColladaParser.cpp ---- ./code/ColladaParser.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/ColladaParser.cpp 2015-07-03 12:23:40.226699201 -0400 -@@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #ifndef ASSIMP_BUILD_NO_COLLADA_IMPORTER - - #include "ColladaParser.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - #include "ParsingUtils.h" - - using namespace Assimp; -diff -up ./code/CSMLoader.cpp.unbundle ./code/CSMLoader.cpp ---- ./code/CSMLoader.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/CSMLoader.cpp 2015-07-03 12:23:40.226699201 -0400 -@@ -50,7 +50,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include "CSMLoader.h" - #include "SkeletonMeshBuilder.h" - #include "ParsingUtils.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - using namespace Assimp; - -diff -up ./code/DXFLoader.cpp.unbundle ./code/DXFLoader.cpp ---- ./code/DXFLoader.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/DXFLoader.cpp 2015-07-03 12:23:40.227699238 -0400 -@@ -49,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include "DXFLoader.h" - #include "ParsingUtils.h" - #include "ConvertToLHProcess.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - #include "DXFHelper.h" - -diff -up ./code/fast_atof_assimp.h.unbundle ./code/fast_atof_assimp.h ---- ./code/fast_atof_assimp.h.unbundle 2015-07-03 12:23:40.227699238 -0400 -+++ ./code/fast_atof_assimp.h 2015-07-03 12:23:40.227699238 -0400 -@@ -0,0 +1,264 @@ -+// Copyright (C) 2002-2007 Nikolaus Gebhardt -+// This file is part of the "Irrlicht Engine" and the "irrXML" project. -+// For conditions of distribution and use, see copyright notice in irrlicht.h and irrXML.h -+ -+// ------------------------------------------------------------------------------------ -+// Original description: (Schrompf) -+// Adapted to the ASSIMP library because the builtin atof indeed takes AGES to parse a -+// float inside a large string. Before parsing, it does a strlen on the given point. -+// Changes: -+// 22nd October 08 (Aramis_acg): Added temporary cast to double, added strtoul10_64 -+// to ensure long numbers are handled correctly -+// ------------------------------------------------------------------------------------ -+ -+ -+#ifndef __ASSIMP_FAST_A_TO_F_H_INCLUDED__ -+#define __ASSIMP_FAST_A_TO_F_H_INCLUDED__ -+ -+#include -+#include "fast_atof.h" -+ -+namespace Assimp -+{ -+ -+// ------------------------------------------------------------------------------------ -+// Convert a string in decimal format to a number -+// ------------------------------------------------------------------------------------ -+inline unsigned int strtoul10( const char* in, const char** out=0) -+{ -+ return irr::core::strtoul10(in, out); -+} -+ -+// ------------------------------------------------------------------------------------ -+// Convert a string in octal format to a number -+// ------------------------------------------------------------------------------------ -+inline unsigned int strtoul8( const char* in, const char** out=0) -+{ -+ return irr::core::strtoul8(in, out); -+} -+ -+// ------------------------------------------------------------------------------------ -+// Convert a string in hex format to a number -+// ------------------------------------------------------------------------------------ -+inline unsigned int strtoul16( const char* in, const char** out=0) -+{ -+ return irr::core::strtoul16(in, out); -+} -+ -+// ------------------------------------------------------------------------------------ -+// Convert just one hex digit -+// Return value is UINT_MAX if the input character is not a hex digit. -+// ------------------------------------------------------------------------------------ -+inline unsigned int HexDigitToDecimal(char in) -+{ -+ unsigned int out = UINT_MAX; -+ if (in >= '0' && in <= '9') -+ out = in - '0'; -+ -+ else if (in >= 'a' && in <= 'f') -+ out = 10u + in - 'a'; -+ -+ else if (in >= 'A' && in <= 'F') -+ out = 10u + in - 'A'; -+ -+ // return value is UINT_MAX if the input is not a hex digit -+ return out; -+} -+ -+// ------------------------------------------------------------------------------------ -+// Convert a hex-encoded octet (2 characters, i.e. df or 1a). -+// ------------------------------------------------------------------------------------ -+inline uint8_t HexOctetToDecimal(const char* in) -+{ -+ return ((uint8_t)HexDigitToDecimal(in[0])<<4)+(uint8_t)HexDigitToDecimal(in[1]); -+} -+ -+ -+// ------------------------------------------------------------------------------------ -+// signed variant of strtoul10 -+// ------------------------------------------------------------------------------------ -+inline int strtol10( const char* in, const char** out=0) -+{ -+ return irr::core::strtol10(in, out); -+} -+ -+// ------------------------------------------------------------------------------------ -+// Parse a C++-like integer literal - hex and oct prefixes. -+// 0xNNNN - hex -+// 0NNN - oct -+// NNN - dec -+// ------------------------------------------------------------------------------------ -+inline unsigned int strtoul_cppstyle( const char* in, const char** out=0) -+{ -+ if ('0' == in[0]) -+ { -+ return 'x' == in[1] ? strtoul16(in+2,out) : strtoul8(in+1,out); -+ } -+ return strtoul10(in, out); -+} -+ -+// ------------------------------------------------------------------------------------ -+// Special version of the function, providing higher accuracy and safety -+// It is mainly used by fast_atof to prevent ugly and unwanted integer overflows. -+// ------------------------------------------------------------------------------------ -+inline uint64_t strtoul10_64( const char* in, const char** out=0, unsigned int* max_inout=0) -+{ -+ unsigned int cur = 0; -+ uint64_t value = 0; -+ -+ bool running = true; -+ while ( running ) -+ { -+ if ( *in < '0' || *in > '9' ) -+ break; -+ -+ const uint64_t new_value = ( value * 10 ) + ( *in - '0' ); -+ -+ if (new_value < value) /* numeric overflow, we rely on you */ -+ return value; -+ -+ value = new_value; -+ -+ ++in; -+ ++cur; -+ -+ if (max_inout && *max_inout == cur) { -+ -+ if (out) { /* skip to end */ -+ while (*in >= '0' && *in <= '9') -+ ++in; -+ *out = in; -+ } -+ -+ return value; -+ } -+ } -+ if (out) -+ *out = in; -+ -+ if (max_inout) -+ *max_inout = cur; -+ -+ return value; -+} -+ -+// Number of relevant decimals for floating-point parsing. -+#define AI_FAST_ATOF_RELAVANT_DECIMALS 15 -+ -+// ------------------------------------------------------------------------------------ -+//! Provides a fast function for converting a string into a float, -+//! about 6 times faster than atof in win32. -+// If you find any bugs, please send them to me, niko (at) irrlicht3d.org. -+// ------------------------------------------------------------------------------------ -+template -+inline const char* fast_atoreal_move( const char* c, Real& out) -+{ -+ Real f; -+ -+ bool inv = (*c=='-'); -+ if (inv || *c=='+') { -+ ++c; -+ } -+ -+ f = static_cast( strtoul10_64 ( c, &c) ); -+ if (*c == '.' || (c[0] == ',' && c[1] >= '0' && c[1] <= '9')) // allow for commas, too -+ { -+ ++c; -+ -+ // NOTE: The original implementation is highly inaccurate here. The precision of a single -+ // IEEE 754 float is not high enough, everything behind the 6th digit tends to be more -+ // inaccurate than it would need to be. Casting to double seems to solve the problem. -+ // strtol_64 is used to prevent integer overflow. -+ -+ // Another fix: this tends to become 0 for long numbers if we don't limit the maximum -+ // number of digits to be read. AI_FAST_ATOF_RELAVANT_DECIMALS can be a value between -+ // 1 and 15. -+ unsigned int diff = AI_FAST_ATOF_RELAVANT_DECIMALS; -+ double pl = static_cast( strtoul10_64 ( c, &c, &diff )); -+ -+ pl *= irr::core::fast_atof_table[diff]; -+ f += static_cast( pl ); -+ } -+ -+ // A major 'E' must be allowed. Necessary for proper reading of some DXF files. -+ // Thanks to Zhao Lei to point out that this if() must be outside the if (*c == '.' ..) -+ if (*c == 'e' || *c == 'E') { -+ -+ ++c; -+ const bool einv = (*c=='-'); -+ if (einv || *c=='+') { -+ ++c; -+ } -+ -+ // The reason float constants are used here is that we've seen cases where compilers -+ // would perform such casts on compile-time constants at runtime, which would be -+ // bad considering how frequently fast_atoreal_move is called in Assimp. -+ Real exp = static_cast( strtoul10_64(c, &c) ); -+ if (einv) { -+ exp = -exp; -+ } -+ f *= pow(static_cast(10.0f), exp); -+ } -+ -+ if (inv) { -+ f = -f; -+ } -+ out = f; -+ return c; -+} -+ -+// ------------------------------------------------------------------------------------ -+// The same but more human. -+inline float fast_atof(const char* c) -+{ -+ float ret; -+ fast_atoreal_move(c, ret); -+ return ret; -+} -+ -+ -+inline float fast_atof( const char* c, const char** cout) -+{ -+ float ret; -+ *cout = fast_atoreal_move(c, ret); -+ -+ return ret; -+} -+ -+inline float fast_atof( const char** inout) -+{ -+ float ret; -+ *inout = fast_atoreal_move(*inout, ret); -+ -+ return ret; -+} -+ -+ -+inline double fast_atod(const char* c) -+{ -+ double ret; -+ fast_atoreal_move(c, ret); -+ return ret; -+} -+ -+ -+inline double fast_atod( const char* c, const char** cout) -+{ -+ double ret; -+ *cout = fast_atoreal_move(c, ret); -+ -+ return ret; -+} -+ -+inline double fast_atod( const char** inout) -+{ -+ double ret; -+ *inout = fast_atoreal_move(*inout, ret); -+ -+ return ret; -+} -+ -+} // end of namespace Assimp -+ -+#endif -+ -diff -up ./code/FBXParser.cpp.unbundle ./code/FBXParser.cpp ---- ./code/FBXParser.cpp.unbundle 2015-07-03 12:55:50.916058976 -0400 -+++ ./code/FBXParser.cpp 2015-07-03 12:56:08.168713640 -0400 -@@ -58,7 +58,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include "FBXUtil.h" - - #include "ParsingUtils.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - using namespace Assimp; - using namespace Assimp::FBX; -diff -up ./code/FileSystemFilter.h.unbundle ./code/FileSystemFilter.h ---- ./code/FileSystemFilter.h.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/FileSystemFilter.h 2015-07-03 12:23:40.227699238 -0400 -@@ -46,7 +46,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #define AI_FILESYSTEMFILTER_H_INC - - #include "../include/assimp/IOSystem.hpp" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - #include "ParsingUtils.h" - namespace Assimp { - -diff -up ./code/IFCGeometry.cpp.unbundle ./code/IFCGeometry.cpp ---- ./code/IFCGeometry.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/IFCGeometry.cpp 2015-07-03 12:23:40.228699276 -0400 -@@ -49,8 +49,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include "PolyTools.h" - #include "ProcessHelper.h" - --#include "../contrib/poly2tri/poly2tri/poly2tri.h" --#include "../contrib/clipper/clipper.hpp" -+#include "poly2tri/poly2tri.h" -+#include "clipper.hpp" - - #include - -diff -up ./code/IFCLoader.cpp.unbundle ./code/IFCLoader.cpp ---- ./code/IFCLoader.cpp.unbundle 2015-07-03 12:52:43.948903124 -0400 -+++ ./code/IFCLoader.cpp 2015-07-03 12:53:06.348917844 -0400 -@@ -49,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include - - #ifndef ASSIMP_BUILD_NO_COMPRESSED_IFC --# include "../contrib/unzip/unzip.h" -+# include "unzip.h" - #endif - - #include "IFCLoader.h" -diff -up ./code/IFCOpenings.cpp.unbundle ./code/IFCOpenings.cpp ---- ./code/IFCOpenings.cpp.unbundle 2015-07-03 12:54:28.992893618 -0400 -+++ ./code/IFCOpenings.cpp 2015-07-03 12:54:40.277332548 -0400 -@@ -50,7 +50,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include "PolyTools.h" - #include "ProcessHelper.h" - --#include "../contrib/poly2tri/poly2tri/poly2tri.h" -+#include "poly2tri/poly2tri.h" - #include "../contrib/clipper/clipper.hpp" - - #include -@@ -1741,4 +1741,4 @@ bool TryAddOpenings_Poly2Tri(const std:: - #undef from_int64 - #undef one_vec - --#endif -\ No newline at end of file -+#endif -diff -up ./code/IRRLoader.cpp.unbundle ./code/IRRLoader.cpp ---- ./code/IRRLoader.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/IRRLoader.cpp 2015-07-03 12:23:40.228699276 -0400 -@@ -49,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - - #include "IRRLoader.h" - #include "ParsingUtils.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - #include "GenericProperty.h" - - #include "SceneCombiner.h" -diff -up ./code/IRRMeshLoader.cpp.unbundle ./code/IRRMeshLoader.cpp ---- ./code/IRRMeshLoader.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/IRRMeshLoader.cpp 2015-07-03 12:23:40.228699276 -0400 -@@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - - #include "IRRMeshLoader.h" - #include "ParsingUtils.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - using namespace Assimp; - using namespace irr; -diff -up ./code/IRRShared.cpp.unbundle ./code/IRRShared.cpp ---- ./code/IRRShared.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/IRRShared.cpp 2015-07-03 12:23:40.229699313 -0400 -@@ -50,7 +50,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - - #include "IRRShared.h" - #include "ParsingUtils.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - using namespace Assimp; - using namespace irr; -diff -up ./code/irrXMLWrapper.h.unbundle ./code/irrXMLWrapper.h ---- ./code/irrXMLWrapper.h.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/irrXMLWrapper.h 2015-07-03 12:23:40.229699313 -0400 -@@ -42,7 +42,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #define INCLUDED_AI_IRRXML_WRAPPER - - // some long includes .... --#include "./../contrib/irrXML/irrXML.h" -+#include "irrXML.h" - #include "./../include/assimp/IOStream.hpp" - namespace Assimp { - -@@ -125,7 +125,7 @@ public: - - // ---------------------------------------------------------------------------------- - //! Returns size of file in bytes -- virtual int getSize() { -+ virtual long getSize() const { - return (int)data.size(); - } - -diff -up ./code/LWSLoader.cpp.unbundle ./code/LWSLoader.cpp ---- ./code/LWSLoader.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/LWSLoader.cpp 2015-07-03 12:23:40.229699313 -0400 -@@ -48,7 +48,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - - #include "LWSLoader.h" - #include "ParsingUtils.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - #include "SceneCombiner.h" - #include "GenericProperty.h" -diff -up ./code/MaterialSystem.cpp.unbundle ./code/MaterialSystem.cpp ---- ./code/MaterialSystem.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/MaterialSystem.cpp 2015-07-03 12:23:40.230699350 -0400 -@@ -45,7 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include "AssimpPCH.h" - - #include "Hash.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - #include "ParsingUtils.h" - #include "MaterialSystem.h" - -diff -up ./code/MD5Loader.cpp.unbundle ./code/MD5Loader.cpp ---- ./code/MD5Loader.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/MD5Loader.cpp 2015-07-03 12:23:40.230699350 -0400 -@@ -50,7 +50,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include "RemoveComments.h" - #include "MD5Loader.h" - #include "StringComparison.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - #include "SkeletonMeshBuilder.h" - - using namespace Assimp; -diff -up ./code/MD5Parser.cpp.unbundle ./code/MD5Parser.cpp ---- ./code/MD5Parser.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/MD5Parser.cpp 2015-07-03 12:23:40.230699350 -0400 -@@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - // internal headers - #include "MD5Loader.h" - #include "MaterialSystem.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - #include "ParsingUtils.h" - #include "StringComparison.h" - -diff -up ./code/NFFLoader.cpp.unbundle ./code/NFFLoader.cpp ---- ./code/NFFLoader.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/NFFLoader.cpp 2015-07-03 12:23:40.231699388 -0400 -@@ -48,7 +48,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include "NFFLoader.h" - #include "ParsingUtils.h" - #include "StandardShapes.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - #include "RemoveComments.h" - - using namespace Assimp; -diff -up ./code/ObjFileMtlImporter.cpp.unbundle ./code/ObjFileMtlImporter.cpp ---- ./code/ObjFileMtlImporter.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/ObjFileMtlImporter.cpp 2015-07-03 12:23:40.231699388 -0400 -@@ -45,7 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include "ObjFileMtlImporter.h" - #include "ObjTools.h" - #include "ObjFileData.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - namespace Assimp { - -diff -up ./code/ObjTools.h.unbundle ./code/ObjTools.h ---- ./code/ObjTools.h.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/ObjTools.h 2015-07-03 12:23:40.231699388 -0400 -@@ -44,7 +44,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #ifndef OBJ_TOOLS_H_INC - #define OBJ_TOOLS_H_INC - --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - namespace Assimp - { -diff -up ./code/OFFLoader.cpp.unbundle ./code/OFFLoader.cpp ---- ./code/OFFLoader.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/OFFLoader.cpp 2015-07-03 12:23:40.232699425 -0400 -@@ -49,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - // internal headers - #include "OFFLoader.h" - #include "ParsingUtils.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - - using namespace Assimp; -diff -up ./code/OgreMaterial.cpp.unbundle ./code/OgreMaterial.cpp ---- ./code/OgreMaterial.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/OgreMaterial.cpp 2015-07-03 12:23:40.232699425 -0400 -@@ -45,7 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include "OgreImporter.h" - #include "TinyFormatter.h" - --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - #include - #include -diff -up ./code/PlyParser.cpp.unbundle ./code/PlyParser.cpp ---- ./code/PlyParser.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/PlyParser.cpp 2015-07-03 12:23:40.232699425 -0400 -@@ -45,7 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #ifndef ASSIMP_BUILD_NO_PLY_IMPORTER - - #include "PlyLoader.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - using namespace Assimp; - -diff -up ./code/Q3BSPZipArchive.h.unbundle ./code/Q3BSPZipArchive.h ---- ./code/Q3BSPZipArchive.h.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/Q3BSPZipArchive.h 2015-07-03 12:23:40.232699425 -0400 -@@ -40,7 +40,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #ifndef AI_Q3BSP_ZIPARCHIVE_H_INC - #define AI_Q3BSP_ZIPARCHIVE_H_INC - --#include "../contrib/unzip/unzip.h" -+#include "unzip.h" - #include "../include/assimp/IOStream.hpp" - #include "../include/assimp/IOSystem.hpp" - #include -diff -up ./code/Q3DLoader.cpp.unbundle ./code/Q3DLoader.cpp ---- ./code/Q3DLoader.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/Q3DLoader.cpp 2015-07-03 12:23:40.233699462 -0400 -@@ -49,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - // internal headers - #include "Q3DLoader.h" - #include "StreamReader.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - using namespace Assimp; - -diff -up ./code/RawLoader.cpp.unbundle ./code/RawLoader.cpp ---- ./code/RawLoader.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/RawLoader.cpp 2015-07-03 12:23:40.233699462 -0400 -@@ -49,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - // internal headers - #include "RawLoader.h" - #include "ParsingUtils.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - using namespace Assimp; - -diff -up ./code/SceneCombiner.cpp.unbundle ./code/SceneCombiner.cpp ---- ./code/SceneCombiner.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/SceneCombiner.cpp 2015-07-03 12:23:40.233699462 -0400 -@@ -48,7 +48,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - // ---------------------------------------------------------------------------- - #include "AssimpPCH.h" - #include "SceneCombiner.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - #include "Hash.h" - #include "time.h" - -diff -up ./code/SMDLoader.cpp.unbundle ./code/SMDLoader.cpp ---- ./code/SMDLoader.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/SMDLoader.cpp 2015-07-03 12:23:40.234699499 -0400 -@@ -48,7 +48,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - - // internal headers - #include "SMDLoader.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - #include "SkeletonMeshBuilder.h" - - using namespace Assimp; -diff -up ./code/STEPFileEncoding.cpp.unbundle ./code/STEPFileEncoding.cpp ---- ./code/STEPFileEncoding.cpp.unbundle 2015-07-03 12:55:15.808714609 -0400 -+++ ./code/STEPFileEncoding.cpp 2015-07-03 12:55:26.876145098 -0400 -@@ -43,7 +43,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - */ - #include "AssimpPCH.h" - #include "STEPFileEncoding.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - #include "../contrib/ConvertUTF/ConvertUTF.h" - -diff -up ./code/STEPFileReader.cpp.unbundle ./code/STEPFileReader.cpp ---- ./code/STEPFileReader.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/STEPFileReader.cpp 2015-07-03 12:23:40.234699499 -0400 -@@ -46,7 +46,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include "STEPFileReader.h" - #include "STEPFileEncoding.h" - #include "TinyFormatter.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - - using namespace Assimp; -diff -up ./code/STLLoader.cpp.unbundle ./code/STLLoader.cpp ---- ./code/STLLoader.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/STLLoader.cpp 2015-07-03 12:23:40.234699499 -0400 -@@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - // internal headers - #include "STLLoader.h" - #include "ParsingUtils.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - using namespace Assimp; - -diff -up ./code/UnrealLoader.cpp.unbundle ./code/UnrealLoader.cpp ---- ./code/UnrealLoader.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/UnrealLoader.cpp 2015-07-03 12:23:40.234699499 -0400 -@@ -53,7 +53,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - #include "UnrealLoader.h" - #include "StreamReader.h" - #include "ParsingUtils.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - #include "ConvertToLHProcess.h" - - using namespace Assimp; -diff -up ./code/ValidateDataStructure.cpp.unbundle ./code/ValidateDataStructure.cpp ---- ./code/ValidateDataStructure.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/ValidateDataStructure.cpp 2015-07-03 12:23:40.235699537 -0400 -@@ -49,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - // internal headers - #include "ValidateDataStructure.h" - #include "BaseImporter.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - #include "ProcessHelper.h" - - // CRT headers -diff -up ./code/XFileParser.cpp.unbundle ./code/XFileParser.cpp ---- ./code/XFileParser.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/XFileParser.cpp 2015-07-03 12:23:40.235699537 -0400 -@@ -46,7 +46,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - - #include "XFileParser.h" - #include "XFileHelper.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - using namespace Assimp; - using namespace Assimp::XFile; -diff -up ./code/XGLLoader.cpp.unbundle ./code/XGLLoader.cpp ---- ./code/XGLLoader.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./code/XGLLoader.cpp 2015-07-03 12:23:40.235699537 -0400 -@@ -46,7 +46,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - - #include "XGLLoader.h" - #include "ParsingUtils.h" --#include "fast_atof.h" -+#include "fast_atof_assimp.h" - - #include "StreamReader.h" - #include "MemoryIOWrapper.h" -diff -up ./tools/assimp_cmd/CMakeLists.txt.unbundle ./tools/assimp_cmd/CMakeLists.txt ---- ./tools/assimp_cmd/CMakeLists.txt.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./tools/assimp_cmd/CMakeLists.txt 2015-07-03 12:23:40.236699574 -0400 -@@ -28,7 +28,9 @@ IF( WIN32 ) - MAIN_DEPENDENCY assimp) - ENDIF( WIN32 ) - --TARGET_LINK_LIBRARIES( assimp_cmd assimp ${ZLIB_LIBRARIES}) -+INCLUDE_DIRECTORIES(${IRRXML_INCLUDE_PATH}) -+TARGET_LINK_LIBRARIES( assimp_cmd assimp ${ZLIB_LIBRARIES} ${POLY2TRI_LIB}) -+TARGET_LINK_LIBRARIES( assimp_cmd ${IRRXML_LIB}) - SET_TARGET_PROPERTIES( assimp_cmd PROPERTIES - OUTPUT_NAME assimp - ) -diff -up ./tools/assimp_cmd/ImageExtractor.cpp.unbundle ./tools/assimp_cmd/ImageExtractor.cpp ---- ./tools/assimp_cmd/ImageExtractor.cpp.unbundle 2014-06-14 19:00:10.000000000 -0400 -+++ ./tools/assimp_cmd/ImageExtractor.cpp 2015-07-03 12:23:40.236699574 -0400 -@@ -44,7 +44,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE - */ - - #include "Main.h" --#include <../code/fast_atof.h> -+#include - #include <../code/StringComparison.h> - - const char* AICMD_MSG_DUMP_HELP_E = diff --git a/assimp-3.2.0-cmakefix.patch b/assimp-3.2.0-cmakefix.patch new file mode 100644 index 0000000..e0016a3 --- /dev/null +++ b/assimp-3.2.0-cmakefix.patch @@ -0,0 +1,26 @@ +diff -up ./assimp-config.cmake.in.cmakefix ./assimp-config.cmake.in +--- ./assimp-config.cmake.in.cmakefix 2015-11-03 13:47:37.000000000 -0500 ++++ ./assimp-config.cmake.in 2016-05-21 19:59:03.147251477 -0400 +@@ -10,10 +10,7 @@ + # ASSIMP_LIBRARY_DIRS - link directories + # ASSIMP_LIBRARIES - libraries to link plugins with + # ASSIMP_Boost_VERSION - the boost version assimp was compiled with +-get_filename_component(_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +-get_filename_component(_PREFIX "${_PREFIX}" PATH) +-get_filename_component(_PREFIX "${_PREFIX}" PATH) +-get_filename_component(ASSIMP_ROOT_DIR "${_PREFIX}" PATH) ++set(ASSIMP_ROOT_DIR "@CMAKE_INSTALL_PREFIX@") + + if( MSVC ) + # in order to prevent DLL hell, each of the DLLs have to be suffixed with the major version and msvc prefix +@@ -43,8 +40,8 @@ if( WIN32 ) + set( ASSIMP_CXX_FLAGS " -DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB") + endif() + set( ASSIMP_LINK_FLAGS "" ) +-set( ASSIMP_LIBRARY_DIRS "${ASSIMP_ROOT_DIR}/@ASSIMP_LIB_INSTALL_DIR@") +-set( ASSIMP_INCLUDE_DIRS "${ASSIMP_ROOT_DIR}/@ASSIMP_INCLUDE_INSTALL_DIR@") ++set( ASSIMP_LIBRARY_DIRS "@ASSIMP_LIB_INSTALL_DIR@") ++set( ASSIMP_INCLUDE_DIRS "@ASSIMP_INCLUDE_INSTALL_DIR@") + set( ASSIMP_LIBRARIES assimp${ASSIMP_LIBRARY_SUFFIX}) + set( ASSIMP_LIBRARIES ${ASSIMP_LIBRARIES}@CMAKE_DEBUG_POSTFIX@) + diff --git a/assimp-3.2.0-pythonpath.patch b/assimp-3.2.0-pythonpath.patch new file mode 100644 index 0000000..0ef9d95 --- /dev/null +++ b/assimp-3.2.0-pythonpath.patch @@ -0,0 +1,19 @@ +diff -up ./port/PyAssimp/pyassimp/helper.py.pythonpath ./port/PyAssimp/pyassimp/helper.py +--- ./port/PyAssimp/pyassimp/helper.py.pythonpath 2016-05-21 19:54:37.152745935 -0400 ++++ ./port/PyAssimp/pyassimp/helper.py 2016-05-21 19:57:28.578516453 -0400 +@@ -22,6 +22,7 @@ additional_dirs, ext_whitelist = [],[] + # depending on the platform we're running on. + if os.name=='posix': + additional_dirs.append('./') ++ additional_dirs.append('/usr/lib64/') + additional_dirs.append('/usr/lib/') + additional_dirs.append('/usr/local/lib/') + +@@ -29,6 +30,7 @@ if os.name=='posix': + # currently there's always a symlink called + # libassimp.so in /usr/local/lib. + ext_whitelist.append('.so') ++ ext_whitelist.append('.3') + # libassimp.dylib in /usr/local/lib + ext_whitelist.append('.dylib') + diff --git a/assimp-3.2.0-unbundle.patch b/assimp-3.2.0-unbundle.patch new file mode 100644 index 0000000..f24c917 --- /dev/null +++ b/assimp-3.2.0-unbundle.patch @@ -0,0 +1,999 @@ +diff -up ./CMakeLists.txt.unbundle ./CMakeLists.txt +--- ./CMakeLists.txt.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./CMakeLists.txt 2016-05-21 20:50:11.700988184 -0400 +@@ -178,6 +178,36 @@ if (PKG_CONFIG_FOUND) + PKG_CHECK_MODULES(UNZIP minizip) + endif (PKG_CONFIG_FOUND) + ++# Search for irrXML ++FIND_LIBRARY(IRRXML_LIB IrrXML HINTS ${IRRXML_LIB_PATH}) ++FIND_FILE(IRRXML_H irrXML.h PATHS ${IRRXML_INCLUDE_PATH}) ++IF(IRRXML_LIB AND IRRXML_H) ++ message (STATUS "Found External IrrXML") ++ set(HAVE_IRRXML true) ++ELSE (IRRXML_LIB AND IRRXML_H) ++ SET(HAVE_IRRXML false) ++ENDIF(IRRXML_LIB AND IRRXML_H) ++ ++# Search for poly2tri ++FIND_LIBRARY(POLY2TRI_LIB poly2tri HINTS ${POLY2TRI_LIB_PATH}) ++FIND_FILE(POLY2TRI_H poly2tri.h PATHS ${POLY2TRI_INCLUDE_PATH}) ++IF (POLY2TRI_LIB AND POLY2TRI_H) ++ message(status "Found External poly2tri") ++ SET(HAVE_POLY2TRI true) ++ELSE(POLY2TRI_LIB AND POLY2TRI_H) ++ SET(HAVE_POLY2TRI false) ++ENDIF(POLY2TRI_LIB AND POLY2TRI_H) ++ ++# Search for clipper ++FIND_LIBRARY(CLIPPER_LIB polyclipping HINTS ${CLIPPER_LIB_PATH}) ++FIND_FILE(CLIPPER_H clipper.hpp PATHS ${CLIPPER_INCLUDE_PATH}) ++IF (CLIPPER_LIB AND CLIPPER_H) ++ message(status "Found External clipper") ++ SET(HAVE_CLIPPER true) ++ELSE(CLIPPER_LIB AND CLIPPER_H) ++ SET(HAVE_CLIPPER false) ++ENDIF(CLIPPER_LIB AND CLIPPER_H) ++ + IF ( ASSIMP_NO_EXPORT ) + ADD_DEFINITIONS( -DASSIMP_BUILD_NO_EXPORT) + MESSAGE( STATUS "Build an import-only version of Assimp." ) +diff -up ./cmake-modules/AddGTest.cmake.unbundle ./cmake-modules/AddGTest.cmake +--- ./cmake-modules/AddGTest.cmake.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./cmake-modules/AddGTest.cmake 2016-05-21 20:50:11.700988184 -0400 +@@ -1,3 +1,7 @@ ++if (1) ++find_package(GTest) ++else() ++ + find_package(Threads REQUIRED) + include(ExternalProject) + +@@ -70,3 +74,4 @@ else(NOT GIT_FOUND) + ExternalProject_Get_Property(gtest binary_dir) + link_directories(${binary_dir}) + endif(NOT GIT_FOUND) ++endif() +diff -up ./code/ACLoader.cpp.unbundle ./code/ACLoader.cpp +--- ./code/ACLoader.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/ACLoader.cpp 2016-05-21 20:50:11.701988224 -0400 +@@ -49,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + // internal headers + #include "ACLoader.h" + #include "ParsingUtils.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "Subdivision.h" + #include "Importer.h" + #include "BaseImporter.h" +diff -up ./code/ASELoader.cpp.unbundle ./code/ASELoader.cpp +--- ./code/ASELoader.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/ASELoader.cpp 2016-05-21 20:50:11.701988224 -0400 +@@ -58,7 +58,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + + + // utilities +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + + using namespace Assimp; + using namespace Assimp::ASE; +diff -up ./code/ASEParser.cpp.unbundle ./code/ASEParser.cpp +--- ./code/ASEParser.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/ASEParser.cpp 2016-05-21 20:50:11.702988264 -0400 +@@ -50,7 +50,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include "TextureTransform.h" + #include "ASELoader.h" + #include "MaterialSystem.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "../include/assimp/DefaultLogger.hpp" + + using namespace Assimp; +diff -up ./code/BlenderDNA.cpp.unbundle ./code/BlenderDNA.cpp +--- ./code/BlenderDNA.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/BlenderDNA.cpp 2016-05-21 20:50:11.702988264 -0400 +@@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #ifndef ASSIMP_BUILD_NO_BLEND_IMPORTER + #include "BlenderDNA.h" + #include "StreamReader.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include + + using namespace Assimp; +diff -up ./code/BlenderTessellator.h.unbundle ./code/BlenderTessellator.h +--- ./code/BlenderTessellator.h.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/BlenderTessellator.h 2016-05-21 20:50:11.703988304 -0400 +@@ -142,7 +142,7 @@ namespace Assimp + + #if ASSIMP_BLEND_WITH_POLY_2_TRI + +-#include "../contrib/poly2tri/poly2tri/poly2tri.h" ++#include "poly2tri/poly2tri.h" + + namespace Assimp + { +diff -up ./code/BVHLoader.cpp.unbundle ./code/BVHLoader.cpp +--- ./code/BVHLoader.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/BVHLoader.cpp 2016-05-21 20:50:11.703988304 -0400 +@@ -44,7 +44,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #ifndef ASSIMP_BUILD_NO_BVH_IMPORTER + + #include "BVHLoader.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "SkeletonMeshBuilder.h" + #include "../include/assimp/Importer.hpp" + #include +diff -up ./code/CMakeLists.txt.unbundle ./code/CMakeLists.txt +--- ./code/CMakeLists.txt.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/CMakeLists.txt 2016-05-21 20:51:05.731141964 -0400 +@@ -88,7 +88,6 @@ SET( Logging_SRCS + SOURCE_GROUP(Logging FILES ${Logging_SRCS}) + + SET( Common_SRCS +- fast_atof.h + qnan.h + BaseImporter.cpp + BaseImporter.h +@@ -598,12 +597,15 @@ SET( ConvertUTF_SRCS + ) + SOURCE_GROUP( ConvertUTF FILES ${ConvertUTF_SRCS}) + ++if (NOT HAVE_CLIPPER) + SET( Clipper_SRCS + ../contrib/clipper/clipper.hpp + ../contrib/clipper/clipper.cpp + ) + SOURCE_GROUP( Clipper FILES ${Clipper_SRCS}) +- ++else (NOT HAVE_CLIPPER) ++SET( Clipper_SRCS "") ++endif(NOT HAVE_CLIPPER) + + SET( Poly2Tri_SRCS + ../contrib/poly2tri/poly2tri/common/shapes.cc +@@ -682,10 +684,7 @@ SET( assimp_src + ${ASSIMP_LOADER_SRCS} + + # Third-party libraries +- ${IrrXML_SRCS} + ${ConvertUTF_SRCS} +- ${unzip_compile_SRCS} +- ${Poly2Tri_SRCS} + ${Clipper_SRCS} + ${openddl_parser_SRCS} + # Necessary to show the headers in the project when using the VC++ generator: +@@ -761,6 +760,26 @@ else (UNZIP_FOUND) + INCLUDE_DIRECTORIES("../contrib/unzip") + endif (UNZIP_FOUND) + ++if (HAVE_IRRXML) ++ INCLUDE_DIRECTORIES(${IRRXML_INCLUDE_PATH}) ++ TARGET_LINK_LIBRARIES(assimp ${IRRXML_LIB}) ++else (HAVE_IRRXML) ++ INCLUDE_DIRECTORIES("../contrib/irrXML") ++endif (HAVE_IRRXML) ++ ++if (HAVE_POLY2TRI) ++ INCLUDE_DIRECTORIES(${POLY2TRI_INCLUDE_PATH}) ++ TARGET_LINK_LIBRARIES(assimp ${POLY2TRI_LIB}) ++endif(HAVE_POLY2TRI) ++ ++if (HAVE_CLIPPER) ++ INCLUDE_DIRECTORIES(${CLIPPER_INCLUDE_PATH}) ++ TARGET_LINK_LIBRARIES(assimp ${CLIPPER_LIB}) ++else (HAVE_CLIPPER) ++ INCLUDE_DIRECTORIES(../contrib/clipper) ++endif(HAVE_CLIPPER) ++ ++ + INSTALL( TARGETS assimp + LIBRARY DESTINATION ${ASSIMP_LIB_INSTALL_DIR} + ARCHIVE DESTINATION ${ASSIMP_LIB_INSTALL_DIR} +diff -up ./code/COBLoader.cpp.unbundle ./code/COBLoader.cpp +--- ./code/COBLoader.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/COBLoader.cpp 2016-05-21 20:50:11.704988344 -0400 +@@ -49,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + + #include "StreamReader.h" + #include "ParsingUtils.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + + #include "LineSplitter.h" + #include "TinyFormatter.h" +diff -up ./code/ColladaExporter.cpp.unbundle ./code/ColladaExporter.cpp +--- ./code/ColladaExporter.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/ColladaExporter.cpp 2016-05-21 20:50:11.705988383 -0400 +@@ -45,14 +45,14 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include "ColladaExporter.h" + + #include "Bitmap.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "SceneCombiner.h" + #include "DefaultIOSystem.h" + #include "XMLTools.h" + #include "../include/assimp/IOSystem.hpp" + #include "../include/assimp/Exporter.hpp" + #include "../include/assimp/scene.h" +- ++#include "StringComparison.h" + #include "Exceptional.h" + + #include +diff -up ./code/ColladaLoader.cpp.unbundle ./code/ColladaLoader.cpp +--- ./code/ColladaLoader.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/ColladaLoader.cpp 2016-05-21 20:50:11.705988383 -0400 +@@ -49,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include "ColladaLoader.h" + #include "ColladaParser.h" + +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "ParsingUtils.h" + #include "SkeletonMeshBuilder.h" + #include "Defines.h" +diff -up ./code/ColladaParser.cpp.unbundle ./code/ColladaParser.cpp +--- ./code/ColladaParser.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/ColladaParser.cpp 2016-05-21 20:50:11.706988423 -0400 +@@ -49,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include + #include + #include "ColladaParser.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "ParsingUtils.h" + #include + #include +diff -up ./code/CSMLoader.cpp.unbundle ./code/CSMLoader.cpp +--- ./code/CSMLoader.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/CSMLoader.cpp 2016-05-21 20:50:11.707988463 -0400 +@@ -50,7 +50,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include "CSMLoader.h" + #include "SkeletonMeshBuilder.h" + #include "ParsingUtils.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "../include/assimp/Importer.hpp" + #include + #include "../include/assimp/IOSystem.hpp" +diff -up ./code/DXFLoader.cpp.unbundle ./code/DXFLoader.cpp +--- ./code/DXFLoader.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/DXFLoader.cpp 2016-05-21 20:50:11.707988463 -0400 +@@ -49,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include "DXFLoader.h" + #include "ParsingUtils.h" + #include "ConvertToLHProcess.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + + #include "DXFHelper.h" + #include "../include/assimp/IOSystem.hpp" +diff -up ./code/fast_atof_assimp.h.unbundle ./code/fast_atof_assimp.h +--- ./code/fast_atof_assimp.h.unbundle 2016-05-09 20:50:44.000000000 -0400 ++++ ./code/fast_atof_assimp.h 2016-05-21 20:50:11.707988463 -0400 +@@ -17,6 +17,288 @@ + + #include + #include "fast_atof.h" ++#include ++ ++namespace Assimp ++{ ++ ++// ------------------------------------------------------------------------------------ ++// Convert a string in decimal format to a number ++// ------------------------------------------------------------------------------------ ++inline unsigned int strtoul10( const char* in, const char** out=0) ++{ ++ return irr::core::strtoul10(in, out); ++} ++ ++// ------------------------------------------------------------------------------------ ++// Convert a string in octal format to a number ++// ------------------------------------------------------------------------------------ ++inline unsigned int strtoul8( const char* in, const char** out=0) ++{ ++ return irr::core::strtoul8(in, out); ++} ++ ++// ------------------------------------------------------------------------------------ ++// Convert a string in hex format to a number ++// ------------------------------------------------------------------------------------ ++inline unsigned int strtoul16( const char* in, const char** out=0) ++{ ++ return irr::core::strtoul16(in, out); ++} ++ ++// ------------------------------------------------------------------------------------ ++// Convert just one hex digit ++// Return value is UINT_MAX if the input character is not a hex digit. ++// ------------------------------------------------------------------------------------ ++inline unsigned int HexDigitToDecimal(char in) ++{ ++ unsigned int out = UINT_MAX; ++ if (in >= '0' && in <= '9') ++ out = in - '0'; ++ ++ else if (in >= 'a' && in <= 'f') ++ out = 10u + in - 'a'; ++ ++ else if (in >= 'A' && in <= 'F') ++ out = 10u + in - 'A'; ++ ++ // return value is UINT_MAX if the input is not a hex digit ++ return out; ++} ++ ++// ------------------------------------------------------------------------------------ ++// Convert a hex-encoded octet (2 characters, i.e. df or 1a). ++// ------------------------------------------------------------------------------------ ++inline uint8_t HexOctetToDecimal(const char* in) ++{ ++ return ((uint8_t)HexDigitToDecimal(in[0])<<4)+(uint8_t)HexDigitToDecimal(in[1]); ++} ++ ++ ++// ------------------------------------------------------------------------------------ ++// signed variant of strtoul10 ++// ------------------------------------------------------------------------------------ ++inline int strtol10( const char* in, const char** out=0) ++{ ++ return irr::core::strtol10(in, out); ++} ++ ++// ------------------------------------------------------------------------------------ ++// Parse a C++-like integer literal - hex and oct prefixes. ++// 0xNNNN - hex ++// 0NNN - oct ++// NNN - dec ++// ------------------------------------------------------------------------------------ ++inline unsigned int strtoul_cppstyle( const char* in, const char** out=0) ++{ ++ if ('0' == in[0]) ++ { ++ return 'x' == in[1] ? strtoul16(in+2,out) : strtoul8(in+1,out); ++ } ++ return strtoul10(in, out); ++} ++ ++// ------------------------------------------------------------------------------------ ++// Special version of the function, providing higher accuracy and safety ++// It is mainly used by fast_atof to prevent ugly and unwanted integer overflows. ++// ------------------------------------------------------------------------------------ ++inline uint64_t strtoul10_64( const char* in, const char** out=0, unsigned int* max_inout=0) ++{ ++ unsigned int cur = 0; ++ uint64_t value = 0; ++ ++ bool running = true; ++ while ( running ) ++ { ++ if ( *in < '0' || *in > '9' ) ++ break; ++ ++ const uint64_t new_value = ( value * 10 ) + ( *in - '0' ); ++ ++ if (new_value < value) /* numeric overflow, we rely on you */ ++ return value; ++ ++ value = new_value; ++ ++ ++in; ++ ++cur; ++ ++ if (max_inout && *max_inout == cur) { ++ ++ if (out) { /* skip to end */ ++ while (*in >= '0' && *in <= '9') ++ ++in; ++ *out = in; ++ } ++ ++ return value; ++ } ++ } ++ if (out) ++ *out = in; ++ ++ if (max_inout) ++ *max_inout = cur; ++ ++ return value; ++} ++ ++// ------------------------------------------------------------------------------------ ++// signed variant of strtoul10_64 ++// ------------------------------------------------------------------------------------ ++inline int64_t strtol10_64(const char* in, const char** out = 0, unsigned int* max_inout = 0) ++{ ++ bool inv = (*in == '-'); ++ if (inv || *in == '+') ++ ++in; ++ ++ int64_t value = strtoul10_64(in, out, max_inout); ++ if (inv) { ++ value = -value; ++ } ++ return value; ++} ++ ++ ++// Number of relevant decimals for floating-point parsing. ++#define AI_FAST_ATOF_RELAVANT_DECIMALS 15 ++ ++// ------------------------------------------------------------------------------------ ++//! Provides a fast function for converting a string into a float, ++//! about 6 times faster than atof in win32. ++// If you find any bugs, please send them to me, niko (at) irrlicht3d.org. ++// ------------------------------------------------------------------------------------ ++template ++inline const char* fast_atoreal_move( const char* c, Real& out) ++{ ++ Real f; ++ ++ bool inv = (*c=='-'); ++ if (inv || *c=='+') { ++ ++c; ++ } ++ ++ f = static_cast( strtoul10_64 ( c, &c) ); ++ if (*c == '.' || (c[0] == ',' && c[1] >= '0' && c[1] <= '9')) // allow for commas, too ++ { ++ ++c; ++ ++ // NOTE: The original implementation is highly inaccurate here. The precision of a single ++ // IEEE 754 float is not high enough, everything behind the 6th digit tends to be more ++ // inaccurate than it would need to be. Casting to double seems to solve the problem. ++ // strtol_64 is used to prevent integer overflow. ++ ++ // Another fix: this tends to become 0 for long numbers if we don't limit the maximum ++ // number of digits to be read. AI_FAST_ATOF_RELAVANT_DECIMALS can be a value between ++ // 1 and 15. ++ unsigned int diff = AI_FAST_ATOF_RELAVANT_DECIMALS; ++ double pl = static_cast( strtoul10_64 ( c, &c, &diff )); ++ ++ pl *= irr::core::fast_atof_table[diff]; ++ f += static_cast( pl ); ++ } ++ ++ // A major 'E' must be allowed. Necessary for proper reading of some DXF files. ++ // Thanks to Zhao Lei to point out that this if() must be outside the if (*c == '.' ..) ++ if (*c == 'e' || *c == 'E') { ++ ++ ++c; ++ const bool einv = (*c=='-'); ++ if (einv || *c=='+') { ++ ++c; ++ } ++ ++ // The reason float constants are used here is that we've seen cases where compilers ++ // would perform such casts on compile-time constants at runtime, which would be ++ // bad considering how frequently fast_atoreal_move is called in Assimp. ++ Real exp = static_cast( strtoul10_64(c, &c) ); ++ if (einv) { ++ exp = -exp; ++ } ++ f *= pow(static_cast(10.0f), exp); ++ } ++ ++ if (inv) { ++ f = -f; ++ } ++ out = f; ++ return c; ++} ++ ++// ------------------------------------------------------------------------------------ ++// The same but more human. ++inline float fast_atof(const char* c) ++{ ++ float ret; ++ fast_atoreal_move(c, ret); ++ return ret; ++} ++ ++ ++inline float fast_atof( const char* c, const char** cout) ++{ ++ float ret; ++ *cout = fast_atoreal_move(c, ret); ++ ++ return ret; ++} ++ ++inline float fast_atof( const char** inout) ++{ ++ float ret; ++ *inout = fast_atoreal_move(*inout, ret); ++ ++ return ret; ++} ++ ++ ++inline double fast_atod(const char* c) ++{ ++ double ret; ++ fast_atoreal_move(c, ret); ++ return ret; ++} ++ ++ ++inline double fast_atod( const char* c, const char** cout) ++{ ++ double ret; ++ *cout = fast_atoreal_move(c, ret); ++ ++ return ret; ++} ++ ++inline double fast_atod( const char** inout) ++{ ++ double ret; ++ *inout = fast_atoreal_move(*inout, ret); ++ ++ return ret; ++} ++ ++} // end of namespace Assimp ++ ++#endif ++ ++// Copyright (C) 2002-2007 Nikolaus Gebhardt ++// This file is part of the "Irrlicht Engine" and the "irrXML" project. ++// For conditions of distribution and use, see copyright notice in irrlicht.h and irrXML.h ++ ++// ------------------------------------------------------------------------------------ ++// Original description: (Schrompf) ++// Adapted to the ASSIMP library because the builtin atof indeed takes AGES to parse a ++// float inside a large string. Before parsing, it does a strlen on the given point. ++// Changes: ++// 22nd October 08 (Aramis_acg): Added temporary cast to double, added strtoul10_64 ++// to ensure long numbers are handled correctly ++// ------------------------------------------------------------------------------------ ++ ++ ++#ifndef __ASSIMP_FAST_A_TO_F_H_INCLUDED__ ++#define __ASSIMP_FAST_A_TO_F_H_INCLUDED__ ++ ++#include ++#include "fast_atof.h" + + namespace Assimp + { +diff -up ./code/FBXParser.cpp.unbundle ./code/FBXParser.cpp +--- ./code/FBXParser.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/FBXParser.cpp 2016-05-21 20:50:11.708988503 -0400 +@@ -57,7 +57,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include "FBXUtil.h" + + #include "ParsingUtils.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include + #include "ByteSwapper.h" + +diff -up ./code/FileSystemFilter.h.unbundle ./code/FileSystemFilter.h +--- ./code/FileSystemFilter.h.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/FileSystemFilter.h 2016-05-21 20:50:11.708988503 -0400 +@@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + + #include "../include/assimp/IOSystem.hpp" + #include "../include/assimp/DefaultLogger.hpp" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "ParsingUtils.h" + + namespace Assimp { +diff -up ./code/IFCGeometry.cpp.unbundle ./code/IFCGeometry.cpp +--- ./code/IFCGeometry.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/IFCGeometry.cpp 2016-05-21 20:50:11.709988543 -0400 +@@ -49,8 +49,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include "PolyTools.h" + #include "ProcessHelper.h" + +-#include "../contrib/poly2tri/poly2tri/poly2tri.h" +-#include "../contrib/clipper/clipper.hpp" ++#include "poly2tri/poly2tri.h" ++#include "clipper.hpp" + #include + + #include +diff -up ./code/IFCLoader.cpp.unbundle ./code/IFCLoader.cpp +--- ./code/IFCLoader.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/IFCLoader.cpp 2016-05-21 20:50:11.709988543 -0400 +@@ -50,7 +50,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include + + #ifndef ASSIMP_BUILD_NO_COMPRESSED_IFC +-# include "../contrib/unzip/unzip.h" ++# include "unzip.h" + #endif + + #include "IFCLoader.h" +diff -up ./code/IFCOpenings.cpp.unbundle ./code/IFCOpenings.cpp +--- ./code/IFCOpenings.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/IFCOpenings.cpp 2016-05-21 20:50:11.710988583 -0400 +@@ -49,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include "PolyTools.h" + #include "ProcessHelper.h" + +-#include "../contrib/poly2tri/poly2tri/poly2tri.h" ++#include "poly2tri/poly2tri.h" + #include "../contrib/clipper/clipper.hpp" + + #include +diff -up ./code/IRRLoader.cpp.unbundle ./code/IRRLoader.cpp +--- ./code/IRRLoader.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/IRRLoader.cpp 2016-05-21 20:50:11.710988583 -0400 +@@ -49,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + + #include "IRRLoader.h" + #include "ParsingUtils.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "GenericProperty.h" + + #include "SceneCombiner.h" +diff -up ./code/IRRMeshLoader.cpp.unbundle ./code/IRRMeshLoader.cpp +--- ./code/IRRMeshLoader.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/IRRMeshLoader.cpp 2016-05-21 20:50:11.710988583 -0400 +@@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + + #include "IRRMeshLoader.h" + #include "ParsingUtils.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include + #include "../include/assimp/IOSystem.hpp" + #include "../include/assimp/mesh.h" +diff -up ./code/IRRShared.cpp.unbundle ./code/IRRShared.cpp +--- ./code/IRRShared.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/IRRShared.cpp 2016-05-21 20:50:11.711988623 -0400 +@@ -50,7 +50,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + + #include "IRRShared.h" + #include "ParsingUtils.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "../include/assimp/DefaultLogger.hpp" + #include "../include/assimp/material.h" + +diff -up ./code/irrXMLWrapper.h.unbundle ./code/irrXMLWrapper.h +--- ./code/irrXMLWrapper.h.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/irrXMLWrapper.h 2016-05-21 20:50:11.711988623 -0400 +@@ -42,7 +42,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #define INCLUDED_AI_IRRXML_WRAPPER + + // some long includes .... +-#include "./../contrib/irrXML/irrXML.h" ++#include "irrXML.h" + #include "./../include/assimp/IOStream.hpp" + #include "BaseImporter.h" + #include +@@ -128,8 +128,8 @@ public: + + // ---------------------------------------------------------------------------------- + //! Returns size of file in bytes +- virtual int getSize() { +- return (int)data.size(); ++ virtual long getSize() const { ++ return (long)data.size(); + } + + private: +diff -up ./code/LWSLoader.cpp.unbundle ./code/LWSLoader.cpp +--- ./code/LWSLoader.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/LWSLoader.cpp 2016-05-21 20:50:11.711988623 -0400 +@@ -48,7 +48,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + + #include "LWSLoader.h" + #include "ParsingUtils.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + + #include "SceneCombiner.h" + #include "GenericProperty.h" +diff -up ./code/MaterialSystem.cpp.unbundle ./code/MaterialSystem.cpp +--- ./code/MaterialSystem.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/MaterialSystem.cpp 2016-05-21 20:50:11.712988662 -0400 +@@ -45,7 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + + + #include "Hash.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "ParsingUtils.h" + #include "MaterialSystem.h" + #include "../include/assimp/types.h" +diff -up ./code/MD5Loader.cpp.unbundle ./code/MD5Loader.cpp +--- ./code/MD5Loader.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/MD5Loader.cpp 2016-05-21 20:50:11.713988702 -0400 +@@ -50,7 +50,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include "RemoveComments.h" + #include "MD5Loader.h" + #include "StringComparison.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "SkeletonMeshBuilder.h" + #include "../include/assimp/Importer.hpp" + #include "../include/assimp/scene.h" +diff -up ./code/MD5Parser.cpp.unbundle ./code/MD5Parser.cpp +--- ./code/MD5Parser.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/MD5Parser.cpp 2016-05-21 20:50:11.713988702 -0400 +@@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + // internal headers + #include "MD5Loader.h" + #include "MaterialSystem.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "ParsingUtils.h" + #include "StringComparison.h" + #include "../include/assimp/DefaultLogger.hpp" +diff -up ./code/NFFLoader.cpp.unbundle ./code/NFFLoader.cpp +--- ./code/NFFLoader.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/NFFLoader.cpp 2016-05-21 20:50:11.713988702 -0400 +@@ -48,7 +48,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include "NFFLoader.h" + #include "ParsingUtils.h" + #include "StandardShapes.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "RemoveComments.h" + #include + #include "../include/assimp/IOSystem.hpp" +diff -up ./code/ObjFileMtlImporter.cpp.unbundle ./code/ObjFileMtlImporter.cpp +--- ./code/ObjFileMtlImporter.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/ObjFileMtlImporter.cpp 2016-05-21 20:50:11.714988742 -0400 +@@ -46,7 +46,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include "ObjFileMtlImporter.h" + #include "ObjTools.h" + #include "ObjFileData.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "ParsingUtils.h" + #include + #include +diff -up ./code/ObjFileParser.cpp.unbundle ./code/ObjFileParser.cpp +--- ./code/ObjFileParser.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/ObjFileParser.cpp 2016-05-21 20:50:11.714988742 -0400 +@@ -49,6 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include "ParsingUtils.h" + #include "DefaultIOSystem.h" + #include "BaseImporter.h" ++#include "fast_atof_assimp.h" + #include + #include + #include +diff -up ./code/ObjTools.h.unbundle ./code/ObjTools.h +--- ./code/ObjTools.h.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/ObjTools.h 2016-05-21 20:50:11.714988742 -0400 +@@ -44,7 +44,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #ifndef OBJ_TOOLS_H_INC + #define OBJ_TOOLS_H_INC + +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "ParsingUtils.h" + #include + +diff -up ./code/OFFLoader.cpp.unbundle ./code/OFFLoader.cpp +--- ./code/OFFLoader.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/OFFLoader.cpp 2016-05-21 20:50:11.714988742 -0400 +@@ -49,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + // internal headers + #include "OFFLoader.h" + #include "ParsingUtils.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include + #include "../include/assimp/IOSystem.hpp" + #include "../include/assimp/scene.h" +diff -up ./code/OgreMaterial.cpp.unbundle ./code/OgreMaterial.cpp +--- ./code/OgreMaterial.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/OgreMaterial.cpp 2016-05-21 20:50:11.715988782 -0400 +@@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include "../include/assimp/material.h" + #include "../include/assimp/scene.h" + #include "../include/assimp/DefaultLogger.hpp" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + + #include + #include +diff -up ./code/PlyParser.cpp.unbundle ./code/PlyParser.cpp +--- ./code/PlyParser.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/PlyParser.cpp 2016-05-21 20:50:11.715988782 -0400 +@@ -45,7 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #ifndef ASSIMP_BUILD_NO_PLY_IMPORTER + + #include "PlyLoader.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "../include/assimp/DefaultLogger.hpp" + #include "ByteSwapper.h" + +diff -up ./code/Q3BSPZipArchive.h.unbundle ./code/Q3BSPZipArchive.h +--- ./code/Q3BSPZipArchive.h.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/Q3BSPZipArchive.h 2016-05-21 20:50:11.715988782 -0400 +@@ -40,7 +40,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #ifndef AI_Q3BSP_ZIPARCHIVE_H_INC + #define AI_Q3BSP_ZIPARCHIVE_H_INC + +-#include "../contrib/unzip/unzip.h" ++#include "unzip.h" + #include "../include/assimp/IOStream.hpp" + #include "../include/assimp/IOSystem.hpp" + #include +diff -up ./code/Q3DLoader.cpp.unbundle ./code/Q3DLoader.cpp +--- ./code/Q3DLoader.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/Q3DLoader.cpp 2016-05-21 20:50:11.715988782 -0400 +@@ -49,7 +49,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + // internal headers + #include "Q3DLoader.h" + #include "StreamReader.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" ++#include "StringComparison.h" + #include "../include/assimp/IOSystem.hpp" + #include "../include/assimp/DefaultLogger.hpp" + #include "../include/assimp/scene.h" +diff -up ./code/RawLoader.cpp.unbundle ./code/RawLoader.cpp +--- ./code/RawLoader.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/RawLoader.cpp 2016-05-21 20:50:11.716988822 -0400 +@@ -49,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + // internal headers + #include "RawLoader.h" + #include "ParsingUtils.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include + #include "../include/assimp/IOSystem.hpp" + #include "../include/assimp/DefaultLogger.hpp" +diff -up ./code/SceneCombiner.cpp.unbundle ./code/SceneCombiner.cpp +--- ./code/SceneCombiner.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/SceneCombiner.cpp 2016-05-21 20:50:11.716988822 -0400 +@@ -50,13 +50,14 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + */ + // ---------------------------------------------------------------------------- + #include "SceneCombiner.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "Hash.h" + #include "time.h" + #include "../include/assimp/DefaultLogger.hpp" + #include "../include/assimp/scene.h" + #include + #include "ScenePrivate.h" ++#include "StringComparison.h" + + namespace Assimp { + +diff -up ./code/SMDLoader.cpp.unbundle ./code/SMDLoader.cpp +--- ./code/SMDLoader.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/SMDLoader.cpp 2016-05-21 20:50:11.717988862 -0400 +@@ -48,7 +48,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + + // internal headers + #include "SMDLoader.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "SkeletonMeshBuilder.h" + #include "../include/assimp/Importer.hpp" + #include "../include/assimp/IOSystem.hpp" +diff -up ./code/STEPFileEncoding.cpp.unbundle ./code/STEPFileEncoding.cpp +--- ./code/STEPFileEncoding.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/STEPFileEncoding.cpp 2016-05-21 20:50:11.717988862 -0400 +@@ -42,8 +42,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * @brief STEP character handling, string unescaping + */ + #include "STEPFileEncoding.h" +-#include "fast_atof.h" +- ++#include "fast_atof_assimp.h" ++#include "../include/assimp/ai_assert.h" + #include "../contrib/ConvertUTF/ConvertUTF.h" + #include + +diff -up ./code/STEPFileReader.cpp.unbundle ./code/STEPFileReader.cpp +--- ./code/STEPFileReader.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/STEPFileReader.cpp 2016-05-21 20:50:11.718988902 -0400 +@@ -46,7 +46,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include "STEPFileReader.h" + #include "STEPFileEncoding.h" + #include "TinyFormatter.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include + + +diff -up ./code/STLLoader.cpp.unbundle ./code/STLLoader.cpp +--- ./code/STLLoader.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/STLLoader.cpp 2016-05-21 20:50:11.718988902 -0400 +@@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + // internal headers + #include "STLLoader.h" + #include "ParsingUtils.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include + #include "../include/assimp/IOSystem.hpp" + #include "../include/assimp/scene.h" +diff -up ./code/UnrealLoader.cpp.unbundle ./code/UnrealLoader.cpp +--- ./code/UnrealLoader.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/UnrealLoader.cpp 2016-05-21 20:50:11.719988942 -0400 +@@ -53,7 +53,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + #include "UnrealLoader.h" + #include "StreamReader.h" + #include "ParsingUtils.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "ConvertToLHProcess.h" + + #include +diff -up ./code/ValidateDataStructure.cpp.unbundle ./code/ValidateDataStructure.cpp +--- ./code/ValidateDataStructure.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/ValidateDataStructure.cpp 2016-05-21 20:50:11.719988942 -0400 +@@ -49,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + // internal headers + #include "ValidateDataStructure.h" + #include "BaseImporter.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "ProcessHelper.h" + #include + +diff -up ./code/XFileParser.cpp.unbundle ./code/XFileParser.cpp +--- ./code/XFileParser.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/XFileParser.cpp 2016-05-21 20:50:11.720988981 -0400 +@@ -46,7 +46,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + + #include "XFileParser.h" + #include "XFileHelper.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + #include "Exceptional.h" + #include + #include +diff -up ./code/XGLLoader.cpp.unbundle ./code/XGLLoader.cpp +--- ./code/XGLLoader.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./code/XGLLoader.cpp 2016-05-21 20:50:11.720988981 -0400 +@@ -46,7 +46,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + + #include "XGLLoader.h" + #include "ParsingUtils.h" +-#include "fast_atof.h" ++#include "fast_atof_assimp.h" + + #include "StreamReader.h" + #include "MemoryIOWrapper.h" +diff -up ./tools/assimp_cmd/CMakeLists.txt.unbundle ./tools/assimp_cmd/CMakeLists.txt +--- ./tools/assimp_cmd/CMakeLists.txt.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./tools/assimp_cmd/CMakeLists.txt 2016-05-21 20:50:11.721989021 -0400 +@@ -27,8 +27,9 @@ IF( WIN32 ) + COMMAND ${CMAKE_COMMAND} -E copy_if_different $ $ + MAIN_DEPENDENCY assimp) + ENDIF( WIN32 ) +- +-TARGET_LINK_LIBRARIES( assimp_cmd assimp ${ZLIB_LIBRARIES} ) ++INCLUDE_DIRECTORIES(${IRRXML_INCLUDE_PATH}) ++TARGET_LINK_LIBRARIES( assimp_cmd assimp ${ZLIB_LIBRARIES} ${POLY2TRI_LIB}) ++TARGET_LINK_LIBRARIES( assimp_cmd ${IRRXML_LIB}) + SET_TARGET_PROPERTIES( assimp_cmd PROPERTIES + OUTPUT_NAME assimp + ) +diff -up ./tools/assimp_cmd/ImageExtractor.cpp.unbundle ./tools/assimp_cmd/ImageExtractor.cpp +--- ./tools/assimp_cmd/ImageExtractor.cpp.unbundle 2015-11-03 13:47:37.000000000 -0500 ++++ ./tools/assimp_cmd/ImageExtractor.cpp 2016-05-21 20:50:11.721989021 -0400 +@@ -44,7 +44,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE + */ + + #include "Main.h" +-#include <../code/fast_atof.h> ++#include + #include <../code/StringComparison.h> + + const char* AICMD_MSG_DUMP_HELP_E = diff --git a/assimp.spec b/assimp.spec index 95dbbf9..3dca17c 100644 --- a/assimp.spec +++ b/assimp.spec @@ -1,26 +1,29 @@ +%global commit0 c318d648ff73aa2e32b783709d69740ac3e8c072 +%global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) + Name: assimp -Version: 3.1.1 -Release: 9%{?dist} +Version: 3.2.0 +Release: 1%{?dist} Summary: Library to import various 3D model formats into applications Group: Development/Libraries -License: BSD +# Assimp is BSD, the bundled openddlparser is MIT. +License: BSD and MIT URL: http://assimp.sourceforge.net -Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}_no_test_models.zip - +#Source0: https://github.com/assimp/%{name}/archive/%{commit0}.tar.gz#/%{name}-%{shortcommit0}.tar.gz +# Github releases include nonfree models, source tarball must be re-generated +# using assimp_generate_tarball.sh +Source0: %{name}-%{commit0}-free.tar.bz2 # Strips bundled irrXML out of build files, and allows project to build -# against system versions of the libraries (not yet submitted upstream) -Patch0: %{name}-3.1.1-unbundle.patch +# against system versions of the libraries (not yet submitted upstream) +Patch0: %{name}-3.2.0-unbundle.patch # Change a doxygen setting so CHM help isn't generated. Fedora-only Patch1: %{name}-3.1.1-docfix.patch # Add /usr/lib64 to library lookup paths for python modules -Patch4: %{name}-3.1.1-pythonpath.patch +Patch4: %{name}-3.2.0-pythonpath.patch # Fix library and include paths in assimp-config.cmake # Fixes rhbz#1263698, not submitted upstream -Patch5: %{name}-3.1.1-cmakefix.patch -# Fix build on big-endian architectures -#https://github.com/assimp/assimp/issues/613 -Patch6: %{name}-3.1.1-bigendian.patch +Patch5: %{name}-3.2.0-cmakefix.patch BuildRequires: boost-devel BuildRequires: cmake @@ -35,17 +38,19 @@ BuildRequires: polyclipping-devel BuildRequires: python2-devel BuildRequires: python3-devel +Provides: bundled(openddl-parser) + %description -Assimp, the Open Asset Import Library, is a free library to import -various well-known 3D model formats into applications. Assimp aims -to provide a full asset conversion pipeline for use in game -engines and real-time rendering systems, but is not limited +Assimp, the Open Asset Import Library, is a free library to import +various well-known 3D model formats into applications. Assimp aims +to provide a full asset conversion pipeline for use in game +engines and real-time rendering systems, but is not limited to these applications. %package devel Summary: Header files and libraries for assimp Group: Development/Libraries -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %description devel This package contains the header files and libraries @@ -77,7 +82,7 @@ Obsoletes: %{name}-python3 < 3.1.1 This package contains the PyAssimp3 python bindings %prep -%setup -q +%setup -q -n %{name}-%{commit0} # Get rid of bundled libs so we can't accidently build against them rm -f code/fast_atof.h rm -rf contrib/cppunit-1.12.1 @@ -89,7 +94,6 @@ rm -rf contrib/poly2tri %patch1 -p1 -b .docfix %patch4 -p1 -b .pythonpath %patch5 -p0 -b .cmakefix -%patch6 -p1 -b .bigendian %build mkdir build @@ -143,7 +147,7 @@ rm -rf %{buildroot} %{_includedir}/assimp %{_libdir}/*.so %{_libdir}/pkgconfig/*.pc -%{_libdir}/cmake/%{name}-3.1 +%{_libdir}/cmake/%{name}-3.2 %files -n python2-%{name} %doc port/PyAssimp/README.md @@ -154,6 +158,9 @@ rm -rf %{buildroot} %{python3_sitelib}/pyassimp %changelog +* Mon May 09 2016 Rich Mattes - 3.2.0-1 +- Update to release 3.2.0 (rhbz#1332434) + * Wed Feb 03 2016 Fedora Release Engineering - 3.1.1-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild diff --git a/assimp_generate_tarball.sh b/assimp_generate_tarball.sh index fc0ea1d..5572ff8 100644 --- a/assimp_generate_tarball.sh +++ b/assimp_generate_tarball.sh @@ -1,5 +1,5 @@ #!/bin/bash -COMMIT=f849f6d9bd21efe802fa456184b1c3173e74a050 +COMMIT=c318d648ff73aa2e32b783709d69740ac3e8c072 wget --content-disposition https://github.com/assimp/assimp/archive/$COMMIT/assimp-$COMMIT.tar.gz tar xvf assimp-$COMMIT.tar.gz pushd assimp-$COMMIT diff --git a/sources b/sources index 1809819..c8a789e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ccd4788204509da58a3a53c7aeda7a8b assimp-3.1.1_no_test_models.zip +9ebcb18b606e7d2de4254dc11eca2082 assimp-c318d648ff73aa2e32b783709d69740ac3e8c072-free.tar.bz2