diff --git a/docs/examples/packaging-github-repos.md b/docs/examples/packaging-github-repos.md index 3a0e81c2f93a46..7091c7e01cf6d9 100644 --- a/docs/examples/packaging-github-repos.md +++ b/docs/examples/packaging-github-repos.md @@ -32,15 +32,12 @@ The important parts to update are `REPO` for the GitHub repository path, `REF` f Finally, we configure the project with CMake, install the package, and copy over the license file: ```cmake -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA -) -vcpkg_install_cmake() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libogg RENAME copyright) +vcpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH}) +vcpkg_cmake_install() +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libogg" RENAME copyright) ``` -Check the documentation for [`vcpkg_configure_cmake`](../maintainers/vcpkg_configure_cmake.md) and [`vcpkg_install_cmake`](../maintainers/vcpkg_install_cmake.md) if your package needs additional options. +Check the documentation for [`vcpkg_cmake_configure`](../maintainers/ports/vcpkg-cmake/vcpkg_cmake_configure.md) and [`vcpkg_cmake_install`](../maintainers/ports/vcpkg-cmake/vcpkg_cmake_install.md) if your package needs additional options. Now you can run `vcpkg install libogg` to build and install the package. diff --git a/docs/examples/patching.md b/docs/examples/patching.md index 4afc1ffafd58da..dc9de168273de9 100644 --- a/docs/examples/patching.md +++ b/docs/examples/patching.md @@ -151,7 +151,7 @@ vcpkg_extract_source_archive_ex( "use-abort-on-all-platforms.patch" ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( ... ``` diff --git a/docs/maintainers/maintainer-guide.md b/docs/maintainers/maintainer-guide.md index b641ed01265170..9f3dd268258436 100644 --- a/docs/maintainers/maintainer-guide.md +++ b/docs/maintainers/maintainer-guide.md @@ -179,16 +179,15 @@ Examples: [abseil](../../ports/abseil/portfile.cmake) ### Choose either static or shared binaries -By default, `vcpkg_configure_cmake()` will pass in the appropriate setting for `BUILD_SHARED_LIBS`, +By default, `vcpkg_cmake_configure()` will pass in the appropriate setting for `BUILD_SHARED_LIBS`, however for libraries that don't respect that variable, you can switch on `VCPKG_LIBRARY_LINKAGE`: ```cmake string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" KEYSTONE_BUILD_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" KEYSTONE_BUILD_SHARED) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS -DKEYSTONE_BUILD_STATIC=${KEYSTONE_BUILD_STATIC} -DKEYSTONE_BUILD_SHARED=${KEYSTONE_BUILD_SHARED} @@ -207,9 +206,8 @@ else() set(CMAKE_DISABLE_FIND_PACKAGE_ZLIB ON) endif() -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB=${CMAKE_DISABLE_FIND_PACKAGE_ZLIB} ) @@ -223,9 +221,8 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS "zlib" CMAKE_DISABLE_FIND_PACKAGE_ZLIB ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS ${FEATURE_OPTIONS} ) diff --git a/docs/maintainers/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.md b/docs/maintainers/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.md index 444b12853a7255..469e0b197a8072 100644 --- a/docs/maintainers/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.md +++ b/docs/maintainers/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.md @@ -36,11 +36,13 @@ and applies a rather simply correction which in some cases will yield the wrong ## How it Works 1. Moves `/debug//*targets-debug.cmake` to `/share/${PACKAGE_NAME}`. -2. Removes `/debug//*config.cmake`. -3. Transform all references matching `/bin/*.exe` to `/${TOOLS_PATH}/*.exe` on Windows. -4. Transform all references matching `/bin/*` to `/${TOOLS_PATH}/*` on other platforms. -5. Fixes `${_IMPORT_PREFIX}` in auto generated targets. -6. Replace `${CURRENT_INSTALLED_DIR}` with `${_IMPORT_PREFIX}` in configs and targets. +2. Transforms all references matching `/bin/*.exe` to `/${TOOLS_PATH}/*.exe` on Windows. +3. Transforms all references matching `/bin/*` to `/${TOOLS_PATH}/*` on other platforms. +4. Fixes `${_IMPORT_PREFIX}` in auto generated targets. +5. Replaces `${CURRENT_INSTALLED_DIR}` with `${_IMPORT_PREFIX}` in configs. +6. Merges INTERFACE_LINK_LIBRARIES of release and debug configurations. +7. Replaces `${CURRENT_INSTALLED_DIR}` with `${VCPKG_IMPORT_PREFIX}` in targets. +8. Removes `/debug//*config.cmake`. ## Examples diff --git a/docs/maintainers/vcpkg_check_features.md b/docs/maintainers/vcpkg_check_features.md index a8b90a3cd90ce9..c22908589da072 100644 --- a/docs/maintainers/vcpkg_check_features.md +++ b/docs/maintainers/vcpkg_check_features.md @@ -56,9 +56,8 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS secure MI_SECURE ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS # Expands to "-DMI_SEE_ASM=ON;-DMI_OVERRIDE=OFF;-DMI_SECURE=ON" ${FEATURE_OPTIONS} @@ -77,9 +76,8 @@ vcpkg_check_features( websockets CPPREST_EXCLUDE_WEBSOCKETS ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS # Expands to "-DCPPREST_EXCLUDE_BROTLI=ON;-DCPPREST_EXCLUDE_WEBSOCKETS=OFF" ${FEATURE_OPTIONS} @@ -99,9 +97,8 @@ vcpkg_check_features( cuda BUILD_GPU ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS # Expands to "-DWITH_CUDA=ON;-DBUILD_CUDA=ON;-DBUILD_GPU=ON" ${FEATURE_OPTIONS} @@ -121,9 +118,8 @@ vcpkg_check_features( tbb ROCKSDB_IGNORE_PACKAGE_TBB ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS # Expands to "-DWITH_TBB=ON;-DROCKSDB_IGNORE_PACKAGE_TBB=OFF" ${FEATURE_OPTIONS} diff --git a/docs/maintainers/vcpkg_find_fortran.md b/docs/maintainers/vcpkg_find_fortran.md index 227c1c8372a2a3..b02c0c51b66c90 100644 --- a/docs/maintainers/vcpkg_find_fortran.md +++ b/docs/maintainers/vcpkg_find_fortran.md @@ -15,7 +15,7 @@ vcpkg_find_fortran() ```cmake vcpkg_find_fortran(fortran_args) # ... -vcpkg_configure_cmake(... +vcpkg_cmake_configure(... OPTIONS ${fortran_args} ) diff --git a/ports/apsi/vcpkg.json b/ports/apsi/vcpkg.json index a93cf1f6f359aa..29b3035dff8829 100644 --- a/ports/apsi/vcpkg.json +++ b/ports/apsi/vcpkg.json @@ -1,10 +1,10 @@ { "name": "apsi", "version-semver": "0.7.0", - "port-version": 1, + "port-version": 2, "description": "APSI is a research library for asymmetric private set intersection.", "homepage": "https://github.com/microsoft/APSI", - "supports": "static", + "supports": "static & !(arm & osx)", "dependencies": [ "flatbuffers", "jsoncpp", diff --git a/ports/arrow/all.patch b/ports/arrow/all.patch index a9b3a26280cabe..45624f168983f8 100644 --- a/ports/arrow/all.patch +++ b/ports/arrow/all.patch @@ -1,5 +1,5 @@ diff --git a/cpp/cmake_modules/BuildUtils.cmake b/cpp/cmake_modules/BuildUtils.cmake -index cd8290d1b..12c52c184 100644 +index 391c43e0a..50f6d3d3c 100644 --- a/cpp/cmake_modules/BuildUtils.cmake +++ b/cpp/cmake_modules/BuildUtils.cmake @@ -427,7 +427,7 @@ function(ADD_ARROW_LIB LIB_NAME) diff --git a/ports/arrow/fix-dependencies.patch b/ports/arrow/fix-dependencies.patch index fc1f5a19c753c1..e9b740df9ff9aa 100644 --- a/ports/arrow/fix-dependencies.patch +++ b/ports/arrow/fix-dependencies.patch @@ -1,8 +1,8 @@ diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt -index ba8c36e81..eac441dee 100644 +index 2d7baf118..ace45d35b 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt -@@ -689,7 +689,7 @@ endif() +@@ -699,7 +699,7 @@ endif() if(ARROW_WITH_BROTLI) # Order is important for static linking @@ -11,7 +11,7 @@ index ba8c36e81..eac441dee 100644 list(APPEND ARROW_LINK_LIBS ${ARROW_BROTLI_LIBS}) list(APPEND ARROW_STATIC_LINK_LIBS ${ARROW_BROTLI_LIBS}) if(Brotli_SOURCE STREQUAL "SYSTEM") -@@ -705,9 +705,9 @@ if(ARROW_WITH_BZ2) +@@ -715,9 +715,9 @@ if(ARROW_WITH_BZ2) endif() if(ARROW_WITH_LZ4) @@ -23,7 +23,7 @@ index ba8c36e81..eac441dee 100644 endif() endif() -@@ -764,10 +764,10 @@ if(ARROW_S3) +@@ -787,10 +787,10 @@ if(ARROW_WITH_OPENTELEMETRY) endif() if(ARROW_WITH_UTF8PROC) @@ -38,7 +38,7 @@ index ba8c36e81..eac441dee 100644 endif() diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake -index 673a58eed..8c2c1e2fb 100644 +index bc389521b..1b358ce70 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -53,7 +53,7 @@ set(ARROW_THIRDPARTY_DEPENDENCIES @@ -50,15 +50,16 @@ index 673a58eed..8c2c1e2fb 100644 BZip2 c-ares gflags -@@ -62,14 +62,14 @@ set(ARROW_THIRDPARTY_DEPENDENCIES +@@ -62,7 +62,7 @@ set(ARROW_THIRDPARTY_DEPENDENCIES gRPC GTest LLVM - Lz4 + lz4 + opentelemetry-cpp ORC re2 - Protobuf +@@ -70,7 +70,7 @@ set(ARROW_THIRDPARTY_DEPENDENCIES RapidJSON Snappy Thrift @@ -67,7 +68,7 @@ index 673a58eed..8c2c1e2fb 100644 xsimd ZLIB zstd) -@@ -872,17 +872,7 @@ set(Boost_ADDITIONAL_VERSIONS +@@ -893,17 +893,7 @@ set(Boost_ADDITIONAL_VERSIONS # so we first need to determine whether we're building it if(ARROW_WITH_THRIFT AND Thrift_SOURCE STREQUAL "AUTO") find_package(Thrift 0.11.0 MODULE COMPONENTS ${ARROW_THRIFT_REQUIRED_COMPONENTS}) @@ -86,7 +87,7 @@ index 673a58eed..8c2c1e2fb 100644 set(Thrift_SOURCE "BUNDLED") endif() endif() -@@ -991,7 +981,7 @@ macro(build_snappy) +@@ -1038,7 +1028,7 @@ macro(build_snappy) endmacro() if(ARROW_WITH_SNAPPY) @@ -95,7 +96,7 @@ index 673a58eed..8c2c1e2fb 100644 if(${Snappy_SOURCE} STREQUAL "SYSTEM" AND NOT snappy_PC_FOUND) get_target_property(SNAPPY_LIB Snappy::snappy IMPORTED_LOCATION) string(APPEND ARROW_PC_LIBS_PRIVATE " ${SNAPPY_LIB}") -@@ -1061,10 +1051,16 @@ macro(build_brotli) +@@ -1108,10 +1098,16 @@ macro(build_brotli) endmacro() if(ARROW_WITH_BROTLI) @@ -115,7 +116,7 @@ index 673a58eed..8c2c1e2fb 100644 include_directories(SYSTEM ${BROTLI_INCLUDE_DIR}) endif() -@@ -1181,7 +1177,7 @@ macro(build_glog) +@@ -1228,7 +1224,7 @@ macro(build_glog) endmacro() if(ARROW_USE_GLOG) @@ -124,7 +125,7 @@ index 673a58eed..8c2c1e2fb 100644 # TODO: Don't use global includes but rather target_include_directories get_target_property(GLOG_INCLUDE_DIR glog::glog INTERFACE_INCLUDE_DIRECTORIES) include_directories(SYSTEM ${GLOG_INCLUDE_DIR}) -@@ -1255,8 +1251,7 @@ endmacro() +@@ -1302,8 +1298,7 @@ endmacro() if(ARROW_NEED_GFLAGS) set(ARROW_GFLAGS_REQUIRED_VERSION "2.1.0") resolve_dependency(gflags @@ -134,7 +135,7 @@ index 673a58eed..8c2c1e2fb 100644 REQUIRED_VERSION ${ARROW_GFLAGS_REQUIRED_VERSION} IS_RUNTIME_DEPENDENCY -@@ -1355,9 +1350,10 @@ endmacro() +@@ -1402,9 +1397,10 @@ endmacro() if(ARROW_WITH_THRIFT) # We already may have looked for Thrift earlier, when considering whether # to build Boost, so don't look again if already found. @@ -146,7 +147,7 @@ index 673a58eed..8c2c1e2fb 100644 REQUIRED_VERSION 0.11.0 PC_PACKAGE_NAMES -@@ -1366,6 +1362,14 @@ if(ARROW_WITH_THRIFT) +@@ -1413,6 +1409,14 @@ if(ARROW_WITH_THRIFT) # TODO: Don't use global includes but rather target_include_directories include_directories(SYSTEM ${THRIFT_INCLUDE_DIR}) @@ -161,7 +162,7 @@ index 673a58eed..8c2c1e2fb 100644 string(REPLACE "." ";" VERSION_LIST ${THRIFT_VERSION}) list(GET VERSION_LIST 0 THRIFT_VERSION_MAJOR) list(GET VERSION_LIST 1 THRIFT_VERSION_MINOR) -@@ -1480,6 +1484,7 @@ if(ARROW_WITH_PROTOBUF) +@@ -1528,6 +1532,7 @@ if(ARROW_WITH_PROTOBUF) set(ARROW_PROTOBUF_REQUIRED_VERSION "2.6.1") endif() resolve_dependency(Protobuf @@ -169,7 +170,7 @@ index 673a58eed..8c2c1e2fb 100644 REQUIRED_VERSION ${ARROW_PROTOBUF_REQUIRED_VERSION} PC_PACKAGE_NAMES -@@ -1490,6 +1495,10 @@ if(ARROW_WITH_PROTOBUF) +@@ -1538,6 +1543,10 @@ if(ARROW_WITH_PROTOBUF) endif() # TODO: Don't use global includes but rather target_include_directories @@ -180,7 +181,7 @@ index 673a58eed..8c2c1e2fb 100644 include_directories(SYSTEM ${PROTOBUF_INCLUDE_DIR}) if(TARGET arrow::protobuf::libprotobuf) -@@ -1538,12 +1547,18 @@ if(ARROW_WITH_PROTOBUF) +@@ -1586,12 +1595,18 @@ if(ARROW_WITH_PROTOBUF) # Log protobuf paths as we often see issues with mixed sources for # the libraries and protoc. @@ -199,7 +200,7 @@ index 673a58eed..8c2c1e2fb 100644 message(STATUS "Found libprotobuf: ${PROTOBUF_LIBRARY}") message(STATUS "Found protobuf headers: ${PROTOBUF_INCLUDE_DIR}") endif() -@@ -1954,7 +1969,7 @@ endmacro() +@@ -2001,7 +2016,7 @@ endmacro() if(ARROW_WITH_RAPIDJSON) set(ARROW_RAPIDJSON_REQUIRED_VERSION "1.1.0") resolve_dependency(RapidJSON @@ -208,7 +209,7 @@ index 673a58eed..8c2c1e2fb 100644 TRUE REQUIRED_VERSION ${ARROW_RAPIDJSON_REQUIRED_VERSION} -@@ -2093,10 +2108,11 @@ macro(build_lz4) +@@ -2140,10 +2155,11 @@ macro(build_lz4) endmacro() if(ARROW_WITH_LZ4) @@ -222,7 +223,7 @@ index 673a58eed..8c2c1e2fb 100644 include_directories(SYSTEM ${LZ4_INCLUDE_DIR}) endif() -@@ -2160,7 +2176,7 @@ endmacro() +@@ -2207,7 +2223,7 @@ endmacro() if(ARROW_WITH_ZSTD) # ARROW-13384: ZSTD_minCLevel was added in v1.4.0, required by ARROW-13091 resolve_dependency(zstd @@ -231,7 +232,7 @@ index 673a58eed..8c2c1e2fb 100644 libzstd REQUIRED_VERSION 1.4.0) -@@ -2343,9 +2359,8 @@ macro(build_utf8proc) +@@ -2390,9 +2406,8 @@ macro(build_utf8proc) endmacro() if(ARROW_WITH_UTF8PROC) @@ -243,7 +244,7 @@ index 673a58eed..8c2c1e2fb 100644 PC_PACKAGE_NAMES libutf8proc) -@@ -2353,7 +2368,7 @@ if(ARROW_WITH_UTF8PROC) +@@ -2400,7 +2415,7 @@ if(ARROW_WITH_UTF8PROC) # TODO: Don't use global definitions but rather # target_compile_definitions or target_link_libraries @@ -252,7 +253,7 @@ index 673a58eed..8c2c1e2fb 100644 INTERFACE_COMPILER_DEFINITIONS) if(UTF8PROC_COMPILER_DEFINITIONS) add_definitions(-D${UTF8PROC_COMPILER_DEFINITIONS}) -@@ -2361,7 +2376,7 @@ if(ARROW_WITH_UTF8PROC) +@@ -2408,7 +2423,7 @@ if(ARROW_WITH_UTF8PROC) # TODO: Don't use global includes but rather # target_include_directories or target_link_libraries @@ -261,7 +262,7 @@ index 673a58eed..8c2c1e2fb 100644 INTERFACE_INCLUDE_DIRECTORIES) include_directories(SYSTEM ${UTF8PROC_INCLUDE_DIR}) endif() -@@ -3270,7 +3285,7 @@ endmacro() +@@ -3317,7 +3332,7 @@ endmacro() macro(build_grpc) resolve_dependency(c-ares @@ -270,16 +271,16 @@ index 673a58eed..8c2c1e2fb 100644 TRUE PC_PACKAGE_NAMES libcares) -@@ -3493,7 +3508,7 @@ endmacro() - if(ARROW_WITH_GRPC) - set(ARROW_GRPC_REQUIRED_VERSION "1.17.0") +@@ -3555,7 +3570,7 @@ if(ARROW_WITH_GRPC) + set(gRPC_SOURCE "${Protobuf_SOURCE}") + endif() resolve_dependency(gRPC - HAVE_ALT + USE_CONFIG TRUE REQUIRED_VERSION ${ARROW_GRPC_REQUIRED_VERSION} -@@ -3503,6 +3518,10 @@ if(ARROW_WITH_GRPC) +@@ -3565,6 +3580,10 @@ if(ARROW_WITH_GRPC) # TODO: Don't use global includes but rather target_include_directories get_target_property(GRPC_INCLUDE_DIR gRPC::grpc++ INTERFACE_INCLUDE_DIRECTORIES) include_directories(SYSTEM ${GRPC_INCLUDE_DIR}) @@ -290,7 +291,7 @@ index 673a58eed..8c2c1e2fb 100644 if(GRPC_VENDORED) set(GRPCPP_PP_INCLUDE TRUE) -@@ -4019,7 +4038,8 @@ if(ARROW_S3) +@@ -4315,7 +4334,8 @@ if(ARROW_S3) s3 transfer identity-management @@ -301,10 +302,10 @@ index 673a58eed..8c2c1e2fb 100644 # Restore previous value of BUILD_SHARED_LIBS diff --git a/cpp/src/arrow/adapters/orc/CMakeLists.txt b/cpp/src/arrow/adapters/orc/CMakeLists.txt -index ca901b07d..4512a175f 100644 +index b1b6847cf..444a45e4e 100644 --- a/cpp/src/arrow/adapters/orc/CMakeLists.txt +++ b/cpp/src/arrow/adapters/orc/CMakeLists.txt -@@ -29,7 +29,7 @@ set(ORC_MIN_TEST_LIBS +@@ -30,7 +30,7 @@ set(ORC_MIN_TEST_LIBS GTest::gtest_main GTest::gtest Snappy::snappy diff --git a/ports/arrow/portfile.cmake b/ports/arrow/portfile.cmake index b1c7b5af56dcb0..99f5bb73594df5 100644 --- a/ports/arrow/portfile.cmake +++ b/ports/arrow/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO apache/arrow - REF apache-arrow-6.0.1 - SHA512 211c3238f76dde06383e817aad0cd4bbb4ab710a1c6a822a639e1588864bd574efb199e101469c91e933d6f21d65e79c99d382a9d326b12313779c08ea3163c8 + REF apache-arrow-7.0.0 + SHA512 4df480e03dcd85c1c04f93ca55968cf64eb96b4bdb586d9ad3bd1d5ba6d9ec7cca34fefef43d84b921ba74ceaeb48f8ac9d1d1355f2408ebffd2b2a00a3da2bd HEAD_REF master PATCHES all.patch diff --git a/ports/arrow/vcpkg.json b/ports/arrow/vcpkg.json index 2adf47aff88f00..383b970641ccc6 100644 --- a/ports/arrow/vcpkg.json +++ b/ports/arrow/vcpkg.json @@ -1,9 +1,9 @@ { "name": "arrow", - "version": "6.0.1", - "port-version": 1, + "version": "7.0.0", "description": "Cross-language development platform for in-memory analytics", "homepage": "https://arrow.apache.org", + "license": "Apache-2.0", "supports": "x64 | (arm64 & !windows)", "dependencies": [ "boost-filesystem", diff --git a/ports/bde/vcpkg.json b/ports/bde/vcpkg.json index 7fffab8885a0c5..b4e77488fd083c 100644 --- a/ports/bde/vcpkg.json +++ b/ports/bde/vcpkg.json @@ -1,7 +1,7 @@ { "name": "bde", - "version-string": "3.2.0.0", - "port-version": 4, + "version": "3.2.0.0", + "port-version": 5, "description": "Basic Development Environment - a set of foundational C++ libraries used at Bloomberg.", - "supports": "!windows" + "supports": "!windows & !arm" } diff --git a/ports/brpc/vcpkg.json b/ports/brpc/vcpkg.json index 748a662937399f..67c0e3119786c3 100644 --- a/ports/brpc/vcpkg.json +++ b/ports/brpc/vcpkg.json @@ -1,11 +1,11 @@ { "name": "brpc", - "version-string": "0.9.7", - "port-version": 6, + "version": "0.9.7", + "port-version": 7, "description": "Industrial-grade RPC framework used throughout Baidu, with 1,000,000+ instances and thousands kinds of services, called \"baidu-rpc\" inside Baidu.", "homepage": "https://github.com/apache/incubator-brpc", "license": "Apache-2.0", - "supports": "!windows", + "supports": "!windows & !arm", "dependencies": [ "gflags", "glog", diff --git a/ports/cairo/meson-fix-bfd.patch b/ports/cairo/meson-fix-bfd.patch new file mode 100644 index 00000000000000..a0bf0fd5f0b920 --- /dev/null +++ b/ports/cairo/meson-fix-bfd.patch @@ -0,0 +1,11 @@ +--- a/meson.build ++++ b/meson.build +@@ -656,7 +656,7 @@ endif + + # Untested, libiberty.h is in a libiberty subfolder for me + # FIXME: automagic +-bfd_dep = cc.find_library('bfd', required: false) ++bfd_dep = cc.find_library('', required: false) + if bfd_dep.found() and cc.has_function('bfd_openr', dependencies: [bfd_dep]) + if cc.has_header('libiberty.h') + conf.set('HAVE_BFD', 1) diff --git a/ports/cairo/portfile.cmake b/ports/cairo/portfile.cmake index 64ec99418ee671..5c19ffc469bce0 100644 --- a/ports/cairo/portfile.cmake +++ b/ports/cairo/portfile.cmake @@ -9,6 +9,7 @@ vcpkg_from_gitlab( HEAD_REF master PATCHES 0001-meson-fix-macOS-build-and-add-macOS-ci.patch cairo_static_fix.patch + meson-fix-bfd.patch ) if("fontconfig" IN_LIST FEATURES) diff --git a/ports/cairo/vcpkg.json b/ports/cairo/vcpkg.json index 4170587c5a2fbb..7b9e476aefffba 100644 --- a/ports/cairo/vcpkg.json +++ b/ports/cairo/vcpkg.json @@ -1,7 +1,7 @@ { "name": "cairo", "version": "1.17.4", - "port-version": 3, + "port-version": 4, "description": "Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.", "homepage": "https://cairographics.org", "dependencies": [ diff --git a/ports/ctemplate/vcpkg.json b/ports/ctemplate/vcpkg.json index 2f3d6bd4133236..7a8c84bbf1806f 100644 --- a/ports/ctemplate/vcpkg.json +++ b/ports/ctemplate/vcpkg.json @@ -1,7 +1,8 @@ { "name": "ctemplate", "version-date": "2020-09-14", - "port-version": 2, + "port-version": 3, "description": "C++ CTemplate system", - "homepage": "https://github.com/OlafvdSpek/ctemplate" + "homepage": "https://github.com/OlafvdSpek/ctemplate", + "supports": "!arm" } diff --git a/ports/dcmtk/vcpkg.json b/ports/dcmtk/vcpkg.json index 10616156b799d6..8f0d893d0c87ca 100644 --- a/ports/dcmtk/vcpkg.json +++ b/ports/dcmtk/vcpkg.json @@ -1,8 +1,9 @@ { "name": "dcmtk", - "version-string": "3.6.6", - "port-version": 2, + "version": "3.6.6", + "port-version": 3, "description": "This DICOM ToolKit (DCMTK) package consists of source code, documentation and installation instructions for a set of software libraries and applications implementing part of the DICOM/MEDICOM Standard.", + "supports": "!arm", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/double-conversion/portfile.cmake b/ports/double-conversion/portfile.cmake index 5ede45da1add0f..39f311e136f34e 100644 --- a/ports/double-conversion/portfile.cmake +++ b/ports/double-conversion/portfile.cmake @@ -3,26 +3,25 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/double-conversion - REF v3.1.5 - SHA512 0aeabdbfa06c3c4802905ac4bf8c2180840577677b47d45e1c91034fe07746428c9db79260ce6bdbdf8b584746066cea9247ba43a9c38155caf1ef44e214180a + REF 9e0c13564e17362aad8a32c1344a2214f71952c6 #v3.2.0 + SHA512 4579ae02196a2722cbce2888a404d026d62523256aa5f726c4b46aa25aa76d3caaf653848afb88939aac697049afc8968ddecda8a093520b392c9f963559a992 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Rename exported target files into something vcpkg_fixup_cmake_targets expects -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/double-conversion) - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/double-conversion) +if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake/${PORT}") + vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") endif() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/double-conversion/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/double-conversion/vcpkg.json b/ports/double-conversion/vcpkg.json index 541bf7701b881c..604189dedf5612 100644 --- a/ports/double-conversion/vcpkg.json +++ b/ports/double-conversion/vcpkg.json @@ -1,7 +1,16 @@ { "name": "double-conversion", - "version-string": "3.1.5", - "port-version": 1, + "version": "3.2.0", "description": "Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles.", - "homepage": "https://github.com/google/double-conversion" + "homepage": "https://github.com/google/double-conversion", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/embree2/vcpkg.json b/ports/embree2/vcpkg.json index e7fdad98dc3a0f..e89bc2b2edc284 100644 --- a/ports/embree2/vcpkg.json +++ b/ports/embree2/vcpkg.json @@ -1,9 +1,10 @@ { "name": "embree2", "version-semver": "2.17.7", - "port-version": 3, + "port-version": 4, "description": "High Performance Ray Tracing Kernels.", "homepage": "https://github.com/embree/embree", + "supports": "!arm", "dependencies": [ "tbb", { diff --git a/ports/gdal/0009-poppler-cxx17.patch b/ports/gdal/0009-poppler-cxx17.patch new file mode 100644 index 00000000000000..ec82353eab623f --- /dev/null +++ b/ports/gdal/0009-poppler-cxx17.patch @@ -0,0 +1,17 @@ +diff --git a/gdal/frmts/pdf/GNUmakefile b/gdal/frmts/pdf/GNUmakefile +index aa42769477fc..56c2cd775d05 100644 +--- a/gdal/frmts/pdf/GNUmakefile ++++ b/gdal/frmts/pdf/GNUmakefile +@@ -11,6 +11,12 @@ LD_SHARED = $(LD) -bundle + endif + + ifeq ($(HAVE_POPPLER),yes) ++# Poppler 2022.1 requires c++17 ++ifeq ($(shell test $(POPPLER_MAJOR_VERSION) -gt 21; echo $$?),0) ++CXX := $(subst -std=c++11,,${CXX}) ++CXX := $(subst -std=c++14,,${CXX}) ++CXX := ${CXX} -std=c++17 ++endif + CPPFLAGS += -DHAVE_POPPLER -DPOPPLER_MAJOR_VERSION=$(POPPLER_MAJOR_VERSION) -DPOPPLER_MINOR_VERSION=$(POPPLER_MINOR_VERSION) + endif + diff --git a/ports/gdal/dependency_win.cmake b/ports/gdal/dependency_win.cmake index fc6e7e6cc3a5f6..b31ed35461914c 100644 --- a/ports/gdal/dependency_win.cmake +++ b/ports/gdal/dependency_win.cmake @@ -135,6 +135,15 @@ macro(find_dependency_win) list(APPEND NMAKE_OPTIONS_DBG "NETCDF_LIB=${NETCDF_LIBS_DEBUG}") endif() + if("poppler" IN_LIST FEATURES) + list(APPEND NMAKE_OPTIONS "POPPLER_ENABLED=YES") + list(APPEND NMAKE_OPTIONS "POPPLER_MAJOR_VERSION=22" "POPPLER_MINOR_VERSION=1") # Bump as needed + list(APPEND NMAKE_OPTIONS "POPPLER_CFLAGS=-I${CURRENT_INSTALLED_DIR}/include -I${CURRENT_INSTALLED_DIR}/include/poppler /std:c++17") + x_vcpkg_pkgconfig_get_modules(PREFIX POPPLER MODULES --msvc-syntax poppler LIBS) + list(APPEND NMAKE_OPTIONS_REL "POPPLER_LIBS=${POPPLER_LIBS_RELEASE}") + list(APPEND NMAKE_OPTIONS_DBG "POPPLER_LIBS=${POPPLER_LIBS_DEBUG}") + endif() + if("postgresql" IN_LIST FEATURES) list(APPEND NMAKE_OPTIONS "PG_INC_DIR=${CURRENT_INSTALLED_DIR}/include") x_vcpkg_pkgconfig_get_modules(PREFIX OPENSSL MODULES --msvc-syntax openssl LIBS) diff --git a/ports/gdal/portfile.cmake b/ports/gdal/portfile.cmake index f5d456ce14f1c0..50e1bea245f5b0 100644 --- a/ports/gdal/portfile.cmake +++ b/ports/gdal/portfile.cmake @@ -5,6 +5,7 @@ set(GDAL_PATCHES 0005-Fix-configure.patch 0007-Control-tools.patch 0008-Fix-absl-string_view.patch + 0009-poppler-cxx17.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") list(APPEND GDAL_PATCHES 0006-Fix-mingw-dllexport.patch) @@ -175,6 +176,11 @@ else() add_config("--with-spatialite=no" "SpatiaLite support: no") endif() + if ("poppler" IN_LIST FEATURES) + add_config("--with-poppler=yes" "Poppler support: yes") + elseif(DISABLE_SYSTEM_LIBRARIES) + add_config("--with-poppler=no" "Poppler support: no") + endif() if ("postgresql" IN_LIST FEATURES) add_config("--with-pg=yes" "PostgreSQL support: yes") elseif(DISABLE_SYSTEM_LIBRARIES) @@ -258,7 +264,6 @@ else() --with-pcre2=no --with-pdfium=no --with-podofo=no - --with-poppler=no --with-qhull=no --with-rasdaman=no --with-rasterlite2=no diff --git a/ports/gdal/vcpkg-cmake-wrapper.cmake b/ports/gdal/vcpkg-cmake-wrapper.cmake index 990371c3a7d793..92a78c021a8e2c 100644 --- a/ports/gdal/vcpkg-cmake-wrapper.cmake +++ b/ports/gdal/vcpkg-cmake-wrapper.cmake @@ -123,6 +123,9 @@ if(GDAL_FOUND) _gdal_add_dependency(JPEG::JPEG JPEG) _gdal_add_dependency(liblzma::liblzma liblzma CONFIG) _gdal_add_dependency(png libpng CONFIG) + if("poppler" IN_LIST Z_VCPKG_PORT_FEATURES) + _gdal_add_dependency(unofficial::poppler::poppler-private unofficial-poppler) + endif() if("postgresql" IN_LIST Z_VCPKG_PORT_FEATURES) _gdal_add_dependency(PostgreSQL::PostgreSQL PostgreSQL) endif() diff --git a/ports/gdal/vcpkg.json b/ports/gdal/vcpkg.json index f05c1d5a9316c7..14d0f933e0ba58 100644 --- a/ports/gdal/vcpkg.json +++ b/ports/gdal/vcpkg.json @@ -1,9 +1,10 @@ { "name": "gdal", "version-semver": "3.4.1", - "port-version": 1, + "port-version": 2, "description": "The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data", "homepage": "https://gdal.org", + "license": null, "supports": "!uwp", "dependencies": [ "curl", @@ -72,6 +73,18 @@ "netcdf-c" ] }, + "poppler": { + "description": "Enable poppler support", + "dependencies": [ + { + "name": "poppler", + "default-features": false, + "features": [ + "private-api" + ] + } + ] + }, "postgresql": { "description": "Enable PostgreSQL support", "dependencies": [ diff --git a/ports/leveldb/leveldbConfig.cmake.in b/ports/leveldb/leveldbConfig.cmake.in index 5eecb83169de04..65b9bac51cdb83 100644 --- a/ports/leveldb/leveldbConfig.cmake.in +++ b/ports/leveldb/leveldbConfig.cmake.in @@ -2,12 +2,13 @@ include(CMakeFindDependencyMacro) set_and_check(leveldb_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@") +find_dependency(Threads) if (@WITH_CRC32C@) - find_depedency(Crc32c CONFIG) + find_dependency(Crc32c CONFIG) endif() if (@WITH_SNAPPY@) - find_depedency(Snappy CONFIG) + find_dependency(Snappy CONFIG) endif() include("${CMAKE_CURRENT_LIST_DIR}/leveldbTargets.cmake") diff --git a/ports/leveldb/vcpkg.json b/ports/leveldb/vcpkg.json index 38549aa32fff6a..1a31102e180062 100644 --- a/ports/leveldb/vcpkg.json +++ b/ports/leveldb/vcpkg.json @@ -1,7 +1,7 @@ { "name": "leveldb", "version-string": "1.22", - "port-version": 3, + "port-version": 4, "description": "LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.", "homepage": "https://github.com/bitcoin-core/leveldb", "license": "BSD-3-Clause", diff --git a/ports/libao/0001-windows-build-patch.patch b/ports/libao/0001-windows-build-patch.patch new file mode 100644 index 00000000000000..96bea61160a3c3 --- /dev/null +++ b/ports/libao/0001-windows-build-patch.patch @@ -0,0 +1,127 @@ +From 129f8e155596199191cc005bcc257397d0d981ac Mon Sep 17 00:00:00 2001 +From: xiaoyifang +Date: Wed, 16 Feb 2022 21:58:40 +0800 +Subject: [PATCH] patch windows + +--- + include/ao/ao_private.h | 30 +++++++++++++++--------------- + src/ao_wmm.c | 1 + + src/audio_out.c | 1 - + 3 files changed, 16 insertions(+), 16 deletions(-) + +diff --git a/include/ao/ao_private.h b/include/ao/ao_private.h +index 44fa03e..c3c50aa 100644 +--- a/include/ao/ao_private.h ++++ b/include/ao/ao_private.h +@@ -138,13 +138,13 @@ struct ao_functions { + + void ao_read_config_files (ao_config *config); + +-#define adebug(format, args...) {\ ++#define adebug(format, ...) {\ + if(!device || device->verbose==2){ \ + if(strcmp(format,"\n")){ \ + if(device && device->funcs->driver_info()->short_name){ \ +- fprintf(stderr,"ao_%s debug: " format,device->funcs->driver_info()->short_name,## args); \ ++ fprintf(stderr,"ao_%s debug: " format,device->funcs->driver_info()->short_name,__VA_ARGS__); \ + }else{ \ +- fprintf(stderr,"debug: " format,## args); \ ++ fprintf(stderr,"debug: " format,__VA_ARGS__); \ + } \ + }else{ \ + fprintf(stderr,"\n"); \ +@@ -152,13 +152,13 @@ void ao_read_config_files (ao_config *config); + } \ + } + +-#define averbose(format, args...) {\ ++#define averbose(format, ...) {\ + if(!device || device->verbose>0){ \ + if(strcmp(format,"\n")){ \ + if(device && device->funcs->driver_info()->short_name){ \ +- fprintf(stderr,"ao_%s info: " format,device->funcs->driver_info()->short_name,## args); \ ++ fprintf(stderr,"ao_%s info: " format,device->funcs->driver_info()->short_name,__VA_ARGS__); \ + }else{ \ +- fprintf(stderr,"info: " format,## args); \ ++ fprintf(stderr,"info: " format,__VA_ARGS__); \ + } \ + }else{ \ + fprintf(stderr,"\n"); \ +@@ -166,13 +166,13 @@ void ao_read_config_files (ao_config *config); + } \ + } + +-#define ainfo(format, args...) {\ ++#define ainfo(format, ...) {\ + if(!device || device->verbose>=0){ \ + if(strcmp(format,"\n")){ \ + if(device && device->funcs->driver_info()->short_name){ \ +- fprintf(stderr,"ao_%s info: " format,device->funcs->driver_info()->short_name,## args); \ ++ fprintf(stderr,"ao_%s info: " format,device->funcs->driver_info()->short_name,__VA_ARGS__); \ + }else{ \ +- fprintf(stderr,"info: " format,## args); \ ++ fprintf(stderr,"info: " format,__VA_ARGS__); \ + } \ + }else{ \ + fprintf(stderr,"\n"); \ +@@ -180,13 +180,13 @@ void ao_read_config_files (ao_config *config); + } \ + } + +-#define awarn(format, args...) {\ ++#define awarn(format, ...) {\ + if(!device || device->verbose>=0){ \ + if(strcmp(format,"\n")){ \ + if(device && device->funcs->driver_info()->short_name){ \ +- fprintf(stderr,"ao_%s WARNING: " format,device->funcs->driver_info()->short_name,## args); \ ++ fprintf(stderr,"ao_%s WARNING: " format,device->funcs->driver_info()->short_name,__VA_ARGS__); \ + }else{ \ +- fprintf(stderr,"WARNING: " format,## args); \ ++ fprintf(stderr,"WARNING: " format,__VA_ARGS__); \ + } \ + }else{ \ + fprintf(stderr,"\n"); \ +@@ -194,13 +194,13 @@ void ao_read_config_files (ao_config *config); + } \ + } + +-#define aerror(format, args...) { \ ++#define aerror(format, ...) { \ + if(!device || device->verbose>=0){ \ + if(strcmp(format,"\n")){ \ + if(device && device->funcs->driver_info()->short_name){ \ +- fprintf(stderr,"ao_%s ERROR: " format,device->funcs->driver_info()->short_name,## args); \ ++ fprintf(stderr,"ao_%s ERROR: " format,device->funcs->driver_info()->short_name,__VA_ARGS__); \ + }else{ \ +- fprintf(stderr,"ERROR: " format,## args); \ ++ fprintf(stderr,"ERROR: " format,__VA_ARGS__); \ + } \ + }else{ \ + fprintf(stderr,"\n"); \ +diff --git a/src/ao_wmm.c b/src/ao_wmm.c +index eec6b83..d18d2a4 100644 +--- a/src/ao_wmm.c ++++ b/src/ao_wmm.c +@@ -33,6 +33,7 @@ + #include + #include + #include ++#include + #include + + #include +diff --git a/src/audio_out.c b/src/audio_out.c +index bd8f6fc..e3af366 100644 +--- a/src/audio_out.c ++++ b/src/audio_out.c +@@ -49,7 +49,6 @@ static int dlclose(void *handle) { return 0; } + #ifndef _MSC_VER + # include + #endif +-#include + + #include "ao/ao.h" + #include "ao_private.h" +-- +2.30.0.windows.2 + diff --git a/ports/libao/portfile.cmake b/ports/libao/portfile.cmake new file mode 100644 index 00000000000000..ae01234926115c --- /dev/null +++ b/ports/libao/portfile.cmake @@ -0,0 +1,31 @@ +if(VCPKG_TARGET_IS_WINDOWS) + list(APPEND PATCHES "0001-windows-build-patch.patch") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO xiph/libao + REF 1.2.2 + SHA512 d2736d25b60862e7d7469611ce31b1df40a4366ab160e2ff1b46919ae91692d1596c8468e4f016303b306fc3ac1bddc7b727f535a362f403c3fe7c6532e9045a + HEAD_REF master + PATCHES ${PATCHES} +) + +if(VCPKG_TARGET_IS_WINDOWS) + set(ENV{LIBS} "-lwinmm -lksuser") +endif() + +vcpkg_configure_make( + SOURCE_PATH ${SOURCE_PATH} + AUTOCONFIG + OPTIONS --disable-binaries +) +vcpkg_install_make() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + + +vcpkg_fixup_pkgconfig() + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libao/vcpkg.json b/ports/libao/vcpkg.json new file mode 100644 index 00000000000000..e9e38670cf3d4a --- /dev/null +++ b/ports/libao/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "libao", + "version": "1.2.2", + "port-version": 3, + "description": "libao - A Cross-platform Audio Library", + "homepage": "https://github.com/xiph/libao", + "license": "GPL-2.0", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true, + "platform": "windows" + } + ] +} diff --git a/ports/libhv/portfile.cmake b/ports/libhv/portfile.cmake index 76f7ede0efe1a5..effb3e19ff1b24 100644 --- a/ports/libhv/portfile.cmake +++ b/ports/libhv/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ithewei/libhv - REF v1.2.2 - SHA512 D0CB0BE3901E282E642FE454ADF0CAAF1840DD0CD340B6558E40270CF32608FF0773AAAD0BE1B9EA97BE5BD41B4CEB00FA92CDDA1590B71900A3D8EE4AB2358F + REF v1.2.4 + SHA512 5732800970180294DCEB329F25D22B1A7178739A2A5A2CE32E030F4FD38055A6298797D26E7FF5525AC662059FF0AAEDB8ABC200E0BA9E4EEBEB5846FB53F4D0 HEAD_REF master ) diff --git a/ports/libhv/vcpkg.json b/ports/libhv/vcpkg.json index 2dbea503caae98..f74f4cc95f6284 100644 --- a/ports/libhv/vcpkg.json +++ b/ports/libhv/vcpkg.json @@ -1,9 +1,9 @@ { "name": "libhv", - "version": "1.2.2", - "port-version": 1, + "version": "1.2.4", "description": "Libhv is a C/C++ network library similar to libevent/libuv.", "homepage": "https://github.com/ithewei/libhv", + "license": "BSD-3-Clause", "supports": "!(arm | uwp)", "dependencies": [ { diff --git a/ports/libtins/portfile.cmake b/ports/libtins/portfile.cmake index 524b7e6087414b..62cbde451d43b3 100644 --- a/ports/libtins/portfile.cmake +++ b/ports/libtins/portfile.cmake @@ -34,6 +34,8 @@ get_filename_component(LIBTINS_CMAKE_DIR "${LIBTINS_CMAKE_DIR}" PATH) set(LIBTINS_INCLUDE_DIRS "${LIBTINS_CMAKE_DIR}/include") ]]) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/libtins/libtinsConfig.cmake" "\${LIBTINS_CMAKE_DIR}/libtinsTargets.cmake" "\${CMAKE_CURRENT_LIST_DIR}/libtinsTargets.cmake") + if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/tins/macros.h" "!defined(TINS_STATIC)" "1") else() diff --git a/ports/libtins/vcpkg.json b/ports/libtins/vcpkg.json index c6bb01e06991f3..c9a7daa96afa8a 100644 --- a/ports/libtins/vcpkg.json +++ b/ports/libtins/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libtins", "version": "4.3", - "port-version": 5, + "port-version": 6, "description": "High-level, multiplatform C++ network packet sniffing and crafting library", "license": "BSD-2-Clause", "supports": "!uwp", diff --git a/ports/open62541/portfile.cmake b/ports/open62541/portfile.cmake index bb07150d23bce8..b035be3f521cbc 100644 --- a/ports/open62541/portfile.cmake +++ b/ports/open62541/portfile.cmake @@ -1,10 +1,10 @@ -set(VERSION v1.2.2) +set(VERSION v1.2.3) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO open62541/open62541 REF "${VERSION}" - SHA512 E6A1EC2208EC29D8685D2A957FAE6F3FEDC0E847D6AB1BB8AC5C7980223BC377692334C87575956B53BB37A9B71C5DEDD1B5C4F19F122561543D04661FEFE1D5 + SHA512 ffcc697901ec978fb9d1f8996f8a4c5114c98a0ec19206cac95d1a84f8d0fcbe38bf73e88f1df59d53bc6be481102aa2f2a6a0efa29797e7ce11123bd23131c2 HEAD_REF master ) @@ -14,6 +14,7 @@ vcpkg_check_features( openssl UA_ENABLE_ENCRYPTION_OPENSSL mbedtls UA_ENABLE_ENCRYPTION_MBEDTLS amalgamation UA_ENABLE_AMALGAMATION + historizing UA_ENABLE_HISTORIZING ) vcpkg_find_acquire_program(PYTHON3) @@ -30,7 +31,7 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() diff --git a/ports/open62541/vcpkg.json b/ports/open62541/vcpkg.json index 0dacbc9e66f514..a4f545428391a6 100644 --- a/ports/open62541/vcpkg.json +++ b/ports/open62541/vcpkg.json @@ -1,9 +1,9 @@ { "name": "open62541", - "version": "1.2.2", - "port-version": 1, + "version": "1.2.3", "description": "open62541 is an open source C (C99) implementation of OPC UA licensed under the Mozilla Public License v2.0.", "homepage": "https://open62541.org", + "license": "MPL-2.0", "dependencies": [ { "name": "vcpkg-cmake", @@ -21,6 +21,9 @@ "amalgamation": { "description": "Concatenate the library to a single file open62541.h/.c" }, + "historizing": { + "description": "Enable basic support for historical access (client and server)" + }, "mbedtls": { "description": "Enable encryption support (uses MbedTLS)", "dependencies": [ diff --git a/ports/poppler/0002-remove-test-subdirectory.patch b/ports/poppler/0002-remove-test-subdirectory.patch deleted file mode 100644 index 80dd5b53fcbdcd..00000000000000 --- a/ports/poppler/0002-remove-test-subdirectory.patch +++ /dev/null @@ -1,24 +0,0 @@ -From aa0fa5f737b8ea3d2dfb396243be79af49274b6e Mon Sep 17 00:00:00 2001 -From: abc -Date: Fri, 18 Dec 2020 14:32:31 +0800 -Subject: [PATCH 2/2] remove test subdirectory - ---- - CMakeLists.txt | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ec66b515..cce875a0 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -749,7 +749,6 @@ endif() - if(ENABLE_GLIB) - add_subdirectory(glib) - endif() --add_subdirectory(test) - if(ENABLE_QT5) - add_subdirectory(qt5) - endif() --- -2.29.2.windows.2 - diff --git a/ports/poppler/0003-fix-gperf-not-recognized.patch b/ports/poppler/0003-fix-gperf-not-recognized.patch deleted file mode 100644 index e6edf39e79325b..00000000000000 --- a/ports/poppler/0003-fix-gperf-not-recognized.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index cce875a..0b04be7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -530,8 +530,8 @@ endif() - if (GPERF AND RUN_GPERF_IF_PRESENT) - macro(ADD_GPERF_FILE input) - add_custom_command(OUTPUT poppler/${input}.c -- COMMAND gperf poppler/${input}.gperf > ${CMAKE_CURRENT_BINARY_DIR}/poppler/${input}.c -- COMMAND gperf poppler/${input}.gperf > ${CMAKE_CURRENT_SOURCE_DIR}/poppler/${input}.pregenerated.c -+ COMMAND ${GPERF} poppler/${input}.gperf > ${CMAKE_CURRENT_BINARY_DIR}/poppler/${input}.c -+ COMMAND ${GPERF} poppler/${input}.gperf > ${CMAKE_CURRENT_SOURCE_DIR}/poppler/${input}.pregenerated.c - COMMAND clang-format -i ${CMAKE_CURRENT_SOURCE_DIR}/poppler/${input}.pregenerated.c || true - DEPENDS poppler/${input}.gperf - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/ports/poppler/0004-disable-clang-format.patch b/ports/poppler/0004-disable-clang-format.patch deleted file mode 100644 index 43a48da787bd5e..00000000000000 --- a/ports/poppler/0004-disable-clang-format.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0b04be7..947d5be 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -532,7 +532,6 @@ if (GPERF AND RUN_GPERF_IF_PRESENT) - add_custom_command(OUTPUT poppler/${input}.c - COMMAND ${GPERF} poppler/${input}.gperf > ${CMAKE_CURRENT_BINARY_DIR}/poppler/${input}.c - COMMAND ${GPERF} poppler/${input}.gperf > ${CMAKE_CURRENT_SOURCE_DIR}/poppler/${input}.pregenerated.c -- COMMAND clang-format -i ${CMAKE_CURRENT_SOURCE_DIR}/poppler/${input}.pregenerated.c || true - DEPENDS poppler/${input}.gperf - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) - diff --git a/ports/poppler/cmake-project-include.cmake b/ports/poppler/cmake-project-include.cmake new file mode 100644 index 00000000000000..8e9d1db25f769e --- /dev/null +++ b/ports/poppler/cmake-project-include.cmake @@ -0,0 +1,29 @@ +if("${FONT_CONFIGURATION}" STREQUAL "fontconfig") + # Poppler uses different variable names than CMake. + find_package(Fontconfig REQUIRED) + set(FONTCONFIG_DEFINITIONS "") + set(FONTCONFIG_INCLUDE_DIR "${Fontconfig_INCLUDE_DIRS}") + set(FONTCONFIG_LIBRARIES "Fontconfig::Fontconfig") +endif() + +# Poppler uses different variable names than CMake, +# plus ICONV_SECOND_ARGUMENT_IS_CONST +find_package(Iconv REQUIRED) +set(ICONV_INCLUDE_DIR "${Iconv_INCLUDE_DIR}") +set(ICONV_LIBRARIES "${Iconv_LIBRARIES}") + +# Create helper file for iconv usage requirement +set(poppler_iconv [[ +Name: poppler-vcpkg-iconv +Description: iconv linking requirements for poppler +Version: 0 +Libs:]]) +string(TOLOWER "${Iconv_LIBRARIES}" iconv_libraries) +if(iconv_libraries MATCHES "iconv") + string(APPEND poppler_iconv " -liconv") +endif() +if(iconv_libraries MATCHES "charset") + string(APPEND poppler_iconv " -lcharset") +endif() +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/poppler-vcpkg-iconv.pc" "${poppler_iconv}") +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/poppler-vcpkg-iconv.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") diff --git a/ports/poppler/export-unofficial-poppler.patch b/ports/poppler/export-unofficial-poppler.patch new file mode 100644 index 00000000000000..ca02c12b1d4d26 --- /dev/null +++ b/ports/poppler/export-unofficial-poppler.patch @@ -0,0 +1,34 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9a0dcb1..c1f2f02 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -600,7 +600,14 @@ target_link_libraries(poppler LINK_PRIVATE ${poppler_LIBS}) + if(CMAKE_USE_PTHREADS_INIT) + target_link_libraries(poppler LINK_PRIVATE Threads::Threads) + endif() +-install(TARGETS poppler RUNTIME DESTINATION bin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++target_include_directories(poppler PUBLIC ++ $ ++ $ ++ $ ++) ++set_target_properties(poppler PROPERTIES EXPORT_NAME poppler-private) ++install(TARGETS poppler EXPORT unofficial-poppler-targets RUNTIME DESTINATION bin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(EXPORT unofficial-poppler-targets NAMESPACE unofficial::poppler:: DESTINATION share/unofficial-poppler) + + if(ENABLE_UNSTABLE_API_ABI_HEADERS) + install(FILES +diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt +index c37936b..344933c 100644 +--- a/cpp/CMakeLists.txt ++++ b/cpp/CMakeLists.txt +@@ -32,7 +32,8 @@ if(MINGW AND BUILD_SHARED_LIBS) + set_target_properties(poppler-cpp PROPERTIES SUFFIX "-${POPPLER_CPP_SOVERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}") + endif() + target_link_libraries(poppler-cpp poppler ${ICONV_LIBRARIES}) +-install(TARGETS poppler-cpp RUNTIME DESTINATION bin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(TARGETS poppler-cpp EXPORT unofficial-poppler-cpp-targets RUNTIME DESTINATION bin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(EXPORT unofficial-poppler-cpp-targets NAMESPACE unofficial::poppler:: DESTINATION share/unofficial-poppler) + + install(FILES + poppler-destination.h diff --git a/ports/poppler/portfile.cmake b/ports/poppler/portfile.cmake index fcb96f6c666e54..c75bad85932076 100644 --- a/ports/poppler/portfile.cmake +++ b/ports/poppler/portfile.cmake @@ -1,45 +1,76 @@ -vcpkg_from_github( +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org OUT_SOURCE_PATH SOURCE_PATH - REPO freedesktop/poppler - REF poppler-20.12.1 - SHA512 f692682689c0b0fcc3953a1cc157b6e1d2ce3ccab185189d6dc0807f1dd3ea2d1a9773d0b805079a30b3c8a3b0cf3ee83239ed48d7b08dc7762eba29c2033674 + REPO poppler/poppler + REF poppler-22.02.0 + SHA512 693b813ef80656e7078f8830ec38e23520c6abd307befbb1721ba883233c92099704a7f02557807b28560f9c7ea1aa27192aea620b2ce4e9062a0b8790e93225 HEAD_REF master PATCHES - 0002-remove-test-subdirectory.patch - 0003-fix-gperf-not-recognized.patch - 0004-disable-clang-format.patch + export-unofficial-poppler.patch ) +file(REMOVE "${SOURCE_PATH}/cmake/Modules/FindFontconfig.cmake") -vcpkg_find_acquire_program(GPERF) -get_filename_component(GPERF_PATH ${GPERF} DIRECTORY) -vcpkg_add_to_path(${GPERF_PATH}) +set(POPPLER_PC_REQUIRES "freetype2 libjpeg libopenjp2 libpng libtiff-4 poppler-vcpkg-iconv") vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - curl ENABLE_CURL - zlib ENABLE_ZLIB - splash ENABLE_SPLASH + FEATURES + cairo WITH_Cairo + curl ENABLE_LIBCURL + private-api ENABLE_UNSTABLE_API_ABI_HEADERS + zlib ENABLE_ZLIB ) +if("fontconfig" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS "-DFONT_CONFIGURATION=fontconfig") + string(APPEND POPPLER_PC_REQUIRES " fontconfig") +elseif(VCPKG_TARGET_IS_WINDOWS) + list(APPEND FEATURE_OPTIONS "-DFONT_CONFIGURATION=win32") +else() + list(APPEND FEATURE_OPTIONS "-DFONT_CONFIGURATION=generic") +endif() +if("cairo" IN_LIST FEATURES) + string(APPEND POPPLER_PC_REQUIRES " cairo") +endif() +if("curl" IN_LIST FEATURES) + string(APPEND POPPLER_PC_REQUIRES " libcurl") +endif() +if("zlib" IN_LIST FEATURES) + string(APPEND POPPLER_PC_REQUIRES " zlib") +endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_find_acquire_program(PKGCONFIG) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS + "-DCMAKE_PROJECT_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/cmake-project-include.cmake" + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" -DBUILD_GTK_TESTS=OFF -DBUILD_QT5_TESTS=OFF -DBUILD_QT6_TESTS=OFF -DBUILD_CPP_TESTS=OFF - -DENABLE_LIBCURL=${ENABLE_CURL} + -DBUILD_MANUAL_TESTS=OFF -DENABLE_UTILS=OFF -DENABLE_GLIB=OFF - -DENABLE_GLOBJECT_INTROSPECTION=OFF + -DENABLE_GOBJECT_INTROSPECTION=OFF -DENABLE_QT5=OFF -DENABLE_QT6=OFF + -DENABLE_CMS=none + -DRUN_GPERF_IF_PRESENT=OFF + -DENABLE_RELOCATABLE=OFF # https://gitlab.freedesktop.org/poppler/poppler/-/issues/1209 + -DWITH_NSS3=OFF ${FEATURE_OPTIONS} ) +vcpkg_cmake_install() + +configure_file("${CMAKE_CURRENT_LIST_DIR}/unofficial-poppler-config.cmake" "${CURRENT_PACKAGES_DIR}/share/unofficial-poppler/unofficial-poppler-config.cmake" @ONLY) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-poppler) -vcpkg_install_cmake() +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/poppler.pc" "Libs:" "Requires.private: ${POPPLER_PC_REQUIRES}\nLibs:") +if(NOT DEFINED VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/poppler.pc" "Libs:" "Requires.private: ${POPPLER_PC_REQUIRES}\nLibs:") +endif() +vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -vcpkg_fixup_pkgconfig() +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/poppler/unofficial-poppler-config.cmake b/ports/poppler/unofficial-poppler-config.cmake new file mode 100644 index 00000000000000..ccbef6a08fd536 --- /dev/null +++ b/ports/poppler/unofficial-poppler-config.cmake @@ -0,0 +1,22 @@ +include(CMakeFindDependencyMacro) +cmake_policy(SET CMP0012 NEW) +cmake_policy(SET CMP0057 NEW) +set(features "@FEATURES@") +find_dependency(Boost) +if("fontconfig" IN_LIST features) + find_dependency(Fontconfig) # CMake 3.14 +endif() +find_dependency(Freetype) +find_dependency(JPEG) +find_dependency(PNG) +find_dependency(TIFF) +find_dependency(OpenJPEG CONFIG) +if("curl" IN_LIST features) + find_dependency(CURL) +endif() +if("zlib" IN_LIST features) + find_dependency(ZLIB) +endif() +find_dependency(Iconv) # CMake 3.11 +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-poppler-targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-poppler-cpp-targets.cmake") diff --git a/ports/poppler/usage b/ports/poppler/usage new file mode 100644 index 00000000000000..f5cbbd53704b0f --- /dev/null +++ b/ports/poppler/usage @@ -0,0 +1,6 @@ +The package poppler can be imported via CMake FindPkgConfig module: + + include(FindPkgConfig) + pkg_check_modules(POPPLER_CPP REQUIRED IMPORTED_TARGET poppler-cpp) + + target_link_libraries(main PRIVATE PkgConfig::poppler-cpp) diff --git a/ports/poppler/vcpkg.json b/ports/poppler/vcpkg.json index 2ae9cae7753454..4ef8d2ab7eeb4e 100644 --- a/ports/poppler/vcpkg.json +++ b/ports/poppler/vcpkg.json @@ -1,41 +1,77 @@ { "name": "poppler", - "version": "20.12.1", - "port-version": 6, - "description": "a PDF rendering library", + "version": "22.2.0", + "description": "A PDF rendering library", "homepage": "https://poppler.freedesktop.org/", + "license": "GPL-2.0-or-later", + "supports": "!uwp", "dependencies": [ + "boost-container", + "boost-move", + "freetype", + "libiconv", + "libjpeg-turbo", + "libpng", + "openjpeg", + "tiff", { - "name": "cairo", - "platform": "osx" + "name": "vcpkg-cmake", + "host": true }, { - "name": "devil", - "platform": "(windows | linux) & !arm" - }, - "fontconfig", - "freetype", - "libiconv", - "openjpeg" + "name": "vcpkg-cmake-config", + "host": true + } ], "default-features": [ - "splash", + "font-configuration", "zlib" ], "features": { + "cairo": { + "description": "Enable the Cairo graphics backend", + "dependencies": [ + { + "name": "cairo", + "default-features": false + } + ] + }, "curl": { "description": "curl for poppler", "dependencies": [ - "curl" + { + "name": "curl", + "default-features": false + } ] }, - "splash": { - "description": "Build the Splash graphics backend", + "font-configuration": { + "description": "Defaut font configuration backend", + "dependencies": [ + { + "name": "poppler", + "default-features": false, + "features": [ + "fontconfig" + ], + "platform": "!windows & !android" + } + ] + }, + "fontconfig": { + "description": "Use fontconfig", + "supports": "!windows, mingw", "dependencies": [ - "boost-container", - "boost-move" + "fontconfig" ] }, + "private-api": { + "description": "Install headers for private API (aka unstable API/ABI headers)" + }, + "splash": { + "description": "The splash backend is always enabled. This option is kept for compatibility." + }, "zlib": { "description": "zlib for poppler", "dependencies": [ diff --git a/ports/rsm-bsa/portfile.cmake b/ports/rsm-bsa/portfile.cmake index 6e6e0861aace7a..afa0602e9730b8 100644 --- a/ports/rsm-bsa/portfile.cmake +++ b/ports/rsm-bsa/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Ryan-rsm-McKenzie/bsa - REF 4.0.0 - SHA512 9be077349cea3f4c6f2298c6286fd306f370c560d9e474516dfd7ab8dcd2313032581f86f9b4f5afb5ccd2dbb4e57663e16997253421033e00186167db15576a + REF 4.0.2 + SHA512 075a8c3ec9cdd74d9346defa0d9f96cd776f945816cdff2dd39d3964623d68899afe2d73664aa1990fc7f97d756f813cf7ef29aba568cdc235b8d76172df49ca HEAD_REF master ) diff --git a/ports/rsm-bsa/vcpkg.json b/ports/rsm-bsa/vcpkg.json index 095f18b1e0bb01..1becec84805a9a 100644 --- a/ports/rsm-bsa/vcpkg.json +++ b/ports/rsm-bsa/vcpkg.json @@ -1,10 +1,10 @@ { "name": "rsm-bsa", - "version-semver": "4.0.0", - "port-version": 1, + "version-semver": "4.0.2", "description": "A C++ library for working with the Bethesda archive file format", "homepage": "https://github.com/Ryan-rsm-McKenzie/bsa", "documentation": "https://ryan-rsm-mckenzie.github.io/bsa/", + "license": "MIT", "supports": "!x86 & !osx & !uwp", "dependencies": [ { diff --git a/ports/tesseract/vcpkg.json b/ports/tesseract/vcpkg.json index 38463ce083373f..6b2477d6b462eb 100644 --- a/ports/tesseract/vcpkg.json +++ b/ports/tesseract/vcpkg.json @@ -1,10 +1,10 @@ { "name": "tesseract", "version": "4.1.1", - "port-version": 9, + "port-version": 10, "description": "An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google.", "homepage": "https://github.com/tesseract-ocr/tesseract", - "supports": "!(windows & (arm | arm64))", + "supports": "!arm", "dependencies": [ "leptonica", "libarchive", diff --git a/ports/tmx/portfile.cmake b/ports/tmx/portfile.cmake index 1ddf5a4f2020c5..ee76169108b2d6 100644 --- a/ports/tmx/portfile.cmake +++ b/ports/tmx/portfile.cmake @@ -13,9 +13,7 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_copy_pdbs() -file(RENAME "${CURRENT_PACKAGES_DIR}/lib/cmake/tmx/tmxExports.cmake" "${CURRENT_PACKAGES_DIR}/lib/cmake/tmx/tmxTargets.cmake") vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/tmx) -file(RENAME "${CURRENT_PACKAGES_DIR}/share/tmx/tmxTargets.cmake" "${CURRENT_PACKAGES_DIR}/share/tmx/tmxExports.cmake") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" diff --git a/ports/tmx/vcpkg.json b/ports/tmx/vcpkg.json index f21eba4edd8abf..764177045fe678 100644 --- a/ports/tmx/vcpkg.json +++ b/ports/tmx/vcpkg.json @@ -1,6 +1,7 @@ { "name": "tmx", "version": "1.2.0", + "port-version": 1, "description": "A portable C library to load tiled maps in your games.", "dependencies": [ "libxml2", diff --git a/ports/vcpkg-cmake-config/vcpkg.json b/ports/vcpkg-cmake-config/vcpkg.json index 21a2f316c90d3b..a99271b63c4582 100644 --- a/ports/vcpkg-cmake-config/vcpkg.json +++ b/ports/vcpkg-cmake-config/vcpkg.json @@ -1,4 +1,4 @@ { "name": "vcpkg-cmake-config", - "version-date": "2022-01-30" + "version-date": "2022-02-06" } diff --git a/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.cmake b/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.cmake index 7245130e231fc6..4045ae1eae5093 100644 --- a/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.cmake +++ b/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.cmake @@ -35,11 +35,13 @@ and applies a rather simply correction which in some cases will yield the wrong ## How it Works 1. Moves `/debug//*targets-debug.cmake` to `/share/${PACKAGE_NAME}`. -2. Removes `/debug//*config.cmake`. -3. Transform all references matching `/bin/*.exe` to `/${TOOLS_PATH}/*.exe` on Windows. -4. Transform all references matching `/bin/*` to `/${TOOLS_PATH}/*` on other platforms. -5. Fixes `${_IMPORT_PREFIX}` in auto generated targets. -6. Replace `${CURRENT_INSTALLED_DIR}` with `${_IMPORT_PREFIX}` in configs and targets. +2. Transforms all references matching `/bin/*.exe` to `/${TOOLS_PATH}/*.exe` on Windows. +3. Transforms all references matching `/bin/*` to `/${TOOLS_PATH}/*` on other platforms. +4. Fixes `${_IMPORT_PREFIX}` in auto generated targets. +5. Replaces `${CURRENT_INSTALLED_DIR}` with `${_IMPORT_PREFIX}` in configs. +6. Merges INTERFACE_LINK_LIBRARIES of release and debug configurations. +7. Replaces `${CURRENT_INSTALLED_DIR}` with `${VCPKG_IMPORT_PREFIX}` in targets. +8. Removes `/debug//*config.cmake`. ## Examples @@ -134,16 +136,6 @@ function(vcpkg_cmake_config_fixup) endif() endif() - file(GLOB_RECURSE unused_files - "${debug_share}/*[Tt]argets.cmake" - "${debug_share}/*[Cc]onfig.cmake" - "${debug_share}/*[Cc]onfigVersion.cmake" - "${debug_share}/*[Cc]onfig-version.cmake" - ) - foreach(unused_file IN LISTS unused_files) - file(REMOVE "${unused_file}") - endforeach() - file(GLOB_RECURSE release_targets "${release_share}/*-release.cmake" ) @@ -173,8 +165,16 @@ function(vcpkg_cmake_config_fixup) endif() #Fix ${_IMPORT_PREFIX} and absolute paths in cmake generated targets and configs; - #Since those can be renamed we have to check in every *.cmake + #Since those can be renamed we have to check in every *.cmake, but only once. file(GLOB_RECURSE main_cmakes "${release_share}/*.cmake") + if(NOT DEFINED Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP) + vcpkg_list(SET Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP) + endif() + foreach(already_fixed_up IN LISTS Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP) + vcpkg_list(REMOVE_ITEM main_cmakes "${already_fixed_up}") + endforeach() + vcpkg_list(APPEND Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP ${main_cmakes}) + set(Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP "${Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP}" CACHE INTERNAL "") foreach(main_cmake IN LISTS main_cmakes) file(READ "${main_cmake}" contents) @@ -205,6 +205,38 @@ get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)]] contents "${contents}") # This is a meson-related workaround, see https://github.com/mesonbuild/meson/issues/6955 endif() + # Merge release and debug configurations of target property INTERFACE_LINK_LIBRARIES. + string(REPLACE "${release_share}/" "${debug_share}/" debug_cmake "${main_cmake}") + if(DEFINED VCPKG_BUILD_TYPE) + # Skip. Warning: A release-only port in a dual-config installation + # may pull release dependencies into the debug configuration. + elseif(NOT contents MATCHES "INTERFACE_LINK_LIBRARIES") + # Skip. No relevant properties. + elseif(NOT contents MATCHES "# Generated CMake target import file\\.") + # Skip. No safe assumptions about a matching debug import file. + elseif(NOT EXISTS "${debug_cmake}") + message(SEND_ERROR "Did not find a debug import file matching '${main_cmake}'") + else() + file(READ "${debug_cmake}" debug_contents) + while(contents MATCHES "set_target_properties\\(([^ \$]*) PROPERTIES[^)]*\\)") + set(matched_command "${CMAKE_MATCH_0}") + string(REPLACE "+" "\\+" target "${CMAKE_MATCH_1}") + if(NOT debug_contents MATCHES "set_target_properties\\(${target} PROPERTIES[^)]*\\)") + message(SEND_ERROR "Did not find a debug configuration for target '${target}'.") + endif() + set(debug_command "${CMAKE_MATCH_0}") + string(REGEX MATCH " INTERFACE_LINK_LIBRARIES \"([^\"]*)\"" release_line "${matched_command}") + set(release_libs "${CMAKE_MATCH_1}") + string(REGEX MATCH " INTERFACE_LINK_LIBRARIES \"([^\"]*)\"" debug_line "${debug_command}") + set(debug_libs "${CMAKE_MATCH_1}") + z_vcpkg_cmake_config_fixup_merge(merged_libs release_libs debug_libs) + string(REPLACE "${release_line}" " INTERFACE_LINK_LIBRARIES \"${merged_libs}\"" updated_command "${matched_command}") + string(REPLACE "set_target_properties" "set_target_properties::done" updated_command "${updated_command}") # Prevend 2nd match + string(REPLACE "${matched_command}" "${updated_command}" contents "${contents}") + endwhile() + string(REPLACE "set_target_properties::done" "set_target_properties" contents "${contents}") # Restore original command + endif() + #Fix absolute paths to installed dir with ones relative to ${CMAKE_CURRENT_LIST_DIR} #This happens if vcpkg built libraries are directly linked to a target instead of using #an imported target. @@ -223,6 +255,16 @@ get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)]] file(WRITE "${main_cmake}" "${contents}") endforeach() + file(GLOB_RECURSE unused_files + "${debug_share}/*[Tt]argets.cmake" + "${debug_share}/*[Cc]onfig.cmake" + "${debug_share}/*[Cc]onfigVersion.cmake" + "${debug_share}/*[Cc]onfig-version.cmake" + ) + foreach(unused_file IN LISTS unused_files) + file(REMOVE "${unused_file}") + endforeach() + # Remove /debug// if it's empty. file(GLOB_RECURSE remaining_files "${debug_share}/*") if(remaining_files STREQUAL "") @@ -235,3 +277,36 @@ get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)]] file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") endif() endfunction() + +# Merges link interface library lists for release and debug +# into a single expression which use generator expression as necessary. +function(z_vcpkg_cmake_config_fixup_merge out_var release_var debug_var) + set(release_libs "VCPKG;${${release_var}}") + string(REGEX REPLACE ";optimized;([^;]*)" ";\\1" release_libs "${release_libs}") + string(REGEX REPLACE ";debug;([^;]*)" ";" release_libs "${release_libs}") + list(REMOVE_AT release_libs 0) + list(FILTER release_libs EXCLUDE REGEX [[^\\[$]<\\[$]:]]) + list(TRANSFORM release_libs REPLACE [[^\\[$]<\\[$]>:(.*)>$]] "\\1") + + set(debug_libs "VCPKG;${${debug_var}}") + string(REGEX REPLACE ";optimized;([^;]*)" ";" debug_libs "${debug_libs}") + string(REGEX REPLACE ";debug;([^;]*)" ";\\1" debug_libs "${debug_libs}") + list(REMOVE_AT debug_libs 0) + list(FILTER debug_libs EXCLUDE REGEX [[^\\[$]<\\[$]>:]]) + list(TRANSFORM debug_libs REPLACE [[^\\[$]<\\[$]:(.*)>$]] "\\1") + + set(merged_libs "") + foreach(release_lib debug_lib IN ZIP_LISTS release_libs debug_libs) + if(release_lib STREQUAL debug_lib) + list(APPEND merged_libs "${release_lib}") + else() + if(release_lib) + list(APPEND merged_libs "\\\$<\\\$>:${release_lib}>") + endif() + if(debug_lib) + list(APPEND merged_libs "\\\$<\\\$:${debug_lib}>") + endif() + endif() + endforeach() + set("${out_var}" "${merged_libs}" PARENT_SCOPE) +endfunction() diff --git a/ports/xqilla/CMakeLists.txt b/ports/xqilla/CMakeLists.txt new file mode 100644 index 00000000000000..d2caaa2230f9c0 --- /dev/null +++ b/ports/xqilla/CMakeLists.txt @@ -0,0 +1,458 @@ +cmake_minimum_required(VERSION 3.21) +cmake_policy(VERSION 3.21) + +if (XQILLA_STATIC) + add_definitions("-DXQILLA_API=") +else() + add_definitions("-DXQILLA_APIS=") +endif() + +project(xqilla C CXX) + +add_library(xqilla +./src/exceptions/XQException.cpp +./src/exceptions/XQillaException.cpp +./src/fastxdm/FastXDMSequenceBuilder.cpp +./src/fastxdm/FastXDMNodeImpl.cpp +./src/fastxdm/FastXDMDocument.cpp +./src/fastxdm/FastXDMUpdateFactory.cpp +./src/fastxdm/FastXDMConfiguration.cpp +./src/ast/XQAttributeConstructor.cpp +./src/ast/XQOrderingChange.cpp +./src/ast/XQReturn.cpp +./src/ast/XQPredicate.cpp +./src/ast/XQNamespaceBinding.cpp +./src/ast/XQCopy.cpp +./src/ast/XQQuantified.cpp +./src/ast/NumericFunction.cpp +./src/ast/XQOperator.cpp +./src/ast/XQVariable.cpp +./src/ast/StaticAnalysis.cpp +./src/ast/XQFunctionRef.cpp +./src/ast/XQCastAs.cpp +./src/ast/XQStep.cpp +./src/ast/XQLiteral.cpp +./src/ast/XQCopyOf.cpp +./src/ast/XQElementConstructor.cpp +./src/ast/XQDocumentConstructor.cpp +./src/ast/XQTreatAs.cpp +./src/ast/XQCallTemplate.cpp +./src/ast/XQTextConstructor.cpp +./src/ast/XQNamespaceConstructor.cpp +./src/ast/XQMap.cpp +./src/ast/XQFunctionCoercion.cpp +./src/ast/XQTypeswitch.cpp +./src/ast/XQAtomize.cpp +./src/ast/XQInlineFunction.cpp +./src/ast/XQSequence.cpp +./src/ast/LetTuple.cpp +./src/ast/WhereTuple.cpp +./src/ast/XQPIConstructor.cpp +./src/ast/XQFunctionDeref.cpp +./src/ast/StaticType.cpp +./src/ast/ContextTuple.cpp +./src/ast/XQGlobalVariable.cpp +./src/ast/OrderByTuple.cpp +./src/ast/ForTuple.cpp +./src/ast/XQFunction.cpp +./src/ast/CountTuple.cpp +./src/ast/XQFunctionConversion.cpp +./src/ast/XQApplyTemplates.cpp +./src/ast/XQCommentConstructor.cpp +./src/ast/XQCastableAs.cpp +./src/ast/XQIf.cpp +./src/ast/XQContextItem.cpp +./src/ast/XQDOMConstructor.cpp +./src/ast/ASTNodeImpl.cpp +./src/ast/TupleNode.cpp +./src/ast/XQNav.cpp +./src/ast/XQEffectiveBooleanValue.cpp +./src/ast/XQDocumentOrder.cpp +./src/ast/XQFunctionCall.cpp +./src/ast/XQValidate.cpp +./src/ast/ConvertFunctionArg.cpp +./src/ast/XQPartialApply.cpp +./src/ast/XQAnalyzeString.cpp +./src/axis/NodeTest.cpp +./src/fulltext/FTContent.cpp +./src/fulltext/FTOrder.cpp +./src/fulltext/DefaultTokenStore.cpp +./src/fulltext/DefaultTokenizer.cpp +./src/fulltext/FTWords.cpp +./src/fulltext/FTOr.cpp +./src/fulltext/FTContains.cpp +./src/fulltext/FTScope.cpp +./src/fulltext/FTWindow.cpp +./src/fulltext/FTMildnot.cpp +./src/fulltext/FTAnd.cpp +./src/fulltext/FTUnaryNot.cpp +./src/fulltext/FTDistance.cpp +./src/framework/ProxyMemoryManager.cpp +./src/framework/XPath2MemoryManagerImpl.cpp +./src/framework/StringPool.cpp +./src/framework/BaseMemoryManager.cpp +./src/framework/ReferenceCounted.cpp +./src/xqc/XQillaXQCExpression.cpp +./src/xqc/XQillaXQCStaticContext.cpp +./src/xqc/XQillaXQCDynamicContext.cpp +./src/xqc/XQillaXQCImplementation.cpp +./src/xqc/XQillaXQCSequence.cpp +./src/schema/SequenceType.cpp +./src/schema/FaxppDocumentCacheImpl.cpp +./src/schema/AnyAtomicTypeDatatypeValidator.cpp +./src/schema/DocumentCacheImpl.cpp +./src/schema/SchemaValidatorFilter.cpp +./src/optimizer/Optimizer.cpp +./src/optimizer/StaticTyper.cpp +./src/optimizer/ASTVisitor.cpp +./src/optimizer/ASTReleaser.cpp +./src/optimizer/ASTCopier.cpp +./src/optimizer/QueryPathNode.cpp +./src/optimizer/QueryPathTreeGenerator.cpp +./src/optimizer/ASTToXML.cpp +./src/optimizer/PartialEvaluator.cpp +./src/xqts/TestSuiteRunner.cpp +./src/xqts/TestSuiteParser.cpp +./src/xqts/TestSuiteResultListener.cpp +./src/items/Numeric.cpp +./src/items/DatatypeFactory.cpp +./src/items/AnyAtomicType.cpp +./src/items/DateOrTimeType.cpp +./src/items/DatatypeLookup.cpp +./src/items/Timezone.cpp +./src/items/ATUntypedAtomic.cpp +./src/items/impl/ATUntypedAtomicImpl.cpp +./src/items/impl/FunctionRefImpl.cpp +./src/items/impl/ATStringOrDerivedImpl.cpp +./src/items/impl/ATDateTimeOrDerivedImpl.cpp +./src/items/impl/ATDurationOrDerivedImpl.cpp +./src/items/impl/ATAnySimpleTypeImpl.cpp +./src/items/impl/ATTimeOrDerivedImpl.cpp +./src/items/impl/ATGYearOrDerivedImpl.cpp +./src/items/impl/ATFloatOrDerivedImpl.cpp +./src/items/impl/ATGMonthOrDerivedImpl.cpp +./src/items/impl/ATGDayOrDerivedImpl.cpp +./src/items/impl/ATBooleanOrDerivedImpl.cpp +./src/items/impl/ATQNameOrDerivedImpl.cpp +./src/items/impl/ATDoubleOrDerivedImpl.cpp +./src/items/impl/ATAnyURIOrDerivedImpl.cpp +./src/items/impl/ATGYearMonthOrDerivedImpl.cpp +./src/items/impl/ATNotationOrDerivedImpl.cpp +./src/items/impl/ATHexBinaryOrDerivedImpl.cpp +./src/items/impl/ATBase64BinaryOrDerivedImpl.cpp +./src/items/impl/ATDecimalOrDerivedImpl.cpp +./src/items/impl/ATGMonthDayOrDerivedImpl.cpp +./src/items/impl/ATDateOrDerivedImpl.cpp +./src/items/Item.cpp +./src/items/Node.cpp +./src/items/ATDurationOrDerived.cpp +./src/lexer/XSLT2Lexer.cpp +./src/lexer/XQLexer.cpp +./src/lexer/XQLexer2.cpp +./src/simple-api/XQilla.cpp +./src/simple-api/XQQuery.cpp +./src/utils/UTF8Str.cpp +./src/utils/XMLChCompare.cpp +./src/utils/XStr.cpp +./src/utils/DelayedModule.cpp +./src/utils/ContextUtils.cpp +./src/utils/UnicodeTransformer.cpp +./src/utils/NumUtils.cpp +./src/utils/XPath2Utils.cpp +./src/utils/XPath2NSUtils.cpp +./src/utils/DateUtils.cpp +./src/utils/XQillaPlatformUtils.cpp +./src/mapm/mapm_mt.cpp +./src/mapm/m_apm.cpp +./src/xerces/XercesNodeImpl.cpp +./src/xerces/AncestorAxis.cpp +./src/xerces/FollowingAxis.cpp +./src/xerces/XercesURIResolver.cpp +./src/xerces/AttributeAxis.cpp +./src/xerces/NamespaceAxis.cpp +./src/xerces/DescendantOrSelfAxis.cpp +./src/xerces/XercesConfiguration.cpp +./src/xerces/PrecedingAxis.cpp +./src/xerces/ParentAxis.cpp +./src/xerces/PrecedingSiblingAxis.cpp +./src/xerces/ChildAxis.cpp +./src/xerces/DescendantAxis.cpp +./src/xerces/Axis.cpp +./src/xerces/XercesUpdateFactory.cpp +./src/xerces/AncestorOrSelfAxis.cpp +./src/xerces/XercesSequenceBuilder.cpp +./src/xerces/FollowingSiblingAxis.cpp +./src/parser/XQParser.cpp +./src/parser/QName.cpp +./src/functions/FunctionMinutesFromTime.cpp +./src/functions/FunctionWords.cpp +./src/functions/FunctionMonthFromDateTime.cpp +./src/functions/FunctionLocalNameFromQName.cpp +./src/functions/FunctionDistinctValues.cpp +./src/functions/FunctionMonthsFromDuration.cpp +./src/functions/FunctionCos.cpp +./src/functions/FunctionTrace.cpp +./src/functions/FunctionTimezoneFromDate.cpp +./src/functions/FunctionCodepointsToString.cpp +./src/functions/FunctionMinutesFromDateTime.cpp +./src/functions/FunctionYearFromDate.cpp +./src/functions/FunctionStaticBaseURI.cpp +./src/functions/BuiltInModules.cpp +./src/functions/FunctionAtan.cpp +./src/functions/FunctionCurrentDateTime.cpp +./src/functions/FunctionAdjustTimeToTimezone.cpp +./src/functions/FunctionCeiling.cpp +./src/functions/FunctionExplain.cpp +./src/functions/FunctionImplicitTimezone.cpp +./src/functions/FunctionStartsWith.cpp +./src/functions/FunctionLowerCase.cpp +./src/functions/FunctionString.cpp +./src/functions/FunctionSentences.cpp +./src/functions/FunctionYearsFromDuration.cpp +./src/functions/FunctionNamespaceURIFromQName.cpp +./src/functions/XQillaFunction.cpp +./src/functions/FunctionParseHTML.cpp +./src/functions/FunctionDayFromDate.cpp +./src/functions/FunctionId.cpp +./src/functions/FunctionEmpty.cpp +./src/functions/FunctionUnparsedText.cpp +./src/functions/FunctionAdjustDateTimeToTimezone.cpp +./src/functions/FunctionTimezoneFromTime.cpp +./src/functions/FunctionRoot.cpp +./src/functions/FunctionCount.cpp +./src/functions/FunctionPosition.cpp +./src/functions/FunctionCurrentDate.cpp +./src/functions/FunctionFunctionArity.cpp +./src/functions/EXSLTMathFunction.cpp +./src/functions/FunctionRegexGroup.cpp +./src/functions/FunctionError.cpp +./src/functions/FunctionSerializeJSON.cpp +./src/functions/FunctionTimezoneFromDateTime.cpp +./src/functions/FunctionHead.cpp +./src/functions/FunctionStringLength.cpp +./src/functions/FunctionFloor.cpp +./src/functions/FunctionResolveURI.cpp +./src/functions/FunctionLog.cpp +./src/functions/FunctionContains.cpp +./src/functions/FunctionMatches.cpp +./src/functions/FunctionMonthFromDate.cpp +./src/functions/FunctionSecondsFromTime.cpp +./src/functions/FunctionSubstring.cpp +./src/functions/FunctionDateTime.cpp +./src/functions/FunctionCollection.cpp +./src/functions/FunctionConcat.cpp +./src/functions/FunctionParseXML.cpp +./src/functions/FunctionAnalyzeString.cpp +./src/functions/FunctionTime.cpp +./src/functions/FunctionDocument.cpp +./src/functions/FunctionCompare.cpp +./src/functions/FunctionTokenize.cpp +./src/functions/FunctionSecondsFromDuration.cpp +./src/functions/FunctionSignature.cpp +./src/functions/FunctionHoursFromDateTime.cpp +./src/functions/FunctionDayFromDateTime.cpp +./src/functions/FunctionAsin.cpp +./src/functions/FunctionUpperCase.cpp +./src/functions/FunctionMinutesFromDuration.cpp +./src/functions/RegExpFunction.cpp +./src/functions/FunctionCurrentTime.cpp +./src/functions/FunctionYearFromDateTime.cpp +./src/functions/FunctionLast.cpp +./src/functions/FunctionLookup.cpp +./src/functions/FunctionDaysFromDuration.cpp +./src/functions/XQUserFunction.cpp +./src/functions/FunctionHoursFromTime.cpp +./src/functions/FunctionNilled.cpp +./src/functions/FunctionLang.cpp +./src/functions/FunctionDoc.cpp +./src/functions/FunctionParseJSON.cpp +./src/functions/FunctionFunctionName.cpp +./src/functions/FunctionEndsWith.cpp +./src/functions/FunctionDocAvailable.cpp +./src/functions/FunctionDefaultCollation.cpp +./src/functions/FunctionNormalizeUnicode.cpp +./src/functions/FunctionAbs.cpp +./src/functions/FunctionStringToCodepoints.cpp +./src/functions/FunctionPower.cpp +#./src/functions/FunctionSubstringBeforeAfter.cpp +./src/functions/FunctionUnordered.cpp +./src/functions/FunctionNodeName.cpp +./src/functions/FunctionSin.cpp +./src/functions/FunctionPrefixFromQName.cpp +./src/functions/FunctionAdjustDateToTimezone.cpp +./src/functions/FunctionQName.cpp +./src/functions/FunctionRoundHalfToEven.cpp +./src/functions/FunctionNot.cpp +./src/functions/FunctionReplace.cpp +./src/functions/FunctionBaseURI.cpp +./src/functions/FunctionExp.cpp +./src/functions/ExternalFunction.cpp +./src/functions/FunctionLocalname.cpp +./src/functions/FuncFactory.cpp +./src/functions/FunctionNamespaceUri.cpp +./src/functions/FunctionSecondsFromDateTime.cpp +./src/functions/FunctionHoursFromDuration.cpp +./src/functions/FunctionDocumentURI.cpp +./src/functions/FunctionNumber.cpp +./src/functions/FunctionRound.cpp +./src/functions/FunctionAcos.cpp +./src/functions/FunctionIdref.cpp +./src/functions/FunctionName.cpp +./src/functions/FunctionCaseFold.cpp +./src/functions/FunctionSqrt.cpp +./src/functions/FunctionTail.cpp +./src/functions/FunctionTan.cpp +./src/functions/FunctionNormalizeSpace.cpp +./src/debug/DebugHookDecorator.cpp +./src/debug/InputParser.cpp +./src/debug/TupleDebugHook.cpp +./src/debug/InteractiveDebugger.cpp +./src/debug/StackFrame.cpp +./src/debug/ASTDebugHook.cpp +./src/dom-api/impl/XQillaXMLGrammarPoolImpl.cpp +./src/dom-api/impl/XQillaExpressionImpl.cpp +./src/dom-api/impl/XPath2ResultImpl.cpp +./src/dom-api/impl/XPathNamespaceImpl.cpp +./src/dom-api/impl/XQillaDocumentImpl.cpp +./src/dom-api/impl/XQillaBuilderImpl.cpp +./src/dom-api/impl/XPathDocumentImpl.cpp +./src/dom-api/impl/XQillaNSResolverImpl.cpp +./src/dom-api/XQillaImplementation.cpp +./src/dom-api/XPath2NodeSerializer.cpp +./src/runtime/EmptyResult.cpp +./src/runtime/ResultBufferImpl.cpp +./src/runtime/ClosureResult.cpp +./src/runtime/Result.cpp +./src/runtime/SequenceResult.cpp +./src/runtime/ResultImpl.cpp +./src/runtime/Sequence.cpp +./src/runtime/ResultBuffer.cpp +./src/events/NSFixupFilter.cpp +./src/events/EventGenerator.cpp +./src/events/NoInheritFilter.cpp +./src/events/EventSerializer.cpp +./src/events/QueryPathTreeFilter.cpp +./src/events/ContentSequenceFilter.cpp +./src/context/impl/CollationImpl.cpp +./src/context/impl/ItemFactoryImpl.cpp +./src/context/impl/XQContextImpl.cpp +./src/context/impl/XQDynamicContextImpl.cpp +./src/context/impl/VarTypeStoreImpl.cpp +./src/context/impl/VarStoreImpl.cpp +./src/context/impl/VarHashEntryImpl.cpp +./src/context/impl/CodepointCollation.cpp +./src/context/UpdateFactory.cpp +./src/tools/compile-delayed-module.cpp +./src/update/UInsertAfter.cpp +./src/update/UTransform.cpp +./src/update/UInsertAsFirst.cpp +./src/update/UInsertBefore.cpp +./src/update/UInsertInto.cpp +./src/update/UReplace.cpp +./src/update/UDelete.cpp +./src/update/UInsertAsLast.cpp +./src/update/UReplaceValueOf.cpp +./src/update/URename.cpp +./src/update/PendingUpdateList.cpp +./src/update/FunctionPut.cpp +./src/update/UApplyUpdates.cpp +./src/operators/UnaryMinus.cpp +./src/operators/GeneralComp.cpp +./src/operators/Plus.cpp +./src/operators/ComparisonOperator.cpp +./src/operators/And.cpp +./src/operators/OrderComparison.cpp +./src/operators/LessThanEqual.cpp +./src/operators/Minus.cpp +./src/operators/LessThan.cpp +./src/operators/GreaterThan.cpp +./src/operators/Equals.cpp +./src/operators/NodeComparison.cpp +./src/operators/Union.cpp +./src/operators/Or.cpp +./src/operators/NotEquals.cpp +./src/operators/IntegerDivide.cpp +./src/operators/Except.cpp +./src/operators/Divide.cpp +./src/operators/GreaterThanEqual.cpp +./src/operators/Multiply.cpp +./src/operators/ArithmeticOperator.cpp +./src/operators/Mod.cpp +./src/operators/Intersect.cpp +./src/yajl/yajl_encode.c +./src/yajl/yajl.c +./src/yajl/yajl_parser.c +./src/yajl/yajl_buf.c +./src/yajl/yajl_gen.c +./src/yajl/yajl_lex.c +./src/utils/utf8proc/utf8proc.c +./src/mapm/mapm_log.c +./src/mapm/mapm_div.c +./src/mapm/mapmfmul.c +./src/mapm/mapm_add.c +./src/mapm/mapmhsin.c +./src/mapm/mapm_fft.c +./src/mapm/mapmipwr.c +./src/mapm/mapmasin.c +./src/mapm/mapm_rnd.c +./src/mapm/mapmutl2.c +./src/mapm/mapm_fam.c +./src/mapm/mapm_fpf.c +./src/mapm/mapmutil.c +./src/mapm/mapm5sin.c +./src/mapm/mapmstck.c +./src/mapm/mapm_exp.c +./src/mapm/mapm_mul.c +./src/mapm/mapmfact.c +./src/mapm/mapmgues.c +./src/mapm/mapm_flr.c +./src/mapm/mapmcbrt.c +./src/mapm/mapm_lg3.c +./src/mapm/mapm_rcp.c +./src/mapm/mapm_sin.c +./src/mapm/mapmistr.c +./src/mapm/mapmhasn.c +./src/mapm/mapmasn0.c +./src/mapm/mapmrsin.c +./src/mapm/mapm_set.c +./src/mapm/mapmsqrt.c +./src/mapm/mapm_gcd.c +./src/mapm/mapm_lg2.c +./src/mapm/mapmcnst.c +./src/mapm/mapm_pow.c +./src/mapm/mapmpwr2.c +./src/mapm/mapm_cpi.c +) + +include_directories(include) +find_package(XercesC REQUIRED) + +target_include_directories(xqilla PRIVATE "${XercesC_INCLUDE_DIRS}") +target_include_directories(xqilla PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/include") + +if (NOT XQILLA_STATIC) + target_link_libraries(xqilla PUBLIC debug "${XercesC_LIBRARY_DEBUG}") + target_link_libraries(xqilla PUBLIC optimized "${XercesC_LIBRARY_RELEASE}") +endif() + +install( + TARGETS xqilla + EXPORT unofficial-xqilla + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +install( + DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/xqilla" + CONFIGURATIONS Release + DESTINATION include +) + +install( + EXPORT unofficial-xqilla + DESTINATION share/unofficial-xqilla + FILE unofficial-xqillaConfig.cmake + NAMESPACE unofficial::xqilla:: + CONFIGURATIONS Release +) diff --git a/ports/xqilla/fix-compare.patch b/ports/xqilla/fix-compare.patch new file mode 100644 index 00000000000000..7e2d0d39a69b49 --- /dev/null +++ b/ports/xqilla/fix-compare.patch @@ -0,0 +1,26 @@ +diff --git a/include/xqilla/ast/XQDocumentOrder.hpp b/include/xqilla/ast/XQDocumentOrder.hpp +index 81189e6..c22280a 100644 +--- a/include/xqilla/ast/XQDocumentOrder.hpp ++++ b/include/xqilla/ast/XQDocumentOrder.hpp +@@ -68,7 +68,7 @@ private: + public: + uniqueLessThanCompareFn(const DynamicContext *context) + : context_(context) {} +- bool operator()(const Node::Ptr &first, const Node::Ptr &second) ++ bool operator()(const Node::Ptr &first, const Node::Ptr &second) const + { + return first->uniqueLessThan(second, context_); + } +diff --git a/src/lexer/XQLexer.cpp b/src/lexer/XQLexer.cpp +index 69c923f..aed0465 100644 +--- a/src/lexer/XQLexer.cpp ++++ b/src/lexer/XQLexer.cpp +@@ -235,7 +235,7 @@ static void yy_flex_free YY_PROTO(( void * )); + #define YY_SKIP_YYWRAP + #define yytext_ptr yytext + +-#include ++#include "FlexLexer.h" + int yyFlexLexer::yylex() + { + LexerError( "yyFlexLexer::yylex invoked but %option yyclass used" ); diff --git a/ports/xqilla/portfile.cmake b/ports/xqilla/portfile.cmake new file mode 100644 index 00000000000000..ffc48298c81811 --- /dev/null +++ b/ports/xqilla/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_download_distfile(ARCHIVE + URLS "https://sourceforge.net/projects/xqilla/files/XQilla-2.3.4.tar.gz/download" + FILENAME "XQilla-2.3.4.tar.gz" + SHA512 f744ff883675887494780d24ecdc94afa394d3795d1544b1c598016b3f936c340ad7cd84529ac12962e3c5ce2f1be928a0cd4f9b9eb70e6645a38b0728cb1994 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES "fix-compare.patch" +) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + list(APPEND COMPILE_OPTIONS "-DXQILLA_STATIC=static") +endif() + + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + NO_CHARSET_FLAG + OPTIONS ${COMPILE_OPTIONS} +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/xqilla" RENAME copyright) diff --git a/ports/xqilla/vcpkg.json b/ports/xqilla/vcpkg.json new file mode 100644 index 00000000000000..7b7d535aab1c3d --- /dev/null +++ b/ports/xqilla/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "xqilla", + "version": "2.3.4", + "description": "XQuery and XPath 2 library", + "homepage": "http://xqilla.sourceforge.net/HomePage", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "xerces-c" + ] +} diff --git a/ports/yajl/portfile.cmake b/ports/yajl/portfile.cmake index c01987dee9fe93..43783a70896e61 100644 --- a/ports/yajl/portfile.cmake +++ b/ports/yajl/portfile.cmake @@ -1,32 +1,43 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO lloyd/yajl - REF 2.1.0 - SHA512 9e786d080803df80ec03a9c2f447501e6e8e433a6baf636824bc1d50ecf4f5f80d7dfb1d47958aeb0a30fe459bd0ef033d41bc6a79e1dc6e6b5eade930b19b02 + REF a0ecdde0c042b9256170f2f8890dd9451a4240aa #2.1.0 + SHA512 cf0279fdbdc21d07bc0f2d409f1dddb39fd2ad62ab9872e620f46de4753958f8c59e44ef2ee734547f0f25f9490bada8c9e97dcc1a4b14b25d3e7a7254f8e1f3 HEAD_REF master - PATCHES ${CMAKE_CURRENT_LIST_DIR}/cmake.patch + PATCHES cmake.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/yajl RENAME copyright) +if (EXISTS "${CURRENT_PACKAGES_DIR}/debug/share/pkgconfig/yajl.pc") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/share/pkgconfig/yajl.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/yajl.pc") +endif() +if (EXISTS "${CURRENT_PACKAGES_DIR}/share/pkgconfig/yajl.pc") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") + file(RENAME "${CURRENT_PACKAGES_DIR}/share/pkgconfig/yajl.pc" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/yajl.pc") +endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share ${CURRENT_PACKAGES_DIR}/share/pkgconfig) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/share/pkgconfig") if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) - file(GLOB SHAREDOBJECTS ${CURRENT_PACKAGES_DIR}/lib/libyajl.so* ${CURRENT_PACKAGES_DIR}/debug/lib/libyajl.so*) - file(REMOVE_RECURSE ${SHAREDOBJECTS} ${CURRENT_PACKAGES_DIR}/lib/yajl.lib ${CURRENT_PACKAGES_DIR}/debug/lib/yajl.lib) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") + file(GLOB SHAREDOBJECTS "${CURRENT_PACKAGES_DIR}/lib/libyajl.so*" "${CURRENT_PACKAGES_DIR}/debug/lib/libyajl.so*") + file(REMOVE_RECURSE "${SHAREDOBJECTS}" "${CURRENT_PACKAGES_DIR}/lib/yajl.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/yajl.lib") else() - file(GLOB EXES ${CURRENT_PACKAGES_DIR}/bin/*.exe ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) + file(GLOB EXES "${CURRENT_PACKAGES_DIR}/bin/*.exe" "${CURRENT_PACKAGES_DIR}/debug/bin/*.exe") file(REMOVE_RECURSE ${EXES} - ${CURRENT_PACKAGES_DIR}/lib/yajl_s.lib ${CURRENT_PACKAGES_DIR}/debug/lib/yajl_s.lib - ${CURRENT_PACKAGES_DIR}/lib/libyajl_s.a ${CURRENT_PACKAGES_DIR}/debug/lib/libyajl_s.a + "${CURRENT_PACKAGES_DIR}/lib/yajl_s.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/yajl_s.lib" + "${CURRENT_PACKAGES_DIR}/lib/libyajl_s.a" "${CURRENT_PACKAGES_DIR}/debug/lib/libyajl_s.a" ) endif() + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/yajl" RENAME copyright) diff --git a/ports/yajl/vcpkg.json b/ports/yajl/vcpkg.json index 7d05045ab23362..d031be7cea78fa 100644 --- a/ports/yajl/vcpkg.json +++ b/ports/yajl/vcpkg.json @@ -1,6 +1,14 @@ { "name": "yajl", "version-string": "2.1.0", - "port-version": 2, - "description": "Yet Another JSON Library" + "port-version": 3, + "description": "Yet Another JSON Library", + "homepage": "https://github.com/lloyd/yajl", + "license": "ISC", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index 8c964c6b7beec3..5a475b00f9f017 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -525,6 +525,10 @@ foreach(Z_VCPKG_TOOLS_DIR IN LISTS Z_VCPKG_TOOLS_DIRS) endif() endforeach() +cmake_policy(POP) + +# Any policies applied to the below macros and functions appear to leak into consumers + function(add_executable) z_vcpkg_function_arguments(ARGS) _add_executable(${ARGS}) @@ -787,6 +791,9 @@ macro("${VCPKG_OVERRIDE_FIND_PACKAGE_NAME}" z_vcpkg_find_package_package_name) endforeach() endmacro() +cmake_policy(PUSH) +cmake_policy(VERSION 3.7.2) + set(VCPKG_TOOLCHAIN ON) set(Z_VCPKG_UNUSED "${CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION}") set(Z_VCPKG_UNUSED "${CMAKE_EXPORT_NO_PACKAGE_REGISTRY}") diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index cbc9bdf98ba3d9..8db3976efcf114 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -170,8 +170,6 @@ crashpad:arm64-windows=fail crashpad:arm-uwp=fail crashpad:x64-linux=fail crashpad:x86-windows=fail -ctemplate:arm64-windows=fail -ctemplate:arm-uwp=fail ctemplate:x64-linux=fail ctemplate:x64-osx=fail cuda:x64-osx=fail @@ -190,8 +188,6 @@ dbghelp:x64-windows-static=skip dbghelp:x64-windows-static-md=skip dbghelp:x64-windows=skip dbghelp:x86-windows=skip -dcmtk:arm-uwp=fail -dcmtk:arm64-windows=fail dcmtk:x64-uwp=fail devicenameresolver:x64-windows-static=fail # legacy directxsdk which conflicts with dxsdk-d3dx @@ -1003,7 +999,6 @@ pmdk:x86-windows=fail pngwriter:arm-uwp=fail pngwriter:x64-uwp=fail popsift:x64-windows-static-md=fail -poppler:arm64-windows=fail portable-snippets:arm-uwp=fail pqp:arm-uwp=fail pqp:x64-uwp=fail diff --git a/scripts/cmake/vcpkg_check_features.cmake b/scripts/cmake/vcpkg_check_features.cmake index 7679b0d11aa547..5f4c5339b6615c 100644 --- a/scripts/cmake/vcpkg_check_features.cmake +++ b/scripts/cmake/vcpkg_check_features.cmake @@ -55,9 +55,8 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS secure MI_SECURE ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS # Expands to "-DMI_SEE_ASM=ON;-DMI_OVERRIDE=OFF;-DMI_SECURE=ON" ${FEATURE_OPTIONS} @@ -76,9 +75,8 @@ vcpkg_check_features( websockets CPPREST_EXCLUDE_WEBSOCKETS ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS # Expands to "-DCPPREST_EXCLUDE_BROTLI=ON;-DCPPREST_EXCLUDE_WEBSOCKETS=OFF" ${FEATURE_OPTIONS} @@ -98,9 +96,8 @@ vcpkg_check_features( cuda BUILD_GPU ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS # Expands to "-DWITH_CUDA=ON;-DBUILD_CUDA=ON;-DBUILD_GPU=ON" ${FEATURE_OPTIONS} @@ -120,9 +117,8 @@ vcpkg_check_features( tbb ROCKSDB_IGNORE_PACKAGE_TBB ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS # Expands to "-DWITH_TBB=ON;-DROCKSDB_IGNORE_PACKAGE_TBB=OFF" ${FEATURE_OPTIONS} diff --git a/scripts/cmake/vcpkg_find_fortran.cmake b/scripts/cmake/vcpkg_find_fortran.cmake index 75005c65ed210e..0e82c7d36f6f6c 100644 --- a/scripts/cmake/vcpkg_find_fortran.cmake +++ b/scripts/cmake/vcpkg_find_fortran.cmake @@ -14,7 +14,7 @@ vcpkg_find_fortran() ```cmake vcpkg_find_fortran(fortran_args) # ... -vcpkg_configure_cmake(... +vcpkg_cmake_configure(... OPTIONS ${fortran_args} ) diff --git a/scripts/test_ports/cmake-user/vcpkg.json b/scripts/test_ports/cmake-user/vcpkg.json index bf8ca455bd97eb..bad18562e8f049 100644 --- a/scripts/test_ports/cmake-user/vcpkg.json +++ b/scripts/test_ports/cmake-user/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cmake-user", - "version-date": "2021-07-24", + "version-date": "2022-02-18", "description": "Test port to verify the vcpkg toolchain in cmake user projects", "default-features": [ "ci" @@ -15,14 +15,6 @@ "features": [ "find-package" ] - }, - { - "name": "cmake-user", - "default-features": false, - "features": [ - "cmake-3-4" - ], - "platform": "x64 & (windows | linux | osx) & !uwp" } ] }, diff --git a/scripts/test_ports/unit-test-cmake/portfile.cmake b/scripts/test_ports/unit-test-cmake/portfile.cmake index 497cb18a383b09..d506ebaf66374a 100644 --- a/scripts/test_ports/unit-test-cmake/portfile.cmake +++ b/scripts/test_ports/unit-test-cmake/portfile.cmake @@ -145,6 +145,9 @@ endif() if("function-arguments" IN_LIST FEATURES) include("${CMAKE_CURRENT_LIST_DIR}/test-z_vcpkg_function_arguments.cmake") endif() +if("merge-libs" IN_LIST FEATURES) + include("${CMAKE_CURRENT_LIST_DIR}/test-z_vcpkg_cmake_config_fixup_merge.cmake") +endif() if(Z_VCPKG_UNIT_TEST_HAS_ERROR) _message(FATAL_ERROR "At least one test failed") diff --git a/scripts/test_ports/unit-test-cmake/test-z_vcpkg_cmake_config_fixup_merge.cmake b/scripts/test_ports/unit-test-cmake/test-z_vcpkg_cmake_config_fixup_merge.cmake new file mode 100644 index 00000000000000..8809af46ff577d --- /dev/null +++ b/scripts/test_ports/unit-test-cmake/test-z_vcpkg_cmake_config_fixup_merge.cmake @@ -0,0 +1,56 @@ +# z_vcpkg_cmake_config_fixup_merge( ) +set(release_libs namespace::C++_shared) +set(debug_libs namespace::C++_shared) +unit_test_check_variable_equal( + [[z_vcpkg_cmake_config_fixup_merge(merged release_libs debug_libs)]] + merged "namespace::C++_shared" +) + +set(release_libs A) +set(debug_libs B) +unit_test_check_variable_equal( + [[z_vcpkg_cmake_config_fixup_merge(merged release_libs debug_libs)]] + merged [[\$<\$>:A>;\$<\$:B>]] +) + +set(release_libs A B) +set(debug_libs A ) +unit_test_check_variable_equal( + [[z_vcpkg_cmake_config_fixup_merge(merged release_libs debug_libs)]] + merged [[A;\$<\$>:B>]] +) + +set(release_libs A ) +set(debug_libs A B) +unit_test_check_variable_equal( + [[z_vcpkg_cmake_config_fixup_merge(merged release_libs debug_libs)]] + merged [[A;\$<\$:B>]] +) + +set(release_libs A C) +set(debug_libs C) +unit_test_check_variable_equal( + [[z_vcpkg_cmake_config_fixup_merge(merged release_libs debug_libs)]] + merged [[\$<\$>:A>;\$<\$:C>;\$<\$>:C>]] +) + +set(release_libs [[\$<\$>:A>;\$<\$:B>]]) +set(debug_libs [[\$<\$>:A>;\$<\$:B>]]) +unit_test_check_variable_equal( + [[z_vcpkg_cmake_config_fixup_merge(merged release_libs debug_libs)]] + merged [[\$<\$>:A>;\$<\$:B>]] +) + +set(release_libs optimized o1 debug d1) +set(debug_libs optimized o2 debug d2) +unit_test_check_variable_equal( + [[z_vcpkg_cmake_config_fixup_merge(merged release_libs debug_libs)]] + merged [[\$<\$>:o1>;\$<\$:d2>]] +) + +set(release_libs debug d1 optimized o1) +set(debug_libs debug d2 optimized o2) +unit_test_check_variable_equal( + [[z_vcpkg_cmake_config_fixup_merge(merged release_libs debug_libs)]] + merged [[\$<\$:d2>;\$<\$>:o1>]] +) diff --git a/scripts/test_ports/unit-test-cmake/vcpkg.json b/scripts/test_ports/unit-test-cmake/vcpkg.json index 366d1d7a93fb7c..28cacbc8f34cf8 100644 --- a/scripts/test_ports/unit-test-cmake/vcpkg.json +++ b/scripts/test_ports/unit-test-cmake/vcpkg.json @@ -18,6 +18,15 @@ "list": { "description": "Test the vcpkg_list function" }, + "merge-libs": { + "description": "Test the z_vcpkg_cmake_config_fixup_merge_lists function", + "dependencies": [ + { + "name": "vcpkg-cmake-config", + "host": true + } + ] + }, "minimum-required": { "description": "Test the vcpkg_minimum_required function" } diff --git a/versions/a-/apsi.json b/versions/a-/apsi.json index 3a593eceb1a997..991bf7ddcf1556 100644 --- a/versions/a-/apsi.json +++ b/versions/a-/apsi.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "08bc0f650b7fa0ef77541eb74b90d0b9fe7fec03", + "version-semver": "0.7.0", + "port-version": 2 + }, { "git-tree": "c2703eaa248b72c269dd22aac1e2aca49060dfba", "version-semver": "0.7.0", diff --git a/versions/a-/arrow.json b/versions/a-/arrow.json index f6404626af2f37..aeed66f187a501 100644 --- a/versions/a-/arrow.json +++ b/versions/a-/arrow.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "3682e12e1b3f3aa79551877b157ff3d914cb5c90", + "version": "7.0.0", + "port-version": 0 + }, { "git-tree": "b12626f29cb0ba8a049241153af0dfeca9a810d7", "version": "6.0.1", diff --git a/versions/b-/bde.json b/versions/b-/bde.json index f587a05e530024..5d27e439a963b9 100644 --- a/versions/b-/bde.json +++ b/versions/b-/bde.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7ce72f2854f44eee806e6e5f3e97d29897549787", + "version": "3.2.0.0", + "port-version": 5 + }, { "git-tree": "60082ad73e5c9fb9828041183b026fc15e453218", "version-string": "3.2.0.0", diff --git a/versions/b-/brpc.json b/versions/b-/brpc.json index a4a7a98e02265f..a7a9687b5a7965 100644 --- a/versions/b-/brpc.json +++ b/versions/b-/brpc.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "bcff3231352f577720f51a99dbf9ecf0132ebcba", + "version": "0.9.7", + "port-version": 7 + }, { "git-tree": "f658cec9384935d01319d2725a039da7cb5e6c77", "version-string": "0.9.7", diff --git a/versions/baseline.json b/versions/baseline.json index e59466a71c6189..fb3e750afac832 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -118,7 +118,7 @@ }, "apsi": { "baseline": "0.7.0", - "port-version": 1 + "port-version": 2 }, "arb": { "baseline": "2.21.1", @@ -169,8 +169,8 @@ "port-version": 0 }, "arrow": { - "baseline": "6.0.1", - "port-version": 1 + "baseline": "7.0.0", + "port-version": 0 }, "ashes": { "baseline": "2021-06-18", @@ -402,7 +402,7 @@ }, "bde": { "baseline": "3.2.0.0", - "port-version": 4 + "port-version": 5 }, "bdwgc": { "baseline": "8.2.0", @@ -1146,7 +1146,7 @@ }, "brpc": { "baseline": "0.9.7", - "port-version": 6 + "port-version": 7 }, "brunocodutra-metal": { "baseline": "2.1.3", @@ -1214,7 +1214,7 @@ }, "cairo": { "baseline": "1.17.4", - "port-version": 3 + "port-version": 4 }, "cairomm": { "baseline": "1.16.0", @@ -1682,7 +1682,7 @@ }, "ctemplate": { "baseline": "2020-09-14", - "port-version": 2 + "port-version": 3 }, "ctp": { "baseline": "6.6.1_P1_20210406_se", @@ -1798,7 +1798,7 @@ }, "dcmtk": { "baseline": "3.6.6", - "port-version": 2 + "port-version": 3 }, "debug-assert": { "baseline": "1.3.3", @@ -1897,8 +1897,8 @@ "port-version": 0 }, "double-conversion": { - "baseline": "3.1.5", - "port-version": 1 + "baseline": "3.2.0", + "port-version": 0 }, "dpdk": { "baseline": "19.02", @@ -2018,7 +2018,7 @@ }, "embree2": { "baseline": "2.17.7", - "port-version": 3 + "port-version": 4 }, "embree3": { "baseline": "3.12.2", @@ -2378,7 +2378,7 @@ }, "gdal": { "baseline": "3.4.1", - "port-version": 1 + "port-version": 2 }, "gdcm": { "baseline": "3.0.7", @@ -3314,7 +3314,7 @@ }, "leveldb": { "baseline": "1.22", - "port-version": 3 + "port-version": 4 }, "levmar": { "baseline": "2.6", @@ -3332,6 +3332,10 @@ "baseline": "8.1.70", "port-version": 1 }, + "libao": { + "baseline": "1.2.2", + "port-version": 3 + }, "libarchive": { "baseline": "3.5.2", "port-version": 3 @@ -3565,8 +3569,8 @@ "port-version": 1 }, "libhv": { - "baseline": "1.2.2", - "port-version": 1 + "baseline": "1.2.4", + "port-version": 0 }, "libhydrogen": { "baseline": "2021-12-02", @@ -4002,7 +4006,7 @@ }, "libtins": { "baseline": "4.3", - "port-version": 5 + "port-version": 6 }, "libtomcrypt": { "baseline": "1.18.2", @@ -4953,8 +4957,8 @@ "port-version": 0 }, "open62541": { - "baseline": "1.2.2", - "port-version": 1 + "baseline": "1.2.3", + "port-version": 0 }, "openal-soft": { "baseline": "1.21.1", @@ -5417,8 +5421,8 @@ "port-version": 4 }, "poppler": { - "baseline": "20.12.1", - "port-version": 6 + "baseline": "22.2.0", + "port-version": 0 }, "popsift": { "baseline": "0.9", @@ -6145,8 +6149,8 @@ "port-version": 1 }, "rsm-bsa": { - "baseline": "4.0.0", - "port-version": 1 + "baseline": "4.0.2", + "port-version": 0 }, "rsm-mmio": { "baseline": "1.1.0", @@ -6794,7 +6798,7 @@ }, "tesseract": { "baseline": "4.1.1", - "port-version": 9 + "port-version": 10 }, "tfhe": { "baseline": "1.0.1", @@ -6954,7 +6958,7 @@ }, "tmx": { "baseline": "1.2.0", - "port-version": 0 + "port-version": 1 }, "tmxlite": { "baseline": "1.3.0", @@ -7193,7 +7197,7 @@ "port-version": 0 }, "vcpkg-cmake-config": { - "baseline": "2022-01-30", + "baseline": "2022-02-06", "port-version": 0 }, "vcpkg-gfortran": { @@ -7440,6 +7444,10 @@ "baseline": "0.8.1", "port-version": 1 }, + "xqilla": { + "baseline": "2.3.4", + "port-version": 0 + }, "xsimd": { "baseline": "8.0.3", "port-version": 0 @@ -7470,7 +7478,7 @@ }, "yajl": { "baseline": "2.1.0", - "port-version": 2 + "port-version": 3 }, "yaml-cpp": { "baseline": "0.7.0", diff --git a/versions/c-/cairo.json b/versions/c-/cairo.json index 6242839810e66f..4d52ec12077d9e 100644 --- a/versions/c-/cairo.json +++ b/versions/c-/cairo.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c024050e140b5174c6ef3094bad3cb2d6a710f82", + "version": "1.17.4", + "port-version": 4 + }, { "git-tree": "d8bed1ec84c641aad98858b6fb1151b09273227e", "version": "1.17.4", diff --git a/versions/c-/ctemplate.json b/versions/c-/ctemplate.json index d9e9f8ecb4b78a..231ef80ca605da 100644 --- a/versions/c-/ctemplate.json +++ b/versions/c-/ctemplate.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "d0cd0a34b622b661af41d0f829ad22e406cd6c7f", + "version-date": "2020-09-14", + "port-version": 3 + }, { "git-tree": "491ab782407b38835b9a555dc77e6d3af485fdae", "version-date": "2020-09-14", diff --git a/versions/d-/dcmtk.json b/versions/d-/dcmtk.json index 98820308ec2379..a75be29323c158 100644 --- a/versions/d-/dcmtk.json +++ b/versions/d-/dcmtk.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ce25087f7df7d83c796eee09b4457e7aa70848ad", + "version": "3.6.6", + "port-version": 3 + }, { "git-tree": "24716759e4aa3fb67b014163ae3be95ad88120b6", "version-string": "3.6.6", diff --git a/versions/d-/double-conversion.json b/versions/d-/double-conversion.json index c6d5973e87ae14..133306d2c51814 100644 --- a/versions/d-/double-conversion.json +++ b/versions/d-/double-conversion.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "b85d7877f614063165639f251200a65e8d5c9ba5", + "version": "3.2.0", + "port-version": 0 + }, { "git-tree": "d28a31601897003105b70c847d82a82cd5b5355a", "version-string": "3.1.5", diff --git a/versions/e-/embree2.json b/versions/e-/embree2.json index 668cfc9cc572c1..6b45901ef323ab 100644 --- a/versions/e-/embree2.json +++ b/versions/e-/embree2.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "59aae2cf542f2420880b312e4e5071c6afcd5aaa", + "version-semver": "2.17.7", + "port-version": 4 + }, { "git-tree": "b4048eb6da97d8a23b849a1b5fba7ba93f9c33bf", "version-semver": "2.17.7", diff --git a/versions/g-/gdal.json b/versions/g-/gdal.json index 569ea9aa87bcc7..ea444b7851494f 100644 --- a/versions/g-/gdal.json +++ b/versions/g-/gdal.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "e90ac12366dec86dcacf5a66562e48f80254b3c5", + "version-semver": "3.4.1", + "port-version": 2 + }, { "git-tree": "b3bff053bc6f972c2c19f88047f2a5ae53f21746", "version-semver": "3.4.1", diff --git a/versions/l-/leveldb.json b/versions/l-/leveldb.json index b5ebbf73420347..6ea6fea01b7b3d 100644 --- a/versions/l-/leveldb.json +++ b/versions/l-/leveldb.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c41d96d2e0f6f6301e2370bc00fa7390cdd94330", + "version-string": "1.22", + "port-version": 4 + }, { "git-tree": "55e42f74e1f541143900887a64661c8c8e4ea713", "version-string": "1.22", diff --git a/versions/l-/libao.json b/versions/l-/libao.json new file mode 100644 index 00000000000000..dcd2a4f41a1014 --- /dev/null +++ b/versions/l-/libao.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "931d3ed363323bdc4de00c91165f3a09e23fb6b1", + "version": "1.2.2", + "port-version": 3 + }, + { + "git-tree": "3ce3e18f2bb49577bbf0e0341cd0e5eb425e47bc", + "version": "1.2.2", + "port-version": 2 + } + ] +} diff --git a/versions/l-/libhv.json b/versions/l-/libhv.json index bf137523013f79..28af6e8ca45a75 100644 --- a/versions/l-/libhv.json +++ b/versions/l-/libhv.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "9867c0ba3cb7de25db2dd22fdd5633de7faae440", + "version": "1.2.4", + "port-version": 0 + }, { "git-tree": "83c3744dfa329eb88671faee8c3839c1b5f3901e", "version": "1.2.2", diff --git a/versions/l-/libtins.json b/versions/l-/libtins.json index bc2c099fcf96fa..d81d747b036c65 100644 --- a/versions/l-/libtins.json +++ b/versions/l-/libtins.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "4a1470befea5c6b5c7418f9b85f37d6f8733d7d5", + "version": "4.3", + "port-version": 6 + }, { "git-tree": "9abc8b1a535ffaf99a680412cfd8f0c743c3fc6d", "version": "4.3", diff --git a/versions/o-/open62541.json b/versions/o-/open62541.json index 0dc94c24b556c2..40cad68db7cdf9 100644 --- a/versions/o-/open62541.json +++ b/versions/o-/open62541.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7a42ce1cf8d2a5f4380a4dcc2807a0d86962d49d", + "version": "1.2.3", + "port-version": 0 + }, { "git-tree": "62aab840d7f987d8ca2ad5b9d81111a0b6f93dfd", "version": "1.2.2", diff --git a/versions/p-/poppler.json b/versions/p-/poppler.json index 0b609a36c975af..6dbef9b4de9fe4 100644 --- a/versions/p-/poppler.json +++ b/versions/p-/poppler.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "139058e4ec62f875c5538cbd1577c95938183364", + "version": "22.2.0", + "port-version": 0 + }, { "git-tree": "3f15f5c09cc977692e0c081d39e7e85f2229efe1", "version": "20.12.1", diff --git a/versions/r-/rsm-bsa.json b/versions/r-/rsm-bsa.json index 5fcd953cd27a9e..200aa322982cca 100644 --- a/versions/r-/rsm-bsa.json +++ b/versions/r-/rsm-bsa.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c1791d77c435bd1a78a330e3c0bab2da49b8f183", + "version-semver": "4.0.2", + "port-version": 0 + }, { "git-tree": "ab00b90abe4a8c06ede41183ef67b2208ae42297", "version-semver": "4.0.0", diff --git a/versions/t-/tesseract.json b/versions/t-/tesseract.json index ec7094f6c56076..e13ddd02565661 100644 --- a/versions/t-/tesseract.json +++ b/versions/t-/tesseract.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ac84bef93d2709f28bf4ab8341a80dab949a8cf1", + "version": "4.1.1", + "port-version": 10 + }, { "git-tree": "10ffafb1de68c463fbac91a484d2c27cc618c0c9", "version": "4.1.1", diff --git a/versions/t-/tmx.json b/versions/t-/tmx.json index d362504b41da52..862004cd4473ae 100644 --- a/versions/t-/tmx.json +++ b/versions/t-/tmx.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "1b0ec7979f9a75aab71e9488940a4beff74bd745", + "version": "1.2.0", + "port-version": 1 + }, { "git-tree": "207601a8ff1891880a88013e3b36ea0f81979010", "version": "1.2.0", diff --git a/versions/v-/vcpkg-cmake-config.json b/versions/v-/vcpkg-cmake-config.json index ea72bd4f76a331..208504f941a30c 100644 --- a/versions/v-/vcpkg-cmake-config.json +++ b/versions/v-/vcpkg-cmake-config.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "24dc7dfc704406e9f745f033643dc25f56e4ca18", + "version-date": "2022-02-06", + "port-version": 0 + }, { "git-tree": "fea8f92ffa5e14c7111fe526f8cc93ecd8f9dbf0", "version-date": "2022-01-30", diff --git a/versions/x-/xqilla.json b/versions/x-/xqilla.json new file mode 100644 index 00000000000000..46f07c53b0e253 --- /dev/null +++ b/versions/x-/xqilla.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "5e0e7d4ac944e58a70a8a71a8a715598b22c7e73", + "version": "2.3.4", + "port-version": 0 + } + ] +} diff --git a/versions/y-/yajl.json b/versions/y-/yajl.json index d51bb4bee74b78..a6494c169c6fe8 100644 --- a/versions/y-/yajl.json +++ b/versions/y-/yajl.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "348d0cb4e70b0db911dbd9e014d69164eb53cec4", + "version-string": "2.1.0", + "port-version": 3 + }, { "git-tree": "a1f09d6c9effe9aa148fb4c659498c3dc82c61d8", "version-string": "2.1.0",