aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBarath Kannan <barathsotd@gmail.com>2018-01-17 19:00:43 +1100
committerBarath Kannan <barathsotd@gmail.com>2018-01-17 19:00:43 +1100
commitc30363d07b3f64b5f38531442ea92d9c1cf81d13 (patch)
tree8a169a2a0aadf40dad50e73d226c3eca1e949327
parent47189e90d59459be69d4f6a0b039849913031c8e (diff)
parent28c5c6ae4601c323cbd57a13da03b9047dc282ad (diff)
downloadvcpkg-c30363d07b3f64b5f38531442ea92d9c1cf81d13.tar.gz
vcpkg-c30363d07b3f64b5f38531442ea92d9c1cf81d13.zip
Merge branch 'master' into qt5_modular
-rw-r--r--.gitignore13
-rw-r--r--CHANGELOG.md248
-rw-r--r--README.md2
-rw-r--r--docs/maintainers/vcpkg_download_distfile.md11
-rw-r--r--ports/args/CONTROL3
-rw-r--r--ports/args/portfile.cmake19
-rw-r--r--ports/asio/CONTROL2
-rw-r--r--ports/asio/portfile.cmake19
-rw-r--r--ports/aubio/CONTROL2
-rw-r--r--ports/boost-test/CONTROL2
-rw-r--r--ports/boost-test/portfile.cmake9
-rw-r--r--ports/boost-vcpkg-helpers/generate-ports.ps122
-rw-r--r--ports/box2d/portfile.cmake11
-rw-r--r--ports/box2d/use-static-linkage.patch40
-rw-r--r--ports/bullet3/CONTROL2
-rw-r--r--ports/bullet3/portfile.cmake32
-rw-r--r--ports/cgal/CONTROL2
-rw-r--r--ports/cgal/portfile.cmake4
-rw-r--r--ports/chaiscript/CONTROL3
-rw-r--r--ports/chaiscript/portfile.cmake25
-rw-r--r--ports/cimg/CMakeLists.txt21
-rw-r--r--ports/cimg/CONTROL3
-rw-r--r--ports/cimg/portfile.cmake23
-rw-r--r--ports/corrade/CONTROL2
-rw-r--r--ports/corrade/portfile.cmake4
-rw-r--r--ports/cpp-redis/CONTROL2
-rw-r--r--ports/cpp-redis/fix-cmakelists.patch29
-rw-r--r--ports/cpp-redis/fix-export.patch22
-rw-r--r--ports/cpp-redis/portfile.cmake26
-rw-r--r--ports/cpr/enable-install.patch2
-rw-r--r--ports/date/CMakeLists.txt2
-rw-r--r--ports/date/CONTROL2
-rw-r--r--ports/date/portfile.cmake9
-rw-r--r--ports/directxmesh/CONTROL2
-rw-r--r--ports/directxmesh/portfile.cmake39
-rw-r--r--ports/directxtex/CONTROL2
-rw-r--r--ports/directxtex/portfile.cmake43
-rw-r--r--ports/directxtk/CONTROL2
-rw-r--r--ports/directxtk/portfile.cmake38
-rw-r--r--ports/dlib/CONTROL5
-rw-r--r--ports/dlib/portfile.cmake9
-rw-r--r--ports/fftw3/CONTROL2
-rw-r--r--ports/fftw3/portfile.cmake55
-rw-r--r--ports/flatbuffers/CONTROL2
-rw-r--r--ports/flatbuffers/portfile.cmake5
-rw-r--r--ports/gainput/CONTROL3
-rw-r--r--ports/gainput/portfile.cmake47
-rw-r--r--ports/gflags/CONTROL2
-rw-r--r--ports/gflags/fix-install.patch43
-rw-r--r--ports/gflags/fix-static-linking.patch13
-rw-r--r--ports/gflags/portfile.cmake5
-rw-r--r--ports/grpc/CONTROL2
-rw-r--r--ports/grpc/portfile.cmake4
-rw-r--r--ports/harfbuzz/CONTROL4
-rw-r--r--ports/harfbuzz/portfile.cmake13
-rw-r--r--ports/hdf5/CONTROL8
-rw-r--r--ports/hdf5/disable-static-libs.patch105
-rw-r--r--ports/hdf5/link-libraries-private.patch16
-rw-r--r--ports/hdf5/portfile.cmake16
-rw-r--r--ports/imgui/CMakeLists.txt9
-rw-r--r--ports/imgui/CONTROL2
-rw-r--r--ports/imgui/portfile.cmake5
-rw-r--r--ports/jack2/CMakeLists.txt14
-rw-r--r--ports/jack2/CONTROL4
-rw-r--r--ports/jack2/portfile.cmake29
-rw-r--r--ports/libbson/CONTROL2
-rw-r--r--ports/libbson/fix-uwp.patch76
-rw-r--r--ports/libbson/portfile.cmake37
-rw-r--r--ports/libbson/static.patch18
-rw-r--r--ports/libconfig/CMakeLists.txt9
-rw-r--r--ports/libconfig/CONTROL3
-rw-r--r--ports/libconfig/fix-scanner-header-msvc-patch.patch108
-rw-r--r--ports/libconfig/fix-scanner-source-msvc-patch.patch1122
-rw-r--r--ports/libconfig/portfile.cmake12
-rw-r--r--ports/libconfig/scandir.c112
-rw-r--r--ports/libdatrie/CMakeLists.txt94
-rw-r--r--ports/libdatrie/CONTROL4
-rw-r--r--ports/libdatrie/config.h.cmake87
-rw-r--r--ports/libdatrie/fix-exports.patch8
-rw-r--r--ports/libdatrie/fix-trietool.patch31
-rw-r--r--ports/libdatrie/portfile.cmake55
-rw-r--r--ports/libgit2/CONTROL3
-rw-r--r--ports/libgit2/portfile.cmake30
-rw-r--r--ports/libiconv/CONTROL2
-rw-r--r--ports/libiconv/portfile.cmake1
-rw-r--r--ports/libjpeg-turbo/portfile.cmake15
-rw-r--r--ports/libpqxx/CMakeLists.txt68
-rw-r--r--ports/libpqxx/CONTROL4
-rw-r--r--ports/libpqxx/config-internal-compiler.h.in14
-rw-r--r--ports/libpqxx/config-public-compiler.h.in8
-rw-r--r--ports/libpqxx/portfile.cmake23
-rw-r--r--ports/librtmp/CMakeLists.txt3
-rw-r--r--ports/librtmp/CONTROL2
-rw-r--r--ports/librtmp/fix_strncasecmp.patch18
-rw-r--r--ports/librtmp/hide_netstackdump.patch6
-rw-r--r--ports/librtmp/librtmp.def24
-rw-r--r--ports/librtmp/portfile.cmake9
-rw-r--r--ports/libsamplerate/CMakeLists.txt14
-rw-r--r--ports/libsamplerate/CONTROL3
-rw-r--r--ports/libsamplerate/portfile.cmake26
-rw-r--r--ports/libtorrent/CONTROL2
-rw-r--r--ports/libtorrent/add-dbghelp-to-win32-libs.patch13
-rw-r--r--ports/libtorrent/portfile.cmake5
-rw-r--r--ports/llvm/CONTROL2
-rw-r--r--ports/llvm/portfile.cmake34
-rw-r--r--ports/log4cplus/portfile.cmake15
-rw-r--r--ports/magnum-plugins/CONTROL2
-rw-r--r--ports/magnum-plugins/portfile.cmake4
-rw-r--r--ports/magnum/CONTROL2
-rw-r--r--ports/magnum/portfile.cmake4
-rw-r--r--ports/mongo-c-driver/CONTROL2
-rw-r--r--ports/mongo-c-driver/bson.patch23
-rw-r--r--ports/mongo-c-driver/fix-uwp.patch72
-rw-r--r--ports/mongo-c-driver/portfile.cmake61
-rw-r--r--ports/mongo-c-driver/static.patch13
-rw-r--r--ports/mpfr/portfile.cmake2
-rw-r--r--ports/mpg123/0002-fix-x86-build.patch24
-rw-r--r--ports/mpg123/CONTROL2
-rw-r--r--ports/mpg123/portfile.cmake8
-rw-r--r--ports/mpir/CONTROL2
-rw-r--r--ports/mpir/portfile.cmake15
-rw-r--r--ports/nlohmann-json/CONTROL2
-rw-r--r--ports/nlohmann-json/portfile.cmake4
-rw-r--r--ports/portmidi/CONTROL3
-rw-r--r--ports/portmidi/portfile.cmake49
-rw-r--r--ports/pybind11/CONTROL2
-rw-r--r--ports/pybind11/portfile.cmake4
-rw-r--r--ports/python3/0001-Static-library.patch11
-rw-r--r--ports/python3/0002-Static-CRT.patch4
-rw-r--r--ports/python3/CONTROL2
-rw-r--r--ports/python3/portfile.cmake26
-rw-r--r--ports/realsense2/CONTROL2
-rw-r--r--ports/realsense2/crt-linkage-restriction.patch12
-rw-r--r--ports/realsense2/portfile.cmake16
-rw-r--r--ports/rs-core-lib/CONTROL4
-rw-r--r--ports/rs-core-lib/portfile.cmake25
-rw-r--r--ports/sciter/CONTROL2
-rw-r--r--ports/sciter/portfile.cmake4
-rw-r--r--ports/sdl2-image/CMakeLists.txt4
-rw-r--r--ports/sdl2-image/CONTROL2
-rw-r--r--ports/sdl2-image/correct-sdl-headers-dir.patch25
-rw-r--r--ports/sdl2-image/portfile.cmake14
-rw-r--r--ports/sdl2-mixer/CMakeLists.txt3
-rw-r--r--ports/sdl2-mixer/CONTROL2
-rw-r--r--ports/sdl2-net/CMakeLists.txt2
-rw-r--r--ports/sdl2-net/CONTROL2
-rw-r--r--ports/sdl2-ttf/CMakeLists.txt2
-rw-r--r--ports/sdl2-ttf/CONTROL2
-rw-r--r--ports/sdl2/CONTROL2
-rw-r--r--ports/sdl2/portfile.cmake15
-rw-r--r--ports/sol/CONTROL3
-rw-r--r--ports/sol/portfile.cmake25
-rw-r--r--ports/soundtouch/CONTROL4
-rw-r--r--ports/soundtouch/portfile.cmake70
-rw-r--r--ports/sqlitecpp/0001-Find-external-sqlite3.patch26
-rw-r--r--ports/sqlitecpp/CONTROL4
-rw-r--r--ports/sqlitecpp/portfile.cmake33
-rw-r--r--ports/szip/CONTROL2
-rw-r--r--ports/szip/disable-static-lib-in-shared-build.patch15
-rw-r--r--ports/szip/portfile.cmake21
-rw-r--r--ports/tacopie/CONTROL2
-rw-r--r--ports/tacopie/fix-cmakelists.patch27
-rw-r--r--ports/tacopie/fix-export.patch20
-rw-r--r--ports/tacopie/portfile.cmake22
-rw-r--r--ports/tclap/CONTROL2
-rw-r--r--ports/tclap/portfile.cmake8
-rw-r--r--ports/tiff/portfile.cmake5
-rw-r--r--ports/tre/CMakeLists.txt37
-rw-r--r--ports/tre/CONTROL3
-rw-r--r--ports/tre/portfile.cmake26
-rw-r--r--ports/unicorn-lib/CMakeLists.txt30
-rw-r--r--ports/unicorn-lib/CONTROL4
-rw-r--r--ports/unicorn-lib/portfile.cmake34
-rw-r--r--ports/vtk/CONTROL4
-rw-r--r--ports/vtk/FindHDF5.cmake32
-rw-r--r--ports/vtk/fix-find-libharu.patch2
-rw-r--r--ports/vtk/portfile.cmake22
-rw-r--r--ports/yoga/CONTROL3
-rw-r--r--ports/yoga/portfile.cmake42
-rw-r--r--ports/zeromq/CONTROL2
-rw-r--r--ports/zeromq/portfile.cmake15
-rw-r--r--ports/zstd/CONTROL2
-rw-r--r--ports/zstd/portfile.cmake4
-rw-r--r--scripts/buildsystems/msbuild/vcpkg.targets15
-rw-r--r--scripts/buildsystems/vcpkg.cmake16
-rw-r--r--scripts/cmake/vcpkg_build_cmake.cmake105
-rw-r--r--scripts/cmake/vcpkg_configure_cmake.cmake37
-rw-r--r--scripts/cmake/vcpkg_download_distfile.cmake35
-rw-r--r--scripts/cmake/vcpkg_execute_required_process.cmake28
-rw-r--r--scripts/cmake/vcpkg_fixup_cmake_targets.cmake14
-rw-r--r--scripts/cmake/vcpkg_from_github.cmake9
-rw-r--r--scripts/fetchDependency.ps112
-rw-r--r--toolsrc/VERSION.txt2
-rw-r--r--toolsrc/include/vcpkg/commands.h2
-rw-r--r--toolsrc/include/vcpkg/triplet.h3
-rw-r--r--toolsrc/src/vcpkg/base/system.cpp2
-rw-r--r--toolsrc/src/vcpkg/commands.cpp7
-rw-r--r--toolsrc/src/vcpkg/commands.hash.cpp16
-rw-r--r--toolsrc/src/vcpkg/triplet.cpp3
-rw-r--r--toolsrc/src/vcpkg/vcpkgpaths.cpp10
-rw-r--r--triplets/arm-windows.cmake5
-rw-r--r--triplets/arm64-windows.cmake5
202 files changed, 2582 insertions, 2066 deletions
diff --git a/.gitignore b/.gitignore
index e1954660f..18384e3da 100644
--- a/.gitignore
+++ b/.gitignore
@@ -279,6 +279,19 @@ downloads/
installed*/
packages/
scripts/buildsystems/tmp/
+#ignore custom triplets
+triplets/*
+#add vcpkg-designed triplets back in
+!triplets/arm-uwp.cmake
+!triplets/arm-windows.cmake
+!triplets/x64-uwp.cmake
+!triplets/x64-windows.cmake
+!triplets/x64-windows-static.cmake
+!triplets/x86-uwp.cmake
+!triplets/x86-windows.cmake
+!triplets/x86-windows-static.cmake
+!triplets/arm64-uwp.cmake
+!triplets/arm64-windows.cmake
*.exe
*.zip
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2c07411a8..e2e2b42b9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,251 @@
+vcpkg (0.0.101)
+--------------
+ * Add ports:
+ - alac-decoder 0.2
+ - args d8905de
+ - boost-accumulators 1.66.0
+ - boost-algorithm 1.66.0
+ - boost-align 1.66.0
+ - boost-any 1.66.0
+ - boost-array 1.66.0
+ - boost-asio 1.66.0
+ - boost-assert 1.66.0
+ - boost-assign 1.66.0
+ - boost-atomic 1.66.0
+ - boost-beast 1.66.0
+ - boost-bimap 1.66.0
+ - boost-bind 1.66.0
+ - boost-build 1.66.0
+ - boost-callable-traits 1.66.0
+ - boost-chrono 1.66.0
+ - boost-circular-buffer 1.66.0
+ - boost-compatibility 1.66.0
+ - boost-compute 1.66.0
+ - boost-concept-check 1.66.0
+ - boost-config 1.66.0
+ - boost-container 1.66.0
+ - boost-context 1.66.0
+ - boost-conversion 1.66.0
+ - boost-convert 1.66.0
+ - boost-core 1.66.0
+ - boost-coroutine 1.66.0
+ - boost-coroutine2 1.66.0
+ - boost-crc 1.66.0
+ - boost-date-time 1.66.0
+ - boost-detail 1.66.0
+ - boost-disjoint-sets 1.66.0
+ - boost-dll 1.66.0
+ - boost-dynamic-bitset 1.66.0
+ - boost-endian 1.66.0
+ - boost-exception 1.66.0
+ - boost-fiber 1.66.0
+ - boost-filesystem 1.66.0
+ - boost-flyweight 1.66.0
+ - boost-foreach 1.66.0
+ - boost-format 1.66.0
+ - boost-function 1.66.0
+ - boost-function-types 1.66.0
+ - boost-functional 1.66.0
+ - boost-fusion 1.66.0
+ - boost-geometry 1.66.0
+ - boost-gil 1.66.0
+ - boost-graph 1.66.0
+ - boost-graph-parallel 1.66.0
+ - boost-hana 1.66.0
+ - boost-heap 1.66.0
+ - boost-icl 1.66.0
+ - boost-integer 1.66.0
+ - boost-interprocess 1.66.0
+ - boost-interval 1.66.0
+ - boost-intrusive 1.66.0
+ - boost-io 1.66.0
+ - boost-iostreams 1.66.0
+ - boost-iterator 1.66.0
+ - boost-lambda 1.66.0
+ - boost-lexical-cast 1.66.0
+ - boost-local-function 1.66.0
+ - boost-locale 1.66.0
+ - boost-lockfree 1.66.0
+ - boost-log 1.66.0
+ - boost-logic 1.66.0
+ - boost-math 1.66.0
+ - boost-metaparse 1.66.0
+ - boost-move 1.66.0
+ - boost-mp11 1.66.0
+ - boost-mpi 1.66.0
+ - boost-mpl 1.66.0
+ - boost-msm 1.66.0
+ - boost-multi-array 1.66.0
+ - boost-multi-index 1.66.0
+ - boost-multiprecision 1.66.0
+ - boost-numeric-conversion 1.66.0
+ - boost-odeint 1.66.0
+ - boost-optional 1.66.0
+ - boost-parameter 1.66.0
+ - boost-phoenix 1.66.0
+ - boost-poly-collection 1.66.0
+ - boost-polygon 1.66.0
+ - boost-pool 1.66.0
+ - boost-predef 1.66.0
+ - boost-preprocessor 1.66.0
+ - boost-process 1.66.0
+ - boost-program-options 1.66.0
+ - boost-property-map 1.66.0
+ - boost-property-tree 1.66.0
+ - boost-proto 1.66.0
+ - boost-ptr-container 1.66.0
+ - boost-python 1.66.0-1
+ - boost-qvm 1.66.0
+ - boost-random 1.66.0
+ - boost-range 1.66.0
+ - boost-ratio 1.66.0
+ - boost-rational 1.66.0
+ - boost-regex 1.66.0
+ - boost-scope-exit 1.66.0
+ - boost-serialization 1.66.0
+ - boost-signals 1.66.0
+ - boost-signals2 1.66.0
+ - boost-smart-ptr 1.66.0
+ - boost-sort 1.66.0
+ - boost-spirit 1.66.0
+ - boost-stacktrace 1.66.0
+ - boost-statechart 1.66.0
+ - boost-static-assert 1.66.0
+ - boost-system 1.66.0
+ - boost-test 1.66.0-1
+ - boost-thread 1.66.0
+ - boost-throw-exception 1.66.0
+ - boost-timer 1.66.0
+ - boost-tokenizer 1.66.0
+ - boost-tti 1.66.0
+ - boost-tuple 1.66.0
+ - boost-type-erasure 1.66.0
+ - boost-type-index 1.66.0
+ - boost-type-traits 1.66.0
+ - boost-typeof 1.66.0
+ - boost-ublas 1.66.0
+ - boost-units 1.66.0
+ - boost-unordered 1.66.0
+ - boost-utility 1.66.0
+ - boost-uuid 1.66.0
+ - boost-variant 1.66.0
+ - boost-vcpkg-helpers 3
+ - boost-vmd 1.66.0
+ - boost-wave 1.66.0
+ - boost-winapi 1.66.0
+ - boost-xpressive 1.66.0
+ - brynet 0.9.0
+ - chaiscript 6.0.0
+ - cimg 2.1.8
+ - crow 0.1
+ - gainput 1.0.0
+ - jack2 1.9.12.2
+ - libdatrie 0.2.10-2
+ - libgit2 0.26.0
+ - libmupdf 1.11-1
+ - libpqxx 6.0.0
+ - libqrencode 4.0.0-1
+ - libsamplerate 0.1.9.0
+ - mbedtls 2.6.1
+ - nghttp2 1.28.0
+ - portmidi 0.217.1
+ - re2 2017-12-01-1
+ - rs-core-lib commit-1ed2dadbda3977b13e5e83cc1f3eeca76b36ebe5
+ - sol 2.18.7
+ - soundtouch 2.0.0.2
+ - sqlitecpp 2.2
+ - tinyexif 1.0.1-1
+ - unicorn 2017-12-06-bc34c36eaeca0f4fc672015d24ce3efbcc81d6e4-1
+ - unicorn-lib commit-3ffa7fe69a1d0c37fb52a4af61380c5fd84fa5aa
+ - yoga 1.7.0
+ * Update ports:
+ - ace 6.4.5 -> 6.4.6
+ - alembic 1.7.4-1 -> 1.7.5
+ - arrow 0.6.0 -> 0.6.0-1
+ - asio 1.10.8 -> 1.10.8-1
+ - assimp 4.0.1-3 -> 4.1.0-1
+ - aubio 0.46 -> 0.4.6
+ - aws-sdk-cpp 1.2.4 -> 1.3.15
+ - beast v84-1 -> 0
+ - blaze 3.2-2 -> 3.2-3
+ - bond 7.0.2 -> 7.0.2-1
+ - boost 1.65.1-3 -> 1.66.0
+ - brotli 1.0.2 -> 1.0.2-1
+ - bullet3 2.86.1-1 -> 2.87
+ - cgal 4.11 -> 4.11-2
+ - cpp-redis 3.5.2-2 -> 4.3.0
+ - cpprestsdk 2.10.0 -> 2.10.1-1
+ - curl 7.55.1-1 -> 7.57.0-1
+ - directxmesh oct2016 -> dec2017
+ - directxtex dec2016 -> dec2017
+ - directxtk dec2016-1 -> dec2017
+ - dlib 19.7 -> 19.8
+ - exiv2 4f4add2cdcbe73af7098122a509dff0739d15908 -> 8f5b795eaa4bc414d2d6041c1dbd1a7f7bf1fc99
+ - fcl 0.5.0-2 -> 0.5.0-3
+ - fftw3 3.3.7-1 -> 3.3.7-2
+ - flatbuffers 1.7.1-1 -> 1.8.0
+ - fmt 4.0.0-1 -> 4.1.0
+ - folly 2017.11.27.00 -> 2017.11.27.00-2
+ - gflags 2.2.0-5 -> 2.2.1
+ - glm 0.9.8.5 -> 0.9.8.5-1
+ - gmime 3.0.2 -> 3.0.5
+ - grpc 1.7.2 -> 1.8.3
+ - gsl-lite 0.24.0 -> 0.26.0
+ - gtest 1.8-1 -> 1.8.0-5
+ - harfbuzz 1.6.3-1 -> 1.7.4
+ - hdf5 1.10.0-patch1-2 -> 1.10.1-1
+ - hpx 1.0.0-5 -> 1.0.0-7
+ - imgui 1.52 -> 1.53
+ - itk 4.11.0 -> 4.13.0
+ - libbson 1.6.2-2 -> 1.9.0
+ - libconfig 1.6.0-1 -> 1.7.1
+ - libiconv 1.15 -> 1.15-1
+ - libkml 1.3.0-1 -> 1.3.0-2
+ - librtmp 2.3 -> 2.4
+ - libsodium 1.0.15 -> 1.0.15-1
+ - libtorrent 1.1.5 -> 1.1.6
+ - live555 2017.09.12 -> 2017.10.28
+ - llvm 5.0.0-2 -> 5.0.1
+ - mongo-c-driver 1.6.2-1 -> 1.9.0
+ - mongo-cxx-driver 3.1.1-1 -> 3.1.1-2
+ - mpg123 1.24.0-1 -> 1.25.8
+ - mpir 3.0.0-3 -> 3.0.0-4
+ - ms-gsl 20171104-d10ebc6555b627c9d1196076a78467e7be505987 -> 20171204-9d65e74400976b3509833f49b16d401600c7317d
+ - nlohmann-json 2.1.1-1 -> 3.0.1
+ - opencv 3.3.1-9 -> 3.4.0
+ - openimageio 1.7.15-1 -> 1.7.15-2
+ - openssl 1.0.2m -> 1.0.2n-1
+ - openvdb 5.0.0 -> 5.0.0-1
+ - pcl 1.8.1-7 -> 1.8.1-9
+ - pybind11 2.2.0 -> 2.2.1
+ - python3 3.6.1 -> 3.6.4
+ - range-v3 20151130-vcpkg4 -> 20151130-vcpkg5
+ - realsense2 2.8.2 -> 2.9.0
+ - sciter 4.0.6 -> 4.1.0
+ - sdl2-image 2.0.1-3 -> 2.0.2-1
+ - sdl2-mixer 2.0.2-1 -> 2.0.2-2
+ - sdl2-net 2.0.1-3 -> 2.0.1-4
+ - sdl2-ttf 2.0.14-3 -> 2.0.14-4
+ - sobjectizer 5.5.19.2-1 -> 5.5.20
+ - speex 1.2.0-2 -> 1.2.0-4
+ - string-theory 1.6-1 -> 1.7
+ - szip 2.1-2 -> 2.1.1
+ - tacopie 2.4.1-2 -> 3.2.0
+ - tbb 2017_U7 -> 2018_U2
+ - tclap 1.2.1 -> 1.2.2
+ - thrift 20172805-72ca60debae1d9fb35d9f0085118873669006d7f-1 -> 20172805-72ca60debae1d9fb35d9f0085118873669006d7f-2
+ - tinyxml2 5.0.1-1 -> 6.0.0
+ - vtk 8.0.1-5 -> 8.1.0-1
+ - wt 3.3.7-2 -> 3.3.7-4
+ - zeromq 20170908-18498f620f0f6d4076981ea16eb5760fe4d28dc2-1 -> 20170908-18498f620f0f6d4076981ea16eb5760fe4d28dc2-2
+ - zstd 1.3.1-1 -> 1.3.3
+ * Introduce `vcpkg upgrade` command. This command automatically rebuilds outdated libraries to the latest version.
+ * `vcpkg list`: Improve output for long triplets
+ * Update required version & auto-downloaded version of `cmake` to 3.10.1
+
+-- vcpkg team <vcpkg@microsoft.com> WED, 10 Jan 2018 17:00:00 -0800
+
+
vcpkg (0.0.100)
--------------
* Add ports:
diff --git a/README.md b/README.md
index 9ff217564..6cb2d9755 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@ Prerequisites:
- Windows 10, 8.1, or 7
- Visual Studio 2017 or Visual Studio 2015 Update 3
- Git
-- *Optional: CMake 3.10.0*
+- *Optional: CMake 3.10.1*
Clone this repository, then run
```
diff --git a/docs/maintainers/vcpkg_download_distfile.md b/docs/maintainers/vcpkg_download_distfile.md
index 7897610e3..80ea7559a 100644
--- a/docs/maintainers/vcpkg_download_distfile.md
+++ b/docs/maintainers/vcpkg_download_distfile.md
@@ -2,6 +2,8 @@
Download and cache a file needed for this port.
+This helper should always be used instead of CMake's built-in `file(DOWNLOAD)` command.
+
## Usage
```cmake
vcpkg_download_distfile(
@@ -26,12 +28,17 @@ The expected hash for the file.
If this doesn't match the downloaded version, the build will be terminated with a message describing the mismatch.
+### SKIP_SHA512
+Skip SHA512 hash check for file.
+
+This switch is only valid when building with the `--head` command line flag.
+
## Notes
-The command [`vcpkg_from_github`](vcpkg_from_github.md) should be used instead of this for downloading the main archive for GitHub projects.
+The helper [`vcpkg_from_github`](vcpkg_from_github.md) should be used for downloading from GitHub projects.
## Examples
-* [boost](https://github.com/Microsoft/vcpkg/blob/master/ports/boost/portfile.cmake)
+* [apr](https://github.com/Microsoft/vcpkg/blob/master/ports/apr/portfile.cmake)
* [fontconfig](https://github.com/Microsoft/vcpkg/blob/master/ports/fontconfig/portfile.cmake)
* [openssl](https://github.com/Microsoft/vcpkg/blob/master/ports/openssl/portfile.cmake)
diff --git a/ports/args/CONTROL b/ports/args/CONTROL
new file mode 100644
index 000000000..975b0251e
--- /dev/null
+++ b/ports/args/CONTROL
@@ -0,0 +1,3 @@
+Source: args
+Version: d8905de
+Description: A simple header-only C++ argument parser library.
diff --git a/ports/args/portfile.cmake b/ports/args/portfile.cmake
new file mode 100644
index 000000000..a5f4f1c85
--- /dev/null
+++ b/ports/args/portfile.cmake
@@ -0,0 +1,19 @@
+#header-only library
+include(vcpkg_common_functions)
+SET(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/args-master)
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://github.com/Taywee/args/archive/master.zip"
+ FILENAME "args.zip"
+ SHA512 81751bfc86e15db1e5f245baa7df0464027b22b577c9de359e22dc4fe1dd550acfb116801b47d88b56d61b69a640c55757206f6f84977ace2fb02742b60ff216
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+# Put the licence file where vcpkg expects it
+file(COPY ${SOURCE_PATH}/license DESTINATION ${CURRENT_PACKAGES_DIR}/share/args)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/args/license ${CURRENT_PACKAGES_DIR}/share/args/copyright)
+
+# Copy the args header files
+file(INSTALL ${SOURCE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN "*.hxx")
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/args-master/examples ${CURRENT_PACKAGES_DIR}/include/args-master/test)
+vcpkg_copy_pdbs()
diff --git a/ports/asio/CONTROL b/ports/asio/CONTROL
index 18d9692f5..021e20592 100644
--- a/ports/asio/CONTROL
+++ b/ports/asio/CONTROL
@@ -1,3 +1,3 @@
Source: asio
-Version: 1.10.8
+Version: 1.10.8-1
Description: Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach.
diff --git a/ports/asio/portfile.cmake b/ports/asio/portfile.cmake
index 39fefa012..88cddfbbc 100644
--- a/ports/asio/portfile.cmake
+++ b/ports/asio/portfile.cmake
@@ -1,16 +1,17 @@
#header-only library
include(vcpkg_common_functions)
-SET(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/asio-asio-1-10-8/asio/)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/chriskohlhoff/asio/archive/asio-1-10-8.zip"
- FILENAME "asio-1-10-8.zip"
- SHA512 bc9794a20fc7844a2a9d22bfa418005f61defbcecdd612daba0d317e6f8fc5a61d3a3b2d7d557b92584294b8adfccc3c47a8f0441f3e34a47a0f715ca1ba0e5b
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO chriskohlhoff/asio
+ REF asio-1-10-8
+ SHA512 55c26a6daf893f6e91ec7e8b5d70f1e27f2c1886552b2c9cb5c47b7c3bb08f78c9d6cec0a3bc6edbfb657a5094a001f742db0f18f81f51d79661b01fafea293e
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE})
# Handle copyright
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/asio)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/asio/COPYING ${CURRENT_PACKAGES_DIR}/share/asio/copyright)
+file(COPY ${SOURCE_PATH}/asio/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
# Copy the asio header files
-file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.hpp" PATTERN "*.ipp")
+file(INSTALL ${SOURCE_PATH}/asio/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.hpp" PATTERN "*.ipp")
diff --git a/ports/aubio/CONTROL b/ports/aubio/CONTROL
index 635d2a9c9..7261afd80 100644
--- a/ports/aubio/CONTROL
+++ b/ports/aubio/CONTROL
@@ -1,4 +1,4 @@
Source: aubio
-Version: 0.46
+Version: 0.4.6
Description: Aubio is a tool designed for the extraction of annotations from audio signals. Its features include segmenting a sound file before each of its attacks, performing pitch detection, tapping the beat and producing midi streams from live audio.
Build-Depends: ffmpeg, libsndfile, libogg, libflac, libvorbis
diff --git a/ports/boost-test/CONTROL b/ports/boost-test/CONTROL
index e19d889b1..63b982ee4 100644
--- a/ports/boost-test/CONTROL
+++ b/ports/boost-test/CONTROL
@@ -1,5 +1,5 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-test
-Version: 1.66.0
+Version: 1.66.0-1
Build-Depends: boost-algorithm, boost-assert, boost-bind, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-exception, boost-function, boost-io, boost-iterator, boost-mpl, boost-numeric-conversion, boost-optional, boost-preprocessor, boost-range, boost-smart-ptr, boost-static-assert, boost-timer, boost-type-traits, boost-utility, boost-vcpkg-helpers
Description: Boost test module
diff --git a/ports/boost-test/portfile.cmake b/ports/boost-test/portfile.cmake
index fd6606f0e..090542bc7 100644
--- a/ports/boost-test/portfile.cmake
+++ b/ports/boost-test/portfile.cmake
@@ -13,3 +13,12 @@ vcpkg_from_github(
boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+
+file(GLOB MONITOR_LIBS ${CURRENT_PACKAGES_DIR}/lib/*_exec_monitor*)
+file(COPY ${MONITOR_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+file(GLOB DEBUG_MONITOR_LIBS ${CURRENT_PACKAGES_DIR}/debug/lib/*_exec_monitor*)
+file(COPY ${DEBUG_MONITOR_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+
+file(REMOVE ${DEBUG_MONITOR_LIBS} ${MONITOR_LIBS})
diff --git a/ports/boost-vcpkg-helpers/generate-ports.ps1 b/ports/boost-vcpkg-helpers/generate-ports.ps1
index 11f670c7a..09dcbca72 100644
--- a/ports/boost-vcpkg-helpers/generate-ports.ps1
+++ b/ports/boost-vcpkg-helpers/generate-ports.ps1
@@ -21,11 +21,17 @@ function Generate()
$sanitizedName = $name -replace "_","-"
+ $versionsuffix = ""
+ if ($Name -eq "test")
+ {
+ $versionsuffix = "-1"
+ }
+
mkdir "$scriptsDir/../boost-$sanitizedName" -erroraction SilentlyContinue | out-null
$controlLines = @(
"# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1"
"Source: boost-$sanitizedName"
- "Version: $version"
+ "Version: $version$versionsuffix"
"Build-Depends: $controlDeps"
"Description: Boost $Name module"
)
@@ -143,6 +149,20 @@ function Generate()
"endif()"
)
}
+ if ($Name -eq "test")
+ {
+ $portfileLines += @(
+ "file(MAKE_DIRECTORY `${CURRENT_PACKAGES_DIR}/lib/manual-link)"
+ "file(MAKE_DIRECTORY `${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)"
+ ""
+ "file(GLOB MONITOR_LIBS `${CURRENT_PACKAGES_DIR}/lib/*_exec_monitor*)"
+ "file(COPY `${MONITOR_LIBS} DESTINATION `${CURRENT_PACKAGES_DIR}/lib/manual-link)"
+ "file(GLOB DEBUG_MONITOR_LIBS `${CURRENT_PACKAGES_DIR}/debug/lib/*_exec_monitor*)"
+ "file(COPY `${DEBUG_MONITOR_LIBS} DESTINATION `${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)"
+ ""
+ "file(REMOVE `${DEBUG_MONITOR_LIBS} `${MONITOR_LIBS})"
+ )
+ }
$portfileLines | out-file -enc ascii "$scriptsDir/../boost-$sanitizedName/portfile.cmake"
}
diff --git a/ports/box2d/portfile.cmake b/ports/box2d/portfile.cmake
index 122290251..b07dbc663 100644
--- a/ports/box2d/portfile.cmake
+++ b/ports/box2d/portfile.cmake
@@ -7,9 +7,6 @@ elseif(TRIPLET_SYSTEM_ARCH MATCHES "arm")
message(FATAL_ERROR "ARM not supported")
endif(TRIPLET_SYSTEM_ARCH MATCHES "x86")
-if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic")
- message(FATAL_ERROR "Box2d only supports dynamic CRT linkage")
-endif()
include(vcpkg_common_functions)
@@ -25,6 +22,14 @@ vcpkg_from_github(
HEAD_REF master
)
+if(VCPKG_CRT_LINKAGE STREQUAL "static")
+ vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/use-static-linkage.patch
+ )
+endif()
+
# Put the licence and readme files where vcpkg expects it
message(STATUS "Packaging license")
file(COPY ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/box2d)
diff --git a/ports/box2d/use-static-linkage.patch b/ports/box2d/use-static-linkage.patch
new file mode 100644
index 000000000..4c3fccd53
--- /dev/null
+++ b/ports/box2d/use-static-linkage.patch
@@ -0,0 +1,40 @@
+diff --git a/Box2D/Build/vs2015/Box2D.vcxproj b/Box2D/Build/vs2015/Box2D.vcxproj
+index 830803c..5dda519 100644
+--- a/Box2D/Build/vs2015/Box2D.vcxproj
++++ b/Box2D/Build/vs2015/Box2D.vcxproj
+@@ -86,7 +86,7 @@
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+@@ -115,7 +115,7 @@
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+@@ -145,7 +145,7 @@
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>false</MinimalRebuild>
+ <StringPooling>true</StringPooling>
+- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+@@ -176,7 +176,7 @@
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>false</MinimalRebuild>
+ <StringPooling>true</StringPooling>
+- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
diff --git a/ports/bullet3/CONTROL b/ports/bullet3/CONTROL
index 92b55db2e..36f8b1838 100644
--- a/ports/bullet3/CONTROL
+++ b/ports/bullet3/CONTROL
@@ -1,3 +1,3 @@
Source: bullet3
-Version: 2.86.1-1
+Version: 2.87
Description: Bullet Physics is a professional collision detection, rigid body, and soft body dynamics library
diff --git a/ports/bullet3/portfile.cmake b/ports/bullet3/portfile.cmake
index 17d6f8ea7..f86f323f3 100644
--- a/ports/bullet3/portfile.cmake
+++ b/ports/bullet3/portfile.cmake
@@ -1,11 +1,23 @@
+# Common Ambient Variables:
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
+# PORT = current port name (zlib, etc)
+# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
+# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
+# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
+#
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/bullet3-2.86.1)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/bulletphysics/bullet3/archive/2.86.1.zip"
- FILENAME "bullet3-2.86.1.zip"
- SHA512 96c67bed63db4b7d46196cebda57b80543ea37bd19f013adcfe19ee6c2c3319ed007bcd1ebbe345d8c75b7e80588f4a7d85cb6a07e1a5eea759d97ce4d94f972
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO bulletphysics/bullet3
+ REF 2.87
+ SHA512 649e470223295666eda6f7ff59d03097637c2645b5cd951977060ae14b89f56948ce03e437e83c986d26876f187d7ee34e790bc3882d5d66da9af89a4ab81c21
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
@@ -22,14 +34,14 @@ vcpkg_configure_cmake(
-DINSTALL_LIBS=ON
)
-vcpkg_build_cmake()
vcpkg_install_cmake()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-
-file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/bullet3)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/bullet3/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/bullet3/copyright)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/bullet/BulletInverseDynamics/details)
vcpkg_copy_pdbs()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/bullet3 RENAME copyright) \ No newline at end of file
diff --git a/ports/cgal/CONTROL b/ports/cgal/CONTROL
index c2331f294..2fc86bd11 100644
--- a/ports/cgal/CONTROL
+++ b/ports/cgal/CONTROL
@@ -1,4 +1,4 @@
Source: cgal
-Version: 4.11-1
+Version: 4.11-2
Build-Depends: mpfr, mpir, zlib, qt5, boost-format, boost-container, boost-iterator, boost-variant, boost-any, boost-unordered, boost-random
Description: The Computational Geometry Algorithms Library (CGAL) is a C++ library that aims to provide easy access to efficient and reliable algorithms in computational geometry.
diff --git a/ports/cgal/portfile.cmake b/ports/cgal/portfile.cmake
index 9ef8c189d..642e88920 100644
--- a/ports/cgal/portfile.cmake
+++ b/ports/cgal/portfile.cmake
@@ -11,11 +11,13 @@ vcpkg_from_github(
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
+ OPTIONS
+ -DCGAL_INSTALL_CMAKE_DIR=share/cgal
)
vcpkg_install_cmake()
-vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/CGAL")
+vcpkg_fixup_cmake_targets()
vcpkg_copy_pdbs()
diff --git a/ports/chaiscript/CONTROL b/ports/chaiscript/CONTROL
new file mode 100644
index 000000000..7d6197531
--- /dev/null
+++ b/ports/chaiscript/CONTROL
@@ -0,0 +1,3 @@
+Source: chaiscript
+Version: 6.0.0
+Description: Embedded Scripting Language Designed for C++
diff --git a/ports/chaiscript/portfile.cmake b/ports/chaiscript/portfile.cmake
new file mode 100644
index 000000000..3103eb302
--- /dev/null
+++ b/ports/chaiscript/portfile.cmake
@@ -0,0 +1,25 @@
+# Common Ambient Variables:
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
+# PORT = current port name (zlib, etc)
+# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
+# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
+# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
+#
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ChaiScript/ChaiScript
+ REF v6.0.0
+ SHA512 612c175b9ee357512addcbe9ce0e2b9c34c40a45b5be85a3f75e2c0d391bc845996e2559c401e4899088b3e641c6c5b34af233bf2fd48d4de4531ea2815e2a96
+ HEAD_REF master
+)
+
+file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/chaiscript RENAME copyright)
diff --git a/ports/cimg/CMakeLists.txt b/ports/cimg/CMakeLists.txt
new file mode 100644
index 000000000..75ae59cd5
--- /dev/null
+++ b/ports/cimg/CMakeLists.txt
@@ -0,0 +1,21 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 3.9)
+project(CImg)
+
+add_library(${PROJECT_NAME} INTERFACE)
+
+target_include_directories(${PROJECT_NAME} INTERFACE
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+)
+
+install(TARGETS ${PROJECT_NAME}
+ EXPORT CImgExport
+ INCLUDES DESTINATION include
+)
+
+install(EXPORT CImgExport FILE ${PROJECT_NAME}Config.cmake NAMESPACE ${PROJECT_NAME}:: DESTINATION share/cimg)
+
+install(
+ FILES ${CMAKE_CURRENT_SOURCE_DIR}/CImg.h
+ DESTINATION include
+)
diff --git a/ports/cimg/CONTROL b/ports/cimg/CONTROL
new file mode 100644
index 000000000..74f184270
--- /dev/null
+++ b/ports/cimg/CONTROL
@@ -0,0 +1,3 @@
+Source: cimg
+Version: 2.1.8
+Description: The CImg Library is a small, open-source, and modern C++ toolkit for image processing
diff --git a/ports/cimg/portfile.cmake b/ports/cimg/portfile.cmake
new file mode 100644
index 000000000..6e5a86ad9
--- /dev/null
+++ b/ports/cimg/portfile.cmake
@@ -0,0 +1,23 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH
+ REPO "dtschump/CImg"
+ REF "v.218"
+ HEAD_REF master
+ SHA512 aa6267c9b425cb82aa3aeadea9f7c1ffdd975d01b4f64b8cd905ce11cf062ae22eea9b519c681f0fef239615a621dd3cae2a67e04e6cac96425776a4ac176a23)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+# Move cmake files, ensuring they will be 3 directories up the import prefix
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/cimg)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
+
+file(INSTALL ${SOURCE_PATH}/Licence_CeCILL-C_V1-en.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/cimg RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/Licence_CeCILL_V2-en.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/cimg RENAME copyright2)
diff --git a/ports/corrade/CONTROL b/ports/corrade/CONTROL
index 2d262a0e0..a2d73fba8 100644
--- a/ports/corrade/CONTROL
+++ b/ports/corrade/CONTROL
@@ -1,3 +1,3 @@
Source: corrade
-Version: jun2017-3
+Version: jan2018-1
Description: C++11/C++14 multiplatform utility library http://mosra.cz/blog/corrade.php
diff --git a/ports/corrade/portfile.cmake b/ports/corrade/portfile.cmake
index 88b27ab62..d08530ef4 100644
--- a/ports/corrade/portfile.cmake
+++ b/ports/corrade/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mosra/corrade
- REF c182fe636894a998f241212d0205d0c126b7926f
- SHA512 d664c7884c0c6c7977261a851948b2b591ac0fbdbcfddab1d8e578e629a252f48fa786cf9f96525e10aa76c95919dfc3452ccbe5e930aa4a69e61269e4ee07ee
+ REF 2dd926d23f21042838d9244c00ddd1d2f09861ee
+ SHA512 085062a34c4fecc864d02f38d4d45e22f6de72f3599d67327a783c350e478fe943c5bb3f9cd5544953b55b7ffa78923b087bc0f40a54eb9ed9f5d580970b2f45
HEAD_REF master
)
diff --git a/ports/cpp-redis/CONTROL b/ports/cpp-redis/CONTROL
index 554755b57..53ed862c2 100644
--- a/ports/cpp-redis/CONTROL
+++ b/ports/cpp-redis/CONTROL
@@ -1,4 +1,4 @@
Source: cpp-redis
-Version: 3.5.2-2
+Version: 4.3.0
Build-Depends: tacopie
Description: cpp-redis is a C++11 Asynchronous Multi-Platform Lightweight Redis Client, with support for synchronous operations and pipelining.
diff --git a/ports/cpp-redis/fix-cmakelists.patch b/ports/cpp-redis/fix-cmakelists.patch
new file mode 100644
index 000000000..2839ce56f
--- /dev/null
+++ b/ports/cpp-redis/fix-cmakelists.patch
@@ -0,0 +1,29 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ae20868..01bb84c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -26,6 +26,7 @@
+ cmake_minimum_required(VERSION 2.8.7)
+ set(CMAKE_MACOSX_RPATH 1)
+ include(${CMAKE_ROOT}/Modules/ExternalProject.cmake)
++include(${CMAKE_ROOT}/Modules/GenerateExportHeader.cmake)
+
+
+ ###
+@@ -170,6 +171,8 @@ if(USE_CUSTOM_TCP_CLIENT)
+ set_target_properties(${PROJECT} PROPERTIES COMPILE_DEFINITIONS "__CPP_REDIS_USE_CUSTOM_TCP_CLIENT=${USE_CUSTOM_TCP_CLIENT}")
+ endif(USE_CUSTOM_TCP_CLIENT)
+
++generate_export_header(${PROJECT} EXPORT_FILE_NAME ${CMAKE_BINARY_DIR}/cpp_redis/misc/${PROJECT}_export.hpp)
++target_include_directories(${PROJECT} PUBLIC ${CMAKE_BINARY_DIR})
+
+ ###
+ # install
+@@ -181,6 +184,7 @@ install(DIRECTORY DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
+ install(DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} DESTINATION lib USE_SOURCE_PERMISSIONS)
+ install(DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} DESTINATION bin USE_SOURCE_PERMISSIONS)
+ install(DIRECTORY ${CPP_REDIS_INCLUDES}/ DESTINATION include USE_SOURCE_PERMISSIONS)
++install (FILES ${CMAKE_BINARY_DIR}/cpp_redis/misc/${PROJECT}_export.hpp DESTINATION include/cpp_redis/misc)
+
+
+ ###
diff --git a/ports/cpp-redis/fix-export.patch b/ports/cpp-redis/fix-export.patch
new file mode 100644
index 000000000..1b071c511
--- /dev/null
+++ b/ports/cpp-redis/fix-export.patch
@@ -0,0 +1,22 @@
+diff --git a/includes/cpp_redis/misc/logger.hpp b/includes/cpp_redis/misc/logger.hpp
+index d79a98f..bfb33b9 100644
+--- a/includes/cpp_redis/misc/logger.hpp
++++ b/includes/cpp_redis/misc/logger.hpp
+@@ -26,6 +26,8 @@
+ #include <mutex>
+ #include <string>
+
++#include <cpp_redis/misc/cpp_redis_export.hpp>
++
+ namespace cpp_redis {
+
+ //!
+@@ -161,7 +163,7 @@ private:
+ //! variable containing the current logger
+ //! by default, not set (no logs)
+ //!
+-extern std::unique_ptr<logger_iface> active_logger;
++extern CPP_REDIS_EXPORT std::unique_ptr<logger_iface> active_logger;
+
+ //!
+ //! debug logging
diff --git a/ports/cpp-redis/portfile.cmake b/ports/cpp-redis/portfile.cmake
index 3a560a047..ea0ea1194 100644
--- a/ports/cpp-redis/portfile.cmake
+++ b/ports/cpp-redis/portfile.cmake
@@ -1,17 +1,20 @@
include(vcpkg_common_functions)
-if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- message(STATUS "cpp-redis only supports static library linkage.")
-endif()
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Cylix/cpp_redis
- REF 3.5.2
- SHA512 d19445c93fad9fba39c7aed07b2d196ec0c96366324a2a2ee856c930683b5428fe8b5bc46de4b2b23112aae83f8229a4703c2355d1c74831602ec3a7f8dac315
+ REF 4.3.0
+ SHA512 d4a2865b72b4dfa80b6d3c004245014a77e74d4a3d254d6b0a9d50e890a22dc3d9ce54688a8c9185ecee9bbf8cdf76046a9788c70887ccf8a08d5cdcef298b46
HEAD_REF master
)
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/fix-cmakelists.patch
+ ${CMAKE_CURRENT_LIST_DIR}/fix-export.patch
+)
+
file(COPY ${CMAKE_CURRENT_LIST_DIR}/tacopie/CMakeLists.txt DESTINATION ${SOURCE_PATH}/tacopie)
if(VCPKG_CRT_LINKAGE STREQUAL dynamic)
@@ -29,11 +32,12 @@ vcpkg_configure_cmake(
PREFER_NINJA
OPTIONS
-DMSVC_RUNTIME_LIBRARY_CONFIG=${MSVC_RUNTIME_LIBRARY_CONFIG}
+ -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE
)
vcpkg_install_cmake()
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(GLOB_RECURSE FILES "${CURRENT_PACKAGES_DIR}/include/*")
foreach(file ${FILES})
@@ -42,6 +46,14 @@ foreach(file ${FILES})
file(WRITE ${file} "${_contents}")
endforeach()
+file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/lib ${CURRENT_PACKAGES_DIR}/debug/bin/bin DESTINATION ${CURRENT_PACKAGES_DIR}/debug)
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/lib ${CURRENT_PACKAGES_DIR}/bin/bin DESTINATION ${CURRENT_PACKAGES_DIR})
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/lib ${CURRENT_PACKAGES_DIR}/debug/bin/bin ${CURRENT_PACKAGES_DIR}/lib/lib ${CURRENT_PACKAGES_DIR}/bin/bin)
+
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cpp-redis RENAME copyright)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
vcpkg_copy_pdbs()
diff --git a/ports/cpr/enable-install.patch b/ports/cpr/enable-install.patch
index da8d3ee73..250199e5a 100644
--- a/ports/cpr/enable-install.patch
+++ b/ports/cpr/enable-install.patch
@@ -13,5 +13,5 @@ index a6db5bd..b4982d1 100644
+ ARCHIVE DESTINATION lib
+)
+if(NOT DISABLE_INSTALL_HEADERS)
-+ install(DIRECTORY ${CPR_INCLUDE_DIRS} DESTINATION include)
++ install(DIRECTORY ${CPR_INCLUDE_DIRS}/cpr DESTINATION include)
+endif()
diff --git a/ports/date/CMakeLists.txt b/ports/date/CMakeLists.txt
index c1efc4e2a..4c38e4a87 100644
--- a/ports/date/CMakeLists.txt
+++ b/ports/date/CMakeLists.txt
@@ -14,8 +14,6 @@ add_library(tz src/tz.cpp)
if(BUILD_SHARED_LIBS)
target_compile_definitions(tz PRIVATE -DDATE_BUILD_DLL)
-else()
- target_compile_definitions(tz PRIVATE -DDATE_BUILD_LIB)
endif()
install(
diff --git a/ports/date/CONTROL b/ports/date/CONTROL
index 68fb435b6..8c1797072 100644
--- a/ports/date/CONTROL
+++ b/ports/date/CONTROL
@@ -1,3 +1,3 @@
Source: date
-Version: 2.3-c286981b3bf83c79554769df68b27415cee68d77
+Version: 2.4
Description: A date and time library based on the C++11/14/17 <chrono> header
diff --git a/ports/date/portfile.cmake b/ports/date/portfile.cmake
index a5270554f..e060edb87 100644
--- a/ports/date/portfile.cmake
+++ b/ports/date/portfile.cmake
@@ -8,8 +8,8 @@ message(WARNING
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO HowardHinnant/date
- REF c286981b3bf83c79554769df68b27415cee68d77
- SHA512 226e2cbc2598fbbe3a451664b017ab5b4314a682a9303268bd531931ea23baa4c9677c4433a87dbbc4a7d960dcfad1fcb632ac430d5d81c9909bcc567cf7eadf
+ REF v2.4
+ SHA512 01bcc021ebf9ca0ac88c797896a291ff81834e7fae37323ad20881d3a172963c04d3c7bea0dd37cd945b756ab7f70f0a02edb18a085bf9abf8d8f10056f73f3c
HEAD_REF master
)
@@ -28,11 +28,8 @@ vcpkg_copy_pdbs()
set(HEADER "${CURRENT_PACKAGES_DIR}/include/date/tz.h")
file(READ "${HEADER}" _contents)
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- string(REPLACE "DATE_BUILD_DLL" "1" _contents "${_contents}")
-else()
- string(REPLACE "DATE_BUILD_LIB" "1" _contents "${_contents}")
+ string(REPLACE "ifdef DATE_BUILD_DLL" "if 1" _contents "${_contents}")
endif()
file(WRITE "${HEADER}" "${_contents}")
-
file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/date RENAME copyright)
diff --git a/ports/directxmesh/CONTROL b/ports/directxmesh/CONTROL
index 13401f80d..0348b1939 100644
--- a/ports/directxmesh/CONTROL
+++ b/ports/directxmesh/CONTROL
@@ -1,3 +1,3 @@
Source: directxmesh
-Version: oct2016
+Version: dec2017
Description: DirectXMesh geometry processing library \ No newline at end of file
diff --git a/ports/directxmesh/portfile.cmake b/ports/directxmesh/portfile.cmake
index 51840b68f..26fda2210 100644
--- a/ports/directxmesh/portfile.cmake
+++ b/ports/directxmesh/portfile.cmake
@@ -1,10 +1,16 @@
# Common Ambient Variables:
-# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
-# TARGET_TRIPLET is the current triplet (x86-windows, etc)
-# PORT is the current port name (zlib, etc)
-# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
-# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
+# PORT = current port name (zlib, etc)
+# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
+# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
+# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
#
+include(vcpkg_common_functions)
+
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
message(STATUS "Warning: Dynamic building not supported yet. Building static.")
set(VCPKG_LIBRARY_LINKAGE static)
@@ -14,14 +20,15 @@ if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic")
message(FATAL_ERROR "DirectXMesh only supports dynamic CRT linkage")
endif()
-include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/DirectXMesh-oct2016)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/Microsoft/DirectXMesh/archive/oct2016.tar.gz"
- FILENAME "DirectXMesh-oct2016.tar.gz"
- SHA512 8aaf9749766afd23709ce6c6f8d74b008fe9f96789e4d97cb387633dad34b4132ef28dfe028d13c779ea366428d53076a881c0d63c4f0c2c74d552293c8d6bf1
+set(DIRECTXMESH_VERSION dec2017)
+set(DIRECTXMESH_ARCHIVE_HASH 82468f1fcf0d51cf614921b1bd2dd06a05b120f84531d59429042951a39d1e978b5395cdf75269fe1767789ce487bfc6e544c54df4b1b9bec9adb1c853dc8497)
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Microsoft/DirectXMesh
+ REF ${DIRECTXMESH_VERSION}
+ SHA512 ${DIRECTXMESH_ARCHIVE_HASH}
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE})
IF (TRIPLET_SYSTEM_ARCH MATCHES "x86")
SET(BUILD_ARCH "Win32")
@@ -30,7 +37,7 @@ ELSE()
ENDIF()
vcpkg_build_msbuild(
- PROJECT_PATH ${SOURCE_PATH}/DirectXMesh_Desktop_2015.sln
+ PROJECT_PATH ${SOURCE_PATH}/DirectXMesh_Desktop_2017.sln
PLATFORM ${BUILD_ARCH}
)
@@ -40,15 +47,15 @@ file(INSTALL
DESTINATION ${CURRENT_PACKAGES_DIR}/include
)
file(INSTALL
- ${SOURCE_PATH}/DirectXMesh/Bin/Desktop_2015/${BUILD_ARCH}/Debug/DirectXMesh.lib
+ ${SOURCE_PATH}/DirectXMesh/Bin/Desktop_2017/${BUILD_ARCH}/Debug/DirectXMesh.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
file(INSTALL
- ${SOURCE_PATH}/DirectXMesh/Bin/Desktop_2015/${BUILD_ARCH}/Release/DirectXMesh.lib
+ ${SOURCE_PATH}/DirectXMesh/Bin/Desktop_2017/${BUILD_ARCH}/Release/DirectXMesh.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
set(TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools)
file(INSTALL
- ${SOURCE_PATH}/Meshconvert/Bin/Desktop_2015/${BUILD_ARCH}/Release/Meshconvert.exe
+ ${SOURCE_PATH}/Meshconvert/Bin/Desktop_2017/${BUILD_ARCH}/Release/Meshconvert.exe
DESTINATION ${TOOL_PATH})
# Handle copyright
diff --git a/ports/directxtex/CONTROL b/ports/directxtex/CONTROL
index b11daa8d4..57de4eea1 100644
--- a/ports/directxtex/CONTROL
+++ b/ports/directxtex/CONTROL
@@ -1,3 +1,3 @@
Source: directxtex
-Version: dec2016
+Version: dec2017
Description: DirectXTex texture processing library \ No newline at end of file
diff --git a/ports/directxtex/portfile.cmake b/ports/directxtex/portfile.cmake
index 392290c06..c1127fea7 100644
--- a/ports/directxtex/portfile.cmake
+++ b/ports/directxtex/portfile.cmake
@@ -1,10 +1,16 @@
# Common Ambient Variables:
-# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
-# TARGET_TRIPLET is the current triplet (x86-windows, etc)
-# PORT is the current port name (zlib, etc)
-# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
-# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
+# PORT = current port name (zlib, etc)
+# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
+# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
+# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
#
+include(vcpkg_common_functions)
+
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
message(STATUS "Warning: Dynamic building not supported yet. Building static.")
set(VCPKG_LIBRARY_LINKAGE static)
@@ -14,14 +20,15 @@ if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic")
message(FATAL_ERROR "DirectXTex only supports dynamic CRT linkage")
endif()
-include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/directxtex-dec2016)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/Microsoft/DirectXTex/archive/dec2016.tar.gz"
- FILENAME "directxtex-dec2016.tar.gz"
- SHA512 87797340c40a98a7b11b6eb7da17d0b93bc01ba48deed50e99ce74e0e33387cac2ec18f2f14d0148c2a79f97ca98d6b2a228dad2f16010b6dcf03c0d24a79d20
+set(DIRECTXTEX_VERSION dec2017)
+set(DIRECTXTEX_ARCHIVE_HASH f4154c820059893ce0a42a1224d14adc0f8b54f36aa7f687f29aba0358488da9eb83cbdbf682499c5b210e99607d74209595153d4ed86eb30c43b775c5d8a72f)
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Microsoft/DirectXTex
+ REF ${DIRECTXTEX_VERSION}
+ SHA512 ${DIRECTXTEX_ARCHIVE_HASH}
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE})
IF (TRIPLET_SYSTEM_ARCH MATCHES "x86")
SET(BUILD_ARCH "Win32")
@@ -30,7 +37,7 @@ ELSE()
ENDIF()
vcpkg_build_msbuild(
- PROJECT_PATH ${SOURCE_PATH}/DirectXTex_Desktop_2015.sln
+ PROJECT_PATH ${SOURCE_PATH}/DirectXTex_Desktop_2017.sln
PLATFORM ${BUILD_ARCH}
)
@@ -40,22 +47,22 @@ file(INSTALL
DESTINATION ${CURRENT_PACKAGES_DIR}/include
)
file(INSTALL
- ${SOURCE_PATH}/DirectXTex/Bin/Desktop_2015/${BUILD_ARCH}/Debug/DirectXTex.lib
+ ${SOURCE_PATH}/DirectXTex/Bin/Desktop_2017/${BUILD_ARCH}/Debug/DirectXTex.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
file(INSTALL
- ${SOURCE_PATH}/DirectXTex/Bin/Desktop_2015/${BUILD_ARCH}/Release/DirectXTex.lib
+ ${SOURCE_PATH}/DirectXTex/Bin/Desktop_2017/${BUILD_ARCH}/Release/DirectXTex.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
set(TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools)
file(MAKE_DIRECTORY ${TOOL_PATH})
file(INSTALL
- ${SOURCE_PATH}/Texdiag/Bin/Desktop_2015/${BUILD_ARCH}/Release/texdiag.exe
+ ${SOURCE_PATH}/Texdiag/Bin/Desktop_2017/${BUILD_ARCH}/Release/texdiag.exe
DESTINATION ${TOOL_PATH})
file(INSTALL
- ${SOURCE_PATH}/Texconv/Bin/Desktop_2015/${BUILD_ARCH}/Release/Texconv.exe
+ ${SOURCE_PATH}/Texconv/Bin/Desktop_2017/${BUILD_ARCH}/Release/Texconv.exe
DESTINATION ${TOOL_PATH})
file(INSTALL
- ${SOURCE_PATH}/Texassemble/Bin/Desktop_2015/${BUILD_ARCH}/Release/Texassemble.exe
+ ${SOURCE_PATH}/Texassemble/Bin/Desktop_2017/${BUILD_ARCH}/Release/Texassemble.exe
DESTINATION ${TOOL_PATH})
# Handle copyright
diff --git a/ports/directxtk/CONTROL b/ports/directxtk/CONTROL
index 97f97ecd9..4e565f799 100644
--- a/ports/directxtk/CONTROL
+++ b/ports/directxtk/CONTROL
@@ -1,3 +1,3 @@
Source: directxtk
-Version: dec2016-1
+Version: dec2017
Description: A collection of helper classes for writing DirectX 11.x code in C++.
diff --git a/ports/directxtk/portfile.cmake b/ports/directxtk/portfile.cmake
index 5a751446c..31fa82011 100644
--- a/ports/directxtk/portfile.cmake
+++ b/ports/directxtk/portfile.cmake
@@ -1,20 +1,34 @@
+# Common Ambient Variables:
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
+# PORT = current port name (zlib, etc)
+# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
+# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
+# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
+#
+include(vcpkg_common_functions)
+
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
message(STATUS "Warning: Dynamic building not supported yet. Building static.")
set(VCPKG_LIBRARY_LINKAGE static)
endif()
if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic")
- message(FATAL_ERROR "DirectXTk only supports dynamic CRT linkage")
+ message(FATAL_ERROR "DirectXTK only supports dynamic CRT linkage")
endif()
-include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/DirectXTK-dec2016)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/Microsoft/DirectXTK/archive/dec2016.tar.gz"
- FILENAME "DirectXTK-dec2016.tar.gz"
- SHA512 efb8a98d0872bf1835b274ba88615e88c4a58ab753c5ebef5a407c54d5f9a2197d1521f14651c60ea16c047918db6f54bf2ac58a6eb7330490b9bae619e8dad3
+set(DIRECTXTK_VERSION dec2017)
+set(DIRECTXTK_ARCHIVE_HASH 30df95c17d6d61bdeb372d3ba112995ad76753e23ddaf7fb104d2384e3b26e22a383355d2a411fdfce866d4a98205e4ed039a8f34a9e1d9bc1ee90b4064bcd15)
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Microsoft/DirectXTK
+ REF ${DIRECTXTK_VERSION}
+ SHA512 ${DIRECTXTK_ARCHIVE_HASH}
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE})
IF (TRIPLET_SYSTEM_ARCH MATCHES "x86")
SET(BUILD_ARCH "Win32")
@@ -23,16 +37,16 @@ ELSE()
ENDIF()
vcpkg_build_msbuild(
- PROJECT_PATH ${SOURCE_PATH}/DirectXTK_Desktop_2015.sln
+ PROJECT_PATH ${SOURCE_PATH}/DirectXTK_Desktop_2017.sln
PLATFORM ${BUILD_ARCH}
)
file(INSTALL
- ${SOURCE_PATH}/Bin/Desktop_2015/${BUILD_ARCH}/Release/DirectXTK.lib
+ ${SOURCE_PATH}/Bin/Desktop_2017/${BUILD_ARCH}/Release/DirectXTK.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
file(INSTALL
- ${SOURCE_PATH}/Bin/Desktop_2015/${BUILD_ARCH}/Debug/DirectXTK.lib
+ ${SOURCE_PATH}/Bin/Desktop_2017/${BUILD_ARCH}/Debug/DirectXTK.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
set(DXTK_TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools/directxtk)
@@ -43,7 +57,7 @@ file(INSTALL
DESTINATION ${DXTK_TOOL_PATH})
file(INSTALL
- ${SOURCE_PATH}/XWBTool/Bin/Desktop_2015/${BUILD_ARCH}/Release/XWBTool.exe
+ ${SOURCE_PATH}/XWBTool/Bin/Desktop_2017/${BUILD_ARCH}/Release/XWBTool.exe
DESTINATION ${DXTK_TOOL_PATH})
file(INSTALL
diff --git a/ports/dlib/CONTROL b/ports/dlib/CONTROL
index 4d0a72f50..51f4d1e03 100644
--- a/ports/dlib/CONTROL
+++ b/ports/dlib/CONTROL
@@ -1,11 +1,8 @@
Source: dlib
Version: 19.8
-Build-Depends: libjpeg-turbo, libpng, sqlite3, fftw3
+Build-Depends: libjpeg-turbo, libpng, sqlite3, fftw3, openblas, clapack
Description: Modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++
-Feature: blas
-Description: BLAS support for dlib
-
Feature: cuda
Build-Depends: cuda
Description: CUDA support for dlib
diff --git a/ports/dlib/portfile.cmake b/ports/dlib/portfile.cmake
index 9d82cbf19..99784551a 100644
--- a/ports/dlib/portfile.cmake
+++ b/ports/dlib/portfile.cmake
@@ -17,11 +17,6 @@ file(READ "${SOURCE_PATH}/dlib/CMakeLists.txt" DLIB_CMAKE)
string(REPLACE "PNG_LIBRARY" "PNG_LIBRARIES" DLIB_CMAKE "${DLIB_CMAKE}")
file(WRITE "${SOURCE_PATH}/dlib/CMakeLists.txt" "${DLIB_CMAKE}")
-set(WITH_BLAS OFF)
-if("blas" IN_LIST FEATURES)
- set(WITH_BLAS ON)
-endif()
-
set(WITH_CUDA OFF)
if("cuda" IN_LIST FEATURES)
set(WITH_CUDA ON)
@@ -35,8 +30,8 @@ vcpkg_configure_cmake(
-DDLIB_USE_FFTW=ON
-DDLIB_PNG_SUPPORT=ON
-DDLIB_JPEG_SUPPORT=ON
- -DDLIB_USE_BLAS=${WITH_BLAS}
- -DDLIB_USE_LAPACK=OFF
+ -DDLIB_USE_BLAS=ON
+ -DDLIB_USE_LAPACK=ON
-DDLIB_USE_CUDA=${WITH_CUDA}
-DDLIB_GIF_SUPPORT=OFF
-DDLIB_USE_MKL_FFT=OFF
diff --git a/ports/fftw3/CONTROL b/ports/fftw3/CONTROL
index ccdc0e7ee..fd9e59766 100644
--- a/ports/fftw3/CONTROL
+++ b/ports/fftw3/CONTROL
@@ -1,3 +1,3 @@
Source: fftw3
-Version: 3.3.7-1
+Version: 3.3.7-2
Description: FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine/sine transforms or DCT/DST).
diff --git a/ports/fftw3/portfile.cmake b/ports/fftw3/portfile.cmake
index d5fc1bf0b..2cf78f44c 100644
--- a/ports/fftw3/portfile.cmake
+++ b/ports/fftw3/portfile.cmake
@@ -17,34 +17,33 @@ vcpkg_download_distfile(ARCHIVE
vcpkg_extract_source_archive(${ARCHIVE})
-option(BUILD_SINGLE "Additionally build single precision library" ON)
-option(BUILD_LONG_DOUBLE "Additionally build long-double precision library" ON)
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS -DBUILD_SINGLE=${BUILD_SINGLE} -DBUILD_LONG_DOUBLE=${BUILD_LONG_DOUBLE}
-)
-
-vcpkg_install_cmake()
-vcpkg_copy_pdbs()
-
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(COPY ${SOURCE_PATH}/api/fftw3.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/fftw3)
-file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/fftw3)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake)
-
-
-if (VCPKG_CRT_LINKAGE STREQUAL dynamic)
- vcpkg_apply_patches(
- SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/fix-dynamic.patch)
-endif()
-
+foreach(PRECISION ENABLE_DEFAULT_PRECISION ENABLE_FLOAT ENABLE_LONG_DOUBLE)
+ vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -D${PRECISION}=ON
+ )
+
+ vcpkg_install_cmake()
+ vcpkg_copy_pdbs()
+
+ file(COPY ${SOURCE_PATH}/api/fftw3.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+
+ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake)
+
+ if (VCPKG_CRT_LINKAGE STREQUAL dynamic)
+ vcpkg_apply_patches(
+ SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/fix-dynamic.patch)
+ endif()
+
+ # Cleanup
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+endforeach()
+
# Handle copyright
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/fftw3)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/fftw3/COPYING ${CURRENT_PACKAGES_DIR}/share/fftw3/copyright)
diff --git a/ports/flatbuffers/CONTROL b/ports/flatbuffers/CONTROL
index 5611e4945..a1efcdd39 100644
--- a/ports/flatbuffers/CONTROL
+++ b/ports/flatbuffers/CONTROL
@@ -1,4 +1,4 @@
Source: flatbuffers
-Version: 1.7.1-1
+Version: 1.8.0
Description: Memory Efficient Serialization Library http://google.github.io/flatbuffers/
FlatBuffers is an efficient cross platform serialization library for games and other memory constrained apps. It allows you to directly access serialized data without unpacking/parsing it first, while still having great forwards/backwards compatibility.
diff --git a/ports/flatbuffers/portfile.cmake b/ports/flatbuffers/portfile.cmake
index 4df390de0..2e3ab983c 100644
--- a/ports/flatbuffers/portfile.cmake
+++ b/ports/flatbuffers/portfile.cmake
@@ -7,8 +7,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/flatbuffers
- REF v1.7.1
- SHA512 57732fc352c216c4be6d3237f93b872abf9dd2b62361d7d2856f99804a178760e4665ead2e33d5acdd00984ad03a746f581c9784ece583e1b2df1a10776f967a
+ REF v1.8.0
+ SHA512 8f6c84caa6456418fc751ea9de456dd37378b3239d1a41d2205140e7b19a5b8b2e342a22dc8d7fdd0c36878455e9d7401cc6438d3b771f7875e8fcfe7bbd52f1
HEAD_REF master
)
@@ -33,6 +33,7 @@ vcpkg_configure_cmake(
)
vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/flatbuffers")
if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/bin)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
diff --git a/ports/gainput/CONTROL b/ports/gainput/CONTROL
new file mode 100644
index 000000000..45b7b6afb
--- /dev/null
+++ b/ports/gainput/CONTROL
@@ -0,0 +1,3 @@
+Source: gainput
+Version: 1.0.0
+Description: Gainput is a multiplatform C++ input library, supporting mouse, keyboard and controllers
diff --git a/ports/gainput/portfile.cmake b/ports/gainput/portfile.cmake
new file mode 100644
index 000000000..c1f1f6158
--- /dev/null
+++ b/ports/gainput/portfile.cmake
@@ -0,0 +1,47 @@
+# Common Ambient Variables:
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
+# PORT = current port name (zlib, etc)
+# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
+# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
+# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
+#
+
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/gainput-1.0.0)
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://github.com/jkuhlmann/gainput/archive/v1.0.0.zip"
+ FILENAME "gainput-1.0.0.zip"
+ SHA512 dab221290560298693f54bebced1da5ec3dfae2d2adbfd6ceb17b5b28dc2a637a49e479d49fe98680915b29beb5dd2d5c74258598233a053230696186593c88e
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DGAINPUT_TESTS=OFF
+ -DGAINPUT_SAMPLES=OFF
+ # Disable this option if project cannot be built with Ninja
+ # OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2
+ # OPTIONS_RELEASE -DOPTIMIZE=1
+ # OPTIONS_DEBUG -DDEBUGGABLE=1
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/gainput RENAME copyright)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/gainputstatic.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gainputstatic.lib ${CURRENT_PACKAGES_DIR}/lib/gainput.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gainputstaticd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gainputd.lib)
+ endif()
+endif()
diff --git a/ports/gflags/CONTROL b/ports/gflags/CONTROL
index c673815f9..c41d49217 100644
--- a/ports/gflags/CONTROL
+++ b/ports/gflags/CONTROL
@@ -1,3 +1,3 @@
Source: gflags
-Version: 2.2.0-5
+Version: 2.2.1
Description: A C++ library that implements commandline flags processing
diff --git a/ports/gflags/fix-install.patch b/ports/gflags/fix-install.patch
index a2e6061f8..eda5b7f98 100644
--- a/ports/gflags/fix-install.patch
+++ b/ports/gflags/fix-install.patch
@@ -1,46 +1,15 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3fd9d70..0debb89 100644
+index 922a038..7d6af45 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -397,11 +397,11 @@ endif ()
- # ----------------------------------------------------------------------------
- # installation directories
- if (OS_WINDOWS)
-- set (RUNTIME_INSTALL_DIR Bin)
-- set (LIBRARY_INSTALL_DIR Lib)
-- set (INCLUDE_INSTALL_DIR Include)
-- set (CONFIG_INSTALL_DIR CMake)
+@@ -410,8 +410,8 @@ if (OS_WINDOWS)
+ set (RUNTIME_INSTALL_DIR "bin")
+ set (LIBRARY_INSTALL_DIR "lib")
+ set (INCLUDE_INSTALL_DIR "include")
+- set (CONFIG_INSTALL_DIR "lib/cmake/${PACKAGE_NAME}")
- set (PKGCONFIG_INSTALL_DIR)
-+ set (RUNTIME_INSTALL_DIR "bin")
-+ set (LIBRARY_INSTALL_DIR "lib")
-+ set (INCLUDE_INSTALL_DIR "include")
+ set (CONFIG_INSTALL_DIR "share/${PACKAGE_NAME}")
+ set (PKGCONFIG_INSTALL_DIR "")
else ()
set (RUNTIME_INSTALL_DIR bin)
# The LIB_INSTALL_DIR and LIB_SUFFIX variables are used by the Fedora
-@@ -501,14 +501,22 @@ configure_file (cmake/version.cmake.in "${PROJECT_BINARY_DIR}/${PACKAGE_NAME}-co
- if (BUILD_SHARED_LIBS AND INSTALL_SHARED_LIBS)
- foreach (opts IN ITEMS "" _nothreads)
- if (BUILD_gflags${opts}_LIB)
-- install (TARGETS gflags${opts}_shared DESTINATION ${LIBRARY_INSTALL_DIR} EXPORT ${EXPORT_NAME})
-+ install (TARGETS gflags${opts}_shared
-+ EXPORT ${EXPORT_NAME}
-+ RUNTIME DESTINATION ${RUNTIME_INSTALL_DIR}
-+ LIBRARY DESTINATION ${LIBRARY_INSTALL_DIR}
-+ ARCHIVE DESTINATION ${LIBRARY_INSTALL_DIR})
- endif ()
- endforeach ()
- endif ()
- if (BUILD_STATIC_LIBS AND INSTALL_STATIC_LIBS)
- foreach (opts IN ITEMS "" _nothreads)
- if (BUILD_gflags${opts}_LIB)
-- install (TARGETS gflags${opts}_static DESTINATION ${LIBRARY_INSTALL_DIR} EXPORT ${EXPORT_NAME})
-+ install (TARGETS gflags${opts}_static
-+ EXPORT ${EXPORT_NAME}
-+ RUNTIME DESTINATION ${RUNTIME_INSTALL_DIR}
-+ LIBRARY DESTINATION ${LIBRARY_INSTALL_DIR}
-+ ARCHIVE DESTINATION ${LIBRARY_INSTALL_DIR})
- endif ()
- endforeach ()
- endif ()
diff --git a/ports/gflags/fix-static-linking.patch b/ports/gflags/fix-static-linking.patch
deleted file mode 100644
index 0cefed2e3..000000000
--- a/ports/gflags/fix-static-linking.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/gflags.h.in b/src/gflags.h.in
-index 43b3f7a..82e640f 100644
---- a/src/gflags.h.in
-+++ b/src/gflags.h.in
-@@ -86,7 +86,7 @@
-
- // We always want to export variables defined in user code
- #ifndef GFLAGS_DLL_DEFINE_FLAG
--# ifdef _MSC_VER
-+# if GFLAGS_IS_A_DLL && defined(_MSC_VER)
- # define GFLAGS_DLL_DEFINE_FLAG __declspec(dllexport)
- # else
- # define GFLAGS_DLL_DEFINE_FLAG
diff --git a/ports/gflags/portfile.cmake b/ports/gflags/portfile.cmake
index 13d9a831b..59811f487 100644
--- a/ports/gflags/portfile.cmake
+++ b/ports/gflags/portfile.cmake
@@ -7,15 +7,14 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO gflags/gflags
- REF v2.2.0
- SHA512 e2106ca70ff539024f888bca12487b3bf7f4f51928acf5ae3e1022f6bbd5e3b7882196ec50b609fd52f739e1f7b13eec7d4b3535d8216ec019a3577de6b4228d
+ REF v2.2.1
+ SHA512 e919cbdcff1f993ddbfa9c06d8e595566a4717c27ff62f388a64c0e6b4683a93211c24ce78485eae84c2c76053341574064e6c56af185fc2782e2816b26e1fc9
HEAD_REF master
)
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-install.patch"
- PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-static-linking.patch"
)
vcpkg_configure_cmake(
diff --git a/ports/grpc/CONTROL b/ports/grpc/CONTROL
index 8eb7093e1..83a44f869 100644
--- a/ports/grpc/CONTROL
+++ b/ports/grpc/CONTROL
@@ -1,4 +1,4 @@
Source: grpc
-Version: 1.7.2
+Version: 1.8.3
Build-Depends: zlib, openssl, protobuf, c-ares
Description: An RPC library and framework
diff --git a/ports/grpc/portfile.cmake b/ports/grpc/portfile.cmake
index 45126f05f..4d9b692ab 100644
--- a/ports/grpc/portfile.cmake
+++ b/ports/grpc/portfile.cmake
@@ -12,8 +12,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO grpc/grpc
- REF v1.7.2
- SHA512 54cb4165878fb3361cd7a81b631f1b20e991eadd286c0f6020542a8aa464cf30bdd1479dc413b767a1585bdc730e465a64c45e9e805723f38bd54521e1c4f942
+ REF v1.8.3
+ SHA512 9bf308252221488840fad7669b8f10143c6e2130585b350b31b8d9f362f55cb1d16e5ee79d9d02ce13521e9471a8d55e8fd6c1ae0b710e22e3f918fb9fdc4d40
HEAD_REF master
)
diff --git a/ports/harfbuzz/CONTROL b/ports/harfbuzz/CONTROL
index 9dad59be5..235a05045 100644
--- a/ports/harfbuzz/CONTROL
+++ b/ports/harfbuzz/CONTROL
@@ -1,4 +1,4 @@
Source: harfbuzz
-Version: 1.6.3-1
+Version: 1.7.4
Description: HarfBuzz OpenType text shaping engine
-Build-Depends: freetype, glib (windows)
+Build-Depends: freetype, ragel, glib (windows)
diff --git a/ports/harfbuzz/portfile.cmake b/ports/harfbuzz/portfile.cmake
index f9fa05555..6e58997c1 100644
--- a/ports/harfbuzz/portfile.cmake
+++ b/ports/harfbuzz/portfile.cmake
@@ -1,11 +1,12 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/harfbuzz-1.6.3)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/behdad/harfbuzz/releases/download/1.6.3/harfbuzz-1.6.3.tar.bz2"
- FILENAME "harfbuzz-1.6.3.tar.bz2"
- SHA512 37d1a161d9074e9898d9ef6cca6dffffc725005828d700744553b0145373b69bcd3b08f507d49f4c2e05850d9275a54f15983356c547c86e5e3c202cc7cbfbe8
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO behdad/harfbuzz
+ REF 1.7.4
+ SHA512 9d96017ba980280fa2e741dc2c7197e1f4b62b1bbb1e17b57806dc594ed905f52f08136830aafc995420eb709e3c927b2a6ea396fecb3b4a33473c0e0f345dee
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
diff --git a/ports/hdf5/CONTROL b/ports/hdf5/CONTROL
index 38a0b8382..b9744407a 100644
--- a/ports/hdf5/CONTROL
+++ b/ports/hdf5/CONTROL
@@ -1,4 +1,8 @@
Source: hdf5
-Version: 1.10.0-patch1-2
+Version: 1.10.1-1
Description: HDF5 is a data model, library, and file format for storing and managing data
-Build-Depends: zlib, szip, msmpi
+Build-Depends: zlib, szip
+
+Feature: parallel
+Description: parallel support for HDF5
+Build-Depends: msmpi
diff --git a/ports/hdf5/disable-static-libs.patch b/ports/hdf5/disable-static-libs.patch
index 4b7b440ec..4d33c5e45 100644
--- a/ports/hdf5/disable-static-libs.patch
+++ b/ports/hdf5/disable-static-libs.patch
@@ -1,12 +1,10 @@
-diff --git a/hl/src/CMakeLists.txt b/hl/src/CMakeLists.txt
-index 872e42d..146d0a9 100644
---- a/hl/src/CMakeLists.txt
-+++ b/hl/src/CMakeLists.txt
-@@ -29,16 +29,20 @@ set (HL_HEADERS
+--- a/hl/src/CMakeLists.txt Thu Apr 13 18:26:10 2017
++++ b/hl/src/CMakeLists.txt Wed Jan 03 13:13:06 2018
+@@ -29,16 +29,20 @@
${HDF5_HL_SRC_SOURCE_DIR}/hdf5_hl.h
)
--add_library (${HDF5_HL_LIB_TARGET} STATIC ${HL_SRCS} ${HL_HEADERS})
+-add_library (${HDF5_HL_LIB_TARGET} STATIC ${HL_SOURCES} ${HL_HEADERS})
-TARGET_C_PROPERTIES (${HDF5_HL_LIB_TARGET} STATIC " " " ")
-target_link_libraries (${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET})
-H5_SET_LIB_OPTIONS (${HDF5_HL_LIB_TARGET} ${HDF5_HL_LIB_NAME} STATIC)
@@ -19,7 +17,7 @@ index 872e42d..146d0a9 100644
+set (install_targets)
+
+if (NOT DISABLE_STATIC_LIBS)
-+ add_library (${HDF5_HL_LIB_TARGET} STATIC ${HL_SRCS} ${HL_HEADERS})
++ add_library (${HDF5_HL_LIB_TARGET} STATIC ${HL_SOURCES} ${HL_HEADERS})
+ TARGET_C_PROPERTIES (${HDF5_HL_LIB_TARGET} STATIC " " " ")
+ target_link_libraries (${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET})
+ H5_SET_LIB_OPTIONS (${HDF5_HL_LIB_TARGET} ${HDF5_HL_LIB_NAME} STATIC)
@@ -28,16 +26,25 @@ index 872e42d..146d0a9 100644
+ INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
+ )
+ set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_LIB_TARGET}")
-+ set (install_targets ${install_targets} ${HDF5_HL_LIB_TARGET})
-+endif (NOT DISABLE_STATIC_LIBS)
++ set (install_targets ${HDF5_HL_LIB_TARGET})
++endif ()
if (BUILD_SHARED_LIBS)
- add_library (${HDF5_HL_LIBSH_TARGET} SHARED ${HL_SRCS} ${HL_HEADERS})
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index d93612b..a63cc3a 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -851,30 +851,33 @@ add_custom_command (
+ add_library (${HDF5_HL_LIBSH_TARGET} SHARED ${HL_SOURCES} ${HL_HEADERS})
+@@ -73,8 +77,9 @@
+ if (HDF5_EXPORTED_TARGETS)
+ if (BUILD_SHARED_LIBS)
+ INSTALL_TARGET_PDB (${HDF5_HL_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} hllibraries)
++ else ()
++ INSTALL_TARGET_PDB (${HDF5_HL_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hllibraries)
+ endif ()
+- INSTALL_TARGET_PDB (${HDF5_HL_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hllibraries)
+
+ install (
+ TARGETS
+--- a/src/CMakeLists.txt Thu Apr 13 18:26:11 2017
++++ b/src/CMakeLists.txt Wed Jan 03 13:03:05 2018
+@@ -876,30 +876,33 @@
#-----------------------------------------------------------------------------
set (gen_SRCS ${HDF5_BINARY_DIR}/H5Tinit.c ${HDF5_BINARY_DIR}/H5lib_settings.c)
@@ -45,46 +52,62 @@ index d93612b..a63cc3a 100644
-TARGET_C_PROPERTIES (${HDF5_LIB_TARGET} STATIC " " " ")
-target_link_libraries (${HDF5_LIB_TARGET} ${LINK_LIBS})
-if (NOT WIN32)
-+set (install_targets)
-+if (NOT DISABLE_STATIC_LIBS)
-+ add_library (${HDF5_LIB_TARGET} STATIC ${common_SRCS} ${gen_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS} ${H5_GENERATED_HEADERS})
-+ TARGET_C_PROPERTIES (${HDF5_LIB_TARGET} STATIC " " " ")
-+ target_link_libraries (${HDF5_LIB_TARGET} ${LINK_LIBS})
-+ if (NOT WIN32)
- target_link_libraries (${HDF5_LIB_TARGET} dl)
--endif (NOT WIN32)
+- target_link_libraries (${HDF5_LIB_TARGET} dl)
+-endif ()
-if (H5_HAVE_PARALLEL AND MPI_C_FOUND)
-+ endif (NOT WIN32)
-+ if (H5_HAVE_PARALLEL AND MPI_C_FOUND)
- target_link_libraries (${HDF5_LIB_TARGET} ${MPI_C_LIBRARIES})
--endif (H5_HAVE_PARALLEL AND MPI_C_FOUND)
+- target_link_libraries (${HDF5_LIB_TARGET} ${MPI_C_LIBRARIES})
+-endif ()
-set_global_variable (HDF5_LIBRARIES_TO_EXPORT ${HDF5_LIB_TARGET})
-H5_SET_LIB_OPTIONS (${HDF5_LIB_TARGET} ${HDF5_LIB_NAME} STATIC)
-set_target_properties (${HDF5_LIB_TARGET} PROPERTIES
- FOLDER libraries
- INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
-)
-+ endif (H5_HAVE_PARALLEL AND MPI_C_FOUND)
+-
+-option (HDF5_ENABLE_DEBUG_APIS "Turn on extra debug output in all packages" OFF)
+-if (HDF5_ENABLE_DEBUG_APIS)
++set (install_targets)
++if (NOT DISABLE_STATIC_LIBS)
++ add_library (${HDF5_LIB_TARGET} STATIC ${common_SRCS} ${gen_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS} ${H5_GENERATED_HEADERS})
++ TARGET_C_PROPERTIES (${HDF5_LIB_TARGET} STATIC " " " ")
++ target_link_libraries (${HDF5_LIB_TARGET} ${LINK_LIBS})
++ if (NOT WIN32)
++ target_link_libraries (${HDF5_LIB_TARGET} dl)
++ endif ()
++ if (H5_HAVE_PARALLEL AND MPI_C_FOUND)
++ target_link_libraries (${HDF5_LIB_TARGET} ${MPI_C_LIBRARIES})
++ endif ()
+ set_global_variable (HDF5_LIBRARIES_TO_EXPORT ${HDF5_LIB_TARGET})
+ H5_SET_LIB_OPTIONS (${HDF5_LIB_TARGET} ${HDF5_LIB_NAME} STATIC)
-+ set_target_properties (${HDF5_LIB_TARGET} PROPERTIES
+ set_target_properties (${HDF5_LIB_TARGET} PROPERTIES
+- COMPILE_DEFINITIONS
+- "H5Z_DEBUG;H5T_DEBUG;H5ST_DEBUG;H5S_DEBUG;H5O_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5F_DEBUG;H5D_DEBUG;H5B2_DEBUG;H5AC_DEBUG"
+ FOLDER libraries
+ INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
-+ )
-
--option (HDF5_ENABLE_DEBUG_APIS "Turn on extra debug output in all packages" OFF)
--if (HDF5_ENABLE_DEBUG_APIS)
+ )
++
+ option (HDF5_ENABLE_DEBUG_APIS "Turn on extra debug output in all packages" OFF)
+ if (HDF5_ENABLE_DEBUG_APIS)
- set_target_properties (${HDF5_LIB_TARGET} PROPERTIES
- COMPILE_DEFINITIONS
- "H5Z_DEBUG;H5T_DEBUG;H5ST_DEBUG;H5S_DEBUG;H5O_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5F_DEBUG;H5D_DEBUG;H5B2_DEBUG;H5AC_DEBUG"
- )
--endif (HDF5_ENABLE_DEBUG_APIS)
++ set_target_properties (${HDF5_LIB_TARGET} PROPERTIES
++ COMPILE_DEFINITIONS
++ "H5Z_DEBUG;H5T_DEBUG;H5ST_DEBUG;H5S_DEBUG;H5O_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5F_DEBUG;H5D_DEBUG;H5B2_DEBUG;H5AC_DEBUG"
++ )
++ endif ()
++ set (install_targets ${HDF5_LIB_TARGET})
+ endif ()
-set (install_targets ${HDF5_LIB_TARGET})
-+ endif (HDF5_ENABLE_DEBUG_APIS)
-+ set (install_targets ${install_targets} ${HDF5_LIB_TARGET})
-+endif (NOT DISABLE_STATIC_LIBS)
if (BUILD_SHARED_LIBS)
file (MAKE_DIRECTORY "${HDF5_BINARY_DIR}/shared")
+@@ -975,8 +978,10 @@
+ if (HDF5_EXPORTED_TARGETS)
+ if (BUILD_SHARED_LIBS)
+ INSTALL_TARGET_PDB (${HDF5_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} libraries)
++ else ()
++ INSTALL_TARGET_PDB (${HDF5_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} libraries)
+ endif ()
+- INSTALL_TARGET_PDB (${HDF5_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} libraries)
++
+
+ install (
+ TARGETS
diff --git a/ports/hdf5/link-libraries-private.patch b/ports/hdf5/link-libraries-private.patch
index 15db78a2d..df423b8bb 100644
--- a/ports/hdf5/link-libraries-private.patch
+++ b/ports/hdf5/link-libraries-private.patch
@@ -1,8 +1,6 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index a63cc3a..aea963d 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -900,12 +900,12 @@ if (BUILD_SHARED_LIBS)
+--- a/src/CMakeLists.txt Wed Jan 03 13:16:33 2018
++++ b/src/CMakeLists.txt Wed Jan 03 13:16:56 2018
+@@ -925,12 +925,12 @@
set (shared_gen_SRCS ${HDF5_BINARY_DIR}/shared/H5Tinit.c ${HDF5_BINARY_DIR}/shared/H5lib_settings.c)
add_library (${HDF5_LIBSH_TARGET} SHARED ${common_SRCS} ${shared_gen_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS} ${H5_GENERATED_HEADERS})
TARGET_C_PROPERTIES (${HDF5_LIBSH_TARGET} SHARED " " " ")
@@ -11,19 +9,19 @@ index a63cc3a..aea963d 100644
if (NOT WIN32)
- target_link_libraries (${HDF5_LIBSH_TARGET} dl)
+ target_link_libraries (${HDF5_LIBSH_TARGET} PRIVATE dl)
- endif (NOT WIN32)
+ endif ()
if (H5_HAVE_PARALLEL AND MPI_C_FOUND)
- target_link_libraries (${HDF5_LIBSH_TARGET} ${MPI_C_LIBRARIES})
+ target_link_libraries (${HDF5_LIBSH_TARGET} PRIVATE ${MPI_C_LIBRARIES})
- endif (H5_HAVE_PARALLEL AND MPI_C_FOUND)
+ endif ()
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_LIBSH_TARGET}")
H5_SET_LIB_OPTIONS (${HDF5_LIBSH_TARGET} ${HDF5_LIB_NAME} SHARED ${HDF5_PACKAGE_SOVERSION})
-@@ -920,7 +920,7 @@ if (BUILD_SHARED_LIBS)
+@@ -945,7 +945,7 @@
APPEND PROPERTY COMPILE_DEFINITIONS
"H5_HAVE_THREADSAFE"
)
- target_link_libraries (${HDF5_LIBSH_TARGET} Threads::Threads)
+ target_link_libraries (${HDF5_LIBSH_TARGET} PRIVATE Threads::Threads)
- endif (HDF5_ENABLE_THREADSAFE)
+ endif ()
if (HDF5_ENABLE_DEBUG_APIS)
diff --git a/ports/hdf5/portfile.cmake b/ports/hdf5/portfile.cmake
index 000ed6a31..15f2399f2 100644
--- a/ports/hdf5/portfile.cmake
+++ b/ports/hdf5/portfile.cmake
@@ -3,11 +3,11 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
endif()
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/CMake-hdf5-1.10.0-patch1/hdf5-1.10.0-patch1)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/CMake-hdf5-1.10.1/hdf5-1.10.1)
vcpkg_download_distfile(ARCHIVE
- URLS "http://hdf4.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.0-patch1/src/CMake-hdf5-1.10.0-patch1.zip"
- FILENAME "CMake-hdf5-1.10.0-patch1.zip"
- SHA512 ec2edb43438661323be5998ecf64c4dd537ddc7451e31f89390260d16883e60a1ccc1bf745bcb809af22f2bf7157d50331a33910b8ebf5c59cd50693dfb2ef8f
+ URLS "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.1/src/CMake-hdf5-1.10.1.zip"
+ FILENAME "CMake-hdf5-1.10.1.zip"
+ SHA512 0045a6301c6e3479be70f025d8690297ff33b9e6e99ec217a33e9b916d9410fb3f7110b7361fbeaec163c35b8e6bd948ac8d5fdace80930c98c6a0b27c6fd5c4
)
vcpkg_extract_source_archive(${ARCHIVE})
@@ -21,6 +21,12 @@ vcpkg_apply_patches(
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" DISABLE_STATIC_LIBS)
+if ("parallel" IN_LIST FEATURES)
+ set(ENABLE_PARALLEL ON)
+else()
+ set(ENABLE_PARALLEL OFF)
+endif()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
@@ -30,7 +36,7 @@ vcpkg_configure_cmake(
-DHDF5_BUILD_EXAMPLES=OFF
-DHDF5_BUILD_TOOLS=OFF
-DHDF5_BUILD_CPP_LIB=OFF
- -DHDF5_ENABLE_PARALLEL=ON
+ -DHDF5_ENABLE_PARALLEL=${ENABLE_PARALLEL}
-DHDF5_ENABLE_Z_LIB_SUPPORT=ON
-DHDF5_ENABLE_SZIP_SUPPORT=ON
-DHDF5_ENABLE_SZIP_ENCODING=ON
diff --git a/ports/imgui/CMakeLists.txt b/ports/imgui/CMakeLists.txt
index 3658c5cae..5bcf278f7 100644
--- a/ports/imgui/CMakeLists.txt
+++ b/ports/imgui/CMakeLists.txt
@@ -19,18 +19,23 @@ set(IMGUI_SOURCES
imgui_draw.cpp
)
-add_library(imgui
+add_library(${PROJECT_NAME}
${IMGUI_INCLUDES_PUBLIC}
${IMGUI_INCLUDES_PRIVATE}
${IMGUI_SOURCES}
)
-install(TARGETS imgui
+target_include_directories(${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:include>)
+
+install(TARGETS ${PROJECT_NAME}
+ EXPORT IMGUIExport
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
+install(EXPORT IMGUIExport FILE ${PROJECT_NAME}Config.cmake NAMESPACE ${PROJECT_NAME}:: DESTINATION share/${PROJECT_NAME})
+
if(NOT IMGUI_SKIP_HEADERS)
install(
FILES ${IMGUI_INCLUDES_PUBLIC}
diff --git a/ports/imgui/CONTROL b/ports/imgui/CONTROL
index 4428d0d45..6b6a82476 100644
--- a/ports/imgui/CONTROL
+++ b/ports/imgui/CONTROL
@@ -1,3 +1,3 @@
Source: imgui
-Version: 1.52
+Version: 1.53
Description: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies.
diff --git a/ports/imgui/portfile.cmake b/ports/imgui/portfile.cmake
index 385a2396b..1ca99841d 100644
--- a/ports/imgui/portfile.cmake
+++ b/ports/imgui/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ocornut/imgui
- REF v1.52
- SHA512 8ada897ae33bcffa222dab4e9ff602611fa27d43f26085b8f96c313fea917d3149f1e3f4640f6156cfb7bc39bcb116106ccb4e8da1409d467e78c93bf9f7ea03
+ REF v1.53
+ SHA512 3e1ebf3844eaca3471064fa3d5792525c696b39f502c75235fae469038b73ae0eff198f13d5e1a35f86c011903cd379066afe1e22b6df769b9b16dc390f8b0c3
HEAD_REF master
)
@@ -19,6 +19,7 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_copy_pdbs()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/imgui)
file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/imgui)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/imgui/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/imgui/copyright)
diff --git a/ports/jack2/CMakeLists.txt b/ports/jack2/CMakeLists.txt
new file mode 100644
index 000000000..2fb25edb8
--- /dev/null
+++ b/ports/jack2/CMakeLists.txt
@@ -0,0 +1,14 @@
+cmake_minimum_required(VERSION 3.8)
+project(jack2 C)
+
+include_directories(common)
+
+add_library(jack2 STATIC common/JackWeakAPI.c)
+
+install(TARGETS jack2
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+install(DIRECTORY common/jack DESTINATION include)
diff --git a/ports/jack2/CONTROL b/ports/jack2/CONTROL
new file mode 100644
index 000000000..ccf49a118
--- /dev/null
+++ b/ports/jack2/CONTROL
@@ -0,0 +1,4 @@
+Source: jack2
+Version: 1.9.12.2
+Description: Cross-platform API that enables device sharing and inter-application audio routing
+
diff --git a/ports/jack2/portfile.cmake b/ports/jack2/portfile.cmake
new file mode 100644
index 000000000..a82f1be62
--- /dev/null
+++ b/ports/jack2/portfile.cmake
@@ -0,0 +1,29 @@
+include(vcpkg_common_functions)
+
+if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ message(STATUS "Warning: Dynamic building not supported. Building static.")
+ set(VCPKG_LIBRARY_LINKAGE static)
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO jackaudio/jack2
+ REF v1.9.12
+ SHA512 f0271dfc8f8e2f2489ca52f431ad4fa420665816d6c67a01a76da1d4b5ae91f6dad8c4e3309ec5e0c159c9d312ed56021ab323d74bce828ace26f1b8d477ddfa
+ HEAD_REF master
+)
+
+# Install headers and a statically built JackWeakAPI.c
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+)
+
+vcpkg_install_cmake()
+
+# Remove duplicate headers
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/jack2 RENAME copyright)
diff --git a/ports/libbson/CONTROL b/ports/libbson/CONTROL
index 263608bf6..bc99eb9a3 100644
--- a/ports/libbson/CONTROL
+++ b/ports/libbson/CONTROL
@@ -1,3 +1,3 @@
Source: libbson
-Version: 1.6.2-2
+Version: 1.9.0
Description: libbson is a library providing useful routines related to building, parsing, and iterating BSON documents.
diff --git a/ports/libbson/fix-uwp.patch b/ports/libbson/fix-uwp.patch
index abe11f8a4..ad916373f 100644
--- a/ports/libbson/fix-uwp.patch
+++ b/ports/libbson/fix-uwp.patch
@@ -2,27 +2,63 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
index 553f13b..03dc546 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -194,6 +194,8 @@ set (HEADERS
+@@ -230,6 +230,9 @@
${SOURCE_DIR}/src/bson/bson-writer.h
)
+add_definitions(-D_CRT_SECURE_NO_WARNINGS)
+
++if (NOT BSON_ENABLE_STATIC)
add_library(bson_shared SHARED ${SOURCES} ${HEADERS})
- add_library(bson_static STATIC ${SOURCES} ${HEADERS})
+ set(CMAKE_CXX_VISIBILITY_PRESET hidden)
+ set_target_properties(bson_shared PROPERTIES COMPILE_DEFINITIONS "BSON_COMPILATION;JSONSL_PARSE_NAN")
+@@ -263,16 +266,21 @@
+ # must be handled specially since we can't resolve them
+ set(BSON_SYSTEM_LIBS ${BSON_SYSTEM_LIBS} ws2_32)
+ endif()
++endif()
-@@ -272,8 +274,10 @@ if (ENABLE_TESTS)
- DESTINATION ${PROJECT_BINARY_DIR}/tests)
- endif () # ENABLE_TESTS
+ if (BSON_ENABLE_STATIC)
+ add_library(bson_static STATIC ${SOURCES} ${HEADERS})
++ set(CMAKE_CXX_VISIBILITY_PRESET hidden)
+ set_target_properties(bson_static PROPERTIES COMPILE_DEFINITIONS "BSON_COMPILATION;BSON_STATIC;JSONSL_PARSE_NAN")
+ set_target_properties(bson_static PROPERTIES VERSION ${BSON_VERSION})
+ set_target_properties(bson_static PROPERTIES OUTPUT_NAME "bson-static-${BSON_API_VERSION}")
++ set(THREADS_PREFER_PTHREAD_FLAG 1)
++ find_package (Threads REQUIRED)
+ target_link_libraries(bson_static Threads::Threads)
+ if (RT_LIBRARY)
+ target_link_libraries (bson_static ${RT_LIBRARY})
+ endif()
++ find_library(M_LIBRARY m)
+ if (M_LIBRARY)
+ target_link_libraries (bson_static ${M_LIBRARY})
+ endif()
+@@ -332,7 +340,7 @@
+ add_executable (${bin} ${BSON_EXAMPLE_SOURCES})
-+set(INSTALL_TARGETS bson_shared bson_static CACHE INTERNAL "List of library targets to install")
-+
+ # Link against the shared lib like normal apps
+- target_link_libraries(${bin} bson_shared)
++ target_link_libraries(${bin} bson_shared bson_static)
+
+ set (EXAMPLES ${EXAMPLES} ${bin})
+ endfunction ()
+@@ -349,6 +357,7 @@
+ endif () # ENABLE_EXAMPLES
+
+ set (BSON_HEADER_INSTALL_DIR "include/libbson-${BSON_API_VERSION}")
++if (NOT BSON_ENABLE_STATIC)
install(
-- TARGETS bson_shared bson_static
-+ TARGETS ${INSTALL_TARGETS}
+ TARGETS bson_shared ${EXAMPLES}
LIBRARY DESTINATION lib
+@@ -355,6 +364,7 @@
ARCHIVE DESTINATION lib
RUNTIME DESTINATION bin
+ )
++endif ()
+ if (BSON_ENABLE_STATIC)
+ install(
+ TARGETS bson_static ${EXAMPLES}
diff --git a/src/bson/bson-compat.h b/src/bson/bson-compat.h
index 05fc614..e8e2214 100644
--- a/src/bson/bson-compat.h
@@ -31,21 +67,21 @@ index 05fc614..e8e2214 100644
#ifdef BSON_OS_WIN32
--# if defined(_WIN32_WINNT) && (_WIN32_WINNT < 0x0600)
-+# if defined(_WIN32_WINNT) && (_WIN32_WINNT < 0x0602)
- # undef _WIN32_WINNT
- # endif
- # ifndef _WIN32_WINNT
--# define _WIN32_WINNT 0x0600
-+# define _WIN32_WINNT 0x0602
- # endif
- # ifndef NOMINMAX
- # define NOMINMAX
+-#if defined(_WIN32_WINNT) && (_WIN32_WINNT < 0x0600)
++#if defined(_WIN32_WINNT) && (_WIN32_WINNT < 0x0602)
+ #undef _WIN32_WINNT
+ #endif
+ #ifndef _WIN32_WINNT
+-#define _WIN32_WINNT 0x0600
++#define _WIN32_WINNT 0x0602
+ #endif
+ #ifndef NOMINMAX
+ #define NOMINMAX
diff --git a/src/bson/bson-iso8601.c b/src/bson/bson-iso8601.c
index 8beea90..cb4b531 100644
--- a/src/bson/bson-iso8601.c
+++ b/src/bson/bson-iso8601.c
-@@ -117,8 +117,8 @@ _bson_iso8601_date_parse (const char *str,
+@@ -115,8 +115,8 @@ _bson_iso8601_date_parse (const char *str,
const char *day_ptr;
const char *hour_ptr;
const char *min_ptr;
diff --git a/ports/libbson/portfile.cmake b/ports/libbson/portfile.cmake
index 1a86128a4..956e39ff0 100644
--- a/ports/libbson/portfile.cmake
+++ b/ports/libbson/portfile.cmake
@@ -1,10 +1,10 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libbson-1.6.2)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libbson-1.9.0)
vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/mongodb/libbson/archive/1.6.2.tar.gz"
- FILENAME "libbson-1.6.2.tar.gz"
- SHA512 c5848984d5db5ab62e698a0185139b20834d83fd7befef72336997097f639ef13e81053531385e96c7ba1fe3f3fe4ded517f5b8ee58f0914c5c807a9cb43766d
+ URLS "https://github.com/mongodb/libbson/archive/1.9.0.tar.gz"
+ FILENAME "libbson-1.9.0.tar.gz"
+ SHA512 ced5e20a043096bbb2bd97f179c50fa105498fd089a54fcf7c0e3edda52030e7a6363ff1ab75c885649590a7d8846fa8adf880026cc059772cdfd87da23a244d
)
vcpkg_extract_source_archive(${ARCHIVE})
@@ -14,9 +14,9 @@ vcpkg_apply_patches(
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
- set(TARGET_TO_INSTALL bson_static)
+ set(ENABLE_STATIC ON)
else()
- set(TARGET_TO_INSTALL bson_shared)
+ set(ENABLE_STATIC OFF)
endif()
vcpkg_configure_cmake(
@@ -24,7 +24,7 @@ vcpkg_configure_cmake(
PREFER_NINJA
OPTIONS
-DENABLE_TESTS=OFF
- -DINSTALL_TARGETS=${TARGET_TO_INSTALL}
+ -DENABLE_STATIC=${ENABLE_STATIC}
)
vcpkg_install_cmake()
@@ -60,4 +60,27 @@ endif()
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson RENAME copyright)
file(COPY ${SOURCE_PATH}/THIRD_PARTY_NOTICES DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson)
+if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
+file(READ ${CURRENT_PACKAGES_DIR}/lib/cmake/libbson-static-1.0/libbson-static-1.0-config.cmake LIBBSON_CONFIG_CMAKE)
+string(REPLACE "/../../../" "/../../" LIBBSON_CONFIG_CMAKE "${LIBBSON_CONFIG_CMAKE}")
+string(REPLACE "/include/libbson-1.0" "/include" LIBBSON_CONFIG_CMAKE "${LIBBSON_CONFIG_CMAKE}")
+string(REPLACE "bson-static-1.0" "bson-1.0" LIBBSON_CONFIG_CMAKE "${LIBBSON_CONFIG_CMAKE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-config.cmake "${LIBBSON_CONFIG_CMAKE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/libbson-static-1.0/libbson-static-1.0-config.cmake "${LIBBSON_CONFIG_CMAKE}")
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libbson-static-1.0/libbson-static-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-static-1.0-config-version.cmake ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-config-version.cmake)
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libbson-static-1.0/libbson-static-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson-static-1.0)
+else()
+file(READ ${CURRENT_PACKAGES_DIR}/lib/cmake/libbson-1.0/libbson-1.0-config.cmake LIBBSON_CONFIG_CMAKE)
+string(REPLACE "/../../../" "/../../" LIBBSON_CONFIG_CMAKE "${LIBBSON_CONFIG_CMAKE}")
+string(REPLACE "/include/libbson-1.0" "/include" LIBBSON_CONFIG_CMAKE "${LIBBSON_CONFIG_CMAKE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-config.cmake "${LIBBSON_CONFIG_CMAKE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/libbson-1.0/libbson-1.0-config.cmake "${LIBBSON_CONFIG_CMAKE}")
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libbson-1.0/libbson-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-1.0-config-version.cmake ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-config-version.cmake)
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libbson-1.0/libbson-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson-1.0)
+endif()
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake ${CURRENT_PACKAGES_DIR}/lib/cmake)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig ${CURRENT_PACKAGES_DIR}/lib/pkgconfig)
+
vcpkg_copy_pdbs() \ No newline at end of file
diff --git a/ports/libbson/static.patch b/ports/libbson/static.patch
index adb52fa4f..e92286aed 100644
--- a/ports/libbson/static.patch
+++ b/ports/libbson/static.patch
@@ -2,12 +2,12 @@ diff --git a/bson-macros.h b/bson-macros.h
index 909bf6c..0a1f612 100644
--- a/bson-macros.h
+++ b/bson-macros.h
-@@ -69,7 +69,7 @@
- # ifdef BSON_COMPILATION
- # define BSON_API __declspec(dllexport)
- # else
--# define BSON_API __declspec(dllimport)
-+# define BSON_API
- # endif
- #elif defined(__GNUC__)
- # define BSON_API __attribute__ ((visibility ("default")))
+@@ -87,7 +87,7 @@
+ #elif defined(BSON_COMPILATION)
+ #define BSON_API __declspec(dllexport)
+ #else
+-#define BSON_API __declspec(dllimport)
++#define BSON_API
+ #endif
+ #define BSON_CALL __cdecl
+
diff --git a/ports/libconfig/CMakeLists.txt b/ports/libconfig/CMakeLists.txt
index 8762917ef..fe70cb9dd 100644
--- a/ports/libconfig/CMakeLists.txt
+++ b/ports/libconfig/CMakeLists.txt
@@ -3,26 +3,26 @@ project(libconfig C CXX)
if(MSVC)
add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS)
- add_definitions(-Dscandir=libconfig_scandir)
endif()
set(C_SOURCES
lib/grammar.c
lib/libconfig.c
lib/scanctx.c
- lib/win32/scandir.c
lib/scanner.c
lib/strbuf.c
+ lib/strvec.c
+ lib/util.c
+ lib/wincompat.c
)
set(CPP_SOURCES
lib/libconfigcpp.cc
)
-find_path(DIRENT_H dirent.h)
find_path(STDINT_H stdint.h)
-include_directories(lib ${DIRENT_H} ${STDINT_H})
+include_directories(lib ${STDINT_H})
add_definitions(-DYY_NO_UNISTD_H -DYY_USE_CONST)
@@ -37,6 +37,7 @@ else()
target_compile_definitions(libconfig++ PUBLIC -DLIBCONFIGXX_STATIC)
endif()
+target_link_libraries(libconfig shlwapi)
target_link_libraries(libconfig++ PRIVATE libconfig)
install(
diff --git a/ports/libconfig/CONTROL b/ports/libconfig/CONTROL
index cd0469369..fceb37bd3 100644
--- a/ports/libconfig/CONTROL
+++ b/ports/libconfig/CONTROL
@@ -1,4 +1,3 @@
Source: libconfig
-Version: 1.6.0-1
+Version: 1.7.2
Description: C/C++ library for processing configuration files
-Build-Depends: dirent
diff --git a/ports/libconfig/fix-scanner-header-msvc-patch.patch b/ports/libconfig/fix-scanner-header-msvc-patch.patch
deleted file mode 100644
index c2e13c2ff..000000000
--- a/ports/libconfig/fix-scanner-header-msvc-patch.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-diff --git a/lib/scanner.h b/lib/scanner.h
-index cdca3bb..1fc0509 100644
---- a/lib/scanner.h
-+++ b/lib/scanner.h
-@@ -13,7 +13,7 @@
- #define FLEX_SCANNER
- #define YY_FLEX_MAJOR_VERSION 2
- #define YY_FLEX_MINOR_VERSION 5
--#define YY_FLEX_SUBMINOR_VERSION 39
-+#define YY_FLEX_SUBMINOR_VERSION 35
- #if YY_FLEX_SUBMINOR_VERSION > 0
- #define FLEX_BETA
- #endif
-@@ -132,7 +132,15 @@ typedef void* yyscan_t;
-
- /* Size of default input buffer. */
- #ifndef YY_BUF_SIZE
-+#ifdef __ia64__
-+/* On IA-64, the buffer size is 16k, not 8k.
-+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
-+ * Ditto for the __ia64__ case accordingly.
-+ */
-+#define YY_BUF_SIZE 32768
-+#else
- #define YY_BUF_SIZE 16384
-+#endif /* __ia64__ */
- #endif
-
- #ifndef YY_TYPEDEF_YY_BUFFER_STATE
-@@ -162,7 +170,7 @@ struct yy_buffer_state
- /* Number of characters read into yy_ch_buf, not including EOB
- * characters.
- */
-- yy_size_t yy_n_chars;
-+ int yy_n_chars;
-
- /* Whether we "own" the buffer - i.e., we know we created it,
- * and can realloc() it to grow it, and should free() it to
-@@ -206,13 +214,13 @@ void libconfig_yypop_buffer_state (yyscan_t yyscanner );
-
- YY_BUFFER_STATE libconfig_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
- YY_BUFFER_STATE libconfig_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
--YY_BUFFER_STATE libconfig_yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner );
-+YY_BUFFER_STATE libconfig_yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
-
- void *libconfig_yyalloc (yy_size_t ,yyscan_t yyscanner );
- void *libconfig_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
- void libconfig_yyfree (void * ,yyscan_t yyscanner );
-
--#define libconfig_yywrap(yyscanner) 1
-+#define libconfig_yywrap(n) 1
- #define YY_SKIP_YYWRAP
-
- #define yytext_ptr yytext_r
-@@ -221,7 +229,8 @@ void libconfig_yyfree (void * ,yyscan_t yyscanner );
- #define INITIAL 0
- #define COMMENT 1
- #define STRING 2
--#define INCLUDE 3
-+#define INCLUDE_F 3
-+#define INCLUDE_D 4
-
- #endif
-
-@@ -260,7 +269,7 @@ FILE *libconfig_yyget_out (yyscan_t yyscanner );
-
- void libconfig_yyset_out (FILE * out_str ,yyscan_t yyscanner );
-
--yy_size_t libconfig_yyget_leng (yyscan_t yyscanner );
-+int libconfig_yyget_leng (yyscan_t yyscanner );
-
- char *libconfig_yyget_text (yyscan_t yyscanner );
-
-@@ -268,10 +277,6 @@ int libconfig_yyget_lineno (yyscan_t yyscanner );
-
- void libconfig_yyset_lineno (int line_number ,yyscan_t yyscanner );
-
--int libconfig_yyget_column (yyscan_t yyscanner );
--
--void libconfig_yyset_column (int column_no ,yyscan_t yyscanner );
--
- YYSTYPE * libconfig_yyget_lval (yyscan_t yyscanner );
-
- void libconfig_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
-@@ -302,7 +307,12 @@ static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
-
- /* Amount of stuff to slurp up with each read. */
- #ifndef YY_READ_BUF_SIZE
-+#ifdef __ia64__
-+/* On IA-64, the buffer size is 16k, not 8k */
-+#define YY_READ_BUF_SIZE 16384
-+#else
- #define YY_READ_BUF_SIZE 8192
-+#endif /* __ia64__ */
- #endif
-
- /* Number of entries by which start-condition stack grows. */
-@@ -337,8 +347,8 @@ extern int libconfig_yylex \
- #undef YY_DECL
- #endif
-
--#line 207 "scanner.l"
-+#line 315 "scanner.l"
-
--#line 343 "scanner.h"
-+#line 353 "scanner.h"
- #undef libconfig_yyIN_HEADER
- #endif /* libconfig_yyHEADER_H */
diff --git a/ports/libconfig/fix-scanner-source-msvc-patch.patch b/ports/libconfig/fix-scanner-source-msvc-patch.patch
deleted file mode 100644
index e8f24e638..000000000
--- a/ports/libconfig/fix-scanner-source-msvc-patch.patch
+++ /dev/null
@@ -1,1122 +0,0 @@
-diff --git a/lib/scanner.c b/lib/scanner.c
-index dc07eb0..efb6730 100644
---- a/lib/scanner.c
-+++ b/lib/scanner.c
-@@ -9,7 +9,7 @@
- #define FLEX_SCANNER
- #define YY_FLEX_MAJOR_VERSION 2
- #define YY_FLEX_MINOR_VERSION 5
--#define YY_FLEX_SUBMINOR_VERSION 39
-+#define YY_FLEX_SUBMINOR_VERSION 35
- #if YY_FLEX_SUBMINOR_VERSION > 0
- #define FLEX_BETA
- #endif
-@@ -159,7 +159,15 @@ typedef void* yyscan_t;
-
- /* Size of default input buffer. */
- #ifndef YY_BUF_SIZE
-+#ifdef __ia64__
-+/* On IA-64, the buffer size is 16k, not 8k.
-+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
-+ * Ditto for the __ia64__ case accordingly.
-+ */
-+#define YY_BUF_SIZE 32768
-+#else
- #define YY_BUF_SIZE 16384
-+#endif /* __ia64__ */
- #endif
-
- /* The state buf must be large enough to hold one state per character in the main buffer.
-@@ -171,11 +179,6 @@ typedef void* yyscan_t;
- typedef struct yy_buffer_state *YY_BUFFER_STATE;
- #endif
-
--#ifndef YY_TYPEDEF_YY_SIZE_T
--#define YY_TYPEDEF_YY_SIZE_T
--typedef size_t yy_size_t;
--#endif
--
- #define EOB_ACT_CONTINUE_SCAN 0
- #define EOB_ACT_END_OF_FILE 1
- #define EOB_ACT_LAST_MATCH 2
-@@ -194,13 +197,6 @@ typedef size_t yy_size_t;
- if ( yytext[yyl] == '\n' )\
- --yylineno;\
- }while(0)
-- #define YY_LINENO_REWIND_TO(dst) \
-- do {\
-- const char *p;\
-- for ( p = yy_cp-1; p >= (dst); --p)\
-- if ( *p == '\n' )\
-- --yylineno;\
-- }while(0)
-
- /* Return all but the first "n" matched characters back to the input stream. */
- #define yyless(n) \
-@@ -218,6 +214,11 @@ typedef size_t yy_size_t;
-
- #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
-
-+#ifndef YY_TYPEDEF_YY_SIZE_T
-+#define YY_TYPEDEF_YY_SIZE_T
-+typedef size_t yy_size_t;
-+#endif
-+
- #ifndef YY_STRUCT_YY_BUFFER_STATE
- #define YY_STRUCT_YY_BUFFER_STATE
- struct yy_buffer_state
-@@ -235,7 +236,7 @@ struct yy_buffer_state
- /* Number of characters read into yy_ch_buf, not including EOB
- * characters.
- */
-- yy_size_t yy_n_chars;
-+ int yy_n_chars;
-
- /* Whether we "own" the buffer - i.e., we know we created it,
- * and can realloc() it to grow it, and should free() it to
-@@ -314,7 +315,7 @@ static void libconfig_yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yys
-
- YY_BUFFER_STATE libconfig_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
- YY_BUFFER_STATE libconfig_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
--YY_BUFFER_STATE libconfig_yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner );
-+YY_BUFFER_STATE libconfig_yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
-
- void *libconfig_yyalloc (yy_size_t ,yyscan_t yyscanner );
- void *libconfig_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
-@@ -344,7 +345,7 @@ void libconfig_yyfree (void * ,yyscan_t yyscanner );
-
- #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
--#define libconfig_yywrap(yyscanner) 1
-+#define libconfig_yywrap(n) 1
- #define YY_SKIP_YYWRAP
-
- typedef unsigned char YY_CHAR;
-@@ -368,8 +369,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
- *yy_cp = '\0'; \
- yyg->yy_c_buf_p = yy_cp;
-
--#define YY_NUM_RULES 42
--#define YY_END_OF_BUFFER 43
-+#define YY_NUM_RULES 47
-+#define YY_END_OF_BUFFER 48
- /* This struct is not used in this scanner,
- but its presence is necessary. */
- struct yy_trans_info
-@@ -377,20 +378,21 @@ struct yy_trans_info
- flex_int32_t yy_verify;
- flex_int32_t yy_nxt;
- };
--static yyconst flex_int16_t yy_accept[103] =
-+static yyconst flex_int16_t yy_accept[117] =
- { 0,
-- 0, 0, 0, 0, 0, 0, 0, 0, 43, 41,
-- 22, 21, 21, 5, 41, 37, 38, 29, 41, 24,
-- 30, 41, 31, 31, 23, 39, 29, 29, 35, 36,
-- 25, 26, 22, 41, 3, 4, 3, 6, 15, 14,
-- 17, 20, 42, 22, 0, 40, 29, 30, 31, 30,
-- 0, 1, 0, 30, 0, 32, 0, 29, 29, 22,
-- 0, 0, 2, 6, 12, 0, 11, 10, 7, 8,
-- 9, 17, 19, 18, 0, 30, 30, 0, 0, 30,
-- 32, 33, 29, 29, 0, 0, 0, 30, 34, 29,
-- 27, 0, 13, 34, 28, 0, 0, 0, 0, 0,
--
-- 16, 0
-+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ 48, 46, 27, 26, 26, 5, 46, 42, 43, 34,
-+ 46, 29, 35, 46, 36, 36, 28, 44, 34, 34,
-+ 40, 41, 30, 31, 27, 46, 3, 4, 3, 6,
-+ 15, 14, 17, 20, 47, 22, 25, 47, 27, 0,
-+ 45, 34, 35, 36, 35, 0, 1, 0, 35, 0,
-+ 37, 0, 34, 34, 27, 0, 0, 2, 6, 12,
-+ 0, 11, 10, 7, 8, 9, 17, 19, 18, 22,
-+ 24, 23, 0, 35, 35, 0, 0, 35, 37, 38,
-+ 34, 34, 0, 0, 0, 35, 39, 34, 32, 0,
-+
-+ 13, 39, 33, 0, 0, 0, 0, 0, 0, 16,
-+ 0, 0, 0, 0, 21, 0
- } ;
-
- static yyconst flex_int32_t yy_ec[256] =
-@@ -434,110 +436,116 @@ static yyconst flex_int32_t yy_meta[49] =
- 3, 3, 3, 3, 3, 3, 1, 1
- } ;
-
--static yyconst flex_int16_t yy_base[113] =
-+static yyconst flex_int16_t yy_base[129] =
- { 0,
-- 0, 47, 47, 48, 46, 47, 48, 49, 203, 204,
-- 200, 204, 204, 204, 198, 204, 204, 0, 45, 204,
-- 47, 50, 60, 74, 204, 204, 178, 28, 204, 204,
-- 204, 204, 64, 158, 204, 204, 183, 0, 204, 63,
-- 0, 204, 83, 195, 193, 204, 0, 88, 102, 98,
-- 62, 204, 190, 104, 119, 162, 0, 67, 65, 121,
-- 127, 124, 204, 0, 204, 0, 204, 204, 204, 204,
-- 204, 0, 204, 204, 108, 117, 122, 134, 132, 136,
-- 204, 139, 136, 116, 126, 0, 140, 142, 135, 130,
-- 0, 102, 204, 204, 0, 85, 72, 63, 98, 158,
--
-- 204, 204, 169, 173, 177, 181, 183, 187, 191, 89,
-- 66, 63
-+ 0, 47, 47, 48, 46, 47, 48, 49, 50, 53,
-+ 223, 224, 220, 224, 224, 224, 218, 224, 224, 0,
-+ 46, 224, 49, 54, 62, 76, 224, 224, 198, 33,
-+ 224, 224, 224, 224, 70, 178, 224, 224, 203, 0,
-+ 224, 64, 0, 224, 61, 0, 224, 65, 215, 213,
-+ 224, 0, 89, 100, 94, 109, 224, 212, 113, 125,
-+ 187, 0, 70, 88, 100, 172, 169, 224, 0, 224,
-+ 0, 224, 224, 224, 224, 224, 0, 224, 224, 0,
-+ 224, 224, 58, 115, 127, 137, 129, 139, 224, 184,
-+ 181, 123, 172, 0, 141, 143, 181, 125, 0, 165,
-+
-+ 224, 224, 0, 160, 167, 165, 133, 159, 163, 224,
-+ 156, 149, 166, 161, 224, 224, 169, 173, 177, 181,
-+ 185, 187, 191, 195, 199, 136, 119, 81
- } ;
-
--static yyconst flex_int16_t yy_def[113] =
-+static yyconst flex_int16_t yy_def[129] =
- { 0,
-- 102, 1, 103, 103, 104, 104, 105, 105, 102, 102,
-- 102, 102, 102, 102, 106, 102, 102, 107, 102, 102,
-- 102, 102, 102, 102, 102, 102, 107, 107, 102, 102,
-- 102, 102, 102, 102, 102, 102, 102, 108, 102, 102,
-- 109, 102, 102, 102, 106, 102, 107, 102, 102, 102,
-- 102, 102, 106, 102, 102, 102, 110, 107, 107, 102,
-- 102, 102, 102, 108, 102, 111, 102, 102, 102, 102,
-- 102, 109, 102, 102, 102, 102, 102, 102, 102, 102,
-- 102, 110, 107, 107, 102, 112, 102, 102, 102, 107,
-- 107, 102, 102, 102, 107, 102, 102, 102, 102, 102,
--
-- 102, 0, 102, 102, 102, 102, 102, 102, 102, 102,
-- 102, 102
-+ 116, 1, 117, 117, 118, 118, 119, 119, 120, 120,
-+ 116, 116, 116, 116, 116, 116, 121, 116, 116, 122,
-+ 116, 116, 116, 116, 116, 116, 116, 116, 122, 122,
-+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 123,
-+ 116, 116, 124, 116, 116, 125, 116, 116, 116, 121,
-+ 116, 122, 116, 116, 116, 116, 116, 121, 116, 116,
-+ 116, 126, 122, 122, 116, 116, 116, 116, 123, 116,
-+ 127, 116, 116, 116, 116, 116, 124, 116, 116, 125,
-+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 126,
-+ 122, 122, 116, 128, 116, 116, 116, 122, 122, 116,
-+
-+ 116, 116, 122, 116, 116, 116, 116, 116, 116, 116,
-+ 116, 116, 116, 116, 116, 0, 116, 116, 116, 116,
-+ 116, 116, 116, 116, 116, 116, 116, 116
- } ;
-
--static yyconst flex_int16_t yy_nxt[253] =
-+static yyconst flex_int16_t yy_nxt[273] =
- { 0,
-- 10, 11, 12, 13, 13, 14, 15, 16, 17, 18,
-- 19, 20, 19, 21, 22, 23, 24, 25, 26, 25,
-- 10, 18, 18, 18, 27, 18, 18, 18, 18, 28,
-- 18, 18, 29, 10, 30, 10, 18, 18, 18, 27,
-- 18, 18, 18, 18, 28, 18, 31, 32, 33, 36,
-- 36, 39, 39, 42, 42, 59, 37, 37, 48, 52,
-- 49, 49, 50, 50, 53, 60, 93, 34, 65, 86,
-- 51, 59, 75, 54, 75, 49, 49, 76, 76, 40,
-- 40, 43, 43, 55, 61, 51, 56, 54, 73, 49,
-- 49, 57, 82, 83, 66, 84, 67, 55, 55, 100,
--
-- 56, 99, 68, 50, 50, 69, 70, 71, 83, 98,
-- 84, 51, 55, 50, 50, 54, 74, 49, 49, 77,
-- 77, 51, 60, 76, 76, 55, 51, 78, 56, 79,
-- 97, 79, 76, 76, 80, 80, 51, 77, 77, 91,
-- 55, 61, 78, 96, 87, 78, 87, 80, 80, 88,
-- 88, 80, 80, 95, 91, 88, 88, 88, 88, 100,
-- 78, 94, 92, 101, 90, 89, 85, 62, 95, 35,
-- 35, 35, 35, 38, 38, 38, 38, 41, 41, 41,
-- 41, 45, 45, 45, 45, 47, 47, 64, 81, 64,
-- 64, 72, 46, 72, 72, 46, 44, 63, 62, 58,
--
-- 46, 44, 102, 9, 102, 102, 102, 102, 102, 102,
-- 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
-- 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
-- 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
-- 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
-- 102, 102
-+ 12, 13, 14, 15, 15, 16, 17, 18, 19, 20,
-+ 21, 22, 21, 23, 24, 25, 26, 27, 28, 27,
-+ 12, 20, 20, 20, 29, 20, 20, 20, 20, 30,
-+ 20, 20, 31, 12, 32, 12, 20, 20, 20, 29,
-+ 20, 20, 20, 20, 30, 20, 33, 34, 35, 38,
-+ 38, 41, 41, 44, 44, 47, 39, 39, 47, 53,
-+ 64, 54, 54, 57, 55, 55, 78, 36, 58, 70,
-+ 81, 65, 56, 84, 84, 59, 64, 54, 54, 42,
-+ 42, 45, 45, 48, 101, 60, 48, 56, 61, 59,
-+ 66, 54, 54, 62, 79, 71, 91, 72, 82, 60,
-+
-+ 60, 65, 61, 73, 55, 55, 74, 75, 76, 55,
-+ 55, 91, 56, 59, 60, 54, 54, 56, 92, 83,
-+ 66, 83, 94, 60, 84, 84, 61, 56, 85, 85,
-+ 84, 84, 56, 92, 108, 87, 86, 87, 60, 90,
-+ 88, 88, 85, 85, 88, 88, 99, 95, 103, 95,
-+ 86, 86, 96, 96, 88, 88, 96, 96, 96, 96,
-+ 108, 99, 114, 103, 110, 86, 115, 114, 109, 37,
-+ 37, 37, 37, 40, 40, 40, 40, 43, 43, 43,
-+ 43, 46, 46, 46, 46, 50, 50, 50, 50, 52,
-+ 52, 69, 113, 69, 69, 77, 112, 77, 77, 80,
-+
-+ 111, 80, 80, 107, 106, 105, 104, 102, 100, 98,
-+ 97, 93, 67, 89, 51, 51, 49, 68, 67, 63,
-+ 51, 49, 116, 11, 116, 116, 116, 116, 116, 116,
-+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
-+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
-+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
-+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
-+ 116, 116
- } ;
-
--static yyconst flex_int16_t yy_chk[253] =
-+static yyconst flex_int16_t yy_chk[273] =
- { 0,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
-- 4, 5, 6, 7, 8, 28, 3, 4, 19, 22,
-- 19, 19, 21, 21, 22, 33, 112, 2, 40, 111,
-- 21, 28, 51, 23, 51, 23, 23, 51, 51, 5,
-- 6, 7, 8, 23, 33, 21, 23, 24, 43, 24,
-- 24, 23, 110, 58, 40, 59, 40, 24, 23, 99,
--
-- 24, 98, 40, 48, 48, 40, 40, 40, 58, 97,
-- 59, 48, 24, 50, 50, 49, 43, 49, 49, 54,
-- 54, 50, 60, 75, 75, 49, 48, 54, 49, 55,
-- 96, 55, 76, 76, 55, 55, 50, 77, 77, 84,
-- 49, 60, 54, 92, 78, 77, 78, 79, 79, 78,
-- 78, 80, 80, 90, 84, 87, 87, 88, 88, 100,
-- 77, 89, 85, 100, 83, 82, 62, 61, 90, 103,
-- 103, 103, 103, 104, 104, 104, 104, 105, 105, 105,
-- 105, 106, 106, 106, 106, 107, 107, 108, 56, 108,
-- 108, 109, 53, 109, 109, 45, 44, 37, 34, 27,
--
-- 15, 11, 9, 102, 102, 102, 102, 102, 102, 102,
-- 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
-- 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
-- 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
-- 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
-- 102, 102
-+ 4, 5, 6, 7, 8, 9, 3, 4, 10, 21,
-+ 30, 21, 21, 24, 23, 23, 45, 2, 24, 42,
-+ 48, 35, 23, 83, 83, 25, 30, 25, 25, 5,
-+ 6, 7, 8, 9, 128, 25, 10, 23, 25, 26,
-+ 35, 26, 26, 25, 45, 42, 63, 42, 48, 26,
-+
-+ 25, 65, 26, 42, 53, 53, 42, 42, 42, 55,
-+ 55, 63, 53, 54, 26, 54, 54, 55, 64, 56,
-+ 65, 56, 127, 54, 56, 56, 54, 53, 59, 59,
-+ 84, 84, 55, 64, 107, 60, 59, 60, 54, 126,
-+ 60, 60, 85, 85, 87, 87, 92, 86, 98, 86,
-+ 85, 59, 86, 86, 88, 88, 95, 95, 96, 96,
-+ 108, 92, 114, 98, 108, 85, 114, 113, 107, 117,
-+ 117, 117, 117, 118, 118, 118, 118, 119, 119, 119,
-+ 119, 120, 120, 120, 120, 121, 121, 121, 121, 122,
-+ 122, 123, 112, 123, 123, 124, 111, 124, 124, 125,
-+
-+ 109, 125, 125, 106, 105, 104, 100, 97, 93, 91,
-+ 90, 67, 66, 61, 58, 50, 49, 39, 36, 29,
-+ 17, 13, 11, 116, 116, 116, 116, 116, 116, 116,
-+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
-+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
-+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
-+ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
-+ 116, 116
- } ;
-
- /* Table of booleans, true if rule could match eol. */
--static yyconst flex_int32_t yy_rule_can_match_eol[43] =
-+static yyconst flex_int32_t yy_rule_can_match_eol[48] =
- { 0,
- 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
-- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-- 0, 0, 0, };
-+ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ 0, 0, 0, 0, 0, 0, 0, 0, };
-
- /* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
-@@ -550,7 +558,7 @@ static yyconst flex_int32_t yy_rule_can_match_eol[43] =
- /* -*- mode: C -*- */
- /* --------------------------------------------------------------------------
- libconfig - A library for processing structured configuration files
-- Copyright (C) 2005-2014 Mark A Lindner
-+ Copyright (C) 2005-2015 Mark A Lindner
-
- This file is part of libconfig.
-
-@@ -577,9 +585,11 @@ static yyconst flex_int32_t yy_rule_can_match_eol[43] =
- #endif
-
- #include <stdlib.h>
-+#include <errno.h>
- #include <ctype.h>
- #include <string.h>
- #include <limits.h>
-+#include <dirent.h>
- #include "parsectx.h"
- #include "scanctx.h"
- #include "grammar.h"
-@@ -621,13 +631,30 @@ static unsigned long long fromhex(const char *s)
- #endif /* __MINGW32__ */
- }
-
-+static int filter_dotfiles(const struct dirent *de)
-+{
-+ const char *fname = de->d_name;
-+
-+#ifdef _DIRENT_HAVE_D_TYPE
-+ /* filter out non-files and non-symlinks */
-+ if((de->d_type != DT_REG) && (de->d_type != DT_LNK) && (de->d_type != DT_UNKNOWN))
-+ return 0;
-+#endif
-+
-+ return (fname /* != NULL */
-+ && ('\0' != fname[0]) /* can't really happen */
-+ && ('.' != fname[0])
-+ ) ? 1 : 0 ;
-+}
-
--#line 626 "scanner.c"
-+
-+#line 652 "scanner.c"
-
- #define INITIAL 0
- #define COMMENT 1
- #define STRING 2
--#define INCLUDE 3
-+#define INCLUDE_F 3
-+#define INCLUDE_D 4
-
- #ifndef YY_NO_UNISTD_H
- /* Special case for "unistd.h", since it is non-ANSI. We include it way
-@@ -652,8 +679,8 @@ struct yyguts_t
- size_t yy_buffer_stack_max; /**< capacity of stack. */
- YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
- char yy_hold_char;
-- yy_size_t yy_n_chars;
-- yy_size_t yyleng_r;
-+ int yy_n_chars;
-+ int yyleng_r;
- char *yy_c_buf_p;
- int yy_init;
- int yy_start;
-@@ -706,7 +733,7 @@ FILE *libconfig_yyget_out (yyscan_t yyscanner );
-
- void libconfig_yyset_out (FILE * out_str ,yyscan_t yyscanner );
-
--yy_size_t libconfig_yyget_leng (yyscan_t yyscanner );
-+int libconfig_yyget_leng (yyscan_t yyscanner );
-
- char *libconfig_yyget_text (yyscan_t yyscanner );
-
-@@ -714,10 +741,6 @@ int libconfig_yyget_lineno (yyscan_t yyscanner );
-
- void libconfig_yyset_lineno (int line_number ,yyscan_t yyscanner );
-
--int libconfig_yyget_column (yyscan_t yyscanner );
--
--void libconfig_yyset_column (int column_no ,yyscan_t yyscanner );
--
- YYSTYPE * libconfig_yyget_lval (yyscan_t yyscanner );
-
- void libconfig_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
-@@ -754,7 +777,12 @@ static int input (yyscan_t yyscanner );
-
- /* Amount of stuff to slurp up with each read. */
- #ifndef YY_READ_BUF_SIZE
-+#ifdef __ia64__
-+/* On IA-64, the buffer size is 16k, not 8k */
-+#define YY_READ_BUF_SIZE 16384
-+#else
- #define YY_READ_BUF_SIZE 8192
-+#endif /* __ia64__ */
- #endif
-
- /* Copy whatever the last rule matched to the standard output. */
-@@ -861,6 +889,11 @@ YY_DECL
- register int yy_act;
- struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-
-+#line 121 "scanner.l"
-+
-+
-+#line 896 "scanner.c"
-+
- yylval = yylval_param;
-
- if ( !yyg->yy_init )
-@@ -889,12 +922,6 @@ YY_DECL
- libconfig_yy_load_buffer_state(yyscanner );
- }
-
-- {
--#line 102 "scanner.l"
--
--
--#line 897 "scanner.c"
--
- while ( 1 ) /* loops until end-of-file is reached */
- {
- yy_cp = yyg->yy_c_buf_p;
-@@ -912,7 +939,7 @@ YY_DECL
- yy_match:
- do
- {
-- register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
-+ register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
- if ( yy_accept[yy_current_state] )
- {
- yyg->yy_last_accepting_state = yy_current_state;
-@@ -921,13 +948,13 @@ yy_match:
- while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
- {
- yy_current_state = (int) yy_def[yy_current_state];
-- if ( yy_current_state >= 103 )
-+ if ( yy_current_state >= 117 )
- yy_c = yy_meta[(unsigned int) yy_c];
- }
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- ++yy_cp;
- }
-- while ( yy_current_state != 102 );
-+ while ( yy_current_state != 116 );
- yy_cp = yyg->yy_last_accepting_cpos;
- yy_current_state = yyg->yy_last_accepting_state;
-
-@@ -938,7 +965,7 @@ yy_find_action:
-
- if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
- {
-- yy_size_t yyl;
-+ int yyl;
- for ( yyl = 0; yyl < yyleng; ++yyl )
- if ( yytext[yyl] == '\n' )
-
-@@ -961,69 +988,69 @@ do_action: /* This label is used only to access EOF actions. */
-
- case 1:
- YY_RULE_SETUP
--#line 104 "scanner.l"
-+#line 123 "scanner.l"
- { BEGIN COMMENT; }
- YY_BREAK
- case 2:
- YY_RULE_SETUP
--#line 105 "scanner.l"
-+#line 124 "scanner.l"
- { BEGIN INITIAL; }
- YY_BREAK
- case 3:
- YY_RULE_SETUP
--#line 106 "scanner.l"
-+#line 125 "scanner.l"
- { /* ignore */ }
- YY_BREAK
- case 4:
- /* rule 4 can match eol */
- YY_RULE_SETUP
--#line 107 "scanner.l"
-+#line 126 "scanner.l"
- { /* ignore */ }
- YY_BREAK
- case 5:
- YY_RULE_SETUP
--#line 109 "scanner.l"
-+#line 128 "scanner.l"
- { BEGIN STRING; }
- YY_BREAK
- case 6:
- /* rule 6 can match eol */
- YY_RULE_SETUP
--#line 110 "scanner.l"
-+#line 129 "scanner.l"
- { scanctx_append_string(yyextra, yytext); }
- YY_BREAK
- case 7:
- YY_RULE_SETUP
--#line 111 "scanner.l"
-+#line 130 "scanner.l"
- { scanctx_append_string(yyextra, "\n"); }
- YY_BREAK
- case 8:
- YY_RULE_SETUP
--#line 112 "scanner.l"
-+#line 131 "scanner.l"
- { scanctx_append_string(yyextra, "\r"); }
- YY_BREAK
- case 9:
- YY_RULE_SETUP
--#line 113 "scanner.l"
-+#line 132 "scanner.l"
- { scanctx_append_string(yyextra, "\t"); }
- YY_BREAK
- case 10:
- YY_RULE_SETUP
--#line 114 "scanner.l"
-+#line 133 "scanner.l"
- { scanctx_append_string(yyextra, "\f"); }
- YY_BREAK
- case 11:
- YY_RULE_SETUP
--#line 115 "scanner.l"
-+#line 134 "scanner.l"
- { scanctx_append_string(yyextra, "\\"); }
- YY_BREAK
- case 12:
- YY_RULE_SETUP
--#line 116 "scanner.l"
-+#line 135 "scanner.l"
- { scanctx_append_string(yyextra, "\""); }
- YY_BREAK
- case 13:
- YY_RULE_SETUP
--#line 117 "scanner.l"
-+#line 136 "scanner.l"
- {
- char c[2] = { (char)(strtol(yytext + 2, NULL, 16) & 0xFF),
- 0 };
-@@ -1032,12 +1059,12 @@ YY_RULE_SETUP
- YY_BREAK
- case 14:
- YY_RULE_SETUP
--#line 122 "scanner.l"
-+#line 141 "scanner.l"
- { scanctx_append_string(yyextra, "\\"); }
- YY_BREAK
- case 15:
- YY_RULE_SETUP
--#line 123 "scanner.l"
-+#line 142 "scanner.l"
- {
- yylval->sval = scanctx_take_string(yyextra);
- BEGIN INITIAL;
-@@ -1046,198 +1073,304 @@ YY_RULE_SETUP
- YY_BREAK
- case 16:
- YY_RULE_SETUP
--#line 129 "scanner.l"
--{ BEGIN INCLUDE; }
-+#line 148 "scanner.l"
-+{ BEGIN INCLUDE_F; }
- YY_BREAK
- case 17:
- /* rule 17 can match eol */
- YY_RULE_SETUP
--#line 130 "scanner.l"
-+#line 149 "scanner.l"
- { scanctx_append_string(yyextra, yytext); }
- YY_BREAK
- case 18:
- YY_RULE_SETUP
--#line 131 "scanner.l"
-+#line 150 "scanner.l"
- { scanctx_append_string(yyextra, "\\"); }
- YY_BREAK
- case 19:
- YY_RULE_SETUP
--#line 132 "scanner.l"
-+#line 151 "scanner.l"
- { scanctx_append_string(yyextra, "\""); }
- YY_BREAK
- case 20:
- YY_RULE_SETUP
--#line 133 "scanner.l"
-+#line 152 "scanner.l"
- {
-- const char *error;
-- FILE *fp = scanctx_push_include(yyextra,
-- (void *)YY_CURRENT_BUFFER,
-- &error);
-- if(fp)
-- {
-- yyin = fp;
-- libconfig_yy_switch_to_buffer(libconfig_yy_create_buffer(yyin,YY_BUF_SIZE,yyscanner),yyscanner);
-- }
-- else
-- {
-- yyextra->config->error_text = error;
-- yyextra->config->error_file = scanctx_current_filename(
-- yyextra);
-- yyextra->config->error_line = libconfig_yyget_lineno(
-- yyscanner);
-- return TOK_ERROR;
-- }
-- BEGIN INITIAL;
-- }
-+ const char *error;
-+ FILE *fp = scanctx_push_include(yyextra,
-+ (void *)YY_CURRENT_BUFFER,
-+ scanctx_getpath(yyextra),
-+ &error);
-+ if(fp)
-+ {
-+ yyin = fp;
-+ libconfig_yy_switch_to_buffer(libconfig_yy_create_buffer(yyin,YY_BUF_SIZE,yyscanner),yyscanner
-+ );
-+ }
-+ else
-+ {
-+ yyextra->config->error_text = error;
-+ yyextra->config->error_file = scanctx_current_filename(
-+ yyextra);
-+ yyextra->config->error_line = libconfig_yyget_lineno(yyscanner);
-+ return TOK_ERROR;
-+ }
-+ BEGIN INITIAL;
-+ }
- YY_BREAK
- case 21:
--/* rule 21 can match eol */
- YY_RULE_SETUP
--#line 157 "scanner.l"
--{ /* ignore */ }
-+#line 177 "scanner.l"
-+{ BEGIN INCLUDE_D; }
- YY_BREAK
- case 22:
-+/* rule 22 can match eol */
- YY_RULE_SETUP
--#line 158 "scanner.l"
--{ /* ignore */ }
-+#line 178 "scanner.l"
-+{ scanctx_append_string(yyextra, yytext); }
- YY_BREAK
- case 23:
- YY_RULE_SETUP
--#line 160 "scanner.l"
--{ return(TOK_EQUALS); }
-+#line 179 "scanner.l"
-+{ scanctx_append_string(yyextra, "\\"); }
- YY_BREAK
- case 24:
- YY_RULE_SETUP
--#line 161 "scanner.l"
--{ return(TOK_COMMA); }
-+#line 180 "scanner.l"
-+{ scanctx_append_string(yyextra, "\""); }
- YY_BREAK
- case 25:
- YY_RULE_SETUP
--#line 162 "scanner.l"
--{ return(TOK_GROUP_START); }
-+#line 181 "scanner.l"
-+{
-+ const char *error;
-+ const char* basedir;
-+ FILE *fp = NULL;
-+
-+ basedir = scanctx_getpath(yyextra);
-+ if(scanctx_dirscan(yyextra, basedir, filter_dotfiles, NULL) < 0)
-+ {
-+ if(basedir)
-+ free((void*)basedir);
-+ return TOK_ERROR;
-+ }
-+
-+ if(scanctx_inloop(yyextra))
-+ {
-+ fp = scanctx_push_include(yyextra,
-+ (void *)YY_CURRENT_BUFFER,
-+ scanctx_filename(yyextra, NULL, scanctx_dirnext(yyextra)),
-+ &error
-+ );
-+
-+ if(fp)
-+ {
-+ yyin = fp;
-+ libconfig_yy_switch_to_buffer(libconfig_yy_create_buffer(yyin,YY_BUF_SIZE,yyscanner),yyscanner
-+ );
-+ }
-+ else
-+ {
-+ yyextra->config->error_text = error;
-+ yyextra->config->error_file = scanctx_current_filename(yyextra);
-+ yyextra->config->error_line = libconfig_yyget_lineno(yyscanner);
-+ }
-+ }
-+ else
-+ scanctx_dirend(yyextra); /* avoid leaks */
-+
-+ BEGIN INITIAL;
-+ }
- YY_BREAK
- case 26:
-+/* rule 26 can match eol */
- YY_RULE_SETUP
--#line 163 "scanner.l"
--{ return(TOK_GROUP_END); }
-+#line 223 "scanner.l"
-+{ /* ignore */ }
- YY_BREAK
- case 27:
- YY_RULE_SETUP
--#line 164 "scanner.l"
--{ yylval->ival = 1; return(TOK_BOOLEAN); }
-+#line 224 "scanner.l"
-+{ /* ignore */ }
- YY_BREAK
- case 28:
- YY_RULE_SETUP
--#line 165 "scanner.l"
--{ yylval->ival = 0; return(TOK_BOOLEAN); }
-+#line 226 "scanner.l"
-+{ return(TOK_EQUALS); }
- YY_BREAK
- case 29:
- YY_RULE_SETUP
--#line 166 "scanner.l"
--{ yylval->sval = yytext; return(TOK_NAME); }
-+#line 227 "scanner.l"
-+{ return(TOK_COMMA); }
- YY_BREAK
- case 30:
- YY_RULE_SETUP
--#line 167 "scanner.l"
--{ yylval->fval = atof(yytext); return(TOK_FLOAT); }
-+#line 228 "scanner.l"
-+{ return(TOK_GROUP_START); }
- YY_BREAK
- case 31:
- YY_RULE_SETUP
--#line 168 "scanner.l"
-+#line 229 "scanner.l"
-+{ return(TOK_GROUP_END); }
-+ YY_BREAK
-+case 32:
-+YY_RULE_SETUP
-+#line 230 "scanner.l"
-+{ yylval->ival = 1; return(TOK_BOOLEAN); }
-+ YY_BREAK
-+case 33:
-+YY_RULE_SETUP
-+#line 231 "scanner.l"
-+{ yylval->ival = 0; return(TOK_BOOLEAN); }
-+ YY_BREAK
-+case 34:
-+YY_RULE_SETUP
-+#line 232 "scanner.l"
-+{ yylval->sval = yytext; return(TOK_NAME); }
-+ YY_BREAK
-+case 35:
-+YY_RULE_SETUP
-+#line 233 "scanner.l"
-+{ yylval->fval = atof(yytext); return(TOK_FLOAT); }
-+ YY_BREAK
-+case 36:
-+YY_RULE_SETUP
-+#line 234 "scanner.l"
- {
- long long llval;
-- llval = atoll(yytext);
-+ char *endptr;
-+ int errsave = errno;
-+ errno = 0;
-+ llval = strtoll(yytext, &endptr, 0); /* base 10 or base 8 */
-+ if(*endptr || errno)
-+ {
-+ errno = 0;
-+ return(TOK_ERROR); /* some error occured ... */
-+ }
-+ errno = errsave;
-+ if((*yytext == '0') && (*(yytext+1) != '\0'))
-+ { /* it's octal... so INT we go */
-+ yylval->ival = (int)(llval);
-+ return(TOK_INTEGER);
-+ }
-+
- if((llval < INT_MIN) || (llval > INT_MAX))
- {
-- yylval->llval = llval;
-- return(TOK_INTEGER64);
-+ yylval->llval = llval;
-+ return(TOK_INTEGER64);
- }
- else
- {
-- yylval->ival = llval;
-- return(TOK_INTEGER);
-+ yylval->ival = llval;
-+ return(TOK_INTEGER);
- }
- }
- YY_BREAK
--case 32:
-+case 37:
- YY_RULE_SETUP
--#line 182 "scanner.l"
-+#line 263 "scanner.l"
- { yylval->llval = atoll(yytext); return(TOK_INTEGER64); }
- YY_BREAK
--case 33:
-+case 38:
- YY_RULE_SETUP
--#line 183 "scanner.l"
-+#line 264 "scanner.l"
- {
- yylval->ival = strtoul(yytext, NULL, 16);
- return(TOK_HEX);
- }
- YY_BREAK
--case 34:
-+case 39:
- YY_RULE_SETUP
--#line 187 "scanner.l"
-+#line 268 "scanner.l"
- { yylval->llval = fromhex(yytext); return(TOK_HEX64); }
- YY_BREAK
--case 35:
-+case 40:
- YY_RULE_SETUP
--#line 188 "scanner.l"
-+#line 269 "scanner.l"
- { return(TOK_ARRAY_START); }
- YY_BREAK
--case 36:
-+case 41:
- YY_RULE_SETUP
--#line 189 "scanner.l"
-+#line 270 "scanner.l"
- { return(TOK_ARRAY_END); }
- YY_BREAK
--case 37:
-+case 42:
- YY_RULE_SETUP
--#line 190 "scanner.l"
-+#line 271 "scanner.l"
- { return(TOK_LIST_START); }
- YY_BREAK
--case 38:
-+case 43:
- YY_RULE_SETUP
--#line 191 "scanner.l"
-+#line 272 "scanner.l"
- { return(TOK_LIST_END); }
- YY_BREAK
--case 39:
-+case 44:
- YY_RULE_SETUP
--#line 192 "scanner.l"
-+#line 273 "scanner.l"
- { return(TOK_SEMICOLON); }
- YY_BREAK
--case 40:
-+case 45:
- *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
- yyg->yy_c_buf_p = yy_cp -= 1;
- YY_DO_BEFORE_ACTION; /* set up yytext again */
- YY_RULE_SETUP
--#line 193 "scanner.l"
-+#line 274 "scanner.l"
- { /* ignore */ }
- YY_BREAK
--case 41:
-+case 46:
- YY_RULE_SETUP
--#line 194 "scanner.l"
-+#line 275 "scanner.l"
- { return(TOK_GARBAGE); }
- YY_BREAK
- case YY_STATE_EOF(INITIAL):
- case YY_STATE_EOF(COMMENT):
- case YY_STATE_EOF(STRING):
--case YY_STATE_EOF(INCLUDE):
--#line 196 "scanner.l"
-+case YY_STATE_EOF(INCLUDE_F):
-+case YY_STATE_EOF(INCLUDE_D):
-+#line 277 "scanner.l"
- {
-- YY_BUFFER_STATE buf = (YY_BUFFER_STATE)scanctx_pop_include(
-- yyextra);
-- if(buf)
-- {
-- libconfig_yy_delete_buffer(YY_CURRENT_BUFFER,yyscanner);
-- libconfig_yy_switch_to_buffer(buf,yyscanner);
-- }
-- else
-- yyterminate();
-- }
-+ const char* error;
-+ FILE *fp;
-+ YY_BUFFER_STATE buf = (YY_BUFFER_STATE)scanctx_pop_include(yyextra);
-+ if(buf)
-+ {
-+ libconfig_yy_delete_buffer(YY_CURRENT_BUFFER,yyscanner);
-+ libconfig_yy_switch_to_buffer(buf,yyscanner);
-+ }
-+ else /* if no more buffers, we are done */
-+ yyterminate();
-+
-+ if(scanctx_inloop(yyextra))
-+ {
-+ /* gotta keep looping.... */
-+ fp = scanctx_push_include(yyextra,
-+ (void *)YY_CURRENT_BUFFER,
-+ scanctx_filename(yyextra, NULL, scanctx_dirnext(yyextra)),
-+ &error
-+ );
-+ if(fp)
-+ {
-+ yyin = fp;
-+ libconfig_yy_switch_to_buffer(libconfig_yy_create_buffer(yyin,YY_BUF_SIZE,yyscanner),yyscanner
-+ );
-+ }
-+ else
-+ {
-+ yyextra->config->error_text = error;
-+ yyextra->config->error_file = scanctx_current_filename(yyextra);
-+ yyextra->config->error_line = libconfig_yyget_lineno(yyscanner);
-+ }
-+ }
-+ else /* not on loop, or just finished */
-+ scanctx_dirend(yyextra);
-+ }
- YY_BREAK
--case 42:
-+case 47:
- YY_RULE_SETUP
--#line 207 "scanner.l"
-+#line 315 "scanner.l"
- ECHO;
- YY_BREAK
--#line 1241 "scanner.c"
-+#line 1374 "scanner.c"
-
- case YY_END_OF_BUFFER:
- {
-@@ -1367,7 +1500,6 @@ ECHO;
- "fatal flex scanner internal error--no action found" );
- } /* end of action switch */
- } /* end of scanning one token */
-- } /* end of user's declarations */
- } /* end of libconfig_yylex */
-
- /* yy_get_next_buffer - try to read in a new buffer
-@@ -1424,21 +1556,21 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
-
- else
- {
-- yy_size_t num_to_read =
-+ int num_to_read =
- YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
- while ( num_to_read <= 0 )
- { /* Not enough room in the buffer - grow it. */
-
- /* just a shorter name for the current buffer */
-- YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-+ YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
-
- int yy_c_buf_p_offset =
- (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
-
- if ( b->yy_is_our_buffer )
- {
-- yy_size_t new_size = b->yy_buf_size * 2;
-+ int new_size = b->yy_buf_size * 2;
-
- if ( new_size <= 0 )
- b->yy_buf_size += b->yy_buf_size / 8;
-@@ -1469,7 +1601,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
-
- /* Read in more data. */
- YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-- yyg->yy_n_chars, num_to_read );
-+ yyg->yy_n_chars, (size_t) num_to_read );
-
- YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
- }
-@@ -1532,7 +1664,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
- while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
- {
- yy_current_state = (int) yy_def[yy_current_state];
-- if ( yy_current_state >= 103 )
-+ if ( yy_current_state >= 117 )
- yy_c = yy_meta[(unsigned int) yy_c];
- }
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-@@ -1561,13 +1693,12 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
- while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
- {
- yy_current_state = (int) yy_def[yy_current_state];
-- if ( yy_current_state >= 103 )
-+ if ( yy_current_state >= 117 )
- yy_c = yy_meta[(unsigned int) yy_c];
- }
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-- yy_is_jam = (yy_current_state == 102);
-+ yy_is_jam = (yy_current_state == 116);
-
-- (void)yyg;
- return yy_is_jam ? 0 : yy_current_state;
- }
-
-@@ -1596,7 +1727,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
-
- else
- { /* need more input */
-- yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
-+ int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
- ++yyg->yy_c_buf_p;
-
- switch ( yy_get_next_buffer( yyscanner ) )
-@@ -1884,7 +2015,7 @@ void libconfig_yypop_buffer_state (yyscan_t yyscanner)
- */
- static void libconfig_yyensure_buffer_stack (yyscan_t yyscanner)
- {
-- yy_size_t num_to_alloc;
-+ int num_to_alloc;
- struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-
- if (!yyg->yy_buffer_stack) {
-@@ -1982,12 +2113,12 @@ YY_BUFFER_STATE libconfig_yy_scan_string (yyconst char * yystr , yyscan_t yyscan
- * @param yyscanner The scanner object.
- * @return the newly allocated buffer state object.
- */
--YY_BUFFER_STATE libconfig_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner)
-+YY_BUFFER_STATE libconfig_yy_scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner)
- {
- YY_BUFFER_STATE b;
- char *buf;
- yy_size_t n;
-- yy_size_t i;
-+ int i;
-
- /* Get memory for full buffer, including space for trailing EOB's. */
- n = _yybytes_len + 2;
-@@ -2097,7 +2228,7 @@ FILE *libconfig_yyget_out (yyscan_t yyscanner)
- /** Get the length of the current token.
- * @param yyscanner The scanner object.
- */
--yy_size_t libconfig_yyget_leng (yyscan_t yyscanner)
-+int libconfig_yyget_leng (yyscan_t yyscanner)
- {
- struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
- return yyleng;
-@@ -2133,7 +2264,7 @@ void libconfig_yyset_lineno (int line_number , yyscan_t yyscanner)
-
- /* lineno is only valid if an input buffer exists. */
- if (! YY_CURRENT_BUFFER )
-- YY_FATAL_ERROR( "libconfig_yyset_lineno called with no buffer" );
-+ yy_fatal_error( "libconfig_yyset_lineno called with no buffer" , yyscanner);
-
- yylineno = line_number;
- }
-@@ -2148,7 +2279,7 @@ void libconfig_yyset_column (int column_no , yyscan_t yyscanner)
-
- /* column is only valid if an input buffer exists. */
- if (! YY_CURRENT_BUFFER )
-- YY_FATAL_ERROR( "libconfig_yyset_column called with no buffer" );
-+ yy_fatal_error( "libconfig_yyset_column called with no buffer" , yyscanner);
-
- yycolumn = column_no;
- }
-@@ -2372,4 +2503,4 @@ void libconfig_yyfree (void * ptr , yyscan_t yyscanner)
-
- #define YYTABLES_NAME "yytables"
-
--#line 207 "scanner.l"
-+#line 315 "scanner.l"
diff --git a/ports/libconfig/portfile.cmake b/ports/libconfig/portfile.cmake
index 73028de7c..9456636a9 100644
--- a/ports/libconfig/portfile.cmake
+++ b/ports/libconfig/portfile.cmake
@@ -3,20 +3,12 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO hyperrealm/libconfig
- REF v1.6
- SHA512 6222110851970fda11d21e73bc322be95fb1ce62c513e2f4cc7875d7b32d1d211860971692db679edf8ac46151033a132fc669bd16590fec56360ef3a6e584f8
+ REF v1.7.2
+ SHA512 9df57355c2d08381b4a0a6366f0db3633fbe8f73c2bb8c370c040b0bae96ce89ee4ac6c17a5a247fed855d890fa383e5b70cb5573fc9cfc62194d5b94e161cee
HEAD_REF master
)
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES
- "${CMAKE_CURRENT_LIST_DIR}/fix-scanner-source-msvc-patch.patch"
- "${CMAKE_CURRENT_LIST_DIR}/fix-scanner-header-msvc-patch.patch"
-)
-
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/scandir.c DESTINATION ${SOURCE_PATH}/lib/win32)
vcpkg_configure_cmake(
diff --git a/ports/libconfig/scandir.c b/ports/libconfig/scandir.c
deleted file mode 100644
index cab75716e..000000000
--- a/ports/libconfig/scandir.c
+++ /dev/null
@@ -1,112 +0,0 @@
-// "$Id: scandir.c 1339 2006-04-03 22:47:29Z spitzak $"
-//
-// Copyright 1998-2006 by Bill Spitzak and others.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-// USA.
-//
-// Please report all bugs and problems to "fltk-bugs@fltk.org".
-
-// Emulation of posix scandir() call
-// This source file is #include'd by scandir.c
-// THIS IS A C FILE! DO NOT CHANGE TO C++!!!
-// See @http://www.fltk.org/strfiles/1779/scandir.c
-
-#include <string.h>
-#include <windows.h>
-#include <stdlib.h>
-#include <io.h>
-#include <dirent.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef FILENAME_MAX
-#define FILENAME_MAX 2048
-#endif
-
-/**
- * The scandir() function reads the directory dirname and builds an array of
- * pointers to directory entries. It returns the number of entries in the array.
- * A pointer to the array of directory entries is stored in the location
- * referenced by namelist.
- */
-int libconfig_scandir(const char *dirname, struct dirent ***namelist,
- int (*select)(struct dirent *),
- int (*compar)(struct dirent **, struct dirent **)) {
- char *d;
- WIN32_FIND_DATA find;
- HANDLE h;
- int nDir = 0, NDir = 0;
- struct dirent **dir = 0, *selectDir;
- unsigned long ret;
- char findIn[MAX_PATH*4];
-
- //utf8tomb(dirname, strlen(dirname), findIn, _MAX_PATH);
- strcpy(findIn, dirname);
-
- d = findIn+strlen(findIn);
- if (d==findIn) *d++ = '.';
- if (*(d-1)!='/' && *(d-1)!='\\') *d++ = '/';
- *d++ = '*';
- *d++ = 0;
-
- if ((h=FindFirstFile(findIn, &find))==INVALID_HANDLE_VALUE) {
- ret = GetLastError();
- if (ret != ERROR_NO_MORE_FILES) {
- // TODO: return some error code
- }
- *namelist = dir;
- return nDir;
- }
- do {
- selectDir=(struct dirent*)malloc(sizeof(struct dirent));
- strcpy(selectDir->d_name, find.cFileName);
- if (!select || (*select)(selectDir)) {
- if (nDir==NDir) {
- struct dirent **tempDir = (struct dirent **)calloc(sizeof(struct dirent*), NDir+33);
- if (NDir) memcpy(tempDir, dir, sizeof(struct dirent*)*NDir);
- if (dir) free(dir);
- dir = tempDir;
- NDir += 32;
- }
- dir[nDir] = selectDir;
- nDir++;
- dir[nDir] = 0;
- } else {
- free(selectDir);
- }
- } while (FindNextFile(h, &find));
- ret = GetLastError();
- if (ret != ERROR_NO_MORE_FILES) {
- // TODO: return some error code
- }
- FindClose(h);
-
- if (compar) qsort (dir, nDir, sizeof(*dir),
- (int(*)(const void*, const void*))compar);
-
- *namelist = dir;
- return nDir;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-//
-// End of "$Id: scandir.c 1339 2006-04-03 22:47:29Z spitzak $".
-//
diff --git a/ports/libdatrie/CMakeLists.txt b/ports/libdatrie/CMakeLists.txt
new file mode 100644
index 000000000..bdc1c21ea
--- /dev/null
+++ b/ports/libdatrie/CMakeLists.txt
@@ -0,0 +1,94 @@
+cmake_minimum_required(VERSION 3.0)
+project(libdatrie LANGUAGES C)
+
+option(SKIP_HEADERS "Skip headers" OFF)
+option(SKIP_TOOL "Skip tool" OFF)
+option(BUILD_SHARED_LIBS "Build shared libs" OFF)
+
+set(LIB_SRCS
+ datrie/alpha-map.c
+ datrie/darray.c
+ datrie/dstring.c
+ datrie/fileutils.c
+ datrie/tail.c
+ datrie/trie.c
+ datrie/trie-string.c
+)
+
+set(LIB_HDRS
+ datrie/alpha-map.h
+ datrie/trie.h
+ datrie/triedefs.h
+ datrie/typedefs.h
+)
+
+if(WIN32)
+ list(APPEND LIB_SRCS datrie/libdatrie.def)
+endif()
+
+include(CheckIncludeFile)
+include(CheckFunctionExists)
+
+set(STDC_HEADERS 1)
+check_include_file(dlfcn.h HAVE_DLFCN_H)
+check_include_file(inttypes.h HAVE_INTTYPES_H)
+check_include_file(limits.h HAVE_LIMITS_H)
+check_include_file(memory.h HAVE_MEMORY_H)
+check_include_file(stdint.h HAVE_STDINT_H)
+check_include_file(stdio.h HAVE_STDIO_H)
+check_include_file(stdlib.h HAVE_STDLIB_H)
+check_include_file(strings.h HAVE_STRINGS_H)
+check_include_file(string.h HAVE_STRING_H)
+check_include_file(sys/stat.h HAVE_SYS_STAT_H)
+check_include_file(sys/types.h HAVE_SYS_TYPES_H)
+check_include_file(unistd.h HAVE_UNISTD_H)
+
+check_function_exists(nl_langinfo HAVE_LANGINFO_CODESET)
+check_function_exists(locale_charset HAVE_LOCALE_CHARSET)
+check_function_exists(malloc HAVE_MALLOC)
+
+configure_file(config.h.cmake config.h)
+
+add_library(libdatrie ${LIB_SRCS})
+target_include_directories(libdatrie PRIVATE ".")
+target_include_directories(libdatrie PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
+set_target_properties(libdatrie PROPERTIES PREFIX "")
+set_target_properties(libdatrie PROPERTIES DEBUG_POSTFIX "d")
+
+if(MSVC)
+ add_definitions(-D_CRT_SECURE_NO_WARNINGS)
+ add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
+endif()
+
+
+if (NOT SKIP_TOOL)
+ add_executable(trietool "tools/trietool.c" )
+ target_include_directories(trietool PRIVATE ".")
+ target_include_directories(trietool PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
+ target_link_libraries(trietool libdatrie)
+
+ find_path(ICONV_INCLUDE_DIR iconv.h)
+ find_library(ICONV_LIBRARY NAMES iconv libiconv)
+ find_library(CHARSET_LIBRARY NAMES charset libcharset)
+ target_include_directories(trietool PRIVATE ${ICONV_INCLUDE_DIR})
+ target_link_libraries(trietool ${ICONV_LIBRARY} ${CHARSET_LIBRARY})
+
+ install(
+ TARGETS trietool
+ RUNTIME DESTINATION bin
+ )
+endif()
+
+install(
+ TARGETS libdatrie
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+if (NOT SKIP_HEADERS)
+ install(
+ FILES ${LIB_HDRS}
+ DESTINATION "include/datrie"
+ )
+endif()
diff --git a/ports/libdatrie/CONTROL b/ports/libdatrie/CONTROL
new file mode 100644
index 000000000..8b9747fd7
--- /dev/null
+++ b/ports/libdatrie/CONTROL
@@ -0,0 +1,4 @@
+Source: libdatrie
+Version: 0.2.10-2
+Description: implementation of double-array structure for representing trie
+Build-Depends: libiconv
diff --git a/ports/libdatrie/config.h.cmake b/ports/libdatrie/config.h.cmake
new file mode 100644
index 000000000..9d575d6e5
--- /dev/null
+++ b/ports/libdatrie/config.h.cmake
@@ -0,0 +1,87 @@
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#cmakedefine HAVE_DLFCN_H
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#cmakedefine HAVE_INTTYPES_H
+
+/* Have nl_langinfo (CODESET) */
+#cmakedefine HAVE_LANGINFO_CODESET
+
+/* Define to 1 if you have the <limits.h> header file. */
+#cmakedefine HAVE_LIMITS_H
+
+/* Have locale_charset() */
+#cmakedefine HAVE_LOCALE_CHARSET
+
+/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
+ to 0 otherwise. */
+#cmakedefine HAVE_MALLOC
+
+/* Define to 1 if you have the <memory.h> header file. */
+#cmakedefine HAVE_MEMORY_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#cmakedefine HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdio.h> header file. */
+#cmakedefine HAVE_STDIO_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#cmakedefine HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#cmakedefine HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#cmakedefine HAVE_STRING_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#cmakedefine HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#cmakedefine HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#cmakedefine HAVE_UNISTD_H
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#cmakedefine LT_OBJDIR
+
+/* Name of package */
+#define PACKAGE "libdatrie"
+
+/* Define to the address where bug reports for this package should be sent. */
+#cmakedefine PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "libdatrie"
+
+/* Define to the full name and version of this package. */
+#cmakedefine PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#cmakedefine PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL "https://linux.thai.net/~thep/datrie/datrie.html"
+
+/* Define to the version of this package. */
+#cmakedefine PACKAGE_VERSION
+
+/* Define to 1 if you have the ANSI C header files. */
+#cmakedefine STDC_HEADERS 1
+
+/* Version number of package */
+#cmakedefine VERSION "@VERSION@"
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#cmakedefine const
+
+/* Define to rpl_malloc if the replacement function should be used. */
+#cmakedefine malloc
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#cmakedefine size_t
diff --git a/ports/libdatrie/fix-exports.patch b/ports/libdatrie/fix-exports.patch
new file mode 100644
index 000000000..3c407c21b
--- /dev/null
+++ b/ports/libdatrie/fix-exports.patch
@@ -0,0 +1,8 @@
+diff -Naur ./a/libdatrie.def ./b/libdatrie.def
+--- a/datrie/libdatrie.def 2013-10-17 06:27:57.000000000 +0300
++++ b/datrie/libdatrie.def 2017-12-21 02:42:39.873879000 +0300
+@@ -1,3 +1,4 @@
++EXPORTS
+ alpha_map_new
+ alpha_map_clone
+ alpha_map_free
diff --git a/ports/libdatrie/fix-trietool.patch b/ports/libdatrie/fix-trietool.patch
new file mode 100644
index 000000000..bcecee26e
--- /dev/null
+++ b/ports/libdatrie/fix-trietool.patch
@@ -0,0 +1,31 @@
+From 086a76ad7c17060d504371ea724cf5d651d43eb3 Mon Sep 17 00:00:00 2001
+From: Mikhail Paulyshka <me@mixaill.tk>
+Date: Thu, 28 Dec 2017 16:07:51 +0300
+Subject: [PATCH] fix trietool for MSVC runtime
+
+---
+ tools/trietool.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tools/trietool.c b/tools/trietool.c
+index 4cfde2a..7c90905 100644
+--- a/tools/trietool.c
++++ b/tools/trietool.c
+@@ -589,12 +589,12 @@ string_trim (char *s)
+ char *p;
+
+ /* skip leading white spaces */
+- while (*s && isspace (*s))
++ while (*s && isspace ((unsigned char)*s))
+ ++s;
+
+ /* trim trailing white spaces */
+ p = s + strlen (s) - 1;
+- while (isspace (*p))
++ while (isspace ((unsigned char)*p))
+ --p;
+ *++p = '\0';
+
+--
+2.14.1.windows.1
+
diff --git a/ports/libdatrie/portfile.cmake b/ports/libdatrie/portfile.cmake
new file mode 100644
index 000000000..f7fefd248
--- /dev/null
+++ b/ports/libdatrie/portfile.cmake
@@ -0,0 +1,55 @@
+set(LIBDATRIE_VERSION 0.2.10)
+
+include(vcpkg_common_functions)
+
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libdatrie-${LIBDATRIE_VERSION})
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://linux.thai.net/pub/ThaiLinux/software/libthai/libdatrie-${LIBDATRIE_VERSION}.tar.xz"
+ FILENAME "libdatrie-${LIBDATRIE_VERSION}.tar.xz"
+ SHA512 ee68ded9d6e06c562da462d42e7e56098a82478d7b8547506200c3018b72536c4037a4e518924f779dc77d3ab139d93216bdb29ab4116b9dc9efd1a5d1eb9e31
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ "${CMAKE_CURRENT_LIST_DIR}/fix-exports.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/fix-trietool.patch"
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h.cmake DESTINATION ${SOURCE_PATH})
+
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ set(SKIP_TOOL ON)
+else()
+ set(SKIP_TOOL OFF)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DVERSION=${LIBDATRIE_VERSION}
+ OPTIONS_RELEASE
+ -DSKIP_TOOL=${SKIP_TOOL}
+ -DSKIP_HEADERS=OFF
+ OPTIONS_DEBUG
+ -DSKIP_TOOL=ON
+ -DSKIP_HEADERS=ON
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT})
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/trietool.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/trietool.exe)
+ vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})
+endif()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libdatrie RENAME copyright)
diff --git a/ports/libgit2/CONTROL b/ports/libgit2/CONTROL
new file mode 100644
index 000000000..779bf10c9
--- /dev/null
+++ b/ports/libgit2/CONTROL
@@ -0,0 +1,3 @@
+Source: libgit2
+Version: 0.26.0
+Description: Git linkable library
diff --git a/ports/libgit2/portfile.cmake b/ports/libgit2/portfile.cmake
new file mode 100644
index 000000000..e624e37eb
--- /dev/null
+++ b/ports/libgit2/portfile.cmake
@@ -0,0 +1,30 @@
+# libgit2 uses winapi functions not available in WindowsStore
+if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore)
+ message(FATAL_ERROR "Error: UWP builds are not supported.")
+endif()
+
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO libgit2/libgit2
+ REF v0.26.0
+ SHA512 b6e51f2216c7c23f352572b780ea1325a25a517396709f036bb573295c2bd02aa505ba616846ac7e07863e99e640e7d47fefc5727478a257b283da99060ee47c
+ HEAD_REF master)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DBUILD_CLAR=OFF
+ OPTIONS_DEBUG
+ -DBUILD_CLAR=OFF
+)
+
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libgit2)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/libgit2/COPYING ${CURRENT_PACKAGES_DIR}/share/libgit2/copyright)
diff --git a/ports/libiconv/CONTROL b/ports/libiconv/CONTROL
index 980763980..aabc4a953 100644
--- a/ports/libiconv/CONTROL
+++ b/ports/libiconv/CONTROL
@@ -1,3 +1,3 @@
Source: libiconv
-Version: 1.15
+Version: 1.15-1
Description: GNU Unicode text conversion
diff --git a/ports/libiconv/portfile.cmake b/ports/libiconv/portfile.cmake
index a79d7c074..79c30987c 100644
--- a/ports/libiconv/portfile.cmake
+++ b/ports/libiconv/portfile.cmake
@@ -23,6 +23,7 @@ vcpkg_configure_cmake(
)
vcpkg_install_cmake()
+vcpkg_copy_pdbs()
# Handle copyright
file(COPY ${SOURCE_PATH}/COPYING.LIB DESTINATION ${CURRENT_PACKAGES_DIR}/share/libiconv)
diff --git a/ports/libjpeg-turbo/portfile.cmake b/ports/libjpeg-turbo/portfile.cmake
index 1d45087b0..a3e882b1f 100644
--- a/ports/libjpeg-turbo/portfile.cmake
+++ b/ports/libjpeg-turbo/portfile.cmake
@@ -12,18 +12,19 @@ vcpkg_apply_patches(
PATCHES "${CMAKE_CURRENT_LIST_DIR}/add-options-for-exes-docs-headers.patch"
)
-vcpkg_find_acquire_program(NASM)
-get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY)
-set(ENV{PATH} "$ENV{PATH};${NASM_EXE_PATH}")
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
+ set(LIBJPEGTURBO_SIMD -DWITH_SIMD=OFF)
+else()
+ set(LIBJPEGTURBO_SIMD -DWITH_SIMD=ON)
+ vcpkg_find_acquire_program(NASM)
+ get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY)
+ set(ENV{PATH} "$ENV{PATH};${NASM_EXE_PATH}")
+endif()
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ENABLE_SHARED)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ENABLE_STATIC)
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" WITH_CRT_DLL)
-if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
- set(LIBJPEGTURBO_SIMD -DWITH_SIMD=OFF)
-endif()
-
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
diff --git a/ports/libpqxx/CMakeLists.txt b/ports/libpqxx/CMakeLists.txt
new file mode 100644
index 000000000..c33d8863f
--- /dev/null
+++ b/ports/libpqxx/CMakeLists.txt
@@ -0,0 +1,68 @@
+cmake_minimum_required(VERSION 3.5)
+project(libpqxx VERSION 6.0.0 LANGUAGES CXX)
+set(CMAKE_DEBUG_POSTFIX "D")
+
+find_library(LIBPQD libpqd)
+find_library(LIBPQ libpq)
+find_path(LIBPQ_FE_H libpq-fe.h)
+find_path(POSTGRES_EXT_H postgres_ext.h)
+
+include(CheckIncludeFileCXX)
+
+check_include_file_cxx(poll.h HAVE_POLL)
+check_include_file_cxx(sys/select.h HAVE_SYS_SELECT_H)
+check_include_file_cxx(sys/time.h HAVE_SYS_TIME_H)
+check_include_file_cxx(sys/types.h HAVE_SYS_TYPES_H)
+check_include_file_cxx(unistd.h HAVE_UNISTD_H)
+
+include(CheckCXXSourceCompiles)
+
+check_cxx_source_compiles("[[deprecated]] void f();
+int main() { return 0; }" PQXX_HAVE_DEPRECATED)
+check_cxx_source_compiles("#include <optional>
+int main() { return std::optional<int>(0).value(); }" PQXX_HAVE_OPTIONAL)
+check_cxx_source_compiles("#include <experimental/optional>
+int main() { return std::experimental::optional<int>(0).value(); }" PQXX_HAVE_EXP_OPTIONAL)
+
+configure_file(config-internal-compiler.h.in pqxx/config-internal-compiler.h)
+configure_file(config-public-compiler.h.in pqxx/config-public-compiler.h)
+
+file(GLOB SRCS "${PROJECT_SOURCE_DIR}/src/*.cxx")
+
+if(BUILD_SHARED_LIBS)
+ set(TARGET libpqxx)
+ set(SHARED_DEFINITION -DPQXX_SHARED)
+ list(APPEND SRCS "${PROJECT_SOURCE_DIR}/win32/libpqxx.cxx")
+else()
+ set(TARGET libpqxx_static)
+ set(SHARED_DEFINITION "")
+endif()
+
+add_library(${TARGET} ${SRCS})
+target_compile_definitions(${TARGET} PRIVATE -DPQXX_INTERNAL -DNOMINMAX ${SHARED_DEFINITION})
+target_include_directories(${TARGET} PRIVATE include ${LIBPQ_FE_H} ${POSTGRES_EXT_H} ${CMAKE_BINARY_DIR})
+target_link_libraries(${TARGET} PRIVATE ws2_32)
+if(LIBPQD AND LIBPQ)
+ target_link_libraries(${TARGET} PRIVATE debug ${LIBPQD} optimized ${LIBPQ})
+elseif(LIBPQD)
+ target_link_libraries(${TARGET} PRIVATE ${LIBPQD})
+else()
+ target_link_libraries(${TARGET} PRIVATE ${LIBPQ})
+endif()
+
+install(TARGETS ${TARGET}
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+ )
+install(DIRECTORY include/ DESTINATION include
+ CONFIGURATIONS Release
+ PATTERN "doc" EXCLUDE
+ PATTERN "*.am" EXCLUDE
+ PATTERN "*.in" EXCLUDE
+ PATTERN "*.template" EXCLUDE
+ )
+install(DIRECTORY ${CMAKE_BINARY_DIR}/pqxx/ DESTINATION include/pqxx
+ CONFIGURATIONS Release
+ FILES_MATCHING PATTERN "*.h"
+ )
diff --git a/ports/libpqxx/CONTROL b/ports/libpqxx/CONTROL
new file mode 100644
index 000000000..8860ddaf9
--- /dev/null
+++ b/ports/libpqxx/CONTROL
@@ -0,0 +1,4 @@
+Source: libpqxx
+Version: 6.0.0
+Description: The official C++ client API for PostgreSQL
+Build-Depends: libpq
diff --git a/ports/libpqxx/config-internal-compiler.h.in b/ports/libpqxx/config-internal-compiler.h.in
new file mode 100644
index 000000000..6a5f07fbe
--- /dev/null
+++ b/ports/libpqxx/config-internal-compiler.h.in
@@ -0,0 +1,14 @@
+/* System supports poll(). */
+#cmakedefine HAVE_POLL 1
+
+/* Define to 1 if you have the <sys/select.h> header file. */
+#cmakedefine HAVE_SYS_SELECT_H 1
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#cmakedefine HAVE_SYS_TIME_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#cmakedefine HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#cmakedefine HAVE_UNISTD_H 1
diff --git a/ports/libpqxx/config-public-compiler.h.in b/ports/libpqxx/config-public-compiler.h.in
new file mode 100644
index 000000000..24479707a
--- /dev/null
+++ b/ports/libpqxx/config-public-compiler.h.in
@@ -0,0 +1,8 @@
+/* Define if compiler supports [[deprecated]] attribute */
+#cmakedefine PQXX_HAVE_DEPRECATED 1
+
+/* Define if the compiler supports std::experimental::optional. */
+#cmakedefine PQXX_HAVE_EXP_OPTIONAL 1
+
+/* Define if the compiler supports std::optional. */
+#cmakedefine PQXX_HAVE_OPTIONAL 1
diff --git a/ports/libpqxx/portfile.cmake b/ports/libpqxx/portfile.cmake
new file mode 100644
index 000000000..2ba92b1cb
--- /dev/null
+++ b/ports/libpqxx/portfile.cmake
@@ -0,0 +1,23 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO jtv/libpqxx
+ REF 6.0.0
+ SHA512 f237cc03c01a8262eee44a9428206c1cc11b6034dddf540afef145f58eee5c32b880d84832563480d73d834c24311170e2ef6789e100793afbe0b6e393bd4169
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/config-public-compiler.h.in DESTINATION ${SOURCE_PATH})
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/config-internal-compiler.h.in DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libpqxx RENAME copyright)
diff --git a/ports/librtmp/CMakeLists.txt b/ports/librtmp/CMakeLists.txt
index c12ddc0ef..f0f78e5f1 100644
--- a/ports/librtmp/CMakeLists.txt
+++ b/ports/librtmp/CMakeLists.txt
@@ -36,7 +36,6 @@ set(SRCS librtmp/amf.c
librtmp/log.c
librtmp/parseurl.c
librtmp/rtmp.c
- librtmp/librtmp.def
)
if(MSVC)
@@ -54,4 +53,4 @@ install(TARGETS librtmp
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
-install(FILES librtmp/rtmp.h librtmp/amf.h DESTINATION include/librtmp) \ No newline at end of file
+install(DIRECTORY ${PROJECT_SOURCE_DIR}/librtmp DESTINATION include FILES_MATCHING PATTERN "*.h")
diff --git a/ports/librtmp/CONTROL b/ports/librtmp/CONTROL
index d26541d91..9a93c8b47 100644
--- a/ports/librtmp/CONTROL
+++ b/ports/librtmp/CONTROL
@@ -1,4 +1,4 @@
Source: librtmp
-Version: 2.3
+Version: 2.4
Build-Depends: zlib, openssl
Description: RTMPDump Real-Time Messaging Protocol API
diff --git a/ports/librtmp/fix_strncasecmp.patch b/ports/librtmp/fix_strncasecmp.patch
index c1cadc4ac..3e0c7ea96 100644
--- a/ports/librtmp/fix_strncasecmp.patch
+++ b/ports/librtmp/fix_strncasecmp.patch
@@ -1,16 +1,20 @@
diff --git a/librtmp/rtmp_sys.h b/librtmp/rtmp_sys.h
-index 0874cbe..b43d587 100644
+index 6a3f215..1b5ac2a 100644
--- a/librtmp/rtmp_sys.h
+++ b/librtmp/rtmp_sys.h
-@@ -37,6 +37,11 @@
+@@ -28,11 +28,13 @@
#include <ws2tcpip.h>
- #endif
-+#ifdef _MSC_VER
-+#define strncasecmp _strnicmp
+ #ifdef _MSC_VER /* MSVC */
++#if _MSC_VER < 1900
+ #define snprintf _snprintf
+-#define strcasecmp stricmp
+-#define strncasecmp strnicmp
+ #define vsnprintf _vsnprintf
+ #endif
+#define strcasecmp _stricmp
++#define strncasecmp _strnicmp
+#endif
-+
+
#define GetSockError() WSAGetLastError()
#define SetSockError(e) WSASetLastError(e)
- #define setsockopt(a,b,c,d,e) (setsockopt)(a,b,c,(const char *)d,(int)e)
diff --git a/ports/librtmp/hide_netstackdump.patch b/ports/librtmp/hide_netstackdump.patch
index e2a5e4207..391bbdc39 100644
--- a/ports/librtmp/hide_netstackdump.patch
+++ b/ports/librtmp/hide_netstackdump.patch
@@ -1,8 +1,8 @@
diff --git a/librtmp/rtmp.c b/librtmp/rtmp.c
-index f152648..0bf3f7d 100644
+index 5ef3ae9..e559c6e 100644
--- a/librtmp/rtmp.c
+++ b/librtmp/rtmp.c
-@@ -1316,7 +1316,7 @@ ReadN(RTMP *r, char *buffer, int n)
+@@ -1333,7 +1333,7 @@ ReadN(RTMP *r, char *buffer, int n)
SendBytesReceived(r);
}
/*RTMP_Log(RTMP_LOGDEBUG, "%s: %d bytes\n", __FUNCTION__, nBytes); */
@@ -11,7 +11,7 @@ index f152648..0bf3f7d 100644
fwrite(ptr, 1, nBytes, netstackdump_read);
#endif
-@@ -3527,7 +3527,7 @@ RTMPSockBuf_Send(RTMPSockBuf *sb, const char *buf, int len)
+@@ -3553,7 +3553,7 @@ RTMPSockBuf_Send(RTMPSockBuf *sb, const char *buf, int len)
{
int rc;
diff --git a/ports/librtmp/librtmp.def b/ports/librtmp/librtmp.def
index d9f8b9136..837e6a355 100644
--- a/ports/librtmp/librtmp.def
+++ b/ports/librtmp/librtmp.def
@@ -1,4 +1,11 @@
EXPORTS
+ AMF3_Decode
+ AMF3CD_AddProp
+ AMF3CD_GetProp
+ AMF3Prop_Decode
+ AMF3ReadInteger
+ AMF3ReadString
+
AMF_AddProp
AMF_CountProp
AMF_Decode
@@ -24,13 +31,6 @@ EXPORTS
AMF_GetProp
AMF_Reset
- AMF3_Decode
- AMF3CD_AddProp
- AMF3CD_GetProp
- AMF3Prop_Decode
- AMF3ReadInteger
- AMF3ReadString
-
AMFProp_Decode
AMFProp_Dump
AMFProp_Encode
@@ -51,9 +51,7 @@ EXPORTS
RTMP_Connect0
RTMP_Connect1
RTMP_ConnectStream
- RTMP_ctrlC
RTMP_debuglevel
- RTMP_DefaultFlashVer
RTMP_DeleteStream
RTMP_DropRequest
RTMP_EnableWrite
@@ -97,9 +95,15 @@ EXPORTS
RTMP_SetupStream
RTMP_SetupURL
RTMP_Socket
- RTMP_TLS_ctx
RTMP_TLS_Init
RTMP_ToggleStream
RTMP_UpdateBufferMS
RTMP_UserInterrupt
RTMP_Write
+ RTMPPacket_Alloc
+ RTMPPacket_Dump
+ RTMPPacket_Free
+ RTMPPacket_Reset
+ RTMPSockBuf_Close
+ RTMPSockBuf_Fill
+ RTMPSockBuf_Send
diff --git a/ports/librtmp/portfile.cmake b/ports/librtmp/portfile.cmake
index 18423f152..25e41bbf7 100644
--- a/ports/librtmp/portfile.cmake
+++ b/ports/librtmp/portfile.cmake
@@ -1,13 +1,13 @@
include(vcpkg_common_functions)
-set(RTMPDUMP_VERSION 2.3)
-set(RTMPDUMP_FILENAME rtmpdump-${RTMPDUMP_VERSION}.tgz)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/rtmpdump-${RTMPDUMP_VERSION})
+set(RTMPDUMP_VERSION 2.4)
+set(RTMPDUMP_FILENAME rtmpdump-${RTMPDUMP_VERSION}.tar.gz)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/rtmpdump)
vcpkg_download_distfile(ARCHIVE
URLS "http://rtmpdump.mplayerhq.hu/download/${RTMPDUMP_FILENAME}"
FILENAME "${RTMPDUMP_FILENAME}"
- SHA512 d8240ba372a704231286b81bbf75716d8b76874840538c4e1527f7f8b6ca66eeaba6b03167fe6fab06bf80f20f07d89ecb84cc428b3196234174a43f3328ec2a
+ SHA512 a6253af95492739366dce620a2a6cc6f4f18d7f12f9ef2c747240259066ca135beeb02091d0f3dd8380c0c294a30d3f702ad3fad1dee1db4e70473078fb81609
)
vcpkg_extract_source_archive(${ARCHIVE})
@@ -23,6 +23,7 @@ vcpkg_apply_patches(
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
)
vcpkg_install_cmake()
diff --git a/ports/libsamplerate/CMakeLists.txt b/ports/libsamplerate/CMakeLists.txt
new file mode 100644
index 000000000..44ba2277a
--- /dev/null
+++ b/ports/libsamplerate/CMakeLists.txt
@@ -0,0 +1,14 @@
+add_library(libsamplerate-0
+ samplerate.c
+ src_sinc.c
+ src_zoh.c
+ src_linear.c
+ ../Win32/libsamplerate-0.def
+)
+
+install(TARGETS libsamplerate-0
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib)
+
+install(FILES samplerate.h DESTINATION include)
diff --git a/ports/libsamplerate/CONTROL b/ports/libsamplerate/CONTROL
new file mode 100644
index 000000000..d8a8f5f4e
--- /dev/null
+++ b/ports/libsamplerate/CONTROL
@@ -0,0 +1,3 @@
+Source: libsamplerate
+Version: 0.1.9.0
+Description: Sample Rate Converter for audio
diff --git a/ports/libsamplerate/portfile.cmake b/ports/libsamplerate/portfile.cmake
new file mode 100644
index 000000000..87712f6d2
--- /dev/null
+++ b/ports/libsamplerate/portfile.cmake
@@ -0,0 +1,26 @@
+include(vcpkg_common_functions)
+
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libsamplerate-0.1.9)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://www.mega-nerd.com/SRC/libsamplerate-0.1.9.tar.gz"
+ FILENAME "libsamplerate-0.1.9.tar.gz"
+ SHA512 78596657963cbf06785e3e6e1190b093df71da52ca340e75bd8246a962cd79dd1c90fa5527c607cebcb296e2c1ee605015278b274e3b768f2f3fbeb0eadfb728
+)
+
+vcpkg_extract_source_archive(${ARCHIVE})
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/src)
+file(COPY ${SOURCE_PATH}/Win32/config.h DESTINATION ${SOURCE_PATH}/src)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}/src
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libsamplerate RENAME copyright)
+
+vcpkg_copy_pdbs()
diff --git a/ports/libtorrent/CONTROL b/ports/libtorrent/CONTROL
index f6dde66ee..e0de70962 100644
--- a/ports/libtorrent/CONTROL
+++ b/ports/libtorrent/CONTROL
@@ -1,4 +1,4 @@
Source: libtorrent
-Version: 94f4e88e05f92a1
+Version: 1.1.6
Description: An efficient feature complete C++ BitTorrent implementation
Build-Depends: openssl, boost-system, boost-date-time, boost-chrono, boost-random, boost-asio, boost-crc, boost-config
diff --git a/ports/libtorrent/add-dbghelp-to-win32-libs.patch b/ports/libtorrent/add-dbghelp-to-win32-libs.patch
deleted file mode 100644
index 35df3bc2b..000000000
--- a/ports/libtorrent/add-dbghelp-to-win32-libs.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1963d90..99698a2 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -267,7 +267,7 @@ target_link_libraries(torrent-rasterbar ${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_I
- #add_definitions(-DBOOST_ASIO_HASH_MAP_BUCKETS=1021 -D__USE_W32_SOCKETS -DWIN32_LEAN_AND_MEAN )
-
- if (WIN32)
-- target_link_libraries(torrent-rasterbar wsock32 ws2_32 Iphlpapi)
-+ target_link_libraries(torrent-rasterbar wsock32 ws2_32 Iphlpapi dbghelp)
- add_definitions(-D_WIN32_WINNT=0x0600)
- # prevent winsock1 to be included
- add_definitions(-DWIN32_LEAN_AND_MEAN)
diff --git a/ports/libtorrent/portfile.cmake b/ports/libtorrent/portfile.cmake
index 3101bab29..bf0d851b9 100644
--- a/ports/libtorrent/portfile.cmake
+++ b/ports/libtorrent/portfile.cmake
@@ -3,15 +3,14 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO arvidn/libtorrent
- REF 94f4e88e05f92a1b07551598a4bedb2c16af0f2f
- SHA512 1b4876a471a62813c97519ebf54fc06286b7ee43005e436c7139c6a6ac39fd40fefd5c9b7424e65509ec8deb95dfe1427544b686b6b9cd51cf3d3f133ba7a701
+ REF libtorrent-1_1_6
+ SHA512 528034e63330d3c6910ab9db34a2a543618961c0095ecb8f865065516c341d063cba92aed2904b80aa0d0ef65df1b91c400f69d16defad787ff1ffb5edd09e37
HEAD_REF master
)
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES ${CMAKE_CURRENT_LIST_DIR}/add-datetime-to-boost-libs.patch
- ${CMAKE_CURRENT_LIST_DIR}/add-dbghelp-to-win32-libs.patch
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LIBTORRENT_SHARED)
diff --git a/ports/llvm/CONTROL b/ports/llvm/CONTROL
index c50dc8cb8..ecc6346ca 100644
--- a/ports/llvm/CONTROL
+++ b/ports/llvm/CONTROL
@@ -1,4 +1,4 @@
Source: llvm
-Version: 5.0.0-2
+Version: 5.0.1
Description: The LLVM Compiler Infrastructure
Build-Depends: atlmfc
diff --git a/ports/llvm/portfile.cmake b/ports/llvm/portfile.cmake
index d2a82cf0b..60580947e 100644
--- a/ports/llvm/portfile.cmake
+++ b/ports/llvm/portfile.cmake
@@ -7,14 +7,25 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
endif()
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/llvm-5.0.0.src)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/llvm-5.0.1.src)
vcpkg_download_distfile(ARCHIVE
- URLS "http://releases.llvm.org/5.0.0/llvm-5.0.0.src.tar.xz"
- FILENAME "llvm-5.0.0.src.tar.xz"
- SHA512 e6d8fdcb5bf27bded814d02f39f69c6171bc3a512d5957c03e5ac2e231f903b7de87634b059bd5c5da670f7c3a8f7a538f6299225799f15f921857f1452f6b3a
+ URLS "http://releases.llvm.org/5.0.1/llvm-5.0.1.src.tar.xz"
+ FILENAME "llvm-5.0.1.src.tar.xz"
+ SHA512 bee1d45fca15ce725b1f2b1339b13eb6f750a3a321cfd099075477ec25835a8ca55b5366172c4aad46592dfd8afe372349ecf264f581463d017f9cee2d63c1cb
)
vcpkg_extract_source_archive(${ARCHIVE})
+vcpkg_download_distfile(CLANG_ARCHIVE
+ URLS "http://releases.llvm.org/5.0.1/cfe-5.0.1.src.tar.xz"
+ FILENAME "cfe-5.0.1.src.tar.xz"
+ SHA512 6619177a2ff9934fe8b15d6aa229abb8e34d0b1a75228d9efba9393daf71d6419a7256de57b31e2f9f829f71f842118556f996e86ee076f1e0a7cd394dfd31a2
+)
+vcpkg_extract_source_archive(${CLANG_ARCHIVE} ${SOURCE_PATH}/tools)
+
+if(NOT EXISTS ${SOURCE_PATH}/tools/clang)
+ file(RENAME ${SOURCE_PATH}/tools/cfe-5.0.1.src ${SOURCE_PATH}/tools/clang)
+endif()
+
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES ${CMAKE_CURRENT_LIST_DIR}/install-cmake-modules-to-share.patch
@@ -29,7 +40,7 @@ vcpkg_configure_cmake(
PREFER_NINJA
OPTIONS
-DLLVM_TARGETS_TO_BUILD=X86
- -DLLVM_INCLUDE_TOOLS=OFF
+ -DLLVM_INCLUDE_TOOLS=ON
-DLLVM_INCLUDE_UTILS=OFF
-DLLVM_INCLUDE_EXAMPLES=OFF
-DLLVM_INCLUDE_TESTS=OFF
@@ -39,6 +50,14 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
+file(GLOB EXE ${CURRENT_PACKAGES_DIR}/bin/*)
+file(GLOB DEBUG_EXE ${CURRENT_PACKAGES_DIR}/debug/bin/*)
+file(COPY ${EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/llvm)
+file(COPY ${DEBUG_EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/llvm)
+file(REMOVE ${EXE})
+file(REMOVE ${DEBUG_EXE})
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/clang TARGET_PATH share/clang)
vcpkg_fixup_cmake_targets(CONFIG_PATH share/llvm)
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/llvm)
@@ -46,6 +65,11 @@ file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/debug/include
${CURRENT_PACKAGES_DIR}/debug/tools
${CURRENT_PACKAGES_DIR}/debug/share
+ ${CURRENT_PACKAGES_DIR}/debug/bin
+ ${CURRENT_PACKAGES_DIR}/debug/msbuild-bin
+ ${CURRENT_PACKAGES_DIR}/bin
+ ${CURRENT_PACKAGES_DIR}/msbuild-bin
+ ${CURRENT_PACKAGES_DIR}/tools/msbuild-bin
)
# Remove one empty include subdirectory if it is indeed empty
diff --git a/ports/log4cplus/portfile.cmake b/ports/log4cplus/portfile.cmake
index db694315b..acd101c9b 100644
--- a/ports/log4cplus/portfile.cmake
+++ b/ports/log4cplus/portfile.cmake
@@ -7,19 +7,20 @@ vcpkg_from_github(
HEAD_REF master
)
+set(THREADPOOL_REF dda9e3d40502e85ce082c05d2c05c1bc94348b6a)
vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/log4cplus/ThreadPool/archive/dda9e3d40502e85ce082c05d2c05c1bc94348b6a.tar.gz"
- FILENAME "log4cplus-threadpool-97b5877b9c49d02abf.tar.gz"
- SHA512 97b5877b9c49d02abfcba4ca1312b833b58e4f0e9884fdcf57c20b7ec58801ed24742c8316512b4de8ab29bae42cc1e34058c0d2443c3a5950a2fb3434f86662
+ URLS "https://github.com/log4cplus/ThreadPool/archive/${THREADPOOL_REF}.tar.gz"
+ FILENAME "log4cplus-threadpool-${THREADPOOL_REF}.tar.gz"
+ SHA512 225adb11f447495a00e401d32f63d9a7eb3a8191d477a21bfa3c39f1ff5cbe8bfb7770a740e840c5748f816137cdef1a5915b17d16b3dd4c3399d1a67ab0f381
)
vcpkg_extract_source_archive(${ARCHIVE})
file(
COPY
- ${CURRENT_BUILDTREES_DIR}/src/ThreadPool-master/COPYING
- ${CURRENT_BUILDTREES_DIR}/src/ThreadPool-master/example.cpp
- ${CURRENT_BUILDTREES_DIR}/src/ThreadPool-master/README.md
- ${CURRENT_BUILDTREES_DIR}/src/ThreadPool-master/ThreadPool.h
+ ${CURRENT_BUILDTREES_DIR}/src/ThreadPool-${THREADPOOL_REF}/COPYING
+ ${CURRENT_BUILDTREES_DIR}/src/ThreadPool-${THREADPOOL_REF}/example.cpp
+ ${CURRENT_BUILDTREES_DIR}/src/ThreadPool-${THREADPOOL_REF}/README.md
+ ${CURRENT_BUILDTREES_DIR}/src/ThreadPool-${THREADPOOL_REF}/ThreadPool.h
DESTINATION ${SOURCE_PATH}/threadpool
)
diff --git a/ports/magnum-plugins/CONTROL b/ports/magnum-plugins/CONTROL
index 6c187f423..5c76b45ae 100644
--- a/ports/magnum-plugins/CONTROL
+++ b/ports/magnum-plugins/CONTROL
@@ -1,4 +1,4 @@
Source: magnum-plugins
-Version: jun2017-5
+Version: jan2018-1
Build-Depends: stb, magnum
Description: Plugins for C++11/C++14 and OpenGL graphics engine http://mosra.cz/blog/magnum.php
diff --git a/ports/magnum-plugins/portfile.cmake b/ports/magnum-plugins/portfile.cmake
index 289816b94..b2b574b06 100644
--- a/ports/magnum-plugins/portfile.cmake
+++ b/ports/magnum-plugins/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mosra/magnum-plugins
- REF 34a3bc34335ca05097e735db19fe1fae81dbfbb5
- SHA512 8d8998ed0f5a9361fd8a322f0c9ee8bb36b2255487e7198603f316a383a5dcb38160dcfa92759a2e2aa6d13d45f5fdae8f1165e39428d516823bc931d3097b83
+ REF f0ddc63385e30c3bae362789855a95de7c46f8a7
+ SHA512 d0afda7be75efd2dec731e9435732220a76e735ef58d860f7119f206b1d5828af6e70aca3517b0f930c83440930ed62cb03e6c123e37771b72c50ddb44676945
HEAD_REF master
)
diff --git a/ports/magnum/CONTROL b/ports/magnum/CONTROL
index 382e39075..a54adc118 100644
--- a/ports/magnum/CONTROL
+++ b/ports/magnum/CONTROL
@@ -1,4 +1,4 @@
Source: magnum
-Version: jun2017-6
+Version: jan2018-1
Build-Depends: corrade, sdl2, openal-soft
Description: C++11/C++14 and OpenGL graphics engine http://mosra.cz/blog/magnum.php
diff --git a/ports/magnum/portfile.cmake b/ports/magnum/portfile.cmake
index 67d96bf5b..57c62431e 100644
--- a/ports/magnum/portfile.cmake
+++ b/ports/magnum/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mosra/magnum
- REF ed7eac0b42a598dff8984830e7f943dd6af07deb
- SHA512 843e209b82b4f6f7c3f9612aec2641a28cb09361eefefe435bb7d2c06d0e4df65b6b9adf5893222cf31ddc3ccec967eb343da1da6180e9fbfef1b26234e145d5
+ REF 68953f8c872b7c08f792c6082b8ab152f2119560
+ SHA512 00b507b85ed3454f81fe7098e1fc349d4048a2372e3b2aceabccc0c4287540ed3850f8dd9cdcd9cfb9542ba9af741e30e43e2b03bbc5490b552f862da34369b1
HEAD_REF master
)
diff --git a/ports/mongo-c-driver/CONTROL b/ports/mongo-c-driver/CONTROL
index 4b100879a..6391682c4 100644
--- a/ports/mongo-c-driver/CONTROL
+++ b/ports/mongo-c-driver/CONTROL
@@ -1,4 +1,4 @@
Source: mongo-c-driver
-Version: 1.6.2-1
+Version: 1.9.0
Build-Depends: libbson, openssl (uwp)
Description: Client library written in C for MongoDB.
diff --git a/ports/mongo-c-driver/bson.patch b/ports/mongo-c-driver/bson.patch
deleted file mode 100644
index 6ef5451b8..000000000
--- a/ports/mongo-c-driver/bson.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/build/cmake/FindBSON.cmake b/build/cmake/FindBSON.cmake
-index 06fd82e..3ac549d 100644
---- a/build/cmake/FindBSON.cmake
-+++ b/build/cmake/FindBSON.cmake
-@@ -11,15 +11,15 @@ endif ()
-
- find_path(BSON_INCLUDE_DIR
- NAMES
-- libbson-1.0/bson.h
-+ bson.h
- HINTS
- ${BSON_ROOT_DIR}
- PATH_SUFFIXES
- include
-+ libbson-1.0
-+ include/libbson-1.0
- )
-
--set(BSON_INCLUDE_DIR "${BSON_INCLUDE_DIR}/libbson-1.0")
--
- find_library(BSON
- NAMES
- "bson-1.0"
diff --git a/ports/mongo-c-driver/fix-uwp.patch b/ports/mongo-c-driver/fix-uwp.patch
index 13c0a2299..59d67c6be 100644
--- a/ports/mongo-c-driver/fix-uwp.patch
+++ b/ports/mongo-c-driver/fix-uwp.patch
@@ -1,8 +1,72 @@
-diff --git a/src/mongoc/mongoc-gridfs-file.c b/src/mongoc/mongoc-gridfs-file.c
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5beb610..7e74ff7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -55,6 +55,7 @@
+
+ include(MaintainerFlags)
+
++if ((NOT ENABLE_STATIC STREQUAL ON) AND (NOT ENABLE_STATIC STREQUAL AUTO))
+ # The input variable BSON_ROOT_DIR is respected for backwards compatibility,
+ # but you should use the standard CMAKE_PREFIX_PATH instead.
+ message (STATUS "Searching for libbson CMake packages")
+@@ -67,12 +68,14 @@
+ message ("-- libbson found version \"${BSON_VERSION}\"")
+ message ("-- libbson include path \"${BSON_INCLUDE_DIRS}\"")
+ message ("-- libbson libraries \"${BSON_LIBRARIES}\"")
++endif ()
+
+ if (ENABLE_STATIC STREQUAL ON OR ENABLE_STATIC STREQUAL AUTO)
+ find_package (libbson-static-1.0
+ "${MONGOC_MAJOR_VERSION}.${MONGOC_MINOR_VERSION}.${MONGOC_MICRO_VERSION}"
+ HINTS
+- ${BSON_ROOT_DIR})
++ ${BSON_ROOT_DIR}
++ REQUIRED)
+
+ if (ENABLE_STATIC STREQUAL ON AND NOT BSON_STATIC_LIBRARY)
+ message (FATAL_ERROR "Static libbson not found. Pass -DENABLE_STATIC=OFF")
+@@ -627,6 +630,7 @@
+ set (LIBS ${LIBS} ws2_32)
+ endif()
+
++if (NOT MONGOC_ENABLE_STATIC)
+ add_library(mongoc_shared SHARED ${SOURCES} ${HEADERS})
+ set_target_properties(mongoc_shared PROPERTIES CMAKE_CXX_VISIBILITY_PRESET hidden)
+ target_link_libraries (mongoc_shared ${LIBS} ${BSON_LIBRARIES})
+@@ -638,6 +642,7 @@
+ # This hack sets up standard symlink, libmongoc-1.0.so -> libmongoc-1.0.0.so
+ set_target_properties(mongoc_shared PROPERTIES VERSION 0 SOVERSION ${MONGOC_MAJOR_VERSION})
+ set_target_properties(mongoc_shared PROPERTIES OUTPUT_NAME "mongoc-${MONGOC_API_VERSION}" PREFIX "lib")
++endif ()
+
+ if (MONGOC_ENABLE_STATIC)
+ add_library(mongoc_static STATIC ${SOURCES} ${HEADERS})
+@@ -804,6 +809,7 @@
+ file(COPY ${SOURCE_DIR}/tests/x509gen DESTINATION ${PROJECT_BINARY_DIR}/tests)
+ file(COPY ${SOURCE_DIR}/tests/release_files DESTINATION ${PROJECT_BINARY_DIR}/tests)
+
++if (NOT MONGOC_ENABLE_STATIC)
+ install(
+ TARGETS mongoc_shared ${EXAMPLES}
+ LIBRARY DESTINATION lib
+@@ -810,10 +816,11 @@
+ ARCHIVE DESTINATION lib
+ RUNTIME DESTINATION bin
+ )
++endif ()
+
+ if (MONGOC_ENABLE_STATIC)
+ install(
+- TARGETS mongoc_shared mongoc_static ${EXAMPLES}
++ TARGETS mongoc_static ${EXAMPLES}
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ RUNTIME DESTINATION bin
index 5beb610..7e74ff7 100644
--- a/src/mongoc/mongoc-gridfs-file.c
+++ b/src/mongoc/mongoc-gridfs-file.c
-@@ -734,7 +734,7 @@ _mongoc_gridfs_file_refresh_page (mongoc_gridfs_file_t *file)
+@@ -753,7 +753,7 @@ _mongoc_gridfs_file_refresh_page (mongoc_gridfs_file_t *file)
bson_t query;
bson_t child;
bson_t opts;
@@ -15,7 +79,7 @@ diff --git a/src/mongoc/mongoc-handshake.c b/src/mongoc/mongoc-handshake.c
index 4e181bd..b274fc1 100644
--- a/src/mongoc/mongoc-handshake.c
+++ b/src/mongoc/mongoc-handshake.c
-@@ -195,7 +195,8 @@ _get_os_version (void)
+@@ -243,7 +243,8 @@ _get_os_version (void)
char *ret = bson_malloc (HANDSHAKE_OS_VERSION_MAX);
bool found = false;
@@ -29,7 +93,7 @@ diff --git a/src/mongoc/mongoc-util.c b/src/mongoc/mongoc-util.c
index 6dbb26d..7f33780 100644
--- a/src/mongoc/mongoc-util.c
+++ b/src/mongoc/mongoc-util.c
-@@ -46,7 +46,11 @@ _mongoc_hex_md5 (const char *input)
+@@ -69,7 +69,11 @@ _mongoc_hex_md5 (const char *input)
void
_mongoc_usleep (int64_t usec)
{
diff --git a/ports/mongo-c-driver/portfile.cmake b/ports/mongo-c-driver/portfile.cmake
index 4376f324a..3b3b1f863 100644
--- a/ports/mongo-c-driver/portfile.cmake
+++ b/ports/mongo-c-driver/portfile.cmake
@@ -1,21 +1,24 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mongo-c-driver-1.6.2)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mongo-c-driver-1.9.0)
vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/mongodb/mongo-c-driver/archive/1.6.2.tar.gz"
- FILENAME "mongo-c-driver-1.6.2.tar.gz"
- SHA512 3533fed665c70b71f0e9473156bab1575f60b0b3db412f19c0a625e1e35683a3077f96b8a0ba337fd755675029f47b68dc3a5fc8f39254bb0be589da57cffad3
+ URLS "https://github.com/mongodb/mongo-c-driver/archive/1.9.0.tar.gz"
+ FILENAME "mongo-c-driver-1.9.0.tar.gz"
+ SHA512 e7785f336c38bbf7dd519351bba2facab025b4d2bcd1eef82e98606a21510af7f799edaf4b4f074bd4c5a17ad63176c276f8c57e499b8d9afd098bce274da4ae
)
vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/bson.patch
- ${CMAKE_CURRENT_LIST_DIR}/fix-uwp.patch
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-uwp.patch
)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ set(ENABLE_STATIC ON)
+else()
+ set(ENABLE_STATIC OFF)
+endif()
+
set(ENABLE_SSL "WINDOWS")
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
set(ENABLE_SSL "OPENSSL")
@@ -23,11 +26,13 @@ endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
OPTIONS
-DBSON_ROOT_DIR=${CURRENT_INSTALLED_DIR}
-DENABLE_TESTS=OFF
-DENABLE_EXAMPLES=OFF
-DENABLE_SSL=${ENABLE_SSL}
+ -DENABLE_STATIC=${ENABLE_STATIC}
)
vcpkg_install_cmake()
@@ -43,23 +48,47 @@ file(RENAME ${CURRENT_PACKAGES_DIR}/temp ${CURRENT_PACKAGES_DIR}/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/mongoc-1.0.lib)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/mongoc-1.0.lib)
-
file(RENAME
${CURRENT_PACKAGES_DIR}/lib/mongoc-static-1.0.lib
${CURRENT_PACKAGES_DIR}/lib/mongoc-1.0.lib)
file(RENAME
${CURRENT_PACKAGES_DIR}/debug/lib/mongoc-static-1.0.lib
${CURRENT_PACKAGES_DIR}/debug/lib/mongoc-1.0.lib)
-else()
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/mongoc-static-1.0.lib)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/mongoc-static-1.0.lib)
+
+ # drop the __declspec(dllimport) when building static
+ vcpkg_apply_patches(
+ SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/static.patch
+ )
+
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin)
endif()
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver RENAME copyright)
file(COPY ${SOURCE_PATH}/THIRD_PARTY_NOTICES DESTINATION ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver)
+if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
+file(READ ${CURRENT_PACKAGES_DIR}/lib/cmake/libmongoc-static-1.0/libmongoc-static-1.0-config.cmake LIBMONGOC_CONFIG_CMAKE)
+string(REPLACE "/../../../" "/../../" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}")
+string(REPLACE "/include/libmongoc-1.0" "/include" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}")
+string(REPLACE "mongoc-static-1.0" "mongoc-1.0" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/mongo-c-driver-config.cmake "${LIBMONGOC_CONFIG_CMAKE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/libmongoc-static-1.0/libmongoc-static-1.0-config.cmake "${LIBMONGOC_CONFIG_CMAKE}")
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libmongoc-static-1.0/libmongoc-static-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/libmongoc-static-1.0-config-version.cmake ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/mongo-c-driver-config-version.cmake)
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libmongoc-static-1.0/libmongoc-static-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmongoc-static-1.0)
+else()
+file(READ ${CURRENT_PACKAGES_DIR}/lib/cmake/libmongoc-1.0/libmongoc-1.0-config.cmake LIBMONGOC_CONFIG_CMAKE)
+string(REPLACE "/../../../" "/../../" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}")
+string(REPLACE "/include/libmongoc-1.0" "/include" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/mongo-c-driver-config.cmake "${LIBMONGOC_CONFIG_CMAKE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/libmongoc-1.0/libmongoc-1.0-config.cmake "${LIBMONGOC_CONFIG_CMAKE}")
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libmongoc-1.0/libmongoc-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/libmongoc-1.0-config-version.cmake ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/mongo-c-driver-config-version.cmake)
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libmongoc-1.0/libmongoc-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmongoc-1.0)
+endif()
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake ${CURRENT_PACKAGES_DIR}/lib/cmake)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig ${CURRENT_PACKAGES_DIR}/lib/pkgconfig)
+
vcpkg_copy_pdbs()
diff --git a/ports/mongo-c-driver/static.patch b/ports/mongo-c-driver/static.patch
new file mode 100644
index 000000000..7f348ba82
--- /dev/null
+++ b/ports/mongo-c-driver/static.patch
@@ -0,0 +1,13 @@
+diff --git a/mongoc-macros.h b/mongoc-macros.h
+index 909bf6c..0a1f612 100644
+--- a/mongoc-macros.h
++++ b/mongoc-macros.h
+@@ -40,7 +40,7 @@
+ #elif defined(MONGOC_COMPILATION)
+ #define MONGOC_API __declspec(dllexport)
+ #else
+-#define MONGOC_API __declspec(dllimport)
++#define MONGOC_API
+ #endif
+ #define MONGOC_CALL __cdecl
+
diff --git a/ports/mpfr/portfile.cmake b/ports/mpfr/portfile.cmake
index 0a192f168..689b075fc 100644
--- a/ports/mpfr/portfile.cmake
+++ b/ports/mpfr/portfile.cmake
@@ -1,7 +1,7 @@
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mpfr-3.1.6)
vcpkg_download_distfile(ARCHIVE
- URLS "http://www.mpfr.org/mpfr-current/mpfr-3.1.6.tar.xz"
+ URLS "http://www.mpfr.org/mpfr-3.1.6/mpfr-3.1.6.tar.xz"
FILENAME "mpfr-3.1.6.tar.xz"
SHA512 746ee74d5026f267f74ab352d850ed30ff627d530aa840c71b24793e44875f8503946bd7399905dea2b2dd5744326254d7889337fe94cfe58d03c4066e9d8054
)
diff --git a/ports/mpg123/0002-fix-x86-build.patch b/ports/mpg123/0002-fix-x86-build.patch
new file mode 100644
index 000000000..d7d3887b7
--- /dev/null
+++ b/ports/mpg123/0002-fix-x86-build.patch
@@ -0,0 +1,24 @@
+diff --git a/src/libmpg123/mangle.h b/src/libmpg123/mangle.h
+index 6012ccc..bf37cd7 100644
+--- a/src/libmpg123/mangle.h
++++ b/src/libmpg123/mangle.h
+@@ -85,6 +85,10 @@
+ #define ASM_VALUE(a) MANGLE_MACROCAT($,a)
+ #endif
+
++#if defined(_WIN32) && !defined(_WIN64)
++#define OPT_X86
++#endif
++
+ /* Enable position-independent code for certain platforms. */
+
+ #if defined(OPT_X86)
+@@ -130,7 +134,7 @@ Lpic_base: \
+ /* Dummies for everyone else. */
+ #define LOCAL_VAR(a) a
+ #define GLOBAL_VAR ASM_NAME
+-#define GLOBAL_VAR_PTR(a) #error Cannot use indirect addressing in non-PIC object.
++#define GLOBAL_VAR_PTR(a) // #error Cannot use indirect addressing in non-PIC object.
+ #define FUNC ASM_NAME
+ #define EXTERNAL_FUNC ASM_NAME
+ #define GET_GOT
diff --git a/ports/mpg123/CONTROL b/ports/mpg123/CONTROL
index e4652e52d..f64ae5c56 100644
--- a/ports/mpg123/CONTROL
+++ b/ports/mpg123/CONTROL
@@ -1,3 +1,3 @@
Source: mpg123
-Version: 1.24.0-1
+Version: 1.25.8-1
Description: mpg123 is a real time MPEG 1.0/2.0/2.5 audio player/decoder for layers 1, 2 and 3 (MPEG 1.0 layer 3 also known as MP3). \ No newline at end of file
diff --git a/ports/mpg123/portfile.cmake b/ports/mpg123/portfile.cmake
index cac518cb2..891542f00 100644
--- a/ports/mpg123/portfile.cmake
+++ b/ports/mpg123/portfile.cmake
@@ -1,7 +1,7 @@
include(vcpkg_common_functions)
-set(MPG123_VERSION 1.24.0)
-set(MPG123_HASH e7c0d7a103daf496e75a6aa6aca861cfc0ad391f242335990c2360305e567039d24ca3b37a35f79b75749055e255f4692b8b43d2fec332b119223b00e12b0cb7)
+set(MPG123_VERSION 1.25.8)
+set(MPG123_HASH f226317dddb07841a13753603fa13c0a867605a5a051626cb30d45cfba266d3d4296f5b8254f65b403bb5eef6addce1784ae8829b671a746854785cda1bad203)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mpg123-${MPG123_VERSION})
#architecture detection
@@ -31,7 +31,9 @@ set(ENV{PATH} "$ENV{PATH};${YASM_EXE_PATH}")
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
- PATCHES "${CURRENT_PORT_DIR}/0001-fix-crt-linking.patch")
+ PATCHES
+ "${CURRENT_PORT_DIR}/0001-fix-crt-linking.patch"
+ "${CURRENT_PORT_DIR}/0002-fix-x86-build.patch")
vcpkg_build_msbuild(
PROJECT_PATH ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj
diff --git a/ports/mpir/CONTROL b/ports/mpir/CONTROL
index b9d1b2d74..22216d41d 100644
--- a/ports/mpir/CONTROL
+++ b/ports/mpir/CONTROL
@@ -1,3 +1,3 @@
Source: mpir
-Version: 3.0.0-3
+Version: 3.0.0-4
Description: Multiple Precision Integers and Rationals.
diff --git a/ports/mpir/portfile.cmake b/ports/mpir/portfile.cmake
index c56cfa545..c352b657a 100644
--- a/ports/mpir/portfile.cmake
+++ b/ports/mpir/portfile.cmake
@@ -8,16 +8,13 @@ if(VCPKG_CRT_LINKAGE STREQUAL "static" AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynam
message(FATAL_ERROR "MPIR currently can only be built using the dynamic CRT when building DLLs")
endif()
-set(MPIR_VERSION 3.0.0)
-set(MPIR_HASH "c735105db8b86db739fd915bf16064e6bc82d0565ad8858059e4e93f62c9d72d9a1c02a5ca9859b184346a8dc64fa714d4d61404cff1e405dc548cbd54d0a88e")
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mpir-${MPIR_VERSION})
-
-vcpkg_download_distfile(ARCHIVE_FILE
- URLS "http://mpir.org/mpir-${MPIR_VERSION}.tar.bz2"
- FILENAME "mpir-${MPIR_VERSION}.tar.bz2"
- SHA512 ${MPIR_HASH}
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO wbhart/mpir
+ REF mpir-3.0.0
+ SHA512 7d37f60645c533a6638dde5d9c48f5535022fa0ea02bafd5b714649c70814e88c5e5e3b0bef4c5a749aaf8772531de89c331716ee00ba1c2f9521c2cc8f3c61b
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE_FILE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
diff --git a/ports/nlohmann-json/CONTROL b/ports/nlohmann-json/CONTROL
index 1b268b456..1666f8ebd 100644
--- a/ports/nlohmann-json/CONTROL
+++ b/ports/nlohmann-json/CONTROL
@@ -1,3 +1,3 @@
Source: nlohmann-json
-Version: 3.0.0
+Version: 3.0.1
Description: JSON for Modern C++
diff --git a/ports/nlohmann-json/portfile.cmake b/ports/nlohmann-json/portfile.cmake
index d03c5b395..d47298dd9 100644
--- a/ports/nlohmann-json/portfile.cmake
+++ b/ports/nlohmann-json/portfile.cmake
@@ -1,11 +1,11 @@
include(vcpkg_common_functions)
-set(SOURCE_VERSION 3.0.0)
+set(SOURCE_VERSION 3.0.1)
vcpkg_download_distfile(HEADER
URLS "https://github.com/nlohmann/json/releases/download/v${SOURCE_VERSION}/json.hpp"
FILENAME "nlohmann-json-${SOURCE_VERSION}.hpp"
- SHA512 0983320160900e7dbb1241d10f5be6eb0c1be39f2af3f153f488533c381e909f4af0d60c25c6a2e4bb7b69ad1ff0033651c52fe36886f917324f355281e99c05
+ SHA512 95c0f0ca2e0eddfa462e732055ac6ede208929120bbe5c5d6e1035a7263900590bfeaddcbc4e1043aaa9255906cb0f038af64abf9a8da9fc98a7dc61356e2fef
)
vcpkg_download_distfile(LICENSE
diff --git a/ports/portmidi/CONTROL b/ports/portmidi/CONTROL
new file mode 100644
index 000000000..3534c1856
--- /dev/null
+++ b/ports/portmidi/CONTROL
@@ -0,0 +1,3 @@
+Source: portmidi
+Version: 0.217.1
+Description: Free, cross-platform, open-source I/O library for MIDI
diff --git a/ports/portmidi/portfile.cmake b/ports/portmidi/portfile.cmake
new file mode 100644
index 000000000..557f4a1ca
--- /dev/null
+++ b/ports/portmidi/portfile.cmake
@@ -0,0 +1,49 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message(FATAL_ERROR "WindowsStore not supported")
+endif()
+
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/portmidi)
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://downloads.sourceforge.net/project/portmedia/portmidi/217/portmidi-src-217.zip"
+ FILENAME "portmidi-src-217.zip"
+ SHA512 d08d4d57429d26d292b5fe6868b7c7a32f2f1d2428f6695cd403a697e2d91629bd4380242ab2720e8f21c895bb75cb56b709fb663a20e8e623120e50bfc5d90b
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+# Mark portmidi-static as static, disable pmjni library depending on the Java SDK
+
+file(READ "${SOURCE_PATH}/pm_common/CMakeLists.txt" PM_CMAKE)
+string(REPLACE "add_library(portmidi-static \${LIBSRC})" "add_library(portmidi-static STATIC \${LIBSRC})" PM_CMAKE "${PM_CMAKE}")
+string(REPLACE "add_library(pmjni SHARED \${JNISRC})" "# Removed pmjni" PM_CMAKE "${PM_CMAKE}")
+string(REPLACE "target_link_libraries(pmjni \${JNI_EXTRA_LIBS})" "# Removed pmjni" PM_CMAKE "${PM_CMAKE}")
+string(REPLACE "set_target_properties(pmjni PROPERTIES EXECUTABLE_EXTENSION \"jnilib\")" "# Removed pmjni" PM_CMAKE "${PM_CMAKE}")
+file(WRITE "${SOURCE_PATH}/pm_common/CMakeLists.txt" "${PM_CMAKE}")
+
+# Run cmake configure step
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DJAVA_INCLUDE_PATH=
+ -DJAVA_INCLUDE_PATH2=
+ -DJAVA_JVM_LIBRARY=
+)
+
+# Run cmake build step, nothing is installed on Windows
+vcpkg_build_cmake()
+
+file(INSTALL ${SOURCE_PATH}/pm_common/portmidi.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+file(INSTALL ${SOURCE_PATH}/porttime/porttime.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/portmidi_s.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/portmidi_s.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+else()
+ file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/portmidi.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/portmidi.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/portmidi.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/portmidi.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+endif()
+
+file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/portmidi RENAME copyright)
diff --git a/ports/pybind11/CONTROL b/ports/pybind11/CONTROL
index 94ed66368..66157db1d 100644
--- a/ports/pybind11/CONTROL
+++ b/ports/pybind11/CONTROL
@@ -1,4 +1,4 @@
Source: pybind11
-Version: 2.2.0
+Version: 2.2.1
Description: pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, mainly to create Python bindings of existing C++ code.
Build-Depends: python3
diff --git a/ports/pybind11/portfile.cmake b/ports/pybind11/portfile.cmake
index 3e5802059..9425baae6 100644
--- a/ports/pybind11/portfile.cmake
+++ b/ports/pybind11/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO pybind/pybind11
- REF v2.2.0
- SHA512 65d8c2c9ba77b25577dd330356ef9cc8f9af924b1d578c28176f230c6f6a88cfd335cc01cc5e010bb8e641a000a78cfcaa1a1367b438e7c6e0d40ea511494a5a
+ REF v2.2.1
+ SHA512 1bc0646862fabef1111c05403a7238965ce5661a6f53945a1b7c4faad33f039d2ea278de64190099a8ae4fd66487a070de59334a7f32e187060bbbc7e0c3060e
HEAD_REF master
)
diff --git a/ports/python3/0001-Static-library.patch b/ports/python3/0001-Static-library.patch
index 4bc10af41..b5666ba40 100644
--- a/ports/python3/0001-Static-library.patch
+++ b/ports/python3/0001-Static-library.patch
@@ -1,13 +1,5 @@
-diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj
-index 6ea1848..4134d7b 100644
--- a/PCbuild/pythoncore.vcxproj
+++ b/PCbuild/pythoncore.vcxproj
-@@ -1,4 +1,4 @@
--<?xml version="1.0" encoding="utf-8"?>
-+<?xml version="1.0" encoding="utf-8"?>
- <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
@@ -41,7 +41,7 @@
<Import Project="python.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
@@ -17,7 +9,7 @@ index 6ea1848..4134d7b 100644
<UseOfMfc>false</UseOfMfc>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-@@ -66,12 +66,24 @@
+@@ -67,13 +67,25 @@
<ClCompile>
<AdditionalOptions>/Zm200 %(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>$(PySourcePath)Python;$(PySourcePath)Modules\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -26,6 +18,7 @@ index 6ea1848..4134d7b 100644
</ClCompile>
<Link>
<AdditionalDependencies>version.lib;shlwapi.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(PySourcePath)PC\external\$(PlatformToolset)\$(ArchName)</AdditionalLibraryDirectories>
<BaseAddress>0x1e000000</BaseAddress>
</Link>
+ <Lib>
diff --git a/ports/python3/0002-Static-CRT.patch b/ports/python3/0002-Static-CRT.patch
index 267d03d75..8f63aa092 100644
--- a/ports/python3/0002-Static-CRT.patch
+++ b/ports/python3/0002-Static-CRT.patch
@@ -1,8 +1,6 @@
-diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj
-index 4134d7b..ecbccf0 100644
--- a/PCbuild/pythoncore.vcxproj
+++ b/PCbuild/pythoncore.vcxproj
-@@ -67,6 +67,10 @@
+@@ -68,6 +68,10 @@
<AdditionalOptions>/Zm200 %(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>$(PySourcePath)Python;$(PySourcePath)Modules\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_USRDLL;Py_BUILD_CORE;Py_NO_ENABLE_SHARED;MS_DLL_ID="$(SysWinVer)";%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/ports/python3/CONTROL b/ports/python3/CONTROL
index 6cef24232..0a730e517 100644
--- a/ports/python3/CONTROL
+++ b/ports/python3/CONTROL
@@ -1,3 +1,3 @@
Source: python3
-Version: 3.6.1
+Version: 3.6.4
Description: The Python programming language as an embeddable library \ No newline at end of file
diff --git a/ports/python3/portfile.cmake b/ports/python3/portfile.cmake
index 19f04a15d..9bb50b70c 100644
--- a/ports/python3/portfile.cmake
+++ b/ports/python3/portfile.cmake
@@ -16,19 +16,23 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic AND VCPKG_CRT_LINKAGE STREQUAL static
set(VCPKG_LIBRARY_LINKAGE static)
endif()
+set(PYTHON_VERSION_MAJOR 3)
+set(PYTHON_VERSION_MINOR 6)
+set(PYTHON_VERSION_PATCH 4)
+set(PYTHON_VERSION ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.${PYTHON_VERSION_PATCH})
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET})
vcpkg_from_github(
OUT_SOURCE_PATH TEMP_SOURCE_PATH
REPO python/cpython
- REF v3.6.1
- SHA512 1fdc1dc44d82762a793093fa19d6401c99fbc05375d8d7e378274ed5555a25dfb3537f93ef04e52ebbf95b42fda74303293dd37aba81ce0c4296a675ab75fa62
+ REF v${PYTHON_VERSION}
+ SHA512 32cca5e344ee66f08712ab5533e5518f724f978ec98d985f7612d0bd8d7f5cac25625363c9eead192faf1806d4ea3393515f72ba962a2a0bed26261e56d8c637
HEAD_REF master
)
# We need per-triplet directories because we need to patch the project files differently based on the linkage
file(COPY ${TEMP_SOURCE_PATH} DESTINATION ${SOURCE_PATH})
-set(SOURCE_PATH ${SOURCE_PATH}/cpython-3.6.1)
+set(SOURCE_PATH ${SOURCE_PATH}/cpython-${PYTHON_VERSION})
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
vcpkg_apply_patches(
@@ -68,19 +72,19 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
endif()
file(GLOB HEADERS ${SOURCE_PATH}/Include/*.h)
-file(COPY ${HEADERS} ${SOURCE_PATH}/PC/pyconfig.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/python3.6)
+file(COPY ${HEADERS} ${SOURCE_PATH}/PC/pyconfig.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
-file(COPY ${SOURCE_PATH}/Lib DESTINATION ${CURRENT_PACKAGES_DIR}/share/python3)
+file(COPY ${SOURCE_PATH}/Lib DESTINATION ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR})
-file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python36.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
-file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python36_d.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}_d.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python36.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
- file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python36_d.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}_d.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
# Handle copyright
-file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/python3)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/python3/LICENSE ${CURRENT_PACKAGES_DIR}/share/python3/copyright)
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR})
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}/LICENSE ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}/copyright)
vcpkg_copy_pdbs() \ No newline at end of file
diff --git a/ports/realsense2/CONTROL b/ports/realsense2/CONTROL
index 9153402c7..244fe200f 100644
--- a/ports/realsense2/CONTROL
+++ b/ports/realsense2/CONTROL
@@ -1,3 +1,3 @@
Source: realsense2
-Version: 2.8.2
+Version: 2.9.0
Description: Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras (D400 series and the SR300).
diff --git a/ports/realsense2/crt-linkage-restriction.patch b/ports/realsense2/crt-linkage-restriction.patch
index ae4acc834..772978616 100644
--- a/ports/realsense2/crt-linkage-restriction.patch
+++ b/ports/realsense2/crt-linkage-restriction.patch
@@ -1,8 +1,10 @@
---- a/CMakeLists.txt 2017-11-07 14:30:02.270145100 +0800
-+++ b/CMakeLists.txt 2017-11-07 14:26:42.306208800 +0800
-@@ -402,16 +402,6 @@
- source_group("Header Files\\Processing Blocks" FILES
- src/colorizer.h
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d6717b19..3fb373be 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -453,16 +453,6 @@ if(WIN32)
+ src/proc/syncer-processing-block.h
+ src/proc/disparity-transform.h
)
-
- foreach(flag_var
diff --git a/ports/realsense2/portfile.cmake b/ports/realsense2/portfile.cmake
index 609b1c660..ccbc664ef 100644
--- a/ports/realsense2/portfile.cmake
+++ b/ports/realsense2/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO IntelRealSense/librealsense
- REF v2.8.2
- SHA512 a2622ff241e939fad74f6d0224b5f9b505e971935bb8f27dc10159a5853bc5d55870c312c0f43014c8c7ec5a1c824e659ee9ee9a574b2d7c9b8e484c1a4918a1
+ REF v2.9.0
+ SHA512 10b4d165e5763567517fc2320b7094af5a078d1b5da2374cfa8480cab0715303ea29a87f04876cbc39b5d22ac72cba7d13711c0b46fa125fbd2cf13fcb1a28e6
HEAD_REF master
)
@@ -19,12 +19,12 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
- -DENFORCE_METADATA=on
- -DBUILD_EXAMPLES=off
- -DBUILD_GRAPHICAL_EXAMPLES=off
- -DBUILD_PYTHON_BINDINGS=off
- -DBUILD_UNIT_TESTS=off
- -DBUILD_WITH_OPENMP=off # keep OpenMP off until librealsense issue #744 is patched
+ -DENFORCE_METADATA=ON
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_GRAPHICAL_EXAMPLES=OFF
+ -DBUILD_PYTHON_BINDINGS=OFF
+ -DBUILD_UNIT_TESTS=OFF
+ -DBUILD_WITH_OPENMP=OFF # keep OpenMP off until librealsense issue #744 is patched
-DBUILD_SHARED_LIBS=${BUILD_SHARED}
OPTIONS_DEBUG
"-DCMAKE_PDB_OUTPUT_DIRECTORY=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg"
diff --git a/ports/rs-core-lib/CONTROL b/ports/rs-core-lib/CONTROL
new file mode 100644
index 000000000..f19aa7914
--- /dev/null
+++ b/ports/rs-core-lib/CONTROL
@@ -0,0 +1,4 @@
+Source: rs-core-lib
+Version: commit-1ed2dadbda3977b13e5e83cc1f3eeca76b36ebe5
+Description: Minimal common utilities by Ross Smith
+
diff --git a/ports/rs-core-lib/portfile.cmake b/ports/rs-core-lib/portfile.cmake
new file mode 100644
index 000000000..78ad34335
--- /dev/null
+++ b/ports/rs-core-lib/portfile.cmake
@@ -0,0 +1,25 @@
+# Common Ambient Variables:
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
+# PORT = current port name (zlib, etc)
+# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
+# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
+# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
+#
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO CaptainCrowbar/rs-core-lib
+ REF 1ed2dadbda3977b13e5e83cc1f3eeca76b36ebe5
+ SHA512 f84803fdd26f36b2a3748b9668253f058376e19740bc85e009726142b0b1f5906423729d9b71b224a995869a428a7e1e7b1f8afae897d416d9dfc1708b41975a
+ HEAD_REF master
+)
+
+file(INSTALL ${SOURCE_PATH}/rs-core DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN "*.hpp")
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/rs-core-lib RENAME copyright) \ No newline at end of file
diff --git a/ports/sciter/CONTROL b/ports/sciter/CONTROL
index 1c43b1720..65dd215ac 100644
--- a/ports/sciter/CONTROL
+++ b/ports/sciter/CONTROL
@@ -1,4 +1,4 @@
Source: sciter
-Version: 4.0.7
+Version: 4.1.1
Description: Sciter is an embeddable HTML/CSS/scripting engine.
Maintainer: andrew.fedoniouk@gmail.com, ehysta@gmail.com
diff --git a/ports/sciter/portfile.cmake b/ports/sciter/portfile.cmake
index 55b99d296..4aec0c397 100644
--- a/ports/sciter/portfile.cmake
+++ b/ports/sciter/portfile.cmake
@@ -12,8 +12,8 @@ include(vcpkg_common_functions)
# header-only library
set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled)
-set(SCITER_REVISION e5e612ae914233d2436240cdd7730fb739461f8e)
-set(SCITER_SHA 8d4412e6e9047bbcc5fa0dae4b49844367f3b621b0edca2544f907dc651a1be7fddbedf5004ddbcb5b9bbe26abca0259c78c89febab6778806c4a62a50908bf2)
+set(SCITER_REVISION c6f5f5e826160920dd7409481c1d064bde995cde)
+set(SCITER_SHA 47c634dc5ad5907d7f21207d1d4bfe4df06910417ce53169020466afcebe94f1cae9a0cccbf3fc105eab16315da65c74eed7af5efc9ca438b9cbb5d6e9bb09e1)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL x64)
set(SCITER_ARCH 64)
diff --git a/ports/sdl2-image/CMakeLists.txt b/ports/sdl2-image/CMakeLists.txt
index d04b3f7b6..0df7e7d36 100644
--- a/ports/sdl2-image/CMakeLists.txt
+++ b/ports/sdl2-image/CMakeLists.txt
@@ -5,7 +5,7 @@ project(SDL2_image C)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
# enable all file formats which are supported natively
-set(SUPPORTED_FORMATS BMP GIF LBM PCX PNM TGA XPM XCF XV)
+set(SUPPORTED_FORMATS BMP GIF LBM PCX PNM TGA XPM XCF XV SVG)
# enable all file formats which are supported through external dependencies
# first try to load them statically (lib file in vcpkg installation)
@@ -34,6 +34,7 @@ add_library(SDL2_image
IMG_pcx.c
IMG_png.c
IMG_pnm.c
+ IMG_svg.c
IMG_tga.c
IMG_tif.c
IMG_webp.c
@@ -41,6 +42,7 @@ add_library(SDL2_image
IMG_xpm.c
IMG_xv.c
IMG_xxx.c
+ version.rc
)
set_target_properties(SDL2_image PROPERTIES DEFINE_SYMBOL SDL2_EXPORTS)
diff --git a/ports/sdl2-image/CONTROL b/ports/sdl2-image/CONTROL
index aff048d9a..f9d5e14ed 100644
--- a/ports/sdl2-image/CONTROL
+++ b/ports/sdl2-image/CONTROL
@@ -1,5 +1,5 @@
Source: sdl2-image
-Version: 2.0.1-3
+Version: 2.0.2-1
Build-Depends: sdl2, libpng, libjpeg-turbo, tiff, libwebp
Description: SDL_image is an image file loading library. It loads images as SDL surfaces and textures, and supports the following formats: BMP, GIF, JPEG, LBM, PCX, PNG, PNM, TGA, TIFF, WEBP, XCF, XPM, XV
diff --git a/ports/sdl2-image/correct-sdl-headers-dir.patch b/ports/sdl2-image/correct-sdl-headers-dir.patch
deleted file mode 100644
index 4addc155d..000000000
--- a/ports/sdl2-image/correct-sdl-headers-dir.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git "a/SDL_image.h" "b/SDL_image.h"
-index f654483..1bd4f62 100644
---- "a/SDL_image.h"
-+++ "b/SDL_image.h"
-@@ -24,9 +24,9 @@
- #ifndef _SDL_IMAGE_H
- #define _SDL_IMAGE_H
-
--#include "SDL.h"
--#include "SDL_version.h"
--#include "begin_code.h"
-+#include <SDL2/SDL.h>
-+#include <SDL2/SDL_version.h>
-+#include <SDL2/begin_code.h>
-
- /* Set up for C function definitions, even when using C++ */
- #ifdef __cplusplus
-@@ -140,6 +140,6 @@ extern DECLSPEC int SDLCALL IMG_SavePNG_RW(SDL_Surface *surface, SDL_RWops *dst,
- #ifdef __cplusplus
- }
- #endif
--#include "close_code.h"
-+#include <SDL2/close_code.h>
-
- #endif /* _SDL_IMAGE_H */
diff --git a/ports/sdl2-image/portfile.cmake b/ports/sdl2-image/portfile.cmake
index ad3f1a2d5..10567a131 100644
--- a/ports/sdl2-image/portfile.cmake
+++ b/ports/sdl2-image/portfile.cmake
@@ -7,19 +7,15 @@
#
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SDL2_image-2.0.1)
+set(SDL2_IMAGE_VERSION "2.0.2")
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SDL2_image-${SDL2_IMAGE_VERSION})
vcpkg_download_distfile(ARCHIVE
- URLS "https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.1.zip"
- FILENAME "SDL2_image-2.0.1.zip"
- SHA512 37d12f4fae71c586bec73262bddb9207ab2f9a2ca6001d2cbfde646e268a950ba5cd4cff53d75e2da8959ae6da6e9cadc6eca88fa7bd9aa2758395d64c84a307
+ URLS "https://www.libsdl.org/projects/SDL_image/release/SDL2_image-${SDL2_IMAGE_VERSION}.zip"
+ FILENAME "SDL2_image-${SDL2_IMAGE_VERSION}.zip"
+ SHA512 bf143bdbd3cb7cfad61b8dcc35950584304deac802bad6c0c8144e914401a5ddef01f674d2dc1214371d0f371f76e87a45873e2655947e8e1da83fb44d8285f4
)
vcpkg_extract_source_archive(${ARCHIVE})
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/correct-sdl-headers-dir.patch)
-
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindWEBP.cmake DESTINATION ${SOURCE_PATH}/cmake)
diff --git a/ports/sdl2-mixer/CMakeLists.txt b/ports/sdl2-mixer/CMakeLists.txt
index 3a2aa0780..1df35c44a 100644
--- a/ports/sdl2-mixer/CMakeLists.txt
+++ b/ports/sdl2-mixer/CMakeLists.txt
@@ -68,7 +68,8 @@ add_library(SDL2_mixer
music_timidity.c
music_wav.c
native_midi/native_midi_common.c
- native_midi/native_midi_win32.c)
+ native_midi/native_midi_win32.c
+ version.rc)
set_target_properties(SDL2_mixer PROPERTIES DEFINE_SYMBOL SDL2_EXPORTS)
target_compile_definitions(SDL2_mixer PRIVATE ${SDL_MIXER_DEFINES})
diff --git a/ports/sdl2-mixer/CONTROL b/ports/sdl2-mixer/CONTROL
index 978b87d13..e66081fc7 100644
--- a/ports/sdl2-mixer/CONTROL
+++ b/ports/sdl2-mixer/CONTROL
@@ -1,4 +1,4 @@
Source: sdl2-mixer
-Version: 2.0.2-1
+Version: 2.0.2-2
Description: Multi-channel audio mixer library for SDL.
Build-Depends: sdl2, libflac, mpg123, libmodplug, libvorbis
diff --git a/ports/sdl2-net/CMakeLists.txt b/ports/sdl2-net/CMakeLists.txt
index 4127262d7..aea5f005e 100644
--- a/ports/sdl2-net/CMakeLists.txt
+++ b/ports/sdl2-net/CMakeLists.txt
@@ -6,7 +6,7 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4244 /wd4996")
find_path(SDL_INCLUDE_DIR SDL2/SDL.h)
find_library(SDL_LIBRARY NAMES SDL2d SDL2)
-add_library(SDL2_net SDLnet.c SDLnetselect.c SDLnetTCP.c SDLnetUDP.c)
+add_library(SDL2_net SDLnet.c SDLnetselect.c SDLnetTCP.c SDLnetUDP.c version.rc)
set_target_properties(SDL2_net PROPERTIES DEFINE_SYMBOL SDL2_EXPORTS)
target_compile_definitions(SDL2_net PRIVATE _WINSOCK_DEPRECATED_NO_WARNINGS)
diff --git a/ports/sdl2-net/CONTROL b/ports/sdl2-net/CONTROL
index 6b2793449..ff239d5a4 100644
--- a/ports/sdl2-net/CONTROL
+++ b/ports/sdl2-net/CONTROL
@@ -1,4 +1,4 @@
Source: sdl2-net
-Version: 2.0.1-3
+Version: 2.0.1-4
Description: Networking library for SDL
Build-Depends: sdl2
diff --git a/ports/sdl2-ttf/CMakeLists.txt b/ports/sdl2-ttf/CMakeLists.txt
index 7e3a180f9..7c3e8fc77 100644
--- a/ports/sdl2-ttf/CMakeLists.txt
+++ b/ports/sdl2-ttf/CMakeLists.txt
@@ -5,7 +5,7 @@ find_path(SDL_INCLUDE_DIR SDL2/SDL.h)
find_library(SDL_LIBRARY NAMES SDL2d SDL2)
find_package(FreeType REQUIRED)
-add_library(SDL2_ttf SDL_ttf.c)
+add_library(SDL2_ttf SDL_ttf.c version.rc)
set_target_properties(SDL2_ttf PROPERTIES DEFINE_SYMBOL SDL2_EXPORTS)
target_include_directories(SDL2_ttf PRIVATE ${SDL_INCLUDE_DIR}/SDL2 ${FREETYPE_INCLUDE_DIR_ft2build})
diff --git a/ports/sdl2-ttf/CONTROL b/ports/sdl2-ttf/CONTROL
index 18773dd21..362daf221 100644
--- a/ports/sdl2-ttf/CONTROL
+++ b/ports/sdl2-ttf/CONTROL
@@ -1,4 +1,4 @@
Source: sdl2-ttf
-Version: 2.0.14-3
+Version: 2.0.14-4
Description: A library for rendering TrueType fonts with SDL
Build-Depends: sdl2, freetype
diff --git a/ports/sdl2/CONTROL b/ports/sdl2/CONTROL
index 44ea3ce3c..f349dc2d4 100644
--- a/ports/sdl2/CONTROL
+++ b/ports/sdl2/CONTROL
@@ -1,3 +1,3 @@
Source: sdl2
-Version: 2.0.7-3
+Version: 2.0.7-4
Description: Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.
diff --git a/ports/sdl2/portfile.cmake b/ports/sdl2/portfile.cmake
index 17f96748e..7aa17b261 100644
--- a/ports/sdl2/portfile.cmake
+++ b/ports/sdl2/portfile.cmake
@@ -1,15 +1,12 @@
include(vcpkg_common_functions)
-set(SDL2_VERSION 2.0.7)
-set(SDL2_HASH eed5477843086a0e66552eb197a5c4929134522bc366d873732361ea0df5fb841ef7e2b1913e21d1bae69e6fd3152ee630492e615c58cbe903e7d6e47b587410)
-
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SDL2-${SDL2_VERSION})
-vcpkg_download_distfile(ARCHIVE_FILE
- URLS "http://libsdl.org/release/SDL2-${SDL2_VERSION}.tar.gz"
- FILENAME "SDL2-${SDL2_VERSION}.tar.gz"
- SHA512 ${SDL2_HASH}
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO SDL-Mirror/SDL
+ REF release-2.0.7
+ SHA512 3667c7299d007e0438de90c6dd1f19ad9f30cf155c35792c40267bc74f8fe8acd1046ac918a104690ccba3faa2dbd86b37821a38c6c389179359b903209e2eb7
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE_FILE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
diff --git a/ports/sol/CONTROL b/ports/sol/CONTROL
new file mode 100644
index 000000000..f1bd57fa3
--- /dev/null
+++ b/ports/sol/CONTROL
@@ -0,0 +1,3 @@
+Source: sol
+Version: 2.18.7
+Description: Sol v2.0 - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great
diff --git a/ports/sol/portfile.cmake b/ports/sol/portfile.cmake
new file mode 100644
index 000000000..83d59becc
--- /dev/null
+++ b/ports/sol/portfile.cmake
@@ -0,0 +1,25 @@
+# Common Ambient Variables:
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
+# PORT = current port name (zlib, etc)
+# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
+# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
+# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
+#
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ThePhD/sol2
+ REF v2.18.7
+ SHA512 747dbcba2da4e44bfb365c0fd0c8df916d0e5d0ddbaa9df514838d84a8fd4261c87db7d14d9683b708b874cd6a73586e7854d9a784743a737858b73acdd78f1c
+ HEAD_REF develop
+)
+
+file(INSTALL ${SOURCE_PATH}/single/sol/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sol RENAME copyright)
diff --git a/ports/soundtouch/CONTROL b/ports/soundtouch/CONTROL
new file mode 100644
index 000000000..c4bc8df52
--- /dev/null
+++ b/ports/soundtouch/CONTROL
@@ -0,0 +1,4 @@
+Source: soundtouch
+Version: 2.0.0.2
+Description: SoundTouch is an open-source audio processing library for changing the Tempo, Pitch and Playback Rates of audio streams or audio files.
+Build-Depends: atlmfc
diff --git a/ports/soundtouch/portfile.cmake b/ports/soundtouch/portfile.cmake
new file mode 100644
index 000000000..42c055312
--- /dev/null
+++ b/ports/soundtouch/portfile.cmake
@@ -0,0 +1,70 @@
+include(vcpkg_common_functions)
+
+# NOTE: SoundTouch has a static c++ version too, but entirely different headers, api, etc
+if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ message(STATUS "Warning: Static building not supported. Building dynamic.")
+ set(VCPKG_LIBRARY_LINKAGE dynamic)
+endif()
+
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message(FATAL_ERROR "WindowsStore not supported")
+endif()
+
+set(VERSION 2.0.0)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/soundtouch)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://www.surina.net/soundtouch/soundtouch-${VERSION}.zip"
+ FILENAME "soundtouch-${VERSION}.zip"
+ SHA512 50ef36b6cd21c16e235b908c5518e29b159b11f658a014c47fe767d3d8acebaefefec0ce253b4ed322cbd26387c69c0ed464ddace0c098e61d56d55c198117a5
+)
+
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_execute_required_process(
+ COMMAND "devenv.exe"
+ "SoundTouchDLL.sln"
+ /Upgrade
+ WORKING_DIRECTORY ${SOURCE_PATH}/source/SoundTouchDLL
+ LOGNAME upgrade-Packet-${TARGET_TRIPLET}
+)
+
+IF (TRIPLET_SYSTEM_ARCH MATCHES "x64")
+ # There is no x64 Debug target
+ SET(BUILD_RELEASE_CONFIGURATION "ReleaseX64")
+ SET(BUILD_DEBUG_CONFIGURATION "ReleaseX64")
+ELSE()
+ SET(BUILD_RELEASE_CONFIGURATION "Release")
+ SET(BUILD_DEBUG_CONFIGURATION "Debug")
+ENDIF()
+
+SET(BUILD_ARCH "Win32")
+
+vcpkg_build_msbuild(
+ PROJECT_PATH ${SOURCE_PATH}/source/SoundTouchDLL/SoundTouchDLL.sln
+ PLATFORM ${BUILD_ARCH}
+ RELEASE_CONFIGURATION ${BUILD_RELEASE_CONFIGURATION}
+ DEBUG_CONFIGURATION ${BUILD_DEBUG_CONFIGURATION}
+)
+
+file(INSTALL ${SOURCE_PATH}/source/SoundTouchDLL/SoundTouchDLL.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+
+# Handle libraries
+IF (BUILD_RELEASE_CONFIGURATION STREQUAL ReleaseX64)
+ file(INSTALL ${SOURCE_PATH}/lib/SoundTouch_x64.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ file(INSTALL ${SOURCE_PATH}/lib/SoundTouchDll_x64.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ELSE()
+ file(INSTALL ${SOURCE_PATH}/lib/SoundTouch.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ file(INSTALL ${SOURCE_PATH}/lib/SoundTouchDll.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ENDIF()
+
+IF (BUILD_DEBUG_CONFIGURATION STREQUAL ReleaseX64)
+ file(INSTALL ${SOURCE_PATH}/lib/SoundTouch_x64.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(INSTALL ${SOURCE_PATH}/lib/SoundTouchDll_x64.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+ELSE()
+ file(INSTALL ${SOURCE_PATH}/lib/SoundTouchD.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(INSTALL ${SOURCE_PATH}/lib/SoundTouchDllD.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+ENDIF()
+
+file(COPY ${SOURCE_PATH}/COPYING.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/soundtouch)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/soundtouch/COPYING.TXT ${CURRENT_PACKAGES_DIR}/share/soundtouch/copyright)
diff --git a/ports/sqlitecpp/0001-Find-external-sqlite3.patch b/ports/sqlitecpp/0001-Find-external-sqlite3.patch
new file mode 100644
index 000000000..ef6700e14
--- /dev/null
+++ b/ports/sqlitecpp/0001-Find-external-sqlite3.patch
@@ -0,0 +1,26 @@
+From 495f0f8bf2caf158ffed78e479d68359f51289a2 Mon Sep 17 00:00:00 2001
+From: Stanislav Ershov <digital.stream.of.mind@gmail.com>
+Date: Sat, 6 Jan 2018 11:26:55 +0300
+Subject: [PATCH] Find external sqlite3
+
+---
+ CMakeLists.txt | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4a3e492..f7e22a5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -193,7 +193,8 @@ install(EXPORT ${PROJECT_NAME}Config DESTINATION lib/cmake/${PROJECT_NAME})
+ ## Build provided copy of SQLite3 C library ##
+
+ # TODO NOCOMMIT
+-#find_package(sqlite3)
++find_package(sqlite3 REQUIRED)
++target_link_libraries(SQLiteCpp PRIVATE sqlite3)
+ #if(sqlite3_VERSION VERSION_LESS "3.19")
+ # set_target_properties(SQLiteCpp PROPERTIES COMPILE_FLAGS "-DSQLITECPP_HAS_MEM_STRUCT")
+ #endif()
+--
+2.15.0.windows.1
+
diff --git a/ports/sqlitecpp/CONTROL b/ports/sqlitecpp/CONTROL
new file mode 100644
index 000000000..133ac6703
--- /dev/null
+++ b/ports/sqlitecpp/CONTROL
@@ -0,0 +1,4 @@
+Source: sqlitecpp
+Version: 2.2
+Build-Depends: sqlite3
+Description: SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper.
diff --git a/ports/sqlitecpp/portfile.cmake b/ports/sqlitecpp/portfile.cmake
new file mode 100644
index 000000000..2af9c8cfa
--- /dev/null
+++ b/ports/sqlitecpp/portfile.cmake
@@ -0,0 +1,33 @@
+include(vcpkg_common_functions)
+vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH
+ REPO "SRombauts/SQLiteCpp"
+ REF "2.2.0"
+ HEAD_REF master
+ SHA512 769857c50cc24596cbd7c6f057ca1e158a3bfecf00d7865d6ef0b90a2ff8ecb9ccb9e1d0e660bb9df8ecd50075a94a9bc9e3a71b96f2ef1c30780c6da9446cf0)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/0001-Find-external-sqlite3.patch)
+
+if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ message(STATUS "Warning: Dynamic building not supported yet. Building static.")
+ set(VCPKG_LIBRARY_LINKAGE static)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DSQLITECPP_RUN_CPPLINT=OFF
+ -DSQLITECPP_RUN_CPPCHECK=OFF
+ -DSQLITECPP_INTERNAL_SQLITE=OFF
+ -DSQLITE_ENABLE_COLUMN_METADATA=OFF
+)
+
+vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SQLiteCpp)
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sqlitecpp RENAME copyright)
diff --git a/ports/szip/CONTROL b/ports/szip/CONTROL
index c775581ad..37923213a 100644
--- a/ports/szip/CONTROL
+++ b/ports/szip/CONTROL
@@ -1,3 +1,3 @@
Source: szip
-Version: 2.1-2
+Version: 2.1.1
Description: Szip compression software, providing lossless compression of scientific data
diff --git a/ports/szip/disable-static-lib-in-shared-build.patch b/ports/szip/disable-static-lib-in-shared-build.patch
index f06e6dcf6..02110cb2a 100644
--- a/ports/szip/disable-static-lib-in-shared-build.patch
+++ b/ports/szip/disable-static-lib-in-shared-build.patch
@@ -1,5 +1,5 @@
---- a/src/CMakeLists.txt Mon Aug 03 17:10:33 2015
-+++ b/src/CMakeLists.txt Fri Jan 13 09:38:07 2017
+--- a/src/CMakeLists.txt Fri Feb 03 20:42:43 2017
++++ b/src/CMakeLists.txt Wed Jan 03 11:42:51 2018
@@ -22,20 +22,22 @@
${SZIP_SRC_SOURCE_DIR}/szlib.h
)
@@ -37,3 +37,14 @@
if (BUILD_SHARED_LIBS)
add_library (${SZIP_LIBSH_TARGET} SHARED ${SZIP_SRCS} ${SZIP_PUBLIC_HEADERS})
+@@ -62,8 +64,9 @@
+ if (SZIP_EXPORTED_TARGETS)
+ if (BUILD_SHARED_LIBS)
+ INSTALL_TARGET_PDB (${SZIP_LIBSH_TARGET} ${SZIP_INSTALL_BIN_DIR} libraries)
++ else()
++ INSTALL_TARGET_PDB (${SZIP_LIB_TARGET} ${SZIP_INSTALL_BIN_DIR} libraries)
+ endif (BUILD_SHARED_LIBS)
+- INSTALL_TARGET_PDB (${SZIP_LIB_TARGET} ${SZIP_INSTALL_BIN_DIR} libraries)
+
+ install (
+ TARGETS
diff --git a/ports/szip/portfile.cmake b/ports/szip/portfile.cmake
index 957d91ea1..39d5646ee 100644
--- a/ports/szip/portfile.cmake
+++ b/ports/szip/portfile.cmake
@@ -1,25 +1,12 @@
include(vcpkg_common_functions)
-# set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/szip-2.1)
-# vcpkg_download_distfile(ARCHIVE
-# URLS "https://support.hdfgroup.org/ftp/lib-external/szip/2.1/src/szip-2.1.tar.gz"
-# FILENAME "szip-2.1.tar.gz"
-# SHA512 ea91b877bb061fe6c96988a3c4b705e101a6950e34e9be53d6a57455c6a625be0afa60f4a3cfdd09649205b9f8586cc25ea60fe07a8131579acf3826b35fb749
-# )
-# vcpkg_extract_source_archive(${ARCHIVE})
-
-# NOTE: We use Szip from the HDF5 cmake package dir, because it includes a lot of fixes for the CMake build files
-
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/CMake-hdf5-1.10.0-patch1)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/szip-2.1.1)
vcpkg_download_distfile(ARCHIVE
- URLS "http://hdf4.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.0-patch1/src/CMake-hdf5-1.10.0-patch1.zip"
- FILENAME "CMake-hdf5-1.10.0-patch1.zip"
- SHA512 ec2edb43438661323be5998ecf64c4dd537ddc7451e31f89390260d16883e60a1ccc1bf745bcb809af22f2bf7157d50331a33910b8ebf5c59cd50693dfb2ef8f
+ URLS "https://support.hdfgroup.org/ftp/lib-external/szip/2.1.1/src/szip-2.1.1.tar.gz"
+ FILENAME "szip-2.1.1.tar.gz"
+ SHA512 ada6406efb096cd8a2daf8f9217fe9111a96dcae87e29d1c31f58ddd2ad2aa7bac03f23c7205dc9360f3b62d259461759330c7189ef0c2fe559704b1ea9d40dd
)
vcpkg_extract_source_archive(${ARCHIVE})
-set(ARCHIVE ${SOURCE_PATH}/SZip.tar.gz)
-vcpkg_extract_source_archive(${ARCHIVE})
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/Szip)
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
diff --git a/ports/tacopie/CONTROL b/ports/tacopie/CONTROL
index c0464c02b..ae46741d5 100644
--- a/ports/tacopie/CONTROL
+++ b/ports/tacopie/CONTROL
@@ -1,3 +1,3 @@
Source: tacopie
-Version: 2.4.1-2
+Version: 3.2.0
Description: Tacopie is a TCP Client & Server C++11 library
diff --git a/ports/tacopie/fix-cmakelists.patch b/ports/tacopie/fix-cmakelists.patch
new file mode 100644
index 000000000..48ba317bd
--- /dev/null
+++ b/ports/tacopie/fix-cmakelists.patch
@@ -0,0 +1,27 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -26,6 +26,7 @@
+ cmake_minimum_required(VERSION 2.8.7)
+ set(CMAKE_MACOSX_RPATH 1)
+ include(${CMAKE_ROOT}/Modules/ExternalProject.cmake)
++include(${CMAKE_ROOT}/Modules/GenerateExportHeader.cmake)
+
+
+ ###
+@@ -153,6 +154,8 @@ IF (SELECT_TIMEOUT)
+ set_target_properties(${PROJECT} PROPERTIES COMPILE_DEFINITIONS "__TACOPIE_TIMEOUT=${SELECT_TIMEOUT}")
+ ENDIF(SELECT_TIMEOUT)
+
++generate_export_header(${PROJECT} EXPORT_FILE_NAME ${CMAKE_BINARY_DIR}/tacopie/utils/${PROJECT}_export.hpp)
++target_include_directories(${PROJECT} PUBLIC ${CMAKE_BINARY_DIR})
+
+ ###
+ # install
+@@ -164,6 +167,7 @@ install(DIRECTORY DESTINATION ${CMAKE_BINARY_DIR}/bin/)
+ install (DIRECTORY ${CMAKE_BINARY_DIR}/lib/ DESTINATION lib USE_SOURCE_PERMISSIONS)
+ install (DIRECTORY ${CMAKE_BINARY_DIR}/bin/ DESTINATION bin USE_SOURCE_PERMISSIONS)
+ install (DIRECTORY ${TACOPIE_INCLUDES}/ DESTINATION include USE_SOURCE_PERMISSIONS)
++install (FILES ${CMAKE_BINARY_DIR}/tacopie/utils/${PROJECT}_export.hpp DESTINATION include/tacopie/utils)
+
+
+ ###
diff --git a/ports/tacopie/fix-export.patch b/ports/tacopie/fix-export.patch
new file mode 100644
index 000000000..d971b8338
--- /dev/null
+++ b/ports/tacopie/fix-export.patch
@@ -0,0 +1,20 @@
+--- a/includes/tacopie/utils/logger.hpp
++++ b/includes/tacopie/utils/logger.hpp
+@@ -26,6 +26,8 @@
+ #include <mutex>
+ #include <string>
+
++#include <tacopie/utils/tacopie_export.hpp>
++
+ namespace tacopie {
+
+ //!
+@@ -161,7 +163,7 @@ private:
+ //! variable containing the current logger
+ //! by default, not set (no logs)
+ //!
+-extern std::unique_ptr<logger_iface> active_logger;
++extern TACOPIE_EXPORT std::unique_ptr<logger_iface> active_logger;
+
+ //!
+ //! debug logging
diff --git a/ports/tacopie/portfile.cmake b/ports/tacopie/portfile.cmake
index dac3cf858..d1e30e67e 100644
--- a/ports/tacopie/portfile.cmake
+++ b/ports/tacopie/portfile.cmake
@@ -1,17 +1,20 @@
include(vcpkg_common_functions)
-if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- message(STATUS "cpp-redis only supports static library linkage.")
-endif()
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Cylix/tacopie
- REF 2.4.1
- SHA512 a1579080412114d3899492cd9559bb0eadd6048c1f84ac66ec8ca47bd6fbb35306f0d203d789bd1b7ed0a0a5ab27434dfe6583a1c67873c85bca4b6e2a186d77
+ REF 3.2.0
+ SHA512 079b294b537aaffe3bcf43a485c3be5b15f633c3f7c70140032d60cb010d35b76e76ef4ddd7596f6bfaf3f7edca7cb086c67552efffbf65846e725d7be54ce72
HEAD_REF master
)
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/fix-cmakelists.patch
+ ${CMAKE_CURRENT_LIST_DIR}/fix-export.patch
+)
+
if(VCPKG_CRT_LINKAGE STREQUAL dynamic)
set(MSVC_RUNTIME_LIBRARY_CONFIG "/MD")
else()
@@ -27,11 +30,16 @@ vcpkg_configure_cmake(
PREFER_NINJA
OPTIONS
-DMSVC_RUNTIME_LIBRARY_CONFIG=${MSVC_RUNTIME_LIBRARY_CONFIG}
+ -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE
)
vcpkg_install_cmake()
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/tacopie RENAME copyright)
diff --git a/ports/tclap/CONTROL b/ports/tclap/CONTROL
index 1e086a845..e4276ca03 100644
--- a/ports/tclap/CONTROL
+++ b/ports/tclap/CONTROL
@@ -1,3 +1,3 @@
Source: tclap
-Version: 1.2.1
+Version: 1.2.2
Description: Templatized command-line argument parser for C++
diff --git a/ports/tclap/portfile.cmake b/ports/tclap/portfile.cmake
index 8f41d076f..96337418a 100644
--- a/ports/tclap/portfile.cmake
+++ b/ports/tclap/portfile.cmake
@@ -1,10 +1,10 @@
#header-only library
include(vcpkg_common_functions)
-set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/tclap-1.2.1")
+set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/tclap-1.2.2")
vcpkg_download_distfile(ARCHIVE
- URLS "http://downloads.sourceforge.net/project/tclap/tclap-1.2.1.tar.gz"
- FILENAME "tclap-1.2.1.tar.gz"
- SHA512 8bd6ee724600880840048c7b36f02d31b1aa4910b17f80fb04aef89b1f1917856d9979ec488edbd457b66d9d689aea97540abb842a8b902bbd75c66a6e07b9b1
+ URLS "http://downloads.sourceforge.net/project/tclap/tclap-1.2.2.tar.gz"
+ FILENAME "tclap-1.2.2.tar.gz"
+ SHA512 516ec17f82a61277922bc8c0ed66973300bf42a738847fbbd2912c6405c34f94a13e47dc964854a5b26a9a9f1f518cce682ca54e769d6016851656c647866107
)
vcpkg_extract_source_archive(${ARCHIVE})
diff --git a/ports/tiff/portfile.cmake b/ports/tiff/portfile.cmake
index bfa1c3853..292389350 100644
--- a/ports/tiff/portfile.cmake
+++ b/ports/tiff/portfile.cmake
@@ -18,6 +18,10 @@ vcpkg_apply_patches(
${CMAKE_CURRENT_LIST_DIR}/crt-secure-no-deprecate.patch
)
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
+ set (TIFF_CXX_TARGET -Dcxx=OFF)
+endif()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
@@ -28,6 +32,7 @@ vcpkg_configure_cmake(
-DBUILD_TESTS=OFF
-Djbig=OFF # This is disabled by default due to GPL/Proprietary licensing.
-Djpeg12=OFF
+ ${TIFF_CXX_TARGET}
)
vcpkg_install_cmake()
diff --git a/ports/tre/CMakeLists.txt b/ports/tre/CMakeLists.txt
new file mode 100644
index 000000000..09113fca1
--- /dev/null
+++ b/ports/tre/CMakeLists.txt
@@ -0,0 +1,37 @@
+cmake_minimum_required (VERSION 3.9)
+project (tre)
+
+set (HEADERS
+ lib/regex.h
+ include/tre/tre.h
+ include/tre/tre-config.h
+)
+
+set (SRCS
+ lib/regcomp.c
+ lib/regerror.c
+ lib/regexec.c
+ lib/tre-ast.c
+ lib/tre-compile.c
+ lib/tre-match-approx.c
+ lib/tre-match-backtrack.c
+ lib/tre-match-parallel.c
+ lib/tre-mem.c
+ lib/tre-parse.c
+ lib/tre-stack.c
+ lib/xmalloc.c
+ win32/tre.def
+)
+
+include_directories(win32 include/tre)
+add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS -DHAVE_CONFIG_H)
+add_library(tre ${SRCS})
+
+install(
+ TARGETS tre
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+install(FILES ${HEADERS} DESTINATION include/tre)
diff --git a/ports/tre/CONTROL b/ports/tre/CONTROL
new file mode 100644
index 000000000..a5df8cd11
--- /dev/null
+++ b/ports/tre/CONTROL
@@ -0,0 +1,3 @@
+Source: tre
+Version: 0.8.0-1
+Description: TRE is a lightweight, robust, and efficient POSIX compliant regexp matching library with some exciting features such as approximate (fuzzy) matching.
diff --git a/ports/tre/portfile.cmake b/ports/tre/portfile.cmake
new file mode 100644
index 000000000..0cf993082
--- /dev/null
+++ b/ports/tre/portfile.cmake
@@ -0,0 +1,26 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO laurikari/tre
+ REF 6fb7206b935b35814c5078c20046dbe065435363
+ SHA512 f1d664719eab23b665d71e34ca3d11f8ba49da23ff20dc28f46d4ce30fe155c12208ba7fd212dbeb20a7037e069909f0c2120ce1fc01074656399805e3289a90
+ HEAD_REF master
+)
+
+file(READ ${SOURCE_PATH}/win32/config.h CONFIG_H)
+string(REPLACE "#define snprintf sprintf_s" "" CONFIG_H ${CONFIG_H})
+file(WRITE ${SOURCE_PATH}/win32/config.h "${CONFIG_H}")
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/tre RENAME copyright)
diff --git a/ports/unicorn-lib/CMakeLists.txt b/ports/unicorn-lib/CMakeLists.txt
new file mode 100644
index 000000000..b34e04f23
--- /dev/null
+++ b/ports/unicorn-lib/CMakeLists.txt
@@ -0,0 +1,30 @@
+cmake_minimum_required(VERSION 3.10)
+
+project(Unicorn_Lib LANGUAGES CXX DESCRIPTION "Unicode library for C++ by Ross Smith")
+set(CMAKE_CXX_STANDARD 17)
+option(UNICORN_LIB_SKIP_HEADERS "If the headers installation is skipped or not." OFF)
+
+find_path(RS_CORE_LIB_INCLUDE_DIR rs-core/common.hpp)
+#find_library(RW_UTILITIES_LIBRARY NAMES rw_utilities)
+
+file(GLOB_RECURSE UNICORN_LIB_SOURCES ${PROJECT_SOURCE_DIR}/unicorn/*.cpp)
+foreach(ITR ${UNICORN_LIB_SOURCES})
+ if(ITR MATCHES "(.*)-test.cpp(.*)")
+ list(REMOVE_ITEM UNICORN_LIB_SOURCES ${ITR})
+ endif()
+endforeach()
+add_library(unicorn-lib ${UNICORN_LIB_SOURCES})
+target_include_directories(
+ unicorn-lib
+ PUBLIC ${PROJECT_SOURCE_DIR}
+ PUBLIC ${RS_CORE_LIB_INCLUDE_DIR}
+)
+target_compile_definitions(
+ unicorn-lib
+ PRIVATE -DUNICODE -D_UNICODE _CRT_SECURE_NO_WARNINGS
+)
+
+if(NOT UNICORN_LIB_SKIP_HEADERS)
+ install(DIRECTORY ${PROJECT_SOURCE_DIR}/unicorn DESTINATION include FILES_MATCHING PATTERN "*.hpp")
+endif()
+install(TARGETS unicorn-lib DESTINATION lib) \ No newline at end of file
diff --git a/ports/unicorn-lib/CONTROL b/ports/unicorn-lib/CONTROL
new file mode 100644
index 000000000..ac8a96114
--- /dev/null
+++ b/ports/unicorn-lib/CONTROL
@@ -0,0 +1,4 @@
+Source: unicorn-lib
+Version: commit-3ffa7fe69a1d0c37fb52a4af61380c5fd84fa5aa
+Description: Unicode library for C++ by Ross Smith
+Build-Depends: rs-core-lib, pcre, zlib, libiconv
diff --git a/ports/unicorn-lib/portfile.cmake b/ports/unicorn-lib/portfile.cmake
new file mode 100644
index 000000000..5067bcf8c
--- /dev/null
+++ b/ports/unicorn-lib/portfile.cmake
@@ -0,0 +1,34 @@
+# Common Ambient Variables:
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
+# PORT = current port name (zlib, etc)
+# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
+# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
+# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
+#
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO CaptainCrowbar/unicorn-lib
+ REF 3ffa7fe69a1d0c37fb52a4af61380c5fd84fa5aa
+ SHA512 5e942cf111746ef430c8a3488e7f2e554fa374ff16111439274dec376396a950e49bf816a10d6a8d97d6008edbd14350568d00664f15c1a0bd09c93450ed0554
+ HEAD_REF master
+)
+
+file(COPY ${CURRENT_PORT_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS_DEBUG
+ -DUNICORN_LIB_SKIP_HEADERS=ON
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/unicorn-lib RENAME copyright) \ No newline at end of file
diff --git a/ports/vtk/CONTROL b/ports/vtk/CONTROL
index 3919619ef..8b9ae8f6b 100644
--- a/ports/vtk/CONTROL
+++ b/ports/vtk/CONTROL
@@ -1,5 +1,5 @@
Source: vtk
-Version: 8.0.1-5
+Version: 8.1.0-1
Description: Software system for 3D computer graphics, image processing, and visualization
Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora
@@ -13,7 +13,7 @@ Build-Depends: qt5
Feature: mpi
Description: MPI functionality for VTK
-Build-Depends: msmpi
+Build-Depends: msmpi, hdf5[parallel]
Feature: python
Description: Python functionality for VTK
diff --git a/ports/vtk/FindHDF5.cmake b/ports/vtk/FindHDF5.cmake
index 4a8c4a166..f3c6bd30f 100644
--- a/ports/vtk/FindHDF5.cmake
+++ b/ports/vtk/FindHDF5.cmake
@@ -2,22 +2,26 @@ find_package(HDF5 NO_MODULE REQUIRED)
set(HDF5_INCLUDE_DIRS ${HDF5_INCLUDE_DIR})
-add_library(vtk::hdf5::hdf5 INTERFACE IMPORTED GLOBAL)
-if(TARGET hdf5-static)
- set_target_properties(vtk::hdf5::hdf5 PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5-static")
-elseif(TARGET hdf5-shared)
- set_target_properties(vtk::hdf5::hdf5 PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5-shared")
-else()
- message(FATAL_ERROR "could not find target hdf5-*")
+if(NOT TARGET vtk::hdf5::hdf5)
+ add_library(vtk::hdf5::hdf5 INTERFACE IMPORTED GLOBAL)
+ if(TARGET hdf5::hdf5-static)
+ set_target_properties(vtk::hdf5::hdf5 PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5::hdf5-static")
+ elseif(TARGET hdf5::hdf5-shared)
+ set_target_properties(vtk::hdf5::hdf5 PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5::hdf5-shared")
+ else()
+ message(FATAL_ERROR "could not find target hdf5-*")
+ endif()
endif()
-add_library(vtk::hdf5::hdf5_hl INTERFACE IMPORTED GLOBAL)
-if(TARGET hdf5_hl-static)
- set_target_properties(vtk::hdf5::hdf5_hl PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5_hl-static")
-elseif(TARGET hdf5_hl-shared)
- set_target_properties(vtk::hdf5::hdf5_hl PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5_hl-shared")
-else()
- message(FATAL_ERROR "could not find target hdf5_hl-*")
+if(NOT TARGET vtk::hdf5::hdf5_hl)
+ add_library(vtk::hdf5::hdf5_hl INTERFACE IMPORTED GLOBAL)
+ if(TARGET hdf5::hdf5_hl-static)
+ set_target_properties(vtk::hdf5::hdf5_hl PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5::hdf5_hl-static")
+ elseif(TARGET hdf5::hdf5_hl-shared)
+ set_target_properties(vtk::hdf5::hdf5_hl PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5::hdf5_hl-shared")
+ else()
+ message(FATAL_ERROR "could not find target hdf5_hl-*")
+ endif()
endif()
set(HDF5_LIBRARIES "$<BUILD_INTERFACE:vtk::hdf5::hdf5>" "$<BUILD_INTERFACE:vtk::hdf5::hdf5_hl>")
diff --git a/ports/vtk/fix-find-libharu.patch b/ports/vtk/fix-find-libharu.patch
index 683f7bae6..1c66408c6 100644
--- a/ports/vtk/fix-find-libharu.patch
+++ b/ports/vtk/fix-find-libharu.patch
@@ -4,7 +4,7 @@
find_path(LIBHARU_INCLUDE_DIR hpdf.h)
--find_library(LIBHARU_LIBRARY NAMES hpdf)
+-find_library(LIBHARU_LIBRARY NAMES hpdf hpdfs)
+find_library(LIBHARU_LIBRARY_RELEASE NAMES hpdf libhpdf)
+find_library(LIBHARU_LIBRARY_DEBUG NAMES hpdfd libhpdfd)
diff --git a/ports/vtk/portfile.cmake b/ports/vtk/portfile.cmake
index f46b47cbf..be344f8bf 100644
--- a/ports/vtk/portfile.cmake
+++ b/ports/vtk/portfile.cmake
@@ -1,39 +1,39 @@
include(vcpkg_common_functions)
-set(VTK_SHORT_VERSION "8.0")
-set(VTK_LONG_VERSION "${VTK_SHORT_VERSION}.1")
+set(VTK_SHORT_VERSION "8.1")
+set(VTK_LONG_VERSION "${VTK_SHORT_VERSION}.0")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO "Kitware/VTK"
REF "v${VTK_LONG_VERSION}"
- SHA512 3a70fa704d791d21a1e2421e6799ccc8238da5bc1fc0ab1925fb7956ccaebb7748c452faba1e7f4a2eafbc8612ed644f46f84b0cb3fe16ce539a823165feb29f
+ SHA512 09e110cba4ad9a6684e9b2af0cbb5b9053e3596ccb62aab96cd9e71aa4a96c809d96e13153ff44c28ad83015a61ba5195f7d34056707b62654c1bc057f9b9edf
HEAD_REF "master"
)
# =============================================================================
-# Options: These should be set by feature-packages when they become available
+# Options:
if ("qt" IN_LIST FEATURES)
- set(VTK_WITH_QT ON ) # IMPORTANT: if ON make sure `qt5` is listed as dependency in the CONTROL file
+ set(VTK_WITH_QT ON )
else()
- set(VTK_WITH_QT OFF ) # IMPORTANT: if ON make sure `qt5` is listed as dependency in the CONTROL file
+ set(VTK_WITH_QT OFF )
endif()
if ("mpi" IN_LIST FEATURES)
- set(VTK_WITH_MPI ON ) # IMPORTANT: if ON make sure `mpi` is listed as dependency in the CONTROL file
+ set(VTK_WITH_MPI ON )
else()
- set(VTK_WITH_MPI OFF ) # IMPORTANT: if ON make sure `mpi` is listed as dependency in the CONTROL file
+ set(VTK_WITH_MPI OFF )
endif()
if ("python" IN_LIST FEATURES)
- set(VTK_WITH_PYTHON ON) # IMPORTANT: if ON make sure `python3` is listed as dependency in the CONTROL file
+ set(VTK_WITH_PYTHON ON)
else()
- set(VTK_WITH_PYTHON OFF) # IMPORTANT: if ON make sure `python3` is listed as dependency in the CONTROL file
+ set(VTK_WITH_PYTHON OFF)
endif()
if("openvr" IN_LIST FEATURES)
- set(VTK_WITH_OPENVR ON) # IMPORTANT: if ON make sure `OpenVR` is listed as dependency in the CONTROL file
+ set(VTK_WITH_OPENVR ON)
else()
set(VTK_WITH_OPENVR OFF)
endif()
diff --git a/ports/yoga/CONTROL b/ports/yoga/CONTROL
new file mode 100644
index 000000000..c8ff36c24
--- /dev/null
+++ b/ports/yoga/CONTROL
@@ -0,0 +1,3 @@
+Source: yoga
+Version: 1.7.0
+Description: Yoga is a cross-platform layout engine which implements Flexbox
diff --git a/ports/yoga/portfile.cmake b/ports/yoga/portfile.cmake
new file mode 100644
index 000000000..ba13192c8
--- /dev/null
+++ b/ports/yoga/portfile.cmake
@@ -0,0 +1,42 @@
+# Common Ambient Variables:
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
+# PORT = current port name (zlib, etc)
+# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
+# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
+# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
+#
+include(vcpkg_common_functions)
+
+if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ message(FATAL_ERROR "Error: Dynamic building not supported yet.")
+elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore)
+ message(FATAL_ERROR "Error: UWP builds not supported yet.")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO facebook/yoga
+ REF 1.7.0
+ SHA512 3472a6db429e1fd0365321b2e663935741c4c97331f3936ea7b590b8218ada567ef7517fb20b1c843c1aad393e2b564e9626170a3d6c25e85450f9e8eb7ffdcc
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+)
+
+vcpkg_build_cmake()
+vcpkg_copy_pdbs()
+
+file(INSTALL ${SOURCE_PATH}/yoga DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN "*.h")
+file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/yogacore.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/yogacore.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+
+vcpkg_copy_pdbs()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/yoga RENAME copyright) \ No newline at end of file
diff --git a/ports/zeromq/CONTROL b/ports/zeromq/CONTROL
index b850b71b9..2e876f6e1 100644
--- a/ports/zeromq/CONTROL
+++ b/ports/zeromq/CONTROL
@@ -1,3 +1,3 @@
Source: zeromq
-Version: 20170908-18498f620f0f6d4076981ea16eb5760fe4d28dc2-1
+Version: 20170908-18498f620f0f6d4076981ea16eb5760fe4d28dc2-2
Description: The ZeroMQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products
diff --git a/ports/zeromq/portfile.cmake b/ports/zeromq/portfile.cmake
index 77d0da23d..e5a5d567b 100644
--- a/ports/zeromq/portfile.cmake
+++ b/ports/zeromq/portfile.cmake
@@ -8,11 +8,6 @@ vcpkg_from_github(
HEAD_REF master
)
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES ${ARCHIVE}
-)
-
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED)
@@ -38,6 +33,16 @@ vcpkg_copy_pdbs()
vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/ZeroMQ)
+file(READ ${CURRENT_PACKAGES_DIR}/share/zeromq/ZeroMQConfig.cmake _contents)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ string(REPLACE "get_target_property(ZeroMQ_STATIC_LIBRARY libzmq-static LOCATION)" "add_library(libzmq-static INTERFACE IMPORTED)\nset_target_properties(libzmq-static PROPERTIES INTERFACE_LINK_LIBRARIES libzmq)" _contents "${_contents}")
+ set(_contents "${_contents}\nset(ZeroMQ_STATIC_LIBRARY \${ZeroMQ_LIBRARY})\n")
+else()
+ string(REPLACE "get_target_property(ZeroMQ_LIBRARY libzmq LOCATION)" "add_library(libzmq INTERFACE IMPORTED)\nset_target_properties(libzmq PROPERTIES INTERFACE_LINK_LIBRARIES libzmq-static)" _contents "${_contents}")
+ set(_contents "${_contents}\nset(ZeroMQ_LIBRARY \${ZeroMQ_STATIC_LIBRARY})\n")
+endif()
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/zeromq/ZeroMQConfig.cmake "${_contents}")
+
# Handle copyright
file(RENAME ${CURRENT_PACKAGES_DIR}/share/zmq/COPYING.LESSER.txt ${CURRENT_PACKAGES_DIR}/share/zeromq/copyright)
diff --git a/ports/zstd/CONTROL b/ports/zstd/CONTROL
index c6c5cc8e3..fa139d868 100644
--- a/ports/zstd/CONTROL
+++ b/ports/zstd/CONTROL
@@ -1,3 +1,3 @@
Source: zstd
-Version: 1.3.1-1
+Version: 1.3.3
Description: Zstandard - Fast real-time compression algorithm http://www.zstd.net
diff --git a/ports/zstd/portfile.cmake b/ports/zstd/portfile.cmake
index 1f93cac74..874b5ec93 100644
--- a/ports/zstd/portfile.cmake
+++ b/ports/zstd/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebook/zstd
- REF v1.3.1
- SHA512 cc2ace7b2dd19a2bbf4c43a89d64a7ce121309f712bfb4940ccfd6f9353f1466612ef7096adcd852f54eaea8663d884acf681c83ae5b274b24c9b85f21367b7c
+ REF v1.3.3
+ SHA512 72b63f96f65ca987cdc82c24354f7665c7dc3b2563cb0646f355c34bf8f090d8a0759729f8beaba8317272bdab34749f934055707b25cfd69c98a9fdcfbc59ae
HEAD_REF dev)
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
diff --git a/scripts/buildsystems/msbuild/vcpkg.targets b/scripts/buildsystems/msbuild/vcpkg.targets
index 092e013b5..499052e4d 100644
--- a/scripts/buildsystems/msbuild/vcpkg.targets
+++ b/scripts/buildsystems/msbuild/vcpkg.targets
@@ -24,6 +24,16 @@
<VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">x64-windows</VcpkgTriplet>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Platform)|$(ApplicationType)|$(ApplicationTypeRevision)' == 'arm||'">
+ <VcpkgEnabled Condition="'$(VcpkgEnabled)' == ''">true</VcpkgEnabled>
+ <VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">arm-windows</VcpkgTriplet>
+ </PropertyGroup>
+
+ <PropertyGroup Condition="'$(Platform)|$(ApplicationType)|$(ApplicationTypeRevision)' == 'arm64||'">
+ <VcpkgEnabled Condition="'$(VcpkgEnabled)' == ''">true</VcpkgEnabled>
+ <VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">arm64-windows</VcpkgTriplet>
+ </PropertyGroup>
+
<PropertyGroup Condition="'$(Platform)|$(ApplicationType)|$(ApplicationTypeRevision)' == 'x64|Windows Store|10.0'">
<VcpkgEnabled Condition="'$(VcpkgEnabled)' == ''">true</VcpkgEnabled>
<VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">x64-uwp</VcpkgTriplet>
@@ -34,6 +44,11 @@
<VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">arm-uwp</VcpkgTriplet>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Platform)|$(ApplicationType)|$(ApplicationTypeRevision)' == 'arm64|Windows Store|10.0'">
+ <VcpkgEnabled Condition="'$(VcpkgEnabled)' == ''">true</VcpkgEnabled>
+ <VcpkgTriplet Condition="'$(VcpkgTriplet)' == ''">arm64-uwp</VcpkgTriplet>
+ </PropertyGroup>
+
<PropertyGroup Condition="'$(VcpkgEnabled)' == 'true'">
<VcpkgConfiguration Condition="'$(VcpkgConfiguration)' == ''">$(Configuration)</VcpkgConfiguration>
<VcpkgNormalizedConfiguration Condition="$(VcpkgConfiguration.StartsWith('Debug'))">Debug</VcpkgNormalizedConfiguration>
diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake
index b8d3fbdbb..f157d3236 100644
--- a/scripts/buildsystems/vcpkg.cmake
+++ b/scripts/buildsystems/vcpkg.cmake
@@ -22,6 +22,8 @@ elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Xx]64$")
set(_VCPKG_TARGET_TRIPLET_ARCH x64)
elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Aa][Rr][Mm]$")
set(_VCPKG_TARGET_TRIPLET_ARCH arm)
+elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Aa][Rr][Mm]64$")
+ set(_VCPKG_TARGET_TRIPLET_ARCH arm64)
else()
if(CMAKE_GENERATOR MATCHES "^Visual Studio 14 2015 Win64$")
set(_VCPKG_TARGET_TRIPLET_ARCH x64)
@@ -41,6 +43,8 @@ else()
set(_VCPKG_TARGET_TRIPLET_ARCH x64)
elseif(_VCPKG_CL MATCHES "arm/cl.exe$")
set(_VCPKG_TARGET_TRIPLET_ARCH arm)
+ elseif(_VCPKG_CL MATCHES "arm64/cl.exe$")
+ set(_VCPKG_TARGET_TRIPLET_ARCH arm64)
elseif(_VCPKG_CL MATCHES "bin/cl.exe$" OR _VCPKG_CL MATCHES "x86/cl.exe$")
set(_VCPKG_TARGET_TRIPLET_ARCH x86)
elseif(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64")
@@ -105,6 +109,7 @@ if (NOT DEFINED CMAKE_SYSTEM_VERSION AND _VCPKG_TARGET_TRIPLET_PLAT MATCHES "win
vcpkg_get_windows_sdk(WINDOWS_SDK_VERSION)
unset(VCPKG_ROOT_DIR)
set(CMAKE_SYSTEM_VERSION ${WINDOWS_SDK_VERSION} CACHE STRING "Windows SDK version")
+ message(STATUS "Found Windows SDK ${WINDOWS_SDK_VERSION}")
endif()
file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _programfiles)
@@ -207,17 +212,6 @@ macro(find_package name)
add_library(tinyxml2 INTERFACE IMPORTED)
set_target_properties(tinyxml2 PROPERTIES INTERFACE_LINK_LIBRARIES "tinyxml2_static")
endif()
- elseif("${name}" STREQUAL "MPI")
- if(MPI_C_LIB_NAMES)
- set(MPI_C_WORKS TRUE)
- set(MPI_C_WRAPPER_FOUND TRUE)
- endif()
- if(MPI_CXX_LIB_NAMES)
- set(MPI_CXX_WORKS TRUE)
- set(MPI_CXX_WRAPPER_FOUND TRUE)
- set(MPI_CXX_VALIDATE_SKIP_MPICXX TRUE)
- endif()
- _find_package(${ARGV})
else()
_find_package(${ARGV})
endif()
diff --git a/scripts/cmake/vcpkg_build_cmake.cmake b/scripts/cmake/vcpkg_build_cmake.cmake
index 0b4bbd211..8bafee4d4 100644
--- a/scripts/cmake/vcpkg_build_cmake.cmake
+++ b/scripts/cmake/vcpkg_build_cmake.cmake
@@ -33,19 +33,18 @@ function(vcpkg_build_cmake)
set(_bc_LOGFILE_ROOT "build")
endif()
+ set(PARALLEL_ARG)
+ set(NO_PARALLEL_ARG)
+
if(_VCPKG_CMAKE_GENERATOR MATCHES "Ninja")
set(BUILD_ARGS "-v") # verbose output
- if (_bc_DISABLE_PARALLEL)
- list(APPEND BUILD_ARGS "-j1")
- endif()
+ set(NO_PARALLEL_ARG "-j1")
elseif(_VCPKG_CMAKE_GENERATOR MATCHES "Visual Studio")
set(BUILD_ARGS
"/p:VCPkgLocalAppDataDisabled=true"
"/p:UseIntelMKL=No"
)
- if (NOT _bc_DISABLE_PARALLEL)
- list(APPEND BUILD_ARGS "/m")
- endif()
+ set(PARALLEL_ARG "/m")
elseif(_VCPKG_CMAKE_GENERATOR MATCHES "NMake")
# No options are currently added for nmake builds
else()
@@ -58,23 +57,83 @@ function(vcpkg_build_cmake)
set(TARGET_PARAM)
endif()
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- message(STATUS "Build ${TARGET_TRIPLET}-rel")
- vcpkg_execute_required_process(
- COMMAND ${CMAKE_COMMAND} --build . --config Release ${TARGET_PARAM} -- ${BUILD_ARGS}
- WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
- LOGNAME ${_bc_LOGFILE_ROOT}-${TARGET_TRIPLET}-rel
- )
- message(STATUS "Build ${TARGET_TRIPLET}-rel done")
+ if(_bc_DISABLE_PARALLEL)
+ set(PARALLEL_ARG ${NO_PARALLEL_ARG})
endif()
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- message(STATUS "Build ${TARGET_TRIPLET}-dbg")
- vcpkg_execute_required_process(
- COMMAND ${CMAKE_COMMAND} --build . --config Debug ${TARGET_PARAM} -- ${BUILD_ARGS}
- WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
- LOGNAME ${_bc_LOGFILE_ROOT}-${TARGET_TRIPLET}-dbg
- )
- message(STATUS "Build ${TARGET_TRIPLET}-dbg done")
- endif()
+ foreach(BUILDTYPE "release" "debug")
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL BUILDTYPE)
+ if(BUILDTYPE STREQUAL "debug")
+ set(SHORT_BUILDTYPE "dbg")
+ else()
+ set(SHORT_BUILDTYPE "rel")
+ endif()
+
+ message(STATUS "Build ${TARGET_TRIPLET}-${SHORT_BUILDTYPE}")
+ set(LOGPREFIX "${CURRENT_BUILDTREES_DIR}/${_bc_LOGFILE_ROOT}-${TARGET_TRIPLET}-${SHORT_BUILDTYPE}")
+ set(LOGS)
+
+ if(BUILDTYPE STREQUAL "release")
+ set(CONFIG "Release")
+ else()
+ set(CONFIG "Debug")
+ endif()
+
+ execute_process(
+ COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${PARALLEL_ARG}
+ OUTPUT_FILE "${LOGPREFIX}-out.log"
+ ERROR_FILE "${LOGPREFIX}-err.log"
+ RESULT_VARIABLE error_code
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE})
+ if(error_code)
+ file(READ "${LOGPREFIX}-out.log" out_contents)
+ file(READ "${LOGPREFIX}-err.log" err_contents)
+
+ if(out_contents)
+ list(APPEND LOGS "${LOGPREFIX}-out.log")
+ endif()
+ if(err_contents)
+ list(APPEND LOGS "${LOGPREFIX}-err.log")
+ endif()
+
+ if(out_contents MATCHES "LINK : fatal error LNK1102:" OR out_contents MATCHES " fatal error C1060: ")
+ # The linker ran out of memory during execution. We will try continuing once more, with parallelism disabled.
+ execute_process(
+ COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${NO_PARALLEL_ARG}
+ OUTPUT_FILE "${LOGPREFIX}-out-1.log"
+ ERROR_FILE "${LOGPREFIX}-err-1.log"
+ RESULT_VARIABLE error_code
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE})
+
+ if(error_code)
+ file(READ "${LOGPREFIX}-out-1.log" out_contents)
+ file(READ "${LOGPREFIX}-err-1.log" err_contents)
+
+ if(out_contents)
+ list(APPEND LOGS "${LOGPREFIX}-out-1.log")
+ endif()
+ if(err_contents)
+ list(APPEND LOGS "${LOGPREFIX}-err-1.log")
+ endif()
+ endif()
+ endif()
+
+ if(error_code)
+ set(STRINGIFIED_LOGS)
+ foreach(LOG ${LOGS})
+ file(TO_NATIVE_PATH "${LOG}" NATIVE_LOG)
+ list(APPEND STRINGIFIED_LOGS " ${NATIVE_LOG}\n")
+ endforeach()
+ set(_eb_COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${NO_PARALLEL_ARG})
+ set(_eb_WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE})
+ message(FATAL_ERROR
+ " Command failed: ${_eb_COMMAND}\n"
+ " Working Directory: ${_eb_WORKING_DIRECTORY}\n"
+ " See logs for more information:\n"
+ ${STRINGIFIED_LOGS})
+ endif()
+ endif()
+ message(STATUS "Build ${TARGET_TRIPLET}-${SHORT_BUILDTYPE} done")
+ endif()
+ endforeach()
endfunction()
diff --git a/scripts/cmake/vcpkg_configure_cmake.cmake b/scripts/cmake/vcpkg_configure_cmake.cmake
index 4bcf3d2c9..6e2ec4ef5 100644
--- a/scripts/cmake/vcpkg_configure_cmake.cmake
+++ b/scripts/cmake/vcpkg_configure_cmake.cmake
@@ -57,40 +57,39 @@ function(vcpkg_configure_cmake)
set(_csc_HOST_ARCHITECTURE $ENV{PROCESSOR_ARCHITECTURE})
endif()
+ set(NINJA_CAN_BE_USED ON)
+ if(_csc_HOST_ARCHITECTURE STREQUAL "x86")
+ # Prebuilt ninja binaries are only provided for x64 hosts
+ set(NINJA_CAN_BE_USED OFF)
+ elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ # Ninja and MSBuild have many differences when targetting UWP, so use MSBuild to maximize existing compatibility
+ set(NINJA_CAN_BE_USED OFF)
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
+ # Arm64 usage should be allowed once github issue #2375 is resolved
+ set(NINJA_CAN_BE_USED OFF)
+ endif()
+
if(_csc_GENERATOR)
set(GENERATOR ${_csc_GENERATOR})
- elseif(_csc_PREFER_NINJA AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND NOT _csc_HOST_ARCHITECTURE STREQUAL "x86")
+ elseif(_csc_PREFER_NINJA AND NINJA_CAN_BE_USED)
+ set(GENERATOR "Ninja")
+ elseif(VCPKG_CHAINLOAD_TOOLCHAIN_FILE)
set(GENERATOR "Ninja")
+
elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v120")
set(GENERATOR "Visual Studio 12 2013")
elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v120")
set(GENERATOR "Visual Studio 12 2013 Win64")
elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v120")
set(GENERATOR "Visual Studio 12 2013 ARM")
- elseif(VCPKG_CHAINLOAD_TOOLCHAIN_FILE)
- set(GENERATOR "Ninja")
- elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND VCPKG_TARGET_ARCHITECTURE MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140")
- set(GENERATOR "Visual Studio 14 2015")
- elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140")
- set(GENERATOR "Visual Studio 14 2015 Win64")
- elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND VCPKG_TARGET_ARCHITECTURE MATCHES "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140")
- set(GENERATOR "Visual Studio 14 2015 ARM")
+
elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140")
set(GENERATOR "Visual Studio 14 2015")
elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140")
set(GENERATOR "Visual Studio 14 2015 Win64")
- elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140")
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140")
set(GENERATOR "Visual Studio 14 2015 ARM")
- elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND VCPKG_TARGET_ARCHITECTURE MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141")
- set(GENERATOR "Visual Studio 15 2017")
- elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141")
- set(GENERATOR "Visual Studio 15 2017 Win64")
- elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141")
- set(GENERATOR "Visual Studio 15 2017 ARM")
- elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141")
- set(GENERATOR "Visual Studio 15 2017")
- set(ARCH "ARM64")
elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141")
set(GENERATOR "Visual Studio 15 2017")
elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141")
diff --git a/scripts/cmake/vcpkg_download_distfile.cmake b/scripts/cmake/vcpkg_download_distfile.cmake
index 24503338a..28276f47c 100644
--- a/scripts/cmake/vcpkg_download_distfile.cmake
+++ b/scripts/cmake/vcpkg_download_distfile.cmake
@@ -2,6 +2,8 @@
##
## Download and cache a file needed for this port.
##
+## This helper should always be used instead of CMake's built-in `file(DOWNLOAD)` command.
+##
## ## Usage
## ```cmake
## vcpkg_download_distfile(
@@ -26,18 +28,24 @@
##
## If this doesn't match the downloaded version, the build will be terminated with a message describing the mismatch.
##
+## ### SKIP_SHA512
+## Skip SHA512 hash check for file.
+##
+## This switch is only valid when building with the `--head` command line flag.
+##
## ## Notes
-## The command [`vcpkg_from_github`](vcpkg_from_github.md) should be used instead of this for downloading the main archive for GitHub projects.
+## The helper [`vcpkg_from_github`](vcpkg_from_github.md) should be used for downloading from GitHub projects.
##
## ## Examples
##
-## * [boost](https://github.com/Microsoft/vcpkg/blob/master/ports/boost/portfile.cmake)
+## * [apr](https://github.com/Microsoft/vcpkg/blob/master/ports/apr/portfile.cmake)
## * [fontconfig](https://github.com/Microsoft/vcpkg/blob/master/ports/fontconfig/portfile.cmake)
## * [openssl](https://github.com/Microsoft/vcpkg/blob/master/ports/openssl/portfile.cmake)
function(vcpkg_download_distfile VAR)
+ set(options SKIP_SHA512)
set(oneValueArgs FILENAME SHA512)
set(multipleValuesArgs URLS)
- cmake_parse_arguments(vcpkg_download_distfile "" "${oneValueArgs}" "${multipleValuesArgs}" ${ARGN})
+ cmake_parse_arguments(vcpkg_download_distfile "${options}" "${oneValueArgs}" "${multipleValuesArgs}" ${ARGN})
if(NOT DEFINED vcpkg_download_distfile_URLS)
message(FATAL_ERROR "vcpkg_download_distfile requires a URLS argument.")
@@ -45,8 +53,16 @@ function(vcpkg_download_distfile VAR)
if(NOT DEFINED vcpkg_download_distfile_FILENAME)
message(FATAL_ERROR "vcpkg_download_distfile requires a FILENAME argument.")
endif()
- if(NOT DEFINED vcpkg_download_distfile_SHA512)
- message(FATAL_ERROR "vcpkg_download_distfile requires a SHA512 argument.")
+ if(NOT _VCPKG_INTERNAL_NO_HASH_CHECK)
+ if(vcpkg_download_distfile_SKIP_SHA512 AND NOT VCPKG_USE_HEAD_VERSION)
+ message(FATAL_ERROR "vcpkg_download_distfile only allows SKIP_SHA512 when building with --head")
+ endif()
+ if(NOT vcpkg_download_distfile_SKIP_SHA512 AND NOT DEFINED vcpkg_download_distfile_SHA512)
+ message(FATAL_ERROR "vcpkg_download_distfile requires a SHA512 argument. If you do not know the SHA512, add it as 'SHA512 0' and re-run this command.")
+ endif()
+ if(vcpkg_download_distfile_SKIP_SHA512 AND DEFINED vcpkg_download_distfile_SHA512)
+ message(FATAL_ERROR "vcpkg_download_distfile must not be passed both SHA512 and SKIP_SHA512.")
+ endif()
endif()
set(downloaded_file_path ${DOWNLOADS}/${vcpkg_download_distfile_FILENAME})
@@ -56,7 +72,12 @@ function(vcpkg_download_distfile VAR)
file(MAKE_DIRECTORY "${DOWNLOADS}/temp")
function(test_hash FILE_KIND CUSTOM_ERROR_ADVICE)
- if (_VCPKG_INTERNAL_NO_HASH_CHECK)
+ if(_VCPKG_INTERNAL_NO_HASH_CHECK)
+ # When using the internal hash skip, do not output an explicit message.
+ return()
+ endif()
+ if(vcpkg_download_distfile_SKIP_SHA512)
+ message(STATUS "Skipping hash check for ${downloaded_file_path}.")
return()
endif()
@@ -103,7 +124,7 @@ function(vcpkg_download_distfile VAR)
" Failed to download file.\n"
" Add mirrors or submit an issue at https://github.com/Microsoft/vcpkg/issues\n")
else()
- test_hash("downloaded file" "The file may be corrupted.")
+ test_hash("downloaded file" "The file may have been corrupted in transit.")
endif()
endif()
set(${VAR} ${downloaded_file_path} PARENT_SCOPE)
diff --git a/scripts/cmake/vcpkg_execute_required_process.cmake b/scripts/cmake/vcpkg_execute_required_process.cmake
index 7c4907016..5b8922c14 100644
--- a/scripts/cmake/vcpkg_execute_required_process.cmake
+++ b/scripts/cmake/vcpkg_execute_required_process.cmake
@@ -30,22 +30,34 @@
## * [qt5](https://github.com/Microsoft/vcpkg/blob/master/ports/qt5/portfile.cmake)
function(vcpkg_execute_required_process)
cmake_parse_arguments(vcpkg_execute_required_process "" "WORKING_DIRECTORY;LOGNAME" "COMMAND" ${ARGN})
- #debug_message("vcpkg_execute_required_process(${vcpkg_execute_required_process_COMMAND})")
+ set(LOG_OUT "${CURRENT_BUILDTREES_DIR}/${vcpkg_execute_required_process_LOGNAME}-out.log")
+ set(LOG_ERR "${CURRENT_BUILDTREES_DIR}/${vcpkg_execute_required_process_LOGNAME}-err.log")
execute_process(
COMMAND ${vcpkg_execute_required_process_COMMAND}
- OUTPUT_FILE ${CURRENT_BUILDTREES_DIR}/${vcpkg_execute_required_process_LOGNAME}-out.log
- ERROR_FILE ${CURRENT_BUILDTREES_DIR}/${vcpkg_execute_required_process_LOGNAME}-err.log
+ OUTPUT_FILE ${LOG_OUT}
+ ERROR_FILE ${LOG_ERR}
RESULT_VARIABLE error_code
WORKING_DIRECTORY ${vcpkg_execute_required_process_WORKING_DIRECTORY})
- #debug_message("error_code=${error_code}")
if(error_code)
- file(TO_NATIVE_PATH "${CURRENT_BUILDTREES_DIR}/${vcpkg_execute_required_process_LOGNAME}-out.log" NATIVE_LOG_OUT)
- file(TO_NATIVE_PATH "${CURRENT_BUILDTREES_DIR}/${vcpkg_execute_required_process_LOGNAME}-err.log" NATIVE_LOG_ERR)
+ set(LOGS)
+ file(READ "${LOG_OUT}" out_contents)
+ file(READ "${LOG_ERR}" err_contents)
+ if(out_contents)
+ list(APPEND LOGS "${LOG_OUT}")
+ endif()
+ if(err_contents)
+ list(APPEND LOGS "${LOG_ERR}")
+ endif()
+ set(STRINGIFIED_LOGS)
+ foreach(LOG ${LOGS})
+ file(TO_NATIVE_PATH "${LOG}" NATIVE_LOG)
+ list(APPEND STRINGIFIED_LOGS " ${NATIVE_LOG}\n")
+ endforeach()
message(FATAL_ERROR
" Command failed: ${vcpkg_execute_required_process_COMMAND}\n"
" Working Directory: ${vcpkg_execute_required_process_WORKING_DIRECTORY}\n"
" See logs for more information:\n"
- " ${NATIVE_LOG_OUT}\n"
- " ${NATIVE_LOG_ERR}\n")
+ ${STRINGIFIED_LOGS}
+ )
endif()
endfunction()
diff --git a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
index f86ad0661..fead64d15 100644
--- a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
+++ b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake
@@ -14,14 +14,18 @@
#
function(vcpkg_fixup_cmake_targets)
- cmake_parse_arguments(_vfct "" "CONFIG_PATH" "" ${ARGN})
+ cmake_parse_arguments(_vfct "" "CONFIG_PATH;TARGET_PATH" "" ${ARGN})
if(_vfct_UNPARSED_ARGUMENTS)
message(FATAL_ERROR "vcpkg_fixup_cmake_targets was passed extra arguments: ${_vfct_UNPARSED_ARGUMENTS}")
endif()
- set(DEBUG_SHARE ${CURRENT_PACKAGES_DIR}/debug/share/${PORT})
- set(RELEASE_SHARE ${CURRENT_PACKAGES_DIR}/share/${PORT})
+ if(NOT _vfct_TARGET_PATH)
+ set(_vfct_TARGET_PATH share/${PORT})
+ endif()
+
+ set(DEBUG_SHARE ${CURRENT_PACKAGES_DIR}/debug/${_vfct_TARGET_PATH})
+ set(RELEASE_SHARE ${CURRENT_PACKAGES_DIR}/${_vfct_TARGET_PATH})
if(_vfct_CONFIG_PATH AND NOT RELEASE_SHARE STREQUAL "${CURRENT_PACKAGES_DIR}/${_vfct_CONFIG_PATH}")
set(DEBUG_CONFIG ${CURRENT_PACKAGES_DIR}/debug/${_vfct_CONFIG_PATH})
@@ -114,7 +118,7 @@ function(vcpkg_fixup_cmake_targets)
string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \"]+\\.exe)" "\${_IMPORT_PREFIX}/tools/${PORT}/\\1" _contents "${_contents}")
string(REPLACE "\${_IMPORT_PREFIX}/lib" "\${_IMPORT_PREFIX}/debug/lib" _contents "${_contents}")
string(REPLACE "\${_IMPORT_PREFIX}/bin" "\${_IMPORT_PREFIX}/debug/bin" _contents "${_contents}")
- file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/${DEBUG_TARGET_NAME} "${_contents}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/${_vfct_TARGET_PATH}/${DEBUG_TARGET_NAME} "${_contents}")
file(REMOVE ${DEBUG_TARGET})
endforeach()
@@ -148,7 +152,7 @@ function(vcpkg_fixup_cmake_targets)
file(WRITE ${MAIN_CONFIG} "${_contents}")
endforeach()
- # Remove /debug/share/<port>/ if it's empty.
+ # Remove /debug/<target_path>/ if it's empty.
file(GLOB_RECURSE REMAINING_FILES "${DEBUG_SHARE}/*")
if(NOT REMAINING_FILES)
file(REMOVE_RECURSE ${DEBUG_SHARE})
diff --git a/scripts/cmake/vcpkg_from_github.cmake b/scripts/cmake/vcpkg_from_github.cmake
index b71ab3838..c6a23cff6 100644
--- a/scripts/cmake/vcpkg_from_github.cmake
+++ b/scripts/cmake/vcpkg_from_github.cmake
@@ -137,17 +137,17 @@ function(vcpkg_from_github)
endif()
# Try to download the file and version information from github.
- set(_VCPKG_INTERNAL_NO_HASH_CHECK "TRUE")
vcpkg_download_distfile(ARCHIVE_VERSION
URLS "https://api.github.com/repos/${ORG_NAME}/${REPO_NAME}/git/refs/heads/${_vdud_HEAD_REF}"
FILENAME ${downloaded_file_name}.version
+ SKIP_SHA512
)
vcpkg_download_distfile(ARCHIVE
URLS ${URL}
FILENAME ${downloaded_file_name}
+ SKIP_SHA512
)
- set(_VCPKG_INTERNAL_NO_HASH_CHECK "FALSE")
endif()
vcpkg_extract_source_archive_ex(
@@ -162,7 +162,10 @@ function(vcpkg_from_github)
string(REGEX REPLACE "\"sha\": \"([a-f0-9]+)\"" "\\1" _version ${x})
# exports VCPKG_HEAD_VERSION to the caller. This will get picked up by ports.cmake after the build.
- set(VCPKG_HEAD_VERSION ${_version} PARENT_SCOPE)
+ # When multiple vcpkg_from_github's are used after each other, only use the version from the first (hopefully the primary one).
+ if(NOT DEFINED VCPKG_HEAD_VERSION)
+ set(VCPKG_HEAD_VERSION ${_version} PARENT_SCOPE)
+ endif()
set_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src/head ${SANITIZED_HEAD_REF})
endfunction()
diff --git a/scripts/fetchDependency.ps1 b/scripts/fetchDependency.ps1
index f62fe450c..168c2359e 100644
--- a/scripts/fetchDependency.ps1
+++ b/scripts/fetchDependency.ps1
@@ -20,12 +20,12 @@ function SelectProgram([Parameter(Mandatory=$true)][string]$Dependency)
if($Dependency -eq "cmake")
{
- $requiredVersion = "3.10.0"
- $downloadVersion = "3.10.0"
- $url = "https://cmake.org/files/v3.10/cmake-3.10.0-win32-x86.zip"
- $downloadPath = "$downloadsDir\cmake-3.10.0-win32-x86.zip"
- $expectedDownloadedFileHash = "dce666e897f95a88d3eed6cddd1faa3f44179d519b33ca6065b385bbc7072419"
- $executableFromDownload = "$downloadsDir\cmake-3.10.0-win32-x86\bin\cmake.exe"
+ $requiredVersion = "3.10.1"
+ $downloadVersion = "3.10.1"
+ $url = "https://cmake.org/files/v3.10/cmake-3.10.1-win32-x86.zip"
+ $downloadPath = "$downloadsDir\cmake-3.10.1-win32-x86.zip"
+ $expectedDownloadedFileHash = "6fe010cce1201d884cd7a9535db8a1f16d98b8965341251fde8f1c5069ee58c0"
+ $executableFromDownload = "$downloadsDir\cmake-3.10.1-win32-x86\bin\cmake.exe"
$extractionType = $ExtractionType_ZIP
}
elseif($Dependency -eq "nuget")
diff --git a/toolsrc/VERSION.txt b/toolsrc/VERSION.txt
index e45ea373f..d78a54a5e 100644
--- a/toolsrc/VERSION.txt
+++ b/toolsrc/VERSION.txt
@@ -1 +1 @@
-"0.0.100" \ No newline at end of file
+"0.0.101" \ No newline at end of file
diff --git a/toolsrc/include/vcpkg/commands.h b/toolsrc/include/vcpkg/commands.h
index c82f504e0..31c750b38 100644
--- a/toolsrc/include/vcpkg/commands.h
+++ b/toolsrc/include/vcpkg/commands.h
@@ -119,7 +119,7 @@ namespace vcpkg::Commands
namespace Hash
{
- void perform_and_exit(const VcpkgCmdArguments& args);
+ void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths);
}
template<class T>
diff --git a/toolsrc/include/vcpkg/triplet.h b/toolsrc/include/vcpkg/triplet.h
index 2cfc2d02a..10464dc2c 100644
--- a/toolsrc/include/vcpkg/triplet.h
+++ b/toolsrc/include/vcpkg/triplet.h
@@ -18,6 +18,9 @@ namespace vcpkg
static const Triplet X86_UWP;
static const Triplet X64_UWP;
static const Triplet ARM_UWP;
+ static const Triplet ARM64_UWP;
+ static const Triplet ARM_WINDOWS;
+ static const Triplet ARM64_WINDOWS;
const std::string& canonical_name() const;
const std::string& to_string() const;
diff --git a/toolsrc/src/vcpkg/base/system.cpp b/toolsrc/src/vcpkg/base/system.cpp
index 625ee6ce0..84721bf6e 100644
--- a/toolsrc/src/vcpkg/base/system.cpp
+++ b/toolsrc/src/vcpkg/base/system.cpp
@@ -220,7 +220,7 @@ namespace vcpkg::System
nullptr,
nullptr,
FALSE,
- BELOW_NORMAL_PRIORITY_CLASS | CREATE_UNICODE_ENVIRONMENT,
+ IDLE_PRIORITY_CLASS | CREATE_UNICODE_ENVIRONMENT,
env_cstr.data(),
nullptr,
&startup_info,
diff --git a/toolsrc/src/vcpkg/commands.cpp b/toolsrc/src/vcpkg/commands.cpp
index ccf6fa729..d9c0e54cd 100644
--- a/toolsrc/src/vcpkg/commands.cpp
+++ b/toolsrc/src/vcpkg/commands.cpp
@@ -41,7 +41,9 @@ namespace vcpkg::Commands
{"import", &Import::perform_and_exit},
{"cache", &Cache::perform_and_exit},
{"portsdiff", &PortsDiff::perform_and_exit},
- {"autocomplete", &Autocomplete::perform_and_exit}};
+ {"autocomplete", &Autocomplete::perform_and_exit},
+ {"hash", &Hash::perform_and_exit},
+ };
return t;
}
@@ -49,8 +51,7 @@ namespace vcpkg::Commands
{
static std::vector<PackageNameAndFunction<CommandTypeC>> t = {
{"version", &Version::perform_and_exit},
- {"contact", &Contact::perform_and_exit},
- {"hash", &Hash::perform_and_exit},
+ {"contact", &Contact::perform_and_exit}
};
return t;
}
diff --git a/toolsrc/src/vcpkg/commands.hash.cpp b/toolsrc/src/vcpkg/commands.hash.cpp
index a5940ea1e..1e3e5b23d 100644
--- a/toolsrc/src/vcpkg/commands.hash.cpp
+++ b/toolsrc/src/vcpkg/commands.hash.cpp
@@ -7,15 +7,17 @@
namespace vcpkg::Commands::Hash
{
- static void do_file_hash(fs::path const& path, std::string const& hash_type)
+ static void do_file_hash(fs::path const &cmake_exe_path, fs::path const& path, std::string const& hash_type)
{
- const auto cmd_line = Strings::format(R"(CertUtil.exe -hashfile "%s" %s)", path.u8string().c_str(), hash_type);
+ const std::string cmd_line = Strings::format(
+ R"("%s" -E %ssum %s)", cmake_exe_path.u8string(), Strings::ascii_to_lowercase(hash_type), path.u8string());
+
const auto ec_data = System::cmd_execute_and_capture_output(cmd_line);
Checks::check_exit(VCPKG_LINE_INFO, ec_data.exit_code == 0, "Running command:\n %s\n failed", cmd_line);
std::string const& output = ec_data.output;
- const auto start = output.find_first_of("\r\n");
+ const auto start = output.find_first_of(" ");
Checks::check_exit(
VCPKG_LINE_INFO, start != std::string::npos, "Unexpected output format from command: %s", cmd_line);
@@ -23,7 +25,7 @@ namespace vcpkg::Commands::Hash
Checks::check_exit(
VCPKG_LINE_INFO, end != std::string::npos, "Unexpected output format from command: %s", cmd_line);
- auto hash = output.substr(start, end - start);
+ auto hash = output.substr(0, start);
Util::erase_remove_if(hash, isspace);
System::println(hash);
}
@@ -37,17 +39,17 @@ namespace vcpkg::Commands::Hash
nullptr,
};
- void perform_and_exit(const VcpkgCmdArguments& args)
+ void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths)
{
args.parse_arguments(COMMAND_STRUCTURE);
if (args.command_arguments.size() == 1)
{
- do_file_hash(args.command_arguments[0], "SHA512");
+ do_file_hash(paths.get_cmake_exe(), args.command_arguments[0], "SHA512");
}
if (args.command_arguments.size() == 2)
{
- do_file_hash(args.command_arguments[0], args.command_arguments[1]);
+ do_file_hash(paths.get_cmake_exe(), args.command_arguments[0], args.command_arguments[1]);
}
Checks::exit_success(VCPKG_LINE_INFO);
diff --git a/toolsrc/src/vcpkg/triplet.cpp b/toolsrc/src/vcpkg/triplet.cpp
index 4cba1523d..ef0fab183 100644
--- a/toolsrc/src/vcpkg/triplet.cpp
+++ b/toolsrc/src/vcpkg/triplet.cpp
@@ -36,6 +36,9 @@ namespace vcpkg
const Triplet Triplet::X86_UWP = from_canonical_name("x86-uwp");
const Triplet Triplet::X64_UWP = from_canonical_name("x64-uwp");
const Triplet Triplet::ARM_UWP = from_canonical_name("arm-uwp");
+ const Triplet Triplet::ARM64_UWP = from_canonical_name("arm64-uwp");
+ const Triplet Triplet::ARM_WINDOWS = from_canonical_name("arm-windows");
+ const Triplet Triplet::ARM64_WINDOWS = from_canonical_name("arm64-windows");
bool Triplet::operator==(const Triplet& other) const { return this->m_instance == other.m_instance; }
diff --git a/toolsrc/src/vcpkg/vcpkgpaths.cpp b/toolsrc/src/vcpkg/vcpkgpaths.cpp
index e64a681e2..fa5fb128c 100644
--- a/toolsrc/src/vcpkg/vcpkgpaths.cpp
+++ b/toolsrc/src/vcpkg/vcpkgpaths.cpp
@@ -115,7 +115,7 @@ namespace vcpkg
static fs::path get_cmake_path(const fs::path& downloads_folder, const fs::path& scripts_folder)
{
#if defined(_WIN32)
- static constexpr std::array<int, 3> EXPECTED_VERSION = {3, 10, 0};
+ static constexpr std::array<int, 3> EXPECTED_VERSION = {3, 10, 1};
#else
static constexpr std::array<int, 3> EXPECTED_VERSION = {3, 5, 1};
#endif
@@ -124,7 +124,7 @@ namespace vcpkg
const std::vector<fs::path> from_path = Files::find_from_PATH("cmake");
std::vector<fs::path> candidate_paths;
- const fs::path downloaded_copy = downloads_folder / "cmake-3.10.0-win32-x86" / "bin" / "cmake.exe";
+ const fs::path downloaded_copy = downloads_folder / "cmake-3.10.1-win32-x86" / "bin" / "cmake.exe";
#if defined(_WIN32)
candidate_paths.push_back(downloaded_copy);
#endif
@@ -583,7 +583,7 @@ namespace vcpkg
candidates, [&](const Toolset* t) { return *tsv == t->version && *vsp == t->visual_studio_root_path; });
Checks::check_exit(VCPKG_LINE_INFO,
!candidates.empty(),
- "Could not find Visual Studio instace at %s with %s toolset.",
+ "Could not find Visual Studio instance at %s with %s toolset.",
vsp->u8string(),
*tsv);
@@ -595,7 +595,7 @@ namespace vcpkg
{
Util::stable_keep_if(candidates, [&](const Toolset* t) { return *tsv == t->version; });
Checks::check_exit(
- VCPKG_LINE_INFO, !candidates.empty(), "Could not find Visual Studio instace with %s toolset.", *tsv);
+ VCPKG_LINE_INFO, !candidates.empty(), "Could not find Visual Studio instance with %s toolset.", *tsv);
}
if (vsp)
@@ -605,7 +605,7 @@ namespace vcpkg
[&](const Toolset* t) { return vs_root_path == t->visual_studio_root_path; });
Checks::check_exit(VCPKG_LINE_INFO,
!candidates.empty(),
- "Could not find Visual Studio instace at %s.",
+ "Could not find Visual Studio instance at %s.",
vs_root_path.generic_string());
}
diff --git a/triplets/arm-windows.cmake b/triplets/arm-windows.cmake
new file mode 100644
index 000000000..3aa75933f
--- /dev/null
+++ b/triplets/arm-windows.cmake
@@ -0,0 +1,5 @@
+set(VCPKG_TARGET_ARCHITECTURE arm)
+set(VCPKG_CRT_LINKAGE dynamic)
+set(VCPKG_LIBRARY_LINKAGE dynamic)
+
+
diff --git a/triplets/arm64-windows.cmake b/triplets/arm64-windows.cmake
new file mode 100644
index 000000000..ac911c476
--- /dev/null
+++ b/triplets/arm64-windows.cmake
@@ -0,0 +1,5 @@
+set(VCPKG_TARGET_ARCHITECTURE arm64)
+set(VCPKG_CRT_LINKAGE dynamic)
+set(VCPKG_LIBRARY_LINKAGE dynamic)
+
+