early-access version 2853

This commit is contained in:
pineappleEA
2022-07-23 03:01:36 +02:00
parent 1f2b5081b5
commit 1f111bb69c
8955 changed files with 418777 additions and 999 deletions

626
externals/vcpkg/ports/assimp/build_fixes.patch vendored Executable file
View File

@@ -0,0 +1,626 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index dcafb64..761040d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -51,7 +51,7 @@ IF(HUNTER_ENABLED)
add_definitions(-DASSIMP_USE_HUNTER)
ENDIF(HUNTER_ENABLED)
-PROJECT( Assimp VERSION 5.0.0 )
+PROJECT( Assimp VERSION 5.0.1 )
# All supported options ###############################################
@@ -130,6 +130,16 @@ OPTION ( IGNORE_GIT_HASH
OFF
)
+find_package(Stb REQUIRED)
+include_directories(${Stb_INCLUDE_DIR})
+find_package(utf8cpp CONFIG REQUIRED)
+link_libraries(utf8cpp)
+find_package(RapidJSON CONFIG REQUIRED)
+include_directories(${RAPIDJSON_INCLUDE_DIRS})
+find_path(UNZIP_INCLUDE_DIRS "minizip/unzip.h")
+include_directories(${UNZIP_INCLUDE_DIRS}/minizip)
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/contrib)
+
IF (IOS AND NOT HUNTER_ENABLED)
IF (NOT CMAKE_BUILD_TYPE)
SET(CMAKE_BUILD_TYPE "Release")
@@ -230,10 +240,8 @@ SET(LIBASSIMP-DEV_COMPONENT "libassimp${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_M
SET(CPACK_COMPONENTS_ALL assimp-bin ${LIBASSIMP_COMPONENT} ${LIBASSIMP-DEV_COMPONENT} assimp-dev)
SET(ASSIMP_LIBRARY_SUFFIX "" CACHE STRING "Suffix to append to library names")
-IF( UNIX )
# Use GNUInstallDirs for Unix predefined directories
INCLUDE(GNUInstallDirs)
-ENDIF( UNIX )
# Grouped compiler settings
IF ((CMAKE_C_COMPILER_ID MATCHES "GNU") AND NOT CMAKE_COMPILER_IS_MINGW)
@@ -253,7 +261,6 @@ ELSEIF(MSVC)
IF(MSVC12)
ADD_COMPILE_OPTIONS(/wd4351)
ENDIF()
- SET(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /MDd /Ob2 /DEBUG:FULL /Zi")
ELSEIF ( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" )
IF(NOT HUNTER_ENABLED)
SET(CMAKE_CXX_FLAGS "-fPIC -std=c++11 ${CMAKE_CXX_FLAGS}")
@@ -352,35 +359,21 @@ IF (NOT TARGET uninstall)
ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
ENDIF()
-IF(HUNTER_ENABLED)
- set(CONFIG_INSTALL_DIR "lib/cmake/${PROJECT_NAME}")
+ set(CONFIG_INSTALL_DIR "share/assimp")
set(INCLUDE_INSTALL_DIR "include")
- set(GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated")
+ string(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWERCASE)
+ set(NAMESPACE "${PROJECT_NAME_LOWERCASE}::")
- # Configuration
- set(VERSION_CONFIG "${GENERATED_DIR}/${PROJECT_NAME}ConfigVersion.cmake")
- set(PROJECT_CONFIG "${GENERATED_DIR}/${PROJECT_NAME}Config.cmake")
- set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets")
- set(NAMESPACE "${PROJECT_NAME}::")
+ set(TARGETS_EXPORT_NAME "${PROJECT_NAME_LOWERCASE}Config")
+ set(VERSION_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME_LOWERCASE}ConfigVersion.cmake")
+ set(NAMESPACE "${PROJECT_NAME_LOWERCASE}::")
- # Include module with fuction 'write_basic_package_version_file'
include(CMakePackageConfigHelpers)
-
- # Note: PROJECT_VERSION is used as a VERSION
- write_basic_package_version_file("${VERSION_CONFIG}" COMPATIBILITY SameMajorVersion)
-
- # Use variables:
- # * TARGETS_EXPORT_NAME
- # * PROJECT_NAME
- configure_package_config_file(
- "cmake/assimp-hunter-config.cmake.in"
- "${PROJECT_CONFIG}"
- INSTALL_DESTINATION "${CONFIG_INSTALL_DIR}"
- )
+ write_basic_package_version_file("${VERSION_CONFIG}" VERSION ${${PROJECT_NAME}_VERSION} COMPATIBILITY SameMajorVersion)
install(
- FILES "${PROJECT_CONFIG}" "${VERSION_CONFIG}"
+ FILES ${VERSION_CONFIG}
DESTINATION "${CONFIG_INSTALL_DIR}"
)
@@ -389,30 +382,6 @@ IF(HUNTER_ENABLED)
NAMESPACE "${NAMESPACE}"
DESTINATION "${CONFIG_INSTALL_DIR}"
)
-ELSE(HUNTER_ENABLED)
- # cmake configuration files
- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimp-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimp-config.cmake" @ONLY IMMEDIATE)
- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets.cmake" @ONLY IMMEDIATE)
- IF (is_multi_config)
- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets-debug.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-debug.cmake" @ONLY IMMEDIATE)
- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets-release.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-release.cmake" @ONLY IMMEDIATE)
- SET(PACKAGE_TARGETS_FILE "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-debug.cmake" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-release.cmake")
- ELSEIF (CMAKE_BUILD_TYPE STREQUAL Debug)
- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets-debug.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-debug.cmake" @ONLY IMMEDIATE)
- SET(PACKAGE_TARGETS_FILE "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-debug.cmake")
- ELSE()
- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets-release.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-release.cmake" @ONLY IMMEDIATE)
- SET(PACKAGE_TARGETS_FILE "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-release.cmake")
- ENDIF()
- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimp-config-version.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimp-config-version.cmake" @ONLY IMMEDIATE)
- #we should generated these scripts after CMake VERSION 3.0.2 using export(EXPORT ...) and write_basic_package_version_file(...)
- INSTALL(FILES
- "${CMAKE_CURRENT_BINARY_DIR}/assimp-config.cmake"
- "${CMAKE_CURRENT_BINARY_DIR}/assimp-config-version.cmake"
- "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets.cmake"
- ${PACKAGE_TARGETS_FILE}
- DESTINATION "${ASSIMP_LIB_INSTALL_DIR}/cmake/assimp-${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_MINOR}" COMPONENT ${LIBASSIMP-DEV_COMPONENT})
-ENDIF(HUNTER_ENABLED)
FIND_PACKAGE( DirectX )
@@ -422,63 +391,19 @@ ENDIF( BUILD_DOCS )
# Look for system installed irrXML
IF ( SYSTEM_IRRXML )
- FIND_PACKAGE( IrrXML REQUIRED )
+ FIND_PACKAGE( irrlicht CONFIG REQUIRED )
ENDIF( SYSTEM_IRRXML )
# Search for external dependencies, and build them from source if not found
# Search for zlib
-IF(HUNTER_ENABLED)
- hunter_add_package(ZLIB)
- find_package(ZLIB CONFIG REQUIRED)
+ find_package(ZLIB REQUIRED)
add_definitions(-DASSIMP_BUILD_NO_OWN_ZLIB)
set(ZLIB_FOUND TRUE)
- set(ZLIB_LIBRARIES ZLIB::zlib)
- set(ASSIMP_BUILD_MINIZIP TRUE)
-ELSE(HUNTER_ENABLED)
- IF ( NOT ASSIMP_BUILD_ZLIB )
- FIND_PACKAGE(ZLIB)
- ENDIF( NOT ASSIMP_BUILD_ZLIB )
-
- IF( NOT ZLIB_FOUND )
- MESSAGE(STATUS "compiling zlib from sources")
- INCLUDE(CheckIncludeFile)
- INCLUDE(CheckTypeSize)
- INCLUDE(CheckFunctionExists)
-
- # Explicitly turn off ASM686 and AMD64 cmake options.
- # The AMD64 option causes a build failure on MSVC and the ASM builds seem to have problems:
- # https://github.com/madler/zlib/issues/41#issuecomment-125848075
- # Also prevents these options from "polluting" the cmake options if assimp is being
- # included as a submodule.
- set( ASM686 FALSE CACHE INTERNAL "Override ZLIB flag to turn off assembly" FORCE )
- set( AMD64 FALSE CACHE INTERNAL "Override ZLIB flag to turn off assembly" FORCE )
-
- # compile from sources
- ADD_SUBDIRECTORY(contrib/zlib)
- SET(ZLIB_FOUND 1)
- SET(ZLIB_LIBRARIES zlibstatic)
- SET(ZLIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/contrib/zlib ${CMAKE_CURRENT_BINARY_DIR}/contrib/zlib)
- # need to ensure we don't link with system zlib or minizip as well.
- SET(ASSIMP_BUILD_MINIZIP 1)
- ELSE(NOT ZLIB_FOUND)
- ADD_DEFINITIONS(-DASSIMP_BUILD_NO_OWN_ZLIB)
- SET(ZLIB_LIBRARIES_LINKED -lz)
- ENDIF(NOT ZLIB_FOUND)
+ set(ZLIB_LIBRARIES ZLIB::ZLIB)
INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
-ENDIF(HUNTER_ENABLED)
-IF( NOT IOS )
- IF( NOT ASSIMP_BUILD_MINIZIP )
- use_pkgconfig(UNZIP minizip)
- ENDIF( NOT ASSIMP_BUILD_MINIZIP )
-ELSE ( NOT IOS )
- IF( NOT BUILD_SHARED_LIBS )
- IF( NOT ASSIMP_BUILD_MINIZIP )
- use_pkgconfig(UNZIP minizip)
- ENDIF( NOT ASSIMP_BUILD_MINIZIP )
- ENDIF ( NOT BUILD_SHARED_LIBS )
-ENDIF ( NOT IOS )
+ find_package(minizip CONFIG REQUIRED)
IF ( ASSIMP_NO_EXPORT )
ADD_DEFINITIONS( -DASSIMP_BUILD_NO_EXPORT)
@@ -633,7 +558,7 @@ IF(CMAKE_CPACK_COMMAND AND UNIX AND ASSIMP_OPT_BUILD_PACKAGES)
INCLUDE(DebSourcePPA)
ENDIF()
-if(WIN32)
+if(0)
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
SET(BIN_DIR "${PROJECT_SOURCE_DIR}/bin64/")
SET(LIB_DIR "${PROJECT_SOURCE_DIR}/lib64/")
@@ -677,4 +602,4 @@ if(WIN32)
ADD_CUSTOM_COMMAND(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/assimp-${ASSIMP_MSVC_VERSION}-mtd.pdb ${LIB_DIR}assimp-${ASSIMP_MSVC_VERSION}-mtd.pdb VERBATIM)
ENDIF()
ENDIF(MSVC12 OR MSVC14 OR MSVC15 )
-ENDIF (WIN32)
+ENDIF (0)
diff --git a/assimpTargets.cmake.in b/assimpTargets.cmake.in
index ab1a8d2..4b0729b 100644
--- a/assimpTargets.cmake.in
+++ b/assimpTargets.cmake.in
@@ -5,6 +5,8 @@ if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
endif()
cmake_policy(PUSH)
cmake_policy(VERSION 2.6)
+# Required for the evaluation of "if(@BUILD_SHARED_LIBS@)" below to function
+cmake_policy(SET CMP0012 NEW)
#----------------------------------------------------------------
# Generated CMake target import file.
#----------------------------------------------------------------
diff --git a/code/3MF/D3MFExporter.cpp b/code/3MF/D3MFExporter.cpp
index 1f388ad..1ccd2aa 100644
--- a/code/3MF/D3MFExporter.cpp
+++ b/code/3MF/D3MFExporter.cpp
@@ -58,7 +58,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifdef ASSIMP_USE_HUNTER
# include <zip/zip.h>
#else
-# include <contrib/zip/src/zip.h>
+# include <zip/zip.h>
#endif
namespace Assimp {
@@ -255,7 +255,7 @@ void D3MFExporter::writeBaseMaterials() {
hexDiffuseColor.clear();
tmp.clear();
hexDiffuseColor = "#";
-
+
tmp = DecimalToHexa( color.r );
hexDiffuseColor += tmp;
tmp = DecimalToHexa( color.g );
diff --git a/code/Blender/BlenderTessellator.h b/code/Blender/BlenderTessellator.h
index 518e56c..ec4a653 100644
--- a/code/Blender/BlenderTessellator.h
+++ b/code/Blender/BlenderTessellator.h
@@ -147,7 +147,7 @@ namespace Assimp
#ifdef ASSIMP_USE_HUNTER
# include <poly2tri/poly2tri.h>
#else
-# include "../contrib/poly2tri/poly2tri/poly2tri.h"
+# include <poly2tri/poly2tri.h>
#endif
namespace Assimp
diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt
index 55538d9..f5553e5 100644
--- a/code/CMakeLists.txt
+++ b/code/CMakeLists.txt
@@ -862,89 +862,24 @@ SET( Extra_SRCS
SOURCE_GROUP( Extra FILES ${Extra_SRCS})
# irrXML
-IF(HUNTER_ENABLED)
- hunter_add_package(irrXML)
find_package(irrXML CONFIG REQUIRED)
-ELSE(HUNTER_ENABLED)
- # irrXML already included in contrib directory by parent CMakeLists.txt.
-ENDIF(HUNTER_ENABLED)
-
-# utf8
-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.
-ENDIF(HUNTER_ENABLED)
# polyclipping
-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})
-ENDIF(HUNTER_ENABLED)
# poly2tri
-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})
-ENDIF(HUNTER_ENABLED)
# minizip/unzip
-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})
-ENDIF(HUNTER_ENABLED)
# zip (https://github.com/kuba--/zip)
-IF(HUNTER_ENABLED)
- hunter_add_package(zip)
- find_package(zip CONFIG REQUIRED)
-ELSE(HUNTER_ENABLED)
- SET( ziplib_SRCS
- ../contrib/zip/src/miniz.h
- ../contrib/zip/src/zip.c
- ../contrib/zip/src/zip.h
- )
-
- # TODO if cmake required version has been updated to >3.12.0, collapse this to the second case only
- if(${CMAKE_VERSION} VERSION_LESS "3.12.0")
- add_definitions(-DMINIZ_USE_UNALIGNED_LOADS_AND_STORES=0)
- else()
- add_compile_definitions(MINIZ_USE_UNALIGNED_LOADS_AND_STORES=0)
- endif()
-
- SOURCE_GROUP( ziplib FILES ${ziplib_SRCS} )
-ENDIF(HUNTER_ENABLED)
+ find_package(kubazip CONFIG REQUIRED)
# openddlparser
IF(HUNTER_ENABLED)
@@ -1021,13 +956,7 @@ ELSE ()
ENDIF ()
# RapidJSON
-IF(HUNTER_ENABLED)
- hunter_add_package(RapidJSON)
find_package(RapidJSON CONFIG REQUIRED)
-ELSE(HUNTER_ENABLED)
- INCLUDE_DIRECTORIES( "../contrib/rapidjson/include" )
- INCLUDE_DIRECTORIES( "../contrib" )
-ENDIF(HUNTER_ENABLED)
# VC2010 fixes
if(MSVC10)
@@ -1044,15 +973,6 @@ if ( MSVC )
ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS )
endif ( MSVC )
-IF(NOT HUNTER_ENABLED)
- if (UNZIP_FOUND)
- SET (unzip_compile_SRCS "")
- else (UNZIP_FOUND)
- SET (unzip_compile_SRCS ${unzip_SRCS})
- INCLUDE_DIRECTORIES( "../contrib/unzip/" )
- endif (UNZIP_FOUND)
-ENDIF(NOT HUNTER_ENABLED)
-
MESSAGE(STATUS "Enabled importer formats:${ASSIMP_IMPORTERS_ENABLED}")
MESSAGE(STATUS "Disabled importer formats:${ASSIMP_IMPORTERS_DISABLED}")
@@ -1111,22 +1031,14 @@ TARGET_INCLUDE_DIRECTORIES ( assimp PUBLIC
$<INSTALL_INTERFACE:include>
)
-IF(HUNTER_ENABLED)
TARGET_LINK_LIBRARIES(assimp
- PUBLIC
polyclipping::polyclipping
irrXML::irrXML
- openddlparser::openddl_parser
- poly2tri::poly2tri
minizip::minizip
- ZLIB::zlib
- RapidJSON::rapidjson
- utf8::utf8
- zip::zip
+ ZLIB::ZLIB
+ kubazip::kubazip
+ poly2tri::poly2tri
)
-ELSE(HUNTER_ENABLED)
- TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES} ${IRRXML_LIBRARY} )
-ENDIF(HUNTER_ENABLED)
if(ASSIMP_ANDROID_JNIIOSYSTEM)
set(ASSIMP_ANDROID_JNIIOSYSTEM_PATH port/AndroidJNI)
@@ -1208,21 +1120,12 @@ ENDIF(APPLE)
# Build against external unzip, or add ../contrib/unzip so
# assimp can #include "unzip.h"
-IF(NOT HUNTER_ENABLED)
- if (UNZIP_FOUND)
- INCLUDE_DIRECTORIES(${UNZIP_INCLUDE_DIRS})
- TARGET_LINK_LIBRARIES(assimp ${UNZIP_LIBRARIES})
- else (UNZIP_FOUND)
- INCLUDE_DIRECTORIES("../")
- endif (UNZIP_FOUND)
-ENDIF(NOT HUNTER_ENABLED)
# Add RT-extension library for glTF importer with Open3DGC-compression.
IF (RT_FOUND AND ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC)
TARGET_LINK_LIBRARIES(assimp ${RT_LIBRARY})
ENDIF (RT_FOUND AND ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC)
-IF(HUNTER_ENABLED)
INSTALL( TARGETS assimp
EXPORT "${TARGETS_EXPORT_NAME}"
LIBRARY DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
@@ -1231,14 +1134,6 @@ IF(HUNTER_ENABLED)
FRAMEWORK DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
COMPONENT ${LIBASSIMP_COMPONENT}
INCLUDES DESTINATION "include")
-ELSE(HUNTER_ENABLED)
-INSTALL( TARGETS assimp
- LIBRARY DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
- ARCHIVE DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
- RUNTIME DESTINATION ${ASSIMP_BIN_INSTALL_DIR}
- FRAMEWORK DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
- COMPONENT ${LIBASSIMP_COMPONENT})
-ENDIF(HUNTER_ENABLED)
INSTALL( FILES ${PUBLIC_HEADERS} DESTINATION ${ASSIMP_INCLUDE_INSTALL_DIR}/assimp COMPONENT assimp-dev)
INSTALL( FILES ${COMPILER_HEADERS} DESTINATION ${ASSIMP_INCLUDE_INSTALL_DIR}/assimp/Compiler COMPONENT assimp-dev)
diff --git a/code/Common/BaseImporter.cpp b/code/Common/BaseImporter.cpp
index b77bbfe..51cba43 100644
--- a/code/Common/BaseImporter.cpp
+++ b/code/Common/BaseImporter.cpp
@@ -344,7 +344,7 @@ std::string BaseImporter::GetExtension( const std::string& file ) {
#ifdef ASSIMP_USE_HUNTER
# include <utf8/utf8.h>
#else
-# include "../contrib/utf8cpp/source/utf8.h"
+# include <utf8.h>
#endif
// ------------------------------------------------------------------------------------------------
@@ -364,8 +364,8 @@ void BaseImporter::ConvertToUTF8(std::vector<char>& data)
data.resize(data.size()-3);
return;
}
-
-
+
+
// UTF 32 BE with BOM
if(*((uint32_t*)&data.front()) == 0xFFFE0000) {
@@ -507,7 +507,7 @@ struct Assimp::BatchData {
, next_id(0xffff)
, validate( validate ) {
ai_assert( nullptr != pIO );
-
+
pImporter = new Importer();
pImporter->SetIOHandler( pIO );
}
diff --git a/code/Importer/IFC/IFCGeometry.cpp b/code/Importer/IFC/IFCGeometry.cpp
index d1c7aee..8e11373 100644
--- a/code/Importer/IFC/IFCGeometry.cpp
+++ b/code/Importer/IFC/IFCGeometry.cpp
@@ -51,9 +51,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifdef ASSIMP_USE_HUNTER
# include <poly2tri/poly2tri.h>
-# include <polyclipping/clipper.hpp>
+# include "../contrib/clipper/clipper.hpp"
#else
-# include "../contrib/poly2tri/poly2tri/poly2tri.h"
+# include <poly2tri/poly2tri.h>
# include "../contrib/clipper/clipper.hpp"
#endif
diff --git a/code/Importer/IFC/IFCOpenings.cpp b/code/Importer/IFC/IFCOpenings.cpp
index d6c40b3..387c625 100644
--- a/code/Importer/IFC/IFCOpenings.cpp
+++ b/code/Importer/IFC/IFCOpenings.cpp
@@ -51,9 +51,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifdef ASSIMP_USE_HUNTER
# include <poly2tri/poly2tri.h>
-# include <polyclipping/clipper.hpp>
+# include "../contrib/clipper/clipper.hpp"
#else
-# include "../contrib/poly2tri/poly2tri/poly2tri.h"
+# include <poly2tri/poly2tri.h>
# include "../contrib/clipper/clipper.hpp"
#endif
@@ -911,14 +911,14 @@ size_t CloseWindows(ContourVector& contours,
// compare base poly normal and contour normal to detect if we need to reverse the face winding
if(curmesh.mVertcnt.size() > 0) {
IfcVector3 basePolyNormal = TempMesh::ComputePolygonNormal(curmesh.mVerts.data(), curmesh.mVertcnt.front());
-
+
std::vector<IfcVector3> worldSpaceContourVtx(it->contour.size());
-
+
for(size_t a = 0; a < it->contour.size(); ++a)
worldSpaceContourVtx[a] = minv * IfcVector3(it->contour[a].x, it->contour[a].y, 0.0);
-
+
IfcVector3 contourNormal = TempMesh::ComputePolygonNormal(worldSpaceContourVtx.data(), worldSpaceContourVtx.size());
-
+
reverseCountourFaces = (contourNormal * basePolyNormal) > 0.0;
}
diff --git a/code/Importer/STEPParser/STEPFileEncoding.cpp b/code/Importer/STEPParser/STEPFileEncoding.cpp
index 101dcdf..3f12403 100644
--- a/code/Importer/STEPParser/STEPFileEncoding.cpp
+++ b/code/Importer/STEPParser/STEPFileEncoding.cpp
@@ -48,7 +48,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifdef ASSIMP_USE_HUNTER
# include <utf8/utf8.h>
#else
-# include <contrib/utf8cpp/source/utf8.h>
+# include <utf8.h>
#endif
#include <memory>
diff --git a/code/MMD/MMDPmxParser.cpp b/code/MMD/MMDPmxParser.cpp
index 80f0986..47725e2 100644
--- a/code/MMD/MMDPmxParser.cpp
+++ b/code/MMD/MMDPmxParser.cpp
@@ -45,7 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifdef ASSIMP_USE_HUNTER
# include <utf8/utf8.h>
#else
-# include "../contrib/utf8cpp/source/utf8.h"
+# include <utf8.h>
#endif
#include <assimp/Exceptional.h>
@@ -102,7 +102,7 @@ namespace pmx
const unsigned int targetSize = size * 3; // enough to encode
char *targetStart = new char[targetSize];
std::memset(targetStart, 0, targetSize * sizeof(char));
-
+
utf8::utf16to8( sourceStart, sourceStart + size/2, targetStart );
std::string result(targetStart);
diff --git a/code/SIB/SIBImporter.cpp b/code/SIB/SIBImporter.cpp
index 20cdc80..46e9a32 100644
--- a/code/SIB/SIBImporter.cpp
+++ b/code/SIB/SIBImporter.cpp
@@ -63,7 +63,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# include <utf8/utf8.h>
#else
//# include "../contrib/ConvertUTF/ConvertUTF.h"
-# include "../contrib/utf8cpp/source/utf8.h"
+# include <utf8.h>
#endif
#include <assimp/IOSystem.hpp>
#include <assimp/DefaultLogger.hpp>
@@ -90,10 +90,10 @@ struct SIBChunk {
uint32_t Size;
} PACK_STRUCT;
-enum {
- POS,
- NRM,
- UV,
+enum {
+ POS,
+ NRM,
+ UV,
N
};
diff --git a/code/X3D/FIReader.cpp b/code/X3D/FIReader.cpp
index 9bb2c69..525a084 100644
--- a/code/X3D/FIReader.cpp
+++ b/code/X3D/FIReader.cpp
@@ -63,7 +63,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifdef ASSIMP_USE_HUNTER
# include <utf8/utf8.h>
#else
-# include "../contrib/utf8cpp/source/utf8.h"
+# include <utf8.h>
#endif
#include <assimp/fast_atof.h>
#include <stack>
diff --git a/contrib/clipper/clipper.hpp b/contrib/clipper/clipper.hpp
index 7cdac6c..2728425 100644
--- a/contrib/clipper/clipper.hpp
+++ b/contrib/clipper/clipper.hpp
@@ -302,5 +302,3 @@ class clipperException : public std::exception
} //ClipperLib namespace
#endif //clipper_hpp
-
-
diff --git a/samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp b/samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp
index 8d25aaa..e4bc306 100644
--- a/samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp
+++ b/samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp
@@ -19,7 +19,7 @@
#include <GL/glu.h>
#define STB_IMAGE_IMPLEMENTATION
-#include "contrib/stb_image/stb_image.h"
+#include <stb_image.h>
#include <fstream>

61
externals/vcpkg/ports/assimp/irrlicht.patch vendored Executable file
View File

@@ -0,0 +1,61 @@
diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt
index f5553e5..5cffa0c 100644
--- a/code/CMakeLists.txt
+++ b/code/CMakeLists.txt
@@ -862,7 +862,7 @@ SET( Extra_SRCS
SOURCE_GROUP( Extra FILES ${Extra_SRCS})
# irrXML
- find_package(irrXML CONFIG REQUIRED)
+ find_package(irrlicht CONFIG REQUIRED)
# polyclipping
find_package(polyclipping CONFIG REQUIRED)
@@ -1033,7 +1033,7 @@ TARGET_INCLUDE_DIRECTORIES ( assimp PUBLIC
TARGET_LINK_LIBRARIES(assimp
polyclipping::polyclipping
- irrXML::irrXML
+ Irrlicht
minizip::minizip
ZLIB::ZLIB
kubazip::kubazip
diff --git a/code/X3D/FIReader.cpp b/code/X3D/FIReader.cpp
index 525a084..0cbca48 100644
--- a/code/X3D/FIReader.cpp
+++ b/code/X3D/FIReader.cpp
@@ -654,8 +654,8 @@ public:
return currentNodeType;
}
- virtual int getAttributeCount() const /*override*/ {
- return static_cast<int>(attributes.size());
+ virtual unsigned int getAttributeCount() const /*override*/ {
+ return static_cast<unsigned int>(attributes.size());
}
virtual const char* getAttributeName(int idx) const /*override*/ {
@@ -1733,7 +1733,7 @@ public:
return reader->getNodeType();
}
- virtual int getAttributeCount() const /*override*/ {
+ virtual unsigned int getAttributeCount() const /*override*/ {
return reader->getAttributeCount();
}
diff --git a/include/assimp/irrXMLWrapper.h b/include/assimp/irrXMLWrapper.h
index 77cfd5e..ba584a0 100644
--- a/include/assimp/irrXMLWrapper.h
+++ b/include/assimp/irrXMLWrapper.h
@@ -133,8 +133,8 @@ public:
// ----------------------------------------------------------------------------------
//! Returns size of file in bytes
- virtual int getSize() {
- return (int)data.size();
+ virtual long getSize() const override {
+ return (long)data.size();
}
private:

90
externals/vcpkg/ports/assimp/portfile.cmake vendored Executable file
View File

@@ -0,0 +1,90 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO assimp/assimp
REF 8f0c6b04b2257a520aaab38421b2e090204b69df # v5.0.1
SHA512 59b213428e2f7494cb5da423e6b2d51556318f948b00cea420090d74d4f5f0f8970d38dba70cd47b2ef35a1f57f9e15df8597411b6cd8732b233395080147c0f
HEAD_REF master
PATCHES
build_fixes.patch
irrlicht.patch
)
file(REMOVE ${SOURCE_PATH}/cmake-modules/FindZLIB.cmake)
file(REMOVE ${SOURCE_PATH}/cmake-modules/FindIrrXML.cmake)
#file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/clipper) # https://github.com/assimp/assimp/issues/788
file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/poly2tri)
file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/zlib)
file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/gtest)
file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/irrXML)
file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/rapidjson)
file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/stb_image)
file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/zip)
file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/unzip)
file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/utf8cpp)
#file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/Open3DGC) #TODO
#file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/openddlparser) #TODO
set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS")
set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS")
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ASSIMP_BUILD_SHARED_LIBS)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS -DASSIMP_BUILD_TESTS=OFF
-DASSIMP_BUILD_ASSIMP_VIEW=OFF
-DASSIMP_BUILD_ZLIB=OFF
-DASSIMP_BUILD_SHARED_LIBS=${ASSIMP_BUILD_SHARED_LIBS}
-DASSIMP_BUILD_ASSIMP_TOOLS=OFF
-DASSIMP_INSTALL_PDB=OFF
-DSYSTEM_IRRXML=ON
-DIGNORE_GIT_HASH=ON
)
vcpkg_install_cmake()
if(VCPKG_TARGET_IS_WINDOWS)
set(VCVER vc140 vc141 vc142 )
set(CRT mt md)
set(DBG_NAMES)
set(REL_NAMES)
foreach(_ver IN LISTS VCVER)
foreach(_crt IN LISTS CRT)
list(APPEND DBG_NAMES assimp-${_ver}-${_crt}d)
list(APPEND REL_NAMES assimp-${_ver}-${_crt})
endforeach()
endforeach()
endif()
find_library(ASSIMP_REL NAMES assimp ${REL_NAMES} PATHS "${CURRENT_PACKAGES_DIR}/lib" NO_DEFAULT_PATH)
find_library(ASSIMP_DBG NAMES assimp assimpd ${DBG_NAMES} PATHS "${CURRENT_PACKAGES_DIR}/debug/lib" NO_DEFAULT_PATH)
if(ASSIMP_REL)
get_filename_component(ASSIMP_NAME_REL "${ASSIMP_REL}" NAME_WLE)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/assimp.pc" "-lassimp" "-l${ASSIMP_NAME_REL}")
endif()
if(ASSIMP_DBG)
get_filename_component(ASSIMP_NAME_DBG "${ASSIMP_DBG}" NAME_WLE)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/assimp.pc" "-lassimp" "-l${ASSIMP_NAME_DBG}")
endif()
vcpkg_fixup_cmake_targets()
vcpkg_fixup_pkgconfig() # Probably requires more fixing for static builds. See qt5-3d and the config changes below
vcpkg_copy_pdbs()
file(READ ${CURRENT_PACKAGES_DIR}/share/assimp/assimpConfig.cmake ASSIMP_CONFIG)
file(WRITE ${CURRENT_PACKAGES_DIR}/share/assimp/assimpConfig.cmake "
include(CMakeFindDependencyMacro)
find_dependency(ZLIB)
find_dependency(irrlicht CONFIG)
find_dependency(polyclipping CONFIG)
find_dependency(minizip CONFIG)
find_dependency(kubazip CONFIG)
find_dependency(poly2tri CONFIG)
find_dependency(utf8cpp CONFIG)
${ASSIMP_CONFIG}")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)

18
externals/vcpkg/ports/assimp/vcpkg.json vendored Executable file
View File

@@ -0,0 +1,18 @@
{
"name": "assimp",
"version-string": "5.0.1",
"port-version": 5,
"description": "The Open Asset import library",
"homepage": "https://github.com/assimp/assimp",
"dependencies": [
"irrlicht",
"kubazip",
"minizip",
"poly2tri",
"polyclipping",
"rapidjson",
"stb",
"utfcpp",
"zlib"
]
}