diff --git a/ports/lib3mf/fix-dependency-resolution-required.patch b/ports/lib3mf/fix-dependency-resolution-required.patch new file mode 100644 index 00000000000000..765d9d000373e3 --- /dev/null +++ b/ports/lib3mf/fix-dependency-resolution-required.patch @@ -0,0 +1,40 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -267,16 +267,8 @@ + set(_lib3mf_external_link_visibility PUBLIC) + endif() + +- find_package(libzip CONFIG QUIET) +- if (TARGET libzip::zip) +- target_link_libraries(${PROJECT_NAME} ${_lib3mf_external_link_visibility} libzip::zip) +- else() +- find_package(PkgConfig REQUIRED) +- pkg_check_modules(LIBZIP REQUIRED libzip) +- target_include_directories(${PROJECT_NAME} PRIVATE ${LIBZIP_INCLUDE_DIRS}) +- target_link_directories(${PROJECT_NAME} PRIVATE ${LIBZIP_LIBRARY_DIRS}) +- target_link_libraries(${PROJECT_NAME} ${_lib3mf_external_link_visibility} ${LIBZIP_LIBRARIES}) +- endif() ++ find_package(libzip CONFIG REQUIRED) ++ target_link_libraries(${PROJECT_NAME} ${_lib3mf_external_link_visibility} libzip::zip) + + unset(_lib3mf_external_link_visibility) + endif() +@@ -296,16 +288,8 @@ + set(_lib3mf_external_link_visibility PUBLIC) + endif() + +- find_package(ZLIB QUIET) +- if (TARGET ZLIB::ZLIB) +- target_link_libraries(${PROJECT_NAME} ${_lib3mf_external_link_visibility} ZLIB::ZLIB) +- else() +- find_package(PkgConfig REQUIRED) +- pkg_check_modules(ZLIB REQUIRED zlib) +- target_include_directories(${PROJECT_NAME} PRIVATE ${ZLIB_INCLUDE_DIRS}) +- target_link_directories(${PROJECT_NAME} PRIVATE ${ZLIB_LIBRARY_DIRS}) +- target_link_libraries(${PROJECT_NAME} ${_lib3mf_external_link_visibility} ${ZLIB_LIBRARIES}) +- endif() ++ find_package(ZLIB REQUIRED) ++ target_link_libraries(${PROJECT_NAME} ${_lib3mf_external_link_visibility} ZLIB::ZLIB) + + unset(_lib3mf_external_link_visibility) + endif() diff --git a/ports/lib3mf/fix-lib3mf-config-root.patch b/ports/lib3mf/fix-lib3mf-config-root.patch new file mode 100644 index 00000000000000..f870081d8a295d --- /dev/null +++ b/ports/lib3mf/fix-lib3mf-config-root.patch @@ -0,0 +1,14 @@ +diff --git a/cmake/lib3mfConfig.cmake.in b/cmake/lib3mfConfig.cmake.in +index 589422b3..2dbcbf95 100644 +--- a/cmake/lib3mfConfig.cmake.in ++++ b/cmake/lib3mfConfig.cmake.in +@@ -23,8 +23,8 @@ if(NOT TARGET lib3mf::lib3mf) + return() + endif() + + get_filename_component(_lib3mf_package_dir "${CMAKE_CURRENT_LIST_DIR}" ABSOLUTE) +-get_filename_component(LIB3MF_ROOT_DIR "${_lib3mf_package_dir}/../../.." ABSOLUTE) ++get_filename_component(LIB3MF_ROOT_DIR "${_lib3mf_package_dir}/../.." ABSOLUTE) + set(LIB3MF_CDYNAMIC_ADDITIONAL_SOURCE "${LIB3MF_ROOT_DIR}/include/Bindings/CDynamic/lib3mf_dynamic.cc") + + set(_lib3mf_library_location_definition "LIB3MF_LIBRARY_LOCATION=\"$\"") diff --git a/ports/lib3mf/lib3mf_vcpkg.patch b/ports/lib3mf/lib3mf_vcpkg.patch deleted file mode 100644 index 7052bf6169801e..00000000000000 --- a/ports/lib3mf/lib3mf_vcpkg.patch +++ /dev/null @@ -1,116 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c6a31790..fff0e5c7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,4 +1,4 @@ --cmake_minimum_required (VERSION 3.0) -+cmake_minimum_required (VERSION 3.5) - - cmake_policy(SET CMP0054 NEW) - cmake_policy(SET CMP0048 NEW) -@@ -145,13 +145,13 @@ endif() - SOURCE_GROUP("Source Files\\Autogenerated" FILES ${ACT_GENERATED_SOURCE}) - - --file(GLOB -- LIBS_INCLUDE -- LIST_DIRECTORIES true -- ${CMAKE_CURRENT_SOURCE_DIR}/Libraries/*/Include --) --list(FILTER LIBS_INCLUDE EXCLUDE REGEX "zlib|libzip|libressl") --target_include_directories(${PROJECT_NAME} PRIVATE ${LIBS_INCLUDE}) -+#file(GLOB -+# LIBS_INCLUDE -+# LIST_DIRECTORIES true -+# ${CMAKE_CURRENT_SOURCE_DIR}/Libraries/*/Include -+#) -+#list(FILTER LIBS_INCLUDE EXCLUDE REGEX "zlib|libzip|libressl") -+#target_include_directories(${PROJECT_NAME} PRIVATE ${LIBS_INCLUDE}) - - # allow FASTFLOAT_ALLOWS_LEADING_PLUS - add_definitions(-DFASTFLOAT_ALLOWS_LEADING_PLUS=1) -@@ -199,22 +199,39 @@ if (USE_INCLUDED_LIBZIP) - endif() - - else() -- find_package(PkgConfig REQUIRED) -- pkg_check_modules(LIBZIP REQUIRED libzip) -- target_link_libraries(${PROJECT_NAME} ${LIBZIP_LIBRARIES}) -+# find_package(PkgConfig REQUIRED) -+# pkg_check_modules(LIBZIP REQUIRED libzip) -+# target_link_libraries(${PROJECT_NAME} ${LIBZIP_LIBRARIES}) -+ find_package(LIBZIP REQUIRED) -+ target_link_libraries(${PROJECT_NAME} PRIVATE libzip::zip) - endif() - - - if (USE_INCLUDED_ZLIB) - target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Libraries/zlib/Include) - else() -- find_package(PkgConfig REQUIRED) -- pkg_check_modules(ZLIB REQUIRED zlib) -- target_link_libraries(${PROJECT_NAME} ${ZLIB_LIBRARIES}) -+# find_package(PkgConfig REQUIRED) -+# pkg_check_modules(ZLIB REQUIRED zlib) -+# target_link_libraries(${PROJECT_NAME} ${ZLIB_LIBRARIES}) -+ find_package(ZLIB REQUIRED) -+ target_link_libraries(${PROJECT_NAME} PRIVATE ZLIB::ZLIB) - endif() - - --target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/submodules/fast_float/include) -+#devendor base64 -+# Include the directory for header files -+find_path(CPP_BASE64_INCLUDE_DIRS "cpp-base64/base64.cpp") -+include_directories("${CPP_BASE64_INCLUDE_DIRS}/cpp-base64") -+set(BASE64_SRC -+ ${CPP_BASE64_INCLUDE_DIRS}/cpp-base64/base64.h -+ ${CPP_BASE64_INCLUDE_DIRS}/cpp-base64/base64.cpp) -+message("BASE64_SRC" ${BASE64_SRC}) -+# Append BASE64_SRC to the target -+target_sources(${PROJECT_NAME} PRIVATE ${BASE64_SRC}) -+ -+#devendor FastFloat -+find_package(FastFloat CONFIG REQUIRED) -+target_link_libraries(${PROJECT_NAME} PRIVATE FastFloat::fast_float) - - - set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "" IMPORT_PREFIX "" ) -diff --git a/Include/Common/NMR_StringUtils.h b/Include/Common/NMR_StringUtils.h -index 4cafe3a7..b32bc76a 100644 ---- a/Include/Common/NMR_StringUtils.h -+++ b/Include/Common/NMR_StringUtils.h -@@ -37,7 +37,7 @@ and Exception-safe - #include "Common/NMR_Types.h" - #include "Common/NMR_Local.h" - --#include -+#include - - #include - #include -diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt -index 27973c84..bc93c89d 100644 ---- a/Source/CMakeLists.txt -+++ b/Source/CMakeLists.txt -@@ -12,7 +12,7 @@ if (USE_INCLUDED_ZLIB) - file(GLOB ZLIB_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "Libraries/zlib/Source/*.c") - endif() - --file (GLOB CPPBASE64_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "Libraries/cpp-base64/Source/*.cpp") -+#file (GLOB CPPBASE64_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "Libraries/cpp-base64/Source/*.cpp") - - # sources - set(SRCS_PLATFORM -diff --git a/cmake/lib3mfConfig.cmake b/cmake/lib3mfConfig.cmake -index f1305b8f..b7755c3e 100644 ---- a/cmake/lib3mfConfig.cmake -+++ b/cmake/lib3mfConfig.cmake -@@ -1,4 +1,7 @@ - # lib3mfConfig.cmake -+include(CMakeFindDependencyMacro) -+find_dependency(libzip) -+find_dependency(ZLIB) - - if(VCPKG_TOOLCHAIN) - message("Lib3MF - VCPKG Tool Chain") diff --git a/ports/lib3mf/portfile.cmake b/ports/lib3mf/portfile.cmake index ccc77b4243b14f..40aa4bbdd0a8f9 100644 --- a/ports/lib3mf/portfile.cmake +++ b/ports/lib3mf/portfile.cmake @@ -1,20 +1,24 @@ -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO 3MFConsortium/lib3mf REF "v${VERSION}" - SHA512 91d3928315bd5d1a8553284505d28c7d839a3cbd8b07a87bca5a21087fffa8ba7a1738ed14313212815a09e33f7a82318f7b069f1bbe40456b57ec528379ab4b + SHA512 acfd0e4862248c475c674f7ee7855f809965a854e62ea0cd847008be7a9ca3c5a03ac87cac889f036555229762405094ca9811817dd45dbdaae941b5b41ae356 PATCHES - lib3mf_vcpkg.patch + fix-lib3mf-config-root.patch + fix-dependency-resolution-required.patch ) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" _lib3mf_build_shared) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS + OPTIONS + -DLIB3MF_BUILD_SHARED=${_lib3mf_build_shared} -DUSE_INCLUDED_ZLIB=OFF -DUSE_INCLUDED_LIBZIP=OFF -DUSE_INCLUDED_SSL=OFF + -DUSE_INCLUDED_CPPBASE64=OFF + -DUSE_INCLUDED_FASTFLOAT=OFF -DBUILD_FOR_CODECOVERAGE=OFF -DLIB3MF_TESTS=OFF ) diff --git a/ports/lib3mf/vcpkg.json b/ports/lib3mf/vcpkg.json index 73178e0ee36e42..2cde0d740917ae 100644 --- a/ports/lib3mf/vcpkg.json +++ b/ports/lib3mf/vcpkg.json @@ -1,10 +1,10 @@ { "name": "lib3mf", - "version": "2.4.1", + "version": "2.5.0", "description": "lib3mf is an implementation of the 3D Manufacturing Format file standard", "homepage": "https://github.com/3MFConsortium/lib3mf", "license": "BSD-2-Clause", - "supports": "(windows & (x86 | x64) & !static & !staticcrt) | (linux & x64) | (osx & (x64 | arm64))", + "supports": "(windows & (x86 | x64)) | (linux & x64) | (osx & (x64 | arm64))", "dependencies": [ "cpp-base64", "fast-float", diff --git a/versions/baseline.json b/versions/baseline.json index bba63ba579351d..1a303232d2365e 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4573,7 +4573,7 @@ "port-version": 0 }, "lib3mf": { - "baseline": "2.4.1", + "baseline": "2.5.0", "port-version": 0 }, "libaaplus": { diff --git a/versions/l-/lib3mf.json b/versions/l-/lib3mf.json index 226a7ed4d9c320..e23444c405d5a5 100644 --- a/versions/l-/lib3mf.json +++ b/versions/l-/lib3mf.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "91f325050cfa50f0961a1d9c37c04db13c46082c", + "version": "2.5.0", + "port-version": 0 + }, { "git-tree": "16dface0395187d431f9c27e4917f25d923d38d2", "version": "2.4.1",