Blob Blame History Raw
--- ./CMakeLists.txt.unbundle	2020-01-12 06:56:40.000000000 -0500
+++ ./CMakeLists.txt	2021-09-11 12:22:08.270359054 -0400
@@ -485,6 +485,27 @@ IF ( ASSIMP_NO_EXPORT )
   MESSAGE( STATUS "Build an import-only version of Assimp." )
 ENDIF( ASSIMP_NO_EXPORT )
 
+# 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)
+
+
 SET ( ASSIMP_BUILD_ARCHITECTURE "" CACHE STRING
   "describe the current architecture."
 )
--- ./code/Blender/BlenderTessellator.h.unbundle	2020-01-12 06:56:40.000000000 -0500
+++ ./code/Blender/BlenderTessellator.h	2021-09-11 12:22:08.271359063 -0400
@@ -144,11 +144,7 @@ namespace Assimp
 
 #if ASSIMP_BLEND_WITH_POLY_2_TRI
 
-#ifdef ASSIMP_USE_HUNTER
 #  include <poly2tri/poly2tri.h>
-#else
-#  include "../contrib/poly2tri/poly2tri/poly2tri.h"
-#endif
 
 namespace Assimp
 {
--- ./code/CMakeLists.txt.unbundle	2020-01-12 06:56:40.000000000 -0500
+++ ./code/CMakeLists.txt	2021-09-11 12:22:08.271359063 -0400
@@ -874,7 +874,7 @@ IF(HUNTER_ENABLED)
   hunter_add_package(utf8)
   find_package(utf8 CONFIG REQUIRED)
 ELSE(HUNTER_ENABLED)
-  # utf8 is header-only, so Assimp doesn't need to do anything.
+  find_package(utf8cpp)
 ENDIF(HUNTER_ENABLED)
 
 # polyclipping
@@ -882,11 +882,11 @@ IF(HUNTER_ENABLED)
   hunter_add_package(polyclipping)
   find_package(polyclipping CONFIG REQUIRED)
 ELSE(HUNTER_ENABLED)
-  SET( Clipper_SRCS
-    ../contrib/clipper/clipper.hpp
-    ../contrib/clipper/clipper.cpp
-  )
-  SOURCE_GROUP( Contrib\\Clipper FILES ${Clipper_SRCS})
+    SET( Clipper_SRCS
+      ../contrib/clipper/clipper.hpp
+      ../contrib/clipper/clipper.cpp
+    )
+    SOURCE_GROUP( Contrib\\Clipper FILES ${Clipper_SRCS})
 ENDIF(HUNTER_ENABLED)
 
 # poly2tri
@@ -894,20 +894,25 @@ IF(HUNTER_ENABLED)
   hunter_add_package(poly2tri)
   find_package(poly2tri CONFIG REQUIRED)
 ELSE(HUNTER_ENABLED)
-  SET( Poly2Tri_SRCS
-    ../contrib/poly2tri/poly2tri/common/shapes.cc
-    ../contrib/poly2tri/poly2tri/common/shapes.h
-    ../contrib/poly2tri/poly2tri/common/utils.h
-    ../contrib/poly2tri/poly2tri/sweep/advancing_front.h
-    ../contrib/poly2tri/poly2tri/sweep/advancing_front.cc
-    ../contrib/poly2tri/poly2tri/sweep/cdt.cc
-    ../contrib/poly2tri/poly2tri/sweep/cdt.h
-    ../contrib/poly2tri/poly2tri/sweep/sweep.cc
-    ../contrib/poly2tri/poly2tri/sweep/sweep.h
-    ../contrib/poly2tri/poly2tri/sweep/sweep_context.cc
-    ../contrib/poly2tri/poly2tri/sweep/sweep_context.h
-  )
-  SOURCE_GROUP( Contrib\\Poly2Tri FILES ${Poly2Tri_SRCS})
+  if (HAVE_POLY2TRI)
+    include_directories(${POLY2TRI_INCLUDE_PATH})
+    set(Poly2Tri_SRCS "")
+  elseif(HAVE_POLY2TRI)
+    SET( Poly2Tri_SRCS
+      ../contrib/poly2tri/poly2tri/common/shapes.cc
+      ../contrib/poly2tri/poly2tri/common/shapes.h
+      ../contrib/poly2tri/poly2tri/common/utils.h
+      ../contrib/poly2tri/poly2tri/sweep/advancing_front.h
+      ../contrib/poly2tri/poly2tri/sweep/advancing_front.cc
+      ../contrib/poly2tri/poly2tri/sweep/cdt.cc
+      ../contrib/poly2tri/poly2tri/sweep/cdt.h
+      ../contrib/poly2tri/poly2tri/sweep/sweep.cc
+      ../contrib/poly2tri/poly2tri/sweep/sweep.h
+      ../contrib/poly2tri/poly2tri/sweep/sweep_context.cc
+      ../contrib/poly2tri/poly2tri/sweep/sweep_context.h
+    )
+    SOURCE_GROUP( Contrib\\Poly2Tri FILES ${Poly2Tri_SRCS})
+  endif(HAVE_POLY2TRI)
 ENDIF(HUNTER_ENABLED)
 
 # minizip/unzip
@@ -915,14 +920,19 @@ IF(HUNTER_ENABLED)
   hunter_add_package(minizip)
   find_package(minizip CONFIG REQUIRED)
 ELSE(HUNTER_ENABLED)
-  SET( unzip_SRCS
-    ../contrib/unzip/crypt.h
-    ../contrib/unzip/ioapi.c
-    ../contrib/unzip/ioapi.h
-    ../contrib/unzip/unzip.c
-    ../contrib/unzip/unzip.h
-  )
-  SOURCE_GROUP(Contrib\\unzip FILES ${unzip_SRCS})
+  #if (MINIZIP_FOUND)
+  #  SET( unzip_SRCS "")
+  #  INCLUDE_DIRECTORIES(${MINIZIP_INCLUDE_DIRS})
+  #elseif(MINIZIP_FOUND)
+    SET( unzip_SRCS
+      ../contrib/unzip/crypt.h
+      ../contrib/unzip/ioapi.c
+      ../contrib/unzip/ioapi.h
+      ../contrib/unzip/unzip.c
+      ../contrib/unzip/unzip.h
+    )
+    SOURCE_GROUP(Contrib\\unzip FILES ${unzip_SRCS})
+    #endif(HAVE_MINIZIP)
 ENDIF(HUNTER_ENABLED)
 
 # zip (https://github.com/kuba--/zip)
@@ -1025,8 +1035,9 @@ IF(HUNTER_ENABLED)
   hunter_add_package(RapidJSON)
   find_package(RapidJSON CONFIG REQUIRED)
 ELSE(HUNTER_ENABLED)
-  INCLUDE_DIRECTORIES( "../contrib/rapidjson/include" )
-  INCLUDE_DIRECTORIES( "../contrib" )
+  find_package(RapidJSON REQUIRED)
+  include_directories(${RapidJSON_INCLUDE_DIRS})
+  include_directories("../contrib")
 ENDIF(HUNTER_ENABLED)
 
 # VC2010 fixes
@@ -1118,7 +1129,7 @@ IF(HUNTER_ENABLED)
       irrXML::irrXML
       openddlparser::openddl_parser
       poly2tri::poly2tri
-      minizip::minizip
+      #minizip::minizip
       ZLIB::zlib
       RapidJSON::rapidjson
       utf8::utf8
@@ -1126,6 +1137,13 @@ IF(HUNTER_ENABLED)
   )
 ELSE(HUNTER_ENABLED)
   TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES} ${IRRXML_LIBRARY} )
+  IF (HAVE_POLY2TRI)
+    TARGET_LINK_LIBRARIES(assimp ${POLY2TRI_LIB})
+  ENDIF(HAVE_POLY2TRI)
+
+  IF (HAVE_CLIPPER)
+    TARGET_LINK_LIBRARIES(assimp ${CLIPPER_LIB})
+  ENDIF (HAVE_CLIPPER)
 ENDIF(HUNTER_ENABLED)
 
 if(ASSIMP_ANDROID_JNIIOSYSTEM)
--- ./code/Common/BaseImporter.cpp.unbundle	2020-01-12 06:56:40.000000000 -0500
+++ ./code/Common/BaseImporter.cpp	2021-09-11 12:22:08.272359072 -0400
@@ -341,11 +341,7 @@ std::string BaseImporter::GetExtension(
     return false;
 }
 
-#ifdef ASSIMP_USE_HUNTER
-#  include <utf8/utf8.h>
-#else
-#  include "../contrib/utf8cpp/source/utf8.h"
-#endif
+#  include <utf8.h>
 
 // ------------------------------------------------------------------------------------------------
 // Convert to UTF8 data
--- ./code/Importer/IFC/IFCGeometry.cpp.unbundle	2020-01-12 06:56:40.000000000 -0500
+++ ./code/Importer/IFC/IFCGeometry.cpp	2021-09-11 12:22:08.272359072 -0400
@@ -49,13 +49,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 #include "Common/PolyTools.h"
 #include "PostProcessing/ProcessHelper.h"
 
-#ifdef ASSIMP_USE_HUNTER
-#  include <poly2tri/poly2tri.h>
-#  include <polyclipping/clipper.hpp>
-#else
-#  include "../contrib/poly2tri/poly2tri/poly2tri.h"
-#  include "../contrib/clipper/clipper.hpp"
-#endif
+#include <poly2tri/poly2tri.h>
+#include <../contrib/clipper/clipper.hpp>
 
 #include <memory>
 #include <iterator>
--- ./code/Importer/IFC/IFCOpenings.cpp.unbundle	2020-01-12 06:56:40.000000000 -0500
+++ ./code/Importer/IFC/IFCOpenings.cpp	2021-09-11 12:22:08.273359081 -0400
@@ -49,13 +49,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 #include "Common/PolyTools.h"
 #include "PostProcessing/ProcessHelper.h"
 
-#ifdef ASSIMP_USE_HUNTER
-#  include <poly2tri/poly2tri.h>
-#  include <polyclipping/clipper.hpp>
-#else
-#  include "../contrib/poly2tri/poly2tri/poly2tri.h"
-#  include "../contrib/clipper/clipper.hpp"
-#endif
+#include <poly2tri/poly2tri.h>
+#include <../contrib/clipper/clipper.hpp>
 
 #include <iterator>
 
--- ./code/Importer/STEPParser/STEPFileEncoding.cpp.unbundle	2020-01-12 06:56:40.000000000 -0500
+++ ./code/Importer/STEPParser/STEPFileEncoding.cpp	2021-09-11 12:22:08.273359081 -0400
@@ -45,11 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  */
 #include "STEPFileEncoding.h"
 #include <assimp/fast_atof.h>
-#ifdef ASSIMP_USE_HUNTER
-#  include <utf8/utf8.h>
-#else
-#  include <contrib/utf8cpp/source/utf8.h>
-#endif
+#include <utf8.h>
 
 #include <memory>
 
--- ./code/MMD/MMDPmxParser.cpp.unbundle	2020-01-12 06:56:40.000000000 -0500
+++ ./code/MMD/MMDPmxParser.cpp	2021-09-11 12:22:08.273359081 -0400
@@ -42,11 +42,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 #include <utility>
 #include "MMDPmxParser.h"
 #include <assimp/StringUtils.h>
-#ifdef ASSIMP_USE_HUNTER
-#  include <utf8/utf8.h>
-#else
-#  include "../contrib/utf8cpp/source/utf8.h"
-#endif
+#include <utf8.h>
 #include <assimp/Exceptional.h>
 
 namespace pmx
--- ./code/SIB/SIBImporter.cpp.unbundle	2020-01-12 06:56:40.000000000 -0500
+++ ./code/SIB/SIBImporter.cpp	2021-09-11 12:22:08.274359089 -0400
@@ -59,12 +59,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 #include <assimp/ByteSwapper.h>
 #include <assimp/StreamReader.h>
 #include <assimp/TinyFormatter.h>
-#ifdef ASSIMP_USE_HUNTER
-#  include <utf8/utf8.h>
-#else
-//#  include "../contrib/ConvertUTF/ConvertUTF.h"
-#  include "../contrib/utf8cpp/source/utf8.h"
-#endif
+#include <utf8.h>
 #include <assimp/IOSystem.hpp>
 #include <assimp/DefaultLogger.hpp>
 #include <assimp/scene.h>