diff --git a/ports/assimp/CONTROL b/ports/assimp/CONTROL index 55680721b5c7b4..f5c89deeea9d53 100644 --- a/ports/assimp/CONTROL +++ b/ports/assimp/CONTROL @@ -1,6 +1,6 @@ Source: assimp Version: 5.0.1 -Port-Version: 3 +Port-Version: 4 Homepage: https://github.com/assimp/assimp Description: The Open Asset import library Build-Depends: zlib, rapidjson, minizip, stb, kubazip, irrlicht, polyclipping, utfcpp, poly2tri diff --git a/ports/assimp/build_fixes.patch b/ports/assimp/build_fixes.patch index 000a169030b242..7590aec96fec6f 100644 --- a/ports/assimp/build_fixes.patch +++ b/ports/assimp/build_fixes.patch @@ -1,627 +1,626 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index dcafb64..453fdff 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -130,6 +130,17 @@ OPTION ( IGNORE_GIT_HASH - OFF - ) - -+find_package(Stb REQUIRED) -+include_directories(${Stb_INCLUDE_DIR}) -+find_package(irrXML CONFIG REQUIRED) -+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 +241,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 +262,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 +360,17 @@ 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") -- -- # 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}Config") -+ set(NAMESPACE "assimp::") - - # 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}" -- ) -- - install( -- FILES "${PROJECT_CONFIG}" "${VERSION_CONFIG}" -+ FILES ${VERSION_CONFIG} - DESTINATION "${CONFIG_INSTALL_DIR}" - ) - -@@ -389,30 +379,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 +388,19 @@ ENDIF( BUILD_DOCS ) - - # Look for system installed irrXML - IF ( SYSTEM_IRRXML ) -- FIND_PACKAGE( IrrXML REQUIRED ) -+ FIND_PACKAGE( irrXML 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 +555,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 +599,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 - #else --# include -+# include - #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 - #else --# include "../contrib/poly2tri/poly2tri/poly2tri.h" -+# include - #endif - - namespace Assimp -diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt -index 55538d9..4f9b479 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 - $ - ) - --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 +1121,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 +1135,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 - #else --# include "../contrib/utf8cpp/source/utf8.h" -+# include - #endif - - // ------------------------------------------------------------------------------------------------ -@@ -364,8 +364,8 @@ void BaseImporter::ConvertToUTF8(std::vector& 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 --# include -+# include "../contrib/clipper/clipper.hpp" - #else --# include "../contrib/poly2tri/poly2tri/poly2tri.h" -+# include - # 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 --# include -+# include "../contrib/clipper/clipper.hpp" - #else --# include "../contrib/poly2tri/poly2tri/poly2tri.h" -+# include - # 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 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 - #else --# include -+# include - #endif - - #include -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 - #else --# include "../contrib/utf8cpp/source/utf8.h" -+# include - #endif - #include - -@@ -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 - #else - //# include "../contrib/ConvertUTF/ConvertUTF.h" --# include "../contrib/utf8cpp/source/utf8.h" -+# include - #endif - #include - #include -@@ -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 - #else --# include "../contrib/utf8cpp/source/utf8.h" -+# include - #endif - #include - #include -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/contrib/zip/src/miniz.h b/contrib/zip/src/miniz.h -index 2c27a94..8390dfd 100644 ---- a/contrib/zip/src/miniz.h -+++ b/contrib/zip/src/miniz.h -@@ -5944,7 +5944,7 @@ mz_bool mz_zip_writer_add_file(mz_zip_archive *pZip, const char *pArchive_name, - const char *pSrc_filename, const void *pComment, - mz_uint16 comment_size, mz_uint level_and_flags, - mz_uint32 ext_attributes) { -- mz_uint uncomp_crc32 = MZ_CRC32_INIT, level, num_alignment_padding_bytes; -+ mz_uint uncomp_crc32 = MZ_CRC32_INIT, level=0, num_alignment_padding_bytes; - mz_uint16 method = 0, dos_time = 0, dos_date = 0; - time_t file_modified_time; - mz_uint64 local_dir_header_ofs, cur_archive_file_ofs, uncomp_size = 0, -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 - - #define STB_IMAGE_IMPLEMENTATION --#include "contrib/stb_image/stb_image.h" -+#include - - #include - +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 + #else +-# include ++# include + #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 + #else +-# include "../contrib/poly2tri/poly2tri/poly2tri.h" ++# include + #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 + $ + ) + +-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 + #else +-# include "../contrib/utf8cpp/source/utf8.h" ++# include + #endif + + // ------------------------------------------------------------------------------------------------ +@@ -364,8 +364,8 @@ void BaseImporter::ConvertToUTF8(std::vector& 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 +-# include ++# include "../contrib/clipper/clipper.hpp" + #else +-# include "../contrib/poly2tri/poly2tri/poly2tri.h" ++# include + # 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 +-# include ++# include "../contrib/clipper/clipper.hpp" + #else +-# include "../contrib/poly2tri/poly2tri/poly2tri.h" ++# include + # 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 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 + #else +-# include ++# include + #endif + + #include +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 + #else +-# include "../contrib/utf8cpp/source/utf8.h" ++# include + #endif + #include + +@@ -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 + #else + //# include "../contrib/ConvertUTF/ConvertUTF.h" +-# include "../contrib/utf8cpp/source/utf8.h" ++# include + #endif + #include + #include +@@ -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 + #else +-# include "../contrib/utf8cpp/source/utf8.h" ++# include + #endif + #include + #include +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 + + #define STB_IMAGE_IMPLEMENTATION +-#include "contrib/stb_image/stb_image.h" ++#include + + #include + diff --git a/ports/assimp/irrlicht.patch b/ports/assimp/irrlicht.patch index 4ae91e06f20fb6..3457056c4f07cc 100644 --- a/ports/assimp/irrlicht.patch +++ b/ports/assimp/irrlicht.patch @@ -1,82 +1,61 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 453fdff..3a02956 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -132,7 +132,6 @@ OPTION ( IGNORE_GIT_HASH - - find_package(Stb REQUIRED) - include_directories(${Stb_INCLUDE_DIR}) --find_package(irrXML CONFIG REQUIRED) - find_package(utf8cpp CONFIG REQUIRED) - link_libraries(utf8cpp) - find_package(RapidJSON CONFIG REQUIRED) -@@ -388,7 +387,7 @@ 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 -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(attributes.size()); -+ virtual unsigned int getAttributeCount() const /*override*/ { -+ return static_cast(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: +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(attributes.size()); ++ virtual unsigned int getAttributeCount() const /*override*/ { ++ return static_cast(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: diff --git a/ports/assimp/portfile.cmake b/ports/assimp/portfile.cmake index 8c3b9dba219c00..3527124ce163d5 100644 --- a/ports/assimp/portfile.cmake +++ b/ports/assimp/portfile.cmake @@ -72,8 +72,8 @@ 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 " +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) diff --git a/ports/aws-sdk-cpp/CONTROL b/ports/aws-sdk-cpp/CONTROL index 32a2323e85e097..ca92ed9585c35e 100644 --- a/ports/aws-sdk-cpp/CONTROL +++ b/ports/aws-sdk-cpp/CONTROL @@ -1,6 +1,6 @@ Source: aws-sdk-cpp Version: 1.8.83 -Port-Version: 0 +Port-Version: 1 Homepage: https://github.com/aws/aws-sdk-cpp Description: AWS SDK for C++ Build-Depends: openssl (!uwp&!windows), curl (!uwp&!windows), aws-c-event-stream diff --git a/ports/aws-sdk-cpp/patch-relocatable-rpath.patch b/ports/aws-sdk-cpp/patch-relocatable-rpath.patch new file mode 100644 index 00000000000000..9c5a5a2c5d0b08 --- /dev/null +++ b/ports/aws-sdk-cpp/patch-relocatable-rpath.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a653e38628..76d6067646 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -142,7 +142,6 @@ else() + endif() + + # Add Linker search paths to RPATH so as to fix the problem where some linkers can't find cross-compiled dependent libraries in customer paths when linking executables. +-set(CMAKE_INSTALL_RPATH_USE_LINK_PATH true) + + # build third-party targets + if (BUILD_DEPS) diff --git a/ports/aws-sdk-cpp/portfile.cmake b/ports/aws-sdk-cpp/portfile.cmake index 02e81684e565c9..21aac718aba7a2 100644 --- a/ports/aws-sdk-cpp/portfile.cmake +++ b/ports/aws-sdk-cpp/portfile.cmake @@ -6,6 +6,7 @@ vcpkg_from_github( REF e98e5732ec7319051f162f7314ae361c85d0a8c9 # 1.8.83 SHA512 da540db60551be833ea0315dd93241f9740ab953ed5657c1c7a8c401ae52a4e75b116758420b0a8a4ebb79358dff8377f5e052b180b36f0af27a36003f28bd56 HEAD_REF master + PATCHES patch-relocatable-rpath.patch ) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" FORCE_SHARED_CRT) @@ -16,6 +17,11 @@ include(${CMAKE_CURRENT_LIST_DIR}/compute_build_only.cmake) string(REPLACE ";" "\\\\\\\\\\;" BUILD_ONLY "${BUILD_ONLY}") +if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) + set(rpath "@loader_path") +else() + set(rpath "\$ORIGIN") +endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} DISABLE_PARALLEL_CONFIGURE @@ -27,6 +33,7 @@ vcpkg_configure_cmake( -DCMAKE_DISABLE_FIND_PACKAGE_Git=TRUE -DBUILD_ONLY=${BUILD_ONLY} -DBUILD_DEPS=OFF + -DCMAKE_INSTALL_RPATH=${rpath} ) vcpkg_install_cmake() diff --git a/ports/ignition-transport8/CONTROL b/ports/ignition-transport8/CONTROL index 19c9cc552f249a..e28231c99864c1 100644 --- a/ports/ignition-transport8/CONTROL +++ b/ports/ignition-transport8/CONTROL @@ -1,4 +1,4 @@ Source: ignition-transport8 -Version: 8.0.0 +Version: 8.1.0 Build-Depends: cppzmq, ignition-cmake2, ignition-msgs5, libuuid (!windows&!uwp), protobuf, sqlite3, zeromq Description: Transport middleware for robotics diff --git a/ports/libarchive/CONTROL b/ports/libarchive/CONTROL index db28e8dd36771b..e15f1da44e99cd 100644 --- a/ports/libarchive/CONTROL +++ b/ports/libarchive/CONTROL @@ -1,6 +1,6 @@ Source: libarchive Version: 3.4.3 -Port-Version: 1 +Port-Version: 2 Homepage: https://github.com/libarchive/libarchive Description: Library for reading and writing streaming archives Build-Depends: zlib diff --git a/ports/libarchive/fix-dependencies.patch b/ports/libarchive/fix-dependencies.patch index a04f10fbf02dab..0d3213c6766f52 100644 --- a/ports/libarchive/fix-dependencies.patch +++ b/ports/libarchive/fix-dependencies.patch @@ -42,7 +42,7 @@ index 39b5333..8164d8f 100644 ELSE(LIBLZMA_FOUND) # LZMA not found and will not be used. ENDIF(LIBLZMA_FOUND) -@@ -555,22 +543,14 @@ IF(ENABLE_LZ4) +@@ -555,22 +543,15 @@ IF(ENABLE_LZ4) SET(LZ4_FIND_QUIETLY TRUE) ENDIF (LZ4_INCLUDE_DIR) @@ -56,6 +56,7 @@ index 39b5333..8164d8f 100644 ENDIF(ENABLE_LZ4) -IF(LZ4_FOUND) +IF(lz4_FOUND) ++ SET(HAVE_LZ4HC_H 1) SET(HAVE_LIBLZ4 1) SET(HAVE_LZ4_H 1) - CMAKE_PUSH_CHECK_STATE() # Save the state of the variables @@ -68,7 +69,7 @@ index 39b5333..8164d8f 100644 # # TODO: test for static library. # -@@ -586,25 +566,14 @@ IF(ENABLE_ZSTD) +@@ -586,25 +566,20 @@ IF(ENABLE_ZSTD) SET(ZSTD_FIND_QUIETLY TRUE) ENDIF (ZSTD_INCLUDE_DIR) @@ -93,8 +94,14 @@ index 39b5333..8164d8f 100644 - # TODO: test for static library. - # - CMAKE_POP_CHECK_STATE() -+ LIST(APPEND ADDITIONAL_LIBS libzstd) -+ SET(CMAKE_REQUIRED_LIBRARIES libzstd) ++ SET(HAVE_LIBZSTD 1) ++ IF(TARGET zstd::libzstd_shared) ++ LIST(APPEND ADDITIONAL_LIBS zstd::libzstd_shared) ++ SET(CMAKE_REQUIRED_LIBRARIES zstd::libzstd_shared) ++ ELSE(TARGET zstd::libzstd_shared) ++ LIST(APPEND ADDITIONAL_LIBS zstd::libzstd_static) ++ SET(CMAKE_REQUIRED_LIBRARIES zstd::libzstd_static) ++ ENDIF(TARGET zstd::libzstd_shared) ENDIF(ZSTD_FOUND) MARK_AS_ADVANCED(CLEAR ZSTD_INCLUDE_DIR) MARK_AS_ADVANCED(CLEAR ZSTD_LIBRARY) diff --git a/ports/libarchive/portfile.cmake b/ports/libarchive/portfile.cmake index d275081cc95728..df7b6ce779d59f 100644 --- a/ports/libarchive/portfile.cmake +++ b/ports/libarchive/portfile.cmake @@ -83,4 +83,5 @@ foreach(HEADER ${CURRENT_PACKAGES_DIR}/include/archive.h ${CURRENT_PACKAGES_DIR} file(WRITE ${HEADER} "${CONTENTS}") endforeach() +file(INSTALL ${CURRENT_PORT_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libarchive/usage b/ports/libarchive/usage new file mode 100644 index 00000000000000..57f9f2ba23248a --- /dev/null +++ b/ports/libarchive/usage @@ -0,0 +1,5 @@ +The package libarchive is compatible with built-in CMake targets: + + find_package(libarchive REQUIRED) + target_include_directories(main PRIVATE ${LibArchive_INCLUDE_DIRS}) + target_link_libraries(main PRIVATE ${LibArchive_LIBRARIES}) diff --git a/ports/libarchive/vcpkg-cmake-wrapper.cmake b/ports/libarchive/vcpkg-cmake-wrapper.cmake index 5e78381372ac37..006dde98dd5d87 100644 --- a/ports/libarchive/vcpkg-cmake-wrapper.cmake +++ b/ports/libarchive/vcpkg-cmake-wrapper.cmake @@ -32,14 +32,12 @@ if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") endif() endif() if(@ENABLE_ZSTD@) - find_library(ZSTD_LIBRARY_DEBUG NAMES zstdd zstd NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" NO_DEFAULT_PATH) - find_library(ZSTD_LIBRARY_RELEASE NAMES zstd NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH) - if(ZSTD_LIBRARY_RELEASE) - list(APPEND LibArchive_LIBRARIES optimized ${ZSTD_LIBRARY_RELEASE}) - endif() - if(ZSTD_LIBRARY_DEBUG) - list(APPEND LibArchive_LIBRARIES debug ${ZSTD_LIBRARY_DEBUG}) - endif() + find_package(zstd CONFIG REQUIRED) + if(TARGET zstd::libzstd_shared) + list(APPEND LibArchive_LIBRARIES zstd::libzstd_shared) + else(TARGET zstd::libzstd_shared) + list(APPEND LibArchive_LIBRARIES zstd::libzstd_static) + endif(TARGET zstd::libzstd_shared) endif() if(@ENABLE_OPENSSL@) find_package(OpenSSL REQUIRED) diff --git a/ports/libiconv/CONTROL b/ports/libiconv/CONTROL index e95414202ecfbb..329b3ebc17819d 100644 --- a/ports/libiconv/CONTROL +++ b/ports/libiconv/CONTROL @@ -1,5 +1,5 @@ Source: libiconv Version: 1.16 -Port-Version: 5 +Port-Version: 6 Homepage: https://www.gnu.org/software/libiconv/ Description: GNU Unicode text conversion diff --git a/ports/libiconv/vcpkg-cmake-wrapper.cmake b/ports/libiconv/vcpkg-cmake-wrapper.cmake index 472dd8082db8af..db39413da1f899 100644 --- a/ports/libiconv/vcpkg-cmake-wrapper.cmake +++ b/ports/libiconv/vcpkg-cmake-wrapper.cmake @@ -1,10 +1,15 @@ include(SelectLibraryConfigurations) _find_package(${ARGS}) -if(Iconv_FOUND) +if(Iconv_FOUND AND NOT Iconv_IS_BUILT_IN) find_library(CHARSET_LIBRARY_DEBUG NAMES charsetd libcharsetd charset libcharset NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" NO_DEFAULT_PATH) find_library(CHARSET_LIBRARY_RELEASE NAMES charset libcharset NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH) find_library(CHARSET_LIBRARY_RELEASE NAMES charset libcharset NAMES_PER_DIR PATH_SUFFIXES lib) select_library_configurations(CHARSET) - list(APPEND Iconv_LIBRARIES ${CHARSET_LIBRARIES}) + if(CHARSET_LIBRARIES) + list(APPEND Iconv_LIBRARIES ${CHARSET_LIBRARIES}) + if(TARGET Iconv::Iconv) + target_link_libraries(Iconv::Iconv INTERFACE ${CHARSET_LIBRARIES}) + endif() + endif() endif() diff --git a/ports/librsvg/CMakeLists.txt b/ports/librsvg/CMakeLists.txt index b3b3ca892e4763..d3b70ffe7e72e8 100644 --- a/ports/librsvg/CMakeLists.txt +++ b/ports/librsvg/CMakeLists.txt @@ -4,7 +4,7 @@ project(librsvg C) find_package(unofficial-cairo CONFIG REQUIRED) find_package(unofficial-libcroco CONFIG REQUIRED) find_package(unofficial-glib CONFIG REQUIRED) -find_package(LibXml2 REQUIRED) +find_package(libxml2 CONFIG REQUIRED) if(CMAKE_SYSTEM_NAME MATCHES "Windows") find_library(PANGO_LIB pango-1.0) find_library(PANGO_CAIRO_LIB pangocairo-1.0) @@ -100,6 +100,7 @@ add_library(rsvg-2.40 ${LIBRSVG_SOURCES}) add_library(pixbufloader-svg ${PIXBUFLOADERSVG_SOURCES}) target_compile_definitions(rsvg-2.40 PRIVATE -DRSVG_COMPILATION -D_CRT_SECURE_NO_WARNINGS -DSRCDIR="${CMAKE_CURRENT_SOURCE_DIR}") +target_include_directories(rsvg-2.40 PRIVATE ${LIBXML2_INCLUDE_DIRS}) target_include_directories(pixbufloader-svg PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) target_compile_definitions(pixbufloader-svg PRIVATE diff --git a/ports/librsvg/CONTROL b/ports/librsvg/CONTROL index 380186c6eccec0..b26ed9d696424a 100644 --- a/ports/librsvg/CONTROL +++ b/ports/librsvg/CONTROL @@ -1,5 +1,6 @@ Source: librsvg -Version: 2.40.20-2 +Version: 2.40.20 +Port-Version: 3 Homepage: https://gitlab.gnome.org/GNOME/librsvg Description: A small library to render Scalable Vector Graphics (SVG) Build-Depends: cairo, pango, gdk-pixbuf, libcroco \ No newline at end of file diff --git a/ports/libxml2/CMakeLists.txt b/ports/libxml2/CMakeLists.txt deleted file mode 100644 index a7118bec923db0..00000000000000 --- a/ports/libxml2/CMakeLists.txt +++ /dev/null @@ -1,161 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(libxml2 C) - -option(INSTALL_HEADERS "Install public header files" ON) - -set(CMAKE_SHARED_LIBRARY_PREFIX) -set(CMAKE_STATIC_LIBRARY_PREFIX) - -find_package(ZLIB REQUIRED) -find_package(LibLZMA REQUIRED) -find_package(unofficial-iconv REQUIRED) - -file(GLOB SOURCES *.c) -list(FILTER SOURCES EXCLUDE REGEX "/(run|test|trio)[^/]*$") -list(FILTER SOURCES EXCLUDE REGEX "xml(lint|catalog).c$") -list(FILTER SOURCES EXCLUDE REGEX "rngparser\.c$") - -# Generate xmlexports with fixed definition of LIBXML_STATIC -file(READ include/libxml/xmlexports.h XMLEXPORTS_H) -if(BUILD_SHARED_LIBS) - string(REPLACE "!defined(LIBXML_STATIC)" "1" XMLEXPORTS_H "${XMLEXPORTS_H}") -else() - string(REPLACE "!defined(LIBXML_STATIC)" "0" XMLEXPORTS_H "${XMLEXPORTS_H}") -endif() -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/xmlexports.h "${XMLEXPORTS_H}") - -if(CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - configure_file(include/win32config.h config.h COPYONLY) -elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") - configure_file("${PORT_DIR}/config.osx.h" config.h COPYONLY) -elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") - configure_file("${PORT_DIR}/config.linux.h" config.h COPYONLY) -else() - message(FATAL_ERROR "No config.h checked in for the target platform. Please run ./configure for libxml2 and add the resulting config.h into this port.") -endif() - -message(STATUS "Reading version info from configure.ac") - -file(STRINGS "configure.ac" - _libxml_version_defines REGEX "LIBXML_(MAJOR|MINOR|MICRO)_VERSION=([0-9]+)$") - -foreach(ver ${_libxml_version_defines}) - if(ver MATCHES "LIBXML_(MAJOR|MINOR|MICRO)_VERSION=([0-9]+)$") - set(LIBXML_${CMAKE_MATCH_1}_VERSION "${CMAKE_MATCH_2}" CACHE INTERNAL "") - endif() -endforeach() - -set(VERSION ${LIBXML_MAJOR_VERSION}.${LIBXML_MINOR_VERSION}.${LIBXML_MICRO_VERSION}) -math(EXPR LIBXML_VERSION_NUMBER - "${LIBXML_MAJOR_VERSION} * 10000 + ${LIBXML_MINOR_VERSION} * 100 + ${LIBXML_MICRO_VERSION}") - -message(STATUS "LIBXML_MAJOR_VERSION: ${LIBXML_MAJOR_VERSION}") -message(STATUS "LIBXML_MINOR_VERSION: ${LIBXML_MINOR_VERSION}") -message(STATUS "LIBXML_MICRO_VERSION: ${LIBXML_MICRO_VERSION}") -message(STATUS "VERSION: ${VERSION}") -message(STATUS "LIBXML_VERSION_NUMBER: ${LIBXML_VERSION_NUMBER}") - -set(WITH_TRIO 0) -set(WITH_THREADS 1) -set(WITH_THREAD_ALLOC 0) -set(WITH_TREE 1) -set(WITH_OUTPUT 1) -set(WITH_PUSH 1) -set(WITH_READER 1) -set(WITH_PATTERN 1) -set(WITH_WRITER 1) -set(WITH_SAX1 1) -set(WITH_FTP 1) -set(WITH_HTTP 1) -set(WITH_VALID 1) -set(WITH_HTML 1) -set(WITH_LEGACY 1) -set(WITH_C14N 1) -set(WITH_CATALOG 1) -set(WITH_DOCB 1) -set(WITH_XPATH 1) -set(WITH_XPTR 1) -set(WITH_XINCLUDE 1) -set(WITH_ICONV 1) -set(WITH_ICU 0) -set(WITH_ISO8859X 1) -set(WITH_DEBUG 1) -set(WITH_MEM_DEBUG 0) -set(WITH_RUN_DEBUG 0) -set(WITH_REGEXPS 1) -set(WITH_SCHEMAS 1) -set(WITH_SCHEMATRON 1) -set(WITH_MODULES 1) -set(MODULE_EXTENSION ".so") -set(WITH_ZLIB 1) -set(WITH_LZMA 1) - -if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - set(WITH_CATALOG 0) - set(WITH_MODULES 0) -endif() - -message(STATUS "Generating xmlversion.h") - -configure_file(include/libxml/xmlversion.h.in include/libxml/xmlversion.h) - -add_library(libxml2 ${SOURCES}) -if(INSTALL_HEADERS) - file(GLOB PUBLIC_HEADERS include/libxml/*.h ${CMAKE_CURRENT_BINARY_DIR}/include/libxml/xmlversion.h) - list(FILTER PUBLIC_HEADERS EXCLUDE REGEX "xmlexports\\.h$") - list(APPEND PUBLIC_HEADERS ${CMAKE_CURRENT_BINARY_DIR}/xmlexports.h) - - set_target_properties(libxml2 PROPERTIES PUBLIC_HEADER "${PUBLIC_HEADERS}") -endif() -target_include_directories(libxml2 PRIVATE ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/include include ${LIBLZMA_INCLUDE_DIRS}) -target_link_libraries(libxml2 PRIVATE - unofficial::iconv::libcharset unofficial::iconv::libiconv - ZLIB::ZLIB - ${LIBLZMA_LIBRARIES} -) -if(CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - target_include_directories(libxml2 PRIVATE win32/vc10) - target_link_libraries(libxml2 PRIVATE - wsock32.lib - ws2_32.lib - ) - target_compile_definitions(libxml2 PRIVATE - -DHAVE_WIN32_THREADS - _WINSOCK_DEPRECATED_NO_WARNINGS - ) - target_sources(libxml2 PRIVATE win32/libxml2.rc) - set_source_files_properties(win32/libxml2.rc PROPERTIES COMPILE_FLAGS "-DLIBXML_MAJOR_VERSION=${LIBXML_MAJOR_VERSION} -DLIBXML_MINOR_VERSION=${LIBXML_MINOR_VERSION} -DLIBXML_MICRO_VERSION=${LIBXML_MICRO_VERSION} -DLIBXML_DOTTED_VERSION=\\\"${VERSION}\\\"") -endif() - -target_compile_definitions(libxml2 PRIVATE - -D_CRT_SECURE_NO_DEPRECATE - -D_CRT_NONSTDC_NO_DEPRECATE - -D_REENTRANT - -DNOLIBTOOL - -DHAVE_ZLIB_H - -DHAVE_LZMA_H -) -if(NOT BUILD_SHARED_LIBS) - target_compile_definitions(libxml2 PRIVATE -DLIBXML_STATIC) -endif() - -set(TARGET_INSTALL_OPTIONS) -if(INSTALL_HEADERS) - set(TARGET_INSTALL_OPTIONS PUBLIC_HEADER DESTINATION include/libxml) -endif() - -install(TARGETS libxml2 - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - ${TARGET_INSTALL_OPTIONS} -) - -# pkgconfig -set(prefix ${CMAKE_INSTALL_PREFIX}) -set(exec_prefix "\${prefix}") -set(libdir ${prefix}/${CMAKE_INSTALL_LIBDIR}) -set(includedir ${prefix}/${CMAKE_INSTALL_INCLUDEDIR}) - -configure_file(libxml-2.0.pc.in libxml-2.0.pc @ONLY) -install(FILES ${CMAKE_BINARY_DIR}/libxml-2.0.pc DESTINATION lib/pkgconfig) \ No newline at end of file diff --git a/ports/libxml2/CONTROL b/ports/libxml2/CONTROL index 462ecfec676d6e..6e0a2899fc71b9 100644 --- a/ports/libxml2/CONTROL +++ b/ports/libxml2/CONTROL @@ -1,6 +1,5 @@ Source: libxml2 -Version: 2.9.10 -Port-Version: 1 +Version: 2020-11-16 Homepage: https://xmlsoft.org/ Description: Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform) Build-Depends: zlib, libiconv, liblzma diff --git a/ports/libxml2/RemoveIncludeFromWindowsRcFile.patch b/ports/libxml2/RemoveIncludeFromWindowsRcFile.patch deleted file mode 100644 index ce5a3fcbe0b2d1..00000000000000 --- a/ports/libxml2/RemoveIncludeFromWindowsRcFile.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff --git a/win32/libxml2.rc b/win32/libxml2.rc -index c774a5ee..08e2da1e 100644 ---- a/win32/libxml2.rc -+++ b/win32/libxml2.rc -@@ -1,5 +1,4 @@ - #include --#include "rcVersion.h" - - VS_VERSION_INFO VERSIONINFO - FILEVERSION LIBXML_MAJOR_VERSION,LIBXML_MINOR_VERSION,LIBXML_MICRO_VERSION,0 diff --git a/ports/libxml2/config.linux.h b/ports/libxml2/config.linux.h deleted file mode 100644 index d029e95cfa5d11..00000000000000 --- a/ports/libxml2/config.linux.h +++ /dev/null @@ -1,56 +0,0 @@ -#define GETHOSTBYNAME_ARG_CAST /**/ -#define HAVE_ANSIDECL_H 1 -#define HAVE_ARPA_INET_H 1 -#define HAVE_ARPA_NAMESER_H 1 -#define HAVE_CTYPE_H 1 -#define HAVE_DIRENT_H 1 -#define HAVE_DLFCN_H 1 -#define HAVE_DLOPEN /**/ -#define HAVE_ERRNO_H 1 -#define HAVE_FCNTL_H 1 -#define HAVE_FLOAT_H 1 -#define HAVE_FTIME 1 -#define HAVE_GETADDRINFO /**/ -#define HAVE_GETTIMEOFDAY 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_ISASCII 1 -#define HAVE_LIMITS_H 1 -#define HAVE_LOCALTIME 1 -#define HAVE_LZMA_H 1 -#define HAVE_MALLOC_H 1 -#define HAVE_MATH_H 1 -#define HAVE_MMAP 1 -#define HAVE_NETDB_H 1 -#define HAVE_NETINET_IN_H 1 -#define HAVE_POLL_H 1 -#define HAVE_PTHREAD_H /**/ -#define HAVE_PUTENV 1 -#define HAVE_RAND 1 -#define HAVE_RAND_R 1 -#define HAVE_RESOLV_H 1 -#define HAVE_SIGNAL_H 1 -#define HAVE_SRAND 1 -#define HAVE_STAT 1 -#define HAVE_STDARG_H 1 -#define HAVE_STDINT_H 1 -#define HAVE_STDLIB_H 1 -#define HAVE_STRFTIME 1 -#define HAVE_STRINGS_H 1 -#define HAVE_STRING_H 1 -#define HAVE_SYS_MMAN_H 1 -#define HAVE_SYS_SELECT_H 1 -#define HAVE_SYS_SOCKET_H 1 -#define HAVE_SYS_STAT_H 1 -#define HAVE_SYS_TIMEB_H 1 -#define HAVE_SYS_TIME_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_TIME 1 -#define HAVE_TIME_H 1 -#define HAVE_UNISTD_H 1 -#define HAVE_VA_COPY 1 -#define HAVE_ZLIB_H 1 -#define ICONV_CONST -#define SEND_ARG2_CAST /**/ -#define SUPPORT_IP6 /**/ -#define VA_LIST_IS_ARRAY 1 -#define XML_SOCKLEN_T socklen_t diff --git a/ports/libxml2/config.osx.h b/ports/libxml2/config.osx.h deleted file mode 100644 index 95d83edc1fd232..00000000000000 --- a/ports/libxml2/config.osx.h +++ /dev/null @@ -1,54 +0,0 @@ -#define GETHOSTBYNAME_ARG_CAST /**/ -#define HAVE_ARPA_INET_H 1 -#define HAVE_ARPA_NAMESER_H 1 -#define HAVE_CTYPE_H 1 -#define HAVE_DIRENT_H 1 -#define HAVE_DLFCN_H 1 -#define HAVE_DLOPEN /**/ -#define HAVE_ERRNO_H 1 -#define HAVE_FCNTL_H 1 -#define HAVE_FLOAT_H 1 -#define HAVE_FTIME 1 -#define HAVE_GETADDRINFO /**/ -#define HAVE_GETTIMEOFDAY 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_ISASCII 1 -#define HAVE_LIMITS_H 1 -#define HAVE_LOCALTIME 1 -#define HAVE_LZMA_H 1 -#define HAVE_MATH_H 1 -#define HAVE_MMAP 1 -#define HAVE_NETDB_H 1 -#define HAVE_NETINET_IN_H 1 -#define HAVE_POLL_H 1 -#define HAVE_PTHREAD_H /**/ -#define HAVE_PUTENV 1 -#define HAVE_RAND 1 -#define HAVE_RAND_R 1 -#define HAVE_RESOLV_H 1 -#define HAVE_SIGNAL_H 1 -#define HAVE_SRAND 1 -#define HAVE_STAT 1 -#define HAVE_STDARG_H 1 -#define HAVE_STDINT_H 1 -#define HAVE_STDLIB_H 1 -#define HAVE_STRFTIME 1 -#define HAVE_STRINGS_H 1 -#define HAVE_STRING_H 1 -#define HAVE_SYS_MMAN_H 1 -#define HAVE_SYS_SELECT_H 1 -#define HAVE_SYS_SOCKET_H 1 -#define HAVE_SYS_STAT_H 1 -#define HAVE_SYS_TIMEB_H 1 -#define HAVE_SYS_TIME_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_TIME 1 -#define HAVE_TIME_H 1 -#define HAVE_UNISTD_H 1 -#define HAVE_VA_COPY 1 -#define HAVE_ZLIB_H 1 -#define ICONV_CONST -#define SEND_ARG2_CAST /**/ -#define SUPPORT_IP6 /**/ -#define VA_LIST_IS_ARRAY 1 -#define XML_SOCKLEN_T socklen_t diff --git a/ports/libxml2/fix-dependencies.patch b/ports/libxml2/fix-dependencies.patch new file mode 100644 index 00000000000000..c641db0e1c696a --- /dev/null +++ b/ports/libxml2/fix-dependencies.patch @@ -0,0 +1,112 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1686344..ee934e7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -21,12 +21,24 @@ set(LIBXML_VERSION_STRING "${LIBXML_VERSION}") + set(LIBXML_VERSION_EXTRA "") + set(LIBXML_VERSION_NUMBER ${LIBXML_VERSION}) + +-find_package(Iconv) +-find_package(ICU) +-find_package(LibLZMA) +-find_package(Python COMPONENTS Interpreter Development) +-find_package(Threads) +-find_package(ZLIB) ++if (LIBXML2_WITH_ICONV) ++find_package(Iconv REQUIRED) ++endif() ++if (LIBXML2_WITH_ICU) ++find_package(ICU REQUIRED) ++endif() ++if (LIBXML2_WITH_LZMA) ++find_package(LibLZMA CONFIG REQUIRED) ++endif() ++if (LIBXML2_WITH_PYTHON) ++find_package(Python COMPONENTS Interpreter Development REQUIRED) ++endif() ++if (LIBXML2_WITH_THREADS) ++find_package(Threads REQUIRED) ++endif() ++if (LIBXML2_WITH_ZLIB) ++find_package(ZLIB REQUIRED) ++endif() + + option(BUILD_SHARED_LIBS "Build shared libraries" ON) + set(LIBXML2_WITH_AUTOMATA ON) +@@ -39,27 +51,9 @@ option(LIBXML2_WITH_FTP "Add the FTP support" ON) + option(LIBXML2_WITH_HTML "Add the HTML support" ON) + option(LIBXML2_WITH_HTTP "Add the HTTP support" ON) + +-if(Iconv_FOUND) +- option(LIBXML2_WITH_ICONV "Add ICONV support" ON) +-else() +- set(LIBXML2_WITH_ICONV OFF) +-endif() +- +-if(ICU_FOUND) +- option(LIBXML2_WITH_ICU "Add ICU support" OFF) +-else() +- set(LIBXML2_WITH_ICU OFF) +-endif() +- + option(LIBXML2_WITH_ISO8859X "Add ISO8859X support if no iconv" ON) + option(LIBXML2_WITH_LEGACY "Add deprecated APIs for compatibility" ON) + +-if(LIBLZMA_FOUND) +- option(LIBXML2_WITH_LZMA "Use liblzma" ON) +-else() +- set(LIBXML2_WITH_LZMA OFF) +-endif() +- + option(LIBXML2_WITH_MEM_DEBUG "Add the memory debugging module" OFF) + option(LIBXML2_WITH_MODULES "Add the dynamic modules support" ON) + option(LIBXML2_WITH_OUTPUT "Add the serialization support" ON) +@@ -82,12 +76,6 @@ option(LIBXML2_WITH_SCHEMAS "Add Relax-NG and Schemas support" ON) + option(LIBXML2_WITH_SCHEMATRON "Add Schematron support" ON) + option(LIBXML2_WITH_TESTS "Build tests" ON) + +-if(Threads_FOUND) +- option(LIBXML2_WITH_THREADS "Add multithread support" ON) +-else() +- set(LIBXML2_WITH_THREADS OFF) +-endif() +- + option(LIBXML2_WITH_THREAD_ALLOC "Add per-thread memory" OFF) + option(LIBXML2_WITH_TREE "Add the DOM like tree manipulation APIs" ON) + set(LIBXML2_WITH_TRIO OFF) +@@ -98,12 +86,6 @@ option(LIBXML2_WITH_XINCLUDE "Add the XInclude support" ON) + option(LIBXML2_WITH_XPATH "Add the XPATH support" ON) + option(LIBXML2_WITH_XPTR "Add the XPointer support" ON) + +-if(ZLIB_FOUND) +- option(LIBXML2_WITH_ZLIB "Use libz" ON) +-else() +- set(LIBXML2_WITH_ZLIB OFF) +-endif() +- + set(LIBXML2_XMLCONF_WORKING_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH "Working directory for XML Conformance Test Suite") + + foreach(VARIABLE IN ITEMS WITH_AUTOMATA WITH_C14N WITH_CATALOG WITH_DEBUG WITH_DOCB WITH_EXPR WITH_FTP WITH_HTML WITH_HTTP WITH_ICONV WITH_ICU WITH_ISO8859X WITH_LEGACY WITH_LZMA WITH_MEM_DEBUG WITH_MODULES WITH_OUTPUT WITH_PATTERN WITH_PUSH WITH_READER WITH_REGEXPS WITH_RUN_DEBUG WITH_SAX1 WITH_SCHEMAS WITH_SCHEMATRON WITH_THREADS WITH_THREAD_ALLOC WITH_TREE WITH_TRIO WITH_UNICODE WITH_VALID WITH_WRITER WITH_XINCLUDE WITH_XPATH WITH_XPTR WITH_ZLIB) +diff --git a/libxml2-config.cmake.cmake.in b/libxml2-config.cmake.cmake.in +index 6e6fc7a..3e06a3f 100644 +--- a/libxml2-config.cmake.cmake.in ++++ b/libxml2-config.cmake.cmake.in +@@ -74,15 +73,13 @@ if(NOT @BUILD_SHARED_LIBS@) + endif() + + if(@LIBXML2_WITH_LZMA@) +- find_dependency(LibLZMA) +- list(APPEND LIBXML2_LIBRARIES ${LIBLZMA_LIBRARIES}) +- list(APPEND LIBXML2_INCLUDE_DIRS ${LIBLZMA_INCLUDE_DIRS}) ++ find_dependency(LibLZMA CONFIG) ++ list(APPEND LIBXML2_LIBRARIES LibLZMA::LibLZMA) + endif() + + if(@LIBXML2_WITH_ZLIB@) + find_dependency(ZLIB) +- list(APPEND LIBXML2_LIBRARIES ${ZLIB_LIBRARIES}) +- list(APPEND LIBXML2_INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS}) ++ list(APPEND LIBXML2_LIBRARIES ZLIB::ZLIB) + endif() + + if(UNIX) diff --git a/ports/libxml2/fix-docs-path.patch b/ports/libxml2/fix-docs-path.patch new file mode 100644 index 00000000000000..0e04ddc9171c05 --- /dev/null +++ b/ports/libxml2/fix-docs-path.patch @@ -0,0 +1,19 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index db46dc6..1686344 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -659,10 +659,10 @@ if(LIBXML2_WITH_PYTHON) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml2.py DESTINATION ${LIBXML2_PYTHON_INSTALL_DIR} COMPONENT runtime) + endif() + +-install(FILES libxml.3 DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 COMPONENT documentation) +-install(FILES doc/xmlcatalog.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation) +-install(FILES doc/xmllint.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation) +-install(DIRECTORY doc/ DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/libxml2 COMPONENT documentation PATTERN Makefile.* EXCLUDE) ++install(FILES libxml.3 DESTINATION ${CMAKE_INSTALL_MANDIR}/libxml2/man3 COMPONENT documentation) ++install(FILES doc/xmlcatalog.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/libxml2/man1 COMPONENT documentation) ++install(FILES doc/xmllint.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/libxml2/man1 COMPONENT documentation) ++install(DIRECTORY doc/ DESTINATION ${CMAKE_INSTALL_DATADIR}/libxml2/doc/libxml2 COMPONENT documentation PATTERN Makefile.* EXCLUDE) + + configure_package_config_file( + libxml2-config.cmake.cmake.in libxml2-config.cmake diff --git a/ports/libxml2/fix-uwp-build.patch b/ports/libxml2/fix-uwp-build.patch new file mode 100644 index 00000000000000..59cf87a6d9c2a8 --- /dev/null +++ b/ports/libxml2/fix-uwp-build.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c918125..db46dc6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -422,6 +422,10 @@ if(LIBXML2_WITH_TRIO) + list(APPEND LIBXML2_SRCS trio.c triostr.c) + endif() + ++if (MSVC) ++ add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS) ++endif() ++ + add_library(LibXml2 ${LIBXML2_HDRS} ${LIBXML2_SRCS}) + + if(LIBXML2_WITH_THREADS) diff --git a/ports/libxml2/portfile.cmake b/ports/libxml2/portfile.cmake index 43aae1de5a4b20..3d48ada698d0a8 100644 --- a/ports/libxml2/portfile.cmake +++ b/ports/libxml2/portfile.cmake @@ -1,31 +1,42 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO GNOME/libxml2 - REF v2.9.10 - SHA512 de8d7c6c90f9d0441747deec320c4887faee1fd8aff9289115caf7ce51ab73b6e2c4628ae7eaad4a33a64561d23a92fd5e8a5afa7fa74183bdcd9a7b06bc67f1 + REF 7c06d99e1f4f853e3c5b307c0dc79c8a32a09855 + SHA512 8879649231ab5288497b9ed56cfed3ffb288a689c739acfd7094ddefdd0e4c140c34ebc821d0ebf70322bddb8fb34b04af87ebae87ae2b235bf318945dcf9dc2 HEAD_REF master PATCHES - RemoveIncludeFromWindowsRcFile.patch + fix-uwp-build.patch + fix-docs-path.patch + fix-dependencies.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS -DPORT_DIR=${CMAKE_CURRENT_LIST_DIR} - OPTIONS_DEBUG -DINSTALL_HEADERS=OFF + OPTIONS + -DLIBXML2_WITH_ZLIB=ON + -DLIBXML2_WITH_ICONV=ON + -DLIBXML2_WITH_LZMA=ON + -DLIBXML2_WITH_ZLIB=ON + -DLIBXML2_WITH_ICU=OFF + -DLIBXML2_WITH_THREADS=ON + -DLIBXML2_WITH_PYTHON=OFF + -DLIBXML2_WITH_PROGRAMS=ON + -DLIBXML2_WITH_RUN_DEBUG=OFF + -DLIBXML2_WITH_TESTS=OFF + OPTIONS_DEBUG + -DLIBXML2_WITH_DEBUG=ON ) vcpkg_install_cmake() -vcpkg_fixup_pkgconfig() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libxml2-2.9.10 TARGET_PATH share/libxml2) vcpkg_copy_pdbs() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -endif() +vcpkg_copy_tools(TOOL_NAMES xmlcatalog xmllint AUTO_CLEAN) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +configure_file(${CURRENT_PORT_DIR}/usage ${CURRENT_PACKAGES_DIR}/share/${PORT}/usage @ONLY) file(INSTALL ${SOURCE_PATH}/Copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file diff --git a/ports/libxml2/usage b/ports/libxml2/usage index fd94c4b4e442da..084f63645f3dba 100644 --- a/ports/libxml2/usage +++ b/ports/libxml2/usage @@ -1,5 +1,5 @@ -The package libxml2 is compatible with built-in CMake targets: +The package libxml2:@TARGET_TRIPLET@ provides CMake targets: - find_package(LibXml2 REQUIRED) - target_include_directories(main PRIVATE ${LIBXML2_INCLUDE_DIR}) + find_package(libxml2 CONFIG REQUIRED) + target_include_directories(main PRIVATE ${LIBXML2_INCLUDE_DIRS}) target_link_libraries(main PRIVATE ${LIBXML2_LIBRARIES}) diff --git a/ports/libxml2/vcpkg-cmake-wrapper.cmake b/ports/libxml2/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index 94ef458031f311..00000000000000 --- a/ports/libxml2/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,26 +0,0 @@ -_find_package(${ARGS}) -if(LibXml2_FOUND) - find_package(LibLZMA) - find_package(ZLIB) - include(SelectLibraryConfigurations) - find_library(ICONV_LIBRARY_DEBUG NAMES iconvd libiconvd iconv libiconv NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_INSTALLED_DIR}/debug" NO_DEFAULT_PATH) - find_library(ICONV_LIBRARY_RELEASE NAMES iconv libiconv NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH) - find_library(ICONV_LIBRARY_RELEASE NAMES iconv libiconv NAMES_PER_DIR PATH_SUFFIXES lib) - find_library(CHARSET_LIBRARY_DEBUG NAMES charsetd libcharsetd charset libcharset NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" NO_DEFAULT_PATH) - find_library(CHARSET_LIBRARY_RELEASE NAMES charset libcharset NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH) - find_library(CHARSET_LIBRARY_RELEASE NAMES charset libcharset NAMES_PER_DIR PATH_SUFFIXES lib) - select_library_configurations(ICONV) - select_library_configurations(CHARSET) - list(APPEND LIBXML2_LIBRARIES ${LIBLZMA_LIBRARIES} ${ZLIB_LIBRARIES}) - if(CMAKE_SYSTEM_NAME STREQUAL "Linux") - list(APPEND LIBXML2_LIBRARIES m) - else() - list(APPEND LIBXML2_LIBRARIES ${ICONV_LIBRARIES} ${CHARSET_LIBRARIES}) - if(TARGET LibXml2::LibXml2) - target_link_libraries(LibXml2::LibXml2 INTERFACE ${ICONV_LIBRARIES} ${CHARSET_LIBRARIES}) - endif() - endif() - if(CMAKE_SYSTEM_NAME STREQUAL "Windows") - list(APPEND LIBXML2_LIBRARIES ws2_32) - endif() -endif() diff --git a/ports/libxmlmm/CMakeLists.txt b/ports/libxmlmm/CMakeLists.txt index 721641a64be0bc..adced07547277d 100644 --- a/ports/libxmlmm/CMakeLists.txt +++ b/ports/libxmlmm/CMakeLists.txt @@ -4,7 +4,7 @@ project(libxmlmm CXX) set(CMAKE_SHARED_LIBRARY_PREFIX) set(CMAKE_STATIC_LIBRARY_PREFIX) -find_package(LibXml2 REQUIRED) +find_package(libxml2 CONFIG REQUIRED) set(HEADERS_LIBXMLMM libxmlmm/Attribute.h @@ -38,7 +38,7 @@ set(SOURCES_LIBXMLMM ) add_library(libxmlmm ${SOURCES_LIBXMLMM}) -include_directories(${LIBXML2_INCLUDE_DIR}) +include_directories(${LIBXML2_INCLUDE_DIRS}) target_link_libraries (libxmlmm ${LIBXML2_LIBRARIES}) set_target_properties(libxmlmm PROPERTIES diff --git a/ports/libxmlmm/CONTROL b/ports/libxmlmm/CONTROL index a943bcf289eec9..18d16ee4104e6b 100644 --- a/ports/libxmlmm/CONTROL +++ b/ports/libxmlmm/CONTROL @@ -1,5 +1,6 @@ Source: libxmlmm Version: 0.6.0 +Port-Version: 1 Homepage: https://github.com/rioki/libxmlmm Description: Libxmlmm is a C++ wrapper for libxml 2.0 that only relies on standard C++ and libxml2. Build-Depends: libxml2 diff --git a/ports/libxslt/0003-Fix-libxml2.patch b/ports/libxslt/0003-Fix-libxml2.patch new file mode 100644 index 00000000000000..c016ddd4a863a2 --- /dev/null +++ b/ports/libxslt/0003-Fix-libxml2.patch @@ -0,0 +1,41 @@ +diff --git a/win32/Makefile.msvc b/win32/Makefile.msvc +index 0bb2d8a..1bf3e70 100644 +--- a/win32/Makefile.msvc ++++ b/win32/Makefile.msvc +@@ -63,7 +63,9 @@ LDFLAGS = $(LDFLAGS) /LIBPATH:$(BINDIR) /LIBPATH:$(LIBPREFIX) + LIBS = wsock32.lib libiconv.lib libcharset.lib + !if "$(DEBUG)" == "1" + LIBS = $(LIBS) zlibd.lib lzmad.lib ++XML2LIB = libxml2d.lib + !else ++XML2LIB = libxml2.lib + LIBS = $(LIBS) zlib.lib lzma.lib + !endif + +@@ -249,7 +251,7 @@ $(BINDIR)\$(XSLT_SO) : $(BINDIR) $(XSLT_OBJS) $(XSLT_INTDIR)\$(XSLT_DEF) + $(LD) $(LDFLAGS) /DLL \ + /VERSION:$(LIBXSLT_MAJOR_VERSION).$(LIBXSLT_MINOR_VERSION) \ + /IMPLIB:$(BINDIR)\$(XSLT_IMP) /OUT:$(BINDIR)\$(XSLT_SO) \ +- $(XSLT_OBJS) $(LIBS) libxml2.lib ++ $(XSLT_OBJS) $(LIBS) $(XML2LIB) + @$(_VC_MANIFEST_EMBED_DLL) + + #$(BINDIR)\$(XSLT_SO) : $(BINDIR) $(XSLT_OBJS) $(XSLT_INTDIR)\$(XSLT_DEF) +@@ -295,7 +297,7 @@ $(BINDIR)\$(EXSLT_SO) : $(BINDIR) $(EXSLT_OBJS) $(EXSLT_INTDIR)\$(EXSLT_DEF) lib + $(LD) $(LDFLAGS) /DLL \ + /VERSION:$(LIBEXSLT_MAJOR_VERSION).$(LIBEXSLT_MINOR_VERSION) \ + /IMPLIB:$(BINDIR)\$(EXSLT_IMP) /OUT:$(BINDIR)\$(EXSLT_SO) \ +- $(EXSLT_OBJS) $(XSLT_IMP) $(LIBS) libxml2.lib ++ $(EXSLT_OBJS) $(XSLT_IMP) $(LIBS) $(XML2LIB) + @$(_VC_MANIFEST_EMBED_DLL) + + #$(BINDIR)\$(EXSLT_SO) : $(BINDIR) $(EXSLT_OBJS) $(EXSLT_INTDIR)\$(EXSLT_DEF) libxslt +@@ -323,7 +325,7 @@ APPLIBS = $(LIBS) libxml2.lib + $(LD) $(LDFLAGS) /OUT:$@ $(XSLT_A) $(EXSLT_A) $(APPLIBS) $(UTILS_INTDIR)\$(