assimp/assimp-unbundle.patch

248 lines
9.4 KiB
Diff

diff -rupN --no-dereference assimp-6.0.2/code/AssetLib/Blender/BlenderTessellator.h assimp-6.0.2-new/code/AssetLib/Blender/BlenderTessellator.h
--- assimp-6.0.2/code/AssetLib/Blender/BlenderTessellator.h 2025-06-08 21:50:39.000000000 +0200
+++ assimp-6.0.2-new/code/AssetLib/Blender/BlenderTessellator.h 2025-08-18 20:15:00.250159883 +0200
@@ -143,7 +143,7 @@ namespace Assimp
#if ASSIMP_BLEND_WITH_POLY_2_TRI
-#include "contrib/poly2tri/poly2tri/poly2tri.h"
+#include <poly2tri/poly2tri.h>
namespace Assimp
{
diff -rupN --no-dereference assimp-6.0.2/code/AssetLib/IFC/IFCGeometry.cpp assimp-6.0.2-new/code/AssetLib/IFC/IFCGeometry.cpp
--- assimp-6.0.2/code/AssetLib/IFC/IFCGeometry.cpp 2025-06-08 21:50:39.000000000 +0200
+++ assimp-6.0.2-new/code/AssetLib/IFC/IFCGeometry.cpp 2025-08-18 20:15:00.250503229 +0200
@@ -45,7 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
#include "IFCUtil.h"
#include "Common/PolyTools.h"
#include "PostProcessing/ProcessHelper.h"
-#include "contrib/poly2tri/poly2tri/poly2tri.h"
+#include <poly2tri/poly2tri.h>
#include "contrib/clipper/clipper.hpp"
#include <iterator>
diff -rupN --no-dereference assimp-6.0.2/code/AssetLib/IFC/IFCOpenings.cpp assimp-6.0.2-new/code/AssetLib/IFC/IFCOpenings.cpp
--- assimp-6.0.2/code/AssetLib/IFC/IFCOpenings.cpp 2025-06-08 21:50:39.000000000 +0200
+++ assimp-6.0.2-new/code/AssetLib/IFC/IFCOpenings.cpp 2025-08-18 20:15:00.250876754 +0200
@@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
#include "IFCUtil.h"
#include "Common/PolyTools.h"
#include "PostProcessing/ProcessHelper.h"
-#include "contrib/poly2tri/poly2tri/poly2tri.h"
+#include <poly2tri/poly2tri.h>
#include "contrib/clipper/clipper.hpp"
#include <deque>
diff -rupN --no-dereference assimp-6.0.2/code/CMakeLists.txt assimp-6.0.2-new/code/CMakeLists.txt
--- assimp-6.0.2/code/CMakeLists.txt 2025-06-08 21:50:39.000000000 +0200
+++ assimp-6.0.2-new/code/CMakeLists.txt 2025-08-18 20:15:00.254124936 +0200
@@ -1120,13 +1120,7 @@ IF(ASSIMP_HUNTER_ENABLED)
hunter_add_package(pugixml)
find_package(pugixml CONFIG REQUIRED)
ELSEIF(NOT TARGET pugixml::pugixml)
- SET( Pugixml_SRCS
- ../contrib/pugixml/src/pugiconfig.hpp
- ../contrib/pugixml/src/pugixml.cpp
- ../contrib/pugixml/src/pugixml.hpp
- )
- INCLUDE_DIRECTORIES("../contrib/pugixml/src")
- SOURCE_GROUP( Contrib\\Pugixml FILES ${Pugixml_SRCS})
+ find_package(pugixml REQUIRED)
ENDIF()
# utf8
@@ -1134,7 +1128,7 @@ IF(ASSIMP_HUNTER_ENABLED)
hunter_add_package(utf8)
find_package(utf8cpp CONFIG REQUIRED)
ELSE()
- INCLUDE_DIRECTORIES("../contrib/utf8cpp/source")
+ find_package(utf8cpp CONFIG REQUIRED)
ENDIF()
# polyclipping
@@ -1150,10 +1144,10 @@ ENDIF()
#ENDIF()
# poly2tri
-#IF(ASSIMP_HUNTER_ENABLED)
-# hunter_add_package(poly2tri)
-# find_package(poly2tri CONFIG REQUIRED)
-#ELSE()
+IF(HAVE_POLY2TRI)
+ include_directories(${POLY2TRI_INCLUDE_PATH})
+ set(Poly2Tri_SRCS "")
+ELSE()
SET( Poly2Tri_SRCS
../contrib/poly2tri/poly2tri/common/shapes.cc
../contrib/poly2tri/poly2tri/common/shapes.h
@@ -1168,13 +1162,13 @@ ENDIF()
../contrib/poly2tri/poly2tri/sweep/sweep_context.h
)
SOURCE_GROUP( Contrib\\Poly2Tri FILES ${Poly2Tri_SRCS})
-#ENDIF()
+ENDIF()
# minizip/unzip
-IF(ASSIMP_HUNTER_ENABLED)
- hunter_add_package(minizip)
- find_package(minizip CONFIG REQUIRED)
-ELSE()
+#IF(ASSIMP_HUNTER_ENABLED)
+# hunter_add_package(minizip)
+# find_package(minizip CONFIG REQUIRED)
+#ELSE()
SET( unzip_SRCS
../contrib/unzip/crypt.h
../contrib/unzip/ioapi.c
@@ -1183,7 +1177,7 @@ ELSE()
../contrib/unzip/unzip.h
)
SOURCE_GROUP(Contrib\\unzip FILES ${unzip_SRCS})
-ENDIF()
+#ENDIF()
# zip (https://github.com/kuba--/zip)
separate_arguments(ASSIMP_EXPORTERS_LIST UNIX_COMMAND ${ASSIMP_EXPORTERS_ENABLED})
@@ -1279,6 +1273,7 @@ ENDIF ()
IF (NOT ASSIMP_HUNTER_ENABLED AND (RT_FOUND OR WIN32))
SET( ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC 1 )
ADD_DEFINITIONS( -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 )
+ INCLUDE_DIRECTORIES( "../contrib" )
ELSE ()
SET (open3dgc_SRCS "")
MESSAGE (INFO " Hunter enabled or RT-extension not found. glTF import/export will be built without Open3DGC-compression.")
@@ -1290,7 +1285,8 @@ IF(ASSIMP_HUNTER_ENABLED)
hunter_add_package(RapidJSON)
find_package(RapidJSON CONFIG REQUIRED)
ELSE()
- INCLUDE_DIRECTORIES("../contrib/rapidjson/include")
+ find_package(RapidJSON REQUIRED)
+ include_directories(${RapidJSON_INCLUDE_DIRS})
ADD_DEFINITIONS( -DRAPIDJSON_HAS_STDSTRING=1)
option( ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR "Suppress rapidjson warning on MSVC (NOTE: breaks android build)" ON )
if(ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR)
@@ -1303,11 +1299,6 @@ IF(ASSIMP_HUNTER_ENABLED)
hunter_add_package(stb)
find_package(stb CONFIG REQUIRED)
ELSE()
- SET( stb_SRCS
- ../contrib/stb/stb_image.h
- )
- INCLUDE_DIRECTORIES("../contrib")
- SOURCE_GROUP( Contrib\\stb FILES ${stb_SRCS})
ENDIF()
# VC2010 fixes
@@ -1489,7 +1480,6 @@ IF(ASSIMP_HUNTER_ENABLED)
TARGET_LINK_LIBRARIES(assimp
PUBLIC
openddlparser::openddl_parser
- minizip::minizip
ZLIB::zlib
RapidJSON::rapidjson
utf8cpp
@@ -1508,9 +1498,16 @@ ELSE()
if (ASSIMP_BUILD_DRACO)
target_link_libraries(assimp ${draco_LIBRARIES})
endif()
- if(TARGET pugixml::pugixml)
- target_link_libraries(assimp pugixml::pugixml)
- endif()
+
+ TARGET_LINK_LIBRARIES(assimp pugixml)
+
+ IF (HAVE_POLY2TRI)
+ TARGET_LINK_LIBRARIES(assimp ${POLY2TRI_LIB})
+ ENDIF()
+
+ IF (HAVE_CLIPPER)
+ TARGET_LINK_LIBRARIES(assimp ${CLIPPER_LIB})
+ ENDIF()
ENDIF()
if(ASSIMP_ANDROID_JNIIOSYSTEM)
diff -rupN --no-dereference assimp-6.0.2/code/PostProcessing/TriangulateProcess.cpp assimp-6.0.2-new/code/PostProcessing/TriangulateProcess.cpp
--- assimp-6.0.2/code/PostProcessing/TriangulateProcess.cpp 2025-06-08 21:50:39.000000000 +0200
+++ assimp-6.0.2-new/code/PostProcessing/TriangulateProcess.cpp 2025-08-18 20:15:00.251686318 +0200
@@ -62,7 +62,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
#include "PostProcessing/TriangulateProcess.h"
#include "PostProcessing/ProcessHelper.h"
#include "Common/PolyTools.h"
-#include "contrib/earcut-hpp/earcut.hpp"
+#include <mapbox/earcut.hpp>
#include <memory>
#include <cstdint>
diff -rupN --no-dereference assimp-6.0.2/samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp assimp-6.0.2-new/samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp
--- assimp-6.0.2/samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp 2025-06-08 21:50:39.000000000 +0200
+++ assimp-6.0.2-new/samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp 2025-08-18 20:15:00.252020642 +0200
@@ -24,7 +24,7 @@
#endif // _MSC_VER
#define STB_IMAGE_IMPLEMENTATION
-#include "contrib/stb/stb_image.h"
+#include "stb_image.h"
#ifdef _MSC_VER
#pragma warning(default: 4100) // Enable warning 'unreferenced formal parameter'
diff -rupN --no-dereference assimp-6.0.2/test/CMakeLists.txt assimp-6.0.2-new/test/CMakeLists.txt
--- assimp-6.0.2/test/CMakeLists.txt 2025-06-08 21:50:39.000000000 +0200
+++ assimp-6.0.2-new/test/CMakeLists.txt 2025-08-18 20:15:00.253409037 +0200
@@ -43,14 +43,6 @@ INCLUDE_DIRECTORIES(
${Assimp_SOURCE_DIR}/code
)
-if(NOT ASSIMP_HUNTER_ENABLED)
- INCLUDE_DIRECTORIES(
- ${Assimp_SOURCE_DIR}/contrib/googletest/googletest/include
- ${Assimp_SOURCE_DIR}/contrib/googletest/googletest/
- ${Assimp_SOURCE_DIR}/contrib/pugixml/src
- )
-endif()
-
if (MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING")
endif()
@@ -234,26 +226,11 @@ add_executable( unit
${POST_PROCESSES}
)
-if(ASSIMP_HUNTER_ENABLED)
- hunter_add_package(GTest)
- find_package(GTest CONFIG REQUIRED)
- target_link_libraries(unit GTest::gtest_main GTest::gmock)
-else()
- target_sources(unit PUBLIC ${Assimp_SOURCE_DIR}/contrib/googletest/googletest/src/gtest-all.cc)
-endif()
+find_package(GTest CONFIG REQUIRED)
+target_link_libraries(unit GTest::gtest_main GTest::gmock)
# RapidJSON
-IF(ASSIMP_HUNTER_ENABLED)
- hunter_add_package(RapidJSON)
- find_package(RapidJSON CONFIG REQUIRED)
-ELSE()
- INCLUDE_DIRECTORIES("../contrib/rapidjson/include")
- ADD_DEFINITIONS( -DRAPIDJSON_HAS_STDSTRING=1)
- option( ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR "Suppress rapidjson warning on MSVC (NOTE: breaks android build)" ON )
- if(ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR)
- ADD_DEFINITIONS( -DRAPIDJSON_NOMEMBERITERATORCLASS )
- endif()
-ENDIF()
+find_package(RapidJSON CONFIG REQUIRED)
IF (ASSIMP_BUILD_DRACO)
ADD_DEFINITIONS( -DASSIMP_ENABLE_DRACO )
diff -rupN --no-dereference assimp-6.0.2/test/unit/utglTF2ImportExport.cpp assimp-6.0.2-new/test/unit/utglTF2ImportExport.cpp
--- assimp-6.0.2/test/unit/utglTF2ImportExport.cpp 2025-06-08 21:50:39.000000000 +0200
+++ assimp-6.0.2-new/test/unit/utglTF2ImportExport.cpp 2025-08-18 20:15:00.253778700 +0200
@@ -986,7 +986,7 @@ namespace {
rapidjson::Document schemaDoc;
schemaDoc.Parse(R"==({"properties":{"scene" : { "type" : "integer" }}, "required": [ "scene" ]})==");
EXPECT_FALSE(schemaDoc.HasParseError());
- m_schema.reset(new rapidjson::SchemaDocument(schemaDoc, m_schemaName.c_str(), static_cast<rapidjson::SizeType>(m_schemaName.size()), this));
+ m_schema.reset(new rapidjson::SchemaDocument(schemaDoc, 0, 0, this));
}
const rapidjson::SchemaDocument* GetRemoteDocument(const char* uri, rapidjson::SizeType) override {