aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-10-03 15:52:29 -0700
committerRobert Schumacher <roschuma@microsoft.com>2017-10-03 15:52:29 -0700
commitd5705e87c42784607bf462159bebe14044a88eca (patch)
treeaded4a5806480ad3e6980b8c5f4dacd61a004614
parentc167c70c272a417779e601fffcbdb72278da1848 (diff)
parent3838d5880470fdc884f035ed3d1c67d3bdd1e16e (diff)
downloadvcpkg-d5705e87c42784607bf462159bebe14044a88eca.tar.gz
vcpkg-d5705e87c42784607bf462159bebe14044a88eca.zip
Merge branch 'master' into martin-s-patch-vs2013
-rw-r--r--CHANGELOG.md131
-rw-r--r--docs/about/faq.md4
-rw-r--r--docs/maintainers/control-files.md4
-rw-r--r--ports/abseil/CMakeLists.txt77
-rw-r--r--ports/abseil/CONTROL6
-rw-r--r--ports/abseil/fix-intrin.patch12
-rw-r--r--ports/abseil/portfile.cmake38
-rw-r--r--ports/ace/CONTROL2
-rw-r--r--ports/ace/portfile.cmake6
-rw-r--r--ports/alembic/CONTROL2
-rw-r--r--ports/allegro5/CONTROL4
-rw-r--r--ports/anax/CONTROL2
-rw-r--r--ports/anax/portfile.cmake18
-rw-r--r--ports/angle/CONTROL2
-rw-r--r--ports/angle/portfile.cmake2
-rw-r--r--ports/apr-util/CONTROL2
-rw-r--r--ports/apr/CONTROL2
-rw-r--r--ports/arrow/CONTROL4
-rw-r--r--ports/arrow/all.patch130
-rw-r--r--ports/arrow/portfile.cmake26
-rw-r--r--ports/assimp/CONTROL2
-rw-r--r--ports/atk/CONTROL2
-rw-r--r--ports/aubio/CONTROL2
-rw-r--r--ports/aws-sdk-cpp/CONTROL2
-rw-r--r--ports/aws-sdk-cpp/portfile.cmake4
-rw-r--r--ports/azure-storage-cpp/CONTROL4
-rw-r--r--ports/benchmark/CONTROL4
-rw-r--r--ports/benchmark/fix-cmakelists.patch27
-rw-r--r--ports/benchmark/portfile.cmake18
-rw-r--r--ports/bigint/CMakeLists.txt40
-rw-r--r--ports/bigint/CONTROL3
-rw-r--r--ports/bigint/portfile.cmake27
-rw-r--r--ports/blaze/portfile.cmake12
-rw-r--r--ports/bond/CONTROL2
-rw-r--r--ports/boost/CONTROL2
-rw-r--r--ports/boost/portfile.cmake19
-rw-r--r--ports/box2d/portfile.cmake2
-rw-r--r--ports/brotli/CONTROL2
-rw-r--r--ports/bullet3/CONTROL2
-rw-r--r--ports/butteraugli/CMakeLists.txt43
-rw-r--r--ports/butteraugli/CONTROL4
-rw-r--r--ports/butteraugli/missing_header.patch12
-rw-r--r--ports/butteraugli/portfile.cmake30
-rw-r--r--ports/bzip2/CONTROL2
-rw-r--r--ports/c-ares/CONTROL4
-rw-r--r--ports/c-ares/portfile.cmake4
-rw-r--r--ports/caffe2/CONTROL4
-rw-r--r--ports/caffe2/msvc-fixes.patch396
-rw-r--r--ports/caffe2/portfile.cmake118
-rw-r--r--ports/cairo/CONTROL2
-rw-r--r--ports/cairo/Initialize-mutexes-for-static-builds-for-win32.patch16
-rw-r--r--ports/cairo/portfile.cmake7
-rw-r--r--ports/cairomm/CONTROL4
-rw-r--r--ports/ccd/CONTROL2
-rw-r--r--ports/ccfits/CONTROL4
-rw-r--r--ports/cereal/CONTROL2
-rw-r--r--ports/ceres/CONTROL4
-rw-r--r--ports/cfitsio/CONTROL2
-rw-r--r--ports/charls/CONTROL4
-rw-r--r--ports/chmlib/CONTROL2
-rw-r--r--ports/chmlib/chm.vcxproj14
-rw-r--r--ports/chmlib/enum_chmLib.vcxproj109
-rw-r--r--ports/chmlib/enumdir_chmLib.vcxproj100
-rw-r--r--ports/chmlib/extract_chmLib.vcxproj100
-rw-r--r--ports/chmlib/portfile.cmake69
-rw-r--r--ports/clapack/CONTROL2
-rw-r--r--ports/clockutils/CONTROL2
-rw-r--r--ports/console-bridge/CONTROL3
-rw-r--r--ports/console-bridge/License.txt31
-rw-r--r--ports/console-bridge/portfile.cmake24
-rw-r--r--ports/corrade/CONTROL2
-rw-r--r--ports/corrade/portfile.cmake4
-rw-r--r--ports/cpp-redis/CONTROL2
-rw-r--r--ports/cppcms/CONTROL2
-rw-r--r--ports/cpprestsdk/CONTROL4
-rw-r--r--ports/cpprestsdk/portfile.cmake2
-rw-r--r--ports/cppwinrt/CONTROL2
-rw-r--r--ports/cppwinrt/portfile.cmake12
-rw-r--r--ports/cpr/CONTROL2
-rw-r--r--ports/cryptopp/CONTROL2
-rw-r--r--ports/ctemplate/CONTROL2
-rw-r--r--ports/ctemplate/portfile.cmake15
-rw-r--r--ports/cunit/CONTROL2
-rw-r--r--ports/curl/CONTROL2
-rw-r--r--ports/date/CMakeLists.txt30
-rw-r--r--ports/date/CONTROL3
-rw-r--r--ports/date/portfile.cmake38
-rw-r--r--ports/dimcli/CONTROL2
-rw-r--r--ports/dlfcn-win32/CONTROL2
-rw-r--r--ports/dlib/CONTROL2
-rw-r--r--ports/double-conversion/CONTROL2
-rw-r--r--ports/draco/CONTROL4
-rw-r--r--ports/duktape/CONTROL2
-rw-r--r--ports/ecm/CONTROL2
-rw-r--r--ports/eigen3/CONTROL2
-rw-r--r--ports/embree/CONTROL2
-rw-r--r--ports/enet/CMakeLists.txt81
-rw-r--r--ports/enet/CONTROL4
-rw-r--r--ports/enet/portfile.cmake38
-rw-r--r--ports/entityx/CONTROL2
-rw-r--r--ports/evpp/CONTROL2
-rw-r--r--ports/exiv2/CONTROL4
-rw-r--r--ports/exiv2/portfile.cmake29
-rw-r--r--ports/expat/CONTROL2
-rw-r--r--ports/fadbad/CONTROL3
-rw-r--r--ports/fadbad/portfile.cmake18
-rw-r--r--ports/fastlz/CONTROL2
-rw-r--r--ports/fcl/CONTROL4
-rw-r--r--ports/ffmpeg/build.sh7
-rw-r--r--ports/fftw3/CONTROL2
-rw-r--r--ports/flann/CONTROL2
-rw-r--r--ports/flatbuffers/CONTROL4
-rw-r--r--ports/fltk/CONTROL4
-rw-r--r--ports/fmt/CONTROL2
-rw-r--r--ports/folly/CONTROL2
-rw-r--r--ports/fontconfig/CONTROL2
-rw-r--r--ports/freeglut/CONTROL4
-rw-r--r--ports/freeimage/CONTROL2
-rw-r--r--ports/freerdp/CONTROL4
-rw-r--r--ports/freerdp/portfile.cmake4
-rw-r--r--ports/freetype/CONTROL4
-rw-r--r--ports/freexl/CONTROL5
-rw-r--r--ports/freexl/fix-makefiles.patch43
-rw-r--r--ports/freexl/fix-sources.patch35
-rw-r--r--ports/freexl/portfile.cmake82
-rw-r--r--ports/fuzzylite/CONTROL2
-rw-r--r--ports/g2o/CONTROL2
-rw-r--r--ports/gdal/CONTROL2
-rw-r--r--ports/gdcm2/CONTROL2
-rw-r--r--ports/gdk-pixbuf/CONTROL2
-rw-r--r--ports/geogram/CONTROL2
-rw-r--r--ports/geographiclib/CONTROL2
-rw-r--r--ports/geos/CONTROL2
-rw-r--r--ports/geos/geos_c-static-support.patch110
-rw-r--r--ports/geos/portfile.cmake30
-rw-r--r--ports/gettext/CONTROL2
-rw-r--r--ports/gflags/CONTROL2
-rw-r--r--ports/giflib/CONTROL2
-rw-r--r--ports/gl2ps/CONTROL2
-rw-r--r--ports/glbinding/CONTROL2
-rw-r--r--ports/glew/CONTROL4
-rw-r--r--ports/glew/portfile.cmake5
-rw-r--r--ports/glfw3/CONTROL4
-rw-r--r--ports/glib/CONTROL2
-rw-r--r--ports/glm/CONTROL2
-rw-r--r--ports/globjects/CONTROL2
-rw-r--r--ports/glog/CONTROL2
-rw-r--r--ports/glslang/CONTROL2
-rw-r--r--ports/glslang/portfile.cmake30
-rw-r--r--ports/graphicsmagick/CONTROL2
-rw-r--r--ports/grpc/CONTROL4
-rw-r--r--ports/grpc/disable-csharp-ext.patch22
-rw-r--r--ports/grpc/portfile.cmake15
-rw-r--r--ports/grpc/revert-c019e05.patch18
-rw-r--r--ports/gsl/CONTROL2
-rw-r--r--ports/gtest/CONTROL4
-rw-r--r--ports/gtk/CONTROL2
-rw-r--r--ports/gts/CONTROL4
-rw-r--r--ports/gts/portfile.cmake36
-rw-r--r--ports/guetzli/CMakeLists.txt46
-rw-r--r--ports/guetzli/CONTROL4
-rw-r--r--ports/guetzli/portfile.cmake24
-rw-r--r--ports/gumbo/CMakeLists.txt32
-rw-r--r--ports/gumbo/CONTROL3
-rw-r--r--ports/gumbo/portfile.cmake24
-rw-r--r--ports/harfbuzz/CONTROL2
-rw-r--r--ports/hdf5/CONTROL4
-rw-r--r--ports/hpx/CONTROL2
-rw-r--r--ports/http-parser/CONTROL4
-rw-r--r--ports/hunspell/CONTROL2
-rw-r--r--ports/hwloc/CONTROL2
-rw-r--r--ports/hypre/CONTROL4
-rw-r--r--ports/ilmbase/CONTROL2
-rw-r--r--ports/jansson/CONTROL2
-rw-r--r--ports/jasper/CONTROL2
-rw-r--r--ports/jbigkit/CONTROL2
-rw-r--r--ports/jemalloc/CONTROL2
-rw-r--r--ports/jsoncpp/CONTROL2
-rw-r--r--ports/jsonnet/CMakeLists.txt53
-rw-r--r--ports/jsonnet/CONTROL3
-rw-r--r--ports/jsonnet/portfile.cmake29
-rw-r--r--ports/jxrlib/CONTROL2
-rw-r--r--ports/kf5plotting/CONTROL4
-rw-r--r--ports/kf5plotting/portfile.cmake24
-rw-r--r--ports/lcms/CONTROL4
-rw-r--r--ports/lcms/portfile.cmake2
-rw-r--r--ports/leptonica/CONTROL4
-rw-r--r--ports/leptonica/fix-cmakelists.patch34
-rw-r--r--ports/leptonica/portfile.cmake36
-rw-r--r--ports/libarchive/CONTROL2
-rw-r--r--ports/libbson/CONTROL4
-rw-r--r--ports/libconfig/CONTROL2
-rw-r--r--ports/libepoxy/CONTROL2
-rw-r--r--ports/libevent/CONTROL4
-rw-r--r--ports/libexif/CMakeLists.txt142
-rw-r--r--ports/libexif/CONTROL3
-rw-r--r--ports/libexif/config.h.cmake96
-rw-r--r--ports/libexif/libexif.def130
-rw-r--r--ports/libexif/portfile.cmake31
-rw-r--r--ports/libffi/CONTROL2
-rw-r--r--ports/libflac/CONTROL2
-rw-r--r--ports/libfreenect2/CONTROL4
-rw-r--r--ports/libfreenect2/portfile.cmake41
-rw-r--r--ports/libgd/CONTROL2
-rw-r--r--ports/libharu/CONTROL2
-rw-r--r--ports/libiconv/CONTROL2
-rw-r--r--ports/libjpeg-turbo/CONTROL2
-rw-r--r--ports/libkml/CONTROL2
-rw-r--r--ports/liblzma/CONTROL2
-rw-r--r--ports/libmad/CONTROL2
-rw-r--r--ports/libmariadb/CONTROL2
-rw-r--r--ports/libmicrohttpd/CMakeLists.txt78
-rw-r--r--ports/libmicrohttpd/CONTROL3
-rw-r--r--ports/libmicrohttpd/portfile.cmake23
-rw-r--r--ports/libmikmod/CONTROL4
-rw-r--r--ports/libmodplug/CONTROL2
-rw-r--r--ports/libmysql/CONTROL4
-rw-r--r--ports/libmysql/portfile.cmake2
-rw-r--r--ports/libnice/CONTROL4
-rw-r--r--ports/libodb-pgsql/CONTROL4
-rw-r--r--ports/libodb-sqlite/CONTROL2
-rw-r--r--ports/libodb/CONTROL2
-rw-r--r--ports/libogg/CONTROL2
-rw-r--r--ports/libopusenc/CONTROL2
-rw-r--r--ports/libp7-baical/CONTROL2
-rw-r--r--ports/libpng/CONTROL2
-rw-r--r--ports/libpopt/CONTROL2
-rw-r--r--ports/libpq/CONTROL2
-rw-r--r--ports/libraw/CONTROL2
-rw-r--r--ports/libsigcpp/CONTROL2
-rw-r--r--ports/libsndfile/CONTROL2
-rw-r--r--ports/libspatialite/CONTROL5
-rw-r--r--ports/libspatialite/fix-makefiles.patch61
-rw-r--r--ports/libspatialite/fix-sources.patch32
-rw-r--r--ports/libspatialite/portfile.cmake105
-rw-r--r--ports/libssh/CONTROL2
-rw-r--r--ports/libssh2/CONTROL4
-rw-r--r--ports/libstemmer/CMakeLists.txt22
-rw-r--r--ports/libstemmer/CONTROL3
-rw-r--r--ports/libstemmer/LICENSE19
-rw-r--r--ports/libstemmer/portfile.cmake24
-rw-r--r--ports/libtheora/CONTROL2
-rw-r--r--ports/libtorrent/CONTROL2
-rw-r--r--ports/libunibreak/CMakeLists.txt35
-rw-r--r--ports/libunibreak/CONTROL3
-rw-r--r--ports/libunibreak/portfile.cmake24
-rw-r--r--ports/libusb-win32/CONTROL2
-rw-r--r--ports/libuv/CONTROL4
-rw-r--r--ports/libuv/portfile.cmake4
-rw-r--r--ports/libvorbis/CONTROL2
-rw-r--r--ports/libwebm/CONTROL2
-rw-r--r--ports/libwebp/CONTROL2
-rw-r--r--ports/libwebsockets/CONTROL4
-rw-r--r--ports/libxml2/CONTROL2
-rw-r--r--ports/libxmp-lite/0001-msvc-buildfix.patch23
-rw-r--r--ports/libxmp-lite/0002-fix-symbols.patch44
-rw-r--r--ports/libxmp-lite/CMakeLists.txt65
-rw-r--r--ports/libxmp-lite/CONTROL3
-rw-r--r--ports/libxmp-lite/portfile.cmake27
-rw-r--r--ports/libzip/CONTROL2
-rw-r--r--ports/live555/CONTROL2
-rw-r--r--ports/llvm/CONTROL2
-rw-r--r--ports/llvm/portfile.cmake8
-rw-r--r--ports/lmdb/CONTROL4
-rw-r--r--ports/lodepng/CMakeLists.txt41
-rw-r--r--ports/lodepng/CONTROL3
-rw-r--r--ports/lodepng/portfile.cmake28
-rw-r--r--ports/log4cplus/CONTROL2
-rw-r--r--ports/lpeg/CONTROL2
-rw-r--r--ports/lua/CMakeLists.txt5
-rw-r--r--ports/lua/CONTROL2
-rw-r--r--ports/luafilesystem/CONTROL2
-rw-r--r--ports/luafilesystem/lfs-def-fix.patch23
-rw-r--r--ports/luafilesystem/portfile.cmake6
-rw-r--r--ports/lz4/CONTROL2
-rw-r--r--ports/lzfse/CONTROL2
-rw-r--r--ports/lzo/CONTROL2
-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/matio/CONTROL2
-rw-r--r--ports/meschach/CMakeLists.txt89
-rw-r--r--ports/meschach/CONTROL3
-rw-r--r--ports/meschach/portfile.cmake21
-rw-r--r--ports/metis/CONTROL2
-rw-r--r--ports/minizip/CONTROL2
-rw-r--r--ports/mongo-c-driver/CONTROL4
-rw-r--r--ports/mongo-cxx-driver/CONTROL4
-rw-r--r--ports/mpfr/CONTROL4
-rw-r--r--ports/msgpack/CONTROL2
-rw-r--r--ports/nana/CONTROL2
-rw-r--r--ports/nanodbc/CONTROL4
-rw-r--r--ports/netcdf-c/CONTROL2
-rw-r--r--ports/netcdf-cxx4/CONTROL2
-rw-r--r--ports/nlohmann-json/CONTROL2
-rw-r--r--ports/nlopt/0001_export_symbols.patch25
-rw-r--r--ports/nlopt/CONTROL3
-rw-r--r--ports/nlopt/portfile.cmake30
-rw-r--r--ports/octomap/CONTROL2
-rw-r--r--ports/ogre/CONTROL2
-rw-r--r--ports/openal-soft/CONTROL2
-rw-r--r--ports/openblas/CONTROL2
-rw-r--r--ports/openblas/install-openblas.patch37
-rw-r--r--ports/openblas/portfile.cmake14
-rw-r--r--ports/openblas/whitespace.patch64
-rw-r--r--ports/opencv/002-fix-uwp.patch13
-rw-r--r--ports/opencv/CONTROL7
-rw-r--r--ports/opencv/portfile.cmake140
-rw-r--r--ports/openexr/CONTROL2
-rw-r--r--ports/opengl/portfile.cmake12
-rw-r--r--ports/openimageio/CONTROL4
-rw-r--r--ports/openjpeg/CONTROL2
-rw-r--r--ports/openni2/CONTROL2
-rw-r--r--ports/openni2/inherit_from_parent_or_project_defaults.patch41
-rw-r--r--ports/openni2/portfile.cmake48
-rw-r--r--ports/openni2/replace_environment_variable.patch.in76
-rw-r--r--ports/openssl/CONTROL2
-rw-r--r--ports/openssl/EmbedSymbolsInStaticLibsZ7.patch25
-rw-r--r--ports/openssl/portfile.cmake7
-rw-r--r--ports/opusfile/CONTROL2
-rw-r--r--ports/osg/CONTROL2
-rw-r--r--ports/paho-mqtt/CONTROL2
-rw-r--r--ports/paho-mqtt/disable_tests.patch16
-rw-r--r--ports/paho-mqtt/portfile.cmake75
-rw-r--r--ports/paho-mqtt/remove_compiler_options.patch13
-rw-r--r--ports/pango/CONTROL2
-rw-r--r--ports/pangolin/CONTROL6
-rw-r--r--ports/pangolin/portfile.cmake32
-rw-r--r--ports/parmetis/CONTROL2
-rw-r--r--ports/pcl/CONTROL2
-rw-r--r--ports/pcre/CONTROL2
-rw-r--r--ports/pcre2/CONTROL2
-rw-r--r--ports/physfs/CONTROL2
-rw-r--r--ports/picosha2/CONTROL3
-rw-r--r--ports/picosha2/portfile.cmake11
-rw-r--r--ports/piex/CMakeLists.txt43
-rw-r--r--ports/piex/CONTROL3
-rw-r--r--ports/piex/portfile.cmake28
-rw-r--r--ports/pixman/CONTROL2
-rw-r--r--ports/plibsys/CONTROL2
-rw-r--r--ports/poco/CONTROL2
-rw-r--r--ports/podofo/CONTROL4
-rw-r--r--ports/portaudio/CONTROL2
-rw-r--r--ports/pqp/CONTROL2
-rw-r--r--ports/proj/CONTROL5
-rw-r--r--ports/proj/portfile.cmake58
-rw-r--r--ports/proj4/0001-CMake-add-detection-of-recent-visual-studio-versions.patch (renamed from ports/proj/0001-CMake-add-detection-of-recent-visual-studio-versions.patch)0
-rw-r--r--ports/proj4/0002-CMake-fix-error-by-only-setting-properties-for-targe.patch (renamed from ports/proj/0002-CMake-fix-error-by-only-setting-properties-for-targe.patch)0
-rw-r--r--ports/proj4/0003-CMake-configurable-cmake-config-install-location.patch (renamed from ports/proj/0003-CMake-configurable-cmake-config-install-location.patch)0
-rw-r--r--ports/proj4/CONTROL3
-rw-r--r--ports/proj4/portfile.cmake68
-rw-r--r--ports/protobuf/0001-fix-missing-export.patch13
-rw-r--r--ports/protobuf/001-add-compiler-flag.patch23
-rw-r--r--ports/protobuf/CONTROL4
-rw-r--r--ports/protobuf/portfile.cmake30
-rw-r--r--ports/ptex/CONTROL2
-rw-r--r--ports/pthreads/CONTROL2
-rw-r--r--ports/pugixml/CONTROL2
-rw-r--r--ports/pybind11/CONTROL4
-rw-r--r--ports/pybind11/portfile.cmake4
-rw-r--r--ports/pystring/CONTROL2
-rw-r--r--ports/qca/CONTROL2
-rw-r--r--ports/qhull/CONTROL2
-rw-r--r--ports/qt5/CONTROL2
-rw-r--r--ports/qt5/fixcmake.py12
-rw-r--r--ports/qt5/portfile.cmake49
-rw-r--r--ports/ragel/CONTROL2
-rw-r--r--ports/readosm/CONTROL4
-rw-r--r--ports/readosm/fix-makefiles.patch49
-rw-r--r--ports/readosm/fix-version-macro.patch13
-rw-r--r--ports/readosm/portfile.cmake78
-rw-r--r--ports/rhash/CONTROL2
-rw-r--r--ports/rocksdb/CONTROL2
-rw-r--r--ports/rtmidi/CONTROL2
-rw-r--r--ports/rttr/CONTROL2
-rw-r--r--ports/sciter/CONTROL2
-rw-r--r--ports/sciter/portfile.cmake6
-rw-r--r--ports/sdl2-gfx/CONTROL2
-rw-r--r--ports/sdl2-image/CONTROL2
-rw-r--r--ports/sdl2-mixer/CONTROL2
-rw-r--r--ports/sdl2-net/CONTROL2
-rw-r--r--ports/sdl2-ttf/CONTROL2
-rw-r--r--ports/sdl2/CONTROL2
-rw-r--r--ports/sdl2/dont-ignore-default-libs.patch22
-rw-r--r--ports/sdl2/export-symbols-only-in-shared-build.patch28
-rw-r--r--ports/sdl2/portfile.cmake22
-rw-r--r--ports/sery/CONTROL2
-rw-r--r--ports/sfml/CONTROL2
-rw-r--r--ports/sfml/portfile.cmake19
-rw-r--r--ports/shaderc/CONTROL2
-rw-r--r--ports/shaderc/portfile.cmake43
-rw-r--r--ports/shapelib/CONTROL3
-rw-r--r--ports/shapelib/portfile.cmake41
-rw-r--r--ports/signalrclient/CONTROL4
-rw-r--r--ports/signalrclient/portfile.cmake4
-rw-r--r--ports/smpeg2/CONTROL2
-rw-r--r--ports/snappy/CONTROL2
-rw-r--r--ports/sobjectizer/CONTROL2
-rw-r--r--ports/soci/CONTROL2
-rw-r--r--ports/sophus/CONTROL2
-rw-r--r--ports/spdlog/CONTROL2
-rw-r--r--ports/speex/CONTROL2
-rw-r--r--ports/speexdsp/CONTROL2
-rw-r--r--ports/spirit-po/CONTROL4
-rw-r--r--ports/spirit-po/portfile.cmake16
-rw-r--r--ports/spirv-tools/CONTROL2
-rw-r--r--ports/spirv-tools/portfile.cmake80
-rw-r--r--ports/sqlite3/CONTROL6
-rw-r--r--ports/sqlite3/portfile.cmake4
-rw-r--r--ports/suitesparse/CONTROL2
-rw-r--r--ports/sundials/CONTROL2
-rw-r--r--ports/szip/CONTROL2
-rw-r--r--ports/tacopie/CONTROL2
-rw-r--r--ports/taglib/CONTROL4
-rw-r--r--ports/tbb/portfile.cmake2
-rw-r--r--ports/telnetpp/CONTROL4
-rw-r--r--ports/telnetpp/portfile.cmake47
-rw-r--r--ports/tesseract/CONTROL4
-rw-r--r--ports/tesseract/portfile.cmake49
-rw-r--r--ports/tesseract/use-vcpkg-icu.patch11
-rw-r--r--ports/theia/CONTROL4
-rw-r--r--ports/theia/portfile.cmake2
-rw-r--r--ports/thor/CONTROL2
-rw-r--r--ports/thrift/CONTROL2
-rw-r--r--ports/thrift/portfile.cmake2
-rw-r--r--ports/tiff/CONTROL2
-rw-r--r--ports/tinyexr/portfile.cmake2
-rw-r--r--ports/tinythread/CMakeLists.txt25
-rw-r--r--ports/tinythread/CONTROL3
-rw-r--r--ports/tinythread/portfile.cmake21
-rw-r--r--ports/tinyxml/0001_use_stl.patch27
-rw-r--r--ports/tinyxml/CMakeLists.txt25
-rw-r--r--ports/tinyxml/CONTROL3
-rw-r--r--ports/tinyxml/License.txt20
-rw-r--r--ports/tinyxml/portfile.cmake30
-rw-r--r--ports/tinyxml2/CONTROL2
-rw-r--r--ports/units/CONTROL3
-rw-r--r--ports/units/portfile.cmake25
-rw-r--r--ports/urdfdom-headers/CONTROL3
-rw-r--r--ports/urdfdom-headers/portfile.cmake25
-rw-r--r--ports/urdfdom/0001_use_math_defines.patch26
-rw-r--r--ports/urdfdom/0002_fix_exports.patch29
-rw-r--r--ports/urdfdom/CONTROL4
-rw-r--r--ports/urdfdom/portfile.cmake51
-rw-r--r--ports/uriparser/CONTROL2
-rw-r--r--ports/utf8proc/CONTROL2
-rw-r--r--ports/utfz/CONTROL2
-rw-r--r--ports/uwebsockets/CONTROL2
-rw-r--r--ports/vtk/CONTROL4
-rw-r--r--ports/wildmidi/0001-add-install-target.patch30
-rw-r--r--ports/wildmidi/0002-use-ansi.patch22
-rw-r--r--ports/wildmidi/CONTROL3
-rw-r--r--ports/wildmidi/portfile.cmake51
-rw-r--r--ports/winpcap/CONTROL3
-rw-r--r--ports/winpcap/create_bin.bat20
-rw-r--r--ports/winpcap/create_lib.patch19
-rw-r--r--ports/winpcap/packetNtx.patch.in725
-rw-r--r--ports/winpcap/portfile.cmake186
-rw-r--r--ports/winpcap/wpcap.patch.in414
-rw-r--r--ports/wt/CONTROL2
-rw-r--r--ports/xlnt/CONTROL3
-rw-r--r--ports/xlnt/portfile.cmake10
-rw-r--r--ports/xxhash/CONTROL2
-rw-r--r--ports/xxhash/portfile.cmake25
-rw-r--r--ports/yaml-cpp/CONTROL2
-rw-r--r--ports/yaml-cpp/portfile.cmake2
-rw-r--r--ports/zeromq/CONTROL2
-rw-r--r--ports/zeromq/portfile.cmake99
-rw-r--r--ports/zlib/CONTROL4
-rw-r--r--ports/zlib/cmake_dont_build_more_than_needed.patch42
-rw-r--r--ports/zlib/portfile.cmake14
-rw-r--r--ports/zstd/CONTROL2
-rw-r--r--ports/zziplib/CONTROL2
-rw-r--r--scripts/cmake/vcpkg_common_functions.cmake1
-rw-r--r--scripts/cmake/vcpkg_configure_cmake.cmake16
-rw-r--r--scripts/cmake/vcpkg_configure_meson.cmake16
-rw-r--r--scripts/cmake/vcpkg_find_acquire_program.cmake43
-rw-r--r--scripts/cmake/vcpkg_from_bitbucket.cmake190
-rw-r--r--scripts/fetchDependency.ps112
-rw-r--r--toolsrc/VERSION.txt2
-rw-r--r--toolsrc/include/CStringView.h44
-rw-r--r--toolsrc/include/SourceParagraph.h2
-rw-r--r--toolsrc/include/Span.h28
-rw-r--r--toolsrc/include/VcpkgPaths.h2
-rw-r--r--toolsrc/include/pch.h7
-rw-r--r--toolsrc/include/vcpkg_Build.h7
-rw-r--r--toolsrc/include/vcpkg_Commands.h38
-rw-r--r--toolsrc/include/vcpkg_Dependencies.h2
-rw-r--r--toolsrc/include/vcpkg_Strings.h2
-rw-r--r--toolsrc/src/Paragraphs.cpp18
-rw-r--r--toolsrc/src/PostBuildLint.cpp4
-rw-r--r--toolsrc/src/SourceParagraph.cpp4
-rw-r--r--toolsrc/src/VcpkgPaths.cpp77
-rw-r--r--toolsrc/src/commands_ci.cpp52
-rw-r--r--toolsrc/src/commands_edit.cpp16
-rw-r--r--toolsrc/src/commands_install.cpp166
-rw-r--r--toolsrc/src/commands_integrate.cpp11
-rw-r--r--toolsrc/src/commands_portsdiff.cpp10
-rw-r--r--toolsrc/src/commands_remove.cpp85
-rw-r--r--toolsrc/src/commands_search.cpp21
-rw-r--r--toolsrc/src/commands_update.cpp28
-rw-r--r--toolsrc/src/commands_version.cpp33
-rw-r--r--toolsrc/src/metrics.cpp130
-rw-r--r--toolsrc/src/tests_package_spec.cpp2
-rw-r--r--toolsrc/src/vcpkg.cpp8
-rw-r--r--toolsrc/src/vcpkg_Build.cpp11
-rw-r--r--toolsrc/src/vcpkg_Dependencies.cpp15
-rw-r--r--toolsrc/src/vcpkg_Strings.cpp27
-rw-r--r--toolsrc/src/vcpkg_System.cpp13
509 files changed, 7928 insertions, 1429 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f591f4bae..75d89f6ac 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,134 @@
+vcpkg (0.0.90)
+--------------
+ * Add ports:
+ - caffe2 0.8.1
+ - date 2.2
+ - jsonnet 2017-09-02-11cf9fa9f2fe8acbb14b096316006082564ca580
+ - kf5plotting 5.37.0
+ - units 2.3.0
+ - winpcap 4.1.3-1
+ * Update ports:
+ - arrow apache-arrow-0.4.0-2 -> 0.6.0
+ - benchmark 1.1.0-1 -> 1.2.0
+ - cppwinrt feb2017_refresh-14393 -> spring_2017_creators_update_for_vs_15.3
+ - llvm 4.0.0-1 -> 5.0.0-1
+ - luafilesystem 1.6.3-1 -> 1.7.0.2
+ - opencv 3.2.0-4 -> 3.3.0-4
+ - paho-mqtt 1.2.0-1 -> 1.2.0-2
+ - protobuf 3.4.0-2 -> 3.4.1-1
+ - qt5 5.8-5 -> 5.8-6
+ - sfml 2.4.2-1 -> 2.4.2-2
+ - xlnt 0.9.4-1 -> 1.1.0-1
+ - zlib 1.2.11-1 -> 1.2.11-2
+ * Bump required version & auto-downloaded version of `cmake` to 3.9.3 (was 3.9.1). Noteable changes:
+ - Fix codepage issues
+ - FindBoost: Add support for Boost 1.65.0 and 1.65.1
+ * `vcpkg edit`: Fix inspected locations for VSCode
+
+-- vcpkg team <vcpkg@microsoft.com> SUN, 24 Sep 2017 03:30:00 -0800
+
+
+vcpkg (0.0.89)
+--------------
+ * Update ports:
+ - boost 1.65-1 -> 1.65.1
+ - chmlib 0.40 -> 0.40-1
+ - pybind11 2.1.0-2 -> 2.2.0
+ - sciter 4.0.2-1 -> 4.0.3
+ - sqlite3 3.19.1-2 -> 3.20.1
+ * `vcpkg` now warns if the built version of the `vcpkg.exe` itself is outdated
+ * Update to latest python 3.5
+ * `vcpkg install` improvements:
+ - Add `--keep-going` option to keep going if a package fails to install
+ - Add elapsed time to each invidial package as well as total time
+ - Add a counter to the install (e.g. Starting package 3/12: <name>)
+ * `vcpkg edit` now checks more location for VSCode Insiders
+
+-- vcpkg team <vcpkg@microsoft.com> WED, 14 Sep 2017 16:00:00 -0800
+
+
+vcpkg (0.0.88)
+--------------
+ * `vcpkg_configure_cmake` has been modified to embed debug symbols within static libraries (using the /Z7 option). Most of the libraries in `vcpkg` had their versions bumped due to this.
+ * `vcpkg_configure_meson` has been modified in the same manner.
+
+-- vcpkg team <vcpkg@microsoft.com> SAT, 09 Sep 2017 00:30:00 -0800
+
+
+vcpkg (0.0.87)
+--------------
+ * Add ports:
+ - console-bridge 0.3.2-1
+ - leptonica 1.74.4
+ - tesseract 3.05.01
+ - urdfdom 1.0.0-1
+ - urdfdom-headers 1.0.0-1
+ * Update ports:
+ - ace 6.4.4 -> 6.4.5
+ - c-ares 1.12.1-dev-40eb41f-1 -> 1.13.0
+ - glslang 1c573fbcfba6b3d631008b1babc838501ca925d3-2 -> 3a21c880500eac21cdf79bef5b80f970a55ac6af
+ - grpc 1.4.1 -> 1.6.0
+ - libuv 1.14.0 -> 1.14.1
+ - meschach -> 1.2b
+ - openblas v0.2.20 -> v0.2.20-1
+ - openssl 1.0.2l-1 -> 1.0.2l-2
+ - protobuf 3.3.0-3 -> 3.4.0-1
+ - qt5 5.8-4 -> 5.8-5
+ - shaderc 2df47b51d83ad83cbc2e7f8ff2b56776293e8958-1 -> 12fb656ab20ea9aa06e7084a74e5ff832b7ce2da
+ - spirv-tools 1.1-f72189c249ba143c6a89a4cf1e7d53337b2ddd40 -> v2017.1-dev-7e2d26c77b606b21af839b37fd21381c4a669f23
+ - xxhash 0.6.2 -> 0.6.3
+ - zeromq 4.2.2 -> 20170908-18498f620f0f6d4076981ea16eb5760fe4d28dc2
+ * Add new function `vcpkg_from_bitbucket` which the Bitbucket equivalent of `vcpkg_from_github`
+
+-- vcpkg team <vcpkg@microsoft.com> FRI, 08 Sep 2017 22:00:00 -0800
+
+
+vcpkg (0.0.86)
+--------------
+ * Add ports:
+ - bigint 2010.04.30
+ - butteraugli 2017-09-02-8c60a2aefa19adb
+ - ccd 2.0.0-1 (Renamed from libccd)
+ - fadbad 2.1.0
+ - fcl 0.5.0-1
+ - guetzli 2017-09-02-cb5e4a86f69628
+ - gumbo 0.10.1
+ - libmicrohttpd 0.9.55
+ - libstemmer 2017-9-02
+ - libunibreak 4.0
+ - lodepng 2017-09-01-8a0f16afe74a6a
+ - meschach
+ - nlopt 2.4.2-c43afa08d~vcpkg1
+ - picosha2 2017-09-01-c5ff159b6
+ - piex 2017-09-01-473434f2dd974978b
+ - pthreads 2.9.1
+ - tinythread 1.1
+ - tinyxml 2.6.2-1
+ * Removed ports:
+ - libccd 2.0.0 (Renamed to ccd)
+ * Update ports:
+ - ace 6.4.3 -> 6.4.4
+ - boost 1.65 -> 1.65-1
+ - cairo 1.15.6 -> 1.15.8
+ - gdk-pixbuf 2.36.6 -> 2.36.9
+ - glib 2.52.2 -> 2.52.3
+ - gtk 3.22.15 -> 3.22.19
+ - jxrlib 1.1-2 -> 1.1-3
+ - paho-mqtt Version 1.1.0 (Paho 1.2) -> 1.2.0
+ - pango 1.40.6 -> 1.40.11
+ - shaderc 2df47b51d83ad83cbc2e7f8ff2b56776293e8958 -> 2df47b51d83ad83cbc2e7f8ff2b56776293e8958-1
+ * Fix warnings in bootstrap-vcpkg.ps1
+ * Fix codepage related issues with ninja/cmake
+ * Improve handling for non-ascii environments
+ * Configurations names are now more tolerant:
+ - If a configuration name is prefixed with "Release", then it is compatible with "Release"
+ - If a configuration name is prefixed with "Debug", then it is compatible with "Debug"
+ * `vcpkg edit`: Improve detection of VSCode and add better messages when no path is found
+ * Fixes and improvements in the `vcpkg` tool itself
+
+-- vcpkg team <vcpkg@microsoft.com> MON, 04 Sep 2017 02:00:00 -0800
+
+
vcpkg (0.0.85)
--------------
* Add ports:
diff --git a/docs/about/faq.md b/docs/about/faq.md
index 8234216e0..88f88bad0 100644
--- a/docs/about/faq.md
+++ b/docs/about/faq.md
@@ -50,7 +50,9 @@ By saving the changes to the portfile (and checking them in), you'll get the sam
Yes. While Vcpkg will only produce the standard "Release" and "Debug" configurations when building a library, you can get integration support for your projects' custom configurations, in addition to your project's standard configurations.
-The MSBuild $(VcpkgConfiguration) macro, if not set in your project, will identify either the "Release" or the "Debug" configuration. You only need to override this macro in your project file (.vcxproj) to declare the compatibility between your configuration, and the target standard configuration.
+First of all, Vcpkg will automatically assume any custom configuration starting with "Release" (resp. "Debug") as a configuration that is compatible with the standard "Release" (resp. "Debug") configuration and will act accordingly.
+
+For other configurations, you only need to override the MSBuild `$(VcpkgConfiguration)` macro in your project file (.vcxproj) to declare the compatibility between your configuration, and the target standard configuration.
For example, you can add support for your "MyRelease" configuration by adding in your project file:
```
diff --git a/docs/maintainers/control-files.md b/docs/maintainers/control-files.md
index e446fe6fa..17cb50311 100644
--- a/docs/maintainers/control-files.md
+++ b/docs/maintainers/control-files.md
@@ -42,10 +42,10 @@ Unlike dpkg, Vcpkg does not distinguish between build-only dependencies and runt
*For example: websocketpp is a header only library, and thus does not require any dependencies at install time. However, downstream users need boost and openssl to make use of the library. Therefore, websocketpp lists boost and openssl as dependencies*
-Dependencies can be filtered based on the target triplet to support different requirements on Windows Desktop versus the Universal Windows Platform. Currently, the string inside brackets is substring-compared against the triplet name. __This will change in a future version to not depend on the triplet name.__
+Dependencies can be filtered based on the target triplet to support different requirements on Windows Desktop versus the Universal Windows Platform. Currently, the string inside parentheses is substring-compared against the triplet name. __This will change in a future version to not depend on the triplet name.__
Example:
```no-highlight
-Build-Depends: zlib [windows], openssl [windows], boost [windows], websocketpp [windows]
+Build-Depends: zlib (windows), openssl (windows), boost (windows), websocketpp (windows)
```
diff --git a/ports/abseil/CMakeLists.txt b/ports/abseil/CMakeLists.txt
new file mode 100644
index 000000000..34b69817a
--- /dev/null
+++ b/ports/abseil/CMakeLists.txt
@@ -0,0 +1,77 @@
+cmake_minimum_required(VERSION 3.8)
+project(abseil CXX)
+
+add_definitions(-DNOMINMAX)
+
+set(CMAKE_DEBUG_POSTFIX d)
+set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
+
+option(INSTALL_HEADERS "Install header files" ON)
+
+function(add_sublibrary LIB)
+ file(GLOB_RECURSE SOURCES "absl/${LIB}/*.cc")
+ list(FILTER SOURCES EXCLUDE REGEX "_test")
+ file(GLOB HEADERS "absl/${LIB}/*.h")
+ file(GLOB INTERNAL_HEADERS "absl/${LIB}/internal/*.h")
+
+ if(SOURCES)
+ add_library(${LIB} ${SOURCES})
+ set_target_properties(${LIB} PROPERTIES OUTPUT_NAME "absl_${LIB}")
+ target_include_directories(${LIB} PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<INSTALL_INTERFACE:include>)
+ else()
+ add_library(${LIB} INTERFACE)
+ target_include_directories(${LIB} INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<INSTALL_INTERFACE:include>)
+ endif()
+
+
+ install(TARGETS ${LIB} EXPORT unofficial-abseil-targets
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ )
+
+ if(INSTALL_HEADERS)
+ if(HEADERS)
+ install(FILES ${HEADERS} DESTINATION "include/absl/${LIB}")
+ endif()
+ if(INTERNAL_HEADERS)
+ install(FILES ${INTERNAL_HEADERS} DESTINATION "include/absl/${LIB}/internal")
+ endif()
+ endif()
+endfunction()
+
+function(target_link_public_libraries A)
+ get_target_property(A_TYPE ${A} TYPE)
+ if(A_TYPE STREQUAL INTERFACE_LIBRARY)
+ target_link_libraries(${A} INTERFACE ${ARGN})
+ else()
+ target_link_libraries(${A} PUBLIC ${ARGN})
+ endif()
+endfunction()
+
+add_sublibrary(base)
+add_sublibrary(meta)
+add_sublibrary(algorithm)
+add_sublibrary(container)
+add_sublibrary(memory)
+add_sublibrary(strings)
+add_sublibrary(debugging)
+add_sublibrary(numeric)
+add_sublibrary(types)
+add_sublibrary(utility)
+
+target_link_public_libraries(algorithm base meta)
+target_link_public_libraries(container algorithm base memory)
+target_link_public_libraries(memory meta)
+target_link_public_libraries(meta base)
+target_link_public_libraries(numeric base)
+target_link_public_libraries(strings base memory meta numeric)
+target_link_public_libraries(types base utility meta algorithm strings)
+target_link_public_libraries(utility base meta)
+
+install(
+ EXPORT unofficial-abseil-targets
+ FILE unofficial-abseil-config.cmake
+ NAMESPACE unofficial::abseil::
+ DESTINATION share/unofficial-abseil
+) \ No newline at end of file
diff --git a/ports/abseil/CONTROL b/ports/abseil/CONTROL
new file mode 100644
index 000000000..fb37a8cae
--- /dev/null
+++ b/ports/abseil/CONTROL
@@ -0,0 +1,6 @@
+Source: abseil
+Version: 2017-09-28
+Description: an open-source collection designed to augment the C++ standard library.
+ Abseil is an open-source collection of C++ library code designed to augment the C++ standard library. The Abseil library code is collected from Google's own C++ code base, has been extensively tested and used in production, and is the same code we depend on in our daily coding lives.
+ In some cases, Abseil provides pieces missing from the C++ standard; in others, Abseil provides alternatives to the standard for special needs we've found through usage in the Google code base. We denote those cases clearly within the library code we provide you.
+ Abseil is not meant to be a competitor to the standard library; we've just found that many of these utilities serve a purpose within our code base, and we now want to provide those resources to the C++ community as a whole.
diff --git a/ports/abseil/fix-intrin.patch b/ports/abseil/fix-intrin.patch
new file mode 100644
index 000000000..285adde0f
--- /dev/null
+++ b/ports/abseil/fix-intrin.patch
@@ -0,0 +1,12 @@
+diff --git a/absl/base/optimization.h b/absl/base/optimization.h
+index db8beaf..aaaffa4 100644
+--- a/absl/base/optimization.h
++++ b/absl/base/optimization.h
+@@ -46,6 +46,7 @@
+ // GCC will not tail call given inline volatile assembly.
+ #define ABSL_BLOCK_TAIL_CALL_OPTIMIZATION() __asm__ __volatile__("")
+ #elif defined(_MSC_VER)
++#include <intrin.h>
+ // The __nop() intrinsic blocks the optimisation.
+ #define ABSL_BLOCK_TAIL_CALL_OPTIMIZATION() __nop()
+ #else
diff --git a/ports/abseil/portfile.cmake b/ports/abseil/portfile.cmake
new file mode 100644
index 000000000..8c9e81aa3
--- /dev/null
+++ b/ports/abseil/portfile.cmake
@@ -0,0 +1,38 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message(FATAL_ERROR "Abseil currently only supports being built for desktop")
+endif()
+
+message("NOTE: THIS PORT IS USING AN UNOFFICIAL BUILDSYSTEM. THE BINARY LAYOUT AND CMAKE INTEGRATION WILL CHANGE IN THE FUTURE.")
+message("To use from cmake:\n find_package(unofficial-abseil REQUIRED)\n link_libraries(unofficial::abseil::strings)")
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO abseil/abseil-cpp
+ REF cdf20caa491f59c0a35a8d8fbec0d948e4bc7e4c
+ SHA512 04889e7804b644821d0bf5d1b13f15a072e748bf0465442c64528e014c71f415544e9146c9518f9fe7bb14a295b18f293c3f7b672f6a51dba9909f3b74667fae
+ HEAD_REF master
+)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-intrin.patch"
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG -DINSTALL_HEADERS=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-abseil)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/abseil ${CURRENT_PACKAGES_DIR}/share/unofficial-abseil)
+
+vcpkg_copy_pdbs()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/abseil RENAME copyright)
diff --git a/ports/ace/CONTROL b/ports/ace/CONTROL
index 7a620f3c6..80af89d8a 100644
--- a/ports/ace/CONTROL
+++ b/ports/ace/CONTROL
@@ -1,3 +1,3 @@
Source: ace
-Version: 6.4.3
+Version: 6.4.5
Description: The ADAPTIVE Communication Environment
diff --git a/ports/ace/portfile.cmake b/ports/ace/portfile.cmake
index 6763cc370..fece3ebcc 100644
--- a/ports/ace/portfile.cmake
+++ b/ports/ace/portfile.cmake
@@ -5,9 +5,9 @@ endif()
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/ACE_wrappers/ace)
vcpkg_download_distfile(ARCHIVE
- URLS "http://download.dre.vanderbilt.edu/previous_versions/ACE-6.4.4.zip"
- FILENAME "ACE-6.4.4.zip"
- SHA512 82628a73b736a14b3ee33fb859e26370ffd7df88bda4890fe490736160d3ce393f7e61183cd8cd7a91a83bc31c4bd263aa887168543f9f89fde080dc3650a4ed
+ URLS "http://download.dre.vanderbilt.edu/previous_versions/ACE-6.4.5.zip"
+ FILENAME "ACE-6.4.5.zip"
+ SHA512 cce1681fc35efdefb8b88a49b743ffcaecfe8f146dcf6c78393aed29c8853e77b062bced4a2fb457eba74bf5834511611cc40da2320c6094793cb8c2b6df3d2a
)
vcpkg_extract_source_archive(${ARCHIVE})
diff --git a/ports/alembic/CONTROL b/ports/alembic/CONTROL
index c12a59217..b9d6ed50d 100644
--- a/ports/alembic/CONTROL
+++ b/ports/alembic/CONTROL
@@ -1,4 +1,4 @@
Source: alembic
-Version: 1.7.1-3
+Version: 1.7.1-4
Build-Depends: ilmbase, hdf5
Description: Alembic is an open framework for storing and sharing scene data that includes a C++ library, a file format, and client plugins and applications. http://alembic.io/
diff --git a/ports/allegro5/CONTROL b/ports/allegro5/CONTROL
index 4bb51ae4e..8f078909a 100644
--- a/ports/allegro5/CONTROL
+++ b/ports/allegro5/CONTROL
@@ -1,4 +1,4 @@
Source: allegro5
-Version: 5.2.2.0
+Version: 5.2.2.0-1
Description: Allegro is a cross-platform library mainly aimed at video game and multimedia programming. It handles common, low-level tasks such as creating windows, accepting user input, loading data, drawing images, playing sounds, etc. and generally abstracting away the underlying platform. However, Allegro is not a game engine: you are free to design and structure your program as you like.
-Build-Depends: opengl, zlib, freetype, libogg, libvorbis, libflac, openal-soft, libpng, bzip2, physfs, libtheora, opus, opusfile \ No newline at end of file
+Build-Depends: opengl, zlib, freetype, libogg, libvorbis, libflac, openal-soft, libpng, bzip2, physfs, libtheora, opus, opusfile
diff --git a/ports/anax/CONTROL b/ports/anax/CONTROL
index ce3da2f57..12be38d11 100644
--- a/ports/anax/CONTROL
+++ b/ports/anax/CONTROL
@@ -1,3 +1,3 @@
Source: anax
-Version: 2.1.0-1
+Version: 2.1.0-3
Description: An open source C++ entity system. <https://github.com/miguelmartin75/anax>
diff --git a/ports/anax/portfile.cmake b/ports/anax/portfile.cmake
index ef14f7264..8881957fc 100644
--- a/ports/anax/portfile.cmake
+++ b/ports/anax/portfile.cmake
@@ -8,13 +8,13 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/anax-2.1.0)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/miguelmartin75/anax/archive/v2.1.0.zip"
- FILENAME "anax-2.1.0.zip"
- SHA512 89f2df64add676ab48a19953b95d8eae1da9c8c5f3c0f6bc757a3bc99af6e4360c56c12d27d12c672ccd754b1f53a5e271533b381641f20e8cf3ca8ddda6cd1a
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO miguelmartin75/anax
+ REF v2.1.0
+ SHA512 b573733b5f9634bf8cfc5b0715074f9a8ee29ecb48dc981d9371254a1f6ff8afbbb9ba6aa0877d53e518e5486ecc398a6d331fb9b5dbfd17d8707679216e11a3
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
@@ -23,8 +23,8 @@ vcpkg_apply_patches(
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- OPTIONS
- -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON
+ OPTIONS
+ -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON
)
vcpkg_install_cmake()
@@ -34,3 +34,5 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/anax)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/anax/LICENSE ${CURRENT_PACKAGES_DIR}/share/anax/copyright)
+
+vcpkg_copy_pdbs() \ No newline at end of file
diff --git a/ports/angle/CONTROL b/ports/angle/CONTROL
index a7e261bb1..38f8c7c60 100644
--- a/ports/angle/CONTROL
+++ b/ports/angle/CONTROL
@@ -1,4 +1,4 @@
Source: angle
-Version: 2017-06-14-8d471f-1
+Version: 2017-06-14-8d471f-2
Description: A conformant OpenGL ES implementation for Windows, Mac and Linux.
The goal of ANGLE is to allow users of multiple operating systems to seamlessly run WebGL and other OpenGL ES content by translating OpenGL ES API calls to one of the hardware-supported APIs available for that platform. ANGLE currently provides translation from OpenGL ES 2.0 and 3.0 to desktop OpenGL, OpenGL ES, Direct3D 9, and Direct3D 11. Support for translation from OpenGL ES to Vulkan is underway, and future plans include compute shader support (ES 3.1) and MacOS support.
diff --git a/ports/angle/portfile.cmake b/ports/angle/portfile.cmake
index aebf528dd..ab7ebd828 100644
--- a/ports/angle/portfile.cmake
+++ b/ports/angle/portfile.cmake
@@ -13,7 +13,7 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/angle
REF 8d471f907d8d4ec1d46bc9366493bd76c11c1870
- SHA512 b9235d2a98330bc8533c3fe871129e7235c680420eac16610eae4ca7224c5284313ab6377f30ddfb8a2da39b69f3ef0d16023fe1e7cec3fc2198f4eb4bdccb26
+ SHA512 b4670caeeaa5d662bc82702eb5f620123812ea6b5d82f57a65df54ae25cdaa5c9ff0fdb592448b07569d9c09af3d3c51b0b2f135c5800d1845b425009656bf18
HEAD_REF master
)
vcpkg_apply_patches(
diff --git a/ports/apr-util/CONTROL b/ports/apr-util/CONTROL
index e61eb3653..81814a2ca 100644
--- a/ports/apr-util/CONTROL
+++ b/ports/apr-util/CONTROL
@@ -1,4 +1,4 @@
Source: apr-util
-Version: 1.6.0
+Version: 1.6.0-1
Description: Apache Portable Runtime (APR) project mission is to create and maintain software libraries that provide a predictable and consistent interface to underlying platform-specific implementation
Build-Depends: expat, apr, openssl
diff --git a/ports/apr/CONTROL b/ports/apr/CONTROL
index ac1b7d5c3..94581eab0 100644
--- a/ports/apr/CONTROL
+++ b/ports/apr/CONTROL
@@ -1,3 +1,3 @@
Source: apr
-Version: 1.6.2
+Version: 1.6.2-1
Description: The Apache Portable Runtime (APR) is a C library that forms a system portability layer that covers many operating systems.
diff --git a/ports/arrow/CONTROL b/ports/arrow/CONTROL
index 717360d12..78cbf2a18 100644
--- a/ports/arrow/CONTROL
+++ b/ports/arrow/CONTROL
@@ -1,4 +1,4 @@
Source: arrow
-Version: apache-arrow-0.4.0-1
-Build-Depends: boost
+Version: 0.6.0
+Build-Depends: boost, flatbuffers, rapidjson, zlib, lz4, brotli, zstd, snappy, gflags
Description: Apache Arrow is a columnar in-memory analytics layer designed to accelerate big data. It houses a set of canonical in-memory representations of flat and hierarchical data along with multiple language-bindings for structure manipulation. It also provides IPC and common algorithm implementations.
diff --git a/ports/arrow/all.patch b/ports/arrow/all.patch
new file mode 100644
index 000000000..6e0d175c3
--- /dev/null
+++ b/ports/arrow/all.patch
@@ -0,0 +1,130 @@
+diff --git a/cmake_modules/FindBrotli.cmake b/cmake_modules/FindBrotli.cmake
+index f2e714c..2e475dc 100644
+--- a/cmake_modules/FindBrotli.cmake
++++ b/cmake_modules/FindBrotli.cmake
+@@ -65,16 +65,13 @@ if (BROTLI_INCLUDE_DIR AND (PARQUET_MINIMAL_DEPENDENCY OR BROTLI_LIBRARIES))
+ set(BROTLI_FOUND TRUE)
+ get_filename_component( BROTLI_LIBS ${BROTLI_LIBRARY_ENC} PATH )
+ set(BROTLI_LIB_NAME brotli)
+- if (MSVC AND NOT BROTLI_MSVC_STATIC_LIB_SUFFIX)
+- set(BROTLI_MSVC_STATIC_LIB_SUFFIX _static)
+- endif()
+ set(BROTLI_STATIC_LIB
+- ${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}enc${BROTLI_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}
+- ${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}dec${BROTLI_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}
+- ${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}common${BROTLI_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX})
+- set(BROTLI_STATIC_LIBRARY_ENC ${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}enc${BROTLI_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX})
+- set(BROTLI_STATIC_LIBRARY_DEC ${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}dec${BROTLI_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX})
+- set(BROTLI_STATIC_LIBRARY_COMMON ${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}common${BROTLI_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX})
++ ${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}enc${CMAKE_STATIC_LIBRARY_SUFFIX}
++ ${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}dec${CMAKE_STATIC_LIBRARY_SUFFIX}
++ ${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}common${CMAKE_STATIC_LIBRARY_SUFFIX})
++ set(BROTLI_STATIC_LIBRARY_ENC ${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}enc${CMAKE_STATIC_LIBRARY_SUFFIX})
++ set(BROTLI_STATIC_LIBRARY_DEC ${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}dec${CMAKE_STATIC_LIBRARY_SUFFIX})
++ set(BROTLI_STATIC_LIBRARY_COMMON ${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}common${CMAKE_STATIC_LIBRARY_SUFFIX})
+ set(BROTLI_SHARED_LIB
+ ${BROTLI_LIBS}/${CMAKE_SHARED_LIBRARY_PREFIX}${BROTLI_LIB_NAME}enc${CMAKE_SHARED_LIBRARY_SUFFIX}
+ ${BROTLI_LIBS}/${CMAKE_SHARED_LIBRARY_PREFIX}${BROTLI_LIB_NAME}dec${CMAKE_SHARED_LIBRARY_SUFFIX}
+diff --git a/cmake_modules/FindFlatbuffers.cmake b/cmake_modules/FindFlatbuffers.cmake
+index 804f479..ff9bde1 100644
+--- a/cmake_modules/FindFlatbuffers.cmake
++++ b/cmake_modules/FindFlatbuffers.cmake
+@@ -53,6 +53,7 @@ endif ()
+
+ find_program(FLATBUFFERS_COMPILER flatc
+ "${FLATBUFFERS_HOME}/bin"
++ "${FLATBUFFERS_HOME}/tools"
+ /usr/local/bin
+ /usr/bin
+ NO_DEFAULT_PATH
+diff --git a/cmake_modules/FindLz4.cmake b/cmake_modules/FindLz4.cmake
+index 07707cf..9cbf67d 100644
+--- a/cmake_modules/FindLz4.cmake
++++ b/cmake_modules/FindLz4.cmake
+@@ -29,15 +29,7 @@ elseif ( Lz4_HOME )
+ list( APPEND _lz4_roots ${Lz4_HOME} )
+ endif()
+
+-if (MSVC AND NOT LZ4_MSVC_STATIC_LIB_SUFFIX)
+- set(LZ4_MSVC_STATIC_LIB_SUFFIX "_static")
+-endif()
+-
+-set(LZ4_STATIC_LIB_SUFFIX
+- "${LZ4_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}")
+-
+-set(LZ4_STATIC_LIB_NAME
+- ${CMAKE_STATIC_LIBRARY_PREFIX}lz4${LZ4_STATIC_LIB_SUFFIX})
++set(LZ4_STATIC_LIB_NAME lz4)
+
+ find_path(LZ4_INCLUDE_DIR NAMES lz4.h
+ PATHS ${_lz4_roots}
+diff --git a/cmake_modules/FindSnappy.cmake b/cmake_modules/FindSnappy.cmake
+index 867963c..8a432db 100644
+--- a/cmake_modules/FindSnappy.cmake
++++ b/cmake_modules/FindSnappy.cmake
+@@ -55,7 +55,7 @@ if (SNAPPY_INCLUDE_DIR AND (PARQUET_MINIMAL_DEPENDENCY OR SNAPPY_LIBRARIES))
+ set(SNAPPY_HEADER_NAME snappy.h)
+ set(SNAPPY_HEADER ${SNAPPY_INCLUDE_DIR}/${SNAPPY_HEADER_NAME})
+ set(SNAPPY_LIB_NAME snappy)
+- set(SNAPPY_STATIC_LIB ${SNAPPY_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${SNAPPY_LIB_NAME}${SNAPPY_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX})
++ set(SNAPPY_STATIC_LIB ${SNAPPY_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${SNAPPY_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX})
+ set(SNAPPY_SHARED_LIB ${SNAPPY_LIBS}/${CMAKE_SHARED_LIBRARY_PREFIX}${SNAPPY_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
+ else ()
+ set(SNAPPY_FOUND FALSE)
+diff --git a/cmake_modules/FindZLIB.cmake b/cmake_modules/FindZLIB.cmake
+index 78b84f2..eb09001 100644
+--- a/cmake_modules/FindZLIB.cmake
++++ b/cmake_modules/FindZLIB.cmake
+@@ -62,11 +62,11 @@ if (ZLIB_INCLUDE_DIR AND (PARQUET_MINIMAL_DEPENDENCY OR ZLIB_LIBRARIES))
+ set(ZLIB_LIB_NAME z)
+ if (MSVC)
+ if (NOT ZLIB_MSVC_STATIC_LIB_SUFFIX)
+- set(ZLIB_MSVC_STATIC_LIB_SUFFIX libstatic)
++ set(ZLIB_MSVC_STATIC_LIB_SUFFIX lib)
+ endif()
+ set(ZLIB_MSVC_SHARED_LIB_SUFFIX lib)
+ endif()
+- set(ZLIB_STATIC_LIB ${ZLIB_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${ZLIB_LIB_NAME}${ZLIB_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX})
++ set(ZLIB_STATIC_LIB ${ZLIB_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${ZLIB_LIB_NAME}${ZLIB_MSVC_SHARED_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX})
+ set(ZLIB_SHARED_LIB ${ZLIB_LIBS}/${CMAKE_SHARED_LIBRARY_PREFIX}${ZLIB_LIB_NAME}${ZLIB_MSVC_SHARED_LIB_SUFFIX}${CMAKE_SHARED_LIBRARY_SUFFIX})
+ else ()
+ set(ZLIB_FOUND FALSE)
+diff --git a/cmake_modules/FindZSTD.cmake b/cmake_modules/FindZSTD.cmake
+index 02a0c39..73c61b5 100644
+--- a/cmake_modules/FindZSTD.cmake
++++ b/cmake_modules/FindZSTD.cmake
+@@ -29,21 +29,11 @@ elseif ( ZStd_HOME )
+ list( APPEND _zstd_roots ${ZStd_HOME} )
+ endif()
+
+-if (MSVC AND NOT ZSTD_MSVC_STATIC_LIB_SUFFIX)
+- set(ZSTD_MSVC_STATIC_LIB_SUFFIX "_static")
+-endif()
+-
+-set(ZSTD_STATIC_LIB_SUFFIX
+- "${ZSTD_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}")
+-
+-set(ZSTD_STATIC_LIB_NAME
+- ${CMAKE_STATIC_LIBRARY_PREFIX}zstd${ZSTD_STATIC_LIB_SUFFIX})
+-
+ find_path(ZSTD_INCLUDE_DIR NAMES zstd.h
+ PATHS ${_zstd_roots}
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES "include" )
+-find_library(ZSTD_STATIC_LIB NAMES ${ZSTD_STATIC_LIB_NAME} lib${ZSTD_STATIC_LIB_NAME}
++find_library(ZSTD_STATIC_LIB NAMES libzstd libzstd_static zstd zstd_static
+ PATHS ${_zstd_roots}
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES "lib" )
+diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake
+index a888e92..0fe3629 100644
+--- a/cmake_modules/ThirdpartyToolchain.cmake
++++ b/cmake_modules/ThirdpartyToolchain.cmake
+@@ -119,6 +119,7 @@ endif()
+ set(Boost_DEBUG TRUE)
+ set(Boost_USE_MULTITHREADED ON)
+ set(Boost_ADDITIONAL_VERSIONS
++ "1.65.0" "1.65"
+ "1.64.0" "1.64"
+ "1.63.0" "1.63"
+ "1.62.0" "1.61"
diff --git a/ports/arrow/portfile.cmake b/ports/arrow/portfile.cmake
index f5cdb1ae4..c70a3cdc3 100644
--- a/ports/arrow/portfile.cmake
+++ b/ports/arrow/portfile.cmake
@@ -7,17 +7,39 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO apache/arrow
- REF apache-arrow-0.4.0
- SHA512 cdd67a884528b088688d88c0627b9c13077215e234dd0772797f0bf63319ffc18533276d52110a37a0938d32f006023b74dce93e71d34b1e0003a86761cea6ee
+ REF apache-arrow-0.6.0
+ SHA512 c0e89b959dfe75e895a3427edd4eee663be5ee542e9ea13f7311d0775fe7a00188eafa07ba524e3d3c0a71fc8e11213f10fe4ebfdf451754816062249ffa7f3d
HEAD_REF master
)
set(CPP_SOURCE_PATH "${SOURCE_PATH}/cpp")
+vcpkg_apply_patches(
+ SOURCE_PATH ${CPP_SOURCE_PATH}
+ PATCHES
+ "${CMAKE_CURRENT_LIST_DIR}/all.patch"
+)
+
+
+string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" ARROW_BUILD_SHARED)
+string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "static" ARROW_BUILD_STATIC)
+
vcpkg_configure_cmake(
SOURCE_PATH ${CPP_SOURCE_PATH}
OPTIONS -DARROW_BUILD_TESTS=off
+ -DRAPIDJSON_HOME=${CURRENT_INSTALLED_DIR}
+ -DFLATBUFFERS_HOME=${CURRENT_INSTALLED_DIR}
+ -DARROW_ZLIB_VENDORED=ON
+ -DBROTLI_HOME=${CURRENT_INSTALLED_DIR}
+ -DLZ4_HOME=${CURRENT_INSTALLED_DIR}
+ -DZSTD_HOME=${CURRENT_INSTALLED_DIR}
+ -DSNAPPY_HOME=${CURRENT_INSTALLED_DIR}
+ -DBOOST_ROOT=${CURRENT_INSTALLED_DIR}
+ -DGFLAGS_HOME=${CURRENT_INSTALLED_DIR}
+ -DZLIB_HOME=${CURRENT_INSTALLED_DIR}
+ -DARROW_BUILD_STATIC=${ARROW_BUILD_STATIC}
+ -DARROW_BUILD_SHARED=${ARROW_BUILD_SHARED}
)
vcpkg_install_cmake()
diff --git a/ports/assimp/CONTROL b/ports/assimp/CONTROL
index 9e036df33..f13d2ee20 100644
--- a/ports/assimp/CONTROL
+++ b/ports/assimp/CONTROL
@@ -1,4 +1,4 @@
Source: assimp
-Version: 4.0.0-1
+Version: 4.0.0-2
Description: The Open Asset import library
Build-Depends: zlib
diff --git a/ports/atk/CONTROL b/ports/atk/CONTROL
index 149c564a7..0af45eab4 100644
--- a/ports/atk/CONTROL
+++ b/ports/atk/CONTROL
@@ -1,4 +1,4 @@
Source: atk
-Version: 2.24.0
+Version: 2.24.0-1
Description: GNOME Accessibility Toolkit
Build-Depends: glib, gettext
diff --git a/ports/aubio/CONTROL b/ports/aubio/CONTROL
index 55b20f655..34fcaa495 100644
--- a/ports/aubio/CONTROL
+++ b/ports/aubio/CONTROL
@@ -1,4 +1,4 @@
Source: aubio
-Version: 0.46~alpha-2
+Version: 0.46~alpha-3
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/aws-sdk-cpp/CONTROL b/ports/aws-sdk-cpp/CONTROL
index 18de04d46..251e7bdf9 100644
--- a/ports/aws-sdk-cpp/CONTROL
+++ b/ports/aws-sdk-cpp/CONTROL
@@ -1,3 +1,3 @@
Source: aws-sdk-cpp
-Version: 1.0.61
+Version: 1.0.61-1
Description: AWS SDK for C++
diff --git a/ports/aws-sdk-cpp/portfile.cmake b/ports/aws-sdk-cpp/portfile.cmake
index 93c7a7265..3a8f9b464 100644
--- a/ports/aws-sdk-cpp/portfile.cmake
+++ b/ports/aws-sdk-cpp/portfile.cmake
@@ -3,7 +3,7 @@ set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/aws-sdk-cpp-1.0.61)
vcpkg_download_distfile(ARCHIVE
URLS "https://github.com/aws/aws-sdk-cpp/archive/1.0.61.tar.gz"
FILENAME "aws-sdk-cpp-1.0.61.tar.gz"
- SHA512 aef0a85a32db24dc4fba0fc49c2533074580f3df628e787ff0808f03deea5dac42e19b1edc966706784e98cfed17a350c3eff4f222df7cc756065be56d1fc6a6
+ SHA512 75f3570d8e8c08624b69d8254e156829030a36a7c4aa4b783d895e7c209b2a46b6b9ce822e6d9e9f649b171cf64988f0ad18ce0a55eb39c50d68a7880568078a
)
vcpkg_extract_source_archive(${ARCHIVE})
@@ -50,4 +50,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
endif()
# Handle copyright
-file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/aws-sdk-cpp RENAME copyright) \ No newline at end of file
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/aws-sdk-cpp RENAME copyright)
diff --git a/ports/azure-storage-cpp/CONTROL b/ports/azure-storage-cpp/CONTROL
index 94126a366..1917bad6d 100644
--- a/ports/azure-storage-cpp/CONTROL
+++ b/ports/azure-storage-cpp/CONTROL
@@ -1,5 +1,5 @@
Source: azure-storage-cpp
-Version: 3.0.0-2
+Version: 3.0.0-3
Build-Depends: cpprestsdk, atlmfc
Description: Microsoft Azure Storage Client SDK for C++
- A client library for working with Microsoft Azure storage services including blobs, files, tables, and queues. This client library enables working with the Microsoft Azure storage services which include the blob service for storing binary and text data, the file service for storing binary and text data, the table service for storing structured non-relational data, and the queue service for storing messages that may be accessed by a client. Microsoft Azure Storage team's blog - http://blogs.msdn.com/b/windowsazurestorage/ \ No newline at end of file
+ A client library for working with Microsoft Azure storage services including blobs, files, tables, and queues. This client library enables working with the Microsoft Azure storage services which include the blob service for storing binary and text data, the file service for storing binary and text data, the table service for storing structured non-relational data, and the queue service for storing messages that may be accessed by a client. Microsoft Azure Storage team's blog - http://blogs.msdn.com/b/windowsazurestorage/
diff --git a/ports/benchmark/CONTROL b/ports/benchmark/CONTROL
index 21f36fe43..03052ce7f 100644
--- a/ports/benchmark/CONTROL
+++ b/ports/benchmark/CONTROL
@@ -1,3 +1,3 @@
Source: benchmark
-Version: 1.1.0
-Description: A library to support the benchmarking of functions, similar to unit-tests. \ No newline at end of file
+Version: 1.2.0
+Description: A library to support the benchmarking of functions, similar to unit-tests.
diff --git a/ports/benchmark/fix-cmakelists.patch b/ports/benchmark/fix-cmakelists.patch
deleted file mode 100644
index f1d72fdc3..000000000
--- a/ports/benchmark/fix-cmakelists.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 4038875..94d2aea 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -28,17 +28,20 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
- endif()
-
- # Expose public API
--target_include_directories(benchmark PUBLIC ${PROJECT_SOURCE_DIR}/include)
-+target_include_directories(benchmark PRIVATE ${PROJECT_SOURCE_DIR}/include)
-
- # Install target (will install the library to specified CMAKE_INSTALL_PREFIX variable)
- install(
- TARGETS benchmark
-+ EXPORT benchmarkTargets
- ARCHIVE DESTINATION lib
- LIBRARY DESTINATION lib
- RUNTIME DESTINATION bin
-- COMPONENT library)
-+ INCLUDES DESTINATION include)
-
- install(
- DIRECTORY "${PROJECT_SOURCE_DIR}/include/benchmark"
- DESTINATION include
- FILES_MATCHING PATTERN "*.*h")
-+
-+install(EXPORT benchmarkTargets NAMESPACE benchmark:: DESTINATION share/benchmark)
diff --git a/ports/benchmark/portfile.cmake b/ports/benchmark/portfile.cmake
index d8fc98a7e..c3159ef8b 100644
--- a/ports/benchmark/portfile.cmake
+++ b/ports/benchmark/portfile.cmake
@@ -12,30 +12,38 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/benchmark
- REF v1.1.0
- SHA512 533061531e6a37723a626addc9e779018c4c2cfc8634ae45860eec0d3800103b5b562f865ac1dc0c8dbe045579b81e59de887e1c48318cebf160f03c18321831
+ REF v1.2.0
+ SHA512 859063669fd84e847f04624013f0b2b734d75d90cada247682eaf345b86c88a9bc2320250e128f2361e37f402b3fb56a18c493ec6038973744a005a452d693ba
HEAD_REF master
)
+vcpkg_download_distfile(PATCH
+ URLS "https://github.com/efcs/benchmark/commit/536b0b82b8ec12fc7e17e6d243633618f294a739.diff"
+ FILENAME google-benchmark-1.2.0-536b0b82.patch
+ SHA512 ed42cc0014741c8039c0fca5b4317b2ed09d06a25c91f49a48be6dce921e39469b002c088794c1ea73dc759166e20cb685b47f809ba28dddd95b5f3263be03cd
+)
+
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
- PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-cmakelists.patch"
+ PATCHES
+ "${PATCH}"
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
- -DBENCHMARK_ENABLE_TESTING=OFF
+ -DBENCHMARK_ENABLE_TESTING=OFF
)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
-vcpkg_fixup_cmake_targets()
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/benchmark)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/benchmark)
diff --git a/ports/bigint/CMakeLists.txt b/ports/bigint/CMakeLists.txt
new file mode 100644
index 000000000..cb62597ef
--- /dev/null
+++ b/ports/bigint/CMakeLists.txt
@@ -0,0 +1,40 @@
+cmake_minimum_required(VERSION 3.8.0)
+project(bigint)
+
+if(MSVC)
+ add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS)
+endif()
+
+include_directories(".")
+
+set(
+ bigint_srcs
+ BigUnsigned.cc
+ BigInteger.cc
+ BigIntegerAlgorithms.cc
+ BigUnsignedInABase.cc
+ BigIntegerUtils.cc
+)
+
+set(
+ bigint_hh
+ NumberlikeArray.hh
+ BigUnsigned.hh
+ BigInteger.hh
+ BigIntegerAlgorithms.hh
+ BigUnsignedInABase.hh
+ BigIntegerLibrary.hh
+)
+
+add_library(bigint ${bigint_srcs})
+
+install(
+ TARGETS bigint
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(FILES ${bigint_hh} DESTINATION include/bigint)
+endif()
diff --git a/ports/bigint/CONTROL b/ports/bigint/CONTROL
new file mode 100644
index 000000000..4079363f1
--- /dev/null
+++ b/ports/bigint/CONTROL
@@ -0,0 +1,3 @@
+Source: bigint
+Version: 2010.04.30-1
+Description: C++ Big Integer Library
diff --git a/ports/bigint/portfile.cmake b/ports/bigint/portfile.cmake
new file mode 100644
index 000000000..8a710aa54
--- /dev/null
+++ b/ports/bigint/portfile.cmake
@@ -0,0 +1,27 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ message(WARNING "Dynamic not supported building static")
+ set(VCPKG_LIBRARY_LINKAGE static)
+endif()
+
+
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/bigint-2010.04.30)
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://mattmccutchen.net/bigint/bigint-2010.04.30.tar.bz2"
+ FILENAME "bigint-2010.04.30.tar.bz2"
+ SHA512 bb64380e51991f97a2489c04801ab4372f795b5e23870ad12d71087f1a2afba9b32f74dcdbdcb5228ebf0dd74a37185285bac7653dd3c62d6118d63c298689af
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON
+)
+
+vcpkg_install_cmake()
+
+file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/bigint RENAME copyright)
diff --git a/ports/blaze/portfile.cmake b/ports/blaze/portfile.cmake
index 3225e99d4..a8fc5ab1e 100644
--- a/ports/blaze/portfile.cmake
+++ b/ports/blaze/portfile.cmake
@@ -1,13 +1,13 @@
#header-only library
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/blaze-3.2)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://bitbucket.org/blaze-lib/blaze/downloads/blaze-3.2.tar.gz"
- FILENAME "blaze-3.2.tar.gz"
- SHA512 33d2bb0a49a33e71c88a45ab9e8418160c09b877b3ebe5ff7aa48ec0973e28e8a282374604d56f1b5cf2722946e4ca84aa2b401a341240a2ab9debd72505148e
+vcpkg_from_bitbucket(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO blaze-lib/blaze
+ REF v3.2
+ SHA512 f9a50c454125fe194f0d1fb259c5440c82068d41880a228fbd15fe383b6ef4198557daa406a08809065eedf223fc0c55d2309cc00ef549a3fc1a2a89e6d4b445
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE})
# Copy the blaze header files
file(COPY "${SOURCE_PATH}/blaze"
diff --git a/ports/bond/CONTROL b/ports/bond/CONTROL
index 9007113f3..e69c925d6 100644
--- a/ports/bond/CONTROL
+++ b/ports/bond/CONTROL
@@ -1,5 +1,5 @@
Source: bond
Maintainer: bond@microsoft.com
-Version: 6.0.0
+Version: 6.0.0-1
Description: Bond is a cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services. <https://github.com/Microsoft/bond>
Build-Depends: boost, rapidjson
diff --git a/ports/boost/CONTROL b/ports/boost/CONTROL
index 8200d54d1..4fc7efdec 100644
--- a/ports/boost/CONTROL
+++ b/ports/boost/CONTROL
@@ -1,4 +1,4 @@
Source: boost
-Version: 1.65-1
+Version: 1.65.1
Description: Peer-reviewed portable C++ source libraries
Build-Depends: zlib, bzip2
diff --git a/ports/boost/portfile.cmake b/ports/boost/portfile.cmake
index 3ed0ed9c5..f153aaf69 100644
--- a/ports/boost/portfile.cmake
+++ b/ports/boost/portfile.cmake
@@ -1,26 +1,19 @@
include(vcpkg_common_functions)
set(VERSION 1_65)
-set(VERSION2 1.65.0)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/boost_${VERSION}_0)
+set(VERSION_FULL 1_65_1)
+set(VERSION2 1.65.1)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/boost_${VERSION_FULL})
######################
# Acquire and arrange sources
######################
vcpkg_download_distfile(ARCHIVE_FILE
- URLS "https://sourceforge.net/projects/boost/files/boost/${VERSION2}/boost_${VERSION}_0.7z" "http://dl.bintray.com/boostorg/release/${VERSION2}/source/boost_${VERSION}_0.7z"
- FILENAME "boost_${VERSION}_0.7z"
- SHA512 41909136371b3aac53fc06ae92404bd52adde4cbda9337886433d197059105208b67331abf6ca8dc45e4d28679733b5c01fc701cba17516c7134c97785cc5f7e
+ URLS "https://sourceforge.net/projects/boost/files/boost/${VERSION2}/boost_${VERSION_FULL}.7z" "http://dl.bintray.com/boostorg/release/${VERSION2}/source/boost_${VERSION_FULL}.7z"
+ FILENAME "boost_${VERSION_FULL}.7z"
+ SHA512 b1d9264ec74dd75c68176f5a2d2da33a2c1e3162842cc61a07ac8ed1ebb953855cece4faf72ce99b490b665e813b839e35c7fc8026f2f9cb31b106fb8bab2a9c
)
vcpkg_extract_source_archive(${ARCHIVE_FILE})
-# apply boost combined hotfix
-vcpkg_download_distfile(HOTFIX_PATCH
- URLS "https://raw.githubusercontent.com/boostorg/website/6c3b630f2c621b78d983e882cefae7ffdf8383b8/patches/1_65_0/boost_1_65_0.patch"
- FILENAME "boost_1_65_0.patch"
- SHA512 8f9e654d0ee4d30b38b62b99ebfbbdeccd156c168656e1256b846bd21a3cb36d675396bd48d3f7a18d6cffba80932d40590d12e7ca1a4b51db343b3a0a39a3fd
-)
-vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} PATCHES ${HOTFIX_PATCH})
-
# apply boost range hotfix
vcpkg_download_distfile(DIFF
URLS "https://github.com/boostorg/range/commit/e7ebe14707130cda7b72e0ae5e93b17157fdb6a2.diff"
diff --git a/ports/box2d/portfile.cmake b/ports/box2d/portfile.cmake
index c84c33387..122290251 100644
--- a/ports/box2d/portfile.cmake
+++ b/ports/box2d/portfile.cmake
@@ -21,7 +21,7 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO erincatto/Box2D
REF 374664b2a4ce2e7c24fbad6e1ed34bebcc9ab6bc
- SHA512 ae2bbee66644eea91d0e92156a4bece44053dfa8fd6b8630712a73b92210d4c75153df94e3386c64c49796b001af1ad7dee44868c16368b114567e1f6931d242
+ SHA512 39074bab01b36104aa685bfe39b40eb903d9dfb54cc3ba8098125db5291f55a8a9e578fc59563b2e8743abbbb26f419be7ae1524e235e7bd759257f99ff96bda
HEAD_REF master
)
diff --git a/ports/brotli/CONTROL b/ports/brotli/CONTROL
index 75a2973a0..25bc036a8 100644
--- a/ports/brotli/CONTROL
+++ b/ports/brotli/CONTROL
@@ -1,3 +1,3 @@
Source: brotli
-Version: 0.6.0
+Version: 0.6.0-1
Description: a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling.
diff --git a/ports/bullet3/CONTROL b/ports/bullet3/CONTROL
index 6320c6578..92b55db2e 100644
--- a/ports/bullet3/CONTROL
+++ b/ports/bullet3/CONTROL
@@ -1,3 +1,3 @@
Source: bullet3
-Version: 2.86.1
+Version: 2.86.1-1
Description: Bullet Physics is a professional collision detection, rigid body, and soft body dynamics library
diff --git a/ports/butteraugli/CMakeLists.txt b/ports/butteraugli/CMakeLists.txt
new file mode 100644
index 000000000..3bd8a6c37
--- /dev/null
+++ b/ports/butteraugli/CMakeLists.txt
@@ -0,0 +1,43 @@
+cmake_minimum_required(VERSION 3.8.0)
+project(butteraugli)
+
+if(MSVC)
+ add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS -DNOMINMAX)
+endif()
+
+
+
+find_package(JPEG REQUIRED)
+find_package(PNG REQUIRED)
+
+include_directories("." ${JPEG_INCLUDE_DIR} ${PNG_INCLUDE_DIRS})
+
+if(BUILD_SHARED_LIBS)
+ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
+endif()
+
+
+add_library(butteraugli_lib butteraugli/butteraugli.cc)
+
+add_executable(butteraugli butteraugli/butteraugli_main.cc)
+
+target_link_libraries(butteraugli butteraugli_lib ${JPEG_LIBRARIES} ${PNG_LIBRARIES})
+
+
+install(
+ TARGETS butteraugli_lib
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+if(NOT DISABLE_INSTALL_TOOLS)
+ install (
+ TARGETS butteraugli
+ RUNTIME DESTINATION tools/butteraugli
+ )
+endif()
+
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(FILES butteraugli/butteraugli.h DESTINATION include/butteraugli)
+endif()
diff --git a/ports/butteraugli/CONTROL b/ports/butteraugli/CONTROL
new file mode 100644
index 000000000..fe951714b
--- /dev/null
+++ b/ports/butteraugli/CONTROL
@@ -0,0 +1,4 @@
+Source: butteraugli
+Version: 2017-09-02-8c60a2aefa19adb-1
+Description: butteraugli estimates the psychovisual difference between two images
+Build-Depends: libpng, libjpeg-turbo
diff --git a/ports/butteraugli/missing_header.patch b/ports/butteraugli/missing_header.patch
new file mode 100644
index 000000000..11d314fad
--- /dev/null
+++ b/ports/butteraugli/missing_header.patch
@@ -0,0 +1,12 @@
+diff --git "a/butteraugli/butteraugli_main.cc" "b/butteraugli/butteraugli_main.cc"
+index f38af1d..ebf3197 100644
+--- "a/butteraugli/butteraugli_main.cc"
++++ "b/butteraugli/butteraugli_main.cc"
+@@ -2,6 +2,7 @@
+ #include <cstdint>
+ #include <cstdio>
+ #include <vector>
++#include <algorithm>
+ #include "butteraugli/butteraugli.h"
+
+ extern "C" {
diff --git a/ports/butteraugli/portfile.cmake b/ports/butteraugli/portfile.cmake
new file mode 100644
index 000000000..a4b6fcfdd
--- /dev/null
+++ b/ports/butteraugli/portfile.cmake
@@ -0,0 +1,30 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO google/butteraugli
+ REF 8c60a2aefa19adb40e457be5358d7cc93205c72f
+ SHA512 ff3d8fd952d291b51dab60cef6fa46b723c4a7b649c3df70f89c63febce865dc6a2e5f95ca165ea4424fed52a57c2d76c918eb31646c44ba34a0fa51a003c9dd
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ "${CMAKE_CURRENT_LIST_DIR}/missing_header.patch"
+ )
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON -DDISABLE_INSTALL_TOOLS=ON
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/butteraugli)
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/butteraugli RENAME copyright)
diff --git a/ports/bzip2/CONTROL b/ports/bzip2/CONTROL
index 1c7303c22..613d3f251 100644
--- a/ports/bzip2/CONTROL
+++ b/ports/bzip2/CONTROL
@@ -1,3 +1,3 @@
Source: bzip2
-Version: 1.0.6-1
+Version: 1.0.6-2
Description: High-quality data compressor.
diff --git a/ports/c-ares/CONTROL b/ports/c-ares/CONTROL
index db04bd3fa..6b729a5d9 100644
--- a/ports/c-ares/CONTROL
+++ b/ports/c-ares/CONTROL
@@ -1,4 +1,4 @@
Source: c-ares
-Version: 1.12.1-dev-40eb41f-1
+Version: 1.13.0-1
Description: A C library for asynchronous DNS requests
-Build-Depends: \ No newline at end of file
+Build-Depends:
diff --git a/ports/c-ares/portfile.cmake b/ports/c-ares/portfile.cmake
index 86c4ba442..d78878857 100644
--- a/ports/c-ares/portfile.cmake
+++ b/ports/c-ares/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO c-ares/c-ares
- REF 40eb41f522eb9a86f9397352f10d1e63c89f2c54
- SHA512 901d7da97098f79d13ae8d72c85936bd15fbd6b65399c247462ad5367ac85ff32c90325998c21364f959e1bde2c8b7dbc9d9d7524ea34e6bc48dfb3854c199e1
+ REF cares-1_13_0
+ SHA512 0ee8a45772c64701d0e860cd84925cef8938a319b3004e02e86af900cbd9e07609940bc474a46bf4252b9b7e3815e1951de8f0eb16718074ec1d39c2105a2abe
HEAD_REF master
)
diff --git a/ports/caffe2/CONTROL b/ports/caffe2/CONTROL
new file mode 100644
index 000000000..d09de8e6d
--- /dev/null
+++ b/ports/caffe2/CONTROL
@@ -0,0 +1,4 @@
+Source: caffe2
+Version: 0.8.1
+Build-Depends: lmdb, gflags, glog, eigen3, protobuf
+Description: Caffe2 is a lightweight, modular, and scalable deep learning framework.
diff --git a/ports/caffe2/msvc-fixes.patch b/ports/caffe2/msvc-fixes.patch
new file mode 100644
index 000000000..446dbd44e
--- /dev/null
+++ b/ports/caffe2/msvc-fixes.patch
@@ -0,0 +1,396 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8054d98..35934f5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -56,6 +56,14 @@ option(USE_ROCKSDB "Use RocksDB" ON)
+ option(USE_SNPE "Use Qualcomm's SNPE library" OFF)
+ option(USE_THREADS "Use Threads" ON)
+ option(USE_ZMQ "Use ZMQ" OFF)
++if(MSVC)
++ if(BUILD_BUILD_SHARED_LIBS)
++ set(USE_STATIC_RUNTIME_DEFAULT OFF)
++ else()
++ set(USE_STATIC_RUNTIME_DEFAULT ON)
++ endif()
++ option(USE_STATIC_RUNTIME "Link to the static runtime (/MT) instead of dynamic (/MD)" ${USE_STATIC_RUNTIME_DEFAULT})
++endif()
+
+ # External projects
+ include(ExternalProject)
+@@ -99,7 +107,7 @@ else()
+ foreach(flag_var
+ CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
+ CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
+- if (NOT ${BUILD_SHARED_LIBS})
++ if (USE_STATIC_RUNTIME)
+ if(${flag_var} MATCHES "/MD")
+ string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
+ endif(${flag_var} MATCHES "/MD")
+diff --git a/caffe2/core/logging.cc b/caffe2/core/logging.cc
+index 1b4468e..1379f3a 100644
+--- a/caffe2/core/logging.cc
++++ b/caffe2/core/logging.cc
+@@ -117,7 +117,7 @@ using fLB::FLAGS_logtostderr;
+
+ #endif // CAFFE2_USE_GFLAGS
+
+-CAFFE2_DEFINE_int(caffe2_log_level, google::ERROR,
++CAFFE2_DEFINE_int(caffe2_log_level, google::GLOG_ERROR,
+ "The minimum log level that caffe2 will output.");
+
+ // Google glog's api does not have an external function that allows one to check
+@@ -134,15 +134,23 @@ bool IsGoogleLoggingInitialized();
+ namespace caffe2 {
+ bool InitCaffeLogging(int* argc, char** argv) {
+ if (*argc == 0) return true;
+- if (!::google::glog_internal_namespace_::IsGoogleLoggingInitialized()) {
++#if !(defined(_MSC_VER) && defined(GLOG_IS_A_DLL))
++ // IsGoogleLoggingInitialized is not exported from the glog DLL
++ // so we can't call it. If our program calls InitGoogleLogging twice glog will
++ // abort it.
++ if (!::google::glog_internal_namespace_::IsGoogleLoggingInitialized())
++#endif
++ {
+ ::google::InitGoogleLogging(argv[0]);
++#if !defined(_MSC_VER)
+ ::google::InstallFailureSignalHandler();
++#endif
+ }
+ // If caffe2_log_level is set and is lower than the min log level by glog,
+ // we will transfer the caffe2_log_level setting to glog to override that.
+ FLAGS_minloglevel = std::min(FLAGS_caffe2_log_level, FLAGS_minloglevel);
+ // If caffe2_log_level is explicitly set, let's also turn on logtostderr.
+- if (FLAGS_caffe2_log_level < google::ERROR) {
++ if (FLAGS_caffe2_log_level < google::GLOG_ERROR) {
+ FLAGS_logtostderr = 1;
+ }
+ // Also, transfer the caffe2_log_level verbose setting to glog.
+@@ -154,7 +162,7 @@ bool InitCaffeLogging(int* argc, char** argv) {
+
+ void ShowLogInfoToStderr() {
+ FLAGS_logtostderr = 1;
+- FLAGS_minloglevel = std::min(FLAGS_minloglevel, google::INFO);
++ FLAGS_minloglevel = std::min(FLAGS_minloglevel, google::GLOG_INFO);
+ }
+ } // namespace caffe2
+
+diff --git a/caffe2/core/logging_is_google_glog.h b/caffe2/core/logging_is_google_glog.h
+index 7dd2b4f..2df4435 100644
+--- a/caffe2/core/logging_is_google_glog.h
++++ b/caffe2/core/logging_is_google_glog.h
+@@ -8,7 +8,7 @@
+ // it. Some mobile platforms do not like stl_logging, so we add an
+ // overload in that case as well.
+
+-#if !defined(__CUDACC__) && !defined(CAFFE2_USE_MINIMAL_GOOGLE_GLOG)
++#if !defined(__CUDARCH__) && !defined(CAFFE2_USE_MINIMAL_GOOGLE_GLOG)
+ #include <glog/stl_logging.h>
+ #else // !defined(__CUDACC__) && !!defined(CAFFE2_USE_MINIMAL_GOOGLE_GLOG)
+
+diff --git a/caffe2/image/image_input_op.h b/caffe2/image/image_input_op.h
+index 9604e98..7d90014 100644
+--- a/caffe2/image/image_input_op.h
++++ b/caffe2/image/image_input_op.h
+@@ -214,13 +214,13 @@ ImageInputOp<Context>::ImageInputOp(
+
+ // hard-coded PCA eigenvectors and eigenvalues, based on RBG channel order
+ color_lighting_eigvecs_.push_back(
+- std::vector<float>{-144.7125, 183.396, 102.2295});
++ std::vector<float>{-144.7125f, 183.396f, 102.2295f});
+ color_lighting_eigvecs_.push_back(
+- std::vector<float>{-148.104, -1.1475, -207.57});
++ std::vector<float>{-148.104f, -1.1475f, -207.57f});
+ color_lighting_eigvecs_.push_back(
+- std::vector<float>{-148.818, -177.174, 107.1765});
++ std::vector<float>{-148.818f, -177.174f, 107.1765f});
+
+- color_lighting_eigvals_ = std::vector<float>{0.2175, 0.0188, 0.0045};
++ color_lighting_eigvals_ = std::vector<float>{0.2175f, 0.0188f, 0.0045f};
+
+ CAFFE_ENFORCE_GT(batch_size_, 0, "Batch size should be nonnegative.");
+ if (use_caffe_datum_) {
+diff --git a/caffe2/operators/batch_matmul_op.cc b/caffe2/operators/batch_matmul_op.cc
+index c2e578d..28cf030 100644
+--- a/caffe2/operators/batch_matmul_op.cc
++++ b/caffe2/operators/batch_matmul_op.cc
+@@ -34,7 +34,7 @@ size (C x K x N) where C is the batch size and i ranges from 0 to C-1.
+ b_dim1 = in[1].dims(2);
+ }
+ return vector<TensorShape> {
+- CreateTensorShape(vector<int> {
++ CreateTensorShape(vector<TIndex> {
+ in[0].dims(0), a_dim0, b_dim1},
+ in[0].data_type())
+ };
+diff --git a/caffe2/operators/layer_norm_op.cu b/caffe2/operators/layer_norm_op.cu
+index df13fc3..68bbc97 100644
+--- a/caffe2/operators/layer_norm_op.cu
++++ b/caffe2/operators/layer_norm_op.cu
+@@ -252,8 +252,8 @@ bool LayerNormGradientOp<CUDAContext>::DoRunWithType<float>() {
+ auto* ginput = Output(0);
+
+ const auto canonical_axis = norm_inputs.canonical_axis_index(axis_);
+- const int left = norm_inputs.size_to_dim(canonical_axis);
+- const int right = norm_inputs.size_from_dim(canonical_axis);
++ const TIndex left = norm_inputs.size_to_dim(canonical_axis);
++ const TIndex right = norm_inputs.size_from_dim(canonical_axis);
+
+ ginput->ResizeLike(norm_inputs);
+ std::vector<TIndex> stats_dims(
+@@ -261,7 +261,7 @@ bool LayerNormGradientOp<CUDAContext>::DoRunWithType<float>() {
+ stats_dims.push_back(1);
+ dmean_.Resize(stats_dims);
+ dstdev_.Resize(stats_dims);
+- gscratch_.Resize(std::vector<size_t>{left, right});
++ gscratch_.Resize(std::vector<TIndex>{left, right});
+
+ std::vector<int> segs(left + 1);
+ std::iota(segs.begin(), segs.end(), 0);
+@@ -291,7 +291,7 @@ bool LayerNormGradientOp<CUDAContext>::DoRunWithType<float>() {
+ dout.data<float>(),
+ gscratch_.mutable_data<float>());
+
+- dstdev_.Resize(vector<size_t>{left, 1});
++ dstdev_.Resize(vector<TIndex>{left, 1});
+ // dstdev = reduce(temp1)
+ allocScratchAndReduce(
+ gscratch_.data<float>(),
+diff --git a/caffe2/operators/lengths_top_k_op.cc b/caffe2/operators/lengths_top_k_op.cc
+index c871d53..bad741a 100644
+--- a/caffe2/operators/lengths_top_k_op.cc
++++ b/caffe2/operators/lengths_top_k_op.cc
+@@ -14,7 +14,7 @@ bool LengthsTopKOp<T, Context>::RunOnDevice() {
+
+ output_topk_values->Resize(N * k_);
+ output_topk_indices->Resize(N * k_);
+- std::vector<int> output_dims = std::vector<int>({N, k_});
++ std::vector<TIndex> output_dims = std::vector<TIndex>({N, k_});
+ output_topk_values->Reshape(output_dims);
+ output_topk_indices->Reshape(output_dims);
+ T* output_topk_values_data = output_topk_values->template mutable_data<T>();
+diff --git a/caffe2/operators/pool_op_cudnn.cu b/caffe2/operators/pool_op_cudnn.cu
+index a380d8d..b0cd326 100644
+--- a/caffe2/operators/pool_op_cudnn.cu
++++ b/caffe2/operators/pool_op_cudnn.cu
+@@ -467,6 +467,15 @@ class CuDNNPoolGradientOp : public ConvPoolOpBase<CUDAContext> {
+ cudnnPoolingDescriptor_t pooling_desc_;
+ cudnnPoolingMode_t mode_;
+
++// MSVC defines IN and OUT in minwindef.h
++#ifdef IN
++#undef IN
++#endif
++
++#ifdef OUT
++#undef OUT
++#endif
++
+ // Input: X, Y, dY
+ // Output: dX
+ INPUT_TAGS(IN, OUT, OUT_GRAD);
+diff --git a/caffe2/operators/recurrent_op_cudnn.cc b/caffe2/operators/recurrent_op_cudnn.cc
+index 7777813..58bc8c3 100644
+--- a/caffe2/operators/recurrent_op_cudnn.cc
++++ b/caffe2/operators/recurrent_op_cudnn.cc
+@@ -115,10 +115,11 @@ void RecurrentBaseOp<T>::initialize(
+
+ // RNN setup
+ {
+- CUDNN_ENFORCE(cudnnSetRNNDescriptor(
++// Do not use #if condition inside CUDNN_ENFORCE
++// to avoid macro expansion errors.
+ #if CUDNN_MAJOR >= 7
++CUDNN_ENFORCE(cudnnSetRNNDescriptor(
+ cudnn_wrapper_.inline_cudnn_handle(),
+-#endif
+ rnnDesc_,
+ hiddenSize,
+ numLayers,
+@@ -126,10 +127,19 @@ void RecurrentBaseOp<T>::initialize(
+ rnnInput,
+ rnnDirection,
+ rnnMode,
+-#if CUDNN_MAJOR >= 7
+ CUDNN_RNN_ALGO_STANDARD, // TODO: verify correctness / efficiency.
+-#endif
+ cudnnTypeWrapper<T>::type));
++#else
++ CUDNN_ENFORCE(cudnnSetRNNDescriptor(
++ rnnDesc_,
++ hiddenSize,
++ numLayers,
++ dropoutDesc_,
++ rnnInput,
++ rnnDirection,
++ rnnMode,
++ cudnnTypeWrapper<T>::type));
++#endif // CUDNN_MAJOR >= 7
+ }
+ // X setup
+ {
+diff --git a/caffe2/utils/CMakeLists.txt b/caffe2/utils/CMakeLists.txt
+index f90af5a..919a638 100644
+--- a/caffe2/utils/CMakeLists.txt
++++ b/caffe2/utils/CMakeLists.txt
+@@ -27,6 +27,10 @@ exclude(Caffe2_CPU_SRCS "${Caffe2_CPU_SRCS}" ${Caffe2_GPU_SRCS})
+ # will directly link nnpack pthreadpool.
+ file(GLOB_RECURSE tmp pthreadpool*)
+ exclude(Caffe2_CPU_SRCS "${Caffe2_CPU_SRCS}" ${tmp})
++if(MSVC)
++ file(GLOB_RECURSE tmp *ThreadPool.cc)
++ exclude(Caffe2_CPU_SRCS "${Caffe2_CPU_SRCS}" ${tmp})
++endif()
+
+ # ---[ GPU test files
+ file(GLOB_RECURSE tmp *_gpu_test.cc)
+diff --git a/caffe2/utils/GpuBitonicSort.cuh b/caffe2/utils/GpuBitonicSort.cuh
+index f52bb50..a199bcb 100644
+--- a/caffe2/utils/GpuBitonicSort.cuh
++++ b/caffe2/utils/GpuBitonicSort.cuh
+@@ -39,9 +39,11 @@ __device__ inline void bitonicSort(K* keys,
+ // Assume the sort is taking place in shared memory
+ // static_assert(Power2SortSize * (sizeof(K) + sizeof(V)) < 32768,
+ // "sort data too large (>32768 bytes)");
+- static_assert(math::integerIsPowerOf2(Power2SortSize),
++ static_assert(math::integerIsPowerOf2(
++ std::integral_constant<int, Power2SortSize>::value),
+ "sort size must be power of 2");
+- static_assert(math::integerIsPowerOf2(ThreadsPerBlock),
++ static_assert(math::integerIsPowerOf2(
++ std::integral_constant<int, ThreadsPerBlock>::value),
+ "threads in block must be power of 2");
+
+ // If what we are sorting is too small, then not all threads
+@@ -107,7 +109,8 @@ __device__ inline void warpBitonicSort(K* keys,
+ // Smaller sorts should use a warp shuffle sort
+ static_assert(Power2SortSize > kWarpSize,
+ "sort not large enough");
+- static_assert(math::integerIsPowerOf2(Power2SortSize),
++ static_assert(math::integerIsPowerOf2(
++ std::integral_constant<int, Power2SortSize>::value),
+ "sort size must be power of 2");
+ static_assert(Power2SortSize <= kMaxBitonicSortSize,
+ "sort size <= 4096 only supported");
+diff --git a/caffe2/utils/math.h b/caffe2/utils/math.h
+index 6c352dc..a1eda9d 100644
+--- a/caffe2/utils/math.h
++++ b/caffe2/utils/math.h
+@@ -426,18 +426,10 @@ constexpr T roundUp(T a, T b) {
+ return divUp<T>(a, b) * b;
+ }
+
+-// Returns true if the given integer type is a power-of-2 (positive only)
+-// Note(jiayq): windows reported an error per
+-// https://github.com/caffe2/caffe2/issues/997
+-// and as a result will make it a macro.
+-#ifdef _MSC_VER
+-#define integerIsPowerOf2(v) ((v) && !((v) & ((v) - 1)))
+-#else // _MSC_VER
+ template <typename T>
+ constexpr bool integerIsPowerOf2(T v) {
+ return (v && !(v & (v - 1)));
+ }
+-#endif // _MSC_VER
+
+ // Returns log2(n) for a positive integer type
+ template <typename T>
+diff --git a/cmake/Cuda.cmake b/cmake/Cuda.cmake
+index df70e2f..ca1b123 100644
+--- a/cmake/Cuda.cmake
++++ b/cmake/Cuda.cmake
+@@ -37,6 +37,10 @@ function(caffe2_detect_installed_gpus out_variable)
+ ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+ if(__nvcc_res EQUAL 0)
++ # nvcc outputs text containing line breaks when building with MSVC.
++ # The line below prevents CMake from inserting a variable with line
++ # breaks in the cache
++ string(REGEX MATCH "([1-9].[0-9])" __nvcc_out "${__nvcc_out}")
+ string(REPLACE "2.1" "2.1(2.0)" __nvcc_out "${__nvcc_out}")
+ set(CUDA_gpu_detect_output ${__nvcc_out} CACHE INTERNAL "Returned GPU architetures from caffe_detect_gpus tool" FORCE)
+ endif()
+@@ -249,7 +253,7 @@ endif()
+ # Debug and Release symbol support
+ if (MSVC)
+ if (${CMAKE_BUILD_TYPE} MATCHES "Release")
+- if (${BUILD_SHARED_LIBS})
++ if (NOT USE_STATIC_RUNTIME)
+ list(APPEND CUDA_NVCC_FLAGS "-Xcompiler -MD")
+ else()
+ list(APPEND CUDA_NVCC_FLAGS "-Xcompiler -MT")
+@@ -259,7 +263,7 @@ if (MSVC)
+ "Caffe2 currently does not support the combination of MSVC, Cuda "
+ "and Debug mode. Either set USE_CUDA=OFF or set the build type "
+ "to Release")
+- if (${BUILD_SHARED_LIBS})
++ if (NOT USE_STATIC_RUNTIME)
+ list(APPEND CUDA_NVCC_FLAGS "-Xcompiler -MDd")
+ else()
+ list(APPEND CUDA_NVCC_FLAGS "-Xcompiler -MTd")
+diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake
+index afb6b68..bdad8b6 100644
+--- a/cmake/Dependencies.cmake
++++ b/cmake/Dependencies.cmake
+@@ -182,6 +182,15 @@ if(USE_OPENCV)
+ message(WARNING "Not compiling with OpenCV. Suppress this warning with -DUSE_OPENCV=OFF")
+ set(USE_OPENCV OFF)
+ endif()
++ if(USE_OPENCV AND VCPKG_TARGET_TRIPLET MATCHES static)
++ find_package(LibLZMA QUIET)
++ if(LIBLZMA_FOUND)
++ list(APPEND Caffe2_DEPENDENCY_LIBS ${LIBLZMA_LIBRARIES})
++ else()
++ message(WARNING "Not compiling with OpenCV. Could not find liblzma. Suppress this warning with -DUSE_OPENCV=OFF")
++ set(USE_OPENCV OFF)
++ endif()
++ endif()
+ endif()
+
+ # ---[ FFMPEG
+diff --git a/cmake/Modules/FindGlog.cmake b/cmake/Modules/FindGlog.cmake
+index 1167532..9780ba5 100644
+--- a/cmake/Modules/FindGlog.cmake
++++ b/cmake/Modules/FindGlog.cmake
+@@ -27,6 +27,10 @@ if(MSVC)
+ endif()
+ if(TARGET ${GLOG_LIBRARY})
+ get_target_property(GLOG_INCLUDE_DIR ${GLOG_LIBRARY} INTERFACE_INCLUDE_DIRECTORIES)
++ get_target_property(GLOG_TYPE ${GLOG_LIBRARY} TYPE)
++ if("${GLOG_TYPE}" STREQUAL "SHARED_LIBRARY")
++ add_definitions(-DGLOG_IS_A_DLL=1)
++ endif()
+ endif()
+ else()
+ find_library(GLOG_LIBRARY glog
+diff --git a/cmake/ProtoBuf.cmake b/cmake/ProtoBuf.cmake
+index 89975c8..e37d6da 100644
+--- a/cmake/ProtoBuf.cmake
++++ b/cmake/ProtoBuf.cmake
+@@ -13,6 +13,9 @@ function(custom_protobuf_find)
+ # so we turn it off here.
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations" PARENT_SCOPE)
+ endif()
++ if(MSVC)
++ set(protobuf_MSVC_STATIC_RUNTIME ${USE_STATIC_RUNTIME})
++ endif()
+ add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/protobuf/cmake)
+ caffe2_include_directories(${PROJECT_SOURCE_DIR}/third_party/protobuf/src)
+ list(APPEND Caffe2_DEPENDENCY_LIBS libprotobuf)
+diff --git a/cmake/Summary.cmake b/cmake/Summary.cmake
+index b7423a6..2996484 100644
+--- a/cmake/Summary.cmake
++++ b/cmake/Summary.cmake
+@@ -19,6 +19,13 @@ function (Caffe2_print_configuration_summary)
+ message(STATUS " System : ${CMAKE_SYSTEM_NAME}")
+ message(STATUS " C++ compiler : ${CMAKE_CXX_COMPILER}")
+ message(STATUS " C++ compiler version : ${CMAKE_CXX_COMPILER_VERSION}")
++ if(MSVC)
++ if(USE_STATIC_RUNTIME)
++ message(STATUS " Runtime : static (/MT)")
++ else()
++ message(STATUS " Runtime : dynamic (/MD)")
++ endif()
++ endif()
+ message(STATUS " Protobuf compiler : ${PROTOBUF_PROTOC_EXECUTABLE}")
+ message(STATUS " CXX flags : ${CMAKE_CXX_FLAGS}")
+ message(STATUS " Build type : ${CMAKE_BUILD_TYPE}")
diff --git a/ports/caffe2/portfile.cmake b/ports/caffe2/portfile.cmake
new file mode 100644
index 000000000..d2770f338
--- /dev/null
+++ b/ports/caffe2/portfile.cmake
@@ -0,0 +1,118 @@
+if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ message(STATUS "Warning: Dynamic building not supported yet. Building static.")
+ set(VCPKG_LIBRARY_LINKAGE static)
+endif()
+
+if (VCPKG_TARGET_ARCHITECTURE STREQUAL x86)
+ message(FATAL_ERROR "Caffe2 cannot be built for the x86 architecture")
+endif()
+
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO caffe2/caffe2
+ REF eab13a2d5c807bf5d49efd4584787b639a981b79
+ SHA512 505a8540b0c28329c4e2ce443ac8e198c1ee613eb6b932927ee9d04c8afdc95081f3c4581408b7097d567840427b31f6d7626ea80f27e56532f2f2e6acd87023
+ HEAD_REF master
+)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/msvc-fixes.patch
+)
+
+if(VCPKG_CRT_LINKAGE STREQUAL static)
+ set(USE_STATIC_RUNTIME ON)
+else()
+ set(USE_STATIC_RUNTIME OFF)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DBUILD_SHARED_LIBS=OFF
+ # Set to ON to use python
+ -DBUILD_PYTHON=OFF
+ -DUSE_STATIC_RUNTIME=${USE_STATIC_RUNTIME}
+ -DUSE_GFLAGS=ON
+ -DUSE_GLOG=ON
+ # Cannot use OpenCV without USE_CUDA=ON right now
+ -DUSE_OPENCV=OFF
+ -DUSE_THREADS=ON
+ # Uncomment to use MKL
+ # -DBLAS=MKL
+ -DUSE_CUDA=OFF
+ -DUSE_FFMPEG=OFF
+ -DUSE_GLOO=OFF
+ -DUSE_LEVELDB=OFF
+ -DUSE_LITE_PROTO=OFF
+ -DUSE_METAL=OFF
+ -DUSE_MOBILE_OPENGL=OFF
+ -DUSE_MPI=OFF
+ -DUSE_NCCL=OFF
+ -DUSE_NERVANA_GPU=OFF
+ -DUSE_NNPACK=OFF
+ -DUSE_OBSERVERS=OFF
+ -DUSE_OPENMP=ON
+ -DUSE_REDIS=OFF
+ -DUSE_ROCKSDB=OFF
+ -DUSE_SNPE=OFF
+ -DUSE_ZMQ=OFF
+ -DBUILD_TEST=OFF
+ -DPROTOBUF_PROTOC_EXECUTABLE:FILEPATH=${CURRENT_INSTALLED_DIR}/tools/protoc.exe
+)
+
+vcpkg_install_cmake()
+
+# Remove folders from install
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/caffe)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/caffe2)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/caffe)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/caffe2)
+
+# Remove empty directories from include (should probably fix or
+# patch caffe2 install script)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/test)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/python)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/experiments/python)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/contrib/opengl)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/contrib/nnpack)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/contrib/libopencl-stub)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/contrib/docker-ubuntu-14.04)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/binaries)
+
+# Move bin to tools
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools)
+file(GLOB BINARIES ${CURRENT_PACKAGES_DIR}/bin/*.exe)
+foreach(binary ${BINARIES})
+ get_filename_component(binary_name ${binary} NAME)
+ file(RENAME ${binary} ${CURRENT_PACKAGES_DIR}/tools/${binary_name})
+endforeach()
+
+# Remove bin directory
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
+endif()
+
+# Remove headers and tools from debug build
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+file(GLOB BINARIES ${CURRENT_PACKAGES_DIR}/bin/*.exe)
+foreach(binary ${BINARIES})
+ get_filename_component(binary_name ${binary} NAME)
+ file(REMOVE ${binary})
+endforeach()
+
+# Remove bin directory
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+# install license
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/caffe2)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/caffe2 RENAME copyright)
+
+vcpkg_copy_pdbs()
diff --git a/ports/cairo/CONTROL b/ports/cairo/CONTROL
index 9a6a550a6..80269f5a7 100644
--- a/ports/cairo/CONTROL
+++ b/ports/cairo/CONTROL
@@ -1,4 +1,4 @@
Source: cairo
-Version: 1.15.6
+Version: 1.15.8-1
Description: Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
Build-Depends: zlib, libpng, pixman, glib, freetype, fontconfig
diff --git a/ports/cairo/Initialize-mutexes-for-static-builds-for-win32.patch b/ports/cairo/Initialize-mutexes-for-static-builds-for-win32.patch
deleted file mode 100644
index 420d91e28..000000000
--- a/ports/cairo/Initialize-mutexes-for-static-builds-for-win32.patch
+++ /dev/null
@@ -1,16 +0,0 @@
- src/win32/cairo-win32-device.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/win32/cairo-win32-device.c b/src/win32/cairo-win32-device.c
-index 741e49e..c60c494 100644
---- a/src/win32/cairo-win32-device.c
-+++ b/src/win32/cairo-win32-device.c
-@@ -131,6 +131,8 @@ _cairo_win32_device_get (void)
- {
- cairo_win32_device_t *device;
-
-+ CAIRO_MUTEX_INITIALIZE ();
-+
- if (__cairo_win32_device)
- return cairo_device_reference (__cairo_win32_device);
-
diff --git a/ports/cairo/portfile.cmake b/ports/cairo/portfile.cmake
index 0ccf0c470..6fb0e7ce8 100644
--- a/ports/cairo/portfile.cmake
+++ b/ports/cairo/portfile.cmake
@@ -7,19 +7,18 @@
#
include(vcpkg_common_functions)
-set(CAIRO_VERSION 1.15.6)
+set(CAIRO_VERSION 1.15.8)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/cairo-${CAIRO_VERSION})
vcpkg_download_distfile(ARCHIVE
URLS "http://cairographics.org/snapshots/cairo-${CAIRO_VERSION}.tar.xz"
FILENAME "cairo-${CAIRO_VERSION}.tar.xz"
- SHA512 e4eccba745a03545001ebd6f1a7b87bee4b932f80a2d877a764500ad5c18011a5bac585f31eec6d0b65ccaa818de0df2b3b99f0792111363bd3554cfa7f688b6
+ SHA512 5af1eebf432201dae0efaa5b6766b151d8273ea00dae48e104d56477005b4d423d64b5d11c512736a4cb076632fb2a572ec35becd922825a68d933bb5ff96ca1
)
vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
- PATCHES "${CMAKE_CURRENT_LIST_DIR}/Initialize-mutexes-for-static-builds-for-win32.patch"
- "${CMAKE_CURRENT_LIST_DIR}/export-only-in-shared-build.patch"
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/export-only-in-shared-build.patch"
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/src)
diff --git a/ports/cairomm/CONTROL b/ports/cairomm/CONTROL
index d8eda4a53..c92877435 100644
--- a/ports/cairomm/CONTROL
+++ b/ports/cairomm/CONTROL
@@ -1,4 +1,4 @@
Source: cairomm
-Version: 1.15.3-1
+Version: 1.15.3-2
Description: A C++ wrapper for the cairo graphics library
-Build-Depends: cairo, libsigcpp \ No newline at end of file
+Build-Depends: cairo, libsigcpp
diff --git a/ports/ccd/CONTROL b/ports/ccd/CONTROL
index 16f16ea0b..9246cec90 100644
--- a/ports/ccd/CONTROL
+++ b/ports/ccd/CONTROL
@@ -1,3 +1,3 @@
Source: ccd
-Version: 2.0.0-1
+Version: 2.0.0-2
Description: Library for collision detection between two convex shapes
diff --git a/ports/ccfits/CONTROL b/ports/ccfits/CONTROL
index 17083f9b2..16b36bc8a 100644
--- a/ports/ccfits/CONTROL
+++ b/ports/ccfits/CONTROL
@@ -1,4 +1,4 @@
Source: ccfits
-Version: 2.5
+Version: 2.5-1
Description: CCfits is an object oriented interface to the cfitsio library. It is designed to make the capabilities of cfitsio available to programmers working in C++.
-Build-Depends: cfitsio \ No newline at end of file
+Build-Depends: cfitsio
diff --git a/ports/cereal/CONTROL b/ports/cereal/CONTROL
index 77ca17835..fc3c7921a 100644
--- a/ports/cereal/CONTROL
+++ b/ports/cereal/CONTROL
@@ -1,3 +1,3 @@
Source: cereal
-Version: 1.2.2
+Version: 1.2.2-1
Description: a header-only C++11 serialization library (built in support for binary, XML and JSon)
diff --git a/ports/ceres/CONTROL b/ports/ceres/CONTROL
index e323c4593..4dde8c0bd 100644
--- a/ports/ceres/CONTROL
+++ b/ports/ceres/CONTROL
@@ -1,4 +1,4 @@
Source: ceres
-Version: 1.13.0
+Version: 1.13.0-1
Build-Depends:suitesparse, eigen3, clapack, gflags, glog
-Description: non-linear optimization package \ No newline at end of file
+Description: non-linear optimization package
diff --git a/ports/cfitsio/CONTROL b/ports/cfitsio/CONTROL
index e45b8a8c2..b25eb8026 100644
--- a/ports/cfitsio/CONTROL
+++ b/ports/cfitsio/CONTROL
@@ -1,3 +1,3 @@
Source: cfitsio
-Version: 3.410
+Version: 3.410-1
Description: Library of C and Fortran subroutines for reading and writing data files in FITS (Flexible Image Transport System) data format
diff --git a/ports/charls/CONTROL b/ports/charls/CONTROL
index 8be1a5027..562a6f688 100644
--- a/ports/charls/CONTROL
+++ b/ports/charls/CONTROL
@@ -1,3 +1,3 @@
Source: charls
-Version: 2.0.0
-Description: CharLS, a C++ JPEG-LS library implementation. \ No newline at end of file
+Version: 2.0.0-1
+Description: CharLS, a C++ JPEG-LS library implementation.
diff --git a/ports/chmlib/CONTROL b/ports/chmlib/CONTROL
index 22680db33..226a3be92 100644
--- a/ports/chmlib/CONTROL
+++ b/ports/chmlib/CONTROL
@@ -1,3 +1,3 @@
Source: chmlib
-Version: 0.40
+Version: 0.40-1
Description: CHMLIB is a library for dealing with Microsoft ITSS/CHM format files. Right now, it is a very simple library, but sufficient for dealing with all of the .chm files I've come across. Due to the fairly well-designed indexing built into this particular file format, even a small library is able to gain reasonably good performance indexing into ITSS archives. \ No newline at end of file
diff --git a/ports/chmlib/chm.vcxproj b/ports/chmlib/chm.vcxproj
index 61955291e..0cc2606fe 100644
--- a/ports/chmlib/chm.vcxproj
+++ b/ports/chmlib/chm.vcxproj
@@ -69,22 +69,22 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<!--Overriden at build time.-->
<OutDir>..\..\..\x86-windows-static-dbg\</OutDir>
- <IntDir>..\..\..\x86-windows-static-dbg\</IntDir>
+ <IntDir>..\..\..\x86-windows-static-dbg\$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<!--Overriden at build time.-->
<OutDir>..\..\..\x86-windows-static-rel\</OutDir>
- <IntDir>..\..\..\x86-windows-static-rel\</IntDir>
+ <IntDir>..\..\..\x86-windows-static-rel\$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<!--Overriden at build time.-->
<OutDir>..\..\..\x64-windows-static-dbg\</OutDir>
- <IntDir>..\..\..\x64-windows-static-dbg\</IntDir>
+ <IntDir>..\..\..\x64-windows-static-dbg\$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<!--Overriden at build time.-->
<OutDir>..\..\..\x64-windows-static-rel\</OutDir>
- <IntDir>..\..\..\x64-windows-static-rel\</IntDir>
+ <IntDir>..\..\..\x64-windows-static-rel\$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
@@ -98,6 +98,7 @@
<CompileAs>CompileAsC</CompileAs>
<DebugInformationFormat>OldStyle</DebugInformationFormat>
<MinimalRebuild>false</MinimalRebuild>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
</ClCompile>
<Link>
<AdditionalDependencies>
@@ -112,6 +113,7 @@
<SubSystem>Windows</SubSystem>
<Verbose>true</Verbose>
<IgnoreSpecificDefaultLibraries>libc.lib, libcmt.lib, msvcrt.lib, libcd.lib, msvcrtd.lib</IgnoreSpecificDefaultLibraries>
+ <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -126,6 +128,7 @@
<CompileAs>CompileAsC</CompileAs>
<DebugInformationFormat>OldStyle</DebugInformationFormat>
<MinimalRebuild>false</MinimalRebuild>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
</ClCompile>
<Link>
<AdditionalDependencies>
@@ -138,6 +141,7 @@
<SubSystem>Windows</SubSystem>
<Verbose>true</Verbose>
<IgnoreSpecificDefaultLibraries>libc.lib, libcmt.lib, msvcrt.lib, libcd.lib, msvcrtd.lib</IgnoreSpecificDefaultLibraries>
+ <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -150,6 +154,7 @@
<DisableSpecificWarnings>4018;4057;4127;4189;4244;4267;4295;4324;4458;4477;4701;4706;4800;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<CompileAs>CompileAsC</CompileAs>
+ <Optimization>Full</Optimization>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
@@ -176,6 +181,7 @@
<DisableSpecificWarnings>4018;4057;4127;4189;4244;4267;4295;4324;4458;4477;4701;4706;4800;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<CompileAs>CompileAsC</CompileAs>
+ <Optimization>Full</Optimization>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
diff --git a/ports/chmlib/enum_chmLib.vcxproj b/ports/chmlib/enum_chmLib.vcxproj
new file mode 100644
index 000000000..1b847a409
--- /dev/null
+++ b/ports/chmlib/enum_chmLib.vcxproj
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="enum_chmLib.c" />
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <VCProjectVersion>15.0</VCProjectVersion>
+ <ProjectGuid>{2c833145-059b-47d5-b0fe-b3ac6ff1ccb0}</ProjectGuid>
+ <RootNamespace>enum_chmLib</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <OutDir>..\..\..\x86-windows-static-rel\</OutDir>
+ <IntDir>..\..\..\x86-windows-static-rel\$(ProjectName)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <OutDir>..\..\..\x64-windows-static-rel\</OutDir>
+ <IntDir>..\..\..\x64-windows-static-rel\$(ProjectName)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <MultiProcessorCompilation>false</MultiProcessorCompilation>
+ <PreprocessorDefinitions>WIN32;_UNICODE;UNICODE;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <ShowIncludes>true</ShowIncludes>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalDependencies>$(OutputPath)chm.lib</AdditionalDependencies>
+ <SubSystem>Console</SubSystem>
+ <ShowProgress>LinkVerbose</ShowProgress>
+ <IgnoreSpecificDefaultLibraries>libc.lib, msvcrt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib</IgnoreSpecificDefaultLibraries>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <MultiProcessorCompilation>false</MultiProcessorCompilation>
+ <PreprocessorDefinitions>WIN32;_UNICODE;UNICODE;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <ShowIncludes>true</ShowIncludes>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalDependencies>$(OutputPath)chm.lib</AdditionalDependencies>
+ <SubSystem>Console</SubSystem>
+ <ShowProgress>LinkVerbose</ShowProgress>
+ <IgnoreSpecificDefaultLibraries>libc.lib, msvcrt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib</IgnoreSpecificDefaultLibraries>
+ </Link>
+ </ItemDefinitionGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/ports/chmlib/enumdir_chmLib.vcxproj b/ports/chmlib/enumdir_chmLib.vcxproj
new file mode 100644
index 000000000..8b7d552c5
--- /dev/null
+++ b/ports/chmlib/enumdir_chmLib.vcxproj
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="enumdir_chmLib.c" />
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <VCProjectVersion>15.0</VCProjectVersion>
+ <ProjectGuid>{bb0bfe9a-7d13-44a0-b2b5-3b69a07a77e8}</ProjectGuid>
+ <RootNamespace>enumdir_chmLib</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <OutDir>..\..\..\x86-windows-static-rel\</OutDir>
+ <IntDir>..\..\..\x86-windows-static-rel\$(ProjectName)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <OutDir>..\..\..\x64-windows-static-rel\</OutDir>
+ <IntDir>..\..\..\x64-windows-static-rel\$(ProjectName)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <MultiProcessorCompilation>false</MultiProcessorCompilation>
+ <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalDependencies>$(OutputPath)chm.lib</AdditionalDependencies>
+ <SubSystem>Console</SubSystem>
+ <ShowProgress>LinkVerbose</ShowProgress>
+ <IgnoreSpecificDefaultLibraries>libc.lib, msvcrt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib</IgnoreSpecificDefaultLibraries>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <MultiProcessorCompilation>false</MultiProcessorCompilation>
+ <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalDependencies>$(OutputPath)chm.lib</AdditionalDependencies>
+ <SubSystem>Console</SubSystem>
+ <ShowProgress>LinkVerbose</ShowProgress>
+ <IgnoreSpecificDefaultLibraries>libc.lib, msvcrt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib</IgnoreSpecificDefaultLibraries>
+ </Link>
+ </ItemDefinitionGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/ports/chmlib/extract_chmLib.vcxproj b/ports/chmlib/extract_chmLib.vcxproj
new file mode 100644
index 000000000..a4666ed64
--- /dev/null
+++ b/ports/chmlib/extract_chmLib.vcxproj
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <VCProjectVersion>15.0</VCProjectVersion>
+ <ProjectGuid>{8F41248C-8E62-4822-9A85-4CAF00AACEEE}</ProjectGuid>
+ <RootNamespace>extract_chmLib</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <OutDir>..\..\..\x86-windows-static-rel\</OutDir>
+ <IntDir>..\..\..\x86-windows-static-rel\$(ProjectName)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <OutDir>..\..\..\x64-windows-static-rel\</OutDir>
+ <IntDir>..\..\..\x64-windows-static-rel\$(ProjectName)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <MultiProcessorCompilation>false</MultiProcessorCompilation>
+ <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalDependencies>$(OutputPath)chm.lib</AdditionalDependencies>
+ <SubSystem>Console</SubSystem>
+ <ShowProgress>LinkVerbose</ShowProgress>
+ <IgnoreSpecificDefaultLibraries>libc.lib, msvcrt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib</IgnoreSpecificDefaultLibraries>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <MultiProcessorCompilation>false</MultiProcessorCompilation>
+ <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalDependencies>$(OutputPath)chm.lib</AdditionalDependencies>
+ <SubSystem>Console</SubSystem>
+ <ShowProgress>LinkVerbose</ShowProgress>
+ <IgnoreSpecificDefaultLibraries>libc.lib, msvcrt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib</IgnoreSpecificDefaultLibraries>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="extract_chmLib.c" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/ports/chmlib/portfile.cmake b/ports/chmlib/portfile.cmake
index cb2f2cf96..60381bb1a 100644
--- a/ports/chmlib/portfile.cmake
+++ b/ports/chmlib/portfile.cmake
@@ -1,26 +1,6 @@
-# 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)
-#
-
-#message("VCPKG_TARGET_ARCHITECTURE" ${VCPKG_TARGET_ARCHITECTURE})
-#if(NOT ${VCPKG_TARGET_ARCHITECTURE} STREQUAL "x86")
-# message(FATAL_ERROR "chmlib only supports x86")
-#endif()
-
-if(${VCPKG_CRT_LINKAGE} STREQUAL "dynamic")
- message(FATAL_ERROR "chmlib supports static linking only.")
-endif()
-
-if(${VCPKG_LIBRARY_LINKAGE} STREQUAL "dynamic")
- message(FATAL_ERROR "chmlib supports static linking only.")
+if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ message(STATUS "Warning: Dynamic building not supported. Building static.")
+ set(VCPKG_LIBRARY_LINKAGE static)
endif()
set(CHMLIB_VERSION chmlib-0.40)
@@ -37,21 +17,50 @@ vcpkg_download_distfile(
)
vcpkg_extract_source_archive(${ARCHIVE})
-file(COPY "${VCPKG_ROOT_DIR}/ports/${PORT}/chm.vcxproj"
- DESTINATION ${CHMLIB_SRC})
+file(GLOB VCXPROJS "${VCPKG_ROOT_DIR}/ports/${PORT}/*.vcxproj")
+file(COPY ${VCXPROJS} DESTINATION ${CHMLIB_SRC})
vcpkg_build_msbuild(
PROJECT_PATH ${CHMLIB_SRC}/chm.vcxproj
RELEASE_CONFIGURATION Release
DEBUG_CONFIGURATION Debug
- OPTIONS_DEBUG /p:OutDirPath="${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel"
- OPTIONS_RELEASE /p:OutDirPath="${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg"
- OPTIONS /v:diagnostic /p:SkipInvalidConfigurations=true
+ TARGET Build
+ OPTIONS /v:diagnostic
+)
+
+#enum_chmLib RELEASE only
+vcpkg_build_msbuild(
+ PROJECT_PATH ${CHMLIB_SRC}/enum_chmLib.vcxproj
+ RELEASE_CONFIGURATION Release
+ DEBUG_CONFIGURATION Release
+ TARGET Build
+ OPTIONS /v:diagnostic
+)
+
+#enumdir_chmLib RELEASE only
+vcpkg_build_msbuild(
+ PROJECT_PATH ${CHMLIB_SRC}/enumdir_chmLib.vcxproj
+ RELEASE_CONFIGURATION Release
+ DEBUG_CONFIGURATION Release
+ TARGET Build
+ OPTIONS /v:diagnostic
+)
+
+#extract_chmLib RELEASE only
+vcpkg_build_msbuild(
+ PROJECT_PATH ${CHMLIB_SRC}/extract_chmLib.vcxproj
+ RELEASE_CONFIGURATION Release
+ DEBUG_CONFIGURATION Release
+ TARGET Build
+ OPTIONS /v:diagnostic
)
file(INSTALL ${CHMLIB_SRC}/chm_lib.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/chm.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
-file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/chm.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+file(INSTALL ${CURRENT_BUILDTREES_DIR}/${VCPKG_TARGET_ARCHITECTURE}-windows-static-rel/chm.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+file(INSTALL ${CURRENT_BUILDTREES_DIR}/${VCPKG_TARGET_ARCHITECTURE}-windows-static-dbg/chm.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+file(INSTALL ${CURRENT_BUILDTREES_DIR}/${VCPKG_TARGET_ARCHITECTURE}-windows-static-rel/enum_chmLib.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
+file(INSTALL ${CURRENT_BUILDTREES_DIR}/${VCPKG_TARGET_ARCHITECTURE}-windows-static-rel/enumdir_chmLib.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
+file(INSTALL ${CURRENT_BUILDTREES_DIR}/${VCPKG_TARGET_ARCHITECTURE}-windows-static-rel/extract_chmLib.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
file(COPY ${CURRENT_BUILDTREES_DIR}/src/chmlib-0.40/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/chmlib)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/chmlib/COPYING ${CURRENT_PACKAGES_DIR}/share/chmlib/copyright) \ No newline at end of file
diff --git a/ports/clapack/CONTROL b/ports/clapack/CONTROL
index cb470e4cd..503ddbac5 100644
--- a/ports/clapack/CONTROL
+++ b/ports/clapack/CONTROL
@@ -1,4 +1,4 @@
Source: clapack
-Version: 3.2.1
+Version: 3.2.1-1
Description: CLAPACK (f2c'ed version of LAPACK)
Build-Depends: openblas
diff --git a/ports/clockutils/CONTROL b/ports/clockutils/CONTROL
index 8f88e71ec..59950365d 100644
--- a/ports/clockutils/CONTROL
+++ b/ports/clockutils/CONTROL
@@ -1,3 +1,3 @@
Source: clockutils
-Version: 1.1.1-3651f232c27074c4ceead169e223edf5f00247c5
+Version: 1.1.1-3651f232c27074c4ceead169e223edf5f00247c5-1
Description: A lightweight c++ library for commonly needed tasks. Optimized for simplicity and speed.
diff --git a/ports/console-bridge/CONTROL b/ports/console-bridge/CONTROL
new file mode 100644
index 000000000..ea6ebf3ba
--- /dev/null
+++ b/ports/console-bridge/CONTROL
@@ -0,0 +1,3 @@
+Source: console-bridge
+Version: 0.3.2-2
+Description: a ROS-independent package for logging that seamlessly pipes into rosconsole/rosout for ROS-dependent packages.
diff --git a/ports/console-bridge/License.txt b/ports/console-bridge/License.txt
new file mode 100644
index 000000000..affcb8568
--- /dev/null
+++ b/ports/console-bridge/License.txt
@@ -0,0 +1,31 @@
+Software License Agreement (BSD License)
+
+Copyright (c) 2008, Willow Garage, Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+* Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+* Neither the name of the Willow Garage nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file
diff --git a/ports/console-bridge/portfile.cmake b/ports/console-bridge/portfile.cmake
new file mode 100644
index 000000000..d88308e5c
--- /dev/null
+++ b/ports/console-bridge/portfile.cmake
@@ -0,0 +1,24 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ros/console_bridge
+ REF 0.3.2
+ SHA512 41fa5340d7ba79c887ef73eb4fda7b438ed91febd224934ae4658697e4c9e43357207e1b3e191ecce3c97cb9a87b0556372832735a268261bc798cc7683aa207
+ HEAD_REF master
+ )
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake")
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/console-bridge ${CURRENT_PACKAGES_DIR}/share/console_bridge)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/console-bridge RENAME copyright)
diff --git a/ports/corrade/CONTROL b/ports/corrade/CONTROL
index d8fb3681a..2d262a0e0 100644
--- a/ports/corrade/CONTROL
+++ b/ports/corrade/CONTROL
@@ -1,3 +1,3 @@
Source: corrade
-Version: jun2017-2
+Version: jun2017-3
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 3ae3710f6..88b27ab62 100644
--- a/ports/corrade/portfile.cmake
+++ b/ports/corrade/portfile.cmake
@@ -3,7 +3,7 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mosra/corrade
REF c182fe636894a998f241212d0205d0c126b7926f
- SHA512 e62486368eab9c5f90ef9f4af91500f465d9e3baa6e5f6e9f2a49844d09676faefcb965a9d5b27a54eda19436af6b23dcda19504be6cd0dcd52dfad2ad4bfa21
+ SHA512 d664c7884c0c6c7977261a851948b2b591ac0fbdbcfddab1d8e578e629a252f48fa786cf9f96525e10aa76c95919dfc3452ccbe5e930aa4a69e61269e4ee07ee
HEAD_REF master
)
@@ -44,4 +44,4 @@ endif()
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/corrade)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/corrade/COPYING ${CURRENT_PACKAGES_DIR}/share/corrade/copyright)
-vcpkg_copy_pdbs() \ No newline at end of file
+vcpkg_copy_pdbs()
diff --git a/ports/cpp-redis/CONTROL b/ports/cpp-redis/CONTROL
index 36b2e8b55..554755b57 100644
--- a/ports/cpp-redis/CONTROL
+++ b/ports/cpp-redis/CONTROL
@@ -1,4 +1,4 @@
Source: cpp-redis
-Version: 3.5.2-1
+Version: 3.5.2-2
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/cppcms/CONTROL b/ports/cppcms/CONTROL
index 74deb6633..8f8726ddc 100644
--- a/ports/cppcms/CONTROL
+++ b/ports/cppcms/CONTROL
@@ -1,4 +1,4 @@
Source: cppcms
-Version: 1.1.0
+Version: 1.1.0-1
Description: CppCMS is a Free High Performance Web Development Framework (not a CMS) aimed at Rapid Web Application Development
Build-Depends: icu, pcre, openssl, zlib
diff --git a/ports/cpprestsdk/CONTROL b/ports/cpprestsdk/CONTROL
index f34f1ad4a..f22ee9854 100644
--- a/ports/cpprestsdk/CONTROL
+++ b/ports/cpprestsdk/CONTROL
@@ -1,5 +1,5 @@
Source: cpprestsdk
-Version: 2.9.0-2
+Version: 2.9.0-3
Build-Depends: zlib (windows), openssl (windows), boost (windows), websocketpp (windows)
Description: C++11 JSON, REST, and OAuth library
- The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services. \ No newline at end of file
+ The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.
diff --git a/ports/cpprestsdk/portfile.cmake b/ports/cpprestsdk/portfile.cmake
index ea7d8d201..7482760d3 100644
--- a/ports/cpprestsdk/portfile.cmake
+++ b/ports/cpprestsdk/portfile.cmake
@@ -4,7 +4,7 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/cpprestsdk
REF v2.9.0
- SHA512 c75de6ad33b3e8d2c6ba7c0955ed851d557f78652fb38a565de0cfbc99e7db89cb6fa405857512e5149df80356c51ae9335abd914c3c593fa6658ac50adf4e29
+ SHA512 7f6af05e2aaf49fb5ba24f4fac43b7787345d46913831504925cefc60d1b62e38457e1d628d5de8b0db891b59716d2bfe63a494ca0b337d67fc9ca5447a5ba9b
HEAD_REF master
)
if(NOT VCPKG_USE_HEAD_VERSION)
diff --git a/ports/cppwinrt/CONTROL b/ports/cppwinrt/CONTROL
index e49eefe99..e470b2458 100644
--- a/ports/cppwinrt/CONTROL
+++ b/ports/cppwinrt/CONTROL
@@ -1,3 +1,3 @@
Source: cppwinrt
-Version: feb2017_refresh-14393
+Version: spring_2017_creators_update_for_vs_15.3
Description: C++/WinRT is a standard C++ language projection for the Windows Runtime.
diff --git a/ports/cppwinrt/portfile.cmake b/ports/cppwinrt/portfile.cmake
index b0e808c84..c83465efe 100644
--- a/ports/cppwinrt/portfile.cmake
+++ b/ports/cppwinrt/portfile.cmake
@@ -1,18 +1,18 @@
include(vcpkg_common_functions)
find_program(GIT git)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/cppwinrt-february_2017_refresh)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/cppwinrt-spring_2017_creators_update_for_vs_15.3)
vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/Microsoft/cppwinrt/archive/february_2017_refresh.tar.gz"
- FILENAME "cppwinrt-february_2017_refresh.tar.gz"
- SHA512 0e2ed94d65ae4c7297ae4d82d64a43fa59fac7b35fbe42ea939f135f0f6eb867f57fac70b6a9cc9a78912de75aa4482d48007f83a3781b147d237ae637fdaa0e
+ URLS "https://github.com/Microsoft/cppwinrt/archive/spring_2017_creators_update_for_vs_15.3.tar.gz"
+ FILENAME "cppwinrt-spring_2017_creators_update_for_vs_15.3.tar.gz"
+ SHA512 779586122552e49a79aff08f4476905e00c3b4ad3dbc502240e9a7cc59ec0e4ab6304149a66505923ab84d2b334059de9e18c84a5b0ed6bde106d19119ef911f
)
vcpkg_extract_source_archive(${ARCHIVE})
# Put the licence file where vcpkg expects it
-file(COPY ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/cppwinrt/license.txt)
+file(COPY ${SOURCE_PATH}/license DESTINATION ${CURRENT_PACKAGES_DIR}/share/cppwinrt/license.txt)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/cppwinrt/license.txt ${CURRENT_PACKAGES_DIR}/share/cppwinrt/copyright)
# Copy the cppwinrt header files
-file(GLOB HEADER_FILES ${SOURCE_PATH}/10.0.14393.0/winrt/*)
+file(GLOB HEADER_FILES ${SOURCE_PATH}/10.0.15063.0/winrt/*)
file(COPY ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/winrt)
diff --git a/ports/cpr/CONTROL b/ports/cpr/CONTROL
index 417850b75..f79ef823c 100644
--- a/ports/cpr/CONTROL
+++ b/ports/cpr/CONTROL
@@ -1,4 +1,4 @@
Source: cpr
-Version: 1.3.0
+Version: 1.3.0-1
Description: C++ Requests is a simple wrapper around libcurl inspired by the excellent Python Requests project.
Build-Depends: curl
diff --git a/ports/cryptopp/CONTROL b/ports/cryptopp/CONTROL
index 2a38d8910..00d14756a 100644
--- a/ports/cryptopp/CONTROL
+++ b/ports/cryptopp/CONTROL
@@ -1,3 +1,3 @@
Source: cryptopp
-Version: 5.6.5
+Version: 5.6.5-1
Description: Crypto++ is a free C++ class library of cryptographic schemes.
diff --git a/ports/ctemplate/CONTROL b/ports/ctemplate/CONTROL
index 5e9e69753..1125efc18 100644
--- a/ports/ctemplate/CONTROL
+++ b/ports/ctemplate/CONTROL
@@ -1,3 +1,3 @@
Source: ctemplate
-Version: 2017-06-23-44b7c5-2
+Version: 2017-06-23-44b7c5-3
Description: C++ CTemplate system
diff --git a/ports/ctemplate/portfile.cmake b/ports/ctemplate/portfile.cmake
index af1f0532c..d22c3afa4 100644
--- a/ports/ctemplate/portfile.cmake
+++ b/ports/ctemplate/portfile.cmake
@@ -1,27 +1,20 @@
include(vcpkg_common_functions)
-set(GIT_REF 44b7c5b918a08ad561c63e9d28beecb40c10ebca)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO OlafvdSpek/ctemplate
- REF 44b7c5b918a08ad561c63e9d28beecb40c10ebca
- SHA512 b572f6d0d182e977d3a459e68bde6244dad7196c44c16407990dc1fb6a7a93bcd8d6851e515d50b6051c1d011f71695f895f6ab233664baadae0bf6a3d464305
+ REF 4b7e6c52dc7cbb4d51c9abcebcbac91ec256a62b
+ SHA512 9317fb26f22892b0bc2ca17cbccb5b084091050aa88766b4ed673a690bc4cdb9cd882134fbcd7ed3ee156f6a6937218717765143796d7e98b532355867ed042b
HEAD_REF master
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-vcpkg_find_acquire_program(PYTHON2)
-
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/fix-msvc.patch
-)
+vcpkg_find_acquire_program(PYTHON3)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- OPTIONS -DPYTHON_EXECUTABLE=${PYTHON2}
+ OPTIONS -DPYTHON_EXECUTABLE=${PYTHON3}
OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON
)
diff --git a/ports/cunit/CONTROL b/ports/cunit/CONTROL
index 3ef430092..4b43a0159 100644
--- a/ports/cunit/CONTROL
+++ b/ports/cunit/CONTROL
@@ -1,3 +1,3 @@
Source: cunit
-Version: 2.1.3-1
+Version: 2.1.3-2
Description: CUnit is a lightweight system for writing, administering, and running unit tests in C. It provides C programmers a basic testing functionality with a flexible variety of user interfaces
diff --git a/ports/curl/CONTROL b/ports/curl/CONTROL
index d7da6511c..1193e114f 100644
--- a/ports/curl/CONTROL
+++ b/ports/curl/CONTROL
@@ -1,4 +1,4 @@
Source: curl
-Version: 7.55.1
+Version: 7.55.1-1
Build-Depends: zlib, openssl, libssh2
Description: A library for transferring data with URLs
diff --git a/ports/date/CMakeLists.txt b/ports/date/CMakeLists.txt
new file mode 100644
index 000000000..91fcab1c7
--- /dev/null
+++ b/ports/date/CMakeLists.txt
@@ -0,0 +1,30 @@
+cmake_minimum_required(VERSION 3.5.1)
+project(tz CXX)
+
+if(MSVC)
+ add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS)
+endif()
+
+add_definitions(-DNOMINMAX)
+
+
+include_directories(".")
+
+add_library(tz 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(
+ TARGETS tz
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(FILES date.h tz.h julian.h iso_week.h islamic.h DESTINATION include)
+endif()
diff --git a/ports/date/CONTROL b/ports/date/CONTROL
new file mode 100644
index 000000000..8eab618c2
--- /dev/null
+++ b/ports/date/CONTROL
@@ -0,0 +1,3 @@
+Source: date
+Version: 2.2
+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
new file mode 100644
index 000000000..f73c72b52
--- /dev/null
+++ b/ports/date/portfile.cmake
@@ -0,0 +1,38 @@
+include(vcpkg_common_functions)
+
+message(WARNING
+ "You will need to also install http://unicode.org/repos/cldr/trunk/common/supplemental/windowsZones.xml into your install location"
+ "See https://howardhinnant.github.io/date/tz.html"
+)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO HowardHinnant/date
+ REF 272d487b3d490126e520b67fe76bbb2e67226c07
+ SHA512 59e8ff642d3eb82cb6116a77d4c5e14bbc2ae6bd4019e64a49609b6e46d679c2cb4ccae74807b72223aed18ae015596193919cdb58b011bfb774ff3e29a1d43b
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON
+)
+
+vcpkg_install_cmake()
+
+vcpkg_copy_pdbs()
+
+set(HEADER "${CURRENT_PACKAGES_DIR}/include/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}")
+endif()
+file(WRITE "${HEADER}" "${_contents}")
+
+
+file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/date RENAME copyright)
diff --git a/ports/dimcli/CONTROL b/ports/dimcli/CONTROL
index 295c1ecda..2b108239d 100644
--- a/ports/dimcli/CONTROL
+++ b/ports/dimcli/CONTROL
@@ -1,3 +1,3 @@
Source: dimcli
-Version: 2.0.0
+Version: 2.0.0-1
Description: C++ command line parser toolkit
diff --git a/ports/dlfcn-win32/CONTROL b/ports/dlfcn-win32/CONTROL
index 2d73fc36c..c8fd02dce 100644
--- a/ports/dlfcn-win32/CONTROL
+++ b/ports/dlfcn-win32/CONTROL
@@ -1,3 +1,3 @@
Source: dlfcn-win32
-Version: 1.1.1
+Version: 1.1.1-1
Description: dlfcn-win32 is an implementation of dlfcn for Windows.
diff --git a/ports/dlib/CONTROL b/ports/dlib/CONTROL
index d9db5b99d..ce39fcb1b 100644
--- a/ports/dlib/CONTROL
+++ b/ports/dlib/CONTROL
@@ -1,4 +1,4 @@
Source: dlib
-Version: 19.4-4
+Version: 19.4-5
Build-Depends: libjpeg-turbo, libpng, sqlite3, fftw3
Description: Modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++
diff --git a/ports/double-conversion/CONTROL b/ports/double-conversion/CONTROL
index 2ab2391e7..8ef2de918 100644
--- a/ports/double-conversion/CONTROL
+++ b/ports/double-conversion/CONTROL
@@ -1,3 +1,3 @@
Source: double-conversion
-Version: 3.0.0
+Version: 3.0.0-1
Description: Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles.
diff --git a/ports/draco/CONTROL b/ports/draco/CONTROL
index f8ce4ba96..44fbde429 100644
--- a/ports/draco/CONTROL
+++ b/ports/draco/CONTROL
@@ -1,4 +1,4 @@
Source: draco
-Version: 0.10.0
+Version: 0.10.0-1
Description: A library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics.
-Build-Depends: \ No newline at end of file
+Build-Depends:
diff --git a/ports/duktape/CONTROL b/ports/duktape/CONTROL
index 74b01d4cf..b0f599dd8 100644
--- a/ports/duktape/CONTROL
+++ b/ports/duktape/CONTROL
@@ -1,4 +1,4 @@
Source: duktape
-Version: 2.0.3-3
+Version: 2.0.3-4
Description: Embeddable Javascript engine with a focus on portability and compact footprint.
Build-Depends:
diff --git a/ports/ecm/CONTROL b/ports/ecm/CONTROL
index e124c960e..12a9fd8a9 100644
--- a/ports/ecm/CONTROL
+++ b/ports/ecm/CONTROL
@@ -1,3 +1,3 @@
Source: ecm
-Version: 5.37.0
+Version: 5.37.0-1
Description: Extra CMake Modules (ECM), extra modules and scripts for CMake
diff --git a/ports/eigen3/CONTROL b/ports/eigen3/CONTROL
index 9920801cf..1e61ce95f 100644
--- a/ports/eigen3/CONTROL
+++ b/ports/eigen3/CONTROL
@@ -1,3 +1,3 @@
Source: eigen3
-Version: 3.3.4
+Version: 3.3.4-1
Description: C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
diff --git a/ports/embree/CONTROL b/ports/embree/CONTROL
index 3f4ff53a1..3c9ac0c7c 100644
--- a/ports/embree/CONTROL
+++ b/ports/embree/CONTROL
@@ -1,4 +1,4 @@
Source: embree
-Version: 2.16.4-1
+Version: 2.16.4-2
Description: High Performance Ray Tracing Kernels.
Build-Depends: tbb
diff --git a/ports/enet/CMakeLists.txt b/ports/enet/CMakeLists.txt
new file mode 100644
index 000000000..012e21d64
--- /dev/null
+++ b/ports/enet/CMakeLists.txt
@@ -0,0 +1,81 @@
+cmake_minimum_required(VERSION 2.6)
+
+project(enet)
+
+# The "configure" step.
+include(CheckFunctionExists)
+include(CheckStructHasMember)
+include(CheckTypeSize)
+check_function_exists("fcntl" HAS_FCNTL)
+check_function_exists("poll" HAS_POLL)
+check_function_exists("getaddrinfo" HAS_GETADDRINFO)
+check_function_exists("getnameinfo" HAS_GETNAMEINFO)
+check_function_exists("gethostbyname_r" HAS_GETHOSTBYNAME_R)
+check_function_exists("gethostbyaddr_r" HAS_GETHOSTBYADDR_R)
+check_function_exists("inet_pton" HAS_INET_PTON)
+check_function_exists("inet_ntop" HAS_INET_NTOP)
+check_struct_has_member("struct msghdr" "msg_flags" "sys/types.h;sys/socket.h" HAS_MSGHDR_FLAGS)
+set(CMAKE_EXTRA_INCLUDE_FILES "sys/types.h" "sys/socket.h")
+check_type_size("socklen_t" HAS_SOCKLEN_T BUILTIN_TYPES_ONLY)
+unset(CMAKE_EXTRA_INCLUDE_FILES)
+if(MSVC)
+ add_definitions(-W3)
+else()
+ add_definitions(-Wno-error)
+endif()
+
+if(HAS_FCNTL)
+ add_definitions(-DHAS_FCNTL=1)
+endif()
+if(HAS_POLL)
+ add_definitions(-DHAS_POLL=1)
+endif()
+if(HAS_GETNAMEINFO)
+ add_definitions(-DHAS_GETNAMEINFO=1)
+endif()
+if(HAS_GETADDRINFO)
+ add_definitions(-DHAS_GETADDRINFO=1)
+endif()
+if(HAS_GETHOSTBYNAME_R)
+ add_definitions(-DHAS_GETHOSTBYNAME_R=1)
+endif()
+if(HAS_GETHOSTBYADDR_R)
+ add_definitions(-DHAS_GETHOSTBYADDR_R=1)
+endif()
+if(HAS_INET_PTON)
+ add_definitions(-DHAS_INET_PTON=1)
+endif()
+if(HAS_INET_NTOP)
+ add_definitions(-DHAS_INET_NTOP=1)
+endif()
+if(HAS_MSGHDR_FLAGS)
+ add_definitions(-DHAS_MSGHDR_FLAGS=1)
+endif()
+if(HAS_SOCKLEN_T)
+ add_definitions(-DHAS_SOCKLEN_T=1)
+endif()
+
+include_directories(${PROJECT_SOURCE_DIR}/include)
+
+add_library(enet STATIC
+ callbacks.c
+ compress.c
+ host.c
+ list.c
+ packet.c
+ peer.c
+ protocol.c
+ unix.c
+ win32.c
+ )
+
+if (WIN32)
+ target_link_libraries(enet winmm ws2_32)
+endif()
+
+install(TARGETS enet ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+ RUNTIME DESTINATION bin)
+
+install(DIRECTORY include/
+ DESTINATION include) \ No newline at end of file
diff --git a/ports/enet/CONTROL b/ports/enet/CONTROL
new file mode 100644
index 000000000..f75b49de9
--- /dev/null
+++ b/ports/enet/CONTROL
@@ -0,0 +1,4 @@
+Source: enet
+Version: 1.3.13
+Description: Reliable UDP networking library
+
diff --git a/ports/enet/portfile.cmake b/ports/enet/portfile.cmake
new file mode 100644
index 000000000..2a7fa4585
--- /dev/null
+++ b/ports/enet/portfile.cmake
@@ -0,0 +1,38 @@
+# 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 "lsalzman/enet"
+ REF f7c46f03fd8d883ac2811948aa71c7623069d070
+ HEAD_REF master
+ SHA512 2d5593ea56473b38479921fd0849318bf3ecb233f92fa487ba395a0bb7e6a3997109287867a67c66721f761a30cceab4ba4709080a93ed977b7650b10cab1936
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA # 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()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/enet RENAME copyright)
+
+vcpkg_copy_pdbs() \ No newline at end of file
diff --git a/ports/entityx/CONTROL b/ports/entityx/CONTROL
index f522fe702..cbf618e0a 100644
--- a/ports/entityx/CONTROL
+++ b/ports/entityx/CONTROL
@@ -1,3 +1,3 @@
Source: entityx
-Version: 1.2.0
+Version: 1.2.0-1
Description: EntityX - A fast, type-safe C++ Entity-Component system. <https://github.com/alecthomas/entityx>
diff --git a/ports/evpp/CONTROL b/ports/evpp/CONTROL
index 1f9f3a443..163052ae0 100644
--- a/ports/evpp/CONTROL
+++ b/ports/evpp/CONTROL
@@ -1,4 +1,4 @@
Source: evpp
-Version: 0.6.1
+Version: 0.6.1-1
Description: A modern C++ network library based on libevent for developing high performance network services in TCP/UDP/HTTP protocols.
Build-Depends: glog, libevent
diff --git a/ports/exiv2/CONTROL b/ports/exiv2/CONTROL
new file mode 100644
index 000000000..4db8e73ee
--- /dev/null
+++ b/ports/exiv2/CONTROL
@@ -0,0 +1,4 @@
+Source: exiv2
+Version: 4f4add2cdcbe73af7098122a509dff0739d15908
+Build-Depends:zlib, expat
+Description: Image metadata library and tools http://www.exiv2.org
diff --git a/ports/exiv2/portfile.cmake b/ports/exiv2/portfile.cmake
new file mode 100644
index 000000000..f9aff3e93
--- /dev/null
+++ b/ports/exiv2/portfile.cmake
@@ -0,0 +1,29 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Exiv2/exiv2
+ REF 4f4add2cdcbe73af7098122a509dff0739d15908
+ SHA512 32207cfd7ac932942562e062e851d7ba9be5586f33c2d924fb2a908a78f0c53f0d2973108c49bc865a3e7697a04a4b65d991441e4b89baca82b51b61affd4fa3
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+)
+
+vcpkg_install_cmake()
+
+vcpkg_copy_pdbs()
+
+# Clean
+file(GLOB EXE ${CURRENT_PACKAGES_DIR}/bin/*.exe)
+file(GLOB DEBUG_EXE ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
+file(REMOVE ${EXE})
+file(REMOVE ${DEBUG_EXE})
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/ABOUT-NLS DESTINATION ${CURRENT_PACKAGES_DIR}/share/exiv2)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/exiv2/ABOUT-NLS ${CURRENT_PACKAGES_DIR}/share/exiv2/copyright)
diff --git a/ports/expat/CONTROL b/ports/expat/CONTROL
index f833c3cf0..450b8e61d 100644
--- a/ports/expat/CONTROL
+++ b/ports/expat/CONTROL
@@ -1,3 +1,3 @@
Source: expat
-Version: 2.2.4-1
+Version: 2.2.4-2
Description: XML parser library written in C
diff --git a/ports/fadbad/CONTROL b/ports/fadbad/CONTROL
new file mode 100644
index 000000000..ebf987962
--- /dev/null
+++ b/ports/fadbad/CONTROL
@@ -0,0 +1,3 @@
+Source: fadbad
+Version: 2.1.0
+Description: FADBAD++ Templates for Automatic Differentiation
diff --git a/ports/fadbad/portfile.cmake b/ports/fadbad/portfile.cmake
new file mode 100644
index 000000000..af9721962
--- /dev/null
+++ b/ports/fadbad/portfile.cmake
@@ -0,0 +1,18 @@
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/FADBAD++)
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://www.fadbad.com/download/FADBAD++-2.1.tar.gz"
+ FILENAME "FADBAD++-2.1.tar.gz"
+ SHA512 7a82c51c03acb0806d673853f391379ea974e304c831ee15ef05a90c30661736ff572481b5b8254b2646c63968043ee90a06cba88261b87fc34d01f92403360a
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+file(INSTALL
+ ${SOURCE_PATH}/tadiff.h
+ ${SOURCE_PATH}/fadbad.h
+ ${SOURCE_PATH}/fadiff.h
+ ${SOURCE_PATH}/badiff.h
+ DESTINATION ${CURRENT_PACKAGES_DIR}/include
+)
+
+file(INSTALL ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/fadbad RENAME copyright)
diff --git a/ports/fastlz/CONTROL b/ports/fastlz/CONTROL
index 089ba333e..51c95cec8 100644
--- a/ports/fastlz/CONTROL
+++ b/ports/fastlz/CONTROL
@@ -1,3 +1,3 @@
Source: fastlz
-Version: 1.0
+Version: 1.0-1
Description: A lightning-fast lossless compression library
diff --git a/ports/fcl/CONTROL b/ports/fcl/CONTROL
index c83593cb3..daadff075 100644
--- a/ports/fcl/CONTROL
+++ b/ports/fcl/CONTROL
@@ -1,4 +1,4 @@
Source: fcl
-Version: 0.5.0-1
+Version: 0.5.0-2
Description: a library for performing three types of proximity queries on a pair of geometric models composed of triangles
-Build-Depends: boost, ccd, octomap \ No newline at end of file
+Build-Depends: boost, ccd, octomap
diff --git a/ports/ffmpeg/build.sh b/ports/ffmpeg/build.sh
index 3474a111e..eea05c959 100644
--- a/ports/ffmpeg/build.sh
+++ b/ports/ffmpeg/build.sh
@@ -1,6 +1,13 @@
#!/usr/bin/bash
set -e
export PATH=/usr/bin:$PATH
+# Export HTTP(S)_PROXY as http(s)_proxy:
+if [ "$HTTP_PROXY" ]; then
+ export http_proxy=$HTTP_PROXY
+fi
+if [ "$HTTPS_PROXY" ]; then
+ export https_proxy=$HTTPS_PROXY
+fi
pacman -Sy --noconfirm --needed diffutils make
PATH_TO_BUILD_DIR="`cygpath "$1"`"
diff --git a/ports/fftw3/CONTROL b/ports/fftw3/CONTROL
index b4fba283d..50513df27 100644
--- a/ports/fftw3/CONTROL
+++ b/ports/fftw3/CONTROL
@@ -1,3 +1,3 @@
Source: fftw3
-Version: 3.3.6-p12
+Version: 3.3.6-p12-1
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/flann/CONTROL b/ports/flann/CONTROL
index f4a062981..b70472913 100644
--- a/ports/flann/CONTROL
+++ b/ports/flann/CONTROL
@@ -1,3 +1,3 @@
Source: flann
-Version: 1.9.1-5
+Version: 1.9.1-6
Description: Fast Library for Approximate Nearest Neighbors
diff --git a/ports/flatbuffers/CONTROL b/ports/flatbuffers/CONTROL
index e68024e91..5611e4945 100644
--- a/ports/flatbuffers/CONTROL
+++ b/ports/flatbuffers/CONTROL
@@ -1,4 +1,4 @@
Source: flatbuffers
-Version: 1.7.1
+Version: 1.7.1-1
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. \ No newline at end of file
+ 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/fltk/CONTROL b/ports/fltk/CONTROL
index 2b4f00629..8261b63a5 100644
--- a/ports/fltk/CONTROL
+++ b/ports/fltk/CONTROL
@@ -1,4 +1,4 @@
Source: fltk
-Version: 1.3.4-4
+Version: 1.3.4-5
Description: FLTK (pronounced fulltick) is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL and its built-in GLUT emulation.
-Build-Depends: zlib, libpng, libjpeg-turbo \ No newline at end of file
+Build-Depends: zlib, libpng, libjpeg-turbo
diff --git a/ports/fmt/CONTROL b/ports/fmt/CONTROL
index c4fd79f76..c0fd45c63 100644
--- a/ports/fmt/CONTROL
+++ b/ports/fmt/CONTROL
@@ -1,3 +1,3 @@
Source: fmt
-Version: 4.0.0
+Version: 4.0.0-1
Description: Formatting library for C++. It can be used as a safe alternative to printf or as a fast alternative to IOStreams.
diff --git a/ports/folly/CONTROL b/ports/folly/CONTROL
index 489465d74..d8652e657 100644
--- a/ports/folly/CONTROL
+++ b/ports/folly/CONTROL
@@ -1,4 +1,4 @@
Source: folly
-Version: v2017.07.17.01
+Version: v2017.07.17.01-1
Description: An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows
Build-Depends: zlib, openssl, boost, libevent, double-conversion, glog, gflags, lz4, liblzma, snappy
diff --git a/ports/fontconfig/CONTROL b/ports/fontconfig/CONTROL
index 5fc4fcff2..f81a2ddd6 100644
--- a/ports/fontconfig/CONTROL
+++ b/ports/fontconfig/CONTROL
@@ -1,4 +1,4 @@
Source: fontconfig
-Version: 2.12.4
+Version: 2.12.4-1
Description: Library for configuring and customizing font access.
Build-Depends: freetype, expat, libiconv, dirent
diff --git a/ports/freeglut/CONTROL b/ports/freeglut/CONTROL
index 775f98938..82f0dc1f1 100644
--- a/ports/freeglut/CONTROL
+++ b/ports/freeglut/CONTROL
@@ -1,3 +1,3 @@
Source: freeglut
-Version: 3.0.0-1
-Description: Open source implementation of GLUT with source and binary backwards compatibility. \ No newline at end of file
+Version: 3.0.0-2
+Description: Open source implementation of GLUT with source and binary backwards compatibility.
diff --git a/ports/freeimage/CONTROL b/ports/freeimage/CONTROL
index 2d9fa1523..9d7c65b6f 100644
--- a/ports/freeimage/CONTROL
+++ b/ports/freeimage/CONTROL
@@ -1,4 +1,4 @@
Source: freeimage
-Version: 3.17.0-2
+Version: 3.17.0-3
Build-Depends: zlib, libpng, libjpeg-turbo, tiff, openjpeg, libwebp, libraw, jxrlib, openexr
Description: Support library for graphics image formats
diff --git a/ports/freerdp/CONTROL b/ports/freerdp/CONTROL
index 849fd740b..5a730efb7 100644
--- a/ports/freerdp/CONTROL
+++ b/ports/freerdp/CONTROL
@@ -1,4 +1,4 @@
Source: freerdp
-Version: 2.0.0-rc0~vcpkg1
+Version: 2.0.0-rc0~vcpkg1-1
Description: A free implementation of the Remote Desktop Protocol (RDP)
-Build-Depends: openssl \ No newline at end of file
+Build-Depends: openssl
diff --git a/ports/freerdp/portfile.cmake b/ports/freerdp/portfile.cmake
index 8ac9df315..6805c5a69 100644
--- a/ports/freerdp/portfile.cmake
+++ b/ports/freerdp/portfile.cmake
@@ -2,7 +2,7 @@ include(vcpkg_common_functions)
set(FREERDP_VERSION 2.0.0-rc0)
set(FREERDP_REVISION 2.0.0-rc0)
-set(FREERDP_HASH 9bc9ee976c73f274a4258613409e242088bd077bcd1cc43f7941170374fc0f9deda7f2f7644506d0cdc2e029b6037abb21d848810dcce6aefa3c5f1642f19cb3)
+set(FREERDP_HASH d3eb0d5d23aa2a4d0277414f13a984d40aba051102c5af1e5ade975cdb469ef3549b145cd4339415fc33f056044929cfac71884512ea77a1e718d70d5b21b9dd)
string(REGEX REPLACE "\\+" "-" FREERDP_VERSION_ESCAPED ${FREERDP_VERSION})
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/FreeRDP-${FREERDP_VERSION_ESCAPED})
@@ -76,4 +76,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
endif()
-file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/freerdp/cmake) \ No newline at end of file
+file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/freerdp/cmake)
diff --git a/ports/freetype/CONTROL b/ports/freetype/CONTROL
index 541f8b024..bf65eb28f 100644
--- a/ports/freetype/CONTROL
+++ b/ports/freetype/CONTROL
@@ -1,4 +1,4 @@
Source: freetype
-Version: 2.8
+Version: 2.8-1
Build-Depends: zlib, bzip2, libpng
-Description: A library to render fonts. \ No newline at end of file
+Description: A library to render fonts.
diff --git a/ports/freexl/CONTROL b/ports/freexl/CONTROL
new file mode 100644
index 000000000..8e0c8da93
--- /dev/null
+++ b/ports/freexl/CONTROL
@@ -0,0 +1,5 @@
+Source: freexl
+Version: 1.0.4
+Description: FreeXL is an open source library to extract valid data from within an Excel (.xls) spreadsheet
+Build-Depends: libiconv
+
diff --git a/ports/freexl/fix-makefiles.patch b/ports/freexl/fix-makefiles.patch
new file mode 100644
index 000000000..5cf2c470f
--- /dev/null
+++ b/ports/freexl/fix-makefiles.patch
@@ -0,0 +1,43 @@
+diff --git a/makefile.vc b/makefile.vc
+index 0aacbc7..d95d859 100644
+--- a/makefile.vc
++++ b/makefile.vc
+@@ -7,7 +7,7 @@
+ LIBOBJ = freexl.obj
+ FREEXL_DLL = freexl$(VERSION).dll
+
+-CFLAGS = /nologo -IC:\OSGeo4W\include -I. -Iheaders $(OPTFLAGS)
++CFLAGS = /nologo -I$(INSTALLED_ROOT)\include -I. -Iheaders $(OPTFLAGS)
+
+ default: all
+
+@@ -23,9 +23,9 @@ freexl.lib: $(LIBOBJ)
+ $(FREEXL_DLL): freexl_i.lib
+
+ freexl_i.lib: $(LIBOBJ)
+- link /debug /dll /out:$(FREEXL_DLL) \
++ link $(LINK_FLAGS) /dll /out:$(FREEXL_DLL) \
+ /implib:freexl_i.lib $(LIBOBJ) \
+- C:\OSGeo4w\lib\iconv.lib
++ $(LIBS_ALL)
+ if exist $(FREEXL_DLL).manifest mt -manifest \
+ $(FREEXL_DLL).manifest -outputresource:$(FREEXL_DLL);2
+
+diff --git a/nmake.opt b/nmake.opt
+index 35f9242..efb6f77 100644
+--- a/nmake.opt
++++ b/nmake.opt
+@@ -1,10 +1,10 @@
+ # Directory tree where FreeXL will be installed.
+-INSTDIR=C:\OSGeo4W
++INSTDIR=$(INST_DIR)
+
+ # Uncomment the first for an optimized build, or the second for debug.
+-OPTFLAGS= /nologo /Ox /fp:precise /W3 /MD /D_CRT_SECURE_NO_WARNINGS \
++OPTFLAGS= /nologo /fp:precise /W3 $(CL_FLAGS) /D_CRT_SECURE_NO_WARNINGS \
+ /DDLL_EXPORT
+-#OPTFLAGS= /nologo /Zi /MD /Fdfreexl.pdb /DDLL_EXPORT
++#OPTFLAGS= /nologo $(CL_FLAGS) /Fdfreexl.pdb /DDLL_EXPORT
+
+ # Set the version number for the DLL. Normally we leave this blank since
+ # we want software that is dynamically loading the DLL to have no problem
diff --git a/ports/freexl/fix-sources.patch b/ports/freexl/fix-sources.patch
new file mode 100644
index 000000000..89a36f3b3
--- /dev/null
+++ b/ports/freexl/fix-sources.patch
@@ -0,0 +1,35 @@
+diff --git a/config-msvc.h b/config-msvc.h
+index a39d4e7..37f1c0b 100644
+--- a/config-msvc.h
++++ b/config-msvc.h
+@@ -66,7 +66,7 @@
+ #define HAVE_SYS_TYPES_H 1
+
+ /* Define to 1 if you have the <unistd.h> header file. */
+-#define HAVE_UNISTD_H 1
++#undef HAVE_UNISTD_H
+
+ /* Define to 1 if `lstat' dereferences a symlink specified with a trailing
+ slash. */
+diff --git a/src/freexl.c b/src/freexl.c
+index a0b255a..92163a9 100644
+--- a/src/freexl.c
++++ b/src/freexl.c
+@@ -92,7 +92,7 @@ freexl_version (void)
+ #if defined(_WIN32) && !defined(__MINGW32__)
+ /* MSVC compiler doesn't support lround() at all */
+ static double
+-round (double num)
++round_old (double num)
+ {
+ double integer = ceil (num);
+ if (num > 0)
+@@ -101,7 +101,7 @@ round (double num)
+ }
+
+ static long
+-lround (double num)
++lround_old (double num)
+ {
+ long integer = (long) round (num);
+ return integer;
diff --git a/ports/freexl/portfile.cmake b/ports/freexl/portfile.cmake
new file mode 100644
index 000000000..b808d2a60
--- /dev/null
+++ b/ports/freexl/portfile.cmake
@@ -0,0 +1,82 @@
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/freexl-1.0.4)
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://www.gaia-gis.it/gaia-sins/freexl-1.0.4.tar.gz"
+ FILENAME "freexl-1.0.4.tar.gz"
+ SHA512 d72561f7b82e0281cb211fbf249e5e45411a7cdd009cfb58da3696f0a0341ea7df210883bfde794be28738486aeb4ffc67ec2c98fd2acde5280e246e204ce788
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/fix-makefiles.patch
+ ${CMAKE_CURRENT_LIST_DIR}/fix-sources.patch
+)
+find_program(NMAKE nmake)
+
+set(LIBS_ALL_DBG
+ "\"${CURRENT_INSTALLED_DIR}/debug/lib/libiconv.lib\" \
+ \"${CURRENT_INSTALLED_DIR}/debug/lib/libcharset.lib\""
+ )
+set(LIBS_ALL_REL
+ "\"${CURRENT_INSTALLED_DIR}/lib/libiconv.lib\" \
+ \"${CURRENT_INSTALLED_DIR}/lib/libcharset.lib\""
+ )
+
+
+if(VCPKG_CRT_LINKAGE STREQUAL dynamic)
+ set(CL_FLAGS_DBG "/MDd /Zi")
+ set(CL_FLAGS_REL "/MD /Ox")
+else()
+ set(CL_FLAGS_DBG "/MTd /Zi")
+ set(CL_FLAGS_REL "/MT /Ox")
+endif()
+
+
+################
+# Debug build
+################
+message(STATUS "Building ${TARGET_TRIPLET}-dbg")
+
+file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" INST_DIR_DBG)
+vcpkg_execute_required_process(
+ COMMAND ${NMAKE} -f makefile.vc clean install
+ INST_DIR="${INST_DIR_DBG}" INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" "LINK_FLAGS=/debug" "CL_FLAGS=${CL_FLAGS_DBG}" "LIBS_ALL=${LIBS_ALL_DBG}"
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME nmake-build-${TARGET_TRIPLET}-debug
+)
+message(STATUS "Building ${TARGET_TRIPLET}-dbg done")
+vcpkg_copy_pdbs()
+
+################
+# Release build
+################
+message(STATUS "Building ${TARGET_TRIPLET}-rel")
+
+file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR_REL)
+vcpkg_execute_required_process(
+ COMMAND ${NMAKE} -f makefile.vc clean install
+ INST_DIR="${INST_DIR_REL}" INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" "LINK_FLAGS=" "CL_FLAGS=${CL_FLAGS_REL}" "LIBS_ALL=${LIBS_ALL_REL}"
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME nmake-build-${TARGET_TRIPLET}-release
+)
+message(STATUS "Building ${TARGET_TRIPLET}-rel done")
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/freexl RENAME copyright)
+
+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/freexl_i.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/freexl_i.lib)
+else()
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/freexl.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/freexl.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/freexl_i.lib ${CURRENT_PACKAGES_DIR}/lib/freexl.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/freexl_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/freexl.lib)
+endif()
+
+
+message(STATUS "Packaging ${TARGET_TRIPLET} done")
diff --git a/ports/fuzzylite/CONTROL b/ports/fuzzylite/CONTROL
index b278a1b8f..422a8af2e 100644
--- a/ports/fuzzylite/CONTROL
+++ b/ports/fuzzylite/CONTROL
@@ -1,3 +1,3 @@
Source: fuzzylite
-Version: 6.0
+Version: 6.0-1
Description: A fuzzy logic control library in C++
diff --git a/ports/g2o/CONTROL b/ports/g2o/CONTROL
index 00ec4d963..81e2b045d 100644
--- a/ports/g2o/CONTROL
+++ b/ports/g2o/CONTROL
@@ -1,4 +1,4 @@
Source: g2o
-Version: 20170730_git-1
+Version: 20170730_git-2
Build-Depends: suitesparse, eigen3, clapack, ceres
Description: g2o: A General Framework for Graph Optimization http://openslam.org/g2o.html
diff --git a/ports/gdal/CONTROL b/ports/gdal/CONTROL
index 868a5e929..083a52800 100644
--- a/ports/gdal/CONTROL
+++ b/ports/gdal/CONTROL
@@ -1,4 +1,4 @@
Source: gdal
Version: 1.11.3-5
Description: The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data.
-Build-Depends: proj, libpng, geos, sqlite3, curl, expat, libpq, libmysql, openjpeg, libwebp, libxml2, liblzma
+Build-Depends: proj4, libpng, geos, sqlite3, curl, expat, libpq, libmysql, openjpeg, libwebp, libxml2, liblzma
diff --git a/ports/gdcm2/CONTROL b/ports/gdcm2/CONTROL
index 32b92aca0..b39b3e19f 100644
--- a/ports/gdcm2/CONTROL
+++ b/ports/gdcm2/CONTROL
@@ -1,4 +1,4 @@
Source: gdcm2
-Version: 2.6.8
+Version: 2.6.8-1
Description: Grassroots DICOM library
Build-Depends: zlib, expat
diff --git a/ports/gdk-pixbuf/CONTROL b/ports/gdk-pixbuf/CONTROL
index c12f67583..2a0fbfaf3 100644
--- a/ports/gdk-pixbuf/CONTROL
+++ b/ports/gdk-pixbuf/CONTROL
@@ -1,4 +1,4 @@
Source: gdk-pixbuf
-Version: 2.36.9
+Version: 2.36.9-1
Description: Image loading library.
Build-Depends: gettext, zlib, libpng, glib
diff --git a/ports/geogram/CONTROL b/ports/geogram/CONTROL
index 95690395b..f79aa5997 100644
--- a/ports/geogram/CONTROL
+++ b/ports/geogram/CONTROL
@@ -1,4 +1,4 @@
Source: geogram
-Version: 1.4.9
+Version: 1.4.9-1
Description: Geogram is a programming library of geometric algorithms.
Build-Depends: glfw3, openblas, clapack
diff --git a/ports/geographiclib/CONTROL b/ports/geographiclib/CONTROL
index 836049a66..993239b96 100644
--- a/ports/geographiclib/CONTROL
+++ b/ports/geographiclib/CONTROL
@@ -1,3 +1,3 @@
Source: geographiclib
-Version: 1.47-patch1-3
+Version: 1.47-patch1-4
Description: a small set of C++ classes for performing conversions between geographic, UTM, UPS, MGRS, geocentric, and local cartesian coordinates, for gravity (e.g., EGM2008), geoid height, and geomagnetic field (e.g., WMM2010) calculations, and for solving geodesic problems.
diff --git a/ports/geos/CONTROL b/ports/geos/CONTROL
index c0ec7b134..3d2ed4565 100644
--- a/ports/geos/CONTROL
+++ b/ports/geos/CONTROL
@@ -1,3 +1,3 @@
Source: geos
-Version: 3.5.0
+Version: 3.6.2-1
Description: Geometry Engine Open Source
diff --git a/ports/geos/geos_c-static-support.patch b/ports/geos/geos_c-static-support.patch
new file mode 100644
index 000000000..148e63057
--- /dev/null
+++ b/ports/geos/geos_c-static-support.patch
@@ -0,0 +1,110 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 927a0fe..8e6c3ea 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -66,11 +66,7 @@ if(NOT MSVC)
+ "Set to ON|OFF (default) to build GEOS with assert() macro enabled" OFF)
+ endif()
+
+-option(GEOS_BUILD_STATIC
+- "Set to OFF|ON (default) to build GEOS static libraries" ON)
+-
+-option(GEOS_BUILD_SHARED
+- "Set to OFF|ON (default) to build GEOS shared libraries" ON)
++option(BUILD_SHARED_LIBS "Build GEOS as a shared library" ON)
+
+ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
+ option(GEOS_ENABLE_FLOATSTORE
+diff --git a/capi/CMakeLists.txt b/capi/CMakeLists.txt
+index 859722b..b6e44b6 100644
+--- a/capi/CMakeLists.txt
++++ b/capi/CMakeLists.txt
+@@ -23,15 +23,23 @@ file(GLOB geos_capi_HEADERS ${CMAKE_BINARY_DIR}/capi/*.h) # fix source_group iss
+
+ if(NOT GEOS_ENABLE_MACOSX_FRAMEWORK)
+ # if building OS X framework, CAPI built into C++ library
+- add_library(geos_c SHARED ${geos_c_SOURCES})
++ add_library(geos_c ${geos_c_SOURCES})
+
+ target_link_libraries(geos_c geos)
+
+ if (WIN32)
+- set_target_properties(geos_c
+- PROPERTIES
+- VERSION ${CAPI_VERSION}
+- CLEAN_DIRECT_OUTPUT 1)
++ if(BUILD_SHARED_LIBS)
++ set_target_properties(geos_c
++ PROPERTIES
++ VERSION ${CAPI_VERSION}
++ CLEAN_DIRECT_OUTPUT 1)
++ else()
++ set_target_properties(geos_c
++ PROPERTIES
++ OUTPUT_NAME "geos_c"
++ PREFIX "lib"
++ CLEAN_DIRECT_OUTPUT 1)
++ endif()
+ else()
+ set_target_properties(geos_c
+ PROPERTIES
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 4a1e688..a33b5f6 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -23,7 +23,7 @@ if(GEOS_ENABLE_MACOSX_FRAMEWORK)
+ ${CMAKE_CURRENT_SOURCE_DIR}/../capi/geos_c.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/../capi/geos_ts_c.cpp)
+
+- add_library(GEOS SHARED ${geos_SOURCES} ${geos_c_SOURCES})
++ add_library(GEOS ${geos_SOURCES} ${geos_c_SOURCES})
+
+ math(EXPR CVERSION "${VERSION_MAJOR} + 1")
+ # VERSION = current version, SOVERSION = compatibility version
+@@ -61,37 +61,27 @@ if(GEOS_ENABLE_MACOSX_FRAMEWORK)
+
+ else()
+
+- if(GEOS_BUILD_SHARED)
+- add_library(geos SHARED ${geos_SOURCES} ${geos_ALL_HEADERS})
++ add_library(geos ${geos_SOURCES} ${geos_ALL_HEADERS})
+
++ if(BUILD_SHARED_LIBS)
+ set_target_properties(geos
+ PROPERTIES
+ DEFINE_SYMBOL GEOS_DLL_EXPORT
+ VERSION ${VERSION}
+ CLEAN_DIRECT_OUTPUT 1)
+-
+- install(TARGETS geos
+- RUNTIME DESTINATION bin
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib)
+- endif()
+-
+- if(GEOS_BUILD_STATIC)
+- add_library(geos-static STATIC ${geos_SOURCES} ${geos_ALL_HEADERS})
+-
+- set_target_properties(geos-static
++ else()
++ set_target_properties(geos
+ PROPERTIES
+ OUTPUT_NAME "geos"
+ PREFIX "lib"
+ CLEAN_DIRECT_OUTPUT 1)
+-
+- install(TARGETS geos-static
+- RUNTIME DESTINATION bin
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib)
+-
+ endif()
+
++ install(TARGETS geos
++ RUNTIME DESTINATION bin
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib)
++
+ endif() # (GEOS_ENABLE_MACOSX_FRAMEWORK)
+
+ # if(APPLE)
diff --git a/ports/geos/portfile.cmake b/ports/geos/portfile.cmake
index 7cd50db58..ec88a0f57 100644
--- a/ports/geos/portfile.cmake
+++ b/ports/geos/portfile.cmake
@@ -7,25 +7,31 @@
#
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/3.5)
-#downloading 3.5 from their SVN repo and not the release tarball
-#because the 3.5 release did not build on windows, and fixes were backported
-#without generating a new release tarball (I don't think very many GIS people use win)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/geos-3.6.2)
+
vcpkg_download_distfile(ARCHIVE
- URLS "https://trac.osgeo.org/geos/browser/branches/3.5?rev=4261&format=zip"
- FILENAME "geos-3.5.0.zip"
- SHA512 3b91e8992f60b99a3f01069d955b71bce425ae5e5c599252fa26a337494e1a5a8ea796be124766d054710d6c03806f56dc1c63539b4660e2bb894d7ef779d4b9
+ URLS "http://download.osgeo.org/geos/geos-3.6.2.tar.bz2"
+ FILENAME "geos-3.6.2.tar.bz2"
+ SHA512 515d8700b8a28282678e481faee355e3a43d7b70160472a63335b8d7225d9ba10437be782378f18f31a15288118126d411a2d862f01ce35d27c96f6bc0a73016
)
vcpkg_extract_source_archive(${ARCHIVE})
+vcpkg_apply_patches(
+
+SOURCE_PATH ${SOURCE_PATH}
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/geos_c-static-support.patch
+)
+
+# NOTE: GEOS provides CMake as optional build configuration, it might not be actively
+# maintained, so CMake build issues may happen between releases.
+
+# Pull modules referred in the main CMakeLists.txt but missing from the released package.
+# TODO: GEOS 3.6.3 or later will include the missing script in release package.
+file(DOWNLOAD http://svn.osgeo.org/geos/branches/3.6/cmake/modules/GenerateSourceGroups.cmake
+ ${SOURCE_PATH}/cmake/modules/GenerateSourceGroups.cmake)
-#we need to do this because GEOS deploy process is totally broken for cmake
-#file(DOWNLOAD http://svn.osgeo.org/geos/tags/3.5.0/cmake/modules/GenerateSourceGroups.cmake
-# ${SOURCE_PATH}/cmake/modules/GenerateSourceGroups.cmake)
-file(WRITE ${SOURCE_PATH}/geos_svn_revision.h "#define GEOS_SVN_REVISION 4261")
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS -DGEOS_ENABLE_TESTS=False
- -DBUILD_TESTING=False
)
vcpkg_build_cmake()
diff --git a/ports/gettext/CONTROL b/ports/gettext/CONTROL
index fad410359..882eb725f 100644
--- a/ports/gettext/CONTROL
+++ b/ports/gettext/CONTROL
@@ -1,3 +1,3 @@
Source: gettext
-Version: 0.19-1
+Version: 0.19-2
Description: The GNU gettext utilities are a set of tools that provides a framework to help other GNU packages produce multi-lingual messages
diff --git a/ports/gflags/CONTROL b/ports/gflags/CONTROL
index 9fab690ce..c673815f9 100644
--- a/ports/gflags/CONTROL
+++ b/ports/gflags/CONTROL
@@ -1,3 +1,3 @@
Source: gflags
-Version: 2.2.0-4
+Version: 2.2.0-5
Description: A C++ library that implements commandline flags processing
diff --git a/ports/giflib/CONTROL b/ports/giflib/CONTROL
index abac8f1cf..a79a8b0d4 100644
--- a/ports/giflib/CONTROL
+++ b/ports/giflib/CONTROL
@@ -1,3 +1,3 @@
Source: giflib
-Version: 5.1.4
+Version: 5.1.4-1
Description: A library for reading and writing gif images.
diff --git a/ports/gl2ps/CONTROL b/ports/gl2ps/CONTROL
index 16c52f64a..052835a34 100644
--- a/ports/gl2ps/CONTROL
+++ b/ports/gl2ps/CONTROL
@@ -1,4 +1,4 @@
Source: gl2ps
-Version: 1.4.0
+Version: 1.4.0-1
Description: OpenGL to PostScript Printing Library
Build-Depends: freeglut, zlib, libpng
diff --git a/ports/glbinding/CONTROL b/ports/glbinding/CONTROL
index 5e7ec029c..b6eaf06bd 100644
--- a/ports/glbinding/CONTROL
+++ b/ports/glbinding/CONTROL
@@ -1,3 +1,3 @@
Source: glbinding
-Version: 2.1.1-1
+Version: 2.1.1-2
Description: glbinding is an MIT licensed, cross-platform C++ binding for the OpenGL API
diff --git a/ports/glew/CONTROL b/ports/glew/CONTROL
index 1d7fc62f5..ecf948c5d 100644
--- a/ports/glew/CONTROL
+++ b/ports/glew/CONTROL
@@ -1,3 +1,3 @@
Source: glew
-Version: 2.1.0
-Description: The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. \ No newline at end of file
+Version: 2.1.0-1
+Description: The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library.
diff --git a/ports/glew/portfile.cmake b/ports/glew/portfile.cmake
index 30f55451a..a18a8ceeb 100644
--- a/ports/glew/portfile.cmake
+++ b/ports/glew/portfile.cmake
@@ -36,6 +36,11 @@ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/visualinfo.exe)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
+ foreach(FILE ${CURRENT_PACKAGES_DIR}/include/GL/glew.h ${CURRENT_PACKAGES_DIR}/include/GL/wglew.h ${CURRENT_PACKAGES_DIR}/include/GL/glxew.h)
+ file(READ ${FILE} _contents)
+ string(REPLACE "#ifdef GLEW_STATIC" "#if 1" _contents "${_contents}")
+ file(WRITE ${FILE} "${_contents}")
+ endforeach()
endif()
vcpkg_copy_pdbs()
diff --git a/ports/glfw3/CONTROL b/ports/glfw3/CONTROL
index d6493c968..9cb0cbdc6 100644
--- a/ports/glfw3/CONTROL
+++ b/ports/glfw3/CONTROL
@@ -1,3 +1,3 @@
Source: glfw3
-Version: 3.2.1-1
-Description: GLFW is a free, Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan application development. It provides a simple, platform-independent API for creating windows, contexts and surfaces, reading input, handling events, etc. \ No newline at end of file
+Version: 3.2.1-2
+Description: GLFW is a free, Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan application development. It provides a simple, platform-independent API for creating windows, contexts and surfaces, reading input, handling events, etc.
diff --git a/ports/glib/CONTROL b/ports/glib/CONTROL
index 2d67cd26d..a4e467bbc 100644
--- a/ports/glib/CONTROL
+++ b/ports/glib/CONTROL
@@ -1,4 +1,4 @@
Source: glib
-Version: 2.52.3
+Version: 2.52.3-1
Description: Portable, general-purpose utility library.
Build-Depends: zlib, pcre, libffi, gettext, libiconv
diff --git a/ports/glm/CONTROL b/ports/glm/CONTROL
index 2f7355c30..36a40e32d 100644
--- a/ports/glm/CONTROL
+++ b/ports/glm/CONTROL
@@ -1,3 +1,3 @@
Source: glm
-Version: 0.9.8.4
+Version: 0.9.8.4-1
Description: OpenGL Mathematics (GLM) https://glm.g-truc.net
diff --git a/ports/globjects/CONTROL b/ports/globjects/CONTROL
index 7917bacac..df9c862dc 100644
--- a/ports/globjects/CONTROL
+++ b/ports/globjects/CONTROL
@@ -1,5 +1,5 @@
Source: globjects
Maintainer: mattias@mattiascibien.net
-Version: 1.0.0
+Version: 1.0.0-1
Build-Depends: glbinding, glm
Description: C++ library strictly wrapping OpenGL objects. <https://github.com/cginternals/globjects>
diff --git a/ports/glog/CONTROL b/ports/glog/CONTROL
index 74653e8bc..fad754f7c 100644
--- a/ports/glog/CONTROL
+++ b/ports/glog/CONTROL
@@ -1,4 +1,4 @@
Source: glog
-Version: 0.3.5
+Version: 0.3.5-1
Description: C++ implementation of the Google logging module
Build-Depends: gflags
diff --git a/ports/glslang/CONTROL b/ports/glslang/CONTROL
index ac6e6810b..03668b10a 100644
--- a/ports/glslang/CONTROL
+++ b/ports/glslang/CONTROL
@@ -1,3 +1,3 @@
Source: glslang
-Version: 1c573fbcfba6b3d631008b1babc838501ca925d3-2
+Version: 3a21c880500eac21cdf79bef5b80f970a55ac6af-1
Description: Khronos reference front-end for GLSL and ESSL, and sample SPIR-V generator
diff --git a/ports/glslang/portfile.cmake b/ports/glslang/portfile.cmake
index 8dabcb390..e663d768d 100644
--- a/ports/glslang/portfile.cmake
+++ b/ports/glslang/portfile.cmake
@@ -7,8 +7,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO KhronosGroup/glslang
- REF 1c573fbcfba6b3d631008b1babc838501ca925d3
- SHA512 4f04dc39d9a70959ded1f4fe05ca5c7b0413c05bc3f049c11b5be7c8e1a70675f4221c9d8c712e7695f30eadb9bd7d0f1e71f431a6c9d4fea2cd2abbc73bd49a
+ REF 3a21c880500eac21cdf79bef5b80f970a55ac6af
+ SHA512 a6b2f589d432015d3830027dee377350529bec9c339a8de24aa52bab5ca52b3e17e2163d3bd1a7d91f7a08c446ebfe86d64bbbbae5a23af831d2e0cb724f7418
HEAD_REF master
)
@@ -19,29 +19,9 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
-file(COPY "${SOURCE_PATH}/glslang/Public" DESTINATION ${CURRENT_PACKAGES_DIR}/include/glslang)
-file(COPY "${SOURCE_PATH}/glslang/Include" DESTINATION ${CURRENT_PACKAGES_DIR}/include/glslang)
-file(COPY "${SOURCE_PATH}/glslang/MachineIndependent/Versions.h" DESTINATION ${CURRENT_PACKAGES_DIR}/include/glslang/MachineIndependent)
-file(COPY "${SOURCE_PATH}/SPIRV/Logger.h" DESTINATION ${CURRENT_PACKAGES_DIR}/include/SPIRV)
-file(COPY "${SOURCE_PATH}/SPIRV/spirv.hpp" DESTINATION ${CURRENT_PACKAGES_DIR}/include/SPIRV)
-file(COPY "${SOURCE_PATH}/SPIRV/GlslangToSpv.h" DESTINATION ${CURRENT_PACKAGES_DIR}/include/SPIRV)
-file(COPY "${CURRENT_PACKAGES_DIR}/bin/glslangValidator.exe" DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
-file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/glslangValidator.exe")
-file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/glslangValidator.exe")
-file(COPY "${CURRENT_PACKAGES_DIR}/bin/spirv-remap.exe" DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
-file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/spirv-remap.exe")
-file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/spirv-remap.exe")
-
-file(GLOB BIN_DIR "${CURRENT_PACKAGES_DIR}/bin/*")
-list(LENGTH BIN_DIR BIN_DIR_SIZE)
-if(${BIN_DIR_SIZE} EQUAL 0)
- file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin")
-endif()
-file(GLOB DEBUG_BIN_DIR "${CURRENT_PACKAGES_DIR}/debug/bin/*")
-list(LENGTH DEBUG_BIN_DIR DEBUG_BIN_DIR_SIZE)
-if(${DEBUG_BIN_DIR_SIZE} EQUAL 0)
- file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin")
-endif()
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(RENAME "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/tools")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin")
# Handle copyright
file(COPY ${CMAKE_CURRENT_LIST_DIR}/copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/glslang)
diff --git a/ports/graphicsmagick/CONTROL b/ports/graphicsmagick/CONTROL
index 13770197d..17f2a635d 100644
--- a/ports/graphicsmagick/CONTROL
+++ b/ports/graphicsmagick/CONTROL
@@ -1,4 +1,4 @@
Source: graphicsmagick
-Version: 1.3.26-1
+Version: 1.3.26-2
Build-Depends: zlib, bzip2, freetype, libjpeg-turbo, libpng, tiff
Description: Image processing library
diff --git a/ports/grpc/CONTROL b/ports/grpc/CONTROL
index d9654cddf..449d58b6c 100644
--- a/ports/grpc/CONTROL
+++ b/ports/grpc/CONTROL
@@ -1,4 +1,4 @@
Source: grpc
-Version: 1.4.1
+Version: 1.6.0-1
Build-Depends: zlib, openssl, protobuf, c-ares
-Description: An RPC library and framework \ No newline at end of file
+Description: An RPC library and framework
diff --git a/ports/grpc/disable-csharp-ext.patch b/ports/grpc/disable-csharp-ext.patch
index 6cb9090ab..3b887c8b4 100644
--- a/ports/grpc/disable-csharp-ext.patch
+++ b/ports/grpc/disable-csharp-ext.patch
@@ -1,31 +1,29 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c85a20a..99b2897 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -3694,6 +3694,7 @@ target_link_libraries(qps
+--- a/CMakeLists.txt Tue Aug 29 22:24:15 2017
++++ b/CMakeLists.txt Mon Sep 04 00:43:56 2017
+@@ -4574,6 +4574,8 @@
endif (gRPC_BUILD_TESTS)
+option(gRPC_INSTALL_CSHARP_EXT "" ON)
++
add_library(grpc_csharp_ext SHARED
src/csharp/ext/grpc_csharp_ext.c
)
-@@ -3702,7 +3703,7 @@ if(WIN32 AND MSVC)
+@@ -4582,7 +4584,7 @@
set_target_properties(grpc_csharp_ext PROPERTIES COMPILE_PDB_NAME "grpc_csharp_ext"
COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
)
- if (gRPC_INSTALL)
+ if (gRPC_INSTALL AND gRPC_INSTALL_CSHARP_EXT)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_csharp_ext.pdb
- DESTINATION ${CMAKE_INSTALL_LIBDIR} OPTIONAL
+ DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL
)
-@@ -3728,8 +3729,7 @@ target_link_libraries(grpc_csharp_ext
- )
+@@ -4613,7 +4615,7 @@
+
--
-if (gRPC_INSTALL)
+if (gRPC_INSTALL AND gRPC_INSTALL_CSHARP_EXT)
install(TARGETS grpc_csharp_ext EXPORT gRPCTargets
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
diff --git a/ports/grpc/portfile.cmake b/ports/grpc/portfile.cmake
index e26c758d0..49d64b909 100644
--- a/ports/grpc/portfile.cmake
+++ b/ports/grpc/portfile.cmake
@@ -12,17 +12,24 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO grpc/grpc
- REF v1.4.1
- SHA512 5028e4f881a41e4c4ddf770bd824d1d5de825f86d68dbbfab22e2a34ec0e46b27754b0f5b40cfc02b0d22a756b08056b100837b590745b5fdbdce9a803e59f8d
+ REF v1.6.0
+ SHA512 70a68fecca43cfe8c94206fd39ad8f86e055eb2185ae8c90040cc35928f1102016775c66e83c3cc76690e44598764b215d884a206f8466d45b00e2c54593e682
HEAD_REF master
)
+# fix from PR https://github.com/grpc/grpc/pull/12411
+vcpkg_download_distfile(CMAKE_ERROR_FIX_DIFF
+ URLS "https://github.com/grpc/grpc/commit/74c139a83987087f9e2d2e6b5d44c240d719061d.diff"
+ FILENAME "grpc-cmake-error-fix.diff"
+ SHA512 38cdff0e6db12276400cf4eec66aafdbfe34912a78a0604ced3b216d3a60e5b87464f9083fa5e5dfb4df1490ef10565cbe04d3f750f59c7e7e1a05334c0b528e
+)
+
# Issue: https://github.com/grpc/grpc/issues/10759
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/revert-c019e05.patch
${CMAKE_CURRENT_LIST_DIR}/disable-csharp-ext.patch
+ ${CMAKE_ERROR_FIX_DIFF}
)
if(VCPKG_CRT_LINKAGE STREQUAL static)
@@ -52,7 +59,7 @@ vcpkg_configure_cmake(
set(ENV{PATH} "$ENV{PATH};${CURRENT_INSTALLED_DIR}/bin;${CURRENT_INSTALLED_DIR}/debug/bin")
vcpkg_install_cmake()
-vcpkg_fixup_cmake_targets()
+vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/grpc")
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/grpc RENAME copyright)
diff --git a/ports/grpc/revert-c019e05.patch b/ports/grpc/revert-c019e05.patch
deleted file mode 100644
index afb5cfa71..000000000
--- a/ports/grpc/revert-c019e05.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b7555b1bc3..edbffea76c 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -14204,6 +14204,13 @@ endif (gRPC_BUILD_TESTS)
-
-
-
-+if (gRPC_INSTALL)
-+ install(EXPORT gRPCTargets
-+ DESTINATION ${CMAKE_INSTALL_CMAKEDIR}
-+ NAMESPACE gRPC::
-+ )
-+endif()
-+
- foreach(_config gRPCConfig gRPCConfigVersion)
- configure_file(tools/cmake/${_config}.cmake.in
- ${_config}.cmake @ONLY)
diff --git a/ports/gsl/CONTROL b/ports/gsl/CONTROL
index 8ea4fdedd..b6dc858dc 100644
--- a/ports/gsl/CONTROL
+++ b/ports/gsl/CONTROL
@@ -1,3 +1,3 @@
Source: gsl
-Version: 2.4-1
+Version: 2.4-2
Description: The GNU Scientific Library is a numerical library for C and C++ programmers
diff --git a/ports/gtest/CONTROL b/ports/gtest/CONTROL
index 07336b978..77082f5cb 100644
--- a/ports/gtest/CONTROL
+++ b/ports/gtest/CONTROL
@@ -1,3 +1,3 @@
Source: gtest
-Version: 1.8
-Description: GoogleTest and GoogleMock testing frameworks. \ No newline at end of file
+Version: 1.8-1
+Description: GoogleTest and GoogleMock testing frameworks.
diff --git a/ports/gtk/CONTROL b/ports/gtk/CONTROL
index a668ff3f5..e5931156d 100644
--- a/ports/gtk/CONTROL
+++ b/ports/gtk/CONTROL
@@ -1,4 +1,4 @@
Source: gtk
-Version: 3.22.19
+Version: 3.22.19-1
Description: Portable library for creating graphical user interfaces.
Build-Depends: glib, atk, gdk-pixbuf, pango, cairo, libepoxy, gettext
diff --git a/ports/gts/CONTROL b/ports/gts/CONTROL
new file mode 100644
index 000000000..faa409619
--- /dev/null
+++ b/ports/gts/CONTROL
@@ -0,0 +1,4 @@
+Source: gts
+Version: 0.7.6
+Description: A Library intended to provide a set of useful functions to deal with 3D surfaces meshed with interconnected triangles
+Build-Depends: glib
diff --git a/ports/gts/portfile.cmake b/ports/gts/portfile.cmake
new file mode 100644
index 000000000..d55f5dc66
--- /dev/null
+++ b/ports/gts/portfile.cmake
@@ -0,0 +1,36 @@
+# 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 "finetjul/gts"
+ REF c4da61ae075f355d9ecc9f2d4767acf777f54c2b
+ HEAD_REF master
+ SHA512 e53d11213c26cbda08ae62e6388aee0a14d2884de72268ad25d10a23e77baa53a2b1151c5cc7643b059ded82b8edf0da79144c3108949fdc515168cac13ffca9
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA # 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()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/gts RENAME copyright)
+
+vcpkg_copy_pdbs() \ No newline at end of file
diff --git a/ports/guetzli/CMakeLists.txt b/ports/guetzli/CMakeLists.txt
new file mode 100644
index 000000000..5d594aabd
--- /dev/null
+++ b/ports/guetzli/CMakeLists.txt
@@ -0,0 +1,46 @@
+cmake_minimum_required(VERSION 3.8.0)
+project(guetzli)
+
+if(MSVC)
+ add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS -DNOMINMAX)
+endif()
+
+if(BUILD_SHARED_LIBS)
+ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
+endif()
+
+find_path(butteraugli_include butteraugli/butteraugli.h)
+find_library(butteraugli_library NAMES butteraugli_lib)
+find_package(PNG REQUIRED)
+
+include_directories("." ${PNG_INCLUDE_DIRS} ${butteraugli_include})
+
+file(GLOB guetzli_srcs "guetzli/*.cc")
+file(GLOB guetzli_includes "guetzli/*.h")
+list(REMOVE_ITEM guetzli_srcs "guetzli/guetzli.cc")
+
+add_library(guetzli_lib ${guetzli_srcs})
+
+add_executable(guetzli guetzli/guetzli.cc)
+
+target_link_libraries(guetzli_lib ${butteraugli_library} ${PNG_LIBRARIES})
+target_link_libraries(guetzli guetzli_lib ${butteraugli_library} ${PNG_LIBRARIES})
+
+
+install(
+ TARGETS guetzli_lib
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+if(NOT DISABLE_INSTALL_TOOLS)
+ install (
+ TARGETS guetzli
+ RUNTIME DESTINATION tools/guetzli
+ )
+endif()
+
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(FILES ${guetzli_includes} DESTINATION include/guetzli)
+endif()
diff --git a/ports/guetzli/CONTROL b/ports/guetzli/CONTROL
new file mode 100644
index 000000000..2ce631a2a
--- /dev/null
+++ b/ports/guetzli/CONTROL
@@ -0,0 +1,4 @@
+Source: guetzli
+Version: 2017-09-02-cb5e4a86f69628-1
+Description: Perceptual JPEG encoder
+Build-Depends: libpng, butteraugli
diff --git a/ports/guetzli/portfile.cmake b/ports/guetzli/portfile.cmake
new file mode 100644
index 000000000..4fb0402ba
--- /dev/null
+++ b/ports/guetzli/portfile.cmake
@@ -0,0 +1,24 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO google/guetzli
+ REF cb5e4a86f69628f685f2b78d7429e248ab83d8d7
+ SHA512 695a87dc27573b8df74a7e7924e9b96a7bd375b1aae02e7b0fad800428d973cf17947d46ec7afefade2a86ebe3d39f3c3178aad1137b9dd013f5f85ee6569a75
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON -DDISABLE_INSTALL_TOOLS=ON
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/guetzli)
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/guetzli RENAME copyright)
diff --git a/ports/gumbo/CMakeLists.txt b/ports/gumbo/CMakeLists.txt
new file mode 100644
index 000000000..fe239cb8a
--- /dev/null
+++ b/ports/gumbo/CMakeLists.txt
@@ -0,0 +1,32 @@
+cmake_minimum_required(VERSION 3.8.0)
+
+project(gumbo)
+
+set(gumbo_srcs
+ src/attribute.c
+ src/char_ref.c
+ src/error.c
+ src/parser.c
+ src/string_buffer.c
+ src/string_piece.c
+ src/tag.c
+ src/tokenizer.c
+ src/utf8.c
+ src/util.c
+ src/vector.c
+)
+
+
+include_directories(visualc/include src)
+
+add_library(gumbo ${gumbo_srcs})
+
+install(
+ TARGETS gumbo
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(FILES src/gumbo.h src/tag_enum.h DESTINATION include)
+endif()
diff --git a/ports/gumbo/CONTROL b/ports/gumbo/CONTROL
new file mode 100644
index 000000000..ceee95b5d
--- /dev/null
+++ b/ports/gumbo/CONTROL
@@ -0,0 +1,3 @@
+Source: gumbo
+Version: 0.10.1-1
+Description: An HTML5 parsing library in pure C99
diff --git a/ports/gumbo/portfile.cmake b/ports/gumbo/portfile.cmake
new file mode 100644
index 000000000..a4b0ded72
--- /dev/null
+++ b/ports/gumbo/portfile.cmake
@@ -0,0 +1,24 @@
+include(vcpkg_common_functions)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ message(WARNING "Dynamic not supported building static")
+ set(VCPKG_LIBRARY_LINKAGE static)
+endif()
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO google/gumbo-parser
+ REF v0.10.1
+ SHA512 bb1fb55cd07076ab6a9f38dc14db50397dbdca9a04ace4895dfba8b8cbc09038a96e26070c09c75fa929ada2e815affe233c1e2ecd8afe2aba6201647cf277d1
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON
+)
+
+vcpkg_install_cmake()
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/gumbo RENAME copyright)
diff --git a/ports/harfbuzz/CONTROL b/ports/harfbuzz/CONTROL
index acc0b6c7d..a99477b37 100644
--- a/ports/harfbuzz/CONTROL
+++ b/ports/harfbuzz/CONTROL
@@ -1,4 +1,4 @@
Source: harfbuzz
-Version: 1.4.6-1
+Version: 1.4.6-2
Description: HarfBuzz OpenType text shaping engine
Build-Depends: freetype, glib (windows)
diff --git a/ports/hdf5/CONTROL b/ports/hdf5/CONTROL
index 70d1f9979..38a0b8382 100644
--- a/ports/hdf5/CONTROL
+++ b/ports/hdf5/CONTROL
@@ -1,4 +1,4 @@
Source: hdf5
-Version: 1.10.0-patch1-1
+Version: 1.10.0-patch1-2
Description: HDF5 is a data model, library, and file format for storing and managing data
-Build-Depends: zlib, szip, msmpi \ No newline at end of file
+Build-Depends: zlib, szip, msmpi
diff --git a/ports/hpx/CONTROL b/ports/hpx/CONTROL
index cfb599e51..a7f31fc42 100644
--- a/ports/hpx/CONTROL
+++ b/ports/hpx/CONTROL
@@ -1,5 +1,5 @@
Source: hpx
-Version: 1.0.0-4
+Version: 1.0.0-5
Build-Depends: boost, hwloc
Description: The C++ Standards Library for Concurrency and Parallelism
HPX is a C++ Standards Library for Concurrency and Parallelism. It implements all of the corresponding facilities as defined by the C++ Standard. Additionally, in HPX we implement functionalities proposed as part of the ongoing C++ standardization process. We also extend the C++ Standard APIs to the distributed case.
diff --git a/ports/http-parser/CONTROL b/ports/http-parser/CONTROL
index 605f3354c..a9edf4071 100644
--- a/ports/http-parser/CONTROL
+++ b/ports/http-parser/CONTROL
@@ -1,3 +1,3 @@
Source: http-parser
-Version: 2.7.1-1
-Description: HTTP Parser. \ No newline at end of file
+Version: 2.7.1-2
+Description: HTTP Parser.
diff --git a/ports/hunspell/CONTROL b/ports/hunspell/CONTROL
index ec7979e35..da62f205b 100644
--- a/ports/hunspell/CONTROL
+++ b/ports/hunspell/CONTROL
@@ -1,3 +1,3 @@
Source: hunspell
-Version: 1.6.1-1
+Version: 1.6.1-2
Description: The most popular spellchecking library.
diff --git a/ports/hwloc/CONTROL b/ports/hwloc/CONTROL
index 1bd3af628..ef2564050 100644
--- a/ports/hwloc/CONTROL
+++ b/ports/hwloc/CONTROL
@@ -1,4 +1,4 @@
Source: hwloc
-Version: 1.11.7-1
+Version: 1.11.7-2
Description: Portable Hardware Locality (hwloc)
The Portable Hardware Locality (hwloc) software package provides a portable abstraction (across OS, versions, architectures, ...) of the hierarchical topology of modern architectures, including NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading. It also gathers various system attributes such as cache and memory information as well as the locality of I/O devices such as network interfaces, InfiniBand HCAs or GPUs.
diff --git a/ports/hypre/CONTROL b/ports/hypre/CONTROL
index 9a96cb4d4..c41f30930 100644
--- a/ports/hypre/CONTROL
+++ b/ports/hypre/CONTROL
@@ -1,4 +1,4 @@
Source: hypre
-Version: 2.11.2
+Version: 2.11.2-1
Description: SCALABLE LINEAR SOLVERS AND MULTIGRID METHODS
-Build-Depends: msmpi \ No newline at end of file
+Build-Depends: msmpi
diff --git a/ports/ilmbase/CONTROL b/ports/ilmbase/CONTROL
index 8bb022905..2060d94d5 100644
--- a/ports/ilmbase/CONTROL
+++ b/ports/ilmbase/CONTROL
@@ -1,3 +1,3 @@
Source: ilmbase
-Version: 2.2.0
+Version: 2.2.0-1
Description: Base libraries from ILM for OpenEXR
diff --git a/ports/jansson/CONTROL b/ports/jansson/CONTROL
index c14e7d7d8..0cf311912 100644
--- a/ports/jansson/CONTROL
+++ b/ports/jansson/CONTROL
@@ -1,3 +1,3 @@
Source: jansson
-Version: v2.10
+Version: v2.10-1
Description: Jansson is a C library for encoding, decoding and manipulating JSON data
diff --git a/ports/jasper/CONTROL b/ports/jasper/CONTROL
index 682501e49..70f3eda3c 100644
--- a/ports/jasper/CONTROL
+++ b/ports/jasper/CONTROL
@@ -1,4 +1,4 @@
Source: jasper
-Version: 2.0.13
+Version: 2.0.13-1
Description: Open source implementation of the JPEG-2000 Part-1 standard
Build-Depends: libjpeg-turbo
diff --git a/ports/jbigkit/CONTROL b/ports/jbigkit/CONTROL
index 01a9921e1..f0a7cc426 100644
--- a/ports/jbigkit/CONTROL
+++ b/ports/jbigkit/CONTROL
@@ -1,3 +1,3 @@
Source: jbigkit
-Version: 2.1
+Version: 2.1-1
Description: A software implementation of the JBIG1 data compression standard (ITU-T T.82)
diff --git a/ports/jemalloc/CONTROL b/ports/jemalloc/CONTROL
index c867b4573..5bdca6c43 100644
--- a/ports/jemalloc/CONTROL
+++ b/ports/jemalloc/CONTROL
@@ -1,4 +1,4 @@
Source: jemalloc
-Version: 4.3.1-1
+Version: 4.3.1-2
Description: jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support
Build-Depends:
diff --git a/ports/jsoncpp/CONTROL b/ports/jsoncpp/CONTROL
index 19f3e054a..f04c231f8 100644
--- a/ports/jsoncpp/CONTROL
+++ b/ports/jsoncpp/CONTROL
@@ -1,3 +1,3 @@
Source: jsoncpp
-Version: 1.8.1
+Version: 1.8.1-1
Description: jsoncpp is an implementation of a JSON reader and writer in C++. JSON (JavaScript Object Notation) is a lightweight data-interchange format that it is easy to parse and redeable for human.
diff --git a/ports/jsonnet/CMakeLists.txt b/ports/jsonnet/CMakeLists.txt
new file mode 100644
index 000000000..4f749e5b8
--- /dev/null
+++ b/ports/jsonnet/CMakeLists.txt
@@ -0,0 +1,53 @@
+cmake_minimum_required(VERSION 3.5.1)
+project(jsonnet)
+
+if(MSVC)
+ add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS)
+endif()
+
+if(BUILD_SHARED_LIBS)
+ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
+endif()
+
+set( jsonnet_sources
+ core/desugarer.cpp
+ core/formatter.cpp
+ core/lexer.cpp
+ core/libjsonnet.cpp
+ core/parser.cpp
+ core/pass.cpp
+ core/static_analysis.cpp
+ core/string_utils.cpp
+ core/vm.cpp
+)
+
+include_directories(third_party/md5 include cpp core stdlib)
+
+add_library(md5 STATIC third_party/md5/md5.cpp)
+
+add_library(libjsonnet ${jsonnet_sources})
+target_link_libraries(libjsonnet md5)
+
+add_library(libjsonnet++ cpp/libjsonnet++.cpp)
+target_link_libraries(libjsonnet++ libjsonnet)
+
+add_executable(jsonnet cmd/jsonnet.cpp)
+target_link_libraries(jsonnet libjsonnet)
+
+
+install(
+ TARGETS libjsonnet libjsonnet++
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+if(NOT DISABLE_INSTALL_TOOLS)
+ install (
+ TARGETS jsonnet
+ RUNTIME DESTINATION tools/jsonnet
+ )
+endif()
+
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(FILES include/libjsonnet++.h include/libjsonnet.h DESTINATION include)
+endif()
diff --git a/ports/jsonnet/CONTROL b/ports/jsonnet/CONTROL
new file mode 100644
index 000000000..0254fc14c
--- /dev/null
+++ b/ports/jsonnet/CONTROL
@@ -0,0 +1,3 @@
+Source: jsonnet
+Version: 2017-09-02-11cf9fa9f2fe8acbb14b096316006082564ca580
+Description: Jsonnet - The data templating language
diff --git a/ports/jsonnet/portfile.cmake b/ports/jsonnet/portfile.cmake
new file mode 100644
index 000000000..0fa1bf14d
--- /dev/null
+++ b/ports/jsonnet/portfile.cmake
@@ -0,0 +1,29 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO google/jsonnet
+ REF 11cf9fa9f2fe8acbb14b096316006082564ca580
+ SHA512 77d9c9e86c4c6501a00f089c72dea522dd818ac0c810b603d18bea111f8f8cf9a25039600a9ba158c5f02142e24d49074e7fe0ddf113665eedf4c3ef66bf421a
+ HEAD_REF master
+)
+
+vcpkg_execute_required_process(
+ COMMAND Powershell -Command "((Get-Content -Encoding Byte ${SOURCE_PATH}/stdlib/std.jsonnet) -join ',') + ',0' > ${SOURCE_PATH}/core/std.jsonnet.h"
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME "std.jsonnet"
+)
+
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON -DDISABLE_INSTALL_TOOLS=ON
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/jsonnet)
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/jsonnet RENAME copyright)
diff --git a/ports/jxrlib/CONTROL b/ports/jxrlib/CONTROL
index a125cb176..9fcc36254 100644
--- a/ports/jxrlib/CONTROL
+++ b/ports/jxrlib/CONTROL
@@ -1,3 +1,3 @@
Source: jxrlib
-Version: 1.1-3
+Version: 1.1-4
Description: Open source implementation of the jpegxr image format standard.
diff --git a/ports/kf5plotting/CONTROL b/ports/kf5plotting/CONTROL
new file mode 100644
index 000000000..a24b8e352
--- /dev/null
+++ b/ports/kf5plotting/CONTROL
@@ -0,0 +1,4 @@
+Source: kf5plotting
+Version: 5.37.0
+Description: Lightweight plotting framework
+Build-Depends: ecm, qt5
diff --git a/ports/kf5plotting/portfile.cmake b/ports/kf5plotting/portfile.cmake
new file mode 100644
index 000000000..39d6e8893
--- /dev/null
+++ b/ports/kf5plotting/portfile.cmake
@@ -0,0 +1,24 @@
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/kplotting-5.37.0)
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://download.kde.org/stable/frameworks/5.37/kplotting-5.37.0.zip"
+ FILENAME "kplotting-5.37.0.zip"
+ SHA512 3a1b3f993123dea7141d280cd53ae1b5e49b859e9df39a188bac216758576106efd8b744e8f10f96fac158f980d79ae94d2b27f3d85a48fcd5673263ffce3c4e
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS -DBUILD_HTML_DOCS=OFF
+ -DBUILD_MAN_DOCS=OFF
+ -DBUILD_QTHELP_DOCS=OFF
+ -DBUILD_TESTING=OFF
+)
+
+vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/KF5Plotting)
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(INSTALL ${SOURCE_PATH}/COPYING.LIB DESTINATION ${CURRENT_PACKAGES_DIR}/share/KF5plotting RENAME copyright)
diff --git a/ports/lcms/CONTROL b/ports/lcms/CONTROL
index b8c222333..03efca607 100644
--- a/ports/lcms/CONTROL
+++ b/ports/lcms/CONTROL
@@ -1,4 +1,4 @@
Source: lcms
-Version: 2.8-2
+Version: 2.8-3
Build-Depends:
-Description: Little CMS. \ No newline at end of file
+Description: Little CMS.
diff --git a/ports/lcms/portfile.cmake b/ports/lcms/portfile.cmake
index 7a043d1f2..eeb12243c 100644
--- a/ports/lcms/portfile.cmake
+++ b/ports/lcms/portfile.cmake
@@ -4,7 +4,7 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mm2/Little-CMS
REF lcms2.8
- SHA512 ad904ce8acead6c8e255feb8386c1ab3fa432c3b36a3b521bc5c50993cb47ce4d42be0ad240dd8dd3bfeb3c0e884d8184f58797da5ef297b2f9a0e7da9788644
+ SHA512 22ee94aa3333db4248607d8aa84343d324e04b30c154c46672c6f668e14a369b9b72f2557b8465218b6e9a2676cf8fa37d617b4aa13a013dc2337197a599e63a
HEAD_REF master
)
diff --git a/ports/leptonica/CONTROL b/ports/leptonica/CONTROL
new file mode 100644
index 000000000..cd1c44cb4
--- /dev/null
+++ b/ports/leptonica/CONTROL
@@ -0,0 +1,4 @@
+Source: leptonica
+Version: 1.74.4-1
+Description: An open source library containing software that is broadly useful for image processing and image analysis applications
+Build-Depends: libjpeg-turbo, zlib, libpng, tiff, giflib
diff --git a/ports/leptonica/fix-cmakelists.patch b/ports/leptonica/fix-cmakelists.patch
new file mode 100644
index 000000000..18eb8cde5
--- /dev/null
+++ b/ports/leptonica/fix-cmakelists.patch
@@ -0,0 +1,34 @@
+--- a/src/CMakeLists.txt Sun Jun 11 23:04:50 2017
++++ b/src/CMakeLists.txt Wed Aug 16 17:29:56 2017
+@@ -27,24 +27,31 @@
+ endif()
+
+ if (GIF_LIBRARY)
++ target_include_directories (leptonica PUBLIC ${GIF_INCLUDE_DIR})
+ target_link_libraries (leptonica ${GIF_LIBRARY})
+ endif()
+ if (JPEG_LIBRARY)
++ target_include_directories (leptonica PUBLIC ${JPEG_INCLUDE_DIR})
+ target_link_libraries (leptonica ${JPEG_LIBRARY})
+ endif()
+ if (JP2K_FOUND)
++ target_include_directories (leptonica PUBLIC ${JP2K_INCLUDE_DIR})
+ target_link_libraries (leptonica ${JP2K_LIBRARIES})
+ endif()
+ if (PNG_LIBRARY)
++ target_include_directories (leptonica PUBLIC ${PNG_INCLUDE_DIRS})
+ target_link_libraries (leptonica ${PNG_LIBRARY})
+ endif()
+ if (TIFF_LIBRARY)
++ target_include_directories (leptonica PUBLIC ${TIFF_INCLUDE_DIR})
+ target_link_libraries (leptonica ${TIFF_LIBRARY})
+ endif()
+ if (WEBP_FOUND)
++ target_include_directories (leptonica PUBLIC ${WEBP_INCLUDE_DIR})
+ target_link_libraries (leptonica ${WEBP_LIBRARIES})
+ endif()
+ if (ZLIB_LIBRARY)
++ target_include_directories (leptonica PUBLIC ${ZLIB_INCLUDE_DIR})
+ target_link_libraries (leptonica ${ZLIB_LIBRARY})
+ endif()
+
diff --git a/ports/leptonica/portfile.cmake b/ports/leptonica/portfile.cmake
new file mode 100644
index 000000000..a5d4330fd
--- /dev/null
+++ b/ports/leptonica/portfile.cmake
@@ -0,0 +1,36 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO DanBloomberg/leptonica
+ REF 1.74.4
+ SHA512 3b9d0be937883f733f72cbdf0b624ec245d9256a8b4622997f437d309efd7ad9695ad1cbe2224d543eb3ef8c44833567b3cc9a95e9a774ef9046b7acaf0ae744
+ HEAD_REF master
+)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/fix-cmakelists.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DCMAKE_REQUIRED_INCLUDES=${CURRENT_INSTALLED_DIR}/include # for check_include_file()
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake")
+
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig)
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/leptonica-license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/leptonica)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/leptonica/leptonica-license.txt ${CURRENT_PACKAGES_DIR}/share/leptonica/copyright)
diff --git a/ports/libarchive/CONTROL b/ports/libarchive/CONTROL
index 3cd81ee5c..c17693807 100644
--- a/ports/libarchive/CONTROL
+++ b/ports/libarchive/CONTROL
@@ -1,4 +1,4 @@
Source: libarchive
-Version: 3.3.2
+Version: 3.3.2-1
Description: Library for reading and writing streaming archives
Build-Depends: zlib, bzip2, libxml2, lz4, liblzma, openssl
diff --git a/ports/libbson/CONTROL b/ports/libbson/CONTROL
index 141221ba4..263608bf6 100644
--- a/ports/libbson/CONTROL
+++ b/ports/libbson/CONTROL
@@ -1,3 +1,3 @@
Source: libbson
-Version: 1.6.2-1
-Description: libbson is a library providing useful routines related to building, parsing, and iterating BSON documents. \ No newline at end of file
+Version: 1.6.2-2
+Description: libbson is a library providing useful routines related to building, parsing, and iterating BSON documents.
diff --git a/ports/libconfig/CONTROL b/ports/libconfig/CONTROL
index 45bf1db9b..cd0469369 100644
--- a/ports/libconfig/CONTROL
+++ b/ports/libconfig/CONTROL
@@ -1,4 +1,4 @@
Source: libconfig
-Version: 1.6.0
+Version: 1.6.0-1
Description: C/C++ library for processing configuration files
Build-Depends: dirent
diff --git a/ports/libepoxy/CONTROL b/ports/libepoxy/CONTROL
index 95bc19474..79ffdbf46 100644
--- a/ports/libepoxy/CONTROL
+++ b/ports/libepoxy/CONTROL
@@ -1,3 +1,3 @@
Source: libepoxy
-Version: 1.4.3
+Version: 1.4.3-1
Description: Epoxy is a library for handling OpenGL function pointer management for you
diff --git a/ports/libevent/CONTROL b/ports/libevent/CONTROL
index 87c0d0a64..f260b6d01 100644
--- a/ports/libevent/CONTROL
+++ b/ports/libevent/CONTROL
@@ -1,4 +1,4 @@
Source: libevent
-Version: 2.1.8-2
+Version: 2.1.8-3
Build-Depends: openssl
-Description: An event notification library \ No newline at end of file
+Description: An event notification library
diff --git a/ports/libexif/CMakeLists.txt b/ports/libexif/CMakeLists.txt
new file mode 100644
index 000000000..ac32e82eb
--- /dev/null
+++ b/ports/libexif/CMakeLists.txt
@@ -0,0 +1,142 @@
+cmake_minimum_required(VERSION 3.0)
+project(libexif LANGUAGES C)
+
+set(PACKAGE "libexif")
+
+option(ENABLE_NLS "Enable NLS" OFF)
+
+set(HEADERS
+ libexif/_stdint.h
+ libexif/exif.h
+ libexif/exif-byte-order.h
+ libexif/exif-content.h
+ libexif/exif-data.h
+ libexif/exif-data-type.h
+ libexif/exif-entry.h
+ libexif/exif-format.h
+ libexif/exif-ifd.h
+ libexif/exif-loader.h
+ libexif/exif-log.h
+ libexif/exif-mem.h
+ libexif/exif-mnote-data.h
+ libexif/exif-mnote-data-priv.h
+ libexif/exif-system.h
+ libexif/exif-tag.h
+ libexif/exif-utils.h
+)
+
+set(SOURCES
+ libexif/exif-byte-order.c
+ libexif/exif-content.c
+ libexif/exif-data.c
+ libexif/exif-entry.c
+ libexif/exif-format.c
+ libexif/exif-ifd.c
+ libexif/exif-loader.c
+ libexif/exif-log.c
+ libexif/exif-mem.c
+ libexif/exif-mnote-data.c
+ libexif/exif-tag.c
+ libexif/exif-utils.c
+)
+
+set(HEADERS_CANON
+ libexif/canon/exif-mnote-data-canon.h
+ libexif/canon/mnote-canon-entry.h
+ libexif/canon/mnote-canon-tag.h
+)
+
+set(SOURCES_CANON
+ libexif/canon/exif-mnote-data-canon.c
+ libexif/canon/mnote-canon-entry.c
+ libexif/canon/mnote-canon-tag.c
+)
+
+set(HEADERS_FUJI
+ libexif/fuji/exif-mnote-data-fuji.h
+ libexif/fuji/mnote-fuji-entry.h
+ libexif/fuji/mnote-fuji-tag.h
+)
+
+set(SOURCES_FUJI
+ libexif/fuji/exif-mnote-data-fuji.c
+ libexif/fuji/mnote-fuji-entry.c
+ libexif/fuji/mnote-fuji-tag.c
+)
+
+set(HEADERS_OLYMPUS
+ libexif/olympus/exif-mnote-data-olympus.h
+ libexif/olympus/mnote-olympus-entry.h
+ libexif/olympus/mnote-olympus-tag.h
+)
+
+set(SOURCES_OLYMPUS
+ libexif/olympus/exif-mnote-data-olympus.c
+ libexif/olympus/mnote-olympus-entry.c
+ libexif/olympus/mnote-olympus-tag.c
+)
+
+set(HEADERS_PENTAX
+ libexif/pentax/exif-mnote-data-pentax.h
+ libexif/pentax/mnote-pentax-entry.h
+ libexif/pentax/mnote-pentax-tag.h
+)
+
+set(SOURCES_PENTAX
+ libexif/pentax/exif-mnote-data-pentax.c
+ libexif/pentax/mnote-pentax-entry.c
+ libexif/pentax/mnote-pentax-tag.c
+)
+
+if(MSVC)
+ set(SOURCES_MSVC "libexif.def")
+endif()
+
+add_library(libexif
+ ${SOURCES}
+ ${SOURCES_CANON}
+ ${SOURCES_FUJI}
+ ${SOURCES_OLYMPUS}
+ ${SOURCES_PENTAX}
+ ${SOURCES_MSVC}
+)
+
+target_include_directories(libexif PRIVATE .)
+target_include_directories(libexif PRIVATE ${CMAKE_BINARY_DIR})
+target_compile_definitions(libexif PRIVATE -D_CRT_SECURE_NO_WARNINGS)
+target_compile_definitions(libexif PRIVATE -DGETTEXT_PACKAGE="${PACKAGE}")
+
+include(CheckFunctionExists)
+include(CheckIncludeFile)
+
+check_function_exists(dcgettext HAVE_DCGETTEXT)
+check_function_exists(gettext HAVE_DCGETTEXT)
+check_function_exists(iconv HAVE_DCGETTEXT)
+check_function_exists(localtime_r HAVE_DCGETTEXT)
+
+check_include_file(dlfcn.h HAVE_DLFCN_H)
+check_include_file(inttypes.h HAVE_INTTYPES_H)
+check_include_file(memory.h HAVE_MEMORY_H)
+check_include_file(stdint.h HAVE_STDINT_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/stat.h HAVE_SYS_STAT_H)
+check_include_file(sys/types.h HAVE_SYS_TYPES_H)
+check_include_file(unistd.h HAVE_UNISTD_H)
+
+configure_file(config.h.cmake config.h)
+
+install(
+ TARGETS libexif
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+)
+
+install(FILES ${HEADERS} DESTINATION include/libexif)
+install(FILES ${HEADERS_CANON} DESTINATION include/libexif/canon)
+install(FILES ${HEADERS_FUJI} DESTINATION include/libexif/fuji)
+install(FILES ${HEADERS_OLYMPUS} DESTINATION include/libexif/olympus)
+install(FILES ${HEADERS_PENTAX} DESTINATION include/libexif/pentax)
diff --git a/ports/libexif/CONTROL b/ports/libexif/CONTROL
new file mode 100644
index 000000000..427d907f2
--- /dev/null
+++ b/ports/libexif/CONTROL
@@ -0,0 +1,3 @@
+Source: libexif
+Version: 0.6.21-1
+Description: a library for parsing, editing, and saving EXIF data
diff --git a/ports/libexif/config.h.cmake b/ports/libexif/config.h.cmake
new file mode 100644
index 000000000..4dfbdb1b0
--- /dev/null
+++ b/ports/libexif/config.h.cmake
@@ -0,0 +1,96 @@
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define to 1 if translation of program messages to the user's native
+ language is requested. */
+#cmakedefine ENABLE_NLS
+
+/* Define if the GNU dcgettext() function is already present or preinstalled.
+ */
+#cmakedefine HAVE_DCGETTEXT
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#cmakedefine HAVE_DLFCN_H
+
+/* Define if the GNU gettext() function is already present or preinstalled. */
+#cmakedefine HAVE_GETTEXT
+
+/* Define if you have the iconv() function. */
+#cmakedefine HAVE_ICONV
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#cmakedefine HAVE_INTTYPES_H
+
+/* Define to 1 if you have the `localtime_r' function. */
+#cmakedefine HAVE_LOCALTIME_R
+
+/* 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 <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 as const if the declaration of iconv() needs const. */
+#cmakedefine ICONV_CONST
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#cmakedefine LT_OBJDIR
+
+/* Name of package */
+#cmakedefine PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#cmakedefine PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#cmakedefine PACKAGE_NAME
+
+/* 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. */
+#cmakedefine PACKAGE_URL
+
+/* Define to the version of this package. */
+#cmakedefine PACKAGE_VERSION
+
+/* Define to 1 if you have the ANSI C header files. */
+#cmakedefine STDC_HEADERS
+
+/* Version number of package */
+#cmakedefine VERSION
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#cmakedefine const
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+ calls it, or to nothing if 'inline' is not supported under any name. */
+#ifndef __cplusplus
+#cmakedefine inline
+#endif
+
+#ifdef _MSC_VER
+#include <BaseTsd.h>
+typedef SSIZE_T ssize_t;
+#endif \ No newline at end of file
diff --git a/ports/libexif/libexif.def b/ports/libexif/libexif.def
new file mode 100644
index 000000000..6bd0ca424
--- /dev/null
+++ b/ports/libexif/libexif.def
@@ -0,0 +1,130 @@
+EXPORTS
+ exif_array_set_byte_order
+ exif_byte_order_get_name
+ exif_content_add_entry
+ exif_content_dump
+ exif_content_fix
+ exif_content_foreach_entry
+ exif_content_free
+ exif_content_get_entry
+ exif_content_get_ifd
+ exif_content_log
+ exif_content_new
+ exif_content_new_mem
+ exif_content_ref
+ exif_content_remove_entry
+ exif_content_unref
+ exif_data_dump
+ exif_data_fix
+ exif_data_foreach_content
+ exif_data_free
+ exif_data_get_byte_order
+ exif_data_get_data_type
+ exif_data_get_log
+ exif_data_get_mnote_data
+ exif_data_load_data
+ exif_data_log
+ exif_data_new
+ exif_data_new_from_data
+ exif_data_new_from_file
+ exif_data_new_mem
+ exif_data_option_get_description
+ exif_data_option_get_name
+ exif_data_ref
+ exif_data_save_data
+ exif_data_set_byte_order
+ exif_data_set_data_type
+ exif_data_set_option
+ exif_data_unref
+ exif_data_unset_option
+ exif_entry_dump
+ exif_entry_fix
+ exif_entry_free
+ exif_entry_get_value
+ exif_entry_initialize
+ exif_entry_new
+ exif_entry_new_mem
+ exif_entry_ref
+ exif_entry_unref
+ exif_format_get_name
+ exif_format_get_size
+ exif_get_long
+ exif_get_rational
+ exif_get_short
+ exif_get_slong
+ exif_get_srational
+ exif_get_sshort
+ exif_ifd_get_name
+ exif_loader_get_buf
+ exif_loader_get_data
+ exif_loader_log
+ exif_loader_new
+ exif_loader_new_mem
+ exif_loader_ref
+ exif_loader_reset
+ exif_loader_unref
+ exif_loader_write
+ exif_loader_write_file
+ exif_log
+ exif_log_code_get_message
+ exif_log_code_get_title
+ exif_log_free
+ exif_log_new
+ exif_log_new_mem
+ exif_log_ref
+ exif_log_set_func
+ exif_log_unref
+ exif_logv
+ exif_mem_alloc
+ exif_mem_free
+ exif_mem_new
+ exif_mem_new_default
+ exif_mem_realloc
+ exif_mem_ref
+ exif_mem_unref
+ exif_mnote_data_canon_new
+ exif_mnote_data_construct
+ exif_mnote_data_count
+ exif_mnote_data_get_description
+ exif_mnote_data_get_id
+ exif_mnote_data_get_name
+ exif_mnote_data_get_title
+ exif_mnote_data_get_value
+ exif_mnote_data_load
+ exif_mnote_data_log
+ exif_mnote_data_olympus_new
+ exif_mnote_data_pentax_new
+ exif_mnote_data_ref
+ exif_mnote_data_save
+ exif_mnote_data_set_byte_order
+ exif_mnote_data_set_offset
+ exif_mnote_data_unref
+ exif_set_long
+ exif_set_rational
+ exif_set_short
+ exif_set_slong
+ exif_set_srational
+ exif_set_sshort
+ exif_tag_from_name
+ exif_tag_get_description
+ exif_tag_get_description_in_ifd
+ exif_tag_get_name
+ exif_tag_get_name_in_ifd
+ exif_tag_get_support_level_in_ifd
+ exif_tag_get_title
+ exif_tag_get_title_in_ifd
+ exif_tag_table_count
+ exif_tag_table_get_name
+ exif_tag_table_get_tag
+ mnote_canon_entry_get_value
+ mnote_canon_tag_get_description
+ mnote_canon_tag_get_name
+ mnote_canon_tag_get_title
+ mnote_olympus_entry_get_value
+ mnote_olympus_tag_get_description
+ mnote_olympus_tag_get_name
+ mnote_olympus_tag_get_title
+ mnote_pentax_entry_get_value
+ mnote_pentax_tag_get_description
+ mnote_pentax_tag_get_name
+ mnote_pentax_tag_get_title \ No newline at end of file
diff --git a/ports/libexif/portfile.cmake b/ports/libexif/portfile.cmake
new file mode 100644
index 000000000..0442d8c15
--- /dev/null
+++ b/ports/libexif/portfile.cmake
@@ -0,0 +1,31 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message(FATAL_ERROR "libexif currently only supports being built for desktop")
+endif()
+
+set(LIBEXIF_VERSION 0.6.21)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libexif-${LIBEXIF_VERSION})
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://freefr.dl.sourceforge.net/project/libexif/libexif/${LIBEXIF_VERSION}/libexif-${LIBEXIF_VERSION}.tar.bz2"
+ FILENAME "libexif-${LIBEXIF_VERSION}.tar.bz2"
+ SHA512 4e0fe2abe85d1c95b41cb3abe1f6333dc3a9eb69dba106a674a78d74a4d5b9c5a19647118fa1cc2d72b98a29853394f1519eda9e2889eb28d3be26b21c7cfc35
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h.cmake DESTINATION ${SOURCE_PATH})
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/libexif.def DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libexif RENAME copyright)
diff --git a/ports/libffi/CONTROL b/ports/libffi/CONTROL
index 83725f49c..ee1f0de9e 100644
--- a/ports/libffi/CONTROL
+++ b/ports/libffi/CONTROL
@@ -1,3 +1,3 @@
Source: libffi
-Version: 3.1
+Version: 3.1-1
Description: Portable, high level programming interface to various calling conventions
diff --git a/ports/libflac/CONTROL b/ports/libflac/CONTROL
index b81ec3cd1..2a0572d2a 100644
--- a/ports/libflac/CONTROL
+++ b/ports/libflac/CONTROL
@@ -1,4 +1,4 @@
Source: libflac
-Version: 1.3.2-2
+Version: 1.3.2-3
Description: Library for manipulating FLAC files
Build-Depends: libogg
diff --git a/ports/libfreenect2/CONTROL b/ports/libfreenect2/CONTROL
new file mode 100644
index 000000000..90c53db6d
--- /dev/null
+++ b/ports/libfreenect2/CONTROL
@@ -0,0 +1,4 @@
+Source: libfreenect2
+Version: 0.2.0
+Build-Depends:libusb
+Description: Open source drivers for the Kinect for Windows v2 device
diff --git a/ports/libfreenect2/portfile.cmake b/ports/libfreenect2/portfile.cmake
new file mode 100644
index 000000000..ba41bb904
--- /dev/null
+++ b/ports/libfreenect2/portfile.cmake
@@ -0,0 +1,41 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO OpenKinect/libfreenect2
+ REF v0.2.0
+ SHA512 3525e3f21462cecd3b198f64545786ffddc2cafdfd8146e5a46f0300b83f29f1ad0739618a07ab195c276149d7e2e909f7662e2d379a2880593cac75942b0666
+ HEAD_REF master
+)
+
+file(READ ${SOURCE_PATH}/cmake_modules/FindLibUSB.cmake FINDLIBUSB)
+string(REPLACE "(WIN32)"
+ "(WIN32_DISABLE)" FINDLIBUSB "${FINDLIBUSB}")
+file(WRITE ${SOURCE_PATH}/cmake_modules/FindLibUSB.cmake "${FINDLIBUSB}")
+
+file(READ ${SOURCE_PATH}/examples/CMakeLists.txt EXAMPLECMAKE)
+string(REPLACE "(WIN32)"
+ "(WIN32_DISABLE)" EXAMPLECMAKE "${EXAMPLECMAKE}")
+file(WRITE ${SOURCE_PATH}/examples/CMakeLists.txt "${EXAMPLECMAKE}")
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DENABLE_CUDA=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/freenect2")
+
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# The cmake config is actually called freenect2Config.cmake instead of libfreenect2Config.cmake ...
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/libfreenect2 ${CURRENT_PACKAGES_DIR}/share/freenect2)
+
+# license file needs to be in share/libfreenect2 otherwise vcpkg will complain
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/libfreenect2/)
+file(COPY ${SOURCE_PATH}/GPL2 DESTINATION ${CURRENT_PACKAGES_DIR}/share/libfreenect2/)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/libfreenect2/GPL2 ${CURRENT_PACKAGES_DIR}/share/libfreenect2/copyright)
diff --git a/ports/libgd/CONTROL b/ports/libgd/CONTROL
index 4d9d5bd24..f86afe90f 100644
--- a/ports/libgd/CONTROL
+++ b/ports/libgd/CONTROL
@@ -1,4 +1,4 @@
Source: libgd
-Version: 2.2.4-2
+Version: 2.2.4-3
Description: Open source code library for the dynamic creation of images by programmers.
Build-Depends: freetype, libjpeg-turbo, libpng, libwebp, tiff, fontconfig
diff --git a/ports/libharu/CONTROL b/ports/libharu/CONTROL
index b32612433..4ca6f8c26 100644
--- a/ports/libharu/CONTROL
+++ b/ports/libharu/CONTROL
@@ -1,4 +1,4 @@
Source: libharu
-Version: 2017-08-15-d84867ebf9f-1
+Version: 2017-08-15-d84867ebf9f-2
Description: libharu - free PDF library
Build-Depends: zlib,libpng
diff --git a/ports/libiconv/CONTROL b/ports/libiconv/CONTROL
index c79f06bb8..851c8dd01 100644
--- a/ports/libiconv/CONTROL
+++ b/ports/libiconv/CONTROL
@@ -1,3 +1,3 @@
Source: libiconv
-Version: 1.14
+Version: 1.14-1
Description: GNU Unicode text conversion
diff --git a/ports/libjpeg-turbo/CONTROL b/ports/libjpeg-turbo/CONTROL
index 14dd8ad9b..bf642bd1b 100644
--- a/ports/libjpeg-turbo/CONTROL
+++ b/ports/libjpeg-turbo/CONTROL
@@ -1,3 +1,3 @@
Source: libjpeg-turbo
-Version: 1.5.2
+Version: 1.5.2-1
Description: libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, NEON, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems.
diff --git a/ports/libkml/CONTROL b/ports/libkml/CONTROL
index 1fe7086af..bc054e036 100644
--- a/ports/libkml/CONTROL
+++ b/ports/libkml/CONTROL
@@ -1,4 +1,4 @@
Source: libkml
-Version: 1.3.0
+Version: 1.3.0-1
Description: Reference implementation of OGC KML 2.2
Build-Depends: zlib, boost, expat, minizip, uriparser
diff --git a/ports/liblzma/CONTROL b/ports/liblzma/CONTROL
index 3c4cbfb2b..c29002b9c 100644
--- a/ports/liblzma/CONTROL
+++ b/ports/liblzma/CONTROL
@@ -1,3 +1,3 @@
Source: liblzma
-Version: 5.2.3-1
+Version: 5.2.3-2
Description: Compression library with an API similar to that of zlib.
diff --git a/ports/libmad/CONTROL b/ports/libmad/CONTROL
index 04cec21bf..daf25faa1 100644
--- a/ports/libmad/CONTROL
+++ b/ports/libmad/CONTROL
@@ -1,3 +1,3 @@
Source: libmad
-Version: 0.15.1
+Version: 0.15.1-1
Description: high-quality MPEG audio decoder
diff --git a/ports/libmariadb/CONTROL b/ports/libmariadb/CONTROL
index 26e23810a..89f5647a7 100644
--- a/ports/libmariadb/CONTROL
+++ b/ports/libmariadb/CONTROL
@@ -1,3 +1,3 @@
Source: libmariadb
-Version: 2.3.2
+Version: 2.3.2-1
Description: MariaDB Connector/C is used to connect C/C++ applications to MariaDB and MySQL databases
diff --git a/ports/libmicrohttpd/CMakeLists.txt b/ports/libmicrohttpd/CMakeLists.txt
new file mode 100644
index 000000000..d76c09122
--- /dev/null
+++ b/ports/libmicrohttpd/CMakeLists.txt
@@ -0,0 +1,78 @@
+cmake_minimum_required(VERSION 3.8)
+project(libmicrohttpd C)
+
+if(MSVC)
+ add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS)
+endif()
+
+set(MIN_SRC contrib/libmicrohttpd)
+
+
+set(SRC
+ src/microhttpd/base64.c
+ src/microhttpd/basicauth.c
+ src/microhttpd/connection.c
+ src/microhttpd/daemon.c
+ src/microhttpd/digestauth.c
+ src/microhttpd/internal.c
+ src/microhttpd/md5.c
+ src/microhttpd/memorypool.c
+ src/microhttpd/mhd_mono_clock.c
+ src/microhttpd/postprocessor.c
+ src/microhttpd/reason_phrase.c
+ src/microhttpd/response.c
+ src/microhttpd/tsearch.c
+ src/microhttpd/sysfdsetsize.c
+ src/microhttpd/mhd_str.c
+ src/microhttpd/mhd_threads.c
+ src/microhttpd/mhd_sockets.c
+ src/microhttpd/mhd_itc.c
+ src/microhttpd/mhd_compat.c
+)
+set(HEADERS
+ src/microhttpd/base64.h
+ src/microhttpd/connection.h
+ src/microhttpd/internal.h
+ src/microhttpd/md5.h
+ src/microhttpd/memorypool.h
+ src/microhttpd/mhd_byteorder.h
+ src/microhttpd/mhd_limits.h
+ src/microhttpd/mhd_mono_clock.h
+ src/microhttpd/response.h
+ src/microhttpd/tsearch.h
+ src/microhttpd/sysfdsetsize.h
+ src/microhttpd/mhd_str.h
+ src/microhttpd/mhd_threads.h
+ src/microhttpd/mhd_locks.h
+ src/microhttpd/mhd_sockets.h
+ src/microhttpd/mhd_itc.h
+ src/microhttpd/mhd_itc_types.h
+ src/microhttpd/mhd_compat.h
+)
+
+if(BUILD_SHARED_LIBS)
+ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
+endif()
+
+include_directories(${HEADERS} src/include w32/common)
+
+add_library(libmicrohttpd ${SRC})
+
+if(BUILD_SHARED_LIBS)
+ target_compile_definitions(libmicrohttpd PRIVATE -DMHD_W32DLL)
+else()
+ target_compile_definitions(libmicrohttpd PRIVATE -DMHD_W32LIB)
+endif()
+
+ target_link_libraries(libmicrohttpd ws2_32)
+
+install(
+ TARGETS libmicrohttpd
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(FILES src/include/microhttpd.h DESTINATION include)
+endif()
diff --git a/ports/libmicrohttpd/CONTROL b/ports/libmicrohttpd/CONTROL
new file mode 100644
index 000000000..2c5815aed
--- /dev/null
+++ b/ports/libmicrohttpd/CONTROL
@@ -0,0 +1,3 @@
+Source: libmicrohttpd
+Version: 0.9.55-1
+Description: GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application
diff --git a/ports/libmicrohttpd/portfile.cmake b/ports/libmicrohttpd/portfile.cmake
new file mode 100644
index 000000000..8b11e3e9c
--- /dev/null
+++ b/ports/libmicrohttpd/portfile.cmake
@@ -0,0 +1,23 @@
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libmicrohttpd-0.9.55)
+vcpkg_download_distfile(ARCHIVE
+ URLS "ftp://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.55.tar.gz"
+ FILENAME "libmicrohttpd-0.9.55.tar.gz"
+ SHA512 b410e7253d7c98c40b5e8b8dcd1f93bcbb05c88717190e8dae73073d36465e8e5cfa53c6c5098de60051a5ec64dc423fd94f4b06537d8146b744aa99f5a0b173
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON
+)
+
+vcpkg_install_cmake()
+
+vcpkg_copy_pdbs()
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmicrohttpd RENAME copyright)
diff --git a/ports/libmikmod/CONTROL b/ports/libmikmod/CONTROL
index b9f970959..c1dc45c3e 100644
--- a/ports/libmikmod/CONTROL
+++ b/ports/libmikmod/CONTROL
@@ -1,4 +1,4 @@
Source: libmikmod
-Version: 3.3.11.1
+Version: 3.3.11.1-1
Description: Mikmod is a module player and library supporting many formats, including mod, s3m, it, and xm.
-Build-Depends: openal-soft \ No newline at end of file
+Build-Depends: openal-soft
diff --git a/ports/libmodplug/CONTROL b/ports/libmodplug/CONTROL
index 60614602a..e0cc81a3b 100644
--- a/ports/libmodplug/CONTROL
+++ b/ports/libmodplug/CONTROL
@@ -1,3 +1,3 @@
Source: libmodplug
-Version: 0.8.9.0
+Version: 0.8.9.0-1
Description: The ModPlug mod file playing library.
diff --git a/ports/libmysql/CONTROL b/ports/libmysql/CONTROL
index 906249936..0c772e04e 100644
--- a/ports/libmysql/CONTROL
+++ b/ports/libmysql/CONTROL
@@ -1,3 +1,3 @@
Source: libmysql
-Version: 5.7.17-1
-Description: A MySQL client library for C development. \ No newline at end of file
+Version: 5.7.17-2
+Description: A MySQL client library for C development.
diff --git a/ports/libmysql/portfile.cmake b/ports/libmysql/portfile.cmake
index 530732b71..81ffdfb98 100644
--- a/ports/libmysql/portfile.cmake
+++ b/ports/libmysql/portfile.cmake
@@ -8,7 +8,7 @@ set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mysql-server-mysql-5.7.17)
vcpkg_download_distfile(ARCHIVE
URLS "https://github.com/mysql/mysql-server/archive/mysql-5.7.17.tar.gz"
FILENAME "mysql-server-mysql-5.7.17.tar.gz"
- SHA512 511027f28f0705f59a08ec369b1ebe5d9a77eb839d545898631f1ebbcb6b4b800f5b88511d3ae5d231c04e09a2d7b2b2d178264d36aeb2bc602cc1b0b248cfba
+ SHA512 31488972e08a6b83f88e6e3f7923aca91e01eac702f4942fdae92e13f66d92ac86c24dfe7a65a001db836c900147d1c3871b36af8cbb281a0e6c555617cac12c
)
vcpkg_extract_source_archive(${ARCHIVE})
diff --git a/ports/libnice/CONTROL b/ports/libnice/CONTROL
index 7d16f4262..de7b0b67e 100644
--- a/ports/libnice/CONTROL
+++ b/ports/libnice/CONTROL
@@ -1,4 +1,4 @@
Source: libnice
-Version: 0.1.13
+Version: 0.1.13-1
Description: Libnice is an implementation of the IETF's Interactive Connectivity Establishment (ICE) standard (RFC 5245) and the Session Traversal Utilities for NAT (STUN) standard (RFC 5389).
-Build-Depends: glib \ No newline at end of file
+Build-Depends: glib
diff --git a/ports/libodb-pgsql/CONTROL b/ports/libodb-pgsql/CONTROL
index a2daa777a..f89d1f37c 100644
--- a/ports/libodb-pgsql/CONTROL
+++ b/ports/libodb-pgsql/CONTROL
@@ -1,4 +1,4 @@
Source: libodb-pgsql
-Version: 2.4.0
+Version: 2.4.0-1
Description: Description: PostgreSQL support for the ODB ORM library
-Build-Depends: libodb, libpq \ No newline at end of file
+Build-Depends: libodb, libpq
diff --git a/ports/libodb-sqlite/CONTROL b/ports/libodb-sqlite/CONTROL
index 5a87fb847..89be9ee88 100644
--- a/ports/libodb-sqlite/CONTROL
+++ b/ports/libodb-sqlite/CONTROL
@@ -1,4 +1,4 @@
Source: libodb-sqlite
-Version: 2.4.0
+Version: 2.4.0-1
Description: Sqlite support for the ODB ORM library
Build-Depends: libodb, sqlite3
diff --git a/ports/libodb/CONTROL b/ports/libodb/CONTROL
index f9645d098..3d502effe 100644
--- a/ports/libodb/CONTROL
+++ b/ports/libodb/CONTROL
@@ -1,3 +1,3 @@
Source: libodb
-Version: 2.4.0
+Version: 2.4.0-1
Description: ODB library, base runtime for the ODB ORM solution
diff --git a/ports/libogg/CONTROL b/ports/libogg/CONTROL
index 47fd8faab..39205bd71 100644
--- a/ports/libogg/CONTROL
+++ b/ports/libogg/CONTROL
@@ -1,3 +1,3 @@
Source: libogg
-Version: 1.3.2-cab46b1-2
+Version: 1.3.2-cab46b1-3
Description: Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs.
diff --git a/ports/libopusenc/CONTROL b/ports/libopusenc/CONTROL
index 8f1ebb9ed..93b2a7544 100644
--- a/ports/libopusenc/CONTROL
+++ b/ports/libopusenc/CONTROL
@@ -1,4 +1,4 @@
Source: libopusenc
-Version: 0.1
+Version: 0.1-1
Description: Library for encoding .opus audio files and live streams.
Build-Depends: opus
diff --git a/ports/libp7-baical/CONTROL b/ports/libp7-baical/CONTROL
index e117adea5..215810511 100644
--- a/ports/libp7-baical/CONTROL
+++ b/ports/libp7-baical/CONTROL
@@ -1,3 +1,3 @@
Source: libp7-baical
-Version: 4.4-1
+Version: 4.4-2
Description: P7 is a library for high-speed sending telemetry & trace data from application
diff --git a/ports/libpng/CONTROL b/ports/libpng/CONTROL
index 3238eec3b..7899cbc8e 100644
--- a/ports/libpng/CONTROL
+++ b/ports/libpng/CONTROL
@@ -1,4 +1,4 @@
Source: libpng
-Version: 1.6.32
+Version: 1.6.32-1
Build-Depends: zlib
Description: libpng is a library implementing an interface for reading and writing PNG (Portable Network Graphics) format files.
diff --git a/ports/libpopt/CONTROL b/ports/libpopt/CONTROL
index 0065bf323..5ba1451b6 100644
--- a/ports/libpopt/CONTROL
+++ b/ports/libpopt/CONTROL
@@ -1,3 +1,3 @@
Source: libpopt
-Version: 1.16-10~vcpkg1
+Version: 1.16-10~vcpkg1-1
Description: Library for parsing command line parameters
diff --git a/ports/libpq/CONTROL b/ports/libpq/CONTROL
index 580a06857..b91e08526 100644
--- a/ports/libpq/CONTROL
+++ b/ports/libpq/CONTROL
@@ -1,4 +1,4 @@
Source: libpq
-Version: 9.6.1
+Version: 9.6.1-1
Description: The official database access API of postgresql
Build-Depends: openssl
diff --git a/ports/libraw/CONTROL b/ports/libraw/CONTROL
index 9d23b7740..4860b0a6b 100644
--- a/ports/libraw/CONTROL
+++ b/ports/libraw/CONTROL
@@ -1,4 +1,4 @@
Source: libraw
-Version: 0.18.2-3
+Version: 0.18.2-4
Build-Depends: lcms, jasper
Description: raw image decoder library
diff --git a/ports/libsigcpp/CONTROL b/ports/libsigcpp/CONTROL
index da2338200..97667dd7d 100644
--- a/ports/libsigcpp/CONTROL
+++ b/ports/libsigcpp/CONTROL
@@ -1,3 +1,3 @@
Source: libsigcpp
-Version: 2.99
+Version: 2.99-1
Description: Typesafe callback framework for C++
diff --git a/ports/libsndfile/CONTROL b/ports/libsndfile/CONTROL
index c1949d8fc..9d3d9b423 100644
--- a/ports/libsndfile/CONTROL
+++ b/ports/libsndfile/CONTROL
@@ -1,4 +1,4 @@
Source: libsndfile
-Version: libsndfile-1.0.29-6830c42
+Version: libsndfile-1.0.29-6830c42-1
Description: Library to read, write and manipulate many soundfile types. Authored by Eric de Castro Lopo
Build-Depends: libogg, libflac, libvorbis
diff --git a/ports/libspatialite/CONTROL b/ports/libspatialite/CONTROL
new file mode 100644
index 000000000..1f7917a36
--- /dev/null
+++ b/ports/libspatialite/CONTROL
@@ -0,0 +1,5 @@
+Source: libspatialite
+Version: 4.3.0a
+Description: SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities.
+Build-Depends: libxml2, sqlite3, geos, proj4, zlib, freexl, libiconv
+
diff --git a/ports/libspatialite/fix-makefiles.patch b/ports/libspatialite/fix-makefiles.patch
new file mode 100644
index 000000000..9372739bb
--- /dev/null
+++ b/ports/libspatialite/fix-makefiles.patch
@@ -0,0 +1,61 @@
+diff --git a/makefile.vc b/makefile.vc
+index 9b9e8ee..b524a27 100644
+--- a/makefile.vc
++++ b/makefile.vc
+@@ -59,7 +59,7 @@ LIBOBJ = src\gaiaaux\gg_sqlaux.obj src\gaiaaux\gg_utf8.obj \
+ src\versioninfo\version.obj src\virtualtext\virtualtext.obj
+ SPATIALITE_DLL = spatialite$(VERSION).dll
+
+-CFLAGS = /nologo -I.\src\headers -I. -IC:\OSGeo4W\include $(OPTFLAGS)
++CFLAGS = /nologo -I.\src\headers -I. -I$(INSTALLED_ROOT)\include $(OPTFLAGS)
+
+ default: all
+
+@@ -73,12 +73,9 @@ spatialite.lib: $(LIBOBJ)
+ $(SPATIALITE_DLL): spatialite_i.lib
+
+ spatialite_i.lib: $(LIBOBJ)
+- link /debug /dll /out:$(SPATIALITE_DLL) \
++ link $(LINK_FLAGS) /dll /out:$(SPATIALITE_DLL) \
+ /implib:spatialite_i.lib $(LIBOBJ) \
+- C:\OSGeo4W\lib\proj_i.lib C:\OSGeo4W\lib\geos_c.lib \
+- C:\OSGeo4w\lib\freexl_i.lib C:\OSGeo4w\lib\iconv.lib \
+- C:\OSGeo4W\lib\sqlite3_i.lib C:\OSGeo4W\lib\zlib.lib \
+- C:\OSGeo4W\lib\libxml2.lib
++ $(LIBS_ALL)
+ if exist $(SPATIALITE_DLL).manifest mt -manifest \
+ $(SPATIALITE_DLL).manifest -outputresource:$(SPATIALITE_DLL);2
+
+@@ -90,16 +87,7 @@ clean:
+ del *.exp
+ del *.manifest
+ del *.lib
+- del src\gaiaaux\*.obj
+- del src\gaiaexif\*.obj
+- del src\gaiageo\*.obj
+- del src\spatialite\*.obj
+- del src\srsinit\*.obj
+- del src\versioninfo\*.obj
+- del src\virtualtext\*.obj
+- del src\wfs\*.obj
+- del src\dxf\*.obj
+- del src\md5\*.obj
++ forfiles /m *.obj* /s /c "cmd /c del @path" & exit 0
+ del *.pdb
+
+ install: all
+diff --git a/nmake.opt b/nmake.opt
+index 0960ec1..276bc84 100644
+--- a/nmake.opt
++++ b/nmake.opt
+@@ -1,8 +1,8 @@
+ # Directory tree where SpatiaLite will be installed.
+-INSTDIR=C:\OSGeo4W
++INSTDIR=$(INST_DIR)
+
+ # Uncomment the first for an optimized build, or the second for debug.
+-OPTFLAGS= /nologo /Ox /fp:precise /W3 /MD /D_CRT_SECURE_NO_WARNINGS \
++OPTFLAGS= /nologo /fp:precise /W3 $(CL_FLAGS) /D_CRT_SECURE_NO_WARNINGS \
+ /DDLL_EXPORT /DYY_NO_UNISTD_H
+ #OPTFLAGS= /nologo /Zi /MD /Fdspatialite.pdb /DDLL_EXPORT
+
diff --git a/ports/libspatialite/fix-sources.patch b/ports/libspatialite/fix-sources.patch
new file mode 100644
index 000000000..63def0d3c
--- /dev/null
+++ b/ports/libspatialite/fix-sources.patch
@@ -0,0 +1,32 @@
+diff --git a/config-msvc.h b/config-msvc.h
+index 9c7f477..a812546 100644
+--- a/config-msvc.h
++++ b/config-msvc.h
+@@ -143,7 +143,7 @@
+ #define HAVE_SYS_TYPES_H 1
+
+ /* Define to 1 if you have the <unistd.h> header file. */
+-#define HAVE_UNISTD_H 1
++#undef HAVE_UNISTD_H
+
+ /* Define to 1 if you have the <zlib.h> header file. */
+ #define HAVE_ZLIB_H 1
+diff --git a/src/gaiageo/gg_extras.c b/src/gaiageo/gg_extras.c
+index ff3dd7c..49ec986 100644
+--- a/src/gaiageo/gg_extras.c
++++ b/src/gaiageo/gg_extras.c
+@@ -59,14 +59,6 @@ the terms of any one of the MPL, the GPL or the LGPL.
+ #include <spatialite/sqlite.h>
+ #include <spatialite/gaiageo.h>
+
+-#if defined(_WIN32) && !defined(__MINGW32__)
+-static double
+-rint (double x)
+-{
+- return floor (x + 0.5);
+-}
+-#endif
+-
+ static void
+ auxGridSnapPoint (int dimension_model, gaiaPointPtr pt, gaiaGeomCollPtr result,
+ double origin_x, double origin_y, double origin_z,
diff --git a/ports/libspatialite/portfile.cmake b/ports/libspatialite/portfile.cmake
new file mode 100644
index 000000000..6517c1d55
--- /dev/null
+++ b/ports/libspatialite/portfile.cmake
@@ -0,0 +1,105 @@
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libspatialite-4.3.0a)
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://www.gaia-gis.it/gaia-sins/libspatialite-4.3.0a.tar.gz"
+ FILENAME "libspatialite-4.3.0a.tar.gz"
+ SHA512 adfd63e8dde0f370b07e4e7bb557647d2bfb5549205b60bdcaaca69ff81298a3d885e7c1ca515ef56dd0aca152ae940df8b5dbcb65bb61ae0a9337499895c3c0
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+find_program(NMAKE nmake)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/fix-makefiles.patch
+ ${CMAKE_CURRENT_LIST_DIR}/fix-sources.patch
+)
+
+# fix most of the problems when spacebar is in the path
+set(CURRENT_INSTALLED_DIR "\"${CURRENT_INSTALLED_DIR}\"")
+
+if(VCPKG_CRT_LINKAGE STREQUAL dynamic)
+ set(CL_FLAGS_DBG "/MDd /Zi")
+ set(CL_FLAGS_REL "/MD /Ox")
+ set(GEOS_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib")
+ set(GEOS_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/geos_c.lib")
+ set(LIBXML2_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib")
+ set(LIBXML2_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib")
+else()
+ set(CL_FLAGS_DBG "/MTd /Zi")
+ set(CL_FLAGS_REL "/MT /Ox")
+ set(GEOS_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libgeos_c.lib ${CURRENT_INSTALLED_DIR}/lib/libgeos.lib")
+ set(GEOS_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libgeos_c.lib ${CURRENT_INSTALLED_DIR}/debug/lib/libgeos.lib")
+ set(LIBXML2_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib ${CURRENT_INSTALLED_DIR}/lib/lzma.lib ws2_32.lib")
+ set(LIBXML2_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib ${CURRENT_INSTALLED_DIR}/debug/lib/lzma.lib ws2_32.lib")
+endif()
+
+set(LIBS_ALL_DBG
+ "${CURRENT_INSTALLED_DIR}/debug/lib/libiconv.lib \
+ ${CURRENT_INSTALLED_DIR}/debug/lib/libcharset.lib \
+ ${CURRENT_INSTALLED_DIR}/debug/lib/sqlite3.lib \
+ ${CURRENT_INSTALLED_DIR}/debug/lib/freexl.lib \
+ ${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib \
+ ${LIBXML2_LIBS_DBG} \
+ ${GEOS_LIBS_DBG} \
+ ${CURRENT_INSTALLED_DIR}/debug/lib/projd.lib"
+ )
+set(LIBS_ALL_REL
+ "${CURRENT_INSTALLED_DIR}/lib/libiconv.lib \
+ ${CURRENT_INSTALLED_DIR}/lib/libcharset.lib \
+ ${CURRENT_INSTALLED_DIR}/lib/sqlite3.lib \
+ ${CURRENT_INSTALLED_DIR}/lib/freexl.lib \
+ ${CURRENT_INSTALLED_DIR}/lib/zlib.lib \
+ ${LIBXML2_LIBS_REL} \
+ ${GEOS_LIBS_REL} \
+ ${CURRENT_INSTALLED_DIR}/lib/proj.lib"
+ )
+
+################
+# Debug build
+################
+message(STATUS "Building ${TARGET_TRIPLET}-dbg")
+
+file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" INST_DIR_DBG)
+
+vcpkg_execute_required_process(
+ COMMAND ${NMAKE} -f makefile.vc clean install
+ "INST_DIR=\"${INST_DIR_DBG}\"" INSTALLED_ROOT=${CURRENT_INSTALLED_DIR} "LINK_FLAGS=/debug" "CL_FLAGS=${CL_FLAGS_DBG}" "LIBS_ALL=${LIBS_ALL_DBG}"
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME nmake-build-${TARGET_TRIPLET}-debug
+)
+message(STATUS "Building ${TARGET_TRIPLET}-dbg done")
+vcpkg_copy_pdbs()
+
+################
+# Release build
+################
+message(STATUS "Building ${TARGET_TRIPLET}-rel")
+
+file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR_REL)
+vcpkg_execute_required_process(
+ COMMAND ${NMAKE} -f makefile.vc clean install
+ "INST_DIR=\"${INST_DIR_REL}\"" INSTALLED_ROOT=${CURRENT_INSTALLED_DIR} "LINK_FLAGS=" "CL_FLAGS=${CL_FLAGS_REL}" "LIBS_ALL=${LIBS_ALL_REL}"
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME nmake-build-${TARGET_TRIPLET}-release
+)
+message(STATUS "Building ${TARGET_TRIPLET}-rel done")
+
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libspatialite RENAME copyright)
+
+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/spatialite_i.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite_i.lib)
+else()
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/spatialite.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/spatialite_i.lib ${CURRENT_PACKAGES_DIR}/lib/spatialite.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite.lib)
+endif()
+
+message(STATUS "Packaging ${TARGET_TRIPLET} done")
diff --git a/ports/libssh/CONTROL b/ports/libssh/CONTROL
index 284d44091..9ae256937 100644
--- a/ports/libssh/CONTROL
+++ b/ports/libssh/CONTROL
@@ -1,4 +1,4 @@
Source: libssh
-Version: 0.7.5
+Version: 0.7.5-1
Description:libssh is a multiplatform C library implementing the SSHv2 and SSHv1 protocol on client and server side
Build-Depends: zlib, openssl
diff --git a/ports/libssh2/CONTROL b/ports/libssh2/CONTROL
index 715ffa0bd..5c68d2693 100644
--- a/ports/libssh2/CONTROL
+++ b/ports/libssh2/CONTROL
@@ -1,4 +1,4 @@
Source: libssh2
-Version: 1.8.0-1
+Version: 1.8.0-2
Build-Depends: zlib, openssl
-Description: The SSH library \ No newline at end of file
+Description: The SSH library
diff --git a/ports/libstemmer/CMakeLists.txt b/ports/libstemmer/CMakeLists.txt
new file mode 100644
index 000000000..787bb26ec
--- /dev/null
+++ b/ports/libstemmer/CMakeLists.txt
@@ -0,0 +1,22 @@
+cmake_minimum_required(VERSION 3.8.0)
+
+project(libstemmer)
+
+file(GLOB SNOWBALL_SOURCES
+ src_c/*.c
+ runtime/api.c
+ runtime/utilities.c
+ libstemmer/libstemmer.c
+)
+
+add_library(stemmer ${SNOWBALL_SOURCES})
+
+install(
+ TARGETS stemmer
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(FILES include/libstemmer.h DESTINATION include)
+endif()
diff --git a/ports/libstemmer/CONTROL b/ports/libstemmer/CONTROL
new file mode 100644
index 000000000..c09295b62
--- /dev/null
+++ b/ports/libstemmer/CONTROL
@@ -0,0 +1,3 @@
+Source: libstemmer
+Version: 2017-9-3
+Description: Snowball is a small string processing language designed for creating stemming algorithms for use in Information Retrieval
diff --git a/ports/libstemmer/LICENSE b/ports/libstemmer/LICENSE
new file mode 100644
index 000000000..0c9e7c008
--- /dev/null
+++ b/ports/libstemmer/LICENSE
@@ -0,0 +1,19 @@
+Snowball - License
+Except where explicitly noted, all the software given out on this Snowball site is covered by the 3-clause BSD License:
+
+Copyright (c) 2001, Dr Martin Porter,
+Copyright (c) 2002, Richard Boulton.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+Essentially, all this means is that you can do what you like with the code, except claim another Copyright for it, or claim that it is issued under a different license. The software is also issued without warranties, which means that if anyone suffers through its use, they cannot come back and sue you. You also have to alert anyone to whom you give the Snowball software to the fact that it is covered by the BSD license.
+
+We have not bothered to insert the licensing arrangement into the text of the Snowball software.
diff --git a/ports/libstemmer/portfile.cmake b/ports/libstemmer/portfile.cmake
new file mode 100644
index 000000000..9a76c3a94
--- /dev/null
+++ b/ports/libstemmer/portfile.cmake
@@ -0,0 +1,24 @@
+include(vcpkg_common_functions)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ message(WARNING "Dynamic not supported building static")
+ set(VCPKG_LIBRARY_LINKAGE static)
+endif()
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libstemmer_c)
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://snowball.tartarus.org/dist/libstemmer_c.tgz"
+ FILENAME "libstemmer_c.tgz"
+ SHA512 9ab5b8bfd5b4071dbbd63d769e09fae3971b49ee441ad970aa95d90b3297f5ffc9deed1613d99974d1485bf3b69292663591957f52bbeddcadbf9d9a4af432f2
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON
+)
+
+vcpkg_install_cmake()
+
+file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libstemmer RENAME copyright)
diff --git a/ports/libtheora/CONTROL b/ports/libtheora/CONTROL
index b964eb8ef..7324f0526 100644
--- a/ports/libtheora/CONTROL
+++ b/ports/libtheora/CONTROL
@@ -1,4 +1,4 @@
Source: libtheora
-Version: 1.2.0alpha1-20170719~vcpkg1
+Version: 1.2.0alpha1-20170719~vcpkg1-1
Description: Theora is a free and open video compression format from the Xiph.org Foundation.
Build-Depends: libogg
diff --git a/ports/libtorrent/CONTROL b/ports/libtorrent/CONTROL
index 3e2294cee..f2618a4ef 100644
--- a/ports/libtorrent/CONTROL
+++ b/ports/libtorrent/CONTROL
@@ -1,4 +1,4 @@
Source: libtorrent
-Version: 1.1.4
+Version: 1.1.4-1
Description: An efficient feature complete C++ BitTorrent implementation
Build-Depends: boost, openssl
diff --git a/ports/libunibreak/CMakeLists.txt b/ports/libunibreak/CMakeLists.txt
new file mode 100644
index 000000000..9ee5437d3
--- /dev/null
+++ b/ports/libunibreak/CMakeLists.txt
@@ -0,0 +1,35 @@
+cmake_minimum_required(VERSION 3.8.0)
+
+project(libunibreak)
+
+set(libunibreak_srcs
+ src/linebreakdata.c
+ src/linebreakdef.c
+ src/wordbreak.c
+ src/graphemebreak.c
+ src/unibreakbase.c
+ src/unibreakdef.c
+)
+
+
+include_directories(src)
+
+add_library(libunibreak ${libunibreak_srcs})
+
+install(
+ TARGETS libunibreak
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(
+ FILES
+ src/linebreak.h
+ src/linebreakdef.h
+ src/wordbreak.h
+ src/wordbreakdef.h
+ DESTINATION include
+ )
+endif()
diff --git a/ports/libunibreak/CONTROL b/ports/libunibreak/CONTROL
new file mode 100644
index 000000000..a8df4119f
--- /dev/null
+++ b/ports/libunibreak/CONTROL
@@ -0,0 +1,3 @@
+Source: libunibreak
+Version: 4.0-1
+Description: an implementation of the line breaking and word breaking algorithms as described in [Unicode Standard Annex 14] 1 and [Unicode Standard Annex 29] 2. Check the project's [home page] 3 for up-to-date information.
diff --git a/ports/libunibreak/portfile.cmake b/ports/libunibreak/portfile.cmake
new file mode 100644
index 000000000..6ec8bdd74
--- /dev/null
+++ b/ports/libunibreak/portfile.cmake
@@ -0,0 +1,24 @@
+include(vcpkg_common_functions)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ message(WARNING "Dynamic not supported building static")
+ set(VCPKG_LIBRARY_LINKAGE static)
+endif()
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO adah1972/libunibreak
+ REF libunibreak_4_0
+ SHA512 f11295133a1c65f365a5287f7377f69ac7998f19b06d44818fb55c8a5ba3edabc36de8d1b7c0d38db9d982f0e443d0a751f6d51841865094122df4cd74c9af3b
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON
+)
+
+vcpkg_install_cmake()
+
+file(INSTALL ${SOURCE_PATH}/LICENCE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libunibreak RENAME copyright)
diff --git a/ports/libusb-win32/CONTROL b/ports/libusb-win32/CONTROL
index f95a959f3..eba6e283d 100644
--- a/ports/libusb-win32/CONTROL
+++ b/ports/libusb-win32/CONTROL
@@ -1,3 +1,3 @@
Source: libusb-win32
-Version: 1.2.6.0
+Version: 1.2.6.0-1
Description: Allows user space applications to access many USB device on Windows.
diff --git a/ports/libuv/CONTROL b/ports/libuv/CONTROL
index 61f5711d1..ba5d7e85e 100644
--- a/ports/libuv/CONTROL
+++ b/ports/libuv/CONTROL
@@ -1,3 +1,3 @@
Source: libuv
-Version: 1.14.0
-Description: libuv is a multi-platform support library with a focus on asynchronous I/O. \ No newline at end of file
+Version: 1.14.1-1
+Description: libuv is a multi-platform support library with a focus on asynchronous I/O.
diff --git a/ports/libuv/portfile.cmake b/ports/libuv/portfile.cmake
index a75385132..2e07ff607 100644
--- a/ports/libuv/portfile.cmake
+++ b/ports/libuv/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libuv/libuv
- REF v1.14.0
- SHA512 a838f2e97250a78861b72458d9278935d9e8151d69de21de19499dfe9d7304d65ce578c007356b75cd4ce2c17735292d93cdb2fcc206d4e2430ee3f9a2fc7222
+ REF v1.14.1
+ SHA512 de78909e92757ce024a48d5a12a1aedd8015d7135cee374965dc38c07c29352ea411a31921910653728b3f73aca0275382cbf2130144da65e50a472b17849ade
HEAD_REF v1.x)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
diff --git a/ports/libvorbis/CONTROL b/ports/libvorbis/CONTROL
index dec9363b2..20f8c6e29 100644
--- a/ports/libvorbis/CONTROL
+++ b/ports/libvorbis/CONTROL
@@ -1,4 +1,4 @@
Source: libvorbis
-Version: 1.3.5-143caf4-2
+Version: 1.3.5-143caf4-3
Description: Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format.
Build-Depends: libogg
diff --git a/ports/libwebm/CONTROL b/ports/libwebm/CONTROL
index ca76af460..eb19cf16a 100644
--- a/ports/libwebm/CONTROL
+++ b/ports/libwebm/CONTROL
@@ -1,3 +1,3 @@
Source: libwebm
-Version: 1.0.0.27-1
+Version: 1.0.0.27-2
Description: WebM File Parser
diff --git a/ports/libwebp/CONTROL b/ports/libwebp/CONTROL
index 2b3c36554..e042390f4 100644
--- a/ports/libwebp/CONTROL
+++ b/ports/libwebp/CONTROL
@@ -1,3 +1,3 @@
Source: libwebp
-Version: 0.6.0-1
+Version: 0.6.0-2
Description: Lossy compression of digital photographic images.
diff --git a/ports/libwebsockets/CONTROL b/ports/libwebsockets/CONTROL
index 61a9cc449..816253a2c 100644
--- a/ports/libwebsockets/CONTROL
+++ b/ports/libwebsockets/CONTROL
@@ -1,4 +1,4 @@
Source: libwebsockets
-Version: 2.0.0-1
+Version: 2.0.0-2
Build-Depends: zlib, openssl
-Description: Libwebsockets is a lightweight pure C library built to use minimal CPU and memory resources, and provide fast throughput in both directions as client or server. \ No newline at end of file
+Description: Libwebsockets is a lightweight pure C library built to use minimal CPU and memory resources, and provide fast throughput in both directions as client or server.
diff --git a/ports/libxml2/CONTROL b/ports/libxml2/CONTROL
index 9f1564226..ce430ceff 100644
--- a/ports/libxml2/CONTROL
+++ b/ports/libxml2/CONTROL
@@ -1,4 +1,4 @@
Source: libxml2
-Version: 2.9.4-1
+Version: 2.9.4-2
Description: Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform)
Build-Depends: zlib, libiconv, liblzma
diff --git a/ports/libxmp-lite/0001-msvc-buildfix.patch b/ports/libxmp-lite/0001-msvc-buildfix.patch
new file mode 100644
index 000000000..dfd548186
--- /dev/null
+++ b/ports/libxmp-lite/0001-msvc-buildfix.patch
@@ -0,0 +1,23 @@
+diff -Naur .\libxmp-lite-4.4.1/src/common.h .\libxmp-lite-4.4.1-orig/src/common.h
+--- a/src/common.h 2016-07-16 13:37:36 +0200
++++ b/src/common.h 2017-05-23 00:52:17 +0200
+@@ -77,19 +77,12 @@
+ #ifndef CLIB_DECL
+ #define CLIB_DECL
+ #endif
+-#ifdef DEBUG
+-#ifndef ATTR_PRINTF
+-#define ATTR_PRINTF(x,y)
+-#endif
+-void CLIB_DECL D_(const char *text, ...) ATTR_PRINTF(1,2);
+-#else
+ // VS prior to VC7.1 does not support variadic macros. VC8.0 does not optimize unused parameters passing
+ #if _MSC_VER < 1400
+ void __inline CLIB_DECL D_(const char *text, ...) { do {} while (0); }
+ #else
+ #define D_(args, ...) do {} while (0)
+ #endif
+-#endif
+
+ #elif defined __ANDROID__
+
diff --git a/ports/libxmp-lite/0002-fix-symbols.patch b/ports/libxmp-lite/0002-fix-symbols.patch
new file mode 100644
index 000000000..f765a7bf0
--- /dev/null
+++ b/ports/libxmp-lite/0002-fix-symbols.patch
@@ -0,0 +1,44 @@
+diff --git a/lite/src/format.c b/lite/src/format.c
+--- a/src/format.c
++++ b/src/format.c
+@@ -27,20 +27,20 @@
+ #endif
+ #include "format.h"
+
+-extern const struct format_loader xm_loader;
+-extern const struct format_loader mod_loader;
+-extern const struct format_loader it_loader;
+-extern const struct format_loader s3m_loader;
++extern const struct format_loader libxmp_loader_xm;
++extern const struct format_loader libxmp_loader_mod;
++extern const struct format_loader libxmp_loader_it;
++extern const struct format_loader libxmp_loader_s3m;
+
+ extern const struct pw_format *const pw_format[];
+
+ const struct format_loader *const format_loader[5] = {
+- &xm_loader,
+- &mod_loader,
++ &libxmp_loader_xm,
++ &libxmp_loader_mod,
+ #ifndef LIBXMP_CORE_DISABLE_IT
+- &it_loader,
++ &libxmp_loader_it,
+ #endif
+- &s3m_loader,
++ &libxmp_loader_s3m,
+ NULL
+ };
+
+diff --git a/lite/src/loaders/mod_load.c b/lite/src/loaders/mod_load.c
+--- a/src/loaders/mod_load.c
++++ b/src/loaders/mod_load.c
+@@ -36,7 +36,7 @@
+ static int mod_test (HIO_HANDLE *, char *, const int);
+ static int mod_load (struct module_data *, HIO_HANDLE *, const int);
+
+-const struct format_loader mod_loader = {
++const struct format_loader libxmp_loader_mod = {
+ "Protracker",
+ mod_test,
+ mod_load
diff --git a/ports/libxmp-lite/CMakeLists.txt b/ports/libxmp-lite/CMakeLists.txt
new file mode 100644
index 000000000..9495e0eb4
--- /dev/null
+++ b/ports/libxmp-lite/CMakeLists.txt
@@ -0,0 +1,65 @@
+cmake_minimum_required(VERSION 3.4)
+project(libxmp-lite)
+
+set(HEADERS "include/libxmp-lite/xmp.h")
+
+set(SOURCES src/virtual.c
+ src/format.c
+ src/period.c
+ src/player.c
+ src/read_event.c
+ src/dataio.c
+ src/lfo.c
+ src/scan.c
+ src/control.c
+ src/filter.c
+ src/effects.c
+ src/mixer.c
+ src/mix_all.c
+ src/load_helpers.c
+ src/load.c
+ src/hio.c
+ src/smix.c
+ src/memio.c
+ src/loaders/common.c
+ src/loaders/itsex.c
+ src/loaders/sample.c
+ src/loaders/xm_load.c
+ src/loaders/mod_load.c
+ src/loaders/s3m_load.c
+ src/loaders/it_load.c
+)
+
+include_directories(include/libxmp-lite src)
+
+option(BUILD_SHARED_LIBS "Build shared libs" OFF)
+if(CMAKE_BUILD_TYPE STREQUAL "Debug")
+ option(INSTALL_HEADERS "Install header files" OFF)
+else()
+ option(INSTALL_HEADERS "Install header files" ON)
+endif()
+
+set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
+
+add_library(libxmp-lite ${SOURCES})
+target_compile_definitions(libxmp-lite PRIVATE
+ LIBXMP_CORE_PLAYER=1
+ inline=__inline
+ _USE_MATH_DEFINES=1
+)
+
+# Fix UWP /sdl compile errors
+# Disable C4703: Not initialized
+# Disable C4996: Deprecated
+set_target_properties(libxmp-lite PROPERTIES COMPILE_FLAGS "/wd4703 /wd4996")
+
+install(
+ TARGETS libxmp-lite
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+ RUNTIME DESTINATION bin
+)
+
+if(INSTALL_HEADERS)
+ install(FILES ${HEADERS} DESTINATION include)
+endif()
diff --git a/ports/libxmp-lite/CONTROL b/ports/libxmp-lite/CONTROL
new file mode 100644
index 000000000..1f7e8dded
--- /dev/null
+++ b/ports/libxmp-lite/CONTROL
@@ -0,0 +1,3 @@
+Source: libxmp-lite
+Version: 4.4.1
+Description: Lightweight version of libxmp that supports MOD, S3M, XM and IT modules.
diff --git a/ports/libxmp-lite/portfile.cmake b/ports/libxmp-lite/portfile.cmake
new file mode 100644
index 000000000..ac67940a1
--- /dev/null
+++ b/ports/libxmp-lite/portfile.cmake
@@ -0,0 +1,27 @@
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libxmp-lite-4.4.1)
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://sourceforge.net/projects/xmp/files/libxmp/4.4.1/libxmp-lite-4.4.1.tar.gz"
+ FILENAME "libxmp-lite-4.4.1.tar.gz"
+ SHA512 f27e3f9fb79ff15ce90b51fb29641c01cadf7455150da57cde6860c2ba075ed497650eb44ec9143bdd3538288228c609f7db6d862c9d73f007f686eccb05543e
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/0001-msvc-buildfix.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0002-fix-symbols.patch
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/libxmp-lite RENAME copyright)
diff --git a/ports/libzip/CONTROL b/ports/libzip/CONTROL
index 2106a5f94..045030e95 100644
--- a/ports/libzip/CONTROL
+++ b/ports/libzip/CONTROL
@@ -1,4 +1,4 @@
Source: libzip
-Version: 1.2.0-1
+Version: 1.2.0-2
Build-Depends: zlib
Description: A library for reading, creating, and modifying zip archives.
diff --git a/ports/live555/CONTROL b/ports/live555/CONTROL
index 37048f268..d2ff15211 100644
--- a/ports/live555/CONTROL
+++ b/ports/live555/CONTROL
@@ -1,3 +1,3 @@
Source: live555
-Version: 2017.06.04
+Version: 2017.06.04-1
Description: A complete RTSP server application
diff --git a/ports/llvm/CONTROL b/ports/llvm/CONTROL
index 9b7936004..2f6b1ec93 100644
--- a/ports/llvm/CONTROL
+++ b/ports/llvm/CONTROL
@@ -1,3 +1,3 @@
Source: llvm
-Version: 4.0.0
+Version: 5.0.0-1
Description: The LLVM Compiler Infrastructure
diff --git a/ports/llvm/portfile.cmake b/ports/llvm/portfile.cmake
index 9edf7f2b1..b1f546f4f 100644
--- a/ports/llvm/portfile.cmake
+++ b/ports/llvm/portfile.cmake
@@ -3,11 +3,11 @@
set(VCPKG_LIBRARY_LINKAGE static)
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/llvm-4.0.0.src)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/llvm-5.0.0.src)
vcpkg_download_distfile(ARCHIVE
- URLS "http://releases.llvm.org/4.0.0/llvm-4.0.0.src.tar.xz"
- FILENAME "llvm-4.0.0.src.tar.xz"
- SHA512 cf681f0626ef6d568d951cdc3e143471a1d7715a0ba11e52aa273cf5d8d421e1357ef2645cc85879eaefcd577e99e74d07b01566825b3d0461171ef2cbfc7704
+ 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
)
vcpkg_extract_source_archive(${ARCHIVE})
diff --git a/ports/lmdb/CONTROL b/ports/lmdb/CONTROL
index 13c648fa6..c926fd78f 100644
--- a/ports/lmdb/CONTROL
+++ b/ports/lmdb/CONTROL
@@ -1,3 +1,3 @@
Source: lmdb
-Version: 0.9.18-2
-Description: LMDB is an extraordinarily fast, memory-efficient database \ No newline at end of file
+Version: 0.9.18-3
+Description: LMDB is an extraordinarily fast, memory-efficient database
diff --git a/ports/lodepng/CMakeLists.txt b/ports/lodepng/CMakeLists.txt
new file mode 100644
index 000000000..d4c8bc12a
--- /dev/null
+++ b/ports/lodepng/CMakeLists.txt
@@ -0,0 +1,41 @@
+cmake_minimum_required(VERSION 3.8.0)
+project(lodepng)
+
+if(MSVC)
+ add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS)
+endif()
+
+if(BUILD_SHARED_LIBS)
+ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
+endif()
+
+
+include_directories(".")
+
+add_library(lodepng lodepng.cpp lodepng_util.cpp)
+
+add_executable(pngdetail pngdetail.cpp)
+
+target_link_libraries(pngdetail lodepng)
+
+install(
+ TARGETS lodepng
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+if(NOT DISABLE_INSTALL_TOOLS)
+ install (
+ TARGETS pngdetail
+ RUNTIME DESTINATION tools/lodepng
+ )
+endif()
+
+if(NOT DDISABLE_INSTALL_EXAMPLES)
+ install(DIRECTORY examples DESTINATION share/lodepng/)
+endif()
+
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(FILES lodepng.h lodepng_util.h DESTINATION include)
+endif()
diff --git a/ports/lodepng/CONTROL b/ports/lodepng/CONTROL
new file mode 100644
index 000000000..230e27252
--- /dev/null
+++ b/ports/lodepng/CONTROL
@@ -0,0 +1,3 @@
+Source: lodepng
+Version: 2017-09-01-8a0f16afe74a6a-1
+Description: PNG encoder and decoder in C and C++
diff --git a/ports/lodepng/portfile.cmake b/ports/lodepng/portfile.cmake
new file mode 100644
index 000000000..8611d5ea3
--- /dev/null
+++ b/ports/lodepng/portfile.cmake
@@ -0,0 +1,28 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO lvandeve/lodepng
+ REF 8a0f16afe74a6abf85e3b45e9558283022021a59
+ SHA512 189dde0a0982822b6dfc3f886d8035338ed200958eed8394c5c64aa97ddcf758b3989beae14ce8f26a78efa9fb4b94932bb02b41cacd62bd62a46ebf9b324def
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG
+ -DDISABLE_INSTALL_HEADERS=ON
+ -DDISABLE_INSTALL_TOOLS=ON
+ -DDDISABLE_INSTALL_EXAMPLES=ON
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/lodepng)
+
+
+file(INSTALL ${SOURCE_PATH}/lodepng.h DESTINATION ${CURRENT_PACKAGES_DIR}/share/lodepng RENAME copyright)
diff --git a/ports/log4cplus/CONTROL b/ports/log4cplus/CONTROL
index d4af82051..882ee88b8 100644
--- a/ports/log4cplus/CONTROL
+++ b/ports/log4cplus/CONTROL
@@ -1,3 +1,3 @@
Source: log4cplus
-Version: REL_1_2_1-RC2
+Version: REL_1_2_1-RC2-1
Description: A simple to use C++ logging API providing thread--safe, flexible, and arbitrarily granular control over log management and configuration
diff --git a/ports/lpeg/CONTROL b/ports/lpeg/CONTROL
index 5f2a3aff7..9896815b8 100644
--- a/ports/lpeg/CONTROL
+++ b/ports/lpeg/CONTROL
@@ -1,4 +1,4 @@
Source: lpeg
-Version: 1.0.1-2
+Version: 1.0.1-3
Description: LPeg is a pattern-matching library for Lua, based on Parsing Expression Grammars (PEGs).
Build-Depends: lua
diff --git a/ports/lua/CMakeLists.txt b/ports/lua/CMakeLists.txt
index faef8018b..fc2e27e08 100644
--- a/ports/lua/CMakeLists.txt
+++ b/ports/lua/CMakeLists.txt
@@ -56,9 +56,10 @@ INSTALL ( TARGETS lua
IF (NOT DEFINED SKIP_INSTALL_TOOLS)
ADD_EXECUTABLE ( luac src/luac.c ${SRC_LIBLUA} ) # compiler
- ADD_EXECUTABLE ( luai src/lua.c ${SRC_LIBLUA} ) # interpreter
+ ADD_EXECUTABLE ( luai src/lua.c ) # interpreter
+ TARGET_LINK_LIBRARIES ( luai lua )
SET_TARGET_PROPERTIES ( luai PROPERTIES OUTPUT_NAME lua PDB_NAME luai )
- INSTALL ( TARGETS luai luac RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/tools )
+ INSTALL ( TARGETS luai luac lua RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/tools )
ENDIF ()
IF (NOT DEFINED SKIP_INSTALL_HEADERS)
diff --git a/ports/lua/CONTROL b/ports/lua/CONTROL
index 266bd153c..cf49dafe5 100644
--- a/ports/lua/CONTROL
+++ b/ports/lua/CONTROL
@@ -1,3 +1,3 @@
Source: lua
-Version: 5.3.4
+Version: 5.3.4-2
Description: a powerful, fast, lightweight, embeddable scripting language
diff --git a/ports/luafilesystem/CONTROL b/ports/luafilesystem/CONTROL
index f101b7cb3..4ff18cda4 100644
--- a/ports/luafilesystem/CONTROL
+++ b/ports/luafilesystem/CONTROL
@@ -1,4 +1,4 @@
Source: luafilesystem
-Version: 1.6.3
+Version: 1.7.0.2
Description: LuaFileSystem is a Lua library developed to complement the set of functions related to file systems offered by the standard Lua distribution.
Build-Depends: lua
diff --git a/ports/luafilesystem/lfs-def-fix.patch b/ports/luafilesystem/lfs-def-fix.patch
index 62cea763e..34923427f 100644
--- a/ports/luafilesystem/lfs-def-fix.patch
+++ b/ports/luafilesystem/lfs-def-fix.patch
@@ -1,21 +1,20 @@
-From 644c9c32ca9053ced3d37ff76fc1fbc0389ddf53 Mon Sep 17 00:00:00 2001
-From: Alex <null@null.null>
-Date: Mon, 16 Feb 2015 08:15:41 +0300
-Subject: [PATCH] DEF file fixes (DESCRIPTION is deprecated; VERSION must
- contain one or two numers)
+From 92527d96199912f79b8046ddb32ff83a16771cb4 Mon Sep 17 00:00:00 2001
+From: "Stephen E. Baker" <baker.stephen.e@gmail.com>
+Date: Fri, 15 Sep 2017 21:18:58 -0400
+Subject: [PATCH] Update version in lfs.def
+Version number of current release is 1.7
---
- src/lfs.def | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
+ src/lfs.def | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/lfs.def b/src/lfs.def
-index 7aa7a35..8a36d41 100644
+index 8a36d41..4055ff0 100644
--- a/src/lfs.def
+++ b/src/lfs.def
-@@ -1,5 +1,4 @@
+@@ -1,4 +1,4 @@
LIBRARY lfs.dll
--DESCRIPTION "LuaFileSystem"
--VERSION 1.5.0
-+VERSION 1.6
+-VERSION 1.6
++VERSION 1.7
EXPORTS
luaopen_lfs
diff --git a/ports/luafilesystem/portfile.cmake b/ports/luafilesystem/portfile.cmake
index e55d56881..74c3d116a 100644
--- a/ports/luafilesystem/portfile.cmake
+++ b/ports/luafilesystem/portfile.cmake
@@ -1,8 +1,8 @@
include(vcpkg_common_functions)
-set(LUAFILESYSTEM_VERSION 1.6.3)
-set(LUAFILESYSTEM_REVISION v_1_6_3)
-set(LUAFILESYSTEM_HASH abfa1b3ac22ed80189560a1a025a7ea21a954defe14e5b539e08f266d180962a691262efc7eb2ddacc2d4aae14d6e356b1a276165b5bed46a13e4d6c61ab99f1)
+set(LUAFILESYSTEM_VERSION 1.7.0.2)
+set(LUAFILESYSTEM_REVISION v1_7_0_2)
+set(LUAFILESYSTEM_HASH a1d4d077776e57cd878dbcd21656da141ea3686c587b5420a2b039aeaf086b7e7d05d531ee1cc2bbd7d06660d1315b09593e52143f6711f033ce8eecdc550511)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/luafilesystem-${LUAFILESYSTEM_VERSION})
vcpkg_from_github(
diff --git a/ports/lz4/CONTROL b/ports/lz4/CONTROL
index c6d730c2d..5e8b87bd2 100644
--- a/ports/lz4/CONTROL
+++ b/ports/lz4/CONTROL
@@ -1,3 +1,3 @@
Source: lz4
-Version: 1.8.0
+Version: 1.8.0-1
Description: Lossless compression algorithm, providing compression speed at 400 MB/s per core.
diff --git a/ports/lzfse/CONTROL b/ports/lzfse/CONTROL
index 7559d661e..34276814f 100644
--- a/ports/lzfse/CONTROL
+++ b/ports/lzfse/CONTROL
@@ -1,3 +1,3 @@
Source: lzfse
-Version: 1.0
+Version: 1.0-1
Description: Lempel-Ziv style data compressor using Finite State Entropy coding.
diff --git a/ports/lzo/CONTROL b/ports/lzo/CONTROL
index ba477b484..d124020b8 100644
--- a/ports/lzo/CONTROL
+++ b/ports/lzo/CONTROL
@@ -1,3 +1,3 @@
Source: lzo
-Version: 2.10-1
+Version: 2.10-2
Description: Lossless data compression library
diff --git a/ports/magnum-plugins/CONTROL b/ports/magnum-plugins/CONTROL
index f6e194c9f..6c187f423 100644
--- a/ports/magnum-plugins/CONTROL
+++ b/ports/magnum-plugins/CONTROL
@@ -1,4 +1,4 @@
Source: magnum-plugins
-Version: jun2017-4
+Version: jun2017-5
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 b26262490..289816b94 100644
--- a/ports/magnum-plugins/portfile.cmake
+++ b/ports/magnum-plugins/portfile.cmake
@@ -3,7 +3,7 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mosra/magnum-plugins
REF 34a3bc34335ca05097e735db19fe1fae81dbfbb5
- SHA512 918c3eeae246d1ac67e3595c50ff599872a0c1498e9a8a0386ad656f3d9d2209b048b53c25f198660e15201147795578c5c931b00116da46fd77d8e91c0826cb
+ SHA512 8d8998ed0f5a9361fd8a322f0c9ee8bb36b2255487e7198603f316a383a5dcb38160dcfa92759a2e2aa6d13d45f5fdae8f1165e39428d516823bc931d3097b83
HEAD_REF master
)
@@ -72,4 +72,4 @@ endif()
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/magnum-plugins)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/magnum-plugins/COPYING ${CURRENT_PACKAGES_DIR}/share/magnum-plugins/copyright)
-vcpkg_copy_pdbs() \ No newline at end of file
+vcpkg_copy_pdbs()
diff --git a/ports/magnum/CONTROL b/ports/magnum/CONTROL
index a040014da..382e39075 100644
--- a/ports/magnum/CONTROL
+++ b/ports/magnum/CONTROL
@@ -1,4 +1,4 @@
Source: magnum
-Version: jun2017-5
+Version: jun2017-6
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/matio/CONTROL b/ports/matio/CONTROL
index f4dac30a1..7912440e3 100644
--- a/ports/matio/CONTROL
+++ b/ports/matio/CONTROL
@@ -1,4 +1,4 @@
Source: matio
-Version: 1.5.10-1
+Version: 1.5.10-2
Description: MATLAB MAT File I/O Library
Build-Depends: zlib, hdf5
diff --git a/ports/meschach/CMakeLists.txt b/ports/meschach/CMakeLists.txt
new file mode 100644
index 000000000..648fe5af9
--- /dev/null
+++ b/ports/meschach/CMakeLists.txt
@@ -0,0 +1,89 @@
+cmake_minimum_required(VERSION 3.8.0)
+project(meschach)
+
+if(MSVC)
+ add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS)
+endif()
+
+set(meschach_srcs
+ bdfactor.c
+ bkpfacto.c
+ chfactor.c
+ copy.c
+ err.c
+ extras.c
+ fft.c
+ givens.c
+ hessen.c
+ hsehldr.c
+ init.c
+ iter0.c
+ iternsym.c
+ itersym.c
+ ivecop.c
+ lufactor.c
+ machine.c
+ matlab.c
+ matop.c
+ matrixio.c
+ meminfo.c
+ memory.c
+ memstat.c
+ mfunc.c
+ norm.c
+ otherio.c
+ pxop.c
+ qrfactor.c
+ schur.c
+ solve.c
+ sparse.c
+ sparseio.c
+ spbkp.c
+ spchfctr.c
+ splufctr.c
+ sprow.c
+ spswap.c
+ submat.c
+ svd.c
+ symmeig.c
+ update.c
+ vecop.c
+ version.c
+ zcopy.c
+ zfunc.c
+ zgivens.c
+ zhessen.c
+ zhsehldr.c
+ zlufctr.c
+ zmachine.c
+ zmatio.c
+ zmatlab.c
+ zmatop.c
+ zmemory.c
+ znorm.c
+ zqrfctr.c
+ zschur.c
+ zsolve.c
+ ztorture.c
+ zvecop.c
+)
+file(GLOB meschach_headers "*.h")
+
+include_directories(".")
+
+if(BUILD_SHARED_LIBS)
+ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
+endif()
+
+add_library(meschach ${meschach_srcs})
+target_compile_definitions(meschach PRIVATE -DHAVE_MEMORY_H -DHAVE_COMPLEX_H)
+
+install(
+ TARGETS meschach
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(FILES ${meschach_headers} DESTINATION include/meschach)
+endif()
diff --git a/ports/meschach/CONTROL b/ports/meschach/CONTROL
new file mode 100644
index 000000000..a8418b2b1
--- /dev/null
+++ b/ports/meschach/CONTROL
@@ -0,0 +1,3 @@
+Source: meschach
+Version: 1.2b-1
+Description: Matrix computations in C
diff --git a/ports/meschach/portfile.cmake b/ports/meschach/portfile.cmake
new file mode 100644
index 000000000..dd9d93085
--- /dev/null
+++ b/ports/meschach/portfile.cmake
@@ -0,0 +1,21 @@
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src)
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://homepage.math.uiowa.edu/~dstewart/meschach/mesch12b.tar.gz"
+ FILENAME "mesch12b.tar.gz"
+ SHA512 9051e1502b8c9741400c61fd6038e514887f305f267ba4e97d747423de3da1270f835f65b2d1f538f8938677060bc0fcfd7a94022d74fbfd31a0450116e9d79e
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(INSTALL ${SOURCE_PATH}/copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/meschach)
diff --git a/ports/metis/CONTROL b/ports/metis/CONTROL
index cc604ce8f..f302a9ce4 100644
--- a/ports/metis/CONTROL
+++ b/ports/metis/CONTROL
@@ -1,3 +1,3 @@
Source: metis
-Version: 5.1.0
+Version: 5.1.0-1
Description: Serial Graph Partitioning and Fill-reducing Matrix Ordering
diff --git a/ports/minizip/CONTROL b/ports/minizip/CONTROL
index b3023e990..135303129 100644
--- a/ports/minizip/CONTROL
+++ b/ports/minizip/CONTROL
@@ -1,4 +1,4 @@
Source: minizip
-Version: 1.2.11-1
+Version: 1.2.11-2
Description:
Build-Depends: bzip2, zlib
diff --git a/ports/mongo-c-driver/CONTROL b/ports/mongo-c-driver/CONTROL
index a460b313c..4b100879a 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
+Version: 1.6.2-1
Build-Depends: libbson, openssl (uwp)
-Description: Client library written in C for MongoDB. \ No newline at end of file
+Description: Client library written in C for MongoDB.
diff --git a/ports/mongo-cxx-driver/CONTROL b/ports/mongo-cxx-driver/CONTROL
index 9b7e29ba3..306f6a96c 100644
--- a/ports/mongo-cxx-driver/CONTROL
+++ b/ports/mongo-cxx-driver/CONTROL
@@ -1,4 +1,4 @@
Source: mongo-cxx-driver
-Version: 3.1.1
+Version: 3.1.1-1
Build-Depends: boost, libbson, mongo-c-driver
-Description: MongoDB C++ Driver. \ No newline at end of file
+Description: MongoDB C++ Driver.
diff --git a/ports/mpfr/CONTROL b/ports/mpfr/CONTROL
index 16224d73b..2d5d4fedd 100644
--- a/ports/mpfr/CONTROL
+++ b/ports/mpfr/CONTROL
@@ -1,4 +1,4 @@
Source: mpfr
-Version: 3.1.5
+Version: 3.1.5-1
Description: The MPFR library is a C library for multiple-precision floating-point computations with correct rounding
-Build-Depends: mpir \ No newline at end of file
+Build-Depends: mpir
diff --git a/ports/msgpack/CONTROL b/ports/msgpack/CONTROL
index 1d0daba68..7c9933d27 100644
--- a/ports/msgpack/CONTROL
+++ b/ports/msgpack/CONTROL
@@ -1,3 +1,3 @@
Source: msgpack
-Version: 2.1.5
+Version: 2.1.5-1
Description: MessagePack is an efficient binary serialization format, which lets you exchange data among multiple languages like JSON, except that it's faster and smaller.
diff --git a/ports/nana/CONTROL b/ports/nana/CONTROL
index 680dec287..ae4168544 100644
--- a/ports/nana/CONTROL
+++ b/ports/nana/CONTROL
@@ -1,4 +1,4 @@
Source: nana
-Version: 1.5.4
+Version: 1.5.4-1
Description: Cross-platform library for GUI programming in modern C++ style.
Build-Depends: libpng, libjpeg-turbo
diff --git a/ports/nanodbc/CONTROL b/ports/nanodbc/CONTROL
index 2611bac80..0343119a0 100644
--- a/ports/nanodbc/CONTROL
+++ b/ports/nanodbc/CONTROL
@@ -1,3 +1,3 @@
Source: nanodbc
-Version: 2.12.4
-Description: A small C++ wrapper for the native C ODBC API. \ No newline at end of file
+Version: 2.12.4-1
+Description: A small C++ wrapper for the native C ODBC API.
diff --git a/ports/netcdf-c/CONTROL b/ports/netcdf-c/CONTROL
index 1303cb517..a7f3816ba 100644
--- a/ports/netcdf-c/CONTROL
+++ b/ports/netcdf-c/CONTROL
@@ -1,4 +1,4 @@
Source: netcdf-c
-Version: 4.4.1.1-1
+Version: 4.4.1.1-2
Build-Depends: hdf5, curl
Description: a set of self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.
diff --git a/ports/netcdf-cxx4/CONTROL b/ports/netcdf-cxx4/CONTROL
index 9fcda5468..a3b7278a6 100644
--- a/ports/netcdf-cxx4/CONTROL
+++ b/ports/netcdf-cxx4/CONTROL
@@ -1,4 +1,4 @@
Source: netcdf-cxx4
-Version: 4.3.0
+Version: 4.3.0-1
Build-Depends: netcdf-c
Description: a set of machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.
diff --git a/ports/nlohmann-json/CONTROL b/ports/nlohmann-json/CONTROL
index 4e65a9d93..90b6e504e 100644
--- a/ports/nlohmann-json/CONTROL
+++ b/ports/nlohmann-json/CONTROL
@@ -1,3 +1,3 @@
Source: nlohmann-json
-Version: 2.1.1
+Version: 2.1.1-1
Description: JSON for Modern C++
diff --git a/ports/nlopt/0001_export_symbols.patch b/ports/nlopt/0001_export_symbols.patch
new file mode 100644
index 000000000..8db70a139
--- /dev/null
+++ b/ports/nlopt/0001_export_symbols.patch
@@ -0,0 +1,25 @@
+From a8ab743870873066a66b30d68907ccc4ade250a5 Mon Sep 17 00:00:00 2001
+From: Mikhail Paulyshka <me@mixaill.tk>
+Date: Mon, 4 Sep 2017 01:25:38 +0300
+Subject: [PATCH] export symbols
+
+---
+ CMakeLists.txt | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f630c18..c266b39 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -20,6 +20,8 @@ endif ()
+
+ project (nlopt)
+
++set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
++
+ list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
+
+ option (WITH_CXX "enable cxx routines" OFF)
+--
+2.12.2.windows.2
+
diff --git a/ports/nlopt/CONTROL b/ports/nlopt/CONTROL
new file mode 100644
index 000000000..22d763b0b
--- /dev/null
+++ b/ports/nlopt/CONTROL
@@ -0,0 +1,3 @@
+Source: nlopt
+Version: 2.4.2-c43afa08d~vcpkg1-1
+Description: a library for nonlinear local and global optimization, for functions with and without gradient information.
diff --git a/ports/nlopt/portfile.cmake b/ports/nlopt/portfile.cmake
new file mode 100644
index 000000000..f2370b0c0
--- /dev/null
+++ b/ports/nlopt/portfile.cmake
@@ -0,0 +1,30 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO stevengj/nlopt
+ REF c43afa08d4fe086d9c00c37924a6bd4c9de71816
+ SHA512 e063d748b040f081a648b33dadaf9b7deef63ff3be0cffd8988816701c18694202f5bcf06a18991f1f4b35014e3f406ffa4404d4036ff7625d3680bd5e24f8e4
+ HEAD_REF master
+)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/0001_export_symbols.patch)
+
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/nlopt")
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/octomap/CONTROL b/ports/octomap/CONTROL
index f54112669..6b26d7ef1 100644
--- a/ports/octomap/CONTROL
+++ b/ports/octomap/CONTROL
@@ -1,3 +1,3 @@
Source: octomap
-Version: cefed0c1d79afafa5aeb05273cf1246b093b771c-1
+Version: cefed0c1d79afafa5aeb05273cf1246b093b771c-2
Description: An Efficient Probabilistic 3D Mapping Framework Based on Octrees
diff --git a/ports/ogre/CONTROL b/ports/ogre/CONTROL
index 40d9e2416..a3a2460c4 100644
--- a/ports/ogre/CONTROL
+++ b/ports/ogre/CONTROL
@@ -1,4 +1,4 @@
Source: ogre
-Version: 1.9.0
+Version: 1.9.0 -1
Build-Depends: freeimage, freetype, zlib, zziplib
Description: 3D Object-Oriented Graphics Rendering Engine
diff --git a/ports/openal-soft/CONTROL b/ports/openal-soft/CONTROL
index 742bab3fe..094f5c188 100644
--- a/ports/openal-soft/CONTROL
+++ b/ports/openal-soft/CONTROL
@@ -1,3 +1,3 @@
Source: openal-soft
-Version: 1.18.1
+Version: 1.18.1-1
Description: OpenAL Soft is an LGPL-licensed, cross-platform, software implementation of the OpenAL 3D audio API.
diff --git a/ports/openblas/CONTROL b/ports/openblas/CONTROL
index a3a3f702f..808d52ac9 100644
--- a/ports/openblas/CONTROL
+++ b/ports/openblas/CONTROL
@@ -1,3 +1,3 @@
Source: openblas
-Version: v0.2.20
+Version: v0.2.20-2
Description: OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
diff --git a/ports/openblas/install-openblas.patch b/ports/openblas/install-openblas.patch
index 354b593dc..ef9574cdd 100644
--- a/ports/openblas/install-openblas.patch
+++ b/ports/openblas/install-openblas.patch
@@ -22,40 +22,3 @@ index a379f549..f95a872b 100644
# TODO: Why is the config saved here? Is this necessary with CMake?
#Save the config files for installation
-diff --git a/cmake/prebuild.cmake b/cmake/prebuild.cmake
-index a7f98bfb..02ab7080 100644
---- a/cmake/prebuild.cmake
-+++ b/cmake/prebuild.cmake
-@@ -37,6 +37,10 @@
-
- # CPUIDEMU = ../../cpuid/table.o
-
-+if (NOT DEFINED BLASHELPER_BINARY_DIR)
-+ set(BLASHELPER_BINARY_DIR "${PROJECT_BINARY_DIR}")
-+endif ()
-+
- if (DEFINED CPUIDEMU)
- set(EXFLAGS "-DCPUIDEMU -DVENDOR=99")
- endif ()
-@@ -95,8 +99,8 @@ endif ()
- message(STATUS "Running getarch")
-
- # use the cmake binary w/ the -E param to run a shell command in a cross-platform way
--execute_process(COMMAND ${PROJECT_BINARY_DIR}/${GETARCH_BIN} 0 OUTPUT_VARIABLE GETARCH_MAKE_OUT)
--execute_process(COMMAND ${PROJECT_BINARY_DIR}/${GETARCH_BIN} 1 OUTPUT_VARIABLE GETARCH_CONF_OUT)
-+execute_process(COMMAND ${BLASHELPER_BINARY_DIR}/${GETARCH_BIN} 0 OUTPUT_VARIABLE GETARCH_MAKE_OUT)
-+execute_process(COMMAND ${BLASHELPER_BINARY_DIR}/${GETARCH_BIN} 1 OUTPUT_VARIABLE GETARCH_CONF_OUT)
-
- message(STATUS "GETARCH results:\n${GETARCH_MAKE_OUT}")
-
-@@ -121,8 +125,8 @@ if (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")
- endif ()
-
- # use the cmake binary w/ the -E param to run a shell command in a cross-platform way
--execute_process(COMMAND ${PROJECT_BINARY_DIR}/${GETARCH2_BIN} 0 OUTPUT_VARIABLE GETARCH2_MAKE_OUT)
--execute_process(COMMAND ${PROJECT_BINARY_DIR}/${GETARCH2_BIN} 1 OUTPUT_VARIABLE GETARCH2_CONF_OUT)
-+execute_process(COMMAND ${BLASHELPER_BINARY_DIR}/${GETARCH2_BIN} 0 OUTPUT_VARIABLE GETARCH2_MAKE_OUT)
-+execute_process(COMMAND ${BLASHELPER_BINARY_DIR}/${GETARCH2_BIN} 1 OUTPUT_VARIABLE GETARCH2_CONF_OUT)
-
- # append config data from getarch_2nd to the TARGET file and read in CMake vars
- file(APPEND ${TARGET_CONF} ${GETARCH2_CONF_OUT})
diff --git a/ports/openblas/portfile.cmake b/ports/openblas/portfile.cmake
index c437a8642..463db0f25 100644
--- a/ports/openblas/portfile.cmake
+++ b/ports/openblas/portfile.cmake
@@ -21,17 +21,17 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
set(VCPKG_LIBRARY_LINKAGE "dynamic")
endif()
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/openblas-0.2.20)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://codeload.github.com/xianyi/OpenBLAS/zip/v0.2.20"
- FILENAME "openblas-v0.2.20.zip"
- SHA512 c9cd7397bb026e3bb06c9407ad5ac26bf936258da81ac22132ceceb53c0235677e18a6046f1db8a75c8a92a614b2d156a3da89d684421a24bd283430ce55db7d
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO xianyi/OpenBLAS
+ REF v0.2.20
+ SHA512 8dfc8e8c8d456b834d2e9544c8eadd9f4770e30db8b8dd76af601ec0735fd86c9cf63dd6a03ccd23fc02ec2e05069a09875b9073dfe29f99aadab3a958ae2634
+ HEAD_REF develop
)
-vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
- PATCHES "${CMAKE_CURRENT_LIST_DIR}/install-openblas.patch"
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/install-openblas.patch" "${CMAKE_CURRENT_LIST_DIR}/whitespace.patch"
)
find_program(GIT NAMES git git.cmd)
diff --git a/ports/openblas/whitespace.patch b/ports/openblas/whitespace.patch
new file mode 100644
index 000000000..410e81655
--- /dev/null
+++ b/ports/openblas/whitespace.patch
@@ -0,0 +1,64 @@
+diff --git a/cmake/prebuild.cmake b/cmake/prebuild.cmake
+index 02ab708..b51bd0b 100644
+--- a/cmake/prebuild.cmake
++++ b/cmake/prebuild.cmake
+@@ -37,6 +37,10 @@
+
+ # CPUIDEMU = ../../cpuid/table.o
+
++if (NOT DEFINED BLASHELPER_BINARY_DIR)
++ set(BLASHELPER_BINARY_DIR "${PROJECT_BINARY_DIR}")
++endif ()
++
+ if (DEFINED CPUIDEMU)
+ set(EXFLAGS "-DCPUIDEMU -DVENDOR=99")
+ endif ()
+@@ -87,7 +87,7 @@ file(MAKE_DIRECTORY ${GETARCH_DIR})
+ if (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")
+ try_compile(GETARCH_RESULT ${GETARCH_DIR}
+ SOURCES ${GETARCH_SRC}
+- COMPILE_DEFINITIONS ${EXFLAGS} ${GETARCH_FLAGS} -I${PROJECT_SOURCE_DIR}
++ COMPILE_DEFINITIONS ${EXFLAGS} ${GETARCH_FLAGS} -I"${PROJECT_SOURCE_DIR}"
+ OUTPUT_VARIABLE GETARCH_LOG
+ COPY_FILE ${PROJECT_BINARY_DIR}/${GETARCH_BIN}
+ )
+@@ -95,8 +99,8 @@ endif ()
+ message(STATUS "Running getarch")
+
+ # use the cmake binary w/ the -E param to run a shell command in a cross-platform way
+-execute_process(COMMAND ${PROJECT_BINARY_DIR}/${GETARCH_BIN} 0 OUTPUT_VARIABLE GETARCH_MAKE_OUT)
+-execute_process(COMMAND ${PROJECT_BINARY_DIR}/${GETARCH_BIN} 1 OUTPUT_VARIABLE GETARCH_CONF_OUT)
++execute_process(COMMAND ${BLASHELPER_BINARY_DIR}/${GETARCH_BIN} 0 OUTPUT_VARIABLE GETARCH_MAKE_OUT)
++execute_process(COMMAND ${BLASHELPER_BINARY_DIR}/${GETARCH_BIN} 1 OUTPUT_VARIABLE GETARCH_CONF_OUT)
+
+ message(STATUS "GETARCH results:\n${GETARCH_MAKE_OUT}")
+
+@@ -114,7 +114,7 @@ file(MAKE_DIRECTORY ${GETARCH2_DIR})
+ if (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")
+ try_compile(GETARCH2_RESULT ${GETARCH2_DIR}
+ SOURCES ${PROJECT_SOURCE_DIR}/getarch_2nd.c
+- COMPILE_DEFINITIONS ${EXFLAGS} ${GETARCH_FLAGS} ${GETARCH2_FLAGS} -I${PROJECT_SOURCE_DIR}
++ COMPILE_DEFINITIONS ${EXFLAGS} ${GETARCH_FLAGS} ${GETARCH2_FLAGS} -I"${PROJECT_SOURCE_DIR}"
+ OUTPUT_VARIABLE GETARCH2_LOG
+ COPY_FILE ${PROJECT_BINARY_DIR}/${GETARCH2_BIN}
+ )
+@@ -121,8 +125,8 @@ if (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")
+ endif ()
+
+ # use the cmake binary w/ the -E param to run a shell command in a cross-platform way
+-execute_process(COMMAND ${PROJECT_BINARY_DIR}/${GETARCH2_BIN} 0 OUTPUT_VARIABLE GETARCH2_MAKE_OUT)
+-execute_process(COMMAND ${PROJECT_BINARY_DIR}/${GETARCH2_BIN} 1 OUTPUT_VARIABLE GETARCH2_CONF_OUT)
++execute_process(COMMAND ${BLASHELPER_BINARY_DIR}/${GETARCH2_BIN} 0 OUTPUT_VARIABLE GETARCH2_MAKE_OUT)
++execute_process(COMMAND ${BLASHELPER_BINARY_DIR}/${GETARCH2_BIN} 1 OUTPUT_VARIABLE GETARCH2_CONF_OUT)
+
+ # append config data from getarch_2nd to the TARGET file and read in CMake vars
+ file(APPEND ${TARGET_CONF} ${GETARCH2_CONF_OUT})
+@@ -141,7 +141,7 @@ file(MAKE_DIRECTORY ${GEN_CONFIG_H_DIR})
+ if (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")
+ try_compile(GEN_CONFIG_H_RESULT ${GEN_CONFIG_H_DIR}
+ SOURCES ${PROJECT_SOURCE_DIR}/gen_config_h.c
+- COMPILE_DEFINITIONS ${EXFLAGS} ${GETARCH_FLAGS} ${GEN_CONFIG_H_FLAGS} -I${PROJECT_SOURCE_DIR}
++ COMPILE_DEFINITIONS ${EXFLAGS} ${GETARCH_FLAGS} ${GEN_CONFIG_H_FLAGS} -I"${PROJECT_SOURCE_DIR}"
+ OUTPUT_VARIABLE GEN_CONFIG_H_LOG
+ COPY_FILE ${PROJECT_BINARY_DIR}/${GEN_CONFIG_H_BIN}
+ )
diff --git a/ports/opencv/002-fix-uwp.patch b/ports/opencv/002-fix-uwp.patch
index d684141f5..22d006862 100644
--- a/ports/opencv/002-fix-uwp.patch
+++ b/ports/opencv/002-fix-uwp.patch
@@ -24,16 +24,3 @@ index c8242dd..97edd14 100644
# removing APPCONTAINER from modules to run from console
# in case of usual starting of WinRT test apps output is missing
# so starting of console version w/o APPCONTAINER is required to get test results
-diff --git a/modules/highgui/src/window.cpp b/modules/highgui/src/window.cpp
-index 9306f8e..69a814e 100644
---- a/modules/highgui/src/window.cpp
-+++ b/modules/highgui/src/window.cpp
-@@ -209,7 +209,7 @@ int cv::waitKeyEx(int delay)
- int cv::waitKey(int delay)
- {
- int code = waitKeyEx(delay);
--#ifndef HAVE_WINRT
-+#ifndef WINRT
- static int use_legacy = -1;
- if (use_legacy < 0)
- {
diff --git a/ports/opencv/CONTROL b/ports/opencv/CONTROL
index 7dbaf64c2..c2814c9c2 100644
--- a/ports/opencv/CONTROL
+++ b/ports/opencv/CONTROL
@@ -1,6 +1,5 @@
Source: opencv
-Version: 3.2.0-3
-Build-Depends: zlib, libpng, libjpeg-turbo, tiff
-#Use the following line instead for optional features from OpenCV-contrib that require protobuf
-#Build-Depends: zlib, libpng, libjpeg-turbo, tiff, protobuf
+Version: 3.3.0-4
+# Optional: Add in vtk to build with VTK and cuda to build with CUDA
+Build-Depends: zlib, libpng, libjpeg-turbo, tiff, protobuf (windows), ffmpeg
Description: computer vision library
diff --git a/ports/opencv/portfile.cmake b/ports/opencv/portfile.cmake
index 3323fb0f4..d21956108 100644
--- a/ports/opencv/portfile.cmake
+++ b/ports/opencv/portfile.cmake
@@ -1,15 +1,12 @@
-if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- message(STATUS "Warning: Static building not supported yet. Building dynamic.")
- set(VCPKG_LIBRARY_LINKAGE dynamic)
-endif()
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/opencv-3.2.0)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/opencv/opencv/archive/3.2.0.zip"
- FILENAME "opencv-3.2.0.zip"
- SHA512 c6418d2a7654fe9d50611e756778df4c6736f2de76b85773efbf490bb475dd95ec1041fe57a87163ce11a7db44430cd378c8416af3319f979ced92532bf5ebb5
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO opencv/opencv
+ REF 3.3.0
+ SHA512 13dee5c1c5fec1dccdbb05879d299b93ef8ddeb87f561a6c4178e33a4cf5ae919765119068d0387a3efea0e09a625ca993cffac60a772159690fcbee4e8d70fb
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
@@ -19,23 +16,26 @@ vcpkg_apply_patches(
)
file(REMOVE_RECURSE ${SOURCE_PATH}/3rdparty/libjpeg ${SOURCE_PATH}/3rdparty/libpng ${SOURCE_PATH}/3rdparty/zlib ${SOURCE_PATH}/3rdparty/libtiff)
-# Uncomment the following lines and the lines under OPTIONS to build opencv_contrib
-# Important: after uncommenting you've add protobuf dependency within CONTROL file
-#SET(CONTRIB_SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/opencv_contrib-3.2.0)
-#vcpkg_download_distfile(CONTRIB_ARCHIVE
-# URLS "https://github.com/opencv/opencv_contrib/archive/3.2.0.zip"
-# FILENAME "opencv_contrib-3.2.0.zip"
-# SHA512 da6cda7a7ae1d722967e18f9b8d60895b93bbc3664dfdb1645cb4d8b337a9c4207b9073fd546a596c48a489f92d15191aa34c7c607167b536fbe4937b8424b43
-#)
-#vcpkg_extract_source_archive(${CONTRIB_ARCHIVE})
-#vcpkg_apply_patches(
-# SOURCE_PATH ${CONTRIB_SOURCE_PATH}
-# PATCHES "${CMAKE_CURRENT_LIST_DIR}/open_contrib-remove-waldboost.patch"
-#)
+vcpkg_from_github(
+ OUT_SOURCE_PATH CONTRIB_SOURCE_PATH
+ REPO opencv/opencv_contrib
+ REF 3.3.0
+ SHA512 ebe3dbe6c754c6fbaabbf6b0d2a4209964e625fd68e593f30ce043792740c8c1d4440d7870949b5b33f488fd7e2e05f3752287b7f50dd24c29202e268776520e
+ HEAD_REF master
+)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${CONTRIB_SOURCE_PATH}
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/open_contrib-remove-waldboost.patch"
+)
+
+string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_WITH_STATIC_CRT)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
+ "-DOPENCV_DOWNLOAD_PATH=${DOWNLOADS}/opencv-cache"
+ -DBUILD_WITH_STATIC_CRT=${BUILD_WITH_STATIC_CRT}
-DBUILD_ZLIB=OFF
-DBUILD_TIFF=OFF
-DBUILD_JPEG=OFF
@@ -51,20 +51,23 @@ vcpkg_configure_cmake(
-DBUILD_TESTS=OFF
-DBUILD_WITH_DEBUG_INFO=ON
-DOpenCV_DISABLE_ARCH_PATH=ON
- -DWITH_FFMPEG=OFF
+ -DWITH_FFMPEG=ON
-DINSTALL_FORCE_UNIX_PATHS=ON
-DOPENCV_CONFIG_INSTALL_PATH=share/opencv
-DOPENCV_OTHER_INSTALL_PATH=share/opencv
-DINSTALL_LICENSE=OFF
+ # Optional: change to ON to build with CUDA
-DWITH_CUDA=OFF
-DWITH_CUBLAS=OFF
-DWITH_OPENCLAMDBLAS=OFF
-DWITH_LAPACK=OFF
-
- # uncomment the following 3 lines to build opencv_contrib modules
- #-DOPENCV_EXTRA_MODULES_PATH=${CONTRIB_SOURCE_PATH}/modules
- #-DBUILD_PROTOBUF=OFF
- #-DUPDATE_PROTO_FILES=ON
+ -DBUILD_opencv_dnn=ON
+ -DOPENCV_EXTRA_MODULES_PATH=${CONTRIB_SOURCE_PATH}/modules
+ -DBUILD_PROTOBUF=OFF
+ -DUPDATE_PROTO_FILES=ON
+ -DPROTOBUF_UPDATE_FILES=ON
+ # Optional: change to ON to build with VTK
+ -DWITH_VTK=OFF
OPTIONS_DEBUG
-DINSTALL_HEADERS=OFF
-DINSTALL_OTHER=OFF
@@ -72,13 +75,80 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
-file(READ ${CURRENT_PACKAGES_DIR}/debug/share/opencv/OpenCVModules-debug.cmake OPENCV_DEBUG_MODULE)
-string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" OPENCV_DEBUG_MODULE "${OPENCV_DEBUG_MODULE}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules-debug.cmake "${OPENCV_DEBUG_MODULE}")
-
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
-
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/opencv)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/opencv/LICENSE ${CURRENT_PACKAGES_DIR}/share/opencv/copyright)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/LICENSE)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/LICENSE)
+
+if(VCPKG_PLATFORM_TOOLSET STREQUAL "v141")
+ set(OpenCV_RUNTIME vc15)
+else()
+ set(OpenCV_RUNTIME vc14)
+endif()
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ set(OpenCV_ARCH x64)
+else()
+ set(OpenCV_ARCH x86)
+endif()
+
+file(GLOB BIN_AND_LIB ${CURRENT_PACKAGES_DIR}/${OpenCV_ARCH}/${OpenCV_RUNTIME}/*)
+file(COPY ${BIN_AND_LIB} DESTINATION ${CURRENT_PACKAGES_DIR})
+file(GLOB DEBUG_BIN_AND_LIB ${CURRENT_PACKAGES_DIR}/debug/${OpenCV_ARCH}/${OpenCV_RUNTIME}/*)
+file(COPY ${DEBUG_BIN_AND_LIB} DESTINATION ${CURRENT_PACKAGES_DIR}/debug)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/${OpenCV_ARCH})
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/${OpenCV_ARCH})
+
+file(GLOB STATICLIB ${CURRENT_PACKAGES_DIR}/staticlib/*)
+if(STATICLIB)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib)
+ file(COPY ${STATICLIB} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/staticlib)
+endif()
+file(GLOB STATICLIB ${CURRENT_PACKAGES_DIR}/debug/staticlib/*)
+if(STATICLIB)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib)
+ file(COPY ${STATICLIB} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/staticlib)
+endif()
+
+file(READ ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVConfig.cmake OPENCV_CONFIG)
+string(REPLACE " vc15"
+ " ${OpenCV_RUNTIME}" OPENCV_CONFIG "${OPENCV_CONFIG}")
+string(REPLACE " vc14"
+ " ${OpenCV_RUNTIME}" OPENCV_CONFIG "${OPENCV_CONFIG}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVConfig.cmake "${OPENCV_CONFIG}")
+
+if(EXISTS "${CURRENT_PACKAGES_DIR}/share/opencv/${OpenCV_ARCH}/${OpenCV_RUNTIME}/staticlib")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/share/opencv/${OpenCV_ARCH}/${OpenCV_RUNTIME}/staticlib ${CURRENT_PACKAGES_DIR}/share/opencv/${OpenCV_ARCH}/${OpenCV_RUNTIME}/lib)
+endif()
+file(READ ${CURRENT_PACKAGES_DIR}/share/opencv/${OpenCV_ARCH}/${OpenCV_RUNTIME}/lib/OpenCVModules-release.cmake OPENCV_CONFIG_LIB)
+string(REPLACE "/staticlib/"
+ "/lib/" OPENCV_CONFIG_LIB "${OPENCV_CONFIG_LIB}")
+string(REPLACE "/${OpenCV_ARCH}/${OpenCV_RUNTIME}/"
+ "/" OPENCV_CONFIG_LIB "${OPENCV_CONFIG_LIB}")
+string(REPLACE "${CURRENT_INSTALLED_DIR}"
+ "\${_IMPORT_PREFIX}" OPENCV_CONFIG_LIB "${OPENCV_CONFIG_LIB}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/${OpenCV_ARCH}/${OpenCV_RUNTIME}/lib/OpenCVModules-release.cmake "${OPENCV_CONFIG_LIB}")
+
+if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/share/opencv/${OpenCV_ARCH}/${OpenCV_RUNTIME}/staticlib")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/share/opencv/${OpenCV_ARCH}/${OpenCV_RUNTIME}/staticlib ${CURRENT_PACKAGES_DIR}/debug/share/opencv/${OpenCV_ARCH}/${OpenCV_RUNTIME}/lib)
+endif()
+file(READ ${CURRENT_PACKAGES_DIR}/debug/share/opencv/${OpenCV_ARCH}/${OpenCV_RUNTIME}/lib/OpenCVModules-debug.cmake OPENCV_CONFIG_LIB)
+string(REPLACE "/staticlib/"
+ "/lib/" OPENCV_CONFIG_LIB "${OPENCV_CONFIG_LIB}")
+string(REPLACE "/${OpenCV_ARCH}/${OpenCV_RUNTIME}/"
+ "/" OPENCV_CONFIG_LIB "${OPENCV_CONFIG_LIB}")
+string(REPLACE "PREFIX}/lib"
+ "PREFIX}/debug/lib" OPENCV_CONFIG_LIB "${OPENCV_CONFIG_LIB}")
+string(REPLACE "PREFIX}/bin"
+ "PREFIX}/debug/bin" OPENCV_CONFIG_LIB "${OPENCV_CONFIG_LIB}")
+string(REPLACE "${CURRENT_INSTALLED_DIR}"
+ "\${_IMPORT_PREFIX}" OPENCV_CONFIG_LIB "${OPENCV_CONFIG_LIB}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/${OpenCV_ARCH}/${OpenCV_RUNTIME}/lib/OpenCVModules-debug.cmake "${OPENCV_CONFIG_LIB}")
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
vcpkg_copy_pdbs()
+
+set(VCPKG_LIBRARY_LINKAGE "dynamic") \ No newline at end of file
diff --git a/ports/openexr/CONTROL b/ports/openexr/CONTROL
index 1ce905777..b50a48ae8 100644
--- a/ports/openexr/CONTROL
+++ b/ports/openexr/CONTROL
@@ -1,4 +1,4 @@
Source: openexr
-Version: 2.2.0
+Version: 2.2.0-1
Description: OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic for use in computer imaging applications
Build-Depends: zlib, ilmbase
diff --git a/ports/opengl/portfile.cmake b/ports/opengl/portfile.cmake
index 2af9e6e3b..36622393b 100644
--- a/ports/opengl/portfile.cmake
+++ b/ports/opengl/portfile.cmake
@@ -4,18 +4,18 @@ vcpkg_get_program_files_32_bit(PROGRAM_FILES_32_BIT)
vcpkg_get_windows_sdk(WINDOWS_SDK)
if (WINDOWS_SDK MATCHES "10.")
- set(OPENGLPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\10\\Lib\\${WINDOWS_SDK}\\um\\${TRIPLET_SYSTEM_ARCH}\\OpenGL32.Lib")
+ set(LIBFILEPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\10\\Lib\\${WINDOWS_SDK}\\um\\${TRIPLET_SYSTEM_ARCH}\\OpenGL32.Lib")
set(LICENSEPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\10\\Licenses\\${WINDOWS_SDK}\\sdk_license.rtf")
set(HEADERSPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\10\\Include\\${WINDOWS_SDK}\\um")
elseif(WINDOWS_SDK MATCHES "8.")
- set(OPENGLPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\8.1\\Lib\\winv6.3\\um\\${TRIPLET_SYSTEM_ARCH}\\OpenGL32.Lib")
+ set(LIBFILEPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\8.1\\Lib\\winv6.3\\um\\${TRIPLET_SYSTEM_ARCH}\\OpenGL32.Lib")
set(HEADERSPATH "${PROGRAM_FILES_32_BIT}\\Windows Kits\\8.1\\Include\\um")
else()
message(FATAL_ERROR "Portfile not yet configured for Windows SDK with version: ${WINDOWS_SDK}")
endif()
-if (NOT EXISTS "${OPENGLPATH}")
- message(FATAL_ERROR "Cannot find Windows ${WINDOWS_SDK} SDK. File does not exist: ${OPENGLPATH}")
+if (NOT EXISTS "${LIBFILEPATH}")
+ message(FATAL_ERROR "Cannot find Windows ${WINDOWS_SDK} SDK. File does not exist: ${LIBFILEPATH}")
endif()
file(MAKE_DIRECTORY
@@ -30,8 +30,8 @@ file(COPY
"${HEADERSPATH}\\gl\\GLU.h"
DESTINATION ${CURRENT_PACKAGES_DIR}/include/gl
)
-file(COPY ${OPENGLPATH} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
-file(COPY ${OPENGLPATH} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+file(COPY ${LIBFILEPATH} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+file(COPY ${LIBFILEPATH} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
if (DEFINED LICENSEPATH)
file(COPY ${LICENSEPATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/opengl)
diff --git a/ports/openimageio/CONTROL b/ports/openimageio/CONTROL
index b04914c5c..1421e3acb 100644
--- a/ports/openimageio/CONTROL
+++ b/ports/openimageio/CONTROL
@@ -1,4 +1,4 @@
Source: openimageio
-Version: 1.7.15
+Version: 1.7.15-1
Description: An library for reading and writing images, and a bunch of related classes, utilities, and application
-Build-Depends: boost, libjpeg-turbo, tiff, libpng, openexr \ No newline at end of file
+Build-Depends: boost, libjpeg-turbo, tiff, libpng, openexr
diff --git a/ports/openjpeg/CONTROL b/ports/openjpeg/CONTROL
index 7a1140c10..862d82ab8 100644
--- a/ports/openjpeg/CONTROL
+++ b/ports/openjpeg/CONTROL
@@ -1,3 +1,3 @@
Source: openjpeg
-Version: 2.2.0
+Version: 2.2.0-1
Description: JPEG 2000 image library
diff --git a/ports/openni2/CONTROL b/ports/openni2/CONTROL
index 5dca7646a..2f0e010e0 100644
--- a/ports/openni2/CONTROL
+++ b/ports/openni2/CONTROL
@@ -1,3 +1,3 @@
Source: openni2
-Version: 2.2.0.33
+Version: 2.2.0.33-1
Description: OpenNI is open source library for access to Natural Interaction (NI) devices such as RGB-D camera.
diff --git a/ports/openni2/inherit_from_parent_or_project_defaults.patch b/ports/openni2/inherit_from_parent_or_project_defaults.patch
new file mode 100644
index 000000000..73893f3b9
--- /dev/null
+++ b/ports/openni2/inherit_from_parent_or_project_defaults.patch
@@ -0,0 +1,41 @@
+diff --git a/Source/Drivers/Kinect/Kinect.vcxproj b/Source/Drivers/Kinect/Kinect.vcxproj
+index 7f54d04..08a49fe 100644
+--- a/Source/Drivers/Kinect/Kinect.vcxproj
++++ b/Source/Drivers/Kinect/Kinect.vcxproj
+@@ -72,28 +72,29 @@
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <OutDir>$(SolutionDir)Bin\$(Platform)-$(Configuration)\OpenNI2\Drivers\</OutDir>
+ <IntDir>$(SolutionDir)Bin\Intermediate\$(Platform)-$(Configuration)\$(ProjectName)\</IntDir>
+- <IncludePath>$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include</IncludePath>
+- <LibraryPath>$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WindowsSdkDir)lib;$(FrameworkSDKDir)\lib;</LibraryPath>
++ <IncludePath>$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;$(IncludePath)</IncludePath>
++ <LibraryPath>$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WindowsSdkDir)lib;$(FrameworkSDKDir)\lib;$(LibraryPath)</LibraryPath>
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <OutDir>$(SolutionDir)Bin\$(Platform)-$(Configuration)\OpenNI2\Drivers\</OutDir>
+ <IntDir>$(SolutionDir)Bin\Intermediate\$(Platform)-$(Configuration)\$(ProjectName)\</IntDir>
+- <IncludePath>$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;</IncludePath>
+- <LibraryPath>$(VCInstallDir)lib\amd64;$(VCInstallDir)atlmfc\lib\amd64;$(WindowsSdkDir)lib\x64;</LibraryPath>
++ <IncludePath>$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;$(IncludePath)</IncludePath>
++ <LibraryPath>$(VCInstallDir)lib\amd64;$(VCInstallDir)atlmfc\lib\amd64;$(WindowsSdkDir)lib\x64;$(LibraryPath)</LibraryPath>
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <OutDir>$(SolutionDir)Bin\$(Platform)-$(Configuration)\OpenNI2\Drivers\</OutDir>
+ <IntDir>$(SolutionDir)Bin\Intermediate\$(Platform)-$(Configuration)\$(ProjectName)\</IntDir>
+- <IncludePath>$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;</IncludePath>
+- <LibraryPath>$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WindowsSdkDir)lib;$(FrameworkSDKDir)\lib;</LibraryPath>
++ <IncludePath>$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;$(IncludePath)</IncludePath>
++ <LibraryPath>$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WindowsSdkDir)lib;$(FrameworkSDKDir)\lib;$(LibraryPath)</LibraryPath>
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <OutDir>$(SolutionDir)Bin\$(Platform)-$(Configuration)\OpenNI2\Drivers\</OutDir>
+ <IntDir>$(SolutionDir)Bin\Intermediate\$(Platform)-$(Configuration)\$(ProjectName)\</IntDir>
+- <IncludePath>$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include</IncludePath>
++ <IncludePath>$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;$(IncludePath)</IncludePath>
++ <LibraryPath>$(VCInstallDir)lib\amd64;$(VCInstallDir)atlmfc\lib\amd64;$(WindowsSdkDir)lib\x64;$(LibraryPath)</LibraryPath>
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
diff --git a/ports/openni2/portfile.cmake b/ports/openni2/portfile.cmake
index 12ac4902b..7c15b40ec 100644
--- a/ports/openni2/portfile.cmake
+++ b/ports/openni2/portfile.cmake
@@ -36,12 +36,29 @@ vcpkg_download_distfile(ARCHIVE
)
vcpkg_extract_source_archive(${ARCHIVE})
+get_filename_component(KINECTSDK10_DIR "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Kinect;SDKInstallPath]" ABSOLUTE CACHE)
+set(KINECTSDK10_INSTALLED FALSE)
+if(EXISTS "${KINECTSDK10_DIR}")
+ set(KINECTSDK10_INSTALLED TRUE)
+endif()
+
+file(TO_NATIVE_PATH ${KINECTSDK10_DIR} KINECTSDK10_DIR)
+configure_file("${CMAKE_CURRENT_LIST_DIR}/replace_environment_variable.patch.in" "${CMAKE_CURRENT_LIST_DIR}/replace_environment_variable.patch" @ONLY)
+
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES "${CMAKE_CURRENT_LIST_DIR}/upgrade_projects.patch"
- PATCHES "${CMAKE_CURRENT_LIST_DIR}/disable_kinect.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/inherit_from_parent_or_project_defaults.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/replace_environment_variable.patch"
)
+if(NOT ${KINECTSDK10_INSTALLED})
+ vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/disable_kinect.patch"
+ )
+endif()
+
# Build OpenNI2
vcpkg_build_msbuild(
PROJECT_PATH "${SOURCE_PATH}/OpenNI.sln"
@@ -146,6 +163,15 @@ file(
${CURRENT_PACKAGES_DIR}/bin/OpenNI2/Drivers
)
+if(${KINECTSDK10_INSTALLED})
+ file(
+ INSTALL
+ "${SOURCE_BIN_PATH_RELEASE}/OpenNI2/Drivers/Kinect.dll"
+ DESTINATION
+ ${CURRENT_PACKAGES_DIR}/bin/OpenNI2/Drivers
+ )
+endif()
+
file(
INSTALL
"${SOURCE_CONFIG_PATH}/OpenNI.ini"
@@ -165,6 +191,15 @@ file(
${CURRENT_PACKAGES_DIR}/debug/bin/OpenNI2/Drivers
)
+if(${KINECTSDK10_INSTALLED})
+ file(
+ INSTALL
+ "${SOURCE_BIN_PATH_DEBUG}/OpenNI2/Drivers/Kinect.dll"
+ DESTINATION
+ ${CURRENT_PACKAGES_DIR}/debug/bin/OpenNI2/Drivers
+ )
+endif()
+
file(
INSTALL
"${SOURCE_CONFIG_PATH}/OpenNI.ini"
@@ -184,6 +219,15 @@ file(
${CURRENT_PACKAGES_DIR}/tools/openni2/OpenNI2/Drivers
)
+if(${KINECTSDK10_INSTALLED})
+ file(
+ INSTALL
+ "${SOURCE_BIN_PATH_RELEASE}/OpenNI2/Drivers/Kinect.dll"
+ DESTINATION
+ ${CURRENT_PACKAGES_DIR}/tools/openni2/OpenNI2/Drivers
+ )
+endif()
+
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
set(NUMBEROFBIT 32)
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
@@ -199,7 +243,7 @@ file(
"${SOURCE_BIN_PATH_RELEASE}/PS1080Console.exe"
"${SOURCE_BIN_PATH_RELEASE}/PSLinkConsole.exe"
DESTINATION
- ${CURRENT_PACKAGES_DIR}/tools/openni2/
+ ${CURRENT_PACKAGES_DIR}/tools/openni2
)
# Handle copyright
diff --git a/ports/openni2/replace_environment_variable.patch.in b/ports/openni2/replace_environment_variable.patch.in
new file mode 100644
index 000000000..25abe7edf
--- /dev/null
+++ b/ports/openni2/replace_environment_variable.patch.in
@@ -0,0 +1,76 @@
+diff --git a/Source/Drivers/Kinect/Kinect.vcxproj b/Source/Drivers/Kinect/Kinect.vcxproj
+index 08a49fe..7fd8620 100644
+--- a/Source/Drivers/Kinect/Kinect.vcxproj
++++ b/Source/Drivers/Kinect/Kinect.vcxproj
+@@ -101,7 +101,7 @@
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+- <AdditionalIncludeDirectories>..\..\..\Include;..\..\..\ThirdParty\PSCommon\XnLib\Include;$(KINECTSDK10_DIR)\inc;</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>..\..\..\Include;..\..\..\ThirdParty\PSCommon\XnLib\Include;@KINECTSDK10_DIR@\inc;</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_WINDLL;%(PreprocessorDefinitions);_WINDOWS</PreprocessorDefinitions>
+ <DisableLanguageExtensions>false</DisableLanguageExtensions>
+ <TreatWarningAsError>false</TreatWarningAsError>
+@@ -109,7 +109,7 @@
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>Kinect10.lib;XnLib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+- <AdditionalLibraryDirectories>$(SolutionDir)Bin\$(Platform)-$(Configuration)\;$(KINECTSDK10_DIR)\lib\x86;</AdditionalLibraryDirectories>
++ <AdditionalLibraryDirectories>$(SolutionDir)Bin\$(Platform)-$(Configuration)\;@KINECTSDK10_DIR@\lib\x86;</AdditionalLibraryDirectories>
+ <TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
+ </Link>
+ </ItemDefinitionGroup>
+@@ -117,7 +117,7 @@
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+- <AdditionalIncludeDirectories>..\..\..\Include;..\..\..\ThirdParty\PSCommon\XnLib\Include;$(KINECTSDK10_DIR)\inc;</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>..\..\..\Include;..\..\..\ThirdParty\PSCommon\XnLib\Include;@KINECTSDK10_DIR@\inc;</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_WINDLL;%(PreprocessorDefinitions);_WINDOWS</PreprocessorDefinitions>
+ <DisableLanguageExtensions>false</DisableLanguageExtensions>
+ <TreatWarningAsError>false</TreatWarningAsError>
+@@ -125,7 +125,7 @@
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>Kinect10.lib;XnLib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+- <AdditionalLibraryDirectories>$(SolutionDir)Bin\$(Platform)-$(Configuration)\;$(KINECTSDK10_DIR)\lib\amd64;</AdditionalLibraryDirectories>
++ <AdditionalLibraryDirectories>$(SolutionDir)Bin\$(Platform)-$(Configuration)\;@KINECTSDK10_DIR@\lib\amd64;</AdditionalLibraryDirectories>
+ <IgnoreSpecificDefaultLibraries>
+ </IgnoreSpecificDefaultLibraries>
+ <IgnoreAllDefaultLibraries>
+@@ -139,7 +139,7 @@
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+- <AdditionalIncludeDirectories>..\..\..\Include;..\..\..\ThirdParty\PSCommon\XnLib\Include;$(KINECTSDK10_DIR)\inc;</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>..\..\..\Include;..\..\..\ThirdParty\PSCommon\XnLib\Include;@KINECTSDK10_DIR@\inc;</AdditionalIncludeDirectories>
+ <TreatWarningAsError>false</TreatWarningAsError>
+ </ClCompile>
+ <Link>
+@@ -147,7 +147,7 @@
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalDependencies>Kinect10.lib;XnLib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+- <AdditionalLibraryDirectories>$(SolutionDir)Bin\$(Platform)-$(Configuration)\;$(KINECTSDK10_DIR)\lib\x86;</AdditionalLibraryDirectories>
++ <AdditionalLibraryDirectories>$(SolutionDir)Bin\$(Platform)-$(Configuration)\;@KINECTSDK10_DIR@\lib\x86;</AdditionalLibraryDirectories>
+ <TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
+ </Link>
+ </ItemDefinitionGroup>
+@@ -157,7 +157,7 @@
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+- <AdditionalIncludeDirectories>..\..\..\Include;..\..\..\ThirdParty\PSCommon\XnLib\Include;$(KINECTSDK10_DIR)\inc;</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>..\..\..\Include;..\..\..\ThirdParty\PSCommon\XnLib\Include;@KINECTSDK10_DIR@\inc;</AdditionalIncludeDirectories>
+ <TreatWarningAsError>false</TreatWarningAsError>
+ </ClCompile>
+ <Link>
+@@ -165,7 +165,7 @@
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalDependencies>Kinect10.lib;XnLib.lib;%(AdditionalDependencies)</AdditionalDependencies>
+- <AdditionalLibraryDirectories>$(SolutionDir)Bin\$(Platform)-$(Configuration)\;$(KINECTSDK10_DIR)\lib\amd64;</AdditionalLibraryDirectories>
++ <AdditionalLibraryDirectories>$(SolutionDir)Bin\$(Platform)-$(Configuration)\;@KINECTSDK10_DIR@\lib\amd64;</AdditionalLibraryDirectories>
+ <TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
+ </Link>
+ </ItemDefinitionGroup>
diff --git a/ports/openssl/CONTROL b/ports/openssl/CONTROL
index bb00f9cc3..f3f065c13 100644
--- a/ports/openssl/CONTROL
+++ b/ports/openssl/CONTROL
@@ -1,3 +1,3 @@
Source: openssl
-Version: 1.0.2l-1
+Version: 1.0.2l-3
Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library.
diff --git a/ports/openssl/EmbedSymbolsInStaticLibsZ7.patch b/ports/openssl/EmbedSymbolsInStaticLibsZ7.patch
new file mode 100644
index 000000000..1a8de2c4b
--- /dev/null
+++ b/ports/openssl/EmbedSymbolsInStaticLibsZ7.patch
@@ -0,0 +1,25 @@
+diff --git a/util/pl/VC-32.pl b/util/pl/VC-32.pl
+index dba96cb..5722f6e 100644
+--- a/util/pl/VC-32.pl
++++ b/util/pl/VC-32.pl
+@@ -154,9 +154,17 @@ else
+ $cflags=$opt_cflags.$base_cflags;
+ }
+
+-# generate symbols.pdb unconditionally
+-$app_cflag.=" /Zi /Fd\$(TMP_D)/app";
+-$lib_cflag.=" /Zi /Fd\$(TMP_D)/lib";
++# generate symbols.pdb when building dlls and embed symbols when building static libs
++if ($shlib)
++ {
++ $app_cflag.=" /Zi /Fd\$(TMP_D)/app.pdb";
++ $lib_cflag.=" /Zi /Fd\$(TMP_D)/lib.pdb";
++ }
++else
++ {
++ $app_cflag.=" /Z7";
++ $lib_cflag.=" /Z7";
++ }
+ $lflags.=" /debug";
+
+ $obj='.obj';
diff --git a/ports/openssl/portfile.cmake b/ports/openssl/portfile.cmake
index 569de6c75..8ad0ff197 100644
--- a/ports/openssl/portfile.cmake
+++ b/ports/openssl/portfile.cmake
@@ -28,6 +28,7 @@ vcpkg_apply_patches(
PATCHES ${CMAKE_CURRENT_LIST_DIR}/PerlScriptSpaceInPathFixes.patch
${CMAKE_CURRENT_LIST_DIR}/ConfigureIncludeQuotesFix.patch
${CMAKE_CURRENT_LIST_DIR}/STRINGIFYPatch.patch
+ ${CMAKE_CURRENT_LIST_DIR}/EmbedSymbolsInStaticLibsZ7.patch
)
set(CONFIGURE_COMMAND ${PERL} Configure
@@ -126,11 +127,15 @@ message(STATUS "Build ${TARGET_TRIPLET}-dbg done")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE
${CURRENT_PACKAGES_DIR}/debug/bin/openssl.exe
- ${CURRENT_PACKAGES_DIR}/bin/openssl.exe
${CURRENT_PACKAGES_DIR}/debug/openssl.cnf
${CURRENT_PACKAGES_DIR}/openssl.cnf
)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT}/)
+file(RENAME ${CURRENT_PACKAGES_DIR}/bin/openssl.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/openssl.exe)
+
+vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})
+
file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openssl RENAME copyright)
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
diff --git a/ports/opusfile/CONTROL b/ports/opusfile/CONTROL
index fd8a652c8..5489cb4b2 100644
--- a/ports/opusfile/CONTROL
+++ b/ports/opusfile/CONTROL
@@ -1,4 +1,4 @@
Source: opusfile
-Version: 0.9
+Version: 0.9-1
Description: Stand-alone decoder library for .opus streams
Build-Depends: libogg, opus, openssl
diff --git a/ports/osg/CONTROL b/ports/osg/CONTROL
index 867a8b4e0..df2af4bc1 100644
--- a/ports/osg/CONTROL
+++ b/ports/osg/CONTROL
@@ -1,4 +1,4 @@
Source: osg
-Version: 3.5.6
+Version: 3.5.6-1
Description: The OpenSceneGraph is an open source high performance 3D graphics toolkit.
Build-Depends: freetype, jasper, openexr, zlib, gdal, giflib, libjpeg-turbo, libpng, tiff
diff --git a/ports/paho-mqtt/CONTROL b/ports/paho-mqtt/CONTROL
index 7981a5195..cefd6bb87 100644
--- a/ports/paho-mqtt/CONTROL
+++ b/ports/paho-mqtt/CONTROL
@@ -1,4 +1,4 @@
Source: paho-mqtt
-Version: Version 1.1.0 (Paho 1.2)
+Version: 1.2.0-2
Description: Paho project provides open-source client implementations of MQTT and MQTT-SN messaging protocols aimed at new, existing, and emerging applications for the Internet of Things
Build-Depends: openssl
diff --git a/ports/paho-mqtt/disable_tests.patch b/ports/paho-mqtt/disable_tests.patch
new file mode 100644
index 000000000..ed9a644ff
--- /dev/null
+++ b/ports/paho-mqtt/disable_tests.patch
@@ -0,0 +1,16 @@
+diff --git "a/CMakeLists.txt" "b/CMakeLists.txt"
+index c041df0..2feb580 100644
+--- "a/CMakeLists.txt"
++++ "b/CMakeLists.txt"
+@@ -94,7 +94,10 @@ SET(CPACK_PACKAGE_VERSION_MINOR ${PAHO_VERSION_MINOR})
+ SET(CPACK_PACKAGE_VERSION_PATCH ${PAHO_VERSION_PATCH})
+ INCLUDE(CPack)
+
++if(BUILD_TESTS)
+ ENABLE_TESTING()
+
+ INCLUDE_DIRECTORIES(test src)
+ ADD_SUBDIRECTORY(test)
++
++endif()
+\ No newline at end of file
diff --git a/ports/paho-mqtt/portfile.cmake b/ports/paho-mqtt/portfile.cmake
index 5fc6341f8..27f9c8243 100644
--- a/ports/paho-mqtt/portfile.cmake
+++ b/ports/paho-mqtt/portfile.cmake
@@ -1,56 +1,83 @@
include(vcpkg_common_functions)
vcpkg_from_github(
- OUT_SOURCE_PATH SOURCE_PATH
- REPO eclipse/paho.mqtt.c
- REF v1.1.0
- SHA512 49eebf258e15076048103ff79442ad0d21164b83f713eee7f226998106b5931d310871d3b372322d5ef1cb2801219a6e626400b6fe4198814150a6277d6bfd74
- HEAD_REF master
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO eclipse/paho.mqtt.c
+ REF v1.2.0
+ SHA512 ffad01a8f9f41049dd008e163136e4ecb8c7c51f7b49917201593b0844b15a8d2a413ddec06fa5b2d77e432f0603b71664a23afbb7c215121cebd7d419ccacfa
+ HEAD_REF master
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PAHO_BUILD_STATIC)
+
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ "${CMAKE_CURRENT_LIST_DIR}/disable_tests.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/remove_compiler_options.patch"
)
vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- OPTIONS -DPAHO_WITH_SSL=TRUE
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS -DPAHO_WITH_SSL=TRUE -DPAHO_BUILD_STATIC=${PAHO_BUILD_STATIC}
)
vcpkg_build_cmake()
file(GLOB DLLS
- "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*.dll"
- "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/*.dll"
- "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/Release/*.dll"
+ "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/src/*.dll"
+ "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/*.dll"
+ "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/Release/*.dll"
)
file(GLOB LIBS
- "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*.lib"
- "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/*.lib"
- "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/Release/*.lib"
+ "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/src/*.lib"
+ "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/*.lib"
+ "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/Release/*.lib"
)
file(GLOB DEBUG_DLLS
- "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*.dll"
- "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/*.dll"
- "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*/Debug/*.dll"
+ "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/src/*.dll"
+ "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/*.dll"
+ "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*/Debug/*.dll"
)
file(GLOB DEBUG_LIBS
- "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*.lib"
- "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/*.lib"
- "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*/Debug/*.lib"
+ "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/src/*.lib"
+ "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/*.lib"
+ "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*/Debug/*.lib"
)
file(GLOB HEADERS "${SOURCE_PATH}/*/*.h")
if(DLLS)
- file(INSTALL ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ file(INSTALL ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
endif()
file(INSTALL ${LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
if(DEBUG_DLLS)
- file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
file(INSTALL ${DEBUG_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
file(INSTALL ${HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-vcpkg_copy_pdbs()
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+ foreach(libname paho-mqtt3as-static paho-mqtt3cs-static paho-mqtt3a-static paho-mqtt3c-static)
+ foreach(foldername "lib" "debug/lib")
+ string(REPLACE "-static" "" outlibname ${libname})
+ file(RENAME ${CURRENT_PACKAGES_DIR}/${foldername}/${libname}.lib ${CURRENT_PACKAGES_DIR}/${foldername}/${outlibname}.lib)
+ endforeach()
+ endforeach()
+endif()
+foreach(libname paho-mqtt3a paho-mqtt3c)
+ foreach(root "${CURRENT_PACKAGES_DIR}" "${CURRENT_PACKAGES_DIR}/debug")
+ file(REMOVE
+ ${root}/lib/${libname}.lib
+ ${root}/bin/${libname}.dll
+ )
+ endforeach()
+endforeach()
-file(INSTALL ${SOURCE_PATH}/about.html DESTINATION ${CURRENT_PACKAGES_DIR}/share/paho-mqtt RENAME copyright)
+vcpkg_copy_pdbs()
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(INSTALL ${SOURCE_PATH}/about.html DESTINATION ${CURRENT_PACKAGES_DIR}/share/paho-mqtt RENAME copyright)
diff --git a/ports/paho-mqtt/remove_compiler_options.patch b/ports/paho-mqtt/remove_compiler_options.patch
new file mode 100644
index 000000000..256d07a8f
--- /dev/null
+++ b/ports/paho-mqtt/remove_compiler_options.patch
@@ -0,0 +1,13 @@
+diff --git "a/CMakeLists.txt" "b/CMakeLists.txt"
+index 2feb580..796d08e 100644
+--- "a/CMakeLists.txt"
++++ "b/CMakeLists.txt"
+@@ -55,7 +55,7 @@ IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
+ ENDIF()
+
+ IF(WIN32)
+- ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE -DWIN32_LEAN_AND_MEAN -MD)
++ ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE -DWIN32_LEAN_AND_MEAN)
+ ELSEIF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
+ ADD_DEFINITIONS(-DOSX)
+ ENDIF()
diff --git a/ports/pango/CONTROL b/ports/pango/CONTROL
index 44c8c9b83..aa6c73e68 100644
--- a/ports/pango/CONTROL
+++ b/ports/pango/CONTROL
@@ -1,4 +1,4 @@
Source: pango
-Version: 1.40.11
+Version: 1.40.11-1
Description: Text and font handling library.
Build-Depends: glib, gettext, cairo, fontconfig, freetype, harfbuzz
diff --git a/ports/pangolin/CONTROL b/ports/pangolin/CONTROL
index 5e110627b..a4d670b74 100644
--- a/ports/pangolin/CONTROL
+++ b/ports/pangolin/CONTROL
@@ -1,4 +1,4 @@
Source: pangolin
-Version: 0.5
-Build-Depends: eigen3
-Description: Lightweight GUI Library \ No newline at end of file
+Version: 0.5-2
+Build-Depends: eigen3, glew, libpng, libjpeg-turbo, ffmpeg
+Description: Lightweight GUI Library
diff --git a/ports/pangolin/portfile.cmake b/ports/pangolin/portfile.cmake
index d93f9d7cd..3fe7ef8b6 100644
--- a/ports/pangolin/portfile.cmake
+++ b/ports/pangolin/portfile.cmake
@@ -13,6 +13,9 @@ vcpkg_configure_cmake(
PREFER_NINJA
OPTIONS
-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON
+ -DBUILD_EXTERN_GLEW=OFF
+ -DBUILD_EXTERN_LIBPNG=OFF
+ -DBUILD_EXTERN_LIBJPEG=OFF
)
vcpkg_install_cmake()
@@ -21,24 +24,29 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Pangolin")
vcpkg_copy_pdbs()
-file(GLOB EXE ${CURRENT_PACKAGES_DIR}/lib/*.dll)
-file(COPY ${EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
-file(REMOVE ${EXE})
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ file(GLOB EXE ${CURRENT_PACKAGES_DIR}/lib/*.dll)
+ file(COPY ${EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ file(REMOVE ${EXE})
-file(GLOB DEBUG_EXE ${CURRENT_PACKAGES_DIR}/debug/lib/*.dll)
-file(COPY ${DEBUG_EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
-file(REMOVE ${DEBUG_EXE})
+ file(GLOB DEBUG_EXE ${CURRENT_PACKAGES_DIR}/debug/lib/*.dll)
+ file(COPY ${DEBUG_EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(REMOVE ${DEBUG_EXE})
-file(READ ${CURRENT_PACKAGES_DIR}/share/pangolin/PangolinTargets-debug.cmake PANGOLIN_TARGETS)
-string(REPLACE "lib/pangolin.dll" "bin/pangolin.dll" PANGOLIN_TARGETS "${PANGOLIN_TARGETS}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/pangolin/PangolinTargets-debug.cmake "${PANGOLIN_TARGETS}")
+ file(READ ${CURRENT_PACKAGES_DIR}/share/pangolin/PangolinTargets-debug.cmake PANGOLIN_TARGETS)
+ string(REPLACE "lib/pangolin.dll" "bin/pangolin.dll" PANGOLIN_TARGETS "${PANGOLIN_TARGETS}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/share/pangolin/PangolinTargets-debug.cmake "${PANGOLIN_TARGETS}")
-file(READ ${CURRENT_PACKAGES_DIR}/share/pangolin/PangolinTargets-release.cmake PANGOLIN_TARGETS)
-string(REPLACE "lib/pangolin.dll" "bin/pangolin.dll" PANGOLIN_TARGETS "${PANGOLIN_TARGETS}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/pangolin/PangolinTargets-release.cmake "${PANGOLIN_TARGETS}")
+ file(READ ${CURRENT_PACKAGES_DIR}/share/pangolin/PangolinTargets-release.cmake PANGOLIN_TARGETS)
+ string(REPLACE "lib/pangolin.dll" "bin/pangolin.dll" PANGOLIN_TARGETS "${PANGOLIN_TARGETS}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/share/pangolin/PangolinTargets-release.cmake "${PANGOLIN_TARGETS}")
+endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+# Copy missing header file
+file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/src/include/pangolin/pangolin_export.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/pangolin)
+
# Put the license file where vcpkg expects it
file(COPY ${SOURCE_PATH}/LICENCE DESTINATION ${CURRENT_PACKAGES_DIR}/share/Pangolin/)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/Pangolin/LICENCE ${CURRENT_PACKAGES_DIR}/share/Pangolin/copyright)
diff --git a/ports/parmetis/CONTROL b/ports/parmetis/CONTROL
index 86a367cbd..bb2237654 100644
--- a/ports/parmetis/CONTROL
+++ b/ports/parmetis/CONTROL
@@ -1,4 +1,4 @@
Source: parmetis
-Version: 4.0.3
+Version: 4.0.3-1
Description: Parallel Graph Partitioning and Fill-reducing Matrix Ordering
Build-Depends: metis, msmpi
diff --git a/ports/pcl/CONTROL b/ports/pcl/CONTROL
index a92e912de..e9547c8cb 100644
--- a/ports/pcl/CONTROL
+++ b/ports/pcl/CONTROL
@@ -1,4 +1,4 @@
Source: pcl
-Version: 1.8.1
+Version: 1.8.1-1
Build-Depends: boost, eigen3, flann, qhull, vtk, openni2, qt5
Description: Point Cloud Library (PCL) is open source library for 2D/3D image and point cloud processing.
diff --git a/ports/pcre/CONTROL b/ports/pcre/CONTROL
index 6a321d5d0..b230a2909 100644
--- a/ports/pcre/CONTROL
+++ b/ports/pcre/CONTROL
@@ -1,3 +1,3 @@
Source: pcre
-Version: 8.41
+Version: 8.41-1
Description: Perl Compatible Regular Expresions
diff --git a/ports/pcre2/CONTROL b/ports/pcre2/CONTROL
index b25e10d49..06d683de4 100644
--- a/ports/pcre2/CONTROL
+++ b/ports/pcre2/CONTROL
@@ -1,3 +1,3 @@
Source: pcre2
-Version: 10.30
+Version: 10.30-1
Description: PCRE2 is a re-working of the original Perl Compatible Regular Expressions library
diff --git a/ports/physfs/CONTROL b/ports/physfs/CONTROL
index 5eac58c36..20d973f18 100644
--- a/ports/physfs/CONTROL
+++ b/ports/physfs/CONTROL
@@ -1,4 +1,4 @@
Source: physfs
-Version: 2.0.3-1
+Version: 2.0.3-2
Description: a library to provide abstract access to various archives
Build-Depends: zlib
diff --git a/ports/picosha2/CONTROL b/ports/picosha2/CONTROL
new file mode 100644
index 000000000..3aa5919a4
--- /dev/null
+++ b/ports/picosha2/CONTROL
@@ -0,0 +1,3 @@
+Source: picosha2
+Version: 2017-09-01-c5ff159b6
+Description: PicoSHA2 - a C++ SHA256 hash generator
diff --git a/ports/picosha2/portfile.cmake b/ports/picosha2/portfile.cmake
new file mode 100644
index 000000000..2ce820928
--- /dev/null
+++ b/ports/picosha2/portfile.cmake
@@ -0,0 +1,11 @@
+include(vcpkg_common_functions)
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO okdshin/PicoSHA2
+ REF c5ff159b60a7755f5601a18cf9c25388ad25e0ef
+ SHA512 8fa4045d73a921bbb9bf6de96e80272e1d54a52ddb8f7d05643785a3b582e8f7a069ccf901352af26db7788863717c0553f086f69578835d6a0512f0be04bae3
+ HEAD_REF master
+)
+
+file(INSTALL ${SOURCE_PATH}/picosha2.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/picosha2 RENAME copyright)
diff --git a/ports/piex/CMakeLists.txt b/ports/piex/CMakeLists.txt
new file mode 100644
index 000000000..35a881055
--- /dev/null
+++ b/ports/piex/CMakeLists.txt
@@ -0,0 +1,43 @@
+cmake_minimum_required(VERSION 3.8.0)
+project(piex)
+
+if(MSVC)
+ add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS)
+endif()
+
+include_directories(".")
+
+add_library(binary_parse
+ src/binary_parse/cached_paged_byte_array.cc
+ src/binary_parse/range_checked_byte_ptr.cc
+)
+
+add_library(image_type_recognition
+ src/image_type_recognition/image_type_recognition_lite.cc
+)
+
+target_link_libraries(image_type_recognition binary_parse)
+
+add_library(tiff_directory
+ src/tiff_directory/tiff_directory.cc
+)
+
+target_link_libraries(tiff_directory binary_parse)
+
+add_library(piex
+ src/piex.cc
+ src/tiff_parser.cc
+)
+
+target_link_libraries(piex tiff_directory image_type_recognition binary_parse)
+
+install(
+ TARGETS piex
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(FILES src/piex.h src/piex_types.h DESTINATION include/src)
+endif()
diff --git a/ports/piex/CONTROL b/ports/piex/CONTROL
new file mode 100644
index 000000000..2311bbbaf
--- /dev/null
+++ b/ports/piex/CONTROL
@@ -0,0 +1,3 @@
+Source: piex
+Version: 2017-09-01-473434f2dd974978b-1
+Description: The Preview Image Extractor (PIEX) is designed to find and extract the largest
diff --git a/ports/piex/portfile.cmake b/ports/piex/portfile.cmake
new file mode 100644
index 000000000..2c99ad1c7
--- /dev/null
+++ b/ports/piex/portfile.cmake
@@ -0,0 +1,28 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ message(WARNING "Dynamic not supported building static")
+ set(VCPKG_LIBRARY_LINKAGE static)
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO google/piex
+ REF 473434f2dd974978b329faf5c87ae8aa09a2714d
+ SHA512 cb4a4107eb5e880673accac0f19965f3318e5e4c2fc24724afef5d15eab40d5866e17eb1a23af3b06b729d0e898ed99a6407d1f3000e94e3bbd71e1952d19627
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG
+ -DDISABLE_INSTALL_HEADERS=ON
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/piex RENAME copyright)
diff --git a/ports/pixman/CONTROL b/ports/pixman/CONTROL
index 3603242d0..940c30cc2 100644
--- a/ports/pixman/CONTROL
+++ b/ports/pixman/CONTROL
@@ -1,3 +1,3 @@
Source: pixman
-Version: 0.34.0-1
+Version: 0.34.0-2
Description: Pixman is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterization.
diff --git a/ports/plibsys/CONTROL b/ports/plibsys/CONTROL
index 5f099fc51..92d57ca47 100644
--- a/ports/plibsys/CONTROL
+++ b/ports/plibsys/CONTROL
@@ -1,3 +1,3 @@
Source: plibsys
-Version: 0.0.3
+Version: 0.0.3-1
Description: Highly portable C system library: threads and synchronization, sockets, IPC, data structures and more.
diff --git a/ports/poco/CONTROL b/ports/poco/CONTROL
index 2762c6248..2c78b6c6e 100644
--- a/ports/poco/CONTROL
+++ b/ports/poco/CONTROL
@@ -1,4 +1,4 @@
Source: poco
-Version: 1.7.8
+Version: 1.7.8-1
Build-Depends: zlib, pcre, sqlite3, expat
Description: Modern, powerful open source C++ class libraries for building network and internet-based applications that run on desktop, server, mobile and embedded systems.
diff --git a/ports/podofo/CONTROL b/ports/podofo/CONTROL
index dfb5446d1..55fa20a28 100644
--- a/ports/podofo/CONTROL
+++ b/ports/podofo/CONTROL
@@ -1,4 +1,4 @@
Source: podofo
-Version: 0.9.5
+Version: 0.9.5-1
Description: PoDoFo is a library to work with the PDF file format
-Build-Depends: zlib, libpng, libjpeg-turbo, tiff, openssl, freetype, fontconfig \ No newline at end of file
+Build-Depends: zlib, libpng, libjpeg-turbo, tiff, openssl, freetype, fontconfig
diff --git a/ports/portaudio/CONTROL b/ports/portaudio/CONTROL
index 5e5ffc57c..829a87026 100644
--- a/ports/portaudio/CONTROL
+++ b/ports/portaudio/CONTROL
@@ -1,3 +1,3 @@
Source: portaudio
-Version: 19.0.6.00-1
+Version: 19.0.6.00-2
Description: PortAudio Portable Cross-platform Audio I/O API PortAudio is a free, cross-platform, open-source, audio I/O library. It lets you write simple audio programs in 'C' or C++ that will compile and run on many platforms including Windows, Macintosh OS X, and Unix (OSS/ALSA). It is intended to promote the exchange of audio software between developers on different platforms. Many applications use PortAudio for Audio I/O.
diff --git a/ports/pqp/CONTROL b/ports/pqp/CONTROL
index 8b9882631..69a72c33e 100644
--- a/ports/pqp/CONTROL
+++ b/ports/pqp/CONTROL
@@ -1,3 +1,3 @@
Source: pqp
-Version: 1.3-1
+Version: 1.3-2
Description: a proximity query package
diff --git a/ports/proj/CONTROL b/ports/proj/CONTROL
index b706ca11a..d6c204fda 100644
--- a/ports/proj/CONTROL
+++ b/ports/proj/CONTROL
@@ -1,3 +1,4 @@
Source: proj
-Version: 4.9.3
-Description: PROJ.4 library for cartographic projections
+Version: 0
+Description: a stub package that pulls in proj4. Do not depend on this package.
+Build-Depends: proj4
diff --git a/ports/proj/portfile.cmake b/ports/proj/portfile.cmake
index 6007ab62a..cc6e26fcb 100644
--- a/ports/proj/portfile.cmake
+++ b/ports/proj/portfile.cmake
@@ -1,57 +1 @@
-include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/proj-4.9.3)
-vcpkg_download_distfile(ARCHIVE
- URLS "http://download.osgeo.org/proj/proj-4.9.3.zip"
- FILENAME "proj-4.9.3.zip"
- SHA512 c9703008cd1f75fe1239b180158e560b9b88ae2ffd900b72923c716908eb86d1abbc4230647af5e3131f8c34481bdc66b03826d669620161ffcfbe67801cb631
-)
-vcpkg_extract_source_archive(${ARCHIVE})
-
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}/
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/0001-CMake-add-detection-of-recent-visual-studio-versions.patch
- ${CMAKE_CURRENT_LIST_DIR}/0002-CMake-fix-error-by-only-setting-properties-for-targe.patch
- ${CMAKE_CURRENT_LIST_DIR}/0003-CMake-configurable-cmake-config-install-location.patch
-)
-
-if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- list(APPEND CMAKE_OPTIONS "-DBUILD_LIBPROJ_SHARED=YES")
-else()
- list(APPEND CMAKE_OPTIONS "-DBUILD_LIBPROJ_SHARED=NO")
-endif()
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- OPTIONS ${CMAKE_OPTIONS}
- -DPROJ_LIB_SUBDIR=lib
- -DPROJ_INCLUDE_SUBDIR=include
- -DPROJ_DATA_SUBDIR=share/proj
- -DPROJ_CMAKE_CONFIG_SUBDIR=share/proj
- -DBUILD_CS2CS=NO
- -DBUILD_PROJ=NO
- -DBUILD_GEOD=NO
- -DBUILD_NAD2BIN=NO
- -DPROJ4_TESTS=NO
-)
-
-vcpkg_install_cmake()
-
-
-# Rename library and adapt cmake configuration
-# N.B. debug cmake export is not copied, as it's not relocatable
-file(READ ${CURRENT_PACKAGES_DIR}/share/proj/proj4-targets-release.cmake PROJ4_TARGETS_RELEASE)
-string(REPLACE "proj_4_9.lib" "proj.lib" PROJ4_TARGETS_RELEASE ${PROJ4_TARGETS_RELEASE})
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/proj/proj4-targets-release.cmake ${PROJ4_TARGETS_RELEASE})
-
-file(RENAME ${CURRENT_PACKAGES_DIR}/lib/proj_4_9.lib ${CURRENT_PACKAGES_DIR}/lib/proj.lib)
-file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/proj_4_9_d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/projd.lib)
-
-# Remove duplicate headers installed from debug build
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-# Remove data installed from debug build
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
-
-# Handle copyright
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/proj)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/proj/COPYING ${CURRENT_PACKAGES_DIR}/share/proj/copyright)
+SET(VCPKG_POLICY_EMPTY_PACKAGE enabled)
diff --git a/ports/proj/0001-CMake-add-detection-of-recent-visual-studio-versions.patch b/ports/proj4/0001-CMake-add-detection-of-recent-visual-studio-versions.patch
index 9be5438aa..9be5438aa 100644
--- a/ports/proj/0001-CMake-add-detection-of-recent-visual-studio-versions.patch
+++ b/ports/proj4/0001-CMake-add-detection-of-recent-visual-studio-versions.patch
diff --git a/ports/proj/0002-CMake-fix-error-by-only-setting-properties-for-targe.patch b/ports/proj4/0002-CMake-fix-error-by-only-setting-properties-for-targe.patch
index 2c470570e..2c470570e 100644
--- a/ports/proj/0002-CMake-fix-error-by-only-setting-properties-for-targe.patch
+++ b/ports/proj4/0002-CMake-fix-error-by-only-setting-properties-for-targe.patch
diff --git a/ports/proj/0003-CMake-configurable-cmake-config-install-location.patch b/ports/proj4/0003-CMake-configurable-cmake-config-install-location.patch
index 5870e12ea..5870e12ea 100644
--- a/ports/proj/0003-CMake-configurable-cmake-config-install-location.patch
+++ b/ports/proj4/0003-CMake-configurable-cmake-config-install-location.patch
diff --git a/ports/proj4/CONTROL b/ports/proj4/CONTROL
new file mode 100644
index 000000000..cf2519b12
--- /dev/null
+++ b/ports/proj4/CONTROL
@@ -0,0 +1,3 @@
+Source: proj4
+Version: 4.9.3-1
+Description: PROJ.4 library for cartographic projections
diff --git a/ports/proj4/portfile.cmake b/ports/proj4/portfile.cmake
new file mode 100644
index 000000000..626d6b2e4
--- /dev/null
+++ b/ports/proj4/portfile.cmake
@@ -0,0 +1,68 @@
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/proj-4.9.3)
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://download.osgeo.org/proj/proj-4.9.3.zip"
+ FILENAME "proj-4.9.3.zip"
+ SHA512 c9703008cd1f75fe1239b180158e560b9b88ae2ffd900b72923c716908eb86d1abbc4230647af5e3131f8c34481bdc66b03826d669620161ffcfbe67801cb631
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}/
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/0001-CMake-add-detection-of-recent-visual-studio-versions.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0002-CMake-fix-error-by-only-setting-properties-for-targe.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0003-CMake-configurable-cmake-config-install-location.patch
+)
+
+if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ list(APPEND CMAKE_OPTIONS "-DBUILD_LIBPROJ_SHARED=YES")
+else()
+ list(APPEND CMAKE_OPTIONS "-DBUILD_LIBPROJ_SHARED=NO")
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS ${CMAKE_OPTIONS}
+ -DPROJ_LIB_SUBDIR=lib
+ -DPROJ_INCLUDE_SUBDIR=include
+ -DPROJ_DATA_SUBDIR=share/proj4
+ -DPROJ_CMAKE_CONFIG_SUBDIR=share/proj4
+ -DBUILD_CS2CS=NO
+ -DBUILD_PROJ=NO
+ -DBUILD_GEOD=NO
+ -DBUILD_NAD2BIN=NO
+ -DPROJ4_TESTS=NO
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/proj4)
+
+# Rename library and adapt cmake configuration
+file(READ ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets-release.cmake _contents)
+string(REPLACE "proj_4_9.lib" "proj.lib" _contents "${_contents}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets-release.cmake "${_contents}")
+
+file(READ ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets-debug.cmake _contents)
+string(REPLACE "proj_4_9_d.lib" "projd.lib" _contents "${_contents}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets-debug.cmake "${_contents}")
+
+file(READ ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets.cmake _contents)
+string(REPLACE "set(_IMPORT_PREFIX \"${CURRENT_PACKAGES_DIR}\")"
+ "set(_IMPORT_PREFIX \"\${CMAKE_CURRENT_LIST_DIR}\")\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)"
+ _contents "${_contents}"
+)
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets.cmake "${_contents}")
+
+file(RENAME ${CURRENT_PACKAGES_DIR}/lib/proj_4_9.lib ${CURRENT_PACKAGES_DIR}/lib/proj.lib)
+file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/proj_4_9_d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/projd.lib)
+
+# Remove duplicate headers installed from debug build
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+# Remove data installed from debug build
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/proj4)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/proj4/COPYING ${CURRENT_PACKAGES_DIR}/share/proj4/copyright)
diff --git a/ports/protobuf/0001-fix-missing-export.patch b/ports/protobuf/0001-fix-missing-export.patch
deleted file mode 100644
index c7d5ff6c8..000000000
--- a/ports/protobuf/0001-fix-missing-export.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/google/protobuf/generated_message_util.h b/src/google/protobuf/generated_message_util.h
-index 4417446..a7154b4 100644
---- a/src/google/protobuf/generated_message_util.h
-+++ b/src/google/protobuf/generated_message_util.h
-@@ -164,7 +164,7 @@ class ExplicitlyConstructed {
-
- // Default empty string object. Don't use this directly. Instead, call
- // GetEmptyString() to get the reference.
--extern ExplicitlyConstructed< ::std::string> fixed_address_empty_string;
-+LIBPROTOBUF_EXPORT extern ExplicitlyConstructed< ::std::string> fixed_address_empty_string;
- LIBPROTOBUF_EXPORT extern ProtobufOnceType empty_string_once_init_;
- LIBPROTOBUF_EXPORT void InitEmptyString();
-
diff --git a/ports/protobuf/001-add-compiler-flag.patch b/ports/protobuf/001-add-compiler-flag.patch
index aec510f44..ad545cad3 100644
--- a/ports/protobuf/001-add-compiler-flag.patch
+++ b/ports/protobuf/001-add-compiler-flag.patch
@@ -1,14 +1,13 @@
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
-index 7618ba21..bd92b09d 100644
+index 7618ba2..d282a60 100644
--- a/cmake/CMakeLists.txt
+++ b/cmake/CMakeLists.txt
-@@ -165,8 +165,11 @@ endif (protobuf_UNICODE)
+@@ -165,8 +165,10 @@ endif (protobuf_UNICODE)
include(libprotobuf-lite.cmake)
include(libprotobuf.cmake)
-include(libprotoc.cmake)
-include(protoc.cmake)
-+
+if(protobuf_BUILD_COMPILER)
+ include(libprotoc.cmake)
+ include(protoc.cmake)
@@ -16,11 +15,12 @@ index 7618ba21..bd92b09d 100644
if (protobuf_BUILD_TESTS)
include(tests.cmake)
+
diff --git a/cmake/install.cmake b/cmake/install.cmake
-index 28dc90dc..52c1f721 100644
+index 441bf55..20b3aa0 100644
--- a/cmake/install.cmake
+++ b/cmake/install.cmake
-@@ -1,9 +1,12 @@
+@@ -1,14 +1,17 @@
include(GNUInstallDirs)
+set(LIBRARIES_TO_SET_DEST libprotobuf-lite libprotobuf)
@@ -28,6 +28,11 @@ index 28dc90dc..52c1f721 100644
+ list(APPEND LIBRARIES_TO_SET_DEST libprotoc)
+endif()
+
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/protobuf.pc.cmake
+ ${CMAKE_CURRENT_BINARY_DIR}/protobuf.pc @ONLY)
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/protobuf-lite.pc.cmake
+ ${CMAKE_CURRENT_BINARY_DIR}/protobuf-lite.pc @ONLY)
+
foreach(_library
- libprotobuf-lite
- libprotobuf
@@ -36,7 +41,7 @@ index 28dc90dc..52c1f721 100644
set_property(TARGET ${_library}
PROPERTY INTERFACE_INCLUDE_DIRECTORIES
$<BUILD_INTERFACE:${protobuf_source_dir}/src>
-@@ -14,8 +17,10 @@ foreach(_library
+@@ -19,8 +22,10 @@ foreach(_library
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${_library})
endforeach()
@@ -47,9 +52,9 @@ index 28dc90dc..52c1f721 100644
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT protoc)
+endif()
- file(STRINGS extract_includes.bat.in _extract_strings
- REGEX "^copy")
-@@ -94,7 +99,12 @@ configure_file(protobuf-options.cmake
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/protobuf.pc ${CMAKE_CURRENT_BINARY_DIR}/protobuf-lite.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+
+@@ -101,7 +106,12 @@ configure_file(protobuf-options.cmake
${CMAKE_INSTALL_CMAKEDIR}/protobuf-options.cmake @ONLY)
# Allows the build directory to be used as a find directory.
diff --git a/ports/protobuf/CONTROL b/ports/protobuf/CONTROL
index 192b57f96..b9d8b5b9e 100644
--- a/ports/protobuf/CONTROL
+++ b/ports/protobuf/CONTROL
@@ -1,4 +1,4 @@
Source: protobuf
-Version: 3.3.0-3
+Version: 3.4.1-1
Build-Depends: zlib
-Description: Protocol Buffers - Google's data interchange format \ No newline at end of file
+Description: Protocol Buffers - Google's data interchange format
diff --git a/ports/protobuf/portfile.cmake b/ports/protobuf/portfile.cmake
index fa81e0542..e3cae639c 100644
--- a/ports/protobuf/portfile.cmake
+++ b/ports/protobuf/portfile.cmake
@@ -1,16 +1,17 @@
include(vcpkg_common_functions)
-set(PROTOBUF_VERSION 3.3.0)
+set(PROTOBUF_VERSION 3.4.1)
+set(PROTOC_VERSION 3.4.0)
vcpkg_download_distfile(ARCHIVE_FILE
URLS "https://github.com/google/protobuf/releases/download/v${PROTOBUF_VERSION}/protobuf-cpp-${PROTOBUF_VERSION}.tar.gz"
FILENAME "protobuf-cpp-${PROTOBUF_VERSION}.tar.gz"
- SHA512 ef01300bdda4a1a33a6056aea1d55e9d66ab1ca644aa2d9d5633cfc0bccfe4c24fdfa1015889b2c1c568e89ad053c701de1aca45196a6439130b7bb8f461595f
+ SHA512 6189e23c7e381f62e971bd0e35ad9c3ed8effe584755357013887c6a582cb5a9a654c39affa2a073b658854138f31bfb70f89fa1df494e9386f1d64fd73d07d2
)
vcpkg_download_distfile(TOOL_ARCHIVE_FILE
- URLS "https://github.com/google/protobuf/releases/download/v${PROTOBUF_VERSION}/protoc-${PROTOBUF_VERSION}-win32.zip"
- FILENAME "protoc-${PROTOBUF_VERSION}-win32.zip"
- SHA512 9b4902b3187fb978a8153aaf050314a3ca9ca161b0712a3672ccdfabb7f5a57035e71c2dfde9a0b99f9417e159dcbdedaf9a2b1917d712dc3d9d554bba0d4ee8
+ URLS "https://github.com/google/protobuf/releases/download/v${PROTOC_VERSION}/protoc-${PROTOC_VERSION}-win32.zip"
+ FILENAME "protoc-${PROTOC_VERSION}-win32.zip"
+ SHA512 b874c3f47b39ac78f5675e05220318683004a365c248bf47ba50d8c66c8ed7763432451bab30524e131e1185a2bdaa6e6071b389eb61ad58b1b95974cf39d41b
)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/protobuf-${PROTOBUF_VERSION})
@@ -18,13 +19,10 @@ set(TOOL_PATH ${CURRENT_BUILDTREES_DIR}/src/protobuf-${PROTOBUF_VERSION}-win32)
vcpkg_extract_source_archive(${ARCHIVE_FILE})
-# Patch to fix the missing export of fixed_address_empty_string,
-# see https://github.com/google/protobuf/pull/3216
# Add a flag that can be set to disable the protobuf compiler
vcpkg_apply_patches(
SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/protobuf-${PROTOBUF_VERSION}
- PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-fix-missing-export.patch"
- "${CMAKE_CURRENT_LIST_DIR}/001-add-compiler-flag.patch"
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/001-add-compiler-flag.patch"
)
@@ -95,15 +93,11 @@ else()
protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/debug/bin/protoc.exe)
endif()
-foreach(FILE ${CURRENT_PACKAGES_DIR}/include/google/protobuf/arena.h ${CURRENT_PACKAGES_DIR}/include/google/protobuf/stubs/port.h)
- file(READ ${FILE} _contents)
- if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- string(REPLACE "defined(PROTOBUF_USE_DLLS)" "1" _contents "${_contents}")
- else()
- string(REPLACE "defined(PROTOBUF_USE_DLLS)" "0" _contents "${_contents}")
- endif()
- file(WRITE ${FILE} "${_contents}")
-endforeach()
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ file(READ ${CURRENT_PACKAGES_DIR}/include/google/protobuf/stubs/platform_macros.h _contents)
+ string(REPLACE "\#endif // GOOGLE_PROTOBUF_PLATFORM_MACROS_H_" "\#define PROTOBUF_USE_DLLS\n\#endif // GOOGLE_PROTOBUF_PLATFORM_MACROS_H_" _contents "${_contents}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/include/google/protobuf/stubs/platform_macros.h "${_contents}")
+endif()
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/protobuf RENAME copyright)
file(INSTALL ${TOOL_PATH}/bin/protoc.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
diff --git a/ports/ptex/CONTROL b/ports/ptex/CONTROL
index b2e6bff27..e41db7678 100644
--- a/ports/ptex/CONTROL
+++ b/ports/ptex/CONTROL
@@ -1,4 +1,4 @@
Source: ptex
-Version: 2.1.28
+Version: 2.1.28-1
Description: Per-Face Texture Mapping for Production Rendering.
Build-Depends: zlib
diff --git a/ports/pthreads/CONTROL b/ports/pthreads/CONTROL
index 81b97f70b..ee9b7b5fa 100644
--- a/ports/pthreads/CONTROL
+++ b/ports/pthreads/CONTROL
@@ -1,3 +1,3 @@
Source: pthreads
-Version: 2.9.1
+Version: 2.9.1-1
Description: pthreads for windows
diff --git a/ports/pugixml/CONTROL b/ports/pugixml/CONTROL
index 298d433b2..5fc5f1e4e 100644
--- a/ports/pugixml/CONTROL
+++ b/ports/pugixml/CONTROL
@@ -1,3 +1,3 @@
Source: pugixml
-Version: 1.8.1
+Version: 1.8.1-1
Description: C++ XML processing library
diff --git a/ports/pybind11/CONTROL b/ports/pybind11/CONTROL
index e5ca37eb4..94ed66368 100644
--- a/ports/pybind11/CONTROL
+++ b/ports/pybind11/CONTROL
@@ -1,4 +1,4 @@
Source: pybind11
-Version: 2.1.0-1
+Version: 2.2.0
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 \ No newline at end of file
+Build-Depends: python3
diff --git a/ports/pybind11/portfile.cmake b/ports/pybind11/portfile.cmake
index 668edb5d9..3e5802059 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.1.0
- SHA512 2f74dcd2b82d8e41da7db36351284fe04511038bec66bdde820da9c0fce92f6d2c5aeb2e48264058a91a775a1a6a99bc757d26ebf001de3df4183d700d46efa1
+ REF v2.2.0
+ SHA512 65d8c2c9ba77b25577dd330356ef9cc8f9af924b1d578c28176f230c6f6a88cfd335cc01cc5e010bb8e641a000a78cfcaa1a1367b438e7c6e0d40ea511494a5a
HEAD_REF master
)
diff --git a/ports/pystring/CONTROL b/ports/pystring/CONTROL
index 23980ef12..6b4f14035 100644
--- a/ports/pystring/CONTROL
+++ b/ports/pystring/CONTROL
@@ -1,3 +1,3 @@
Source: pystring
-Version: 1.1.3
+Version: 1.1.3-1
Description: Pystring is a collection of C++ functions which match the interface and behavior of python's string class methods using std::string
diff --git a/ports/qca/CONTROL b/ports/qca/CONTROL
index cbe923bb4..7d757297c 100644
--- a/ports/qca/CONTROL
+++ b/ports/qca/CONTROL
@@ -1,4 +1,4 @@
Source: qca
-Version: 2.2.0
+Version: 2.2.0-1
Description: Qt Cryptographic Architecture (QCA). Sources: https://cgit.kde.org/qca.git/
Build-Depends: qt5
diff --git a/ports/qhull/CONTROL b/ports/qhull/CONTROL
index a36061285..ff0847781 100644
--- a/ports/qhull/CONTROL
+++ b/ports/qhull/CONTROL
@@ -1,3 +1,3 @@
Source: qhull
-Version: 2015.2
+Version: 2015.2-1
Description: computes the convex hull, Delaunay triangulation, Voronoi diagram
diff --git a/ports/qt5/CONTROL b/ports/qt5/CONTROL
index 01c7a3a19..ce46d249b 100644
--- a/ports/qt5/CONTROL
+++ b/ports/qt5/CONTROL
@@ -1,4 +1,4 @@
Source: qt5
-Version: 5.8-4
+Version: 5.8-6
Description: Qt5 application framework main components. Webengine, examples and tests not included.
Build-Depends: zlib, libjpeg-turbo, libpng, freetype, pcre, harfbuzz, sqlite3, libpq, double-conversion
diff --git a/ports/qt5/fixcmake.py b/ports/qt5/fixcmake.py
index 93a535fa2..b081af58e 100644
--- a/ports/qt5/fixcmake.py
+++ b/ports/qt5/fixcmake.py
@@ -18,6 +18,10 @@ for f in files:
builder += "\n " + line.replace("/bin/", "/debug/bin/")
builder += " endif()\n"
elif "_install_prefix}/lib/${LIB_LOCATION}" in line:
+ # Qt5AxServer(d).lib has been moved to manual-link:
+ if '_qt5AxServer_install_prefix' in line:
+ line = line.replace('/lib/', '/lib/manual-link/')
+
builder += " if (${Configuration} STREQUAL \"RELEASE\")"
builder += "\n " + line
builder += " else()"
@@ -30,7 +34,8 @@ for f in files:
builder += "\n " + line.replace("/lib/", "/debug/lib/")
builder += " endif()\n"
elif "_install_prefix}/lib/qtmaind.lib" in line:
- builder += line.replace("/lib/", "/debug/lib/")
+ # qtmaind.lib has been moved to manual-link:
+ builder += line.replace("/lib/", "/debug/lib/manual-link/")
elif "_install_prefix}/plugins/${PLUGIN_LOCATION}" in line:
builder += " if (${Configuration} STREQUAL \"RELEASE\")"
builder += "\n " + line
@@ -38,8 +43,9 @@ for f in files:
builder += "\n " + line.replace("/plugins/", "/debug/plugins/")
builder += " endif()\n"
elif "_install_prefix}/lib/qtmain.lib" in line:
- builder += line
- builder += " set(imported_location_debug \"${_qt5Core_install_prefix}/debug/lib/qtmaind.lib\")\n"
+ # qtmain(d).lib has been moved to manual-link:
+ builder += line.replace("/lib/", "/lib/manual-link/")
+ builder += " set(imported_location_debug \"${_qt5Core_install_prefix}/debug/lib/manual-link/qtmaind.lib\")\n"
builder += "\n"
builder += " set_target_properties(Qt5::WinMain PROPERTIES\n"
builder += " IMPORTED_LOCATION_DEBUG ${imported_location_debug}\n"
diff --git a/ports/qt5/portfile.cmake b/ports/qt5/portfile.cmake
index 33709c528..4b852e95c 100644
--- a/ports/qt5/portfile.cmake
+++ b/ports/qt5/portfile.cmake
@@ -89,6 +89,55 @@ vcpkg_execute_required_process(
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})
+
+#---------------------------------------------------------------------------
+# Qt5Bootstrap: a release-only dependency
+#---------------------------------------------------------------------------
+# Remove release-only Qt5Bootstrap.lib from debug folders:
+#file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/Qt5Bootstrap.lib)
+#file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/Qt5Bootstrap.prl)
+# Above approach does not work:
+# check_matching_debug_and_release_binaries(dbg_libs, rel_libs)
+# requires the two sets to be of equal size!
+# Alt. approach, create dummy folder instead:
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/dont-use)
+file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/Qt5Bootstrap.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/dont-use)
+file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/Qt5Bootstrap.prl DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/dont-use)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/Qt5Bootstrap.lib)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/Qt5Bootstrap.prl)
+#---------------------------------------------------------------------------
+
+#---------------------------------------------------------------------------
+# qtmain(d) vs. Qt5AxServer(d)
+#---------------------------------------------------------------------------
+# Qt applications have to either link to qtmain(d) or to Qt5AxServer(d),
+# never both. See http://doc.qt.io/qt-5/activeqt-server.html for more info.
+#
+# Create manual-link folders:
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+#
+# Either have users explicitly link against qtmain.lib, qtmaind.lib:
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/qtmain.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/qtmain.prl DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/qtmain.lib)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/qtmain.prl)
+file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.prl DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.lib)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.prl)
+#
+# ... or have users explicitly link against Qt5AxServer.lib, Qt5AxServerd.lib:
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/Qt5AxServer.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/Qt5AxServer.prl DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/Qt5AxServer.lib)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/Qt5AxServer.prl)
+file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/Qt5AxServerd.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/Qt5AxServerd.prl DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/Qt5AxServerd.lib)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/Qt5AxServerd.prl)
+#---------------------------------------------------------------------------
+
file(INSTALL ${SOURCE_PATH}/LICENSE.LGPLv3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5 RENAME copyright)
if(EXISTS ${CURRENT_PACKAGES_DIR}/plugins)
file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/qtdeploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/plugins)
diff --git a/ports/ragel/CONTROL b/ports/ragel/CONTROL
index bb83fa72f..bb6595ac5 100644
--- a/ports/ragel/CONTROL
+++ b/ports/ragel/CONTROL
@@ -1,3 +1,3 @@
Source: ragel
-Version: 6.10
+Version: 6.10-1
Description: Ragel State Machine Compiler
diff --git a/ports/readosm/CONTROL b/ports/readosm/CONTROL
new file mode 100644
index 000000000..bc2853daf
--- /dev/null
+++ b/ports/readosm/CONTROL
@@ -0,0 +1,4 @@
+Source: readosm
+Version: 1.1.0
+Description: ReadOSM is an open source library to extract valid data from within an Open Street Map input file (.osm or .osm.pbf)
+Build-Depends: expat, zlib
diff --git a/ports/readosm/fix-makefiles.patch b/ports/readosm/fix-makefiles.patch
new file mode 100644
index 000000000..3904b5136
--- /dev/null
+++ b/ports/readosm/fix-makefiles.patch
@@ -0,0 +1,49 @@
+diff --git a/makefile.vc b/makefile.vc
+index 791aedf..d294548 100644
+--- a/makefile.vc
++++ b/makefile.vc
+@@ -8,7 +8,7 @@ LIBOBJ = src\readosm.obj src\osmxml.obj \
+ src\protobuf.obj src\osm_objects.obj
+ READOSM_DLL = readosm$(VERSION).dll
+
+-CFLAGS = /nologo -IC:\OSGeo4W\include -Iheaders $(OPTFLAGS)
++CFLAGS = /nologo -I$(INSTALLED_ROOT)\include -Iheaders $(OPTFLAGS)
+
+ default: all
+
+@@ -21,9 +21,9 @@ readosm.lib: $(LIBOBJ)
+ $(READOSM_DLL): readosm_i.lib
+
+ readosm_i.lib: $(LIBOBJ)
+- link /debug /dll /out:$(READOSM_DLL) \
++ link $(LINK_FLAGS) /dll /out:$(READOSM_DLL) \
+ /implib:readosm_i.lib $(LIBOBJ) \
+- C:\OSGeo4w\lib\libexpat.lib C:\OSGeo4w\lib\zlib.lib
++ $(LIBS_ALL)
+ if exist $(READOSM_DLL).manifest mt -manifest \
+ $(READOSM_DLL).manifest -outputresource:$(READOSM_DLL);2
+
+@@ -35,7 +35,7 @@ clean:
+ del *.exp
+ del *.manifest
+ del *.lib
+- del *.obj
++ del src\*.obj
+ del *.pdb
+
+ install: all
+diff --git a/nmake.opt b/nmake.opt
+index 5e45c0e..61c44f9 100644
+--- a/nmake.opt
++++ b/nmake.opt
+@@ -1,8 +1,8 @@
+ # Directory tree where ReadOSM will be installed.
+-INSTDIR=C:\OSGeo4W
++INSTDIR=$(INST_DIR)
+
+ # Uncomment the first for an optimized build, or the second for debug.
+-OPTFLAGS= /nologo /Ox /fp:precise /W3 /MD /D_CRT_SECURE_NO_WARNINGS \
++OPTFLAGS= /nologo /fp:precise /W3 $(CL_FLAGS) /D_CRT_SECURE_NO_WARNINGS \
+ /DDLL_EXPORT
+ #OPTFLAGS= /nologo /Zi /MD /Fdreadosm.pdb /DDLL_EXPORT
+
diff --git a/ports/readosm/fix-version-macro.patch b/ports/readosm/fix-version-macro.patch
new file mode 100644
index 000000000..b091b3359
--- /dev/null
+++ b/ports/readosm/fix-version-macro.patch
@@ -0,0 +1,13 @@
+diff --git a/src/readosm.c b/src/readosm.c
+index e1dda27..7977339 100644
+--- a/src/readosm.c
++++ b/src/readosm.c
+@@ -50,7 +50,7 @@
+
+ #if defined(_WIN32) && !defined(__MINGW32__)
+ /* MSVC: avoiding to include at all config.h */
+-#define VERSION 1.1.0
++#define VERSION "1.1.0"
+ #else
+ #include "config.h"
+ #endif
diff --git a/ports/readosm/portfile.cmake b/ports/readosm/portfile.cmake
new file mode 100644
index 000000000..40af755eb
--- /dev/null
+++ b/ports/readosm/portfile.cmake
@@ -0,0 +1,78 @@
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/readosm-1.1.0)
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://www.gaia-gis.it/gaia-sins/readosm-1.1.0.tar.gz"
+ FILENAME "readosm-1.1.0.tar.gz"
+ SHA512 d3581f564c4461c6a1a3d5fd7d18a262c884b2ac935530064bfaebd6c05d692fb92cc600fb40e87e03f7160ebf0eeeb05f51a0e257935d056b233fe28fc01a11
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/fix-makefiles.patch
+ ${CMAKE_CURRENT_LIST_DIR}/fix-version-macro.patch
+)
+
+find_program(NMAKE nmake)
+
+set(LIBS_ALL_DBG "\"${CURRENT_INSTALLED_DIR}/debug/lib/expat.lib\" \"${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib\"")
+set(LIBS_ALL_REL "\"${CURRENT_INSTALLED_DIR}/lib/expat.lib\" \"${CURRENT_INSTALLED_DIR}/lib/zlib.lib\"")
+
+if(VCPKG_CRT_LINKAGE STREQUAL dynamic)
+ set(CL_FLAGS_DBG "/MDd /Zi")
+ set(CL_FLAGS_REL "/MD /Ox")
+else()
+ set(CL_FLAGS_DBG "/MTd /Zi")
+ set(CL_FLAGS_REL "/MT /Ox")
+endif()
+
+################
+# Debug build
+################
+message(STATUS "Building ${TARGET_TRIPLET}-dbg")
+
+file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" INST_DIR_DBG)
+
+vcpkg_execute_required_process(
+ COMMAND ${NMAKE} -f makefile.vc clean install
+ INST_DIR="${INST_DIR_DBG}" INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" "LINK_FLAGS=/debug" "CL_FLAGS=${CL_FLAGS_DBG}"
+ "LIBS_ALL=${LIBS_ALL_DBG}"
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME nmake-build-${TARGET_TRIPLET}-debug
+)
+vcpkg_copy_pdbs()
+message(STATUS "Building ${TARGET_TRIPLET}-dbg done")
+
+################
+# Release build
+################
+message(STATUS "Building ${TARGET_TRIPLET}-rel")
+
+file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR_REL)
+vcpkg_execute_required_process(
+ COMMAND ${NMAKE} -f makefile.vc clean install
+ INST_DIR="${INST_DIR_REL}" INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" "LINK_FLAGS=" "CL_FLAGS=${CL_FLAGS_REL}"
+ "LIBS_ALL=${LIBS_ALL_REL}"
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME nmake-build-${TARGET_TRIPLET}-release
+)
+message(STATUS "Building ${TARGET_TRIPLET}-rel done")
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/readosm RENAME copyright)
+
+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/readosm_i.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/readosm_i.lib)
+else()
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/readosm.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/readosm.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/readosm_i.lib ${CURRENT_PACKAGES_DIR}/lib/readosm.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/readosm_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/readosm.lib)
+endif()
+
+
+message(STATUS "Packaging ${TARGET_TRIPLET} done")
diff --git a/ports/rhash/CONTROL b/ports/rhash/CONTROL
index cfa5c6cb0..16b50c945 100644
--- a/ports/rhash/CONTROL
+++ b/ports/rhash/CONTROL
@@ -1,3 +1,3 @@
Source: rhash
-Version: 1.3.5
+Version: 1.3.5-1
Description: C library for computing a wide variety of hash sums
diff --git a/ports/rocksdb/CONTROL b/ports/rocksdb/CONTROL
index 2efbda7c3..59850ff03 100644
--- a/ports/rocksdb/CONTROL
+++ b/ports/rocksdb/CONTROL
@@ -1,4 +1,4 @@
Source: rocksdb
-Version: 2017-06-28-18c63af6ef2b9f014c404b88488ae52e6fead03c
+Version: 2017-06-28-18c63af6ef2b9f014c404b88488ae52e6fead03c-1
Description: A library that provides an embeddable, persistent key-value store for fast storage
Build-Depends: snappy, lz4, gflags, zlib, gtest
diff --git a/ports/rtmidi/CONTROL b/ports/rtmidi/CONTROL
index 9057812a0..9eaad9735 100644
--- a/ports/rtmidi/CONTROL
+++ b/ports/rtmidi/CONTROL
@@ -1,3 +1,3 @@
Source: rtmidi
-Version: 2.1.1-1
+Version: 2.1.1-2
Description: A set of C++ classes that provide a common API for realtime MIDI input/output across Linux (ALSA & JACK), Macintosh OS X (CoreMidi & JACK) and Windows (Multimedia)
diff --git a/ports/rttr/CONTROL b/ports/rttr/CONTROL
index 950247999..e7ed99b8c 100644
--- a/ports/rttr/CONTROL
+++ b/ports/rttr/CONTROL
@@ -1,3 +1,3 @@
Source: rttr
-Version: 0.9.5
+Version: 0.9.5-1
Description: an easy and intuitive way to use reflection in C++
diff --git a/ports/sciter/CONTROL b/ports/sciter/CONTROL
index c41495b51..54d72ec3c 100644
--- a/ports/sciter/CONTROL
+++ b/ports/sciter/CONTROL
@@ -1,4 +1,4 @@
Source: sciter
-Version: 4.0.2-1
+Version: 4.0.3
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 c5cfad6ea..063b318e3 100644
--- a/ports/sciter/portfile.cmake
+++ b/ports/sciter/portfile.cmake
@@ -12,9 +12,9 @@ include(vcpkg_common_functions)
# header-only library
set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled)
-set(SCITER_VERSION 4.0.2-1)
-set(SCITER_REVISION 2d1de5b6d9da55b50168cb9069c8b12490f39d60)
-set(SCITER_SHA 3d33bd0f76474b76e2281b96517c26ac1bb4b8009847499c063c0066a8e69280019c133a10967be8aaed97bbd6186023728619233dea6e7bcf1567e45cd57017)
+set(SCITER_VERSION 4.0.3)
+set(SCITER_REVISION 1209528289b8c8369352d648f4ba0c67826cbd8b)
+set(SCITER_SHA 9fc72dd44b22c69715b4b08c5af7a65e0bb48d849191002b2ae45ca6f5ea058fb8c64cc7f6c176215afce682af6166a1579efd8cc2ca0fb9e844ceba1160f10f)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL x64)
set(SCITER_ARCH 64)
diff --git a/ports/sdl2-gfx/CONTROL b/ports/sdl2-gfx/CONTROL
index 799306235..0e0b71aec 100644
--- a/ports/sdl2-gfx/CONTROL
+++ b/ports/sdl2-gfx/CONTROL
@@ -1,4 +1,4 @@
Source: sdl2-gfx
-Version: 1.0.3-1
+Version: 1.0.3-2
Build-Depends: sdl2
Description: Graphics primitives (line, circle, rectangle etc.) with AA support, rotozoomer and other drawing related support functions wrapped up in a C based add-on library for the Simple Direct Media (SDL) cross-platform API layer.
diff --git a/ports/sdl2-image/CONTROL b/ports/sdl2-image/CONTROL
index 5ebec2f38..a5c41a334 100644
--- a/ports/sdl2-image/CONTROL
+++ b/ports/sdl2-image/CONTROL
@@ -1,5 +1,5 @@
Source: sdl2-image
-Version: 2.0.1-1
+Version: 2.0.1-2
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-mixer/CONTROL b/ports/sdl2-mixer/CONTROL
index 88356b73f..756a7380d 100644
--- a/ports/sdl2-mixer/CONTROL
+++ b/ports/sdl2-mixer/CONTROL
@@ -1,4 +1,4 @@
Source: sdl2-mixer
-Version: 2.0.1-1
+Version: 2.0.1-2
Description: Multi-channel audio mixer library for SDL.
Build-Depends: sdl2, libflac, smpeg2, libmodplug, libvorbis
diff --git a/ports/sdl2-net/CONTROL b/ports/sdl2-net/CONTROL
index 692bb7615..e64277b39 100644
--- a/ports/sdl2-net/CONTROL
+++ b/ports/sdl2-net/CONTROL
@@ -1,4 +1,4 @@
Source: sdl2-net
-Version: 2.0.1-1
+Version: 2.0.1-2
Description: Networking library for SDL
Build-Depends: sdl2
diff --git a/ports/sdl2-ttf/CONTROL b/ports/sdl2-ttf/CONTROL
index fe09831ee..7dbe06367 100644
--- a/ports/sdl2-ttf/CONTROL
+++ b/ports/sdl2-ttf/CONTROL
@@ -1,4 +1,4 @@
Source: sdl2-ttf
-Version: 2.0.14-1
+Version: 2.0.14-2
Description: A library for rendering TrueType fonts with SDL
Build-Depends: sdl2, freetype
diff --git a/ports/sdl2/CONTROL b/ports/sdl2/CONTROL
index f22820579..e4d99f4ae 100644
--- a/ports/sdl2/CONTROL
+++ b/ports/sdl2/CONTROL
@@ -1,3 +1,3 @@
Source: sdl2
-Version: 2.0.5-3
+Version: 2.0.6-1
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/dont-ignore-default-libs.patch b/ports/sdl2/dont-ignore-default-libs.patch
deleted file mode 100644
index c9f4c6079..000000000
--- a/ports/sdl2/dont-ignore-default-libs.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 54a23f0..91c5736 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1549,7 +1549,7 @@ if(SDL_SHARED)
- SOVERSION ${LT_REVISION}
- OUTPUT_NAME "SDL2")
- endif()
-- if(MSVC)
-+ if(MSVC AND NOT LIBC)
- # Don't try to link with the default set of libraries.
- set_target_properties(SDL2 PROPERTIES LINK_FLAGS_RELEASE "/NODEFAULTLIB")
- set_target_properties(SDL2 PROPERTIES LINK_FLAGS_DEBUG "/NODEFAULTLIB")
-@@ -1564,7 +1564,7 @@ if(SDL_STATIC)
- add_library(SDL2-static STATIC ${SOURCE_FILES})
- set_target_properties(SDL2-static PROPERTIES OUTPUT_NAME "SDL2")
- set_target_properties(SDL2-static PROPERTIES POSITION_INDEPENDENT_CODE ${SDL_STATIC_PIC})
-- if(MSVC)
-+ if(MSVC AND NOT LIBC)
- set_target_properties(SDL2-static PROPERTIES LINK_FLAGS_RELEASE "/NODEFAULTLIB")
- set_target_properties(SDL2-static PROPERTIES LINK_FLAGS_DEBUG "/NODEFAULTLIB")
- set_target_properties(SDL2-static PROPERTIES STATIC_LIBRARY_FLAGS "/NODEFAULTLIB")
diff --git a/ports/sdl2/export-symbols-only-in-shared-build.patch b/ports/sdl2/export-symbols-only-in-shared-build.patch
index b442954d5..7e6d503e2 100644
--- a/ports/sdl2/export-symbols-only-in-shared-build.patch
+++ b/ports/sdl2/export-symbols-only-in-shared-build.patch
@@ -1,16 +1,24 @@
-diff --git a/include/begin_code.h b/include/begin_code.h
-index 04e78c6..16464f5 100644
---- a/include/begin_code.h
-+++ b/include/begin_code.h
+# HG changeset patch
+# User Mikhail Paulyshka <me@mixaill.tk>
+# Date 1506252750 -10800
+# Sun Sep 24 14:32:30 2017 +0300
+# Branch SDL2-WIN-SYMBOLS_LEACKAGE
+# Node ID 46ec9baae30cd4e0c584de125cae4a3cce2864ad
+# Parent 8df7a59b55283aa09889522369a2b32674c048de
+win32: fix symbols leakage for static libraries
+
+diff -r 8df7a59b5528 -r 46ec9baae30c include/begin_code.h
+--- a/include/begin_code.h Fri Sep 22 11:25:52 2017 -0700
++++ b/include/begin_code.h Sun Sep 24 14:32:30 2017 +0300
@@ -58,8 +58,10 @@
# else
# define DECLSPEC __declspec(dllimport)
# endif
--# else
-+# elif defined(SDL2_EXPORTS)
- # define DECLSPEC __declspec(dllexport)
-+# else
++# elif defined(_DLL)
++# define DECLSPEC __declspec(dllexport)
+ # else
+-# define DECLSPEC __declspec(dllexport)
+# define DECLSPEC
# endif
- # else
- # if defined(__GNUC__) && __GNUC__ >= 4
+ # elif defined(__OS2__)
+ # ifdef BUILD_SDL
diff --git a/ports/sdl2/portfile.cmake b/ports/sdl2/portfile.cmake
index 33123c1ba..a430b29f6 100644
--- a/ports/sdl2/portfile.cmake
+++ b/ports/sdl2/portfile.cmake
@@ -1,16 +1,19 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SDL2-2.0.5)
+
+set(SDL2_VERSION 2.0.6)
+set(SDL2_HASH ad4dad5663834ee0ffbdca1b531d753449b260c9256df2c48da7261aacd9795d91eef1286525cf914f6b92ba5985de7798f041557574b5d978b8224f10041830)
+
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SDL2-${SDL2_VERSION})
vcpkg_download_distfile(ARCHIVE_FILE
- URLS "http://libsdl.org/release/SDL2-2.0.5.tar.gz"
- FILENAME "SDL2-2.0.5.tar.gz"
- SHA512 6401f5df08c08316c09bc6ac5b28345c5184bb25770baa5c94c0a582ae130ddf73bb736e44bb31f4e427c1ddbbeec4755a6a5f530b6b4c3d0f13ebc78ddc1750
+ URLS "http://libsdl.org/release/SDL2-${SDL2_VERSION}.tar.gz"
+ FILENAME "SDL2-${SDL2_VERSION}.tar.gz"
+ SHA512 ${SDL2_HASH}
)
vcpkg_extract_source_archive(${ARCHIVE_FILE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/dont-ignore-default-libs.patch
${CMAKE_CURRENT_LIST_DIR}/export-symbols-only-in-shared-build.patch
)
@@ -58,14 +61,11 @@ else()
)
vcpkg_install_cmake()
-
+
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-endif()
-file(COPY ${CURRENT_PACKAGES_DIR}/lib/SDL2main.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link)
-file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/SDL2main.lib)
-file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/SDL2main.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
-file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/SDL2main.lib)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake")
+endif()
file(INSTALL ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdl2 RENAME copyright)
vcpkg_copy_pdbs()
diff --git a/ports/sery/CONTROL b/ports/sery/CONTROL
index 782452b2a..1a771771b 100644
--- a/ports/sery/CONTROL
+++ b/ports/sery/CONTROL
@@ -1,3 +1,3 @@
Source: sery
-Version: 1.0.0
+Version: 1.0.0-1
Description: Simple binary (de)serialization library
diff --git a/ports/sfml/CONTROL b/ports/sfml/CONTROL
index e7fb08ecd..778638482 100644
--- a/ports/sfml/CONTROL
+++ b/ports/sfml/CONTROL
@@ -1,4 +1,4 @@
Source: sfml
-Version: 2.4.2
+Version: 2.4.2-2
Description: Simple and fast multimedia library
Build-Depends: freetype, libflac, libjpeg-turbo, libogg, libvorbis, openal-soft, stb
diff --git a/ports/sfml/portfile.cmake b/ports/sfml/portfile.cmake
index 69f114ca5..ea4cfd138 100644
--- a/ports/sfml/portfile.cmake
+++ b/ports/sfml/portfile.cmake
@@ -1,12 +1,11 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SFML-2.4.2)
-vcpkg_download_distfile(ARCHIVE
- URLS "http://www.sfml-dev.org/files/SFML-2.4.2-sources.zip"
- FILENAME "SFML-2.4.2-sources.zip"
- SHA512 14f2b9f244bbff681d1992581f20012f3073456e4baed0fb2bf2cf82538e9c5ddd8ce01b0cfb3874af47091ec19654aa23c426df04fe1ffcfa209623dc362f85)
+vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH
+ REPO "sfml/sfml"
+ REF "2.4.2"
+ HEAD_REF master
+ SHA512 8acfdf320939c953a9a3413398f82d02d68a56a337f1366c2677c14ce032baa8ba059113ac3c91bb6e6fc22eef119369a265be7ef6894526e6a97a01f37e1972)
-vcpkg_extract_source_archive(${ARCHIVE})
file(REMOVE_RECURSE ${SOURCE_PATH}/extlibs)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
@@ -30,5 +29,9 @@ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib)
file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/sfml-main-d.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/sfml-main-d.lib)
-file(COPY ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sfml)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/sfml/license.txt ${CURRENT_PACKAGES_DIR}/share/sfml/copyright)
+# At the time of writing, HEAD has license.md instead of license.txt
+if (VCPKG_HEAD_VERSION)
+ file(INSTALL ${SOURCE_PATH}/license.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/sfml RENAME copyright)
+else()
+ file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sfml RENAME copyright)
+endif() \ No newline at end of file
diff --git a/ports/shaderc/CONTROL b/ports/shaderc/CONTROL
index d9fe76beb..5a5c2c580 100644
--- a/ports/shaderc/CONTROL
+++ b/ports/shaderc/CONTROL
@@ -1,4 +1,4 @@
Source: shaderc
-Version: 2df47b51d83ad83cbc2e7f8ff2b56776293e8958-1
+Version: 12fb656ab20ea9aa06e7084a74e5ff832b7ce2da-1
Description: A collection of tools, libraries and tests for shader compilation.
Build-Depends: glslang, spirv-tools
diff --git a/ports/shaderc/portfile.cmake b/ports/shaderc/portfile.cmake
index eb17aa827..2b925455b 100644
--- a/ports/shaderc/portfile.cmake
+++ b/ports/shaderc/portfile.cmake
@@ -7,35 +7,19 @@
#
include(vcpkg_common_functions)
-find_program(GIT git)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src)
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO google/shaderc
+ REF 12fb656ab20ea9aa06e7084a74e5ff832b7ce2da
+ SHA512 6fb45a0b01e6709c44a11658648b9271fe06bd94023dcc5042c47b5f2a04889c2efb0ab4c166f18728594ac9b9aa9f8b354af46d88eb7f7c39c7246f52f5a933
+ HEAD_REF master
+)
-set(SHADERC_GIT_URL "https://github.com/google/shaderc.git")
-set(SHADERC_GIT_REF "2df47b51d83ad83cbc2e7f8ff2b56776293e8958")
-if(NOT EXISTS "${DOWNLOADS}/shaderc.git")
- message(STATUS "Cloning")
- vcpkg_execute_required_process(
- COMMAND ${GIT} clone --bare ${SHADERC_GIT_URL} ${DOWNLOADS}/shaderc.git
- WORKING_DIRECTORY ${DOWNLOADS}
- LOGNAME clone
- )
-endif()
-if(NOT EXISTS "${SOURCE_PATH}/.git")
- message(STATUS "Adding worktree and patching")
- file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR})
- vcpkg_execute_required_process(
- COMMAND ${GIT} worktree add -f --detach ${SOURCE_PATH} ${SHADERC_GIT_REF}
- WORKING_DIRECTORY ${DOWNLOADS}/shaderc.git
- LOGNAME worktree
- )
- message(STATUS "Patching")
- vcpkg_execute_required_process(
- COMMAND ${GIT} apply ${CMAKE_CURRENT_LIST_DIR}/0001-Do-not-generate-build-version.inc.patch --ignore-whitespace --whitespace=fix
- WORKING_DIRECTORY ${SOURCE_PATH}
- LOGNAME patch
- )
-endif()
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001-Do-not-generate-build-version.inc.patch
+)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/third_party/glslang)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists_spirv.txt DESTINATION ${SOURCE_PATH}/third_party/spirv-tools)
@@ -69,10 +53,7 @@ file(COPY ${EXES} DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
#Safe to remove as libs are static
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
-
-
-file(WRITE ${CURRENT_PACKAGES_DIR}/include/shaderc.txt)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/shaderc)
diff --git a/ports/shapelib/CONTROL b/ports/shapelib/CONTROL
new file mode 100644
index 000000000..7d37eb8aa
--- /dev/null
+++ b/ports/shapelib/CONTROL
@@ -0,0 +1,3 @@
+Source: shapelib
+Version: 1.4.1
+Description: Shapefile C Library is simple C API for reading and writing ESRI Shapefiles
diff --git a/ports/shapelib/portfile.cmake b/ports/shapelib/portfile.cmake
new file mode 100644
index 000000000..0f2787689
--- /dev/null
+++ b/ports/shapelib/portfile.cmake
@@ -0,0 +1,41 @@
+include(vcpkg_common_functions)
+
+set(SHAPELIB_VERSION 1.4.1)
+set(SHAPELIB_HASH e3e02dde8006773fed25d630896e79fd79d2008a029cc86b157fe0d92c143a9fab930fdb93d9700d4e1397c3b23ae4b86e91db1dbaca1c5388d4e3aea0309341)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/shapelib-${SHAPELIB_VERSION})
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://download.osgeo.org/shapelib/shapelib-${SHAPELIB_VERSION}.zip"
+ FILENAME "shapelib-${SHAPELIB_VERSION}.zip"
+ SHA512 ${SHAPELIB_HASH}
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS -DBUILD_TEST=OFF)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+file(GLOB EXES "${CURRENT_PACKAGES_DIR}/bin/*.exe")
+file(COPY ${EXES} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/shapelib)
+file(REMOVE ${EXES})
+
+file(GLOB DEBUG_EXES "${CURRENT_PACKAGES_DIR}/debug/bin/*.exe")
+file(REMOVE ${DEBUG_EXES})
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/shapelib)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/shapelib/COPYING ${CURRENT_PACKAGES_DIR}/share/shapelib/copyright)
+
+vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/shapelib)
+
+vcpkg_copy_pdbs()
diff --git a/ports/signalrclient/CONTROL b/ports/signalrclient/CONTROL
index a5673e964..babcce692 100644
--- a/ports/signalrclient/CONTROL
+++ b/ports/signalrclient/CONTROL
@@ -1,4 +1,4 @@
Source: signalrclient
-Version: 1.0.0-beta1
+Version: 1.0.0-beta1-1
Build-Depends: cpprestsdk
-Description: C++ client for SignalR. \ No newline at end of file
+Description: C++ client for SignalR.
diff --git a/ports/signalrclient/portfile.cmake b/ports/signalrclient/portfile.cmake
index 22e91acab..ad7f4fd58 100644
--- a/ports/signalrclient/portfile.cmake
+++ b/ports/signalrclient/portfile.cmake
@@ -4,7 +4,7 @@ set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SignalR-Client-Cpp-1.0.0-beta1)
vcpkg_download_distfile(ARCHIVE
URLS "https://github.com/aspnet/SignalR-Client-Cpp/archive/1.0.0-beta1.tar.gz"
FILENAME "SignalR-Client-Cpp-1.0.0-beta1.tar.gz"
- SHA512 e0090415aa724087dbe2a317a4642d6359b134e00e836ea70c71bc9186dc8d6bba097666711ab18d9b0a390e1e5f59be2f55279b6859ac20d558b901bf5fe2f2
+ SHA512 b38f6f946f1499080071949cbcf574405118f9acfb469441e5b5b0df3e5f0d277a83b30e0d613dc5e54732b9071e3273dac1ee65129f994d5a60eef0e45bdf6c
)
vcpkg_extract_source_archive(${ARCHIVE})
@@ -31,4 +31,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
# copy license
file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/signalrclient)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/signalrclient/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/signalrclient/copyright) \ No newline at end of file
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/signalrclient/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/signalrclient/copyright)
diff --git a/ports/smpeg2/CONTROL b/ports/smpeg2/CONTROL
index 26c0b3904..9d00d9429 100644
--- a/ports/smpeg2/CONTROL
+++ b/ports/smpeg2/CONTROL
@@ -1,4 +1,4 @@
Source: smpeg2
-Version: 2.0.0-1
+Version: 2.0.0-2
Description: SDL MPEG Player Library
Build-Depends: sdl2
diff --git a/ports/snappy/CONTROL b/ports/snappy/CONTROL
index 287c9235e..230383955 100644
--- a/ports/snappy/CONTROL
+++ b/ports/snappy/CONTROL
@@ -1,3 +1,3 @@
Source: snappy
-Version: 1.1.7
+Version: 1.1.7-1
Description: A fast compressor/decompressor.
diff --git a/ports/sobjectizer/CONTROL b/ports/sobjectizer/CONTROL
index 9b9bd724e..95bcb751b 100644
--- a/ports/sobjectizer/CONTROL
+++ b/ports/sobjectizer/CONTROL
@@ -1,3 +1,3 @@
Source: sobjectizer
-Version: 5.5.19.2
+Version: 5.5.19.2-1
Description: SObjectizer is a C++ in-process message dispatching framework with implementation of Actor Model, Publish-Subscribe Model and CSP-like channels.
diff --git a/ports/soci/CONTROL b/ports/soci/CONTROL
index 5480bb712..1d1708a64 100644
--- a/ports/soci/CONTROL
+++ b/ports/soci/CONTROL
@@ -1,3 +1,3 @@
Source: soci
-Version: 2016.10.22
+Version: 2016.10.22-1
Description: SOCI database access library
diff --git a/ports/sophus/CONTROL b/ports/sophus/CONTROL
index 8214c4e7e..f6433e410 100644
--- a/ports/sophus/CONTROL
+++ b/ports/sophus/CONTROL
@@ -1,4 +1,4 @@
Source: sophus
-Version: 1.0.0
+Version: 1.0.0-1
Build-Depends: eigen3, ceres
Description: Lie group library for C++
diff --git a/ports/spdlog/CONTROL b/ports/spdlog/CONTROL
index e060a2665..ac0b51be7 100644
--- a/ports/spdlog/CONTROL
+++ b/ports/spdlog/CONTROL
@@ -1,4 +1,4 @@
Source: spdlog
-Version: 0.14.0
+Version: 0.14.0-1
Description: Very fast, header only, C++ logging library
Build-Depends: fmt
diff --git a/ports/speex/CONTROL b/ports/speex/CONTROL
index 680dcdf13..5d3fa10a2 100644
--- a/ports/speex/CONTROL
+++ b/ports/speex/CONTROL
@@ -1,3 +1,3 @@
Source: speex
-Version: 1.2.0
+Version: 1.2.0-1
Description: Speex is an Open Source/Free Software patent-free audio compression format designed for speech.
diff --git a/ports/speexdsp/CONTROL b/ports/speexdsp/CONTROL
index 71144ecdd..d7e8bac98 100644
--- a/ports/speexdsp/CONTROL
+++ b/ports/speexdsp/CONTROL
@@ -1,4 +1,4 @@
Source: speexdsp
-Version: 1.2rc3-1
+Version: 1.2rc3-2
Description: A patent-free, Open Source/Free Software DSP library.
Build-Depends:
diff --git a/ports/spirit-po/CONTROL b/ports/spirit-po/CONTROL
new file mode 100644
index 000000000..b9857cea0
--- /dev/null
+++ b/ports/spirit-po/CONTROL
@@ -0,0 +1,4 @@
+Source: spirit-po
+Version: 1.1.2
+Description: A header-only C++ library for localization using GNU gettext po files, based on Boost.Spirit.
+Build-Depends: boost
diff --git a/ports/spirit-po/portfile.cmake b/ports/spirit-po/portfile.cmake
new file mode 100644
index 000000000..3fa1cb23b
--- /dev/null
+++ b/ports/spirit-po/portfile.cmake
@@ -0,0 +1,16 @@
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/spirit-po-1.1.2)
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://github.com/cbeck88/spirit-po/archive/v1.1.2.zip"
+ FILENAME "spirit-po-1.1.2.zip"
+ SHA512 8a33126c199765b91e832c64e546f240d532858e051b217189778ad01ef584c67f0f4b2f9674cb7b4a877ec2a2b21b5eda35dc24a12da8eb7a7990bf63a4a774
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+file(INSTALL ${SOURCE_PATH}/include/spirit_po
+ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+
+# spirit-po is header-only, so no vcpkg_{configure,install}_cmake
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/spirit-po RENAME copyright)
diff --git a/ports/spirv-tools/CONTROL b/ports/spirv-tools/CONTROL
index eacc40ff9..da2e2f29b 100644
--- a/ports/spirv-tools/CONTROL
+++ b/ports/spirv-tools/CONTROL
@@ -1,3 +1,3 @@
Source: spirv-tools
-Version: 1.1-f72189c249ba143c6a89a4cf1e7d53337b2ddd40
+Version: v2017.1-dev-7e2d26c77b606b21af839b37fd21381c4a669f23-1
Description: API and commands for processing SPIR-V modules
diff --git a/ports/spirv-tools/portfile.cmake b/ports/spirv-tools/portfile.cmake
index c9bb5f85f..08e35b7d3 100644
--- a/ports/spirv-tools/portfile.cmake
+++ b/ports/spirv-tools/portfile.cmake
@@ -1,68 +1,34 @@
-# 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}
-#
-
include(vcpkg_common_functions)
-find_program(GIT git)
-
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src)
-
-set(GIT_URL "https://github.com/KhronosGroup/SPIRV-Tools.git")
-set(GIT_REF "f72189c249ba143c6a89a4cf1e7d53337b2ddd40")
-
-if(NOT EXISTS "${DOWNLOADS}/spirv-tools.git")
- message(STATUS "Cloning")
- vcpkg_execute_required_process(
- COMMAND ${GIT} clone --bare ${GIT_URL} ${DOWNLOADS}/spirv-tools.git
- WORKING_DIRECTORY ${DOWNLOADS}
- LOGNAME clone
- )
-endif()
-if(NOT EXISTS "${SOURCE_PATH}/.git")
- message(STATUS "Adding worktree and patching")
- file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR})
- vcpkg_execute_required_process(
- COMMAND ${GIT} worktree add -f --detach ${SOURCE_PATH} ${GIT_REF}
- WORKING_DIRECTORY ${DOWNLOADS}/spirv-tools.git
- LOGNAME worktree
- )
- message(STATUS "Patching")
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ message(WARNING "Dynamic not supported. Building static")
+ set(VCPKG_LIBRARY_LINKAGE "static")
endif()
-set(SPIRVHEADERS_GIT_URL "https://github.com/KhronosGroup/SPIRV-Headers.git")
-set(SPIRVHEADERS_GIT_REF "bd47a9abaefac00be692eae677daed1b977e625c")
-
-if(NOT EXISTS "${DOWNLOADS}/SPIRV-Headers.git")
- message(STATUS "Cloning")
- vcpkg_execute_required_process(
- COMMAND ${GIT} clone --bare ${SPIRVHEADERS_GIT_URL} ${DOWNLOADS}/SPIRV-Headers.git
- WORKING_DIRECTORY ${DOWNLOADS}
- LOGNAME clone
- )
-endif()
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO KhronosGroup/SPIRV-Tools
+ REF 7e2d26c77b606b21af839b37fd21381c4a669f23
+ SHA512 67e8fcdcb9748df1e7c86bb50358a89b656f80a96534bc5771afc4ce22e9ebcc8ca382f784fab7b856324d487f810c21abaaab2facee7453c0343a9b51d7e60b
+ HEAD_REF master
+)
-if(NOT EXISTS "${SOURCE_PATH}/external/spirv-headers/.git")
- message(STATUS "Adding worktree and patching")
- file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR})
- vcpkg_execute_required_process(
- COMMAND ${GIT} worktree add -f --detach ${SOURCE_PATH}/external/spirv-headers ${SPIRVHEADERS_GIT_REF}
- WORKING_DIRECTORY ${DOWNLOADS}/SPIRV-Headers.git
- LOGNAME worktree
- )
-endif()
+vcpkg_from_github(
+ OUT_SOURCE_PATH SPIRV_HEADERS_PATH
+ REPO KhronosGroup/SPIRV-Headers
+ REF 2bb92e6fe2c6aa410152fc6c63443f452acb1a65
+ SHA512 cdd1437a67c7e31e2062e5d0f25c767b99a3fadd64b91d00c3b07404e535bb4bfd78a43878ebbcd45e013a7153f1a2c969da99d50a99cc39efab940d0aab7cfd
+ HEAD_REF master
+)
-set(VCPKG_LIBRARY_LINKAGE "static")
+vcpkg_find_acquire_program(PYTHON3)
+get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY)
+set(ENV{PATH} "$ENV{PATH};${PYTHON3_DIR}")
vcpkg_configure_cmake(
- SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src"
- # OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2
- # OPTIONS_RELEASE -DOPTIMIZE=1
- # OPTIONS_DEBUG -DDEBUGGABLE=1
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS -DSPIRV-Headers_SOURCE_DIR=${SPIRV_HEADERS_PATH}
)
vcpkg_install_cmake()
diff --git a/ports/sqlite3/CONTROL b/ports/sqlite3/CONTROL
index d833f02b9..b444a953a 100644
--- a/ports/sqlite3/CONTROL
+++ b/ports/sqlite3/CONTROL
@@ -1,3 +1,3 @@
-Source: sqlite3
-Version: 3.19.1-1
-Description: SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. \ No newline at end of file
+Source: sqlite3
+Version: 3.20.1
+Description: SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.
diff --git a/ports/sqlite3/portfile.cmake b/ports/sqlite3/portfile.cmake
index 768cd83a6..4bb53ef80 100644
--- a/ports/sqlite3/portfile.cmake
+++ b/ports/sqlite3/portfile.cmake
@@ -1,7 +1,7 @@
include(vcpkg_common_functions)
-set(SQLITE_VERSION 3190100)
-set(SQLITE_HASH 14064707d9ca029131ec92863026748e184ad4d6ca9d25e941fc254d9ad24f1451fc5fae6516603a420925aab1736e3fb92085f03d8dc47ec913839e158652c4)
+set(SQLITE_VERSION 3200100)
+set(SQLITE_HASH 66c325fec1c13ed5360899aa3e3a7a67d2b79d24dde954df7df7179c4d07e7b20edf831cc7107df863f3f8b0f30d21b934fcd0f7ea7b74409abbc0060bc28f7b)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/sqlite-amalgamation-${SQLITE_VERSION})
vcpkg_download_distfile(ARCHIVE
diff --git a/ports/suitesparse/CONTROL b/ports/suitesparse/CONTROL
index 000132c37..af5e1b631 100644
--- a/ports/suitesparse/CONTROL
+++ b/ports/suitesparse/CONTROL
@@ -1,4 +1,4 @@
Source: suitesparse
-Version: 4.5.5-2
+Version: 4.5.5-3
Build-Depends: metis, clapack
Description: algebra library
diff --git a/ports/sundials/CONTROL b/ports/sundials/CONTROL
index b1f0c349b..376a430fc 100644
--- a/ports/sundials/CONTROL
+++ b/ports/sundials/CONTROL
@@ -1,3 +1,3 @@
Source: sundials
-Version: 2.7.0
+Version: 2.7.0-1
Description: SUNDIALS (SUite of Nonlinear and DIfferential/ALgebraic equation Solvers)
diff --git a/ports/szip/CONTROL b/ports/szip/CONTROL
index acc364810..c775581ad 100644
--- a/ports/szip/CONTROL
+++ b/ports/szip/CONTROL
@@ -1,3 +1,3 @@
Source: szip
-Version: 2.1-1
+Version: 2.1-2
Description: Szip compression software, providing lossless compression of scientific data
diff --git a/ports/tacopie/CONTROL b/ports/tacopie/CONTROL
index accbf0291..c0464c02b 100644
--- a/ports/tacopie/CONTROL
+++ b/ports/tacopie/CONTROL
@@ -1,3 +1,3 @@
Source: tacopie
-Version: 2.4.1-1
+Version: 2.4.1-2
Description: Tacopie is a TCP Client & Server C++11 library
diff --git a/ports/taglib/CONTROL b/ports/taglib/CONTROL
index dff921020..cc5fdb0f7 100644
--- a/ports/taglib/CONTROL
+++ b/ports/taglib/CONTROL
@@ -1,4 +1,4 @@
Source: taglib
-Version: 1.11.1-3
+Version: 1.11.1-4
Description: TagLib Audio Meta-Data Library
-Build-Depends: zlib \ No newline at end of file
+Build-Depends: zlib
diff --git a/ports/tbb/portfile.cmake b/ports/tbb/portfile.cmake
index d633a9b23..7bde0c416 100644
--- a/ports/tbb/portfile.cmake
+++ b/ports/tbb/portfile.cmake
@@ -14,7 +14,7 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO 01org/tbb
REF 2017_U7
- SHA512 77fdd381eece8fb2fba4115af55d168e9d433bbdae3c21a53c35e7d5ed3397645fe75998ad10593b718f6959daaac05112401480cdb4fd2054f50b5f6f1a0df6
+ SHA512 e4a6fcc3cace9b57061e8661b09af9cb2be721224889af52f4c1b4faec1a130512b7c960e21171ebb8105593a81bd9b80bef20cda91bfac174d535d0f7ccb680
HEAD_REF tbb_2017)
if(TRIPLET_SYSTEM_ARCH STREQUAL x86)
diff --git a/ports/telnetpp/CONTROL b/ports/telnetpp/CONTROL
new file mode 100644
index 000000000..595e1cd88
--- /dev/null
+++ b/ports/telnetpp/CONTROL
@@ -0,0 +1,4 @@
+Source: telnetpp
+Version: 1.2.4
+Description: Telnet++ is an implementation of the Telnet Session Layer protocol using C++14
+Build-Depends: boost, gtest, zlib
diff --git a/ports/telnetpp/portfile.cmake b/ports/telnetpp/portfile.cmake
new file mode 100644
index 000000000..e52d69877
--- /dev/null
+++ b/ports/telnetpp/portfile.cmake
@@ -0,0 +1,47 @@
+if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore)
+ message(FATAL_ERROR "Telnetpp does not currently support UWP")
+endif()
+
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO KazDragon/telnetpp
+ REF v1.2.4
+ SHA512 16879fd377a7d13aac497bc9989c026acc1ed5b4eb9338d151d3d827c7c4c44fab84dd06c5fe55be4efe49a98ea46e62e80bbc51c8503d6ba1bf5534fee16c84
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+# Remove duplicate header files and CMake input file
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/include/telnetpp/version.hpp.in)
+
+# The install target in the upstream package does not install the binary output
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/telnetpp.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/telnetpp.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+# Move CMake installed configuration files and adjust for vcpkg debug location
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/telnetpp/telnetpp-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/telnetpp)
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/telnetpp/telnetpp-config-release.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/telnetpp)
+file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/telnetpp/telnetpp-config-debug.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/telnetpp)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/telnetpp)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/telnetpp)
+
+file(READ ${CURRENT_PACKAGES_DIR}/share/telnetpp/telnetpp-config-debug.cmake DEBUG_CONFIG)
+string(REPLACE "\${_IMPORT_PREFIX}/lib/telnetpp.lib"
+ "\${_IMPORT_PREFIX}/debug/lib/telnetpp.lib" DEBUG_CONFIG ${DEBUG_CONFIG})
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/telnetpp/telnetpp-config-debug.cmake "${DEBUG_CONFIG}")
+
+vcpkg_copy_pdbs()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/telnetpp RENAME COPYRIGHT)
diff --git a/ports/tesseract/CONTROL b/ports/tesseract/CONTROL
new file mode 100644
index 000000000..8aee14808
--- /dev/null
+++ b/ports/tesseract/CONTROL
@@ -0,0 +1,4 @@
+Source: tesseract
+Version: 3.05.01-1
+Description: An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google.
+Build-Depends: leptonica, icu
diff --git a/ports/tesseract/portfile.cmake b/ports/tesseract/portfile.cmake
new file mode 100644
index 000000000..31ed2cd1f
--- /dev/null
+++ b/ports/tesseract/portfile.cmake
@@ -0,0 +1,49 @@
+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()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO tesseract-ocr/tesseract
+ REF 3.05.01
+ SHA512 a49c20c98386684cd89582e57b772811204fad8e5ff18214fb0da109f73629c70845054985e31e8deeb49107fbcf56e546aff661f08eb5dd60fbf83dbe976e81
+ HEAD_REF master
+)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/use-vcpkg-icu.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DSTATIC=ON
+ -DUSE_SYSTEM_ICU=True
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake")
+
+# Install tool
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/tesseract)
+file(COPY ${CURRENT_PACKAGES_DIR}/bin/tesseract.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/tesseract)
+vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/tesseract)
+
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig)
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/tesseract)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/tesseract/LICENSE ${CURRENT_PACKAGES_DIR}/share/tesseract/copyright)
diff --git a/ports/tesseract/use-vcpkg-icu.patch b/ports/tesseract/use-vcpkg-icu.patch
new file mode 100644
index 000000000..9c75726e1
--- /dev/null
+++ b/ports/tesseract/use-vcpkg-icu.patch
@@ -0,0 +1,11 @@
+--- a/training/CMakeLists.txt Thu Aug 17 02:46:15 2017
++++ b/training/CMakeLists.txt Thu Aug 17 02:46:15 2017
+@@ -11,7 +11,7 @@
+ endif()
+
+ # experimental
+-if (MSVC AND NOT CPPAN_BUILD)
++if (MSVC AND NOT CPPAN_BUILD AND NOT USE_SYSTEM_ICU)
+
+ include(CheckTypeSize)
+ check_type_size("void *" SIZEOF_VOID_P)
diff --git a/ports/theia/CONTROL b/ports/theia/CONTROL
index 554009d2d..56e2181a3 100644
--- a/ports/theia/CONTROL
+++ b/ports/theia/CONTROL
@@ -1,4 +1,4 @@
Source: theia
-Version: 0.7-d15154a
+Version: 0.7-d15154a-1
Build-Depends: flann, cereal, ceres, openimageio, glew, freeglut
-Description: An open source library for multiview geometry and structure from motion \ No newline at end of file
+Description: An open source library for multiview geometry and structure from motion
diff --git a/ports/theia/portfile.cmake b/ports/theia/portfile.cmake
index a45089225..8ac920d57 100644
--- a/ports/theia/portfile.cmake
+++ b/ports/theia/portfile.cmake
@@ -9,7 +9,7 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO sweeneychris/TheiaSfM
REF d15154a6c30ea48e7d135be126e2936802e476ad
- SHA512 e3cb29b1806b6d2ed161c28432ad8788f756e03db55f883bfa2c4b389b506aa46909f0de57460e93e38926d8103382c54f51685bb9035688e4c7378f913c2de0
+ SHA512 aaf6e9737d04499f0ffd453952380f2e1aa3aab2a75487d6806bfab60aa972719d7349730eab3d1b37088e99cf6c9076ae1cdea276f48532698226c69ac48977
HEAD_REF master
)
diff --git a/ports/thor/CONTROL b/ports/thor/CONTROL
index 46396427b..9ad978099 100644
--- a/ports/thor/CONTROL
+++ b/ports/thor/CONTROL
@@ -1,4 +1,4 @@
Source: thor
-Version: v2.0
+Version: v2.0-1
Description: Extends the multimedia library SFML with higher-level features
Build-Depends: sfml, aurora
diff --git a/ports/thrift/CONTROL b/ports/thrift/CONTROL
index aef580f73..d7831632e 100644
--- a/ports/thrift/CONTROL
+++ b/ports/thrift/CONTROL
@@ -1,4 +1,4 @@
Source: thrift
-Version: 20172805-72ca60debae1d9fb35d9f0085118873669006d7f
+Version: 20172805-72ca60debae1d9fb35d9f0085118873669006d7f-1
Build-Depends: boost, zlib, libevent, openssl
Description: Apache Thrift is a software project spanning a variety of programming languages and use cases. Our goal is to make reliable, performant communication and data serialization across languages as efficient and seamless as possible. Originally developed at Facebook, Thrift was open sourced in April 2007 and entered the Apache Incubator in May, 2008. Thrift became an Apache TLP in October, 2010.
diff --git a/ports/thrift/portfile.cmake b/ports/thrift/portfile.cmake
index 94e8201bf..3cb280462 100644
--- a/ports/thrift/portfile.cmake
+++ b/ports/thrift/portfile.cmake
@@ -16,7 +16,7 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO apache/thrift
REF 72ca60debae1d9fb35d9f0085118873669006d7f
- SHA512 6050c66b176ad596d9632b224b8fb49aa3b823c977dacad729dbcdefb0da60eb983d3a32d9326b4317bae6755fb1fc4cee2cc6c282b3e1636a4528844c0f5915
+ SHA512 65023690ff04376e9e64c3e9a609640a6416a39a08bb26d31ec8799ec462bbf8631620edf9a10cdf13980b13813304263601598258cf27bbd5027f9f755c49fa
HEAD_REF master
)
diff --git a/ports/tiff/CONTROL b/ports/tiff/CONTROL
index f5727b475..0222fa809 100644
--- a/ports/tiff/CONTROL
+++ b/ports/tiff/CONTROL
@@ -1,4 +1,4 @@
Source: tiff
-Version: 4.0.8
+Version: 4.0.8-1
Build-Depends: zlib, libjpeg-turbo, liblzma (windows)
Description: A library that supports the manipulation of TIFF image files
diff --git a/ports/tinyexr/portfile.cmake b/ports/tinyexr/portfile.cmake
index bf725cddd..6ef6439d5 100644
--- a/ports/tinyexr/portfile.cmake
+++ b/ports/tinyexr/portfile.cmake
@@ -4,7 +4,7 @@ set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/tinyexr-d16ea6347ae78bcee984fb57ca
vcpkg_download_distfile(ARCHIVE
URLS "https://github.com/syoyo/tinyexr/archive/d16ea6347ae78bcee984fb57cab1f023aeda4fb0.tar.gz"
FILENAME "tinyexr-v0.9.5-d16ea6.tar.gz"
- SHA512 189ab04f6c5fb50c20ac0515a83ee16cba4b0f1bca004db2926281077868d1384e0c54f81768a54b76286a17c1b0c45a0b82acaf22b7ee843dc87c654b09e950
+ SHA512 63399688d7894f9ac4b893b2142202b36108b5029b11c40c3f9ad0f0135625fb0c8e0d54cec88d92c016774648dc829a946d9575c5f19afea56542c00759546e
)
vcpkg_extract_source_archive(${ARCHIVE})
diff --git a/ports/tinythread/CMakeLists.txt b/ports/tinythread/CMakeLists.txt
new file mode 100644
index 000000000..ec8b3634c
--- /dev/null
+++ b/ports/tinythread/CMakeLists.txt
@@ -0,0 +1,25 @@
+cmake_minimum_required(VERSION 3.8.0)
+
+project(tinythread)
+
+if(MSVC)
+ add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS)
+endif()
+
+if(BUILD_SHARED_LIBS)
+ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
+endif()
+
+include_directories(source)
+
+add_library(tinythread source/tinythread.cpp)
+
+install(
+ TARGETS tinythread
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(FILES source/tinythread.h source/fast_mutex.h DESTINATION include)
+endif()
diff --git a/ports/tinythread/CONTROL b/ports/tinythread/CONTROL
new file mode 100644
index 000000000..d438e8721
--- /dev/null
+++ b/ports/tinythread/CONTROL
@@ -0,0 +1,3 @@
+Source: tinythread
+Version: 1.1-1
+Description: Implements a fairly compatible subset of the C++11 thread management classes
diff --git a/ports/tinythread/portfile.cmake b/ports/tinythread/portfile.cmake
new file mode 100644
index 000000000..23903e30e
--- /dev/null
+++ b/ports/tinythread/portfile.cmake
@@ -0,0 +1,21 @@
+include(vcpkg_common_functions)
+set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/TinyThread++-1.1")
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://tinythreadpp.bitsnbites.eu/files/TinyThread%2B%2B-1.1-src.tar.bz2"
+ FILENAME "TinyThread++-1.1.tar.bz2"
+ SHA512 407f54fcf3f68dd7fec25e9e0749a1803dffa5d52d606905155714d29f519b5eae64ff654b11768fecc32c0123a78c48be37c47993e0caf157a63349a2f869c6
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON
+)
+
+vcpkg_install_cmake()
+
+file(INSTALL "${SOURCE_PATH}/README.txt" DESTINATION ${CURRENT_PACKAGES_DIR}/share/tinythread RENAME copyright)
diff --git a/ports/tinyxml/0001_use_stl.patch b/ports/tinyxml/0001_use_stl.patch
new file mode 100644
index 000000000..a36f930ee
--- /dev/null
+++ b/ports/tinyxml/0001_use_stl.patch
@@ -0,0 +1,27 @@
+From 5ca492fee93015411a0f10e0b2f1d3503bf962a1 Mon Sep 17 00:00:00 2001
+From: Mikhail Paulyshka <me@mixaill.tk>
+Date: Sun, 3 Sep 2017 21:43:36 +0300
+Subject: [PATCH] enforce STL usage
+
+---
+ tinyxml.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/tinyxml.h b/tinyxml.h
+index a3589e5..7195033 100644
+--- a/tinyxml.h
++++ b/tinyxml.h
+@@ -43,6 +43,10 @@ distribution.
+ #define DEBUG
+ #endif
+
++#ifndef TIXML_USE_STL
++#define TIXML_USE_STL
++#endif
++
+ #ifdef TIXML_USE_STL
+ #include <string>
+ #include <iostream>
+--
+2.12.2.windows.2
+
diff --git a/ports/tinyxml/CMakeLists.txt b/ports/tinyxml/CMakeLists.txt
new file mode 100644
index 000000000..9b55aa717
--- /dev/null
+++ b/ports/tinyxml/CMakeLists.txt
@@ -0,0 +1,25 @@
+cmake_minimum_required(VERSION 3.4)
+project(tinyxml)
+
+set(HEADERS "tinyxml.h")
+
+set(SOURCES "tinyxml.cpp"
+ "tinyxmlerror.cpp"
+ "tinyxmlparser.cpp"
+)
+
+option(BUILD_SHARED_LIBS "Build shared libs" OFF)
+
+set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
+
+add_library(tinyxml ${SOURCES})
+target_compile_definitions(tinyxml PRIVATE "-DTIXML_USE_STL")
+
+install(
+ TARGETS tinyxml
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+ RUNTIME DESTINATION bin
+)
+
+install(FILES ${HEADERS} DESTINATION include)
diff --git a/ports/tinyxml/CONTROL b/ports/tinyxml/CONTROL
new file mode 100644
index 000000000..3d97a3312
--- /dev/null
+++ b/ports/tinyxml/CONTROL
@@ -0,0 +1,3 @@
+Source: tinyxml
+Version: 2.6.2-2
+Description: A simple, small, minimal, C++ XML parser that can be easily integrating into other programs.
diff --git a/ports/tinyxml/License.txt b/ports/tinyxml/License.txt
new file mode 100644
index 000000000..2987cf75f
--- /dev/null
+++ b/ports/tinyxml/License.txt
@@ -0,0 +1,20 @@
+TinyXML is released under the zlib license:
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any
+damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any
+purpose, including commercial applications, and to alter it and
+redistribute it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must
+not claim that you wrote the original software. If you use this
+software in a product, an acknowledgment in the product documentation
+would be appreciated but is not required.
+
+2. Altered source versions must be plainly marked as such, and
+must not be misrepresented as being the original software.
+
+3. This notice may not be removed or altered from any source
+distribution. \ No newline at end of file
diff --git a/ports/tinyxml/portfile.cmake b/ports/tinyxml/portfile.cmake
new file mode 100644
index 000000000..54d462bb4
--- /dev/null
+++ b/ports/tinyxml/portfile.cmake
@@ -0,0 +1,30 @@
+include(vcpkg_common_functions)
+
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/tinyxml)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://sourceforge.net/projects/tinyxml/files/tinyxml/2.6.2/tinyxml_2_6_2.tar.gz"
+ FILENAME "tinyxml_2_6_2.tar.gz"
+ SHA512 133b5db06131a90ad0c2b39b0063f1c8e65e67288a7e5d67e1f7d9ba32af10dc5dfa0462f9723985ee27debe8f09a10a25d4b5a5aaff2ede979b1cebe8e59d56
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/0001_use_stl.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/tinyxml RENAME copyright)
diff --git a/ports/tinyxml2/CONTROL b/ports/tinyxml2/CONTROL
index aaa9a7c4f..c2b75c438 100644
--- a/ports/tinyxml2/CONTROL
+++ b/ports/tinyxml2/CONTROL
@@ -1,3 +1,3 @@
Source: tinyxml2
-Version: 5.0.1
+Version: 5.0.1-1
Description: A simple, small, efficient, C++ XML parser
diff --git a/ports/units/CONTROL b/ports/units/CONTROL
new file mode 100644
index 000000000..b66a3b828
--- /dev/null
+++ b/ports/units/CONTROL
@@ -0,0 +1,3 @@
+Source: units
+Version: 2.3.0
+Description: A compile-time, header-only, dimensional analysis and unit conversion library built on c++14 with no dependencies.
diff --git a/ports/units/portfile.cmake b/ports/units/portfile.cmake
new file mode 100644
index 000000000..910626f6d
--- /dev/null
+++ b/ports/units/portfile.cmake
@@ -0,0 +1,25 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO nholthaus/units
+ REF v2.3.0
+ SHA512 1b9d7806e82d0f437574562e647077b6d22c0add81a19b5ec71f53ab608642db2d785a70d03d13cb2eeea2a8bc2d20f112b6bdf49acf0afce44e8e07bb6b7c39
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA # Disable this option if project cannot be built with Ninja
+ OPTIONS -DBUILD_TESTS=OFF
+)
+
+vcpkg_install_cmake()
+
+# Handle copyright/readme/package files
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/units RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/units)
+file(RENAME ${CURRENT_PACKAGES_DIR}/cmake/unitsConfig.cmake ${CURRENT_PACKAGES_DIR}/share/units/unitsConfig.cmake)
+
+# remove uneeded directories
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/cmake)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) \ No newline at end of file
diff --git a/ports/urdfdom-headers/CONTROL b/ports/urdfdom-headers/CONTROL
new file mode 100644
index 000000000..0b967f459
--- /dev/null
+++ b/ports/urdfdom-headers/CONTROL
@@ -0,0 +1,3 @@
+Source: urdfdom-headers
+Version: 1.0.0-2
+Description: The URDF (U-Robot Description Format) headers provides core data structure headers for URDF.
diff --git a/ports/urdfdom-headers/portfile.cmake b/ports/urdfdom-headers/portfile.cmake
new file mode 100644
index 000000000..eb2c9020e
--- /dev/null
+++ b/ports/urdfdom-headers/portfile.cmake
@@ -0,0 +1,25 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ros/urdfdom_headers
+ REF 1.0.0
+ SHA512 b1f63c1a13f062c987d6be4fcea5eea903577a710d44fdce077722b70d72eb65a265131beac1fdeba576bde189ebf51ac0eb19b2b06a34b0f9fb9dcbd437291a
+ HEAD_REF master
+ )
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake")
+
+# The config files for this project use underscore
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/urdfdom-headers ${CURRENT_PACKAGES_DIR}/share/urdfdom_headers)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/)
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/urdfdom-headers RENAME copyright)
diff --git a/ports/urdfdom/0001_use_math_defines.patch b/ports/urdfdom/0001_use_math_defines.patch
new file mode 100644
index 000000000..b791533aa
--- /dev/null
+++ b/ports/urdfdom/0001_use_math_defines.patch
@@ -0,0 +1,26 @@
+From a374a5b04db27fde58a11cc2ba5ea10a0d0a7dad Mon Sep 17 00:00:00 2001
+From: Mikhail Paulyshka <me@mixaill.tk>
+Date: Sun, 3 Sep 2017 23:24:55 +0300
+Subject: [PATCH] define _USE_MATH_DEFINES
+
+---
+ urdf_parser/CMakeLists.txt | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/urdf_parser/CMakeLists.txt b/urdf_parser/CMakeLists.txt
+index 333226e..2158965 100644
+--- a/urdf_parser/CMakeLists.txt
++++ b/urdf_parser/CMakeLists.txt
+@@ -1,5 +1,9 @@
+ include_directories(include)
+
++if(MSVC)
++add_definitions(-D_USE_MATH_DEFINES)
++endif()
++
+ add_library(urdfdom_world SHARED src/pose.cpp src/model.cpp src/link.cpp src/joint.cpp src/world.cpp)
+ target_link_libraries(urdfdom_world ${TinyXML_LIBRARIES} ${console_bridge_LIBRARIES})
+ set_target_properties(urdfdom_world PROPERTIES SOVERSION ${URDF_MAJOR_MINOR_VERSION})
+--
+2.12.2.windows.2
+
diff --git a/ports/urdfdom/0002_fix_exports.patch b/ports/urdfdom/0002_fix_exports.patch
new file mode 100644
index 000000000..727883f8d
--- /dev/null
+++ b/ports/urdfdom/0002_fix_exports.patch
@@ -0,0 +1,29 @@
+From 06aa5a06ee543102bf1a4057601adba3490dad60 Mon Sep 17 00:00:00 2001
+From: Mikhail Paulyshka <me@mixaill.tk>
+Date: Sun, 3 Sep 2017 23:55:11 +0300
+Subject: [PATCH] fix exports
+
+---
+ urdf_parser/CMakeLists.txt | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/urdf_parser/CMakeLists.txt b/urdf_parser/CMakeLists.txt
+index 2158965..c209228 100644
+--- a/urdf_parser/CMakeLists.txt
++++ b/urdf_parser/CMakeLists.txt
+@@ -15,10 +15,12 @@ set_target_properties(urdfdom_model PROPERTIES SOVERSION ${URDF_MAJOR_MINOR_VERS
+ add_library(urdfdom_sensor SHARED src/urdf_sensor.cpp)
+ target_link_libraries(urdfdom_sensor urdfdom_model ${TinyXML_LIBRARIES} ${console_bridge_LIBRARIES})
+ set_target_properties(urdfdom_sensor PROPERTIES SOVERSION ${URDF_MAJOR_MINOR_VERSION})
++set_target_properties(urdfdom_sensor PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
+
+ add_library(urdfdom_model_state SHARED src/urdf_model_state.cpp src/twist.cpp)
+ target_link_libraries(urdfdom_model_state ${TinyXML_LIBRARIES} ${console_bridge_LIBRARIES})
+ set_target_properties(urdfdom_model_state PROPERTIES SOVERSION ${URDF_MAJOR_MINOR_VERSION})
++set_target_properties(urdfdom_model_state PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
+
+ # --------------------------------
+
+--
+2.12.2.windows.2
+
diff --git a/ports/urdfdom/CONTROL b/ports/urdfdom/CONTROL
new file mode 100644
index 000000000..71e036251
--- /dev/null
+++ b/ports/urdfdom/CONTROL
@@ -0,0 +1,4 @@
+Source: urdfdom
+Version: 1.0.0-2
+Description: Provides core data structures and a simple XML parsers for populating the class data structures from an URDF file.
+Build-Depends: console-bridge, tinyxml, urdfdom-headers
diff --git a/ports/urdfdom/portfile.cmake b/ports/urdfdom/portfile.cmake
new file mode 100644
index 000000000..bf0568f8c
--- /dev/null
+++ b/ports/urdfdom/portfile.cmake
@@ -0,0 +1,51 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ message(STATUS "urdfdom does not support static linkage. Building dynamically.")
+ set(VCPKG_LIBRARY_LINKAGE dynamic)
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ros/urdfdom
+ REF 1.0.0
+ SHA512 50a218e596bcc0cecff904db2fa626bebc3902c4fe1f5ff8e08195e462b4d9a8c416a41f4773cabbcc71490060d3feff7e8528a76b824569dc7fdb0bda01ec3f
+ HEAD_REF master
+)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/0001_use_math_defines.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0002_fix_exports.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake")
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
+
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/)
+file(RENAME ${CURRENT_PACKAGES_DIR}/bin/ ${CURRENT_PACKAGES_DIR}/tools/urdfdom/)
+
+file(GLOB URDFDOM_DLLS_DEBUG ${CURRENT_PACKAGES_DIR}/debug/lib/*.dll)
+foreach(URDFDOM_DLL_DEBUG ${URDFDOM_DLLS_DEBUG})
+ file(COPY ${URDFDOM_DLL_DEBUG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(REMOVE ${URDFDOM_DLL_DEBUG})
+endforeach()
+
+file(GLOB URDFDOM_DLLS_RELEASE ${CURRENT_PACKAGES_DIR}/lib/*.dll)
+foreach(URDFDOM_DLL_RELEASE ${URDFDOM_DLLS_RELEASE})
+ file(COPY ${URDFDOM_DLL_RELEASE} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ file(REMOVE ${URDFDOM_DLL_RELEASE})
+endforeach()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/urdfdom RENAME copyright)
diff --git a/ports/uriparser/CONTROL b/ports/uriparser/CONTROL
index 7bba4c357..76f975dad 100644
--- a/ports/uriparser/CONTROL
+++ b/ports/uriparser/CONTROL
@@ -1,3 +1,3 @@
Source: uriparser
-Version: 0.8.4
+Version: 0.8.4-1
Description: uriparser is a strictly RFC 3986 compliant URI parsing and handling library written in C. uriparser is cross-platform, fast, supports Unicode
diff --git a/ports/utf8proc/CONTROL b/ports/utf8proc/CONTROL
index 1dcbbbef1..84acd8986 100644
--- a/ports/utf8proc/CONTROL
+++ b/ports/utf8proc/CONTROL
@@ -1,3 +1,3 @@
Source: utf8proc
-Version: 2.1.0
+Version: 2.1.0-1
Description: Clean C library for processing UTF-8 Unicode data.
diff --git a/ports/utfz/CONTROL b/ports/utfz/CONTROL
index 26344d928..fd1854467 100644
--- a/ports/utfz/CONTROL
+++ b/ports/utfz/CONTROL
@@ -1,3 +1,3 @@
Source: utfz
-Version: 1.2
+Version: 1.2-1
Description: A tiny C++ library for parsing and encoding utf-8
diff --git a/ports/uwebsockets/CONTROL b/ports/uwebsockets/CONTROL
index 4faab5bfe..3e202f42b 100644
--- a/ports/uwebsockets/CONTROL
+++ b/ports/uwebsockets/CONTROL
@@ -1,4 +1,4 @@
Source: uwebsockets
-Version: 0.14.4
+Version: 0.14.4-1
Build-Depends: libuv, openssl, zlib, boost
Description: Highly scalable cross-platform WebSocket & HTTP library for C++11 and Node.js
diff --git a/ports/vtk/CONTROL b/ports/vtk/CONTROL
index 652c27700..284ccecd3 100644
--- a/ports/vtk/CONTROL
+++ b/ports/vtk/CONTROL
@@ -1,4 +1,4 @@
Source: vtk
-Version: 8.0.0-1
+Version: 8.0.0-2
Description: Software system for 3D computer graphics, image processing, and visualization
-Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, qt5, msmpi, libjpeg-turbo, proj, lz4, libtheora
+Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, qt5, msmpi, libjpeg-turbo, proj4, lz4, libtheora
diff --git a/ports/wildmidi/0001-add-install-target.patch b/ports/wildmidi/0001-add-install-target.patch
new file mode 100644
index 000000000..8270cd9ea
--- /dev/null
+++ b/ports/wildmidi/0001-add-install-target.patch
@@ -0,0 +1,30 @@
+--- a/src/CMakeLists.txt 2017-10-02 14:06:57.163881000 +0000
++++ b/src/CMakeLists.txt 2017-10-02 14:08:52.815977600 +0000
+@@ -313,6 +313,27 @@
+ ENDIF (WIN32 AND CMAKE_COMPILER_IS_MINGW)
+
+ IF (WIN32 AND MSVC)
++ # install our libraries
++ IF (WANT_STATIC)
++ INSTALL(TARGETS libwildmidi_static DESTINATION ${WILDMIDILIB_INSTALLDIR})
++ IF (WANT_PLAYERSTATIC)
++ INSTALL(TARGETS wildmidi-static DESTINATION bin)
++ ENDIF ()
++ ENDIF (WANT_STATIC)
++
++ IF (BUILD_SHARED_LIBS)
++ INSTALL(TARGETS libwildmidi_dynamic
++ ARCHIVE DESTINATION ${WILDMIDILIB_INSTALLDIR}
++ LIBRARY DESTINATION ${WILDMIDILIB_INSTALLDIR}
++ RUNTIME DESTINATION ${WILDMIDIDLL_INSTALLDIR}
++ )
++ IF (WANT_PLAYER)
++ INSTALL(TARGETS wildmidi DESTINATION bin)
++ ENDIF ()
++ ENDIF ()
++
++ INSTALL(FILES ${CMAKE_SOURCE_DIR}/include/wildmidi_lib.h DESTINATION include)
++
+ IF (WANT_MP_BUILD)
+ SET(MT_BUILD "/MP")
+ ENDIF ()
diff --git a/ports/wildmidi/0002-use-ansi.patch b/ports/wildmidi/0002-use-ansi.patch
new file mode 100644
index 000000000..68acb7b34
--- /dev/null
+++ b/ports/wildmidi/0002-use-ansi.patch
@@ -0,0 +1,22 @@
+diff --git a/src/file_io.c b/src/file_io.c
+index 9db9759..7110e8b 100644
+--- a/src/file_io.c
++++ b/src/file_io.c
+@@ -118,7 +118,7 @@ void *_WM_BufferFile(const char *filename, uint32_t *size) {
+ #elif defined(_WIN32)
+ int buffer_fd;
+ HANDLE h;
+- WIN32_FIND_DATA wfd;
++ WIN32_FIND_DATAA wfd;
+ #elif defined(__OS2__) || defined(__EMX__)
+ int buffer_fd;
+ HDIR h = HDIR_CREATE;
+@@ -186,7 +186,7 @@ void *_WM_BufferFile(const char *filename, uint32_t *size) {
+ }
+ *size = f.ff_fsize;
+ #elif defined(_WIN32)
+- if ((h = FindFirstFile(buffer_file, &wfd)) == INVALID_HANDLE_VALUE) {
++ if ((h = FindFirstFileA(buffer_file, &wfd)) == INVALID_HANDLE_VALUE) {
+ _WM_GLOBAL_ERROR(__FUNCTION__, __LINE__, WM_ERR_STAT, filename, ENOENT);
+ free(buffer_file);
+ return NULL;
diff --git a/ports/wildmidi/CONTROL b/ports/wildmidi/CONTROL
new file mode 100644
index 000000000..116333ec1
--- /dev/null
+++ b/ports/wildmidi/CONTROL
@@ -0,0 +1,3 @@
+Source: wildmidi
+Version: 0.4.1
+Description: MIDI software synthesizer library.
diff --git a/ports/wildmidi/portfile.cmake b/ports/wildmidi/portfile.cmake
new file mode 100644
index 000000000..d82895de4
--- /dev/null
+++ b/ports/wildmidi/portfile.cmake
@@ -0,0 +1,51 @@
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/wildmidi-wildmidi-0.4.1)
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://github.com/Mindwerks/wildmidi/archive/wildmidi-0.4.1.zip"
+ FILENAME "wildmidi-0.4.1.zip"
+ SHA512 ebfbb16b57c0d39f1402f91df4dd205d80f5632f6afbe5fa99af6f06279582f0676bb247cd64ec472cdf272f6a1a2917827ed98f9cc24166aa41f050b9f7d396
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/0001-add-install-target.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0002-use-ansi.patch
+)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ set(BUILD_SHARED_LIBS "ON")
+ set(WANT_STATIC "OFF")
+else()
+ set(BUILD_SHARED_LIBS "OFF")
+ set(WANT_STATIC "ON")
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DMSVC=ON
+ -DWANT_PLAYER=OFF
+ -DWANT_STATIC=${WANT_STATIC}
+ -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+# Rename library to get rid of _dynamic and _static suffix
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/wildmidi_dynamic.lib ${CURRENT_PACKAGES_DIR}/lib/wildmidi.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/wildmidi_dynamic.lib ${CURRENT_PACKAGES_DIR}/debug/lib/wildmidi.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/wildmidi_dynamic.dll ${CURRENT_PACKAGES_DIR}/bin/wildmidi.dll)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/bin/wildmidi_dynamic.dll ${CURRENT_PACKAGES_DIR}/debug/bin/wildmidi.dll)
+else()
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/wildmidi_static.lib ${CURRENT_PACKAGES_DIR}/lib/wildmidi.lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/wildmidi_static.lib ${CURRENT_PACKAGES_DIR}/debug/lib/wildmidi.lib)
+endif()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/docs/license/LGPLv3.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/wildmidi RENAME copyright)
diff --git a/ports/winpcap/CONTROL b/ports/winpcap/CONTROL
new file mode 100644
index 000000000..3a09db558
--- /dev/null
+++ b/ports/winpcap/CONTROL
@@ -0,0 +1,3 @@
+Source: winpcap
+Version: 4.1.3-1
+Description: WinPcap is the industry-standard tool for link-layer network access in Windows environments.
diff --git a/ports/winpcap/create_bin.bat b/ports/winpcap/create_bin.bat
new file mode 100644
index 000000000..aa9e7f106
--- /dev/null
+++ b/ports/winpcap/create_bin.bat
@@ -0,0 +1,20 @@
+@echo off
+
+IF "%2"=="" (set WPDPACKDESTDIR=.\WpdPack\) ELSE (set WPDPACKDESTDIR=%2)
+
+IF ""=="%1" (set WINPCAPSOURCEDIR=.\) ELSE (set WINPCAPSOURCEDIR=%1)
+
+echo Creating \Lib folder
+mkdir %WPDPACKDESTDIR% >nul 2>nul
+mkdir %WPDPACKDESTDIR%\Bin >nul 2>nul
+mkdir %WPDPACKDESTDIR%\Bin\x64 >nul 2>nul
+
+xcopy /v /Y "%WINPCAPSOURCEDIR%\wpcap\PRJ\Release No AirPcap\x86\wpcap.dll" %WPDPACKDESTDIR%\Bin\ >nul
+xcopy /v /Y "%WINPCAPSOURCEDIR%\wpcap\PRJ\Release No AirPcap\x64\wpcap.dll" %WPDPACKDESTDIR%\Bin\x64 >nul
+xcopy /v /Y %WINPCAPSOURCEDIR%\packetNtx\Dll\Project\Release\x86\packet.dll %WPDPACKDESTDIR%\Bin\ >nul
+xcopy /v /Y %WINPCAPSOURCEDIR%\packetNtx\Dll\Project\Release\x64\packet.dll %WPDPACKDESTDIR%\Bin\x64 >nul
+
+echo Folder \Bin created successfully
+
+set WPDPACKDESTDIR=
+set WINPCAPSOURCEDIR= \ No newline at end of file
diff --git a/ports/winpcap/create_lib.patch b/ports/winpcap/create_lib.patch
new file mode 100644
index 000000000..8e144fa3d
--- /dev/null
+++ b/ports/winpcap/create_lib.patch
@@ -0,0 +1,19 @@
+diff --git a/create_lib.bat b/create_lib.bat
+index dbe511c..d431b88 100644
+--- a/create_lib.bat
++++ b/create_lib.bat
+@@ -9,12 +9,10 @@ mkdir %WPDPACKDESTDIR% >nul 2>nul
+ mkdir %WPDPACKDESTDIR%\Lib >nul 2>nul
+ mkdir %WPDPACKDESTDIR%\Lib\x64 >nul 2>nul
+
+-xcopy /v /Y %WINPCAPSOURCEDIR%\wpcap\PRJ\Release\x86\wpcap.lib %WPDPACKDESTDIR%\Lib\ >nul
+-xcopy /v /Y %WINPCAPSOURCEDIR%\wpcap\PRJ\Release\x64\wpcap.lib %WPDPACKDESTDIR%\Lib\x64 >nul
++xcopy /v /Y "%WINPCAPSOURCEDIR%\wpcap\PRJ\Release No AirPcap\x86\wpcap.lib" %WPDPACKDESTDIR%\Lib\ >nul
++xcopy /v /Y "%WINPCAPSOURCEDIR%\wpcap\PRJ\Release No AirPcap\x64\wpcap.lib" %WPDPACKDESTDIR%\Lib\x64 >nul
+ xcopy /v /Y %WINPCAPSOURCEDIR%\packetNtx\Dll\Project\Release\x86\packet.lib %WPDPACKDESTDIR%\Lib\ >nul
+ xcopy /v /Y %WINPCAPSOURCEDIR%\packetNtx\Dll\Project\Release\x64\packet.lib %WPDPACKDESTDIR%\Lib\x64 >nul
+-xcopy /v /Y %WINPCAPSOURCEDIR%\packetNtx\Dll\Project\libpacket.a %WPDPACKDESTDIR%\Lib\ >nul
+-xcopy /v /Y %WINPCAPSOURCEDIR%\wpcap\LIB\libwpcap.a %WPDPACKDESTDIR%\Lib\ >nul
+
+ echo Folder \Lib created successfully
+
diff --git a/ports/winpcap/packetNtx.patch.in b/ports/winpcap/packetNtx.patch.in
new file mode 100644
index 000000000..c19056a0c
--- /dev/null
+++ b/ports/winpcap/packetNtx.patch.in
@@ -0,0 +1,725 @@
+diff --git a/packetNtx/Dll/Project/Packet.dsp b/packetNtx/Dll/Project/Packet.dsp
+index 6e69440..fc520ce 100644
+--- a/packetNtx/Dll/Project/Packet.dsp
++++ b/packetNtx/Dll/Project/Packet.dsp
+@@ -55,8 +55,8 @@ RSC=rc.exe
+ # PROP Intermediate_Dir "Release"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+-# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "NDEBUG" /D "HAVE_AIRPCAP_API" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /D "HAVE_WANPACKET_API" /YX /FD /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@ /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@ /W3 /GX /Zi /O2 /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /YX /FD /c
+ # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD BASE RSC /l 0x410 /d "NDEBUG"
+@@ -87,8 +87,8 @@ PostBuild_Cmds=copy $(OutDir)\packet.lib .
+ # PROP Intermediate_Dir "Debug"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "HAVE_AIRPCAP_API" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /D "HAVE_WANPACKET_API" /YX /FD /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /YX /FD /c
+ # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD BASE RSC /l 0x410 /d "_DEBUG"
+@@ -120,8 +120,8 @@ PostBuild_Cmds=copy $(OutDir)\packet.lib .
+ # PROP Intermediate_Dir "NT4_Debug"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../common" /D "WIN32" /D "_WINDOWS" /YX /FD /c
+-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "WIN32" /D "_WINDOWS" /D "_WINNT4" /YX /FD /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../../../common" /D "WIN32" /D "_WINDOWS" /YX /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "WIN32" /D "_WINDOWS" /D "_WINNT4" /YX /FD /c
+ # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD MTL /nologo /D "_DEBUG" /D "_WINNT4" /mktyplib203 /o "NUL" /win32
+ # ADD BASE RSC /l 0x410 /d "_DEBUG"
+@@ -154,8 +154,8 @@ PostBuild_Cmds=copy $(OutDir)\packet.lib .
+ # PROP Intermediate_Dir "NT4_Release"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "../../../common" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /YX /FD /c
+-# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINNT4" /YX /FD /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@ /W3 /GX /O2 /I "../../../common" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /YX /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@ /W3 /GX /Zi /O2 /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINNT4" /YX /FD /c
+ # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD MTL /nologo /D "NDEBUG" /D "_WINNT4" /mktyplib203 /o "NUL" /win32
+ # ADD BASE RSC /l 0x410 /d "NDEBUG"
+@@ -187,8 +187,8 @@ PostBuild_Cmds=copy $(OutDir)\packet.lib .
+ # PROP Intermediate_Dir "Debug_LOG_TO_FILE"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../common" /I "../../../dag/include" /I "../../../dag/drv/windows" /D "WIN32" /D "_WINDOWS" /D "HAVE_DAG_API" /YX /FD /c
+-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "HAVE_AIRPCAP_API" /D "_DEBUG_TO_FILE" /D "WIN32" /D "_WINDOWS" /D "HAVE_WANPACKET_API" /D "HAVE_IPHELPER_API" /FR /YX /FD /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../../../common" /I "../../../dag/include" /I "../../../dag/drv/windows" /D "WIN32" /D "_WINDOWS" /D "HAVE_DAG_API" /YX /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "_DEBUG_TO_FILE" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /FR /YX /FD /c
+ # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD BASE RSC /l 0x410 /d "_DEBUG"
+@@ -221,8 +221,8 @@ PostBuild_Cmds=copy $(OutDir)\packet.lib .
+ # PROP Intermediate_Dir "Release_LOG_TO_FILE"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "../../../common" /I "../../../dag/include" /I "../../../dag/drv/windows" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "HAVE_DAG_API" /YX /FD /c
+-# ADD CPP /nologo /MT /W4 /GX /Zi /O2 /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "NDEBUG" /D "HAVE_AIRPCAP_API" /D "_DEBUG_TO_FILE" /D "WIN32" /D "_WINDOWS" /D "HAVE_WANPACKET_API" /D "HAVE_IPHELPER_API" /FR /YX /FD /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@ /W3 /GX /O2 /I "../../../common" /I "../../../dag/include" /I "../../../dag/drv/windows" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "HAVE_DAG_API" /YX /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@ /W4 /GX /Zi /O2 /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "NDEBUG" /D "_DEBUG_TO_FILE" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /FR /YX /FD /c
+ # SUBTRACT CPP /u
+ # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+@@ -255,8 +255,8 @@ PostBuild_Cmds=copy $(OutDir)\packet.lib .
+ # PROP Intermediate_Dir "NT4_Debug_LOG_TO_FILE"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../common" /D "WIN32" /D "_WINDOWS" /D "_WINNT4" /YX /FD /c
+-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "WIN32" /D "_WINDOWS" /D "_WINNT4" /D "_DEBUG_TO_FILE" /YX /FD /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../../../common" /D "WIN32" /D "_WINDOWS" /D "_WINNT4" /YX /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "WIN32" /D "_WINDOWS" /D "_WINNT4" /D "_DEBUG_TO_FILE" /YX /FD /c
+ # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD MTL /nologo /D "_DEBUG" /D "_WINNT4" /mktyplib203 /o "NUL" /win32
+ # ADD BASE RSC /l 0x410 /d "_DEBUG"
+@@ -289,8 +289,8 @@ PostBuild_Cmds=copy $(OutDir)\packet.lib .
+ # PROP Intermediate_Dir "NT4_Release_LOG_TO_FILE"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "../../../common" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINNT4" /YX /FD /c
+-# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINNT4" /D "_DEBUG_TO_FILE" /YX /FD /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@ /W3 /GX /O2 /I "../../../common" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINNT4" /YX /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@ /W3 /GX /Zi /O2 /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_WINNT4" /D "_DEBUG_TO_FILE" /YX /FD /c
+ # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD MTL /nologo /D "NDEBUG" /D "_WINNT4" /mktyplib203 /o "NUL" /win32
+ # ADD BASE RSC /l 0x410 /d "NDEBUG"
+@@ -323,8 +323,8 @@ PostBuild_Cmds=copy $(OutDir)\packet.lib .
+ # PROP Intermediate_Dir "Debug_No_AirPcap"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../z1211u/airpcap/" /D "WIN32" /D "_WINDOWS" /D "HAVE_AIRPCAP_API" /YX /FD /c
+-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "WIN32" /D "_WINDOWS" /D "HAVE_WANPACKET_API" /D "HAVE_IPHELPER_API" /YX /FD /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../z1211u/airpcap/" /D "WIN32" /D "_WINDOWS" /YX /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /YX /FD /c
+ # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD BASE RSC /l 0x410 /d "_DEBUG"
+@@ -357,8 +357,8 @@ PostBuild_Cmds=copy $(OutDir)\packet.lib .
+ # PROP Intermediate_Dir "Release_No_AirPcap"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../z1211u/airpcap/" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "HAVE_AIRPCAP_API" /YX /FD /c
+-# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "HAVE_WANPACKET_API" /D "HAVE_IPHELPER_API" /YX /FD /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@ /W3 /GX /O2 /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../z1211u/airpcap/" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /YX /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@ /W3 /GX /Zi /O2 /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /YX /FD /c
+ # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD BASE RSC /l 0x410 /d "NDEBUG"
+@@ -390,8 +390,8 @@ PostBuild_Cmds=copy $(OutDir)\packet.lib .
+ # PROP Intermediate_Dir "Debug_No_NpfIm"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "HAVE_AIRPCAP_API" /D "WIN32" /D "_WINDOWS" /D "HAVE_WANPACKET_API" /D "HAVE_IPHELPER_API" /D "HAVE_NPFIM_API" /D "_DBG" /YX /FD /c
+-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /I "../../../../NpfIm_DevPack" /D "HAVE_AIRPCAP_API" /D "WIN32" /D "_WINDOWS" /D "HAVE_WANPACKET_API" /D "HAVE_IPHELPER_API" /D "HAVE_NPFIM_API" /YX /FD /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /D "HAVE_NPFIM_API" /D "_DBG" /YX /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /I "../../../../NpfIm_DevPack" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /D "HAVE_NPFIM_API" /YX /FD /c
+ # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD BASE RSC /l 0x410 /d "_DEBUG"
+@@ -424,8 +424,8 @@ PostBuild_Cmds=copy $(OutDir)\packet.lib .
+ # PROP Intermediate_Dir "Release_No_NpfIm"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "NDEBUG" /D "HAVE_AIRPCAP_API" /D "WIN32" /D "_WINDOWS" /D "HAVE_WANPACKET_API" /D "HAVE_IPHELPER_API" /D "HAVE_NPFIM_API" /YX /FD /c
+-# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /I "../../../../NpfIm_DevPack" /D "NDEBUG" /D "HAVE_AIRPCAP_API" /D "WIN32" /D "_WINDOWS" /D "HAVE_WANPACKET_API" /D "HAVE_IPHELPER_API" /D "HAVE_NPFIM_API" /YX /FD /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@ /W3 /GX /O2 /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /D "HAVE_NPFIM_API" /YX /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@ /W3 /GX /O2 /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /I "../../../../NpfIm_DevPack" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /D "HAVE_NPFIM_API" /YX /FD /c
+ # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD BASE RSC /l 0x410 /d "NDEBUG"
+@@ -457,8 +457,8 @@ PostBuild_Cmds=copy $(OutDir)\packet.lib .
+ # PROP Intermediate_Dir "Debug_Vista"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "HAVE_AIRPCAP_API" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /D "HAVE_NPFIM_API" /YX /FD /c
+-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "HAVE_AIRPCAP_API" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /YX /FD /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /D "HAVE_NPFIM_API" /YX /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /YX /FD /c
+ # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD BASE RSC /l 0x410 /d "_DEBUG"
+@@ -491,8 +491,8 @@ PostBuild_Cmds=copy $(OutDir)\packet.lib .
+ # PROP Intermediate_Dir "Release_Vista"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MT /W3 /GX /Zi /O2 /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "NDEBUG" /D "HAVE_AIRPCAP_API" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /D "HAVE_NPFIM_API" /YX /FD /c
+-# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "NDEBUG" /D "HAVE_AIRPCAP_API" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /YX /FD /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@ /W3 /GX /Zi /O2 /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /D "HAVE_NPFIM_API" /YX /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@ /W3 /GX /Zi /O2 /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /YX /FD /c
+ # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD BASE RSC /l 0x410 /d "NDEBUG"
+@@ -525,9 +525,9 @@ PostBuild_Cmds=copy $(OutDir)\packet.lib .
+ # PROP Intermediate_Dir "Release_Vista_LOG_TO_FILE"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MT /W4 /GX /Zi /O2 /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "NDEBUG" /D "HAVE_AIRPCAP_API" /D "_DEBUG_TO_FILE" /D "WIN32" /D "_WINDOWS" /D "HAVE_WANPACKET_API" /D "HAVE_IPHELPER_API" /D "HAVE_NPFIM_API" /FR /YX /FD /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@ /W4 /GX /Zi /O2 /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "NDEBUG" /D "_DEBUG_TO_FILE" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /D "HAVE_NPFIM_API" /FR /YX /FD /c
+ # SUBTRACT BASE CPP /u
+-# ADD CPP /nologo /MT /W4 /GX /Zi /O2 /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "NDEBUG" /D "HAVE_AIRPCAP_API" /D "_DEBUG_TO_FILE" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /FR /YX /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@ /W4 /GX /Zi /O2 /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../common" /I "../../../../Airpcap_Devpack/include/" /D "NDEBUG" /D "_DEBUG_TO_FILE" /D "WIN32" /D "_WINDOWS" /D "HAVE_IPHELPER_API" /FR /YX /FD /c
+ # SUBTRACT CPP /u
+ # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+ # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+diff --git a/packetNtx/Dll/Project/Packet.vcproj b/packetNtx/Dll/Project/Packet.vcproj
+index 8be719e..e16afe2 100644
+--- a/packetNtx/Dll/Project/Packet.vcproj
++++ b/packetNtx/Dll/Project/Packet.vcproj
+@@ -22,7 +22,7 @@
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="1"
+ >
+ <Tool
+@@ -44,7 +44,7 @@
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\Common;..\..\driver;..\..\..\..\AirPcap_devpack\include"
+- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;HAVE_AIRPCAP_API;HAVE_AIRPCAP_API;HAVE_WANPACKET_API;HAVE_IPHELPER_API"
++ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;HAVE_IPHELPER_API"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+@@ -64,7 +64,7 @@
+ />
+ <Tool
+ Name="VCLinkerTool"
+- AdditionalDependencies="version.lib npptools.lib setupapi.lib ws2_32.lib iphlpapi.lib"
++ AdditionalDependencies="version.lib setupapi.lib ws2_32.lib iphlpapi.lib"
+ LinkIncremental="2"
+ ModuleDefinitionFile="..\packet.def"
+ GenerateDebugInformation="true"
+@@ -100,7 +100,7 @@
+ Name="Debug|x64"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="1"
+ >
+ <Tool
+@@ -123,7 +123,7 @@
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\Common;..\..\driver;..\..\..\..\AirPcap_devpack\include"
+- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;HAVE_AIRPCAP_API;HAVE_WANPACKET_API;HAVE_IPHELPER_API"
++ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;HAVE_IPHELPER_API"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+@@ -143,7 +143,7 @@
+ />
+ <Tool
+ Name="VCLinkerTool"
+- AdditionalDependencies="version.lib npptools.lib setupapi.lib ws2_32.lib iphlpapi.lib"
++ AdditionalDependencies="version.lib setupapi.lib ws2_32.lib iphlpapi.lib"
+ LinkIncremental="2"
+ ModuleDefinitionFile="..\packet.def"
+ GenerateDebugInformation="true"
+@@ -179,7 +179,7 @@
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+@@ -201,7 +201,7 @@
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\Common;..\..\driver;..\..\..\..\AirPcap_devpack\include"
+- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;HAVE_AIRPCAP_API;HAVE_WANPACKET_API;HAVE_IPHELPER_API"
++ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;HAVE_IPHELPER_API"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+@@ -219,7 +219,7 @@
+ />
+ <Tool
+ Name="VCLinkerTool"
+- AdditionalDependencies="version.lib npptools.lib setupapi.lib ws2_32.lib iphlpapi.lib"
++ AdditionalDependencies="version.lib setupapi.lib ws2_32.lib iphlpapi.lib"
+ LinkIncremental="1"
+ ModuleDefinitionFile="..\packet.def"
+ GenerateDebugInformation="true"
+@@ -257,7 +257,7 @@
+ Name="Release|x64"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+@@ -280,7 +280,7 @@
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\Common;..\..\driver;..\..\..\..\AirPcap_devpack\include"
+- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS; ;HAVE_AIRPCAP_API;HAVE_WANPACKET_API;HAVE_IPHELPER_API"
++ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS; ;HAVE_IPHELPER_API"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+@@ -298,7 +298,7 @@
+ />
+ <Tool
+ Name="VCLinkerTool"
+- AdditionalDependencies="version.lib npptools.lib setupapi.lib ws2_32.lib iphlpapi.lib"
++ AdditionalDependencies="version.lib setupapi.lib ws2_32.lib iphlpapi.lib"
+ LinkIncremental="1"
+ ModuleDefinitionFile="..\packet.def"
+ GenerateDebugInformation="true"
+@@ -336,7 +336,7 @@
+ Name="Debug NT4|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="1"
+ >
+ <Tool
+@@ -415,7 +415,7 @@
+ Name="Debug NT4|x64"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="1"
+ >
+ <Tool
+@@ -458,7 +458,7 @@
+ />
+ <Tool
+ Name="VCLinkerTool"
+- AdditionalDependencies="version.lib npptools.lib"
++ AdditionalDependencies="version.lib"
+ LinkIncremental="2"
+ ModuleDefinitionFile="..\packet.def"
+ GenerateDebugInformation="true"
+@@ -494,7 +494,7 @@
+ Name="Release NT4|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+@@ -573,7 +573,7 @@
+ Name="Release NT4|x64"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+@@ -614,7 +614,7 @@
+ />
+ <Tool
+ Name="VCLinkerTool"
+- AdditionalDependencies="version.lib npptools.lib"
++ AdditionalDependencies="version.lib"
+ LinkIncremental="1"
+ ModuleDefinitionFile="..\packet.def"
+ GenerateDebugInformation="true"
+@@ -652,7 +652,7 @@
+ Name="Debug No NetMon|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="1"
+ >
+ <Tool
+@@ -674,7 +674,7 @@
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\Common;..\..\driver;..\..\..\..\AirPcap_devpack\include"
+- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;HAVE_AIRPCAP_API;HAVE_IPHELPER_API"
++ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;HAVE_IPHELPER_API"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+@@ -731,7 +731,7 @@
+ Name="Debug No NetMon|x64"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="1"
+ >
+ <Tool
+@@ -754,7 +754,7 @@
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\..\Common;..\..\driver;..\..\..\..\AirPcap_devpack\include"
+- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;HAVE_AIRPCAP_API;HAVE_IPHELPER_API"
++ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;HAVE_IPHELPER_API"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+@@ -811,7 +811,7 @@
+ Name="Release No NetMon|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+@@ -833,7 +833,7 @@
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\Common;..\..\driver;..\..\..\..\AirPcap_devpack\include"
+- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;HAVE_AIRPCAP_API;HAVE_IPHELPER_API"
++ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;HAVE_IPHELPER_API"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+@@ -890,7 +890,7 @@
+ Name="Release No NetMon|x64"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+@@ -913,7 +913,7 @@
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\Common;..\..\driver;..\..\..\..\AirPcap_devpack\include"
+- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS; ;HAVE_AIRPCAP_API;HAVE_IPHELPER_API"
++ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS; ;HAVE_IPHELPER_API"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+@@ -932,7 +932,7 @@
+ />
+ <Tool
+ Name="VCLinkerTool"
+- AdditionalDependencies="version.lib npptools.lib setupapi.lib ws2_32.lib iphlpapi.lib"
++ AdditionalDependencies="version.lib setupapi.lib ws2_32.lib iphlpapi.lib"
+ LinkIncremental="1"
+ ModuleDefinitionFile="..\packet.def"
+ GenerateDebugInformation="true"
+@@ -970,7 +970,7 @@
+ Name="Release LOG_TO_FILE|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+@@ -992,7 +992,7 @@
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\Common;..\..\driver;..\..\..\..\AirPcap_devpack\include"
+- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;HAVE_AIRPCAP_API;HAVE_WANPACKET_API;HAVE_IPHELPER_API;_DEBUG_TO_FILE"
++ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;HAVE_IPHELPER_API;_DEBUG_TO_FILE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+@@ -1010,7 +1010,7 @@
+ />
+ <Tool
+ Name="VCLinkerTool"
+- AdditionalDependencies="version.lib npptools.lib setupapi.lib ws2_32.lib iphlpapi.lib"
++ AdditionalDependencies="version.lib setupapi.lib ws2_32.lib iphlpapi.lib"
+ LinkIncremental="1"
+ ModuleDefinitionFile="..\packet.def"
+ GenerateDebugInformation="true"
+@@ -1048,7 +1048,7 @@
+ Name="Release LOG_TO_FILE|x64"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+@@ -1071,7 +1071,7 @@
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\Common;..\..\driver;..\..\..\..\AirPcap_devpack\include"
+- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS; ;HAVE_AIRPCAP_API;HAVE_WANPACKET_API;HAVE_IPHELPER_API;_DEBUG_TO_FILE"
++ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS; ;HAVE_IPHELPER_API;_DEBUG_TO_FILE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+@@ -1089,7 +1089,7 @@
+ />
+ <Tool
+ Name="VCLinkerTool"
+- AdditionalDependencies="version.lib npptools.lib setupapi.lib ws2_32.lib iphlpapi.lib"
++ AdditionalDependencies="version.lib setupapi.lib ws2_32.lib iphlpapi.lib"
+ LinkIncremental="1"
+ ModuleDefinitionFile="..\packet.def"
+ GenerateDebugInformation="true"
+@@ -1127,7 +1127,7 @@
+ Name="Release No NetMon LOG_TO_FILE|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+@@ -1149,7 +1149,7 @@
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\Common;..\..\driver;..\..\..\..\AirPcap_devpack\include"
+- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;HAVE_AIRPCAP_API;HAVE_IPHELPER_API;_DEBUG_TO_FILE"
++ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;HAVE_IPHELPER_API;_DEBUG_TO_FILE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+@@ -1206,7 +1206,7 @@
+ Name="Release No NetMon LOG_TO_FILE|x64"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+@@ -1229,7 +1229,7 @@
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\..\Common;..\..\driver;..\..\..\..\AirPcap_devpack\include"
+- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS; ;HAVE_AIRPCAP_API;HAVE_IPHELPER_API;_DEBUG_TO_FILE"
++ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS; ;HAVE_IPHELPER_API;_DEBUG_TO_FILE"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+@@ -1248,7 +1248,7 @@
+ />
+ <Tool
+ Name="VCLinkerTool"
+- AdditionalDependencies="version.lib npptools.lib setupapi.lib ws2_32.lib iphlpapi.lib"
++ AdditionalDependencies="version.lib setupapi.lib ws2_32.lib iphlpapi.lib"
+ LinkIncremental="1"
+ ModuleDefinitionFile="..\packet.def"
+ GenerateDebugInformation="true"
+@@ -1286,7 +1286,7 @@
+ Name="Release NT4 LOG_TO_FILE|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+@@ -1365,7 +1365,7 @@
+ Name="Release NT4 LOG_TO_FILE|x64"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+@@ -1406,7 +1406,7 @@
+ />
+ <Tool
+ Name="VCLinkerTool"
+- AdditionalDependencies="version.lib npptools.lib"
++ AdditionalDependencies="version.lib"
+ LinkIncremental="1"
+ ModuleDefinitionFile="..\packet.def"
+ GenerateDebugInformation="true"
+@@ -1462,82 +1462,6 @@
+ >
+ </File>
+ <File
+- RelativePath="..\WanPacket\WanPacket.cpp"
+- >
+- <FileConfiguration
+- Name="Debug NT4|Win32"
+- ExcludedFromBuild="true"
+- >
+- <Tool
+- Name="VCCLCompilerTool"
+- />
+- </FileConfiguration>
+- <FileConfiguration
+- Name="Release NT4|Win32"
+- ExcludedFromBuild="true"
+- >
+- <Tool
+- Name="VCCLCompilerTool"
+- />
+- </FileConfiguration>
+- <FileConfiguration
+- Name="Debug No NetMon|Win32"
+- ExcludedFromBuild="true"
+- >
+- <Tool
+- Name="VCCLCompilerTool"
+- />
+- </FileConfiguration>
+- <FileConfiguration
+- Name="Debug No NetMon|x64"
+- ExcludedFromBuild="true"
+- >
+- <Tool
+- Name="VCCLCompilerTool"
+- />
+- </FileConfiguration>
+- <FileConfiguration
+- Name="Release No NetMon|Win32"
+- ExcludedFromBuild="true"
+- >
+- <Tool
+- Name="VCCLCompilerTool"
+- />
+- </FileConfiguration>
+- <FileConfiguration
+- Name="Release No NetMon|x64"
+- ExcludedFromBuild="true"
+- >
+- <Tool
+- Name="VCCLCompilerTool"
+- />
+- </FileConfiguration>
+- <FileConfiguration
+- Name="Release No NetMon LOG_TO_FILE|Win32"
+- ExcludedFromBuild="true"
+- >
+- <Tool
+- Name="VCCLCompilerTool"
+- />
+- </FileConfiguration>
+- <FileConfiguration
+- Name="Release No NetMon LOG_TO_FILE|x64"
+- ExcludedFromBuild="true"
+- >
+- <Tool
+- Name="VCCLCompilerTool"
+- />
+- </FileConfiguration>
+- <FileConfiguration
+- Name="Release NT4 LOG_TO_FILE|Win32"
+- ExcludedFromBuild="true"
+- >
+- <Tool
+- Name="VCCLCompilerTool"
+- />
+- </FileConfiguration>
+- </File>
+- <File
+ RelativePath="..\..\driver\win_bpf_filter.c"
+ >
+ <FileConfiguration
+diff --git a/packetNtx/Dll/WanPacket/WanPacket.dsp b/packetNtx/Dll/WanPacket/WanPacket.dsp
+index 9ac30be..ed68158 100644
+--- a/packetNtx/Dll/WanPacket/WanPacket.dsp
++++ b/packetNtx/Dll/WanPacket/WanPacket.dsp
+@@ -42,8 +42,8 @@ RSC=rc.exe
+ # PROP Intermediate_Dir "Release"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WANPACKET_EXPORTS" /Yu"stdafx.h" /FD /c
+-# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /I "..\..\..\Common" /I "..\..\driver" /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../../z1211u/airpcap/" /D "NDEBUG" /D "_MBCS" /D "_USRDLL" /D "WANPACKET_EXPORTS" /D "WIN32" /D "_WINDOWS" /D "HAVE_DAG_API" /D "__NPF_x86__" /FD /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@ /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WANPACKET_EXPORTS" /Yu"stdafx.h" /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@ /W3 /GX /Zi /O2 /I "..\..\..\Common" /I "..\..\driver" /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../../z1211u/airpcap/" /D "NDEBUG" /D "_MBCS" /D "_USRDLL" /D "WANPACKET_EXPORTS" /D "WIN32" /D "_WINDOWS" /D "HAVE_DAG_API" /D "__NPF_x86__" /FD /c
+ # SUBTRACT CPP /YX /Yc /Yu
+ # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+ # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+@@ -54,7 +54,7 @@ BSC32=bscmake.exe
+ # ADD BSC32 /nologo
+ LINK32=link.exe
+ # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+-# ADD LINK32 npptools.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /libpath:"..\..\WanPacket\Release\\" /opt:ref
++# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /libpath:"..\..\WanPacket\Release\\" /opt:ref
+ # SUBTRACT LINK32 /pdb:none
+
+ !ELSEIF "$(CFG)" == "WanPacket - Win32 Debug"
+@@ -70,8 +70,8 @@ LINK32=link.exe
+ # PROP Intermediate_Dir "Debug"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WANPACKET_EXPORTS" /Yu"stdafx.h" /FD /GZ /c
+-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\..\..\Common" /I "..\..\driver" /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../../z1211u/airpcap/" /D "_DEBUG" /D "_MBCS" /D "_USRDLL" /D "WANPACKET_EXPORTS" /D "WIN32" /D "_WINDOWS" /D "HAVE_DAG_API" /D "__NPF_x86__" /FD /GZ /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WANPACKET_EXPORTS" /Yu"stdafx.h" /FD /GZ /c
++# ADD CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "..\..\..\Common" /I "..\..\driver" /I "../../../dag/include" /I "../../../dag/drv/windows" /I "../../../../z1211u/airpcap/" /D "_DEBUG" /D "_MBCS" /D "_USRDLL" /D "WANPACKET_EXPORTS" /D "WIN32" /D "_WINDOWS" /D "HAVE_DAG_API" /D "__NPF_x86__" /FD /GZ /c
+ # SUBTRACT CPP /YX /Yc /Yu
+ # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+ # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+@@ -82,7 +82,7 @@ BSC32=bscmake.exe
+ # ADD BSC32 /nologo
+ LINK32=link.exe
+ # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib npptools.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
++# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+
+ !ENDIF
+
+@@ -131,10 +131,6 @@ SOURCE=.\version.rc
+ # End Source File
+ # Begin Source File
+
+-SOURCE=.\WanPacket.cpp
+-# End Source File
+-# Begin Source File
+-
+ SOURCE=..\..\driver\win_bpf_filter.c
+ # End Source File
+ # End Group
+diff --git a/packetNtx/Dll/WanPacket/version.rc b/packetNtx/Dll/WanPacket/version.rc
+index 056db10..fc9b0ee 100644
+--- a/packetNtx/Dll/WanPacket/version.rc
++++ b/packetNtx/Dll/WanPacket/version.rc
+@@ -6,7 +6,7 @@
+ //
+ // Generated from the TEXTINCLUDE 2 resource.
+ //
+-#include "afxres.h"
++#include "winres.h"
+
+ /////////////////////////////////////////////////////////////////////////////
+ #undef APSTUDIO_READONLY_SYMBOLS
+@@ -34,7 +34,7 @@ END
+
+ 2 TEXTINCLUDE
+ BEGIN
+- "#include ""afxres.h""\r\n"
++ "#include ""winres.h""\r\n"
+ "\0"
+ END
+
+diff --git a/packetNtx/Dll/version.rc b/packetNtx/Dll/version.rc
+index 056db10..fc9b0ee 100644
+--- a/packetNtx/Dll/version.rc
++++ b/packetNtx/Dll/version.rc
+@@ -6,7 +6,7 @@
+ //
+ // Generated from the TEXTINCLUDE 2 resource.
+ //
+-#include "afxres.h"
++#include "winres.h"
+
+ /////////////////////////////////////////////////////////////////////////////
+ #undef APSTUDIO_READONLY_SYMBOLS
+@@ -34,7 +34,7 @@ END
+
+ 2 TEXTINCLUDE
+ BEGIN
+- "#include ""afxres.h""\r\n"
++ "#include ""winres.h""\r\n"
+ "\0"
+ END
+
diff --git a/ports/winpcap/portfile.cmake b/ports/winpcap/portfile.cmake
new file mode 100644
index 000000000..05b0a2c83
--- /dev/null
+++ b/ports/winpcap/portfile.cmake
@@ -0,0 +1,186 @@
+# 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/winpcap)
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://www.winpcap.org/install/bin/WpcapSrc_4_1_3.zip"
+ FILENAME "WpcapSrc_4_1_3.zip"
+ SHA512 89a5109ed17f8069f7a43497f6fec817c58620dbc5fa506e52069b9113c5bc13f69c307affe611281cb727cfa0f8529d07044d41427e350b24468ccc89a87f33
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+if(VCPKG_CRT_LINKAGE STREQUAL "static")
+ set(CRT_LINKAGE "MT")
+elseif(VCPKG_CRT_LINKAGE STREQUAL "dynamic")
+ set(CRT_LINKAGE "MD")
+endif()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+set(LIBRARY_LINKAGE "4")
+elseif(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+set(LIBRARY_LINKAGE "2")
+endif()
+
+configure_file("${CMAKE_CURRENT_LIST_DIR}/packetNtx.patch.in" "${CMAKE_CURRENT_LIST_DIR}/packetNtx.patch" @ONLY)
+configure_file("${CMAKE_CURRENT_LIST_DIR}/wpcap.patch.in" "${CMAKE_CURRENT_LIST_DIR}/wpcap.patch" @ONLY)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/packetNtx.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/wpcap.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/create_lib.patch"
+)
+
+file(
+ COPY
+ "${CURRENT_PORT_DIR}/create_bin.bat"
+ DESTINATION
+ ${SOURCE_PATH}
+)
+
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ set(PLATFORM Win32)
+elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ set(PLATFORM x64)
+endif()
+
+vcpkg_execute_required_process(
+ COMMAND "devenv.exe"
+ "Packet.sln"
+ /Upgrade
+ WORKING_DIRECTORY ${SOURCE_PATH}/packetNtx/Dll/Project
+ LOGNAME upgrade-Packet-${TARGET_TRIPLET}
+)
+
+vcpkg_build_msbuild(
+ PROJECT_PATH "${SOURCE_PATH}/packetNtx/Dll/Project/Packet.sln"
+ PLATFORM ${PLATFORM}
+)
+
+vcpkg_find_acquire_program(BISON)
+vcpkg_find_acquire_program(FLEX)
+
+vcpkg_execute_required_process(
+ COMMAND ${SOURCE_PATH}/wpcap/PRJ/build_scanner_parser.bat
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME build_scanner_parser-${TARGET_TRIPLET}
+)
+
+vcpkg_execute_required_process(
+ COMMAND "devenv.exe"
+ "wpcap.sln"
+ /Upgrade
+ WORKING_DIRECTORY ${SOURCE_PATH}/wpcap/PRJ
+ LOGNAME upgrade-wpcap-${TARGET_TRIPLET}
+)
+
+vcpkg_build_msbuild(
+ PROJECT_PATH "${SOURCE_PATH}/wpcap/PRJ/wpcap.sln"
+ RELEASE_CONFIGURATION "Release - No AirPcap"
+ DEBUG_CONFIGURATION "Debug - No AirPcap"
+ PLATFORM ${PLATFORM}
+)
+
+vcpkg_execute_required_process(
+ COMMAND ${SOURCE_PATH}/create_include.bat
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME create_include-${TARGET_TRIPLET}
+)
+
+file(
+ INSTALL
+ "${SOURCE_PATH}/WpdPack/Include/bittypes.h"
+ "${SOURCE_PATH}/WpdPack/Include/ip6_misc.h"
+ "${SOURCE_PATH}/WpdPack/Include/Packet32.h"
+ "${SOURCE_PATH}/WpdPack/Include/pcap.h"
+ "${SOURCE_PATH}/WpdPack/Include/pcap-bpf.h"
+ "${SOURCE_PATH}/WpdPack/Include/pcap-namedb.h"
+ "${SOURCE_PATH}/WpdPack/Include/pcap-stdinc.h"
+ "${SOURCE_PATH}/WpdPack/Include/remote-ext.h"
+ "${SOURCE_PATH}/WpdPack/Include/Win32-Extensions.h"
+ DESTINATION
+ ${CURRENT_PACKAGES_DIR}/include
+)
+
+file(
+ INSTALL
+ "${SOURCE_PATH}/WpdPack/Include/pcap/bluetooth.h"
+ "${SOURCE_PATH}/WpdPack/Include/pcap/bpf.h"
+ "${SOURCE_PATH}/WpdPack/Include/pcap/namedb.h"
+ "${SOURCE_PATH}/WpdPack/Include/pcap/pcap.h"
+ "${SOURCE_PATH}/WpdPack/Include/pcap/sll.h"
+ "${SOURCE_PATH}/WpdPack/Include/pcap/usb.h"
+ "${SOURCE_PATH}/WpdPack/Include/pcap/vlan.h"
+ DESTINATION
+ ${CURRENT_PACKAGES_DIR}/include/pcap
+)
+
+vcpkg_execute_required_process(
+ COMMAND ${SOURCE_PATH}/create_lib.bat
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME create_lib-${TARGET_TRIPLET}
+)
+
+set(PCAP_LIBRARY_PATH "${SOURCE_PATH}/WpdPack/Lib")
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ set(PCAP_LIBRARY_PATH "${PCAP_LIBRARY_PATH}/x64")
+endif()
+
+file(
+ INSTALL
+ "${PCAP_LIBRARY_PATH}/Packet.lib"
+ "${PCAP_LIBRARY_PATH}/wpcap.lib"
+ DESTINATION
+ ${CURRENT_PACKAGES_DIR}/lib
+)
+
+file(
+ INSTALL
+ "${PCAP_LIBRARY_PATH}/Packet.lib"
+ "${PCAP_LIBRARY_PATH}/wpcap.lib"
+ DESTINATION
+ ${CURRENT_PACKAGES_DIR}/debug/lib
+)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ vcpkg_execute_required_process(
+ COMMAND ${SOURCE_PATH}/create_bin.bat
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME create_bin-${TARGET_TRIPLET}
+ )
+
+ set(PCAP_BINARY_PATH "${SOURCE_PATH}/WpdPack/Bin")
+ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ set(PCAP_BINARY_PATH "${PCAP_BINARY_PATH}/x64")
+ endif()
+
+ file(
+ INSTALL
+ "${PCAP_BINARY_PATH}/Packet.dll"
+ "${PCAP_BINARY_PATH}/wpcap.dll"
+ DESTINATION
+ ${CURRENT_PACKAGES_DIR}/bin
+ )
+
+ file(
+ INSTALL
+ "${PCAP_BINARY_PATH}/Packet.dll"
+ "${PCAP_BINARY_PATH}/wpcap.dll"
+ DESTINATION
+ ${CURRENT_PACKAGES_DIR}/debug/bin
+ )
+endif()
+
+# Handle copyright
+file(DOWNLOAD "https://www.winpcap.org/misc/copyright.htm" ${SOURCE_PATH}/copyright.htm)
+file(INSTALL ${SOURCE_PATH}/copyright.htm DESTINATION ${CURRENT_PACKAGES_DIR}/share/winpcap RENAME copyright)
diff --git a/ports/winpcap/wpcap.patch.in b/ports/winpcap/wpcap.patch.in
new file mode 100644
index 000000000..01c8a38c8
--- /dev/null
+++ b/ports/winpcap/wpcap.patch.in
@@ -0,0 +1,414 @@
+diff --git a/wpcap/PRJ/wpcap.dsp b/wpcap/PRJ/wpcap.dsp
+index e53a865..0e4ed19 100644
+--- a/wpcap/PRJ/wpcap.dsp
++++ b/wpcap/PRJ/wpcap.dsp
+@@ -48,8 +48,8 @@ RSC=rc.exe
+ # PROP Intermediate_Dir "Release"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBPCAP_EXPORTS" /YX /FD /c
+-# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /I "../../../Airpcap_Devpack/include" /D HAVE_ADDRINFO=1 /D "NDEBUG" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /D "HAVE_AIRPCAP_API" /YX /FD /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@ /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBPCAP_EXPORTS" /YX /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@ /W3 /GX /Zi /O2 /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /I "../../../Airpcap_Devpack/include" /D HAVE_ADDRINFO=1 /D "NDEBUG" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /D "HAVE_AIRPCAP_API" /YX /FD /c
+ # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+ # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+ # ADD BASE RSC /l 0x410 /d "NDEBUG"
+@@ -75,8 +75,8 @@ LINK32=link.exe
+ # PROP Intermediate_Dir "Debug"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBPCAP_EXPORTS" /YX /FD /GZ /c
+-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /I "../../../Airpcap_Devpack/include" /D "HAVE_ADDRINFO" /D "_DEBUG" /D "HAVE_DAG_API" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /D "HAVE_AIRPCAP_API" /FR /YX /FD /GZ /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBPCAP_EXPORTS" /YX /FD /GZ /c
++# ADD CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /I "../../../Airpcap_Devpack/include" /D "HAVE_ADDRINFO" /D "_DEBUG" /D "HAVE_DAG_API" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /D "HAVE_AIRPCAP_API" /FR /YX /FD /GZ /c
+ # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+ # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+ # ADD BASE RSC /l 0x410 /d "_DEBUG"
+@@ -103,8 +103,8 @@ LINK32=link.exe
+ # PROP Intermediate_Dir "Debug_REMOTE"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /D "HAVE_ADDRINFO" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "_DEBUG" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /D "HAVE_REMOTE" /FR /YX /FD /GZ /c
+-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /I "../../../Airpcap_Devpack/include" /D "HAVE_ADDRINFO" /D "_DEBUG" /D "HAVE_REMOTE" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /D "HAVE_AIRPCAP_API" /FR /YX /FD /GZ /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /D "HAVE_ADDRINFO" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "_DEBUG" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /D "HAVE_REMOTE" /FR /YX /FD /GZ /c
++# ADD CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /I "../../../Airpcap_Devpack/include" /D "HAVE_ADDRINFO" /D "_DEBUG" /D "HAVE_REMOTE" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /D "HAVE_AIRPCAP_API" /FR /YX /FD /GZ /c
+ # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+ # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+ # ADD BASE RSC /l 0x410 /d "_DEBUG"
+@@ -138,8 +138,8 @@ PostBuild_Cmds=mkdir $(OutDir)\..\..\LIB > nul copy
+ # PROP Intermediate_Dir "Debug_REMOTE_DAG"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /D "HAVE_ADDRINFO" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "_DEBUG" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /D "HAVE_REMOTE" /FR /YX /FD /GZ /c
+-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /I "../../../Airpcap_Devpack/include" /D "HAVE_ADDRINFO" /D "_DEBUG" /D "HAVE_REMOTE" /D "HAVE_DAG_API" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /D "HAVE_AIRPCAP_API" /FR /YX /FD /GZ /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /D "HAVE_ADDRINFO" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "_DEBUG" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /D "HAVE_REMOTE" /FR /YX /FD /GZ /c
++# ADD CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /I "../../../Airpcap_Devpack/include" /D "HAVE_ADDRINFO" /D "_DEBUG" /D "HAVE_REMOTE" /D "HAVE_DAG_API" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /D "HAVE_AIRPCAP_API" /FR /YX /FD /GZ /c
+ # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+ # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+ # ADD BASE RSC /l 0x410 /d "_DEBUG"
+@@ -173,8 +173,8 @@ PostBuild_Cmds=mkdir $(OutDir)\..\..\LIB > nul copy
+ # PROP Intermediate_Dir "Release_REMOTE"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /D HAVE_ADDRINFO=1 /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "NDEBUG" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /D "HAVE_REMOTE" /YX /FD /c
+-# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /I "../../../Airpcap_Devpack/include" /D HAVE_ADDRINFO=1 /D "NDEBUG" /D "HAVE_REMOTE" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /D "HAVE_AIRPCAP_API" /YX /FD /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@ /W3 /GX /O2 /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /D HAVE_ADDRINFO=1 /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "NDEBUG" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /D "HAVE_REMOTE" /YX /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@ /W3 /GX /Zi /O2 /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /I "../../../Airpcap_Devpack/include" /D HAVE_ADDRINFO=1 /D "NDEBUG" /D "HAVE_REMOTE" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /D "HAVE_AIRPCAP_API" /YX /FD /c
+ # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+ # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+ # ADD BASE RSC /l 0x410 /d "NDEBUG"
+@@ -208,8 +208,8 @@ PostBuild_Cmds=mkdir $(OutDir)\..\..\LIB > nul copy
+ # PROP Intermediate_Dir "Release_REMOTE_DAG"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /D HAVE_ADDRINFO=1 /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "NDEBUG" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /D "HAVE_REMOTE" /YX /FD /c
+-# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /I "../../../Airpcap_Devpack/include" /D HAVE_ADDRINFO=1 /D "NDEBUG" /D "HAVE_REMOTE" /D "HAVE_DAG_API" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /D "HAVE_AIRPCAP_API" /YX /FD /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@ /W3 /GX /O2 /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /D HAVE_ADDRINFO=1 /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "NDEBUG" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /D "HAVE_REMOTE" /YX /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@ /W3 /GX /Zi /O2 /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /I "../../../Airpcap_Devpack/include" /D HAVE_ADDRINFO=1 /D "NDEBUG" /D "HAVE_REMOTE" /D "HAVE_DAG_API" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /D "HAVE_AIRPCAP_API" /YX /FD /c
+ # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+ # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+ # ADD BASE RSC /l 0x410 /d "NDEBUG"
+@@ -243,8 +243,8 @@ PostBuild_Cmds=mkdir $(OutDir)\..\..\LIB > nul copy
+ # PROP Intermediate_Dir "Release_REMOTE_NO_AIRPCAP"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /I "../../../Airpcap_Devpack/include" /D HAVE_ADDRINFO=1 /D "NDEBUG" /D "HAVE_REMOTE" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /YX /FD /c
+-# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /I "../../../Airpcap_Devpack/include" /D HAVE_ADDRINFO=1 /D "NDEBUG" /D "HAVE_REMOTE" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /YX /FD /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@ /W3 /GX /O2 /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /I "../../../Airpcap_Devpack/include" /D HAVE_ADDRINFO=1 /D "NDEBUG" /D "HAVE_REMOTE" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /YX /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@ /W3 /GX /Zi /O2 /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /I "../../../Airpcap_Devpack/include" /D HAVE_ADDRINFO=1 /D "NDEBUG" /D "HAVE_REMOTE" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /YX /FD /c
+ # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+ # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+ # ADD BASE RSC /l 0x410 /d "NDEBUG"
+@@ -278,8 +278,8 @@ PostBuild_Cmds=mkdir $(OutDir)\..\..\LIB > nul copy
+ # PROP Intermediate_Dir "Debug_REMOTE_NO_AIRPCAP"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /I "../../../Airpcap_Devpack/include" /D "HAVE_ADDRINFO" /D "_DEBUG" /D "HAVE_REMOTE" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /FR /YX /FD /GZ /c
+-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /I "../../../Airpcap_Devpack/include" /D "HAVE_ADDRINFO" /D "_DEBUG" /D "HAVE_REMOTE" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /FR /YX /FD /GZ /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /I "../../../Airpcap_Devpack/include" /D "HAVE_ADDRINFO" /D "_DEBUG" /D "HAVE_REMOTE" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /FR /YX /FD /GZ /c
++# ADD CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../libpcap/" /I "../libpcap/bpf" /I "../libpcap/lbl" /I "../libpcap/Win32/Include" /I "../../common" /I "../Win32-Extensions" /I "../../../Airpcap_Devpack/include" /D "HAVE_ADDRINFO" /D "_DEBUG" /D "HAVE_REMOTE" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "WPCAP" /D "HAVE_VSNPRINTF" /D "WIN32" /D "_MBCS" /FR /YX /FD /GZ /c
+ # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+ # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+ # ADD BASE RSC /l 0x410 /d "_DEBUG"
+diff --git a/wpcap/PRJ/wpcap.vcproj b/wpcap/PRJ/wpcap.vcproj
+index c1d56b4..40a8ce1 100644
+--- a/wpcap/PRJ/wpcap.vcproj
++++ b/wpcap/PRJ/wpcap.vcproj
+@@ -22,7 +22,7 @@
+ Name="Debug|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="2"
+ >
+ <Tool
+@@ -44,7 +44,7 @@
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions;..\..\..\AirPcap_DevPack\include"
+- PreprocessorDefinitions="LIBPCAP_EXPORTS;WIN32;_DEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_SNPRINTF;HAVE_VSNPRINTF;HAVE_REMOTE;HAVE_AIRPCAP_API;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API"
++ PreprocessorDefinitions="LIBPCAP_EXPORTS;WIN32;_DEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;HAVE_AIRPCAP_API;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+@@ -102,7 +102,7 @@
+ Name="Debug|x64"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="2"
+ >
+ <Tool
+@@ -125,7 +125,7 @@
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions;..\..\..\AirPcap_DevPack\include"
+- PreprocessorDefinitions="LIBPCAP_EXPORTS;WIN32;_DEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_SNPRINTF;HAVE_VSNPRINTF;HAVE_REMOTE;HAVE_AIRPCAP_API;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API"
++ PreprocessorDefinitions="LIBPCAP_EXPORTS;WIN32;_DEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;HAVE_AIRPCAP_API;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+@@ -183,7 +183,7 @@
+ Name="Release|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+@@ -205,7 +205,7 @@
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions;..\..\..\AirPcap_DevPack\include"
+- PreprocessorDefinitions="LIBPCAP_EXPORTS;WIN32;NDEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_SNPRINTF;HAVE_VSNPRINTF;HAVE_REMOTE;HAVE_AIRPCAP_API;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API"
++ PreprocessorDefinitions="LIBPCAP_EXPORTS;WIN32;NDEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;HAVE_AIRPCAP_API;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+@@ -262,7 +262,7 @@
+ Name="Release|x64"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+@@ -285,7 +285,7 @@
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions;..\..\..\AirPcap_DevPack\include"
+- PreprocessorDefinitions="LIBPCAP_EXPORTS;WIN32;NDEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_SNPRINTF;HAVE_VSNPRINTF;HAVE_REMOTE;HAVE_AIRPCAP_API;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API"
++ PreprocessorDefinitions="LIBPCAP_EXPORTS;WIN32;NDEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;HAVE_AIRPCAP_API;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+@@ -342,7 +342,7 @@
+ Name="Debug No AirPcap|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="2"
+ >
+ <Tool
+@@ -364,7 +364,7 @@
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions"
+- PreprocessorDefinitions="LIBPCAP_EXPORTS;WIN32;_DEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_SNPRINTF;HAVE_VSNPRINTF;HAVE_REMOTE;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API"
++ PreprocessorDefinitions="LIBPCAP_EXPORTS;WIN32;_DEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+@@ -422,7 +422,7 @@
+ Name="Debug No AirPcap|x64"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="2"
+ >
+ <Tool
+@@ -445,7 +445,7 @@
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions"
+- PreprocessorDefinitions="LIBPCAP_EXPORTS;WIN32;_DEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_SNPRINTF;HAVE_VSNPRINTF;HAVE_REMOTE;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API"
++ PreprocessorDefinitions="LIBPCAP_EXPORTS;WIN32;_DEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+@@ -503,7 +503,7 @@
+ Name="Release No AirPcap|Win32"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x86"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+@@ -525,7 +525,7 @@
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions"
+- PreprocessorDefinitions="LIBPCAP_EXPORTS;WIN32;NDEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_SNPRINTF;HAVE_VSNPRINTF;HAVE_REMOTE;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API"
++ PreprocessorDefinitions="LIBPCAP_EXPORTS;WIN32;NDEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+@@ -582,7 +582,7 @@
+ Name="Release No AirPcap|x64"
+ OutputDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+ IntermediateDirectory="$(ProjectDir)\$(ConfigurationName)\x64"
+- ConfigurationType="2"
++ ConfigurationType="@LIBRARY_LINKAGE@"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+@@ -605,7 +605,7 @@
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions"
+- PreprocessorDefinitions="LIBPCAP_EXPORTS;WIN32;NDEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_SNPRINTF;HAVE_VSNPRINTF;HAVE_REMOTE;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API"
++ PreprocessorDefinitions="LIBPCAP_EXPORTS;WIN32;NDEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+diff --git a/wpcap/Win32-Extensions/version.rc b/wpcap/Win32-Extensions/version.rc
+index 056db10..fc9b0ee 100644
+--- a/wpcap/Win32-Extensions/version.rc
++++ b/wpcap/Win32-Extensions/version.rc
+@@ -6,7 +6,7 @@
+ //
+ // Generated from the TEXTINCLUDE 2 resource.
+ //
+-#include "afxres.h"
++#include "winres.h"
+
+ /////////////////////////////////////////////////////////////////////////////
+ #undef APSTUDIO_READONLY_SYMBOLS
+@@ -34,7 +34,7 @@ END
+
+ 2 TEXTINCLUDE
+ BEGIN
+- "#include ""afxres.h""\r\n"
++ "#include ""winres.h""\r\n"
+ "\0"
+ END
+
+diff --git a/wpcap/libpcap/Win32/Prj/libpcap.dsp b/wpcap/libpcap/Win32/Prj/libpcap.dsp
+index aa0c6fc..98ce24c 100644
+--- a/wpcap/libpcap/Win32/Prj/libpcap.dsp
++++ b/wpcap/libpcap/Win32/Prj/libpcap.dsp
+@@ -43,7 +43,7 @@ RSC=rc.exe
+ # PROP Intermediate_Dir "Release"
+ # PROP Target_Dir ""
+ # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
+-# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../lbl/" /I "../../bpf/" /I "../include/" /I "../../../../common" /I "../../../../dag/include" /I "../../../../dag/drv/windows" /D "NDEBUG" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D "_MBCS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "HAVE_ADDRINFO" /D "WIN32" /D _U_= /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "HAVE_TC_API" /YX /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@ /W3 /GX /O2 /I "../../" /I "../../lbl/" /I "../../bpf/" /I "../include/" /I "../../../../common" /I "../../../../dag/include" /I "../../../../dag/drv/windows" /D "NDEBUG" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D "_MBCS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "HAVE_ADDRINFO" /D "WIN32" /D _U_= /D "HAVE_VSNPRINTF" /D "HAVE_TC_API" /YX /FD /c
+ # ADD BASE RSC /l 0x409 /d "NDEBUG"
+ # ADD RSC /l 0x409 /d "NDEBUG"
+ BSC32=bscmake.exe
+@@ -66,7 +66,7 @@ LIB32=link.exe -lib
+ # PROP Intermediate_Dir "Debug"
+ # PROP Target_Dir ""
+ # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
+-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../lbl/" /I "../../bpf/" /I "../include/" /I "../../../../common" /I "../../../../dag/include" /I "../../../../dag/drv/windows" /D "_DEBUG" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D "_MBCS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "HAVE_ADDRINFO" /D "WIN32" /D _U_= /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "HAVE_TC_API" /YX /FD /GZ /c
++# ADD CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../../" /I "../../lbl/" /I "../../bpf/" /I "../include/" /I "../../../../common" /I "../../../../dag/include" /I "../../../../dag/drv/windows" /D "_DEBUG" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D "_MBCS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "HAVE_ADDRINFO" /D "WIN32" /D _U_= /D "HAVE_VSNPRINTF" /D "HAVE_TC_API" /YX /FD /GZ /c
+ # ADD BASE RSC /l 0x409 /d "_DEBUG"
+ # ADD RSC /l 0x409 /d "_DEBUG"
+ BSC32=bscmake.exe
+@@ -88,8 +88,8 @@ LIB32=link.exe -lib
+ # PROP Output_Dir "Debug_REMOTE"
+ # PROP Intermediate_Dir "Debug_REMOTE"
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../lbl/" /I "../../bpf/" /I "../include/" /I "../../../../common" /I "../../../../dag/include" /I "../../../../dag/drv/windows" /D "_DEBUG" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D "_MBCS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "HAVE_ADDRINFO" /D "WIN32" /D _U_= /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /YX /FD /GZ /c
+-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../lbl/" /I "../../bpf/" /I "../include/" /I "../../../../common" /I "../../../../dag/include" /I "../../../../dag/drv/windows" /D "_DEBUG" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D "_MBCS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "HAVE_ADDRINFO" /D "WIN32" /D _U_= /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "HAVE_REMOTE" /D "HAVE_TC_API" /YX /FD /GZ /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../../" /I "../../lbl/" /I "../../bpf/" /I "../include/" /I "../../../../common" /I "../../../../dag/include" /I "../../../../dag/drv/windows" /D "_DEBUG" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D "_MBCS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "HAVE_ADDRINFO" /D "WIN32" /D _U_= /D "HAVE_VSNPRINTF" /YX /FD /GZ /c
++# ADD CPP /nologo /@CRT_LINKAGE@d /W3 /Gm /GX /ZI /Od /I "../../" /I "../../lbl/" /I "../../bpf/" /I "../include/" /I "../../../../common" /I "../../../../dag/include" /I "../../../../dag/drv/windows" /D "_DEBUG" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D "_MBCS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "HAVE_ADDRINFO" /D "WIN32" /D _U_= /D "HAVE_VSNPRINTF" /D "HAVE_REMOTE" /D "HAVE_TC_API" /YX /FD /GZ /c
+ # ADD BASE RSC /l 0x409 /d "_DEBUG"
+ # ADD RSC /l 0x409 /d "_DEBUG"
+ BSC32=bscmake.exe
+@@ -111,8 +111,8 @@ LIB32=link.exe -lib
+ # PROP Output_Dir "Release_REMOTE"
+ # PROP Intermediate_Dir "Release_REMOTE"
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../lbl/" /I "../../bpf/" /I "../include/" /I "../../../../common" /I "../../../../dag/include" /I "../../../../dag/drv/windows" /D "NDEBUG" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D "_MBCS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "HAVE_ADDRINFO" /D "WIN32" /D _U_= /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /YX /FD /c
+-# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../lbl/" /I "../../bpf/" /I "../include/" /I "../../../../common" /I "../../../../dag/include" /I "../../../../dag/drv/windows" /D "NDEBUG" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D "_MBCS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "HAVE_ADDRINFO" /D "WIN32" /D _U_= /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "HAVE_REMOTE" /D "HAVE_TC_API" /YX /FD /c
++# ADD BASE CPP /nologo /@CRT_LINKAGE@ /W3 /GX /O2 /I "../../" /I "../../lbl/" /I "../../bpf/" /I "../include/" /I "../../../../common" /I "../../../../dag/include" /I "../../../../dag/drv/windows" /D "NDEBUG" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D "_MBCS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "HAVE_ADDRINFO" /D "WIN32" /D _U_= /D "HAVE_VSNPRINTF" /YX /FD /c
++# ADD CPP /nologo /@CRT_LINKAGE@ /W3 /GX /O2 /I "../../" /I "../../lbl/" /I "../../bpf/" /I "../include/" /I "../../../../common" /I "../../../../dag/include" /I "../../../../dag/drv/windows" /D "NDEBUG" /D "YY_NEVER_INTERACTIVE" /D yylval=pcap_lval /D "_USRDLL" /D "LIBPCAP_EXPORTS" /D "HAVE_STRERROR" /D "__STDC__" /D "INET6" /D "_WINDOWS" /D "_MBCS" /D SIZEOF_CHAR=1 /D SIZEOF_SHORT=2 /D SIZEOF_INT=4 /D "HAVE_ADDRINFO" /D "WIN32" /D _U_= /D "HAVE_VSNPRINTF" /D "HAVE_REMOTE" /D "HAVE_TC_API" /YX /FD /c
+ # ADD BASE RSC /l 0x409 /d "NDEBUG"
+ # ADD RSC /l 0x409 /d "NDEBUG"
+ BSC32=bscmake.exe
+diff --git a/wpcap/libpcap/pcap-int.h b/wpcap/libpcap/pcap-int.h
+index f20ce2e..d6d7559 100644
+--- a/wpcap/libpcap/pcap-int.h
++++ b/wpcap/libpcap/pcap-int.h
+@@ -456,8 +456,9 @@ int pcap_read(pcap_t *, int cnt, pcap_handler, u_char *);
+ #include <stdarg.h>
+
+ #if !defined(HAVE_SNPRINTF)
+-#define snprintf pcap_snprintf
+-extern int snprintf (char *, size_t, const char *, ...);
++#define snprintf _snprintf
++//#define snprintf pcap_snprintf
++//extern int snprintf (char *, size_t, const char *, ...);
+ #endif
+
+ #if !defined(HAVE_VSNPRINTF)
+diff --git a/wpcap/libpcap/rpcapd/rpcapd.dsp b/wpcap/libpcap/rpcapd/rpcapd.dsp
+index f7c00af..1cd823e 100644
+--- a/wpcap/libpcap/rpcapd/rpcapd.dsp
++++ b/wpcap/libpcap/rpcapd/rpcapd.dsp
+@@ -44,8 +44,8 @@ RSC=rc.exe
+ # PROP Intermediate_Dir "Debug_REMOTE"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../Win32/Include" /I "../../../Common/" /I "win32-pthreads" /D "_DEBUG" /D "_CONSOLE" /D "WIN32" /D "_MBCS" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "HAVE_REMOTE" /FR /YX /FD /GZ /c
+-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../Win32/Include" /I "../../../Common/" /I "win32-pthreads" /D "_DEBUG" /D "_CONSOLE" /D "WIN32" /D "_MBCS" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "HAVE_REMOTE" /FR /YX /FD /GZ /c
++# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../Win32/Include" /I "../../../Common/" /I "win32-pthreads" /D "_DEBUG" /D "_CONSOLE" /D "WIN32" /D "_MBCS" /D "HAVE_VSNPRINTF" /D "HAVE_REMOTE" /FR /YX /FD /GZ /c
++# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../Win32/Include" /I "../../../Common/" /I "win32-pthreads" /D "_DEBUG" /D "_CONSOLE" /D "WIN32" /D "_MBCS" /D "HAVE_VSNPRINTF" /D "HAVE_REMOTE" /FR /YX /FD /GZ /c
+ # ADD BASE RSC /l 0x409 /d "_DEBUG"
+ # ADD RSC /l 0x409 /d "_DEBUG"
+ BSC32=bscmake.exe
+@@ -69,8 +69,8 @@ LINK32=link.exe
+ # PROP Intermediate_Dir "Debug_REMOTE_DAG"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../Win32/Include" /I "../../../Common/" /I "win32-pthreads" /D "_DEBUG" /D "_CONSOLE" /D "WIN32" /D "_MBCS" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "HAVE_REMOTE" /FR /YX /FD /GZ /c
+-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../Win32/Include" /I "../../../Common/" /I "win32-pthreads" /D "_DEBUG" /D "_CONSOLE" /D "WIN32" /D "_MBCS" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "HAVE_REMOTE" /D "HAVE_DAG_API" /FR /YX /FD /GZ /c
++# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../Win32/Include" /I "../../../Common/" /I "win32-pthreads" /D "_DEBUG" /D "_CONSOLE" /D "WIN32" /D "_MBCS" /D "HAVE_VSNPRINTF" /D "HAVE_REMOTE" /FR /YX /FD /GZ /c
++# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /I "../bpf/" /I "../Win32/Include" /I "../../../Common/" /I "win32-pthreads" /D "_DEBUG" /D "_CONSOLE" /D "WIN32" /D "_MBCS" /D "HAVE_VSNPRINTF" /D "HAVE_REMOTE" /D "HAVE_DAG_API" /FR /YX /FD /GZ /c
+ # ADD BASE RSC /l 0x409 /d "_DEBUG"
+ # ADD RSC /l 0x409 /d "_DEBUG"
+ BSC32=bscmake.exe
+@@ -94,8 +94,8 @@ LINK32=link.exe
+ # PROP Intermediate_Dir "Release_REMOTE"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../Win32/Include" /I "../../../Common/" /I "win32-pthreads" /D "NDEBUG" /D "_CONSOLE" /D "WIN32" /D "_MBCS" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "HAVE_REMOTE" /YX /FD /c
+-# ADD CPP /nologo /W3 /GX /Zi /O2 /I "../" /I "../bpf/" /I "../Win32/Include" /I "../../../Common/" /I "win32-pthreads" /D "NDEBUG" /D "_CONSOLE" /D "WIN32" /D "_MBCS" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "HAVE_REMOTE" /YX /FD /c
++# ADD BASE CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../Win32/Include" /I "../../../Common/" /I "win32-pthreads" /D "NDEBUG" /D "_CONSOLE" /D "WIN32" /D "_MBCS" /D "HAVE_VSNPRINTF" /D "HAVE_REMOTE" /YX /FD /c
++# ADD CPP /nologo /W3 /GX /Zi /O2 /I "../" /I "../bpf/" /I "../Win32/Include" /I "../../../Common/" /I "win32-pthreads" /D "NDEBUG" /D "_CONSOLE" /D "WIN32" /D "_MBCS" /D "HAVE_VSNPRINTF" /D "HAVE_REMOTE" /YX /FD /c
+ # ADD BASE RSC /l 0x409 /d "NDEBUG"
+ # ADD RSC /l 0x409 /d "NDEBUG"
+ BSC32=bscmake.exe
+@@ -120,8 +120,8 @@ LINK32=link.exe
+ # PROP Intermediate_Dir "Release_REMOTE_DAG"
+ # PROP Ignore_Export_Lib 0
+ # PROP Target_Dir ""
+-# ADD BASE CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../Win32/Include" /I "../../../Common/" /I "win32-pthreads" /D "NDEBUG" /D "_CONSOLE" /D "WIN32" /D "_MBCS" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "HAVE_REMOTE" /YX /FD /c
+-# ADD CPP /nologo /W3 /GX /Zi /O2 /I "../" /I "../bpf/" /I "../Win32/Include" /I "../../../Common/" /I "win32-pthreads" /D "NDEBUG" /D "_CONSOLE" /D "WIN32" /D "_MBCS" /D "HAVE_SNPRINTF" /D "HAVE_VSNPRINTF" /D "HAVE_REMOTE" /D "HAVE_DAG_API" /YX /FD /c
++# ADD BASE CPP /nologo /W3 /GX /O2 /I "../" /I "../bpf/" /I "../Win32/Include" /I "../../../Common/" /I "win32-pthreads" /D "NDEBUG" /D "_CONSOLE" /D "WIN32" /D "_MBCS" /D "HAVE_VSNPRINTF" /D "HAVE_REMOTE" /YX /FD /c
++# ADD CPP /nologo /W3 /GX /Zi /O2 /I "../" /I "../bpf/" /I "../Win32/Include" /I "../../../Common/" /I "win32-pthreads" /D "NDEBUG" /D "_CONSOLE" /D "WIN32" /D "_MBCS" /D "HAVE_VSNPRINTF" /D "HAVE_REMOTE" /D "HAVE_DAG_API" /YX /FD /c
+ # ADD BASE RSC /l 0x409 /d "NDEBUG"
+ # ADD RSC /l 0x409 /d "NDEBUG"
+ BSC32=bscmake.exe
+diff --git a/wpcap/libpcap/rpcapd/rpcapd.vcproj b/wpcap/libpcap/rpcapd/rpcapd.vcproj
+index 882fbac..b89f1f9 100644
+--- a/wpcap/libpcap/rpcapd/rpcapd.vcproj
++++ b/wpcap/libpcap/rpcapd/rpcapd.vcproj
+@@ -41,7 +41,7 @@
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\;..\Win32\include;..\..\..\Common;.\Win32-pthreads;..\..\Win32-Extensions"
+- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_SNPRINTF;HAVE_VSNPRINTF;HAVE_REMOTE;WPCAP;_CRT_SECURE_NO_DEPRECATE;HAVE_TC_API"
++ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_VSNPRINTF;HAVE_REMOTE;WPCAP;_CRT_SECURE_NO_DEPRECATE;HAVE_TC_API"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+@@ -119,7 +119,7 @@
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\;..\Win32\include;..\..\..\Common;.\Win32-pthreads;..\..\Win32-Extensions"
+- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_SNPRINTF;HAVE_VSNPRINTF;HAVE_REMOTE;WPCAP;_CRT_SECURE_NO_DEPRECATE;HAVE_TC_API"
++ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_VSNPRINTF;HAVE_REMOTE;WPCAP;_CRT_SECURE_NO_DEPRECATE;HAVE_TC_API"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+diff --git a/wpcap/libpcap/rpcapd/version.rc b/wpcap/libpcap/rpcapd/version.rc
+index 056db10..fc9b0ee 100644
+--- a/wpcap/libpcap/rpcapd/version.rc
++++ b/wpcap/libpcap/rpcapd/version.rc
+@@ -6,7 +6,7 @@
+ //
+ // Generated from the TEXTINCLUDE 2 resource.
+ //
+-#include "afxres.h"
++#include "winres.h"
+
+ /////////////////////////////////////////////////////////////////////////////
+ #undef APSTUDIO_READONLY_SYMBOLS
+@@ -34,7 +34,7 @@ END
+
+ 2 TEXTINCLUDE
+ BEGIN
+- "#include ""afxres.h""\r\n"
++ "#include ""winres.h""\r\n"
+ "\0"
+ END
+
diff --git a/ports/wt/CONTROL b/ports/wt/CONTROL
index 5efc3e24c..43fa044ef 100644
--- a/ports/wt/CONTROL
+++ b/ports/wt/CONTROL
@@ -1,4 +1,4 @@
Source: wt
-Version: 3.3.7-1
+Version: 3.3.7-2
Description: Wt is a C++ library for developing web applications
Build-Depends: boost, openssl, sqlite3, libpq, pango
diff --git a/ports/xlnt/CONTROL b/ports/xlnt/CONTROL
index 0a9a86c0a..907b66b16 100644
--- a/ports/xlnt/CONTROL
+++ b/ports/xlnt/CONTROL
@@ -1,4 +1,3 @@
Source: xlnt
-Version: 0.9.4
+Version: 1.1.0-1
Description: Cross-platform user-friendly xlsx library for C++14
-Build-Depends: zlib, cryptopp, expat \ No newline at end of file
diff --git a/ports/xlnt/portfile.cmake b/ports/xlnt/portfile.cmake
index b4a0f5e62..e514cf8eb 100644
--- a/ports/xlnt/portfile.cmake
+++ b/ports/xlnt/portfile.cmake
@@ -1,12 +1,12 @@
include(vcpkg_common_functions)
-set(XLNT_REV 9dccde4bff34cfbafbdc3811fdd05326ac6bd0aa)
-set(XLNT_HASH 85bb651e42e33a829672ee76d14504fcbab683bb6b468d728837f1163b5ca1395c9aa80b3bed91a243e065599cdbf23cad769375f77792f71c173b02061771af)
-set(XLNT_SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/xlnt-${XLNT_REV})
+set(XLNT_VERSION 1.1.0)
+set(XLNT_HASH f0c59a2b241c6b219fbd8bb39705847e2b31332e413bc4aff7e0a8d4d4b9ef6750c03ecc49a196f647fdf60c3bec9f06c800bdb53b56648d2ba9fab359623f95)
+set(XLNT_SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/xlnt-${XLNT_VERSION})
vcpkg_download_distfile(ARCHIVE
- URLS https://github.com/tfussell/xlnt/archive/${XLNT_REV}.zip
- FILENAME xlnt-${XLNT_REV}.zip
+ URLS https://github.com/tfussell/xlnt/archive/v${XLNT_VERSION}.zip
+ FILENAME xlnt-${XLNT_VERSION}.zip
SHA512 ${XLNT_HASH}
)
diff --git a/ports/xxhash/CONTROL b/ports/xxhash/CONTROL
index 171a1b816..3ca3cb512 100644
--- a/ports/xxhash/CONTROL
+++ b/ports/xxhash/CONTROL
@@ -1,3 +1,3 @@
Source: xxhash
-Version: 0.6.2
+Version: 0.6.3-1
Description: Extremely fast hash algorithm
diff --git a/ports/xxhash/portfile.cmake b/ports/xxhash/portfile.cmake
index e1b913a44..3330174b8 100644
--- a/ports/xxhash/portfile.cmake
+++ b/ports/xxhash/portfile.cmake
@@ -1,24 +1,15 @@
include(vcpkg_common_functions)
-set(XXHASH_VERSION 0.6.2)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/xxhash-${XXHASH_VERSION})
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/Cyan4973/xxHash/archive/v${XXHASH_VERSION}.zip"
- FILENAME "xxhash-${XXHASH_VERSION}.zip"
- SHA512 a2364421f46116a6e7f6bd686665fe4ee58670af6dad611ca626283c1b448fb1120ab3495903a5c8653d341ef22c0d244604edc20bf82a42734ffb4b871e2724)
-
-vcpkg_extract_source_archive(${ARCHIVE})
-
-if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
- set(XXH_STATIC ON)
-else()
- set(XXH_STATIC OFF)
-endif()
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Cyan4973/xxHash
+ REF v0.6.3
+ SHA512 5b11009ecf142725c642be55e9072792709bd40d8674f30afdc13f9b9fd6936ea69e683c7b9df212b5126f9ba3925969fc0b65bb5518506b501bb339d3a29372
+ HEAD_REF dev)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}/cmake_unofficial
PREFER_NINJA
OPTIONS
- -DBUILD_STATIC_LIBS=${XXH_STATIC}
-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON)
vcpkg_install_cmake()
@@ -28,6 +19,10 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
file(READ ${CURRENT_PACKAGES_DIR}/include/xxhash.h XXHASH_H)
string(REPLACE "# define XXH_PUBLIC_API /* do nothing */" "# define XXH_PUBLIC_API __declspec(dllimport)" XXHASH_H "${XXHASH_H}")
file(WRITE ${CURRENT_PACKAGES_DIR}/include/xxhash.h "${XXHASH_H}")
+
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/xxhsum.exe ${CURRENT_PACKAGES_DIR}/debug/bin/xxhsum.exe)
+else()
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
diff --git a/ports/yaml-cpp/CONTROL b/ports/yaml-cpp/CONTROL
index 02490ca3a..0a9823da9 100644
--- a/ports/yaml-cpp/CONTROL
+++ b/ports/yaml-cpp/CONTROL
@@ -1,3 +1,3 @@
Source: yaml-cpp
-Version: 0.5.4-rc-1
+Version: 0.5.4-rc-2
Description: yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec.
diff --git a/ports/yaml-cpp/portfile.cmake b/ports/yaml-cpp/portfile.cmake
index 8d20458cb..82a0b3897 100644
--- a/ports/yaml-cpp/portfile.cmake
+++ b/ports/yaml-cpp/portfile.cmake
@@ -3,7 +3,7 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO jbeder/yaml-cpp
REF 380ecb404ef99ba132154ed43dd2b84136b30b14
- SHA512 36fa4432f1ee94049dc67c52c180efe1eddc7678bfc545437b0d751be1eecd94d541daabdbcb01acbb84a321f2c80d609ba2927c8458ad8499e007123ae25d4e
+ SHA512 30d344d271d15163be755c998b28750857355f26a3fdbaf620932b60e419a7f72884bc7fd65bf3076f4e5315e0f82aab6011406a8146e2c01ba3fc267723d5bc
HEAD_REF master
)
diff --git a/ports/zeromq/CONTROL b/ports/zeromq/CONTROL
index 6b82f310a..b850b71b9 100644
--- a/ports/zeromq/CONTROL
+++ b/ports/zeromq/CONTROL
@@ -1,3 +1,3 @@
Source: zeromq
-Version: 4.2.2
+Version: 20170908-18498f620f0f6d4076981ea16eb5760fe4d28dc2-1
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 a530598eb..77d0da23d 100644
--- a/ports/zeromq/portfile.cmake
+++ b/ports/zeromq/portfile.cmake
@@ -1,75 +1,44 @@
-set(ZEROMQ_VERSION 4.2.2)
-set(ZEROMQ_HASH 4069813374d4e8d4c0f8debbe85472d0bd24cf644fb1bce748920eadffb81c429d28f523ef424df84fcaa7082b984fab8da57192802585811d37cff066f4e40c)
-
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libzmq-${ZEROMQ_VERSION})
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/zeromq/libzmq/archive/v${ZEROMQ_VERSION}.tar.gz"
- FILENAME "libzmq-${ZEROMQ_VERSION}.tar.gz"
- SHA512 ${ZEROMQ_HASH}
-)
-vcpkg_extract_source_archive(${ARCHIVE})
-# Map from triplet "x86" to "win32" as used in the vcxproj file.
-if (TRIPLET_SYSTEM_ARCH MATCHES "x86")
- set(MSBUILD_PLATFORM "Win32")
-else ()
- set(MSBUILD_PLATFORM ${TRIPLET_SYSTEM_ARCH})
-endif()
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO zeromq/libzmq
+ REF 18498f620f0f6d4076981ea16eb5760fe4d28dc2
+ SHA512 0c4a5c72455411f47283da3cad381600101be19a62437ad8e2c38e5f18fb6d621a3136e402c6eb9ba153f3d6333da9902335c2dacd8405094d4d1269df28d4af
+ HEAD_REF master
+)
-if(VCPKG_PLATFORM_TOOLSET MATCHES "v141")
- set(MSVS_VERSION 2017)
-else()
- set(MSVS_VERSION 2015)
-endif()
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES ${ARCHIVE}
+)
-if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- vcpkg_build_msbuild(
- PROJECT_PATH ${SOURCE_PATH}/builds/msvc/vs${MSVS_VERSION}/libzmq/libzmq.vcxproj
- RELEASE_CONFIGURATION ReleaseDLL
- DEBUG_CONFIGURATION DebugDLL
- )
- file(INSTALL
- ${SOURCE_PATH}/bin/${MSBUILD_PLATFORM}/Debug/${VCPKG_PLATFORM_TOOLSET}/dynamic/libzmq.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
- )
- file(INSTALL
- ${SOURCE_PATH}/bin/${MSBUILD_PLATFORM}/Release/${VCPKG_PLATFORM_TOOLSET}/dynamic/libzmq.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/bin
- )
- file(INSTALL
- ${SOURCE_PATH}/bin/${MSBUILD_PLATFORM}/Debug/${VCPKG_PLATFORM_TOOLSET}/dynamic/libzmq.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
- )
- file(INSTALL
- ${SOURCE_PATH}/bin/${MSBUILD_PLATFORM}/Release/${VCPKG_PLATFORM_TOOLSET}/dynamic/libzmq.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/lib
- )
- vcpkg_copy_pdbs()
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC)
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED)
+
+set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} \"-I${SOURCE_PATH}/builds/msvc\"")
+set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} \"-I${SOURCE_PATH}/builds/msvc\"")
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DZMQ_BUILD_TESTS=OFF
+ -DPOLLER=select
+ -DBUILD_STATIC=${BUILD_STATIC}
+ -DBUILD_SHARED=${BUILD_SHARED}
+ -DWITH_PERF_TOOL=OFF
+ OPTIONS_DEBUG
+ "-DCMAKE_PDB_OUTPUT_DIRECTORY=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg"
+)
-else()
- vcpkg_build_msbuild(
- PROJECT_PATH ${SOURCE_PATH}/builds/msvc/vs${MSVS_VERSION}/libzmq/libzmq.vcxproj
- RELEASE_CONFIGURATION ReleaseLIB
- DEBUG_CONFIGURATION DebugLIB
- )
- file(INSTALL
- ${SOURCE_PATH}/bin/${MSBUILD_PLATFORM}/Debug/${VCPKG_PLATFORM_TOOLSET}/static/libzmq.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
- )
- file(INSTALL
- ${SOURCE_PATH}/bin/${MSBUILD_PLATFORM}/Release/${VCPKG_PLATFORM_TOOLSET}/static/libzmq.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/lib
- )
-endif()
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
-file(INSTALL
- ${SOURCE_PATH}/include/
- DESTINATION ${CURRENT_PACKAGES_DIR}/include
-)
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/ZeroMQ)
# Handle copyright
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/zeromq)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/zeromq/COPYING ${CURRENT_PACKAGES_DIR}/share/zeromq/copyright)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/zmq/COPYING.LESSER.txt ${CURRENT_PACKAGES_DIR}/share/zeromq/copyright)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share ${CURRENT_PACKAGES_DIR}/share/zmq)
diff --git a/ports/zlib/CONTROL b/ports/zlib/CONTROL
index def1ef6be..c55963783 100644
--- a/ports/zlib/CONTROL
+++ b/ports/zlib/CONTROL
@@ -1,3 +1,3 @@
Source: zlib
-Version: 1.2.11
-Description: A compression library \ No newline at end of file
+Version: 1.2.11-3
+Description: A compression library
diff --git a/ports/zlib/cmake_dont_build_more_than_needed.patch b/ports/zlib/cmake_dont_build_more_than_needed.patch
new file mode 100644
index 000000000..229a2d055
--- /dev/null
+++ b/ports/zlib/cmake_dont_build_more_than_needed.patch
@@ -0,0 +1,42 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0fe939d..8d2f5f1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -7,6 +7,7 @@ set(VERSION "1.2.11")
+
+ option(ASM686 "Enable building i686 assembly implementation")
+ option(AMD64 "Enable building amd64 assembly implementation")
++option(SKIP_BUILD_EXAMPLES "Skip build of the examples" OFF)
+
+ set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables")
+ set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries")
+@@ -211,7 +212,15 @@ elseif(BUILD_SHARED_LIBS AND WIN32)
+ endif()
+
+ if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
+- install(TARGETS zlib zlibstatic
++ if (BUILD_SHARED_LIBS)
++ set(ZLIB_TARGETS zlib)
++ set_target_properties(zlibstatic PROPERTIES EXCLUDE_FROM_ALL ON)
++ else()
++ set(ZLIB_TARGETS zlibstatic)
++ set_target_properties(zlib PROPERTIES EXCLUDE_FROM_ALL ON)
++ endif()
++
++ install(TARGETS ${ZLIB_TARGETS}
+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" )
+@@ -230,6 +239,7 @@ endif()
+ # Example binaries
+ #============================================================================
+
++if (NOT SKIP_BUILD_EXAMPLES)
+ add_executable(example test/example.c)
+ target_link_libraries(example zlib)
+ add_test(example example)
+@@ -247,3 +257,4 @@ if(HAVE_OFF64_T)
+ target_link_libraries(minigzip64 zlib)
+ set_target_properties(minigzip64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64")
+ endif()
++endif()
diff --git a/ports/zlib/portfile.cmake b/ports/zlib/portfile.cmake
index 0d53d9e89..c41d61bda 100644
--- a/ports/zlib/portfile.cmake
+++ b/ports/zlib/portfile.cmake
@@ -7,10 +7,18 @@ vcpkg_download_distfile(ARCHIVE_FILE
)
vcpkg_extract_source_archive(${ARCHIVE_FILE})
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/cmake_dont_build_more_than_needed.patch
+)
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
OPTIONS
-DSKIP_INSTALL_FILES=ON
+ -DSKIP_BUILD_EXAMPLES=ON
OPTIONS_DEBUG
-DSKIP_INSTALL_HEADERS=ON
)
@@ -18,11 +26,7 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
# Both dynamic and static are built, so keep only the one needed
-if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/zlibstatic.lib ${CURRENT_PACKAGES_DIR}/debug/lib/zlibstaticd.lib)
-else()
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/zlib.lib ${CURRENT_PACKAGES_DIR}/debug/lib/zlibd.lib)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/zlibstatic.lib ${CURRENT_PACKAGES_DIR}/lib/zlib.lib)
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/zlibstaticd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/zlibd.lib)
endif()
diff --git a/ports/zstd/CONTROL b/ports/zstd/CONTROL
index ba363a585..c6c5cc8e3 100644
--- a/ports/zstd/CONTROL
+++ b/ports/zstd/CONTROL
@@ -1,3 +1,3 @@
Source: zstd
-Version: 1.3.1
+Version: 1.3.1-1
Description: Zstandard - Fast real-time compression algorithm http://www.zstd.net
diff --git a/ports/zziplib/CONTROL b/ports/zziplib/CONTROL
index 235b72c63..2b7447609 100644
--- a/ports/zziplib/CONTROL
+++ b/ports/zziplib/CONTROL
@@ -1,4 +1,4 @@
Source: zziplib
-Version: 0.13.62
+Version: 0.13.62-1
Build-Depends: zlib
Description: library providing read access on ZIP-archives
diff --git a/scripts/cmake/vcpkg_common_functions.cmake b/scripts/cmake/vcpkg_common_functions.cmake
index 29f0f8dff..81e8e5813 100644
--- a/scripts/cmake/vcpkg_common_functions.cmake
+++ b/scripts/cmake/vcpkg_common_functions.cmake
@@ -6,6 +6,7 @@ include(vcpkg_execute_required_process_repeat)
include(vcpkg_find_acquire_program)
include(vcpkg_fixup_cmake_targets)
include(vcpkg_from_github)
+include(vcpkg_from_bitbucket)
include(vcpkg_build_cmake)
include(vcpkg_build_msbuild)
include(vcpkg_build_qmake)
diff --git a/scripts/cmake/vcpkg_configure_cmake.cmake b/scripts/cmake/vcpkg_configure_cmake.cmake
index e43075961..738f98731 100644
--- a/scripts/cmake/vcpkg_configure_cmake.cmake
+++ b/scripts/cmake/vcpkg_configure_cmake.cmake
@@ -149,22 +149,22 @@ function(vcpkg_configure_cmake)
if(DEFINED VCPKG_CRT_LINKAGE AND VCPKG_CRT_LINKAGE STREQUAL dynamic)
list(APPEND _csc_OPTIONS_DEBUG
- "-DCMAKE_CXX_FLAGS_DEBUG=/D_DEBUG /MDd /Zi /Ob0 /Od /RTC1 ${VCPKG_CXX_FLAGS_DEBUG}"
- "-DCMAKE_C_FLAGS_DEBUG=/D_DEBUG /MDd /Zi /Ob0 /Od /RTC1 ${VCPKG_C_FLAGS_DEBUG}"
+ "-DCMAKE_CXX_FLAGS_DEBUG=/D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 ${VCPKG_CXX_FLAGS_DEBUG}"
+ "-DCMAKE_C_FLAGS_DEBUG=/D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 ${VCPKG_C_FLAGS_DEBUG}"
)
list(APPEND _csc_OPTIONS_RELEASE
- "-DCMAKE_CXX_FLAGS_RELEASE=/MD /O2 /Oi /Gy /DNDEBUG /Zi ${VCPKG_CXX_FLAGS_RELEASE}"
- "-DCMAKE_C_FLAGS_RELEASE=/MD /O2 /Oi /Gy /DNDEBUG /Zi ${VCPKG_C_FLAGS_RELEASE}"
+ "-DCMAKE_CXX_FLAGS_RELEASE=/MD /O2 /Oi /Gy /DNDEBUG /Z7 ${VCPKG_CXX_FLAGS_RELEASE}"
+ "-DCMAKE_C_FLAGS_RELEASE=/MD /O2 /Oi /Gy /DNDEBUG /Z7 ${VCPKG_C_FLAGS_RELEASE}"
)
elseif(DEFINED VCPKG_CRT_LINKAGE AND VCPKG_CRT_LINKAGE STREQUAL static)
list(APPEND _csc_OPTIONS_DEBUG
- "-DCMAKE_CXX_FLAGS_DEBUG=/D_DEBUG /MTd /Zi /Ob0 /Od /RTC1 ${VCPKG_CXX_FLAGS_DEBUG}"
- "-DCMAKE_C_FLAGS_DEBUG=/D_DEBUG /MTd /Zi /Ob0 /Od /RTC1 ${VCPKG_C_FLAGS_DEBUG}"
+ "-DCMAKE_CXX_FLAGS_DEBUG=/D_DEBUG /MTd /Z7 /Ob0 /Od /RTC1 ${VCPKG_CXX_FLAGS_DEBUG}"
+ "-DCMAKE_C_FLAGS_DEBUG=/D_DEBUG /MTd /Z7 /Ob0 /Od /RTC1 ${VCPKG_C_FLAGS_DEBUG}"
)
list(APPEND _csc_OPTIONS_RELEASE
- "-DCMAKE_CXX_FLAGS_RELEASE=/MT /O2 /Oi /Gy /DNDEBUG /Zi ${VCPKG_CXX_FLAGS_RELEASE}"
- "-DCMAKE_C_FLAGS_RELEASE=/MT /O2 /Oi /Gy /DNDEBUG /Zi ${VCPKG_C_FLAGS_RELEASE}"
+ "-DCMAKE_CXX_FLAGS_RELEASE=/MT /O2 /Oi /Gy /DNDEBUG /Z7 ${VCPKG_CXX_FLAGS_RELEASE}"
+ "-DCMAKE_C_FLAGS_RELEASE=/MT /O2 /Oi /Gy /DNDEBUG /Z7 ${VCPKG_C_FLAGS_RELEASE}"
)
endif()
diff --git a/scripts/cmake/vcpkg_configure_meson.cmake b/scripts/cmake/vcpkg_configure_meson.cmake
index 277f91e11..143bb74de 100644
--- a/scripts/cmake/vcpkg_configure_meson.cmake
+++ b/scripts/cmake/vcpkg_configure_meson.cmake
@@ -9,17 +9,17 @@ function(vcpkg_configure_meson)
set(MESON_COMMON_CXXFLAGS "${MESON_COMMON_CXXFLAGS} /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc")
if(DEFINED VCPKG_CRT_LINKAGE AND VCPKG_CRT_LINKAGE STREQUAL dynamic)
- set(MESON_DEBUG_CFLAGS "${MESON_DEBUG_CFLAGS} /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1")
- set(MESON_DEBUG_CXXFLAGS "${MESON_DEBUG_CXXFLAGS} /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1")
+ set(MESON_DEBUG_CFLAGS "${MESON_DEBUG_CFLAGS} /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1")
+ set(MESON_DEBUG_CXXFLAGS "${MESON_DEBUG_CXXFLAGS} /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1")
- set(MESON_RELEASE_CFLAGS "${MESON_RELEASE_CFLAGS} /MD /O2 /Oi /Gy /DNDEBUG /Zi")
- set(MESON_RELEASE_CXXFLAGS "${MESON_RELEASE_CXXFLAGS} /MD /O2 /Oi /Gy /DNDEBUG /Zi")
+ set(MESON_RELEASE_CFLAGS "${MESON_RELEASE_CFLAGS} /MD /O2 /Oi /Gy /DNDEBUG /Z7")
+ set(MESON_RELEASE_CXXFLAGS "${MESON_RELEASE_CXXFLAGS} /MD /O2 /Oi /Gy /DNDEBUG /Z7")
elseif(DEFINED VCPKG_CRT_LINKAGE AND VCPKG_CRT_LINKAGE STREQUAL static)
- set(MESON_DEBUG_CFLAGS "${MESON_DEBUG_CFLAGS} /D_DEBUG /MTd /Zi /Ob0 /Od /RTC1")
- set(MESON_DEBUG_CXXFLAGS "${MESON_DEBUG_CXXFLAGS} /D_DEBUG /MTd /Zi /Ob0 /Od /RTC1")
+ set(MESON_DEBUG_CFLAGS "${MESON_DEBUG_CFLAGS} /D_DEBUG /MTd /Z7 /Ob0 /Od /RTC1")
+ set(MESON_DEBUG_CXXFLAGS "${MESON_DEBUG_CXXFLAGS} /D_DEBUG /MTd /Z7 /Ob0 /Od /RTC1")
- set(MESON_RELEASE_CFLAGS "${MESON_RELEASE_CFLAGS} /MT /O2 /Oi /Gy /DNDEBUG /Zi")
- set(MESON_RELEASE_CXXFLAGS "${MESON_RELEASE_CXXFLAGS} /MT /O2 /Oi /Gy /DNDEBUG /Zi")
+ set(MESON_RELEASE_CFLAGS "${MESON_RELEASE_CFLAGS} /MT /O2 /Oi /Gy /DNDEBUG /Z7")
+ set(MESON_RELEASE_CXXFLAGS "${MESON_RELEASE_CXXFLAGS} /MT /O2 /Oi /Gy /DNDEBUG /Z7")
endif()
set(MESON_COMMON_LDFLAGS "${MESON_COMMON_LDFLAGS} /DEBUG")
diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake
index fef62da53..3c6dfae08 100644
--- a/scripts/cmake/vcpkg_find_acquire_program.cmake
+++ b/scripts/cmake/vcpkg_find_acquire_program.cmake
@@ -66,31 +66,19 @@ function(vcpkg_find_acquire_program VAR)
set(HASH 850b26be5bbbdaeaf45ac39dd27f69f1a85e600c35afbd16b9f621396b3c7a19863ea3ff316b025b578fce0a8280eef2203306a2b3e46ee1389abb65313fb720)
elseif(VAR MATCHES "PYTHON3")
set(PROGNAME python)
- set(PATHS ${DOWNLOADS}/tools/python)
- set(URL "https://www.python.org/ftp/python/3.5.3/python-3.5.3-embed-win32.zip")
- set(ARCHIVE "python-3.5.3-embed-win32.zip")
- set(HASH c8cfdc09d052dc27e4380e8e4bf0d32a4c0def7e03896c1fa6cabc26dde78bb74dbb04e3673cc36e3e307d65a1ef284d69174f0cc80008c83bc6178f192ac5cf)
+ set(SUBDIR "python3")
+ set(PATHS ${DOWNLOADS}/tools/python/${SUBDIR})
+ set(URL "https://www.python.org/ftp/python/3.5.4/python-3.5.4-embed-win32.zip")
+ set(ARCHIVE "python-3.5.4-embed-win32.zip")
+ set(HASH b5240fdc95088c2d7f65d2dd598650f8dd106b49589d94156bd4a078b108c6cabbe7a38ef73e2b2cf00e8312a93d2e587eac2c54ce85540d3c7a26cc60013156)
elseif(VAR MATCHES "PYTHON2")
- find_program(PYTHON2 NAMES python2 python PATHS C:/python27 c:/Python27amd64 ENV PYTHON)
- if(NOT PYTHON2 MATCHES "NOTFOUND")
- execute_process(
- COMMAND ${PYTHON2} --version
- OUTPUT_VARIABLE PYTHON_VER_CHECK_OUT
- ERROR_VARIABLE PYTHON_VER_CHECK_ERR
- )
- set(PYTHON_VER_CHECK "${PYTHON_VER_CHECK_OUT}${PYTHON_VER_CHECK_ERR}")
- debug_message("PYTHON_VER_CHECK=${PYTHON_VER_CHECK}")
- if(NOT PYTHON_VER_CHECK MATCHES "Python 2.7")
- set(PYTHON2 PYTHON2-NOTFOUND)
- find_program(PYTHON2 NAMES python2 python PATHS C:/python27 ENV PYTHON NO_SYSTEM_ENVIRONMENT_PATH)
- endif()
- endif()
- if(PYTHON2 MATCHES "NOTFOUND")
- message(FATAL_ERROR "Python 2.7 was not found in the path or by searching inside C:\\Python27.\n"
- "There is no portable redistributable for Python 2.7, so you will need to install the MSI located at:\n"
- " https://www.python.org/ftp/python/2.7.13/python-2.7.13.msi\n"
- )
- endif()
+ set(PROGNAME python)
+ set(SUBDIR "python2")
+ set(PATHS ${DOWNLOADS}/tools/python/${SUBDIR})
+ file(TO_NATIVE_PATH "${PATHS}" DESTINATION_NATIVE_PATH)
+ set(URL "https://www.python.org/ftp/python/2.7.14/python-2.7.14.msi")
+ set(ARCHIVE "python2.msi")
+ set(HASH 8c3ad6e527742d99ba96dcfd1098861b14e7207b80d51a54e9b410ab2f36e44e05561ea1527d8e92b3e10808311536260bd9e82db0da3b513fb1be18e108510e)
elseif(VAR MATCHES "RUBY")
set(PROGNAME "ruby")
set(PATHS ${DOWNLOADS}/tools/ruby/rubyinstaller-2.4.1-1-x86/bin)
@@ -152,6 +140,13 @@ function(vcpkg_find_acquire_program VAR)
set(URL "https://raw.githubusercontent.com/FFmpeg/gas-preprocessor/36bacb4cba27003c572e5bf7a9c4dfe3c9a8d40d/gas-preprocessor.pl")
set(ARCHIVE "gas-preprocessor.pl")
set(HASH a25caadccd1457a0fd2abb5a0da9aca1713b2c351d76daf87a4141e52021f51aa09e95a62942c6f0764f79cc1fa65bf71584955b09e62ee7da067b5c82baf6b3)
+ elseif(VAR MATCHES "DARK")
+ set(PROGNAME dark)
+ set(SUBDIR "wix311-binaries")
+ set(PATHS ${DOWNLOADS}/tools/dark/${SUBDIR})
+ set(URL "https://github.com/wixtoolset/wix3/releases/download/wix311rtm/wix311-binaries.zip")
+ set(ARCHIVE "wix311-binaries.zip")
+ set(HASH 74f0fa29b5991ca655e34a9d1000d47d4272e071113fada86727ee943d913177ae96dc3d435eaf494d2158f37560cd4c2c5274176946ebdb17bf2354ced1c516)
else()
message(FATAL "unknown tool ${VAR} -- unable to acquire.")
endif()
diff --git a/scripts/cmake/vcpkg_from_bitbucket.cmake b/scripts/cmake/vcpkg_from_bitbucket.cmake
new file mode 100644
index 000000000..227de5141
--- /dev/null
+++ b/scripts/cmake/vcpkg_from_bitbucket.cmake
@@ -0,0 +1,190 @@
+## # vcpkg_from_bitbucket
+##
+## Download and extract a project from Bitbucket.
+## Enables support for installing HEAD `vcpkg.exe install --head <port>`.
+##
+## ## Usage:
+## ```cmake
+## vcpkg_from_bitbucket(
+## OUT_SOURCE_PATH <SOURCE_PATH>
+## REPO <Microsoft/cpprestsdk>
+## [REF <v2.0.0>]
+## [SHA512 <45d0d7f8cc350...>]
+## [HEAD_REF <master>]
+## )
+## ```
+##
+## ## Parameters:
+## ### OUT_SOURCE_PATH
+## Specifies the out-variable that will contain the extracted location.
+##
+## This should be set to `SOURCE_PATH` by convention.
+##
+## ### REPO
+## The organization or user and repository on GitHub.
+##
+## ### REF
+## A stable git commit-ish (ideally a tag) that will not change contents. **This should not be a branch.**
+##
+## For repositories without official releases, this can be set to the full commit id of the current latest master.
+##
+## If `REF` is specified, `SHA512` must also be specified.
+##
+## ### SHA512
+## The SHA512 hash that should match the archive (https://bitbucket.com/${REPO}/get/${REF}.tar.gz).
+##
+## This is most easily determined by first setting it to `1`, then trying to build the port. The error message will contain the full hash, which can be copied back into the portfile.
+##
+## ### HEAD_REF
+## The unstable git commit-ish (ideally a branch) to pull for `--head` builds.
+##
+## For most projects, this should be `master`. The chosen branch should be one that is expected to be always buildable on all supported platforms.
+##
+## ## Notes:
+## At least one of `REF` and `HEAD_REF` must be specified, however it is preferable for both to be present.
+##
+## This exports the `VCPKG_HEAD_VERSION` variable during head builds.
+##
+## ## Examples:
+##
+## * [blaze](https://github.com/Microsoft/vcpkg/blob/master/ports/blaze/portfile.cmake)
+function(vcpkg_from_bitbucket)
+ set(oneValueArgs OUT_SOURCE_PATH REPO REF SHA512 HEAD_REF)
+ set(multipleValuesArgs)
+ cmake_parse_arguments(_vdud "" "${oneValueArgs}" "${multipleValuesArgs}" ${ARGN})
+
+ if(NOT _vdud_OUT_SOURCE_PATH)
+ message(FATAL_ERROR "OUT_SOURCE_PATH must be specified.")
+ endif()
+
+ if((_vdud_REF AND NOT _vdud_SHA512) OR (NOT _vdud_REF AND _vdud_SHA512))
+ message(FATAL_ERROR "SHA512 must be specified if REF is specified.")
+ endif()
+
+ if(NOT _vdud_REPO)
+ message(FATAL_ERROR "The Bitbucket repository must be specified.")
+ endif()
+
+ if(NOT _vdud_REF AND NOT _vdud_HEAD_REF)
+ message(FATAL_ERROR "At least one of REF and HEAD_REF must be specified.")
+ endif()
+
+ string(REGEX REPLACE ".*/" "" REPO_NAME ${_vdud_REPO})
+ string(REGEX REPLACE "/.*" "" ORG_NAME ${_vdud_REPO})
+
+ macro(set_SOURCE_PATH BASE BASEREF)
+ set(SOURCE_PATH "${BASE}/${ORG_NAME}-${REPO_NAME}-${BASEREF}")
+ if(EXISTS ${SOURCE_PATH})
+ set(${_vdud_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE)
+ else()
+ # Sometimes GitHub strips a leading 'v' off the REF.
+ string(REGEX REPLACE "^v" "" REF ${BASEREF})
+ set(SOURCE_PATH "${BASE}/${ORG_NAME}-${REPO_NAME}-${REF}")
+ if(EXISTS ${SOURCE_PATH})
+ set(${_vdud_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE)
+ else()
+ message(FATAL_ERROR "Could not determine source path: '${BASE}/${ORG_NAME}-${REPO_NAME}-${BASEREF}' does not exist")
+ endif()
+ endif()
+ endmacro()
+
+ if(VCPKG_USE_HEAD_VERSION AND NOT _vdud_HEAD_REF)
+ message(STATUS "Package does not specify HEAD_REF. Falling back to non-HEAD version.")
+ set(VCPKG_USE_HEAD_VERSION OFF)
+ endif()
+
+ # Handle --no-head scenarios
+ if(NOT VCPKG_USE_HEAD_VERSION)
+ if(NOT _vdud_REF)
+ message(FATAL_ERROR "Package does not specify REF. It must built using --head.")
+ endif()
+
+ set(URL "https://bitbucket.com/${ORG_NAME}/${REPO_NAME}/get/${_vdud_REF}.tar.gz")
+ set(downloaded_file_path "${DOWNLOADS}/${ORG_NAME}-${REPO_NAME}-${_vdud_REF}.tar.gz")
+
+ file(DOWNLOAD "https://api.bitbucket.com/2.0/repositories/${ORG_NAME}/${REPO_NAME}/refs/tags/${_vdud_REF}"
+ ${downloaded_file_path}.version
+ STATUS download_status
+ )
+ list(GET download_status 0 status_code)
+ if ("${status_code}" STREQUAL "0")
+ # Parse the github refs response with regex.
+ # TODO: use some JSON swiss-army-knife utility instead.
+ file(READ "${downloaded_file_path}.version" _contents)
+ string(REGEX MATCH "\"hash\": \"[a-f0-9]+\"" x "${_contents}")
+ string(REGEX REPLACE "\"hash\": \"([a-f0-9]+)\"" "\\1" _version ${x})
+ string(SUBSTRING ${_version} 0 12 _version) # Get the 12 first numbers from commit hash
+ else()
+ set(_version ${_vdud_REF})
+ endif()
+
+ vcpkg_download_distfile(ARCHIVE
+ URLS "https://bitbucket.com/${ORG_NAME}/${REPO_NAME}/get/${_vdud_REF}.tar.gz"
+ SHA512 "${_vdud_SHA512}"
+ FILENAME "${ORG_NAME}-${REPO_NAME}-${_vdud_REF}.tar.gz"
+ )
+ vcpkg_extract_source_archive_ex(ARCHIVE "${ARCHIVE}")
+ set_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src ${_version})
+ return()
+ endif()
+
+ # The following is for --head scenarios
+ set(URL "https://bitbucket.com/${ORG_NAME}/${REPO_NAME}/get/${_vdud_HEAD_REF}.tar.gz")
+ set(downloaded_file_path "${DOWNLOADS}/${ORG_NAME}-${REPO_NAME}-${_vdud_HEAD_REF}.tar.gz")
+
+ if(_VCPKG_NO_DOWNLOADS)
+ if(NOT EXISTS ${downloaded_file_path} OR NOT EXISTS ${downloaded_file_path}.version)
+ message(FATAL_ERROR "Downloads are disabled, but '${downloaded_file_path}' does not exist.")
+ endif()
+ message(STATUS "Using cached ${downloaded_file_path}")
+ else()
+ if(EXISTS ${downloaded_file_path})
+ message(STATUS "Purging cached ${downloaded_file_path} to fetch latest (use --no-downloads to suppress)")
+ file(REMOVE ${downloaded_file_path})
+ endif()
+ if(EXISTS ${downloaded_file_path}.version)
+ file(REMOVE ${downloaded_file_path}.version)
+ endif()
+ if(EXISTS ${CURRENT_BUILDTREES_DIR}/src/head)
+ file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src/head)
+ endif()
+
+ # Try to download the file and version information from bitbucket.
+ message(STATUS "Downloading ${URL}...")
+ file(DOWNLOAD "https://api.bitbucket.com/2.0/repositories/${ORG_NAME}/${REPO_NAME}/refs/branches/${_vdud_HEAD_REF}"
+ ${downloaded_file_path}.version
+ STATUS download_status
+ )
+ list(GET download_status 0 status_code)
+ if (NOT "${status_code}" STREQUAL "0")
+ file(REMOVE ${downloaded_file_path}.version)
+ message(FATAL_ERROR "Downloading version info for ${URL}... Failed. Status: ${download_status}")
+ endif()
+
+ file(DOWNLOAD ${URL} ${downloaded_file_path} STATUS download_status)
+ list(GET download_status 0 status_code)
+ if (NOT "${status_code}" STREQUAL "0")
+ file(REMOVE ${downloaded_file_path})
+ message(FATAL_ERROR "Downloading ${URL}... Failed. Status: ${download_status}")
+ else()
+ message(STATUS "Downloading ${URL}... OK")
+ endif()
+ endif()
+
+ vcpkg_extract_source_archive_ex(
+ ARCHIVE "${downloaded_file_path}"
+ WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src/head"
+ )
+
+ # Parse the github refs response with regex.
+ # TODO: use some JSON swiss-army-knife utility instead.
+ file(READ "${downloaded_file_path}.version" _contents)
+ string(REGEX MATCH "\"hash\": \"[a-f0-9]+\"" x "${_contents}")
+ string(REGEX REPLACE "\"hash\": \"([a-f0-9]+)\"" "\\1" _version ${x})
+ string(SUBSTRING ${_version} 0 12 _vdud_HEAD_REF) # Get the 12 first numbers from commit hash
+
+ # 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)
+
+ set_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src/head ${_vdud_HEAD_REF})
+endfunction()
diff --git a/scripts/fetchDependency.ps1 b/scripts/fetchDependency.ps1
index c9aeb0f77..2a23002a4 100644
--- a/scripts/fetchDependency.ps1
+++ b/scripts/fetchDependency.ps1
@@ -105,12 +105,12 @@ function SelectProgram([Parameter(Mandatory=$true)][string]$Dependency)
if($Dependency -eq "cmake")
{
- $requiredVersion = "3.9.1"
- $downloadVersion = "3.9.1"
- $url = "https://cmake.org/files/v3.9/cmake-3.9.1-win32-x86.zip"
- $downloadPath = "$downloadsDir\cmake-3.9.1-win32-x86.zip"
- $expectedDownloadedFileHash = "e0d9501bd34e3100e925dcb2e07f5f0ce8980bdbe5fce0ae950b21368d54c1a1"
- $executableFromDownload = "$downloadsDir\cmake-3.9.1-win32-x86\bin\cmake.exe"
+ $requiredVersion = "3.9.3"
+ $downloadVersion = "3.9.3"
+ $url = "https://cmake.org/files/v3.9/cmake-3.9.3-win32-x86.zip"
+ $downloadPath = "$downloadsDir\cmake-3.9.3-win32-x86.zip"
+ $expectedDownloadedFileHash = "47870e3d4c9a5aa019e71020cd85cc60b6f2d2569fb239eaec204cd991e512f1"
+ $executableFromDownload = "$downloadsDir\cmake-3.9.3-win32-x86\bin\cmake.exe"
$extractionType = $ExtractionType_ZIP
$extractionFolder = $downloadsDir
}
diff --git a/toolsrc/VERSION.txt b/toolsrc/VERSION.txt
index d27b8ca83..c47961221 100644
--- a/toolsrc/VERSION.txt
+++ b/toolsrc/VERSION.txt
@@ -1 +1 @@
-"0.0.85" \ No newline at end of file
+"0.0.90" \ No newline at end of file
diff --git a/toolsrc/include/CStringView.h b/toolsrc/include/CStringView.h
index 282caad3a..c1810b4f1 100644
--- a/toolsrc/include/CStringView.h
+++ b/toolsrc/include/CStringView.h
@@ -11,13 +11,36 @@ namespace vcpkg
constexpr BasicCStringView(const BasicCStringView&) = default;
BasicCStringView(const std::basic_string<CharType>& str) : cstr(str.c_str()) {}
- constexpr operator const CharType*() const { return cstr; }
constexpr const CharType* c_str() const { return cstr; }
private:
const CharType* cstr;
};
+ namespace details
+ {
+ inline bool vcpkg_strcmp(const char* l, const char* r) { return strcmp(l, r) == 0; }
+ inline bool vcpkg_strcmp(const wchar_t* l, const wchar_t* r) { return wcscmp(l, r) == 0; }
+ }
+
+ template<class CharType>
+ bool operator==(const BasicCStringView<CharType>& l, const BasicCStringView<CharType>& r)
+ {
+ return details::vcpkg_strcmp(l.c_str(), r.c_str());
+ }
+
+ template<class CharType>
+ bool operator==(const CharType* l, const BasicCStringView<CharType>& r)
+ {
+ return details::vcpkg_strcmp(l, r.c_str());
+ }
+
+ template<class CharType>
+ bool operator==(const BasicCStringView<CharType>& r, const CharType* l)
+ {
+ return details::vcpkg_strcmp(l, r.c_str());
+ }
+
template<class CharType>
bool operator==(const std::basic_string<CharType>& l, const BasicCStringView<CharType>& r)
{
@@ -30,6 +53,25 @@ namespace vcpkg
return l == r.c_str();
}
+ // notequals
+ template<class CharType>
+ bool operator!=(const BasicCStringView<CharType>& l, const BasicCStringView<CharType>& r)
+ {
+ return !details::vcpkg_strcmp(l.c_str(), r.c_str());
+ }
+
+ template<class CharType>
+ bool operator!=(const CharType* l, const BasicCStringView<CharType>& r)
+ {
+ return !details::vcpkg_strcmp(l, r.c_str());
+ }
+
+ template<class CharType>
+ bool operator!=(const BasicCStringView<CharType>& r, const CharType* l)
+ {
+ return !details::vcpkg_strcmp(l, r.c_str());
+ }
+
template<class CharType>
bool operator!=(const BasicCStringView<CharType>& r, const std::basic_string<CharType>& l)
{
diff --git a/toolsrc/include/SourceParagraph.h b/toolsrc/include/SourceParagraph.h
index 1357b3769..ccf9faf4f 100644
--- a/toolsrc/include/SourceParagraph.h
+++ b/toolsrc/include/SourceParagraph.h
@@ -57,7 +57,7 @@ namespace vcpkg
std::vector<std::unique_ptr<FeatureParagraph>> feature_paragraphs;
};
- void print_error_message(span<const std::unique_ptr<Parse::ParseControlErrorInfo>> error_info_list);
+ void print_error_message(Span<const std::unique_ptr<Parse::ParseControlErrorInfo>> error_info_list);
inline void print_error_message(const std::unique_ptr<Parse::ParseControlErrorInfo>& error_info_list)
{
return print_error_message({&error_info_list, 1});
diff --git a/toolsrc/include/Span.h b/toolsrc/include/Span.h
index b16af2cef..b2c9acdbc 100644
--- a/toolsrc/include/Span.h
+++ b/toolsrc/include/Span.h
@@ -5,7 +5,7 @@
#include <vector>
template<class T>
-struct span
+struct Span
{
public:
using element_type = T;
@@ -13,18 +13,18 @@ public:
using reference = T&;
using iterator = T*;
- constexpr span() noexcept : m_ptr(nullptr), m_count(0) {}
- constexpr span(std::nullptr_t) noexcept : span() {}
- constexpr span(T* ptr, size_t count) noexcept : m_ptr(ptr), m_count(count) {}
- constexpr span(T* ptr_begin, T* ptr_end) noexcept : m_ptr(ptr_begin), m_count(ptr_end - ptr_begin) {}
+ constexpr Span() noexcept : m_ptr(nullptr), m_count(0) {}
+ constexpr Span(std::nullptr_t) noexcept : Span() {}
+ constexpr Span(T* ptr, size_t count) noexcept : m_ptr(ptr), m_count(count) {}
+ constexpr Span(T* ptr_begin, T* ptr_end) noexcept : m_ptr(ptr_begin), m_count(ptr_end - ptr_begin) {}
template<size_t N>
- constexpr span(T (&arr)[N]) noexcept : span(arr, N)
+ constexpr Span(T (&arr)[N]) noexcept : Span(arr, N)
{
}
- span(std::vector<T>& v) noexcept : span(v.data(), v.size()) {}
- span(const std::vector<std::remove_const_t<T>>& v) noexcept : span(v.data(), v.size()) {}
+ Span(std::vector<T>& v) noexcept : Span(v.data(), v.size()) {}
+ Span(const std::vector<std::remove_const_t<T>>& v) noexcept : Span(v.data(), v.size()) {}
constexpr iterator begin() const { return m_ptr; }
constexpr iterator end() const { return m_ptr + m_count; }
@@ -36,3 +36,15 @@ private:
pointer m_ptr;
size_t m_count;
};
+
+template<class T>
+Span<T> make_span(std::vector<T>& v)
+{
+ return {v.data(), v.size()};
+}
+
+template<class T>
+Span<const T> make_span(const std::vector<T>& v)
+{
+ return {v.data(), v.size()};
+}
diff --git a/toolsrc/include/VcpkgPaths.h b/toolsrc/include/VcpkgPaths.h
index 9b650bb6d..9914c6f35 100644
--- a/toolsrc/include/VcpkgPaths.h
+++ b/toolsrc/include/VcpkgPaths.h
@@ -19,6 +19,7 @@ namespace vcpkg
{
fs::path dumpbin;
fs::path vcvarsall;
+ std::vector<std::wstring> vcvarsall_options;
CWStringView version;
std::vector<ToolsetArchOption> supported_architectures;
};
@@ -71,5 +72,6 @@ namespace vcpkg
Lazy<fs::path> git_exe;
Lazy<fs::path> nuget_exe;
Lazy<std::vector<Toolset>> toolsets;
+ Lazy<std::vector<Toolset>> toolsets_vs2017_v140;
};
}
diff --git a/toolsrc/include/pch.h b/toolsrc/include/pch.h
index 770bcf07a..0f34063f8 100644
--- a/toolsrc/include/pch.h
+++ b/toolsrc/include/pch.h
@@ -2,7 +2,7 @@
#define NOMINMAX
#define WIN32_LEAN_AND_MEAN
-
+#pragma warning(suppress : 4768)
#include <windows.h>
#include <algorithm>
@@ -28,7 +28,10 @@
#include <regex>
#include <set>
#include <shellapi.h>
-#include <shlobj.h>
+#pragma warning(push)
+#pragma warning(disable : 4768)
+#include <Shlobj.h>
+#pragma warning(pop)
#include <stdexcept>
#include <string>
#include <sys/timeb.h>
diff --git a/toolsrc/include/vcpkg_Build.h b/toolsrc/include/vcpkg_Build.h
index fc6f28e24..78e89d4de 100644
--- a/toolsrc/include/vcpkg_Build.h
+++ b/toolsrc/include/vcpkg_Build.h
@@ -9,7 +9,6 @@
#include <array>
#include <map>
-#include <unordered_map>
#include <vector>
namespace vcpkg::Build
@@ -56,7 +55,7 @@ namespace vcpkg::Build
CASCADED_DUE_TO_MISSING_DEPENDENCIES
};
- static constexpr std::array<BuildResult, 5> BuildResult_values = {
+ static constexpr std::array<BuildResult, 5> BUILD_RESULT_VALUES = {
BuildResult::SUCCEEDED,
BuildResult::BUILD_FAILED,
BuildResult::POST_BUILD_CHECKS_FAILED,
@@ -143,7 +142,7 @@ namespace vcpkg::Build
COUNT,
};
- constexpr std::array<BuildPolicy, size_t(BuildPolicy::COUNT)> g_all_policies = {
+ constexpr std::array<BuildPolicy, size_t(BuildPolicy::COUNT)> G_ALL_POLICIES = {
BuildPolicy::EMPTY_PACKAGE,
BuildPolicy::DLLS_WITHOUT_LIBS,
BuildPolicy::ONLY_RELEASE_CRT,
@@ -159,7 +158,7 @@ namespace vcpkg::Build
BuildPolicies() = default;
BuildPolicies(std::map<BuildPolicy, bool>&& map) : m_policies(std::move(map)) {}
- inline bool is_enabled(BuildPolicy policy) const
+ bool is_enabled(BuildPolicy policy) const
{
const auto it = m_policies.find(policy);
if (it != m_policies.cend()) return it->second;
diff --git a/toolsrc/include/vcpkg_Commands.h b/toolsrc/include/vcpkg_Commands.h
index 756a12f01..590f0208c 100644
--- a/toolsrc/include/vcpkg_Commands.h
+++ b/toolsrc/include/vcpkg_Commands.h
@@ -33,6 +33,22 @@ namespace vcpkg::Commands
namespace Install
{
+ enum class KeepGoing
+ {
+ NO = 0,
+ YES
+ };
+
+ inline KeepGoing to_keep_going(const bool value) { return value ? KeepGoing::YES : KeepGoing::NO; }
+
+ enum class PrintSummary
+ {
+ NO = 0,
+ YES
+ };
+
+ inline PrintSummary to_print_summary(const bool value) { return value ? PrintSummary::YES : PrintSummary::NO; }
+
struct InstallDir
{
static InstallDir from_destination_root(const fs::path& destination_root,
@@ -67,6 +83,14 @@ namespace vcpkg::Commands
InstallResult install_package(const VcpkgPaths& paths,
const BinaryControlFile& binary_paragraph,
StatusParagraphs* status_db);
+
+ void perform_and_exit(const std::vector<Dependencies::AnyAction>& action_plan,
+ const Build::BuildPackageOptions& install_plan_options,
+ const KeepGoing keep_going,
+ const PrintSummary print_summary,
+ const VcpkgPaths& paths,
+ StatusParagraphs& status_db);
+
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths, const Triplet& default_triplet);
}
@@ -82,6 +106,19 @@ namespace vcpkg::Commands
namespace Remove
{
+ enum class Purge
+ {
+ NO = 0,
+ YES
+ };
+
+ inline Purge to_purge(const bool value) { return value ? Purge::YES : Purge::NO; }
+
+ void perform_remove_plan_action(const VcpkgPaths& paths,
+ const Dependencies::RemovePlanAction& action,
+ const Purge purge,
+ StatusParagraphs& status_db);
+
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths, const Triplet& default_triplet);
void remove_package(const VcpkgPaths& paths, const PackageSpec& spec, StatusParagraphs* status_db);
}
@@ -173,6 +210,7 @@ namespace vcpkg::Commands
namespace Version
{
const std::string& version();
+ void warn_if_vcpkg_version_mismatch(const VcpkgPaths& paths);
void perform_and_exit(const VcpkgCmdArguments& args);
}
diff --git a/toolsrc/include/vcpkg_Dependencies.h b/toolsrc/include/vcpkg_Dependencies.h
index 235abb839..d67122e48 100644
--- a/toolsrc/include/vcpkg_Dependencies.h
+++ b/toolsrc/include/vcpkg_Dependencies.h
@@ -89,6 +89,8 @@ namespace vcpkg::Dependencies
Optional<InstallPlanAction> install_plan;
Optional<RemovePlanAction> remove_plan;
+
+ const PackageSpec& spec() const;
};
enum class ExportPlanType
diff --git a/toolsrc/include/vcpkg_Strings.h b/toolsrc/include/vcpkg_Strings.h
index 61f6fab61..c44ce2b99 100644
--- a/toolsrc/include/vcpkg_Strings.h
+++ b/toolsrc/include/vcpkg_Strings.h
@@ -65,6 +65,8 @@ namespace vcpkg::Strings
std::string ascii_to_lowercase(const std::string& input);
+ bool case_insensitive_ascii_starts_with(const std::string& s, const std::string& pattern);
+
template<class Container, class Transformer, class CharType>
std::basic_string<CharType> join(const CharType* delimiter, const Container& v, Transformer transformer)
{
diff --git a/toolsrc/src/Paragraphs.cpp b/toolsrc/src/Paragraphs.cpp
index a7dee4fd3..6a6f191df 100644
--- a/toolsrc/src/Paragraphs.cpp
+++ b/toolsrc/src/Paragraphs.cpp
@@ -254,7 +254,7 @@ namespace vcpkg::Paragraphs
for (auto&& path : fs.get_files_non_recursive(ports_dir))
{
auto maybe_spgh = try_load_port(fs, path);
- if (auto spgh = maybe_spgh.get())
+ if (const auto spgh = maybe_spgh.get())
{
ret.paragraphs.emplace_back(std::move(*spgh));
}
@@ -272,8 +272,20 @@ namespace vcpkg::Paragraphs
auto results = try_load_all_ports(fs, ports_dir);
if (!results.errors.empty())
{
- print_error_message(results.errors);
- Checks::exit_fail(VCPKG_LINE_INFO);
+ if (GlobalState::debugging)
+ {
+ print_error_message(results.errors);
+ }
+ else
+ {
+ for (auto&& error : results.errors)
+ {
+ System::println(
+ System::Color::warning, "Warning: an error occurred while parsing '%s'", error->name);
+ }
+ System::println(System::Color::warning,
+ "Use '--debug' to get more information about the parse failures.\n");
+ }
}
return std::move(results.paragraphs);
}
diff --git a/toolsrc/src/PostBuildLint.cpp b/toolsrc/src/PostBuildLint.cpp
index 33dc446cf..69008fab3 100644
--- a/toolsrc/src/PostBuildLint.cpp
+++ b/toolsrc/src/PostBuildLint.cpp
@@ -38,7 +38,7 @@ namespace vcpkg::PostBuildLint
}
};
- const std::vector<OutdatedDynamicCrt>& get_outdated_dynamic_crts()
+ Span<const OutdatedDynamicCrt> get_outdated_dynamic_crts(CStringView toolset)
{
static const std::vector<OutdatedDynamicCrt> V_NO_MSVCRT = {
{"msvcp100.dll", R"(msvcp100\.dll)"},
@@ -662,7 +662,7 @@ namespace vcpkg::PostBuildLint
"Running command:\n %s\n failed",
Strings::to_utf8(cmd_line));
- for (const OutdatedDynamicCrt& outdated_crt : get_outdated_dynamic_crts())
+ for (const OutdatedDynamicCrt& outdated_crt : get_outdated_dynamic_crts("v141"))
{
if (std::regex_search(ec_data.output.cbegin(), ec_data.output.cend(), outdated_crt.regex))
{
diff --git a/toolsrc/src/SourceParagraph.cpp b/toolsrc/src/SourceParagraph.cpp
index 171689ce7..0f1a38d19 100644
--- a/toolsrc/src/SourceParagraph.cpp
+++ b/toolsrc/src/SourceParagraph.cpp
@@ -25,7 +25,7 @@ namespace vcpkg
static const std::string VERSION = "Version";
}
- static span<const std::string> get_list_of_valid_fields()
+ static Span<const std::string> get_list_of_valid_fields()
{
static const std::string valid_fields[] = {
Fields::SOURCE,
@@ -38,7 +38,7 @@ namespace vcpkg
return valid_fields;
}
- void print_error_message(span<const std::unique_ptr<Parse::ParseControlErrorInfo>> error_info_list)
+ void print_error_message(Span<const std::unique_ptr<Parse::ParseControlErrorInfo>> error_info_list)
{
Checks::check_exit(VCPKG_LINE_INFO, error_info_list.size() > 0);
diff --git a/toolsrc/src/VcpkgPaths.cpp b/toolsrc/src/VcpkgPaths.cpp
index 71a35d24c..651d4d834 100644
--- a/toolsrc/src/VcpkgPaths.cpp
+++ b/toolsrc/src/VcpkgPaths.cpp
@@ -10,6 +10,10 @@
namespace vcpkg
{
+ static constexpr CWStringView V_120 = L"v120";
+ static constexpr CWStringView V_140 = L"v140";
+ static constexpr CWStringView V_141 = L"v141";
+
static bool exists_and_has_equal_or_greater_version(const std::wstring& version_cmd,
const std::array<int, 3>& expected_version)
{
@@ -63,18 +67,23 @@ namespace vcpkg
const fs::path& expected_downloaded_path,
const std::array<int, 3>& version)
{
+ const std::string tool_name_utf8 = Strings::to_utf8(tool_name);
+ const std::string version_as_string = Strings::format("%d.%d.%d", version[0], version[1], version[2]);
+ System::println("A suitable version of %s was not found (required v%s). Downloading portable %s v%s...",
+ tool_name_utf8,
+ version_as_string,
+ tool_name_utf8,
+ version_as_string);
const fs::path script = scripts_folder / "fetchDependency.ps1";
const auto install_cmd =
System::create_powershell_script_cmd(script, Strings::wformat(L"-Dependency %s", tool_name));
const System::ExitCodeAndOutput rc = System::cmd_execute_and_capture_output(install_cmd);
if (rc.exit_code)
{
- const std::string version_as_string = Strings::format("%d.%d.%d", version[0], version[1], version[2]);
-
System::println(System::Color::error,
"Launching powershell failed or was denied when trying to fetch %s version %s.\n"
"(No sufficient installed version was found)",
- Strings::to_utf8(tool_name),
+ tool_name_utf8,
version_as_string);
{
auto locked_metrics = Metrics::g_metrics.lock();
@@ -97,10 +106,10 @@ namespace vcpkg
static fs::path get_cmake_path(const fs::path& downloads_folder, const fs::path& scripts_folder)
{
- static constexpr std::array<int, 3> EXPECTED_VERSION = {3, 9, 1};
+ static constexpr std::array<int, 3> EXPECTED_VERSION = {3, 9, 3};
static const std::wstring VERSION_CHECK_ARGUMENTS = L"--version";
- const fs::path downloaded_copy = downloads_folder / "cmake-3.9.1-win32-x86" / "bin" / "cmake.exe";
+ const fs::path downloaded_copy = downloads_folder / "cmake-3.9.3-win32-x86" / "bin" / "cmake.exe";
const std::vector<fs::path> from_path = Files::find_from_PATH(L"cmake");
std::vector<fs::path> candidate_paths;
@@ -358,11 +367,13 @@ namespace vcpkg
if (fs.exists(vs2015_dumpbin_exe))
{
found_toolsets.push_back(
- {vs2015_dumpbin_exe, vs2015_vcvarsall_bat, L"v140", supported_architectures});
+ {vs2015_dumpbin_exe, vs2015_vcvarsall_bat, {}, V_140, supported_architectures});
}
}
}
+ const std::vector<std::string> vs2017_installation_instances = get_vs2017_installation_instances(paths);
+
// VS2017
Optional<Toolset> vs2017_toolset;
const std::vector<std::string> vs2017_installation_instances = get_vs2017_installation_instances(paths);
@@ -407,14 +418,13 @@ namespace vcpkg
paths_examined.push_back(dumpbin_path);
if (fs.exists(dumpbin_path))
{
- vs2017_toolset = Toolset{dumpbin_path, vcvarsall_bat, L"v141", supported_architectures};
+ vs2017_toolset = Toolset{dumpbin_path, vcvarsall_bat, {}, V_141, supported_architectures};
break;
}
}
if (const auto value = vs2017_toolset.get())
{
found_toolsets.push_back(*value);
- break;
}
}
@@ -432,20 +442,63 @@ namespace vcpkg
return found_toolsets;
}
+ static std::vector<Toolset> create_vs2017_v140_toolset_instances(const std::vector<Toolset>& vs_toolsets)
+ {
+ std::vector<Toolset> vs2017_v140_toolsets;
+
+ // In constrast to v141 and above, there can only be a single instance of v140 (VS2017 vs VS2015).
+ const auto it = Util::find_if(vs_toolsets, [&](const Toolset& t) { return t.version == V_140; });
+
+ // If v140 is not available, then VS2017 cant use them. Return empty.
+ if (it == vs_toolsets.cend())
+ {
+ return vs2017_v140_toolsets;
+ }
+
+ // If it does exist, then create a matching v140 toolset for each v141 toolset
+ const Toolset v140_toolset = *it;
+ for (const Toolset& toolset : vs_toolsets)
+ {
+ if (toolset.version != V_141)
+ {
+ continue;
+ }
+
+ Toolset t = Toolset{
+ toolset.dumpbin, toolset.vcvarsall, {L"-vcvars_ver=14.0"}, V_140, toolset.supported_architectures};
+ vs2017_v140_toolsets.push_back(std::move(t));
+ }
+
+ return vs2017_v140_toolsets;
+ }
+
const Toolset& VcpkgPaths::get_toolset(const std::string& toolset_version) const
{
+ const std::wstring& w_toolset_version = Strings::to_utf16(toolset_version);
+
// Invariant: toolsets are non-empty and sorted with newest at back()
- const auto& vs_toolsets = this->toolsets.get_lazy([this]() { return find_toolset_instances(*this); });
+ const std::vector<Toolset>& vs_toolsets =
+ this->toolsets.get_lazy([this]() { return find_toolset_instances(*this); });
- if (toolset_version.empty())
+ if (w_toolset_version.empty())
{
return vs_toolsets.back();
}
- const auto toolset = Util::find_if(
- vs_toolsets, [&](const Toolset& t) { return toolset_version == Strings::to_utf8(t.version); });
+ const auto toolset =
+ Util::find_if(vs_toolsets, [&](const Toolset& t) { return w_toolset_version == t.version; });
Checks::check_exit(
VCPKG_LINE_INFO, toolset != vs_toolsets.end(), "Could not find toolset '%s'", toolset_version);
+
+ // If v140 is the selected toolset and VS2017 is available, then use VS2017's vcvarsall with the
+ // -vcvars_ver=14.0 option
+ const std::vector<Toolset>& vs2017_v140_toolsets = this->toolsets_vs2017_v140.get_lazy(
+ [&vs_toolsets]() { return create_vs2017_v140_toolset_instances(vs_toolsets); });
+ if (w_toolset_version == V_140 && !vs2017_v140_toolsets.empty())
+ {
+ return vs2017_v140_toolsets.back();
+ }
+
return *toolset;
}
diff --git a/toolsrc/src/commands_ci.cpp b/toolsrc/src/commands_ci.cpp
index ca5e8a9a9..75ff65556 100644
--- a/toolsrc/src/commands_ci.cpp
+++ b/toolsrc/src/commands_ci.cpp
@@ -41,57 +41,19 @@ namespace vcpkg::Commands::CI
StatusParagraphs status_db = database_load_check(paths);
const auto& paths_port_file = Dependencies::PathsPortFile(paths);
- const std::vector<InstallPlanAction> install_plan =
+ std::vector<InstallPlanAction> install_plan =
Dependencies::create_install_plan(paths_port_file, specs, status_db);
Checks::check_exit(VCPKG_LINE_INFO, !install_plan.empty(), "Install plan cannot be empty");
- std::vector<BuildResult> results;
- std::vector<std::string> timing;
- const ElapsedTime timer = ElapsedTime::create_started();
- size_t counter = 0;
- const size_t package_count = install_plan.size();
const Build::BuildPackageOptions install_plan_options = {Build::UseHeadVersion::NO, Build::AllowDownloads::YES};
- for (const InstallPlanAction& action : install_plan)
- {
- const ElapsedTime build_timer = ElapsedTime::create_started();
- counter++;
- const std::string display_name = action.spec.to_string();
- System::println("Starting package %d/%d: %s", counter, package_count, display_name);
+ const std::vector<Dependencies::AnyAction> action_plan =
+ Util::fmap(install_plan, [](InstallPlanAction& install_action) {
+ return Dependencies::AnyAction(std::move(install_action));
+ });
- timing.push_back("0");
- results.push_back(BuildResult::NULLVALUE);
-
- const BuildResult result =
- Install::perform_install_plan_action(paths, action, install_plan_options, status_db);
- timing.back() = build_timer.to_string();
- results.back() = result;
- System::println("Elapsed time for package %s: %s", action.spec, build_timer.to_string());
- }
-
- System::println("Total time taken: %s", timer.to_string());
-
- for (size_t i = 0; i < results.size(); i++)
- {
- System::println("%s: %s: %s", install_plan[i].spec, Build::to_string(results[i]), timing[i]);
- }
-
- std::map<BuildResult, int> summary;
- for (const BuildResult& v : Build::BuildResult_values)
- {
- summary[v] = 0;
- }
-
- for (const BuildResult& r : results)
- {
- summary[r]++;
- }
-
- System::println("\n\nSUMMARY");
- for (const std::pair<const BuildResult, int>& entry : summary)
- {
- System::println(" %s: %d", Build::to_string(entry.first), entry.second);
- }
+ Install::perform_and_exit(
+ action_plan, install_plan_options, Install::KeepGoing::YES, Install::PrintSummary::YES, paths, status_db);
Checks::exit_success(VCPKG_LINE_INFO);
}
diff --git a/toolsrc/src/commands_edit.cpp b/toolsrc/src/commands_edit.cpp
index dc28de737..823c87534 100644
--- a/toolsrc/src/commands_edit.cpp
+++ b/toolsrc/src/commands_edit.cpp
@@ -8,11 +8,10 @@ namespace vcpkg::Commands::Edit
{
static std::vector<fs::path> find_from_registry()
{
- static const std::array<const wchar_t*, 4> REGKEYS = {
+ static const std::array<const wchar_t*, 3> REGKEYS = {
LR"(SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{C26E74D1-022E-4238-8B9D-1E7564A36CC9}_is1)",
- LR"(SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C26E74D1-022E-4238-8B9D-1E7564A36CC9}_is1)",
+ LR"(SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1287CAD5-7C8D-410D-88B9-0D1EE4A83FF2}_is1)",
LR"(SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{F8A2A208-72B3-4D61-95FC-8A65D340689B}_is1)",
- LR"(SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{F8A2A208-72B3-4D61-95FC-8A65D340689B}_is1)",
};
std::vector<fs::path> output;
@@ -23,8 +22,8 @@ namespace vcpkg::Commands::Edit
if (const auto c = code_installpath.get())
{
const fs::path install_path = fs::path(*c);
- output.push_back(install_path / "Code.exe");
output.push_back(install_path / "Code - Insiders.exe");
+ output.push_back(install_path / "Code.exe");
}
}
return output;
@@ -34,6 +33,9 @@ namespace vcpkg::Commands::Edit
{
static const std::string OPTION_BUILDTREES = "--buildtrees";
+ static const fs::path VS_CODE_INSIDERS = fs::path{"Microsoft VS Code Insiders"} / "Code - Insiders.exe";
+ static const fs::path VS_CODE = fs::path{"Microsoft VS Code"} / "Code.exe";
+
auto& fs = paths.get_filesystem();
static const std::string EXAMPLE = Commands::Help::create_example_string("edit zlib");
@@ -48,8 +50,10 @@ namespace vcpkg::Commands::Edit
std::vector<fs::path> candidate_paths;
const std::vector<fs::path> from_path = Files::find_from_PATH(L"EDITOR");
candidate_paths.insert(candidate_paths.end(), from_path.cbegin(), from_path.cend());
- candidate_paths.push_back(System::get_program_files_platform_bitness() / "Microsoft VS Code" / "Code.exe");
- candidate_paths.push_back(System::get_program_files_32_bit() / "Microsoft VS Code" / "Code.exe");
+ candidate_paths.push_back(System::get_program_files_platform_bitness() / VS_CODE_INSIDERS);
+ candidate_paths.push_back(System::get_program_files_32_bit() / VS_CODE_INSIDERS);
+ candidate_paths.push_back(System::get_program_files_platform_bitness() / VS_CODE);
+ candidate_paths.push_back(System::get_program_files_32_bit() / VS_CODE);
const std::vector<fs::path> from_registry = find_from_registry();
candidate_paths.insert(candidate_paths.end(), from_registry.cbegin(), from_registry.cend());
diff --git a/toolsrc/src/commands_install.cpp b/toolsrc/src/commands_install.cpp
index d7c14f39c..d815332fe 100644
--- a/toolsrc/src/commands_install.cpp
+++ b/toolsrc/src/commands_install.cpp
@@ -59,7 +59,7 @@ namespace vcpkg::Commands::Install
auto files = fs.get_files_recursive(source_dir);
for (auto&& file : files)
{
- auto status = fs.status(file, ec);
+ const auto status = fs.status(file, ec);
if (ec)
{
System::println(System::Color::error, "failed: %s: %s", file.u8string(), ec.message());
@@ -309,7 +309,7 @@ namespace vcpkg::Commands::Install
const BinaryControlFile bcf =
Paragraphs::try_load_cached_control_package(paths, action.spec).value_or_exit(VCPKG_LINE_INFO);
System::println("Installing package %s... ", display_name_with_features);
- auto install_result = install_package(paths, bcf, &status_db);
+ const auto install_result = install_package(paths, bcf, &status_db);
switch (install_result)
{
case InstallResult::SUCCESS:
@@ -328,7 +328,7 @@ namespace vcpkg::Commands::Install
System::Color::warning, "Package %s is already built -- not building from HEAD", display_name);
}
System::println("Installing package %s... ", display_name);
- auto install_result = install_package(
+ const auto install_result = install_package(
paths, action.any_paragraph.binary_control_file.value_or_exit(VCPKG_LINE_INFO), &status_db);
switch (install_result)
{
@@ -442,12 +442,93 @@ namespace vcpkg::Commands::Install
}
}
+ void perform_and_exit(const std::vector<AnyAction>& action_plan,
+ const Build::BuildPackageOptions& install_plan_options,
+ const KeepGoing keep_going,
+ const PrintSummary print_summary,
+ const VcpkgPaths& paths,
+ StatusParagraphs& status_db)
+ {
+ std::vector<BuildResult> results;
+ std::vector<std::string> timing;
+ const ElapsedTime timer = ElapsedTime::create_started();
+ size_t counter = 0;
+ const size_t package_count = action_plan.size();
+
+ for (const auto& action : action_plan)
+ {
+ const ElapsedTime build_timer = ElapsedTime::create_started();
+ counter++;
+
+ const std::string display_name = action.spec().to_string();
+ System::println("Starting package %d/%d: %s", counter, package_count, display_name);
+
+ timing.push_back("0");
+ results.push_back(BuildResult::NULLVALUE);
+
+ if (const auto install_action = action.install_plan.get())
+ {
+ const BuildResult result =
+ perform_install_plan_action(paths, *install_action, install_plan_options, status_db);
+ if (result != BuildResult::SUCCEEDED && keep_going == KeepGoing::NO)
+ {
+ System::println(Build::create_user_troubleshooting_message(install_action->spec));
+ Checks::exit_fail(VCPKG_LINE_INFO);
+ }
+
+ results.back() = result;
+ }
+ else if (const auto remove_action = action.remove_plan.get())
+ {
+ Checks::check_exit(VCPKG_LINE_INFO, GlobalState::feature_packages);
+ Remove::perform_remove_plan_action(paths, *remove_action, Remove::Purge::YES, status_db);
+ }
+ else
+ {
+ Checks::unreachable(VCPKG_LINE_INFO);
+ }
+
+ timing.back() = build_timer.to_string();
+ System::println("Elapsed time for package %s: %s", display_name, build_timer.to_string());
+ }
+
+ System::println("Total time taken: %s", timer.to_string());
+
+ if (print_summary == PrintSummary::YES)
+ {
+ for (size_t i = 0; i < results.size(); i++)
+ {
+ System::println("%s: %s: %s", action_plan[i].spec(), Build::to_string(results[i]), timing[i]);
+ }
+
+ std::map<BuildResult, int> summary;
+ for (const BuildResult& v : Build::BUILD_RESULT_VALUES)
+ {
+ summary[v] = 0;
+ }
+
+ for (const BuildResult& r : results)
+ {
+ summary[r]++;
+ }
+
+ System::println("\n\nSUMMARY");
+ for (const std::pair<const BuildResult, int>& entry : summary)
+ {
+ System::println(" %s: %d", Build::to_string(entry.first), entry.second);
+ }
+ }
+
+ Checks::exit_success(VCPKG_LINE_INFO);
+ }
+
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths, const Triplet& default_triplet)
{
static const std::string OPTION_DRY_RUN = "--dry-run";
static const std::string OPTION_USE_HEAD_VERSION = "--head";
static const std::string OPTION_NO_DOWNLOADS = "--no-downloads";
static const std::string OPTION_RECURSE = "--recurse";
+ static const std::string OPTION_KEEP_GOING = "--keep-going";
// input sanitization
static const std::string EXAMPLE =
@@ -469,11 +550,12 @@ namespace vcpkg::Commands::Install
}
const std::unordered_set<std::string> options = args.check_and_get_optional_command_arguments(
- {OPTION_DRY_RUN, OPTION_USE_HEAD_VERSION, OPTION_NO_DOWNLOADS, OPTION_RECURSE});
- const bool dryRun = options.find(OPTION_DRY_RUN) != options.cend();
+ {OPTION_DRY_RUN, OPTION_USE_HEAD_VERSION, OPTION_NO_DOWNLOADS, OPTION_RECURSE, OPTION_KEEP_GOING});
+ const bool dry_run = options.find(OPTION_DRY_RUN) != options.cend();
const bool use_head_version = options.find(OPTION_USE_HEAD_VERSION) != options.cend();
const bool no_downloads = options.find(OPTION_NO_DOWNLOADS) != options.cend();
const bool is_recursive = options.find(OPTION_RECURSE) != options.cend();
+ const KeepGoing keep_going = to_keep_going(options.find(OPTION_KEEP_GOING) != options.cend());
// create the plan
StatusParagraphs status_db = database_load_check(paths);
@@ -486,8 +568,8 @@ namespace vcpkg::Commands::Install
if (GlobalState::feature_packages)
{
std::unordered_map<std::string, SourceControlFile> scf_map;
- auto all_ports = Paragraphs::try_load_all_ports(paths.get_filesystem(), paths.ports);
- for (auto&& port : all_ports.paragraphs)
+ auto all_ports = Paragraphs::load_all_ports(paths.get_filesystem(), paths.ports);
+ for (auto&& port : all_ports)
{
scf_map[port->core_paragraph->name] = std::move(*port);
}
@@ -519,78 +601,12 @@ namespace vcpkg::Commands::Install
print_plan(action_plan, is_recursive);
- if (dryRun)
+ if (dry_run)
{
Checks::exit_success(VCPKG_LINE_INFO);
}
- // execute the plan
- if (GlobalState::feature_packages)
- {
- for (const auto& action : action_plan)
- {
- if (auto install_action = action.install_plan.get())
- {
- const BuildResult result =
- perform_install_plan_action(paths, *install_action, install_plan_options, status_db);
- if (result != BuildResult::SUCCEEDED)
- {
- System::println(Build::create_user_troubleshooting_message(install_action->spec));
- Checks::exit_fail(VCPKG_LINE_INFO);
- }
- }
- else if (auto remove_action = action.remove_plan.get())
- {
- static const std::string OPTION_PURGE = "--purge";
- static const std::string OPTION_NO_PURGE = "--no-purge";
-
- const bool alsoRemoveFolderFromPackages = options.find(OPTION_NO_PURGE) == options.end();
- if (options.find(OPTION_PURGE) != options.end() && !alsoRemoveFolderFromPackages)
- {
- // User specified --purge and --no-purge
- System::println(System::Color::error, "Error: cannot specify both --no-purge and --purge.");
- System::print(EXAMPLE);
- Checks::exit_fail(VCPKG_LINE_INFO);
- }
- const std::string display_name = remove_action->spec.to_string();
- switch (remove_action->plan_type)
- {
- case RemovePlanType::NOT_INSTALLED:
- System::println(System::Color::success, "Package %s is not installed", display_name);
- break;
- case RemovePlanType::REMOVE:
- System::println("Removing package %s... ", display_name);
- Commands::Remove::remove_package(paths, remove_action->spec, &status_db);
- System::println(System::Color::success, "Removing package %s... done", display_name);
- break;
- case RemovePlanType::UNKNOWN:
- default: Checks::unreachable(VCPKG_LINE_INFO);
- }
-
- if (alsoRemoveFolderFromPackages)
- {
- System::println("Purging package %s... ", display_name);
- Files::Filesystem& fs = paths.get_filesystem();
- std::error_code ec;
- fs.remove_all(paths.packages / remove_action->spec.dir(), ec);
- System::println(System::Color::success, "Purging package %s... done", display_name);
- }
- }
- }
- }
- else
- {
- for (const auto& action : action_plan)
- {
- const auto& iaction = action.install_plan.value_or_exit(VCPKG_LINE_INFO);
- const BuildResult result = perform_install_plan_action(paths, iaction, install_plan_options, status_db);
- if (result != BuildResult::SUCCEEDED)
- {
- System::println(Build::create_user_troubleshooting_message(iaction.spec));
- Checks::exit_fail(VCPKG_LINE_INFO);
- }
- }
- }
+ perform_and_exit(action_plan, install_plan_options, keep_going, PrintSummary::NO, paths, status_db);
Checks::exit_success(VCPKG_LINE_INFO);
}
diff --git a/toolsrc/src/commands_integrate.cpp b/toolsrc/src/commands_integrate.cpp
index 1bf26910c..fd2f11294 100644
--- a/toolsrc/src/commands_integrate.cpp
+++ b/toolsrc/src/commands_integrate.cpp
@@ -113,19 +113,20 @@ namespace vcpkg::Commands::Integrate
static ElevationPromptChoice elevated_cmd_execute(const std::string& param)
{
- SHELLEXECUTEINFO sh_ex_info = {0};
+ SHELLEXECUTEINFOW sh_ex_info = {0};
sh_ex_info.cbSize = sizeof(sh_ex_info);
sh_ex_info.fMask = SEE_MASK_NOCLOSEPROCESS;
sh_ex_info.hwnd = nullptr;
- sh_ex_info.lpVerb = "runas";
- sh_ex_info.lpFile = "cmd"; // Application to start
+ sh_ex_info.lpVerb = L"runas";
+ sh_ex_info.lpFile = L"cmd"; // Application to start
- sh_ex_info.lpParameters = param.c_str(); // Additional parameters
+ auto wparam = Strings::to_utf16(param);
+ sh_ex_info.lpParameters = wparam.c_str(); // Additional parameters
sh_ex_info.lpDirectory = nullptr;
sh_ex_info.nShow = SW_HIDE;
sh_ex_info.hInstApp = nullptr;
- if (!ShellExecuteExA(&sh_ex_info))
+ if (!ShellExecuteExW(&sh_ex_info))
{
return ElevationPromptChoice::NO;
}
diff --git a/toolsrc/src/commands_portsdiff.cpp b/toolsrc/src/commands_portsdiff.cpp
index 32bc3de3c..2334b2270 100644
--- a/toolsrc/src/commands_portsdiff.cpp
+++ b/toolsrc/src/commands_portsdiff.cpp
@@ -68,7 +68,7 @@ namespace vcpkg::Commands::PortsDiff
for (const std::string& name : ports_to_print)
{
const VersionT& version = names_and_versions.at(name);
- System::println("%-20s %-16s", name, version);
+ System::println(" - %-14s %-16s", name, version);
}
}
@@ -147,14 +147,14 @@ namespace vcpkg::Commands::PortsDiff
const std::vector<std::string>& added_ports = setp.only_left;
if (!added_ports.empty())
{
- System::println("\nThe following %d ports were added:\n", added_ports.size());
+ System::println("\nThe following %d ports were added:", added_ports.size());
do_print_name_and_version(added_ports, current_names_and_versions);
}
const std::vector<std::string>& removed_ports = setp.only_right;
if (!removed_ports.empty())
{
- System::println("\nThe following %d ports were removed:\n", removed_ports.size());
+ System::println("\nThe following %d ports were removed:", removed_ports.size());
do_print_name_and_version(removed_ports, previous_names_and_versions);
}
@@ -164,10 +164,10 @@ namespace vcpkg::Commands::PortsDiff
if (!updated_ports.empty())
{
- System::println("\nThe following %d ports were updated:\n", updated_ports.size());
+ System::println("\nThe following %d ports were updated:", updated_ports.size());
for (const UpdatedPort& p : updated_ports)
{
- System::println("%-20s %-16s", p.port, p.version_diff.to_string());
+ System::println(" - %-14s %-16s", p.port, p.version_diff.to_string());
}
}
diff --git a/toolsrc/src/commands_remove.cpp b/toolsrc/src/commands_remove.cpp
index 2b5033166..a9f1b2564 100644
--- a/toolsrc/src/commands_remove.cpp
+++ b/toolsrc/src/commands_remove.cpp
@@ -18,7 +18,7 @@ namespace vcpkg::Commands::Remove
{
auto& fs = paths.get_filesystem();
auto spghs = status_db->find_all(spec.name(), spec.triplet());
- auto core_pkg = **status_db->find(spec.name(), spec.triplet(), Strings::EMPTY);
+ const auto core_pkg = **status_db->find(spec.name(), spec.triplet(), Strings::EMPTY);
for (auto&& spgh : spghs)
{
@@ -31,7 +31,7 @@ namespace vcpkg::Commands::Remove
auto maybe_lines = fs.read_lines(paths.listfile_path(core_pkg.package));
- if (auto lines = maybe_lines.get())
+ if (const auto lines = maybe_lines.get())
{
std::vector<fs::path> dirs_touched;
for (auto&& suffix : *lines)
@@ -42,7 +42,7 @@ namespace vcpkg::Commands::Remove
auto target = paths.installed / suffix;
- auto status = fs.status(target, ec);
+ const auto status = fs.status(target, ec);
if (ec)
{
System::println(System::Color::error, "failed: %s", ec.message());
@@ -72,7 +72,7 @@ namespace vcpkg::Commands::Remove
}
auto b = dirs_touched.rbegin();
- auto e = dirs_touched.rend();
+ const auto e = dirs_touched.rend();
for (; b != e; ++b)
{
if (fs.is_empty(*b))
@@ -100,11 +100,11 @@ namespace vcpkg::Commands::Remove
static void print_plan(const std::map<RemovePlanType, std::vector<const RemovePlanAction*>>& group_by_plan_type)
{
- static constexpr std::array<RemovePlanType, 2> order = {RemovePlanType::NOT_INSTALLED, RemovePlanType::REMOVE};
+ static constexpr std::array<RemovePlanType, 2> ORDER = {RemovePlanType::NOT_INSTALLED, RemovePlanType::REMOVE};
- for (const RemovePlanType plan_type : order)
+ for (const RemovePlanType plan_type : ORDER)
{
- auto it = group_by_plan_type.find(plan_type);
+ const auto it = group_by_plan_type.find(plan_type);
if (it == group_by_plan_type.cend())
{
continue;
@@ -129,6 +129,37 @@ namespace vcpkg::Commands::Remove
}
}
+ void perform_remove_plan_action(const VcpkgPaths& paths,
+ const RemovePlanAction& action,
+ const Purge purge,
+ StatusParagraphs& status_db)
+ {
+ const std::string display_name = action.spec.to_string();
+
+ switch (action.plan_type)
+ {
+ case RemovePlanType::NOT_INSTALLED:
+ System::println(System::Color::success, "Package %s is not installed", display_name);
+ break;
+ case RemovePlanType::REMOVE:
+ System::println("Removing package %s... ", display_name);
+ remove_package(paths, action.spec, &status_db);
+ System::println(System::Color::success, "Removing package %s... done", display_name);
+ break;
+ case RemovePlanType::UNKNOWN:
+ default: Checks::unreachable(VCPKG_LINE_INFO);
+ }
+
+ if (purge == Purge::YES)
+ {
+ System::println("Purging package %s... ", display_name);
+ Files::Filesystem& fs = paths.get_filesystem();
+ std::error_code ec;
+ fs.remove_all(paths.packages / action.spec.dir(), ec);
+ System::println(System::Color::success, "Purging package %s... done", display_name);
+ }
+ }
+
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths, const Triplet& default_triplet)
{
static const std::string OPTION_PURGE = "--purge";
@@ -166,16 +197,17 @@ namespace vcpkg::Commands::Remove
Input::check_triplet(spec.triplet(), paths);
}
- const bool alsoRemoveFolderFromPackages = options.find(OPTION_NO_PURGE) == options.end();
- if (options.find(OPTION_PURGE) != options.end() && !alsoRemoveFolderFromPackages)
+ const bool no_purge_was_passed = options.find(OPTION_NO_PURGE) != options.end();
+ const bool purge_was_passed = options.find(OPTION_PURGE) != options.end();
+ if (purge_was_passed && no_purge_was_passed)
{
- // User specified --purge and --no-purge
System::println(System::Color::error, "Error: cannot specify both --no-purge and --purge.");
System::print(EXAMPLE);
Checks::exit_fail(VCPKG_LINE_INFO);
}
- const bool isRecursive = options.find(OPTION_RECURSE) != options.cend();
- const bool dryRun = options.find(OPTION_DRY_RUN) != options.cend();
+ const Purge purge = to_purge(purge_was_passed || !no_purge_was_passed);
+ const bool is_recursive = options.find(OPTION_RECURSE) != options.cend();
+ const bool dry_run = options.find(OPTION_DRY_RUN) != options.cend();
const std::vector<RemovePlanAction> remove_plan = Dependencies::create_remove_plan(specs, status_db);
Checks::check_exit(VCPKG_LINE_INFO, !remove_plan.empty(), "Remove plan cannot be empty");
@@ -194,7 +226,7 @@ namespace vcpkg::Commands::Remove
System::println(System::Color::warning,
"Additional packages (*) need to be removed to complete this operation.");
- if (!isRecursive)
+ if (!is_recursive)
{
System::println(System::Color::warning,
"If you are sure you want to remove them, run the command with the --recurse option");
@@ -202,37 +234,14 @@ namespace vcpkg::Commands::Remove
}
}
- if (dryRun)
+ if (dry_run)
{
Checks::exit_success(VCPKG_LINE_INFO);
}
for (const RemovePlanAction& action : remove_plan)
{
- const std::string display_name = action.spec.to_string();
-
- switch (action.plan_type)
- {
- case RemovePlanType::NOT_INSTALLED:
- System::println(System::Color::success, "Package %s is not installed", display_name);
- break;
- case RemovePlanType::REMOVE:
- System::println("Removing package %s... ", display_name);
- remove_package(paths, action.spec, &status_db);
- System::println(System::Color::success, "Removing package %s... done", display_name);
- break;
- case RemovePlanType::UNKNOWN:
- default: Checks::unreachable(VCPKG_LINE_INFO);
- }
-
- if (alsoRemoveFolderFromPackages)
- {
- System::println("Purging package %s... ", display_name);
- Files::Filesystem& fs = paths.get_filesystem();
- std::error_code ec;
- fs.remove_all(paths.packages / action.spec.dir(), ec);
- System::println(System::Color::success, "Purging package %s... done", display_name);
- }
+ perform_remove_plan_action(paths, action, purge, status_db);
}
Checks::exit_success(VCPKG_LINE_INFO);
diff --git a/toolsrc/src/commands_search.cpp b/toolsrc/src/commands_search.cpp
index 1ccec9fbe..d35a546c4 100644
--- a/toolsrc/src/commands_search.cpp
+++ b/toolsrc/src/commands_search.cpp
@@ -87,27 +87,8 @@ namespace vcpkg::Commands::Search
const std::unordered_set<std::string> options =
args.check_and_get_optional_command_arguments({OPTION_GRAPH, OPTION_FULLDESC});
- auto sources_and_errors = Paragraphs::try_load_all_ports(paths.get_filesystem(), paths.ports);
+ auto source_paragraphs = Paragraphs::load_all_ports(paths.get_filesystem(), paths.ports);
- if (!sources_and_errors.errors.empty())
- {
- if (GlobalState::debugging)
- {
- print_error_message(sources_and_errors.errors);
- }
- else
- {
- for (auto&& error : sources_and_errors.errors)
- {
- System::println(
- System::Color::warning, "Warning: an error occurred while parsing '%s'", error->name);
- }
- System::println(System::Color::warning,
- "Use '--debug' to get more information about the parse failures.\n");
- }
- }
-
- auto& source_paragraphs = sources_and_errors.paragraphs;
if (options.find(OPTION_GRAPH) != options.cend())
{
const std::string graph_as_string = create_graph_as_string(source_paragraphs);
diff --git a/toolsrc/src/commands_update.cpp b/toolsrc/src/commands_update.cpp
index 35f24af12..71ea4b063 100644
--- a/toolsrc/src/commands_update.cpp
+++ b/toolsrc/src/commands_update.cpp
@@ -2,7 +2,6 @@
#include "Paragraphs.h"
#include "vcpkg_Commands.h"
-#include "vcpkg_Files.h"
#include "vcpkg_System.h"
#include "vcpkglib.h"
@@ -22,7 +21,7 @@ namespace vcpkg::Commands::Update
std::vector<OutdatedPackage> output;
for (const StatusParagraph* pgh : installed_packages)
{
- auto it = src_names_to_versions.find(pgh->package.spec.name());
+ const auto it = src_names_to_versions.find(pgh->package.spec.name());
if (it == src_names_to_versions.end())
{
// Package was not installed from portfile
@@ -69,31 +68,6 @@ namespace vcpkg::Commands::Update
install_line);
}
- auto version_file = paths.get_filesystem().read_contents(paths.root / "toolsrc" / "VERSION.txt");
- if (auto version_contents = version_file.get())
- {
- int maj1, min1, rev1;
- auto num1 = sscanf_s(version_contents->c_str(), "\"%d.%d.%d\"", &maj1, &min1, &rev1);
-
- int maj2, min2, rev2;
- auto num2 = sscanf_s(Version::version().c_str(), "%d.%d.%d-", &maj2, &min2, &rev2);
-
- if (num1 == 3 && num2 == 3)
- {
- if (maj1 != maj2 || min1 != min2 || rev1 != rev2)
- {
- System::println("Different source is available for vcpkg (%d.%d.%d -> %d.%d.%d). Use "
- ".\\bootstrap-vcpkg.bat to update.",
- maj2,
- min2,
- rev2,
- maj1,
- min1,
- rev1);
- }
- }
- }
-
Checks::exit_success(VCPKG_LINE_INFO);
}
}
diff --git a/toolsrc/src/commands_version.cpp b/toolsrc/src/commands_version.cpp
index af81cd26e..5744ea9ef 100644
--- a/toolsrc/src/commands_version.cpp
+++ b/toolsrc/src/commands_version.cpp
@@ -13,7 +13,7 @@ namespace vcpkg::Commands::Version
{
const std::string& version()
{
- static const std::string s_version =
+ static const std::string S_VERSION =
#include "../VERSION.txt"
+std::string(VCPKG_VERSION_AS_STRING)
@@ -21,7 +21,36 @@ namespace vcpkg::Commands::Version
+ std::string("-debug")
#endif
+ std::string(Metrics::get_compiled_metrics_enabled() ? Strings::EMPTY : "-external");
- return s_version;
+ return S_VERSION;
+ }
+
+ void warn_if_vcpkg_version_mismatch(const VcpkgPaths& paths)
+ {
+ auto version_file = paths.get_filesystem().read_contents(paths.root / "toolsrc" / "VERSION.txt");
+ if (const auto version_contents = version_file.get())
+ {
+ int maj1, min1, rev1;
+ const auto num1 = sscanf_s(version_contents->c_str(), "\"%d.%d.%d\"", &maj1, &min1, &rev1);
+
+ int maj2, min2, rev2;
+ const auto num2 = sscanf_s(Version::version().c_str(), "%d.%d.%d-", &maj2, &min2, &rev2);
+
+ if (num1 == 3 && num2 == 3)
+ {
+ if (maj1 != maj2 || min1 != min2 || rev1 != rev2)
+ {
+ System::println(System::Color::warning,
+ "Warning: Different source is available for vcpkg (%d.%d.%d -> %d.%d.%d). Use "
+ ".\\bootstrap-vcpkg.bat to update.",
+ maj2,
+ min2,
+ rev2,
+ maj1,
+ min1,
+ rev1);
+ }
+ }
+ }
}
void perform_and_exit(const VcpkgCmdArguments& args)
diff --git a/toolsrc/src/metrics.cpp b/toolsrc/src/metrics.cpp
index 8a7d02a30..8a0050bfc 100644
--- a/toolsrc/src/metrics.cpp
+++ b/toolsrc/src/metrics.cpp
@@ -20,9 +20,9 @@ namespace vcpkg::Metrics
_ftime_s(&timebuffer);
time_t now = timebuffer.time;
- int milli = timebuffer.millitm;
+ const int milli = timebuffer.millitm;
- errno_t err = gmtime_s(&newtime, &now);
+ const errno_t err = gmtime_s(&newtime, &now);
if (err)
{
return Strings::EMPTY;
@@ -34,7 +34,7 @@ namespace vcpkg::Metrics
static std::string generate_random_UUID()
{
- int partSizes[] = {8, 4, 4, 4, 12};
+ int part_sizes[] = {8, 4, 4, 4, 12};
char uuid[37];
memset(uuid, 0, sizeof(uuid));
int num;
@@ -50,7 +50,7 @@ namespace vcpkg::Metrics
// Generating UUID format version 4
// http://en.wikipedia.org/wiki/Universally_unique_identifier
- for (int i = 0; i < partSizes[part]; i++, index++)
+ for (int i = 0; i < part_sizes[part]; i++, index++)
{
if (part == 2 && i == 0)
{
@@ -81,8 +81,8 @@ namespace vcpkg::Metrics
static const std::string& get_session_id()
{
- static const std::string id = generate_random_UUID();
- return id;
+ static const std::string ID = generate_random_UUID();
+ return ID;
}
static std::string to_json_string(const std::string& str)
@@ -101,11 +101,11 @@ namespace vcpkg::Metrics
else if (ch < 0x20 || ch >= 0x80)
{
// Note: this treats incoming Strings as Latin-1
- static constexpr const char hex[16] = {
+ static constexpr const char HEX[16] = {
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
encoded.append("\\u00");
- encoded.push_back(hex[ch / 16]);
- encoded.push_back(hex[ch % 16]);
+ encoded.push_back(HEX[ch / 16]);
+ encoded.push_back(HEX[ch % 16]);
}
else
{
@@ -120,11 +120,11 @@ namespace vcpkg::Metrics
{
std::wstring path;
path.resize(MAX_PATH);
- auto n = GetSystemDirectoryW(&path[0], static_cast<UINT>(path.size()));
+ const auto n = GetSystemDirectoryW(&path[0], static_cast<UINT>(path.size()));
path.resize(n);
path += L"\\kernel32.dll";
- auto versz = GetFileVersionInfoSizeW(path.c_str(), nullptr);
+ const auto versz = GetFileVersionInfoSizeW(path.c_str(), nullptr);
if (versz == 0) return Strings::EMPTY;
std::vector<char> verbuf;
@@ -152,7 +152,7 @@ namespace vcpkg::Metrics
std::string properties;
std::string measurements;
- void TrackProperty(const std::string& name, const std::string& value)
+ void track_property(const std::string& name, const std::string& value)
{
if (properties.size() != 0) properties.push_back(',');
properties.append(to_json_string(name));
@@ -160,7 +160,7 @@ namespace vcpkg::Metrics
properties.append(to_json_string(value));
}
- void TrackMetric(const std::string& name, double value)
+ void track_metric(const std::string& name, double value)
{
if (measurements.size() != 0) measurements.push_back(',');
measurements.append(to_json_string(name));
@@ -241,7 +241,7 @@ namespace vcpkg::Metrics
void Metrics::set_print_metrics(bool should_print_metrics) { g_should_print_metrics = should_print_metrics; }
- void Metrics::track_metric(const std::string& name, double value) { g_metricmessage.TrackMetric(name, value); }
+ void Metrics::track_metric(const std::string& name, double value) { g_metricmessage.track_metric(name, value); }
void Metrics::track_property(const std::string& name, const std::wstring& value)
{
@@ -251,85 +251,85 @@ namespace vcpkg::Metrics
std::transform(
value.begin(), value.end(), converted_value.begin(), [](wchar_t ch) { return static_cast<char>(ch); });
- g_metricmessage.TrackProperty(name, converted_value);
+ g_metricmessage.track_property(name, converted_value);
}
void Metrics::track_property(const std::string& name, const std::string& value)
{
- g_metricmessage.TrackProperty(name, value);
+ g_metricmessage.track_property(name, value);
}
void Metrics::upload(const std::string& payload)
{
- HINTERNET hSession = nullptr, hConnect = nullptr, hRequest = nullptr;
- BOOL bResults = FALSE;
+ HINTERNET connect = nullptr, request = nullptr;
+ BOOL results = FALSE;
- hSession = WinHttpOpen(
+ const HINTERNET session = WinHttpOpen(
L"vcpkg/1.0", WINHTTP_ACCESS_TYPE_DEFAULT_PROXY, WINHTTP_NO_PROXY_NAME, WINHTTP_NO_PROXY_BYPASS, 0);
- if (hSession)
- hConnect = WinHttpConnect(hSession, L"dc.services.visualstudio.com", INTERNET_DEFAULT_HTTPS_PORT, 0);
-
- if (hConnect)
- hRequest = WinHttpOpenRequest(hConnect,
- L"POST",
- L"/v2/track",
- nullptr,
- WINHTTP_NO_REFERER,
- WINHTTP_DEFAULT_ACCEPT_TYPES,
- WINHTTP_FLAG_SECURE);
-
- if (hRequest)
+ if (session) connect = WinHttpConnect(session, L"dc.services.visualstudio.com", INTERNET_DEFAULT_HTTPS_PORT, 0);
+
+ if (connect)
+ request = WinHttpOpenRequest(connect,
+ L"POST",
+ L"/v2/track",
+ nullptr,
+ WINHTTP_NO_REFERER,
+ WINHTTP_DEFAULT_ACCEPT_TYPES,
+ WINHTTP_FLAG_SECURE);
+
+ if (request)
{
if (MAXDWORD <= payload.size()) abort();
std::wstring hdrs = L"Content-Type: application/json\r\n";
- bResults = WinHttpSendRequest(hRequest,
- hdrs.c_str(),
- static_cast<DWORD>(hdrs.size()),
- (void*)&payload[0],
- static_cast<DWORD>(payload.size()),
- static_cast<DWORD>(payload.size()),
- 0);
+ std::string& p = const_cast<std::string&>(payload);
+ results = WinHttpSendRequest(request,
+ hdrs.c_str(),
+ static_cast<DWORD>(hdrs.size()),
+ static_cast<void*>(&p[0]),
+ static_cast<DWORD>(payload.size()),
+ static_cast<DWORD>(payload.size()),
+ 0);
}
- if (bResults)
+ if (results)
{
- bResults = WinHttpReceiveResponse(hRequest, nullptr);
+ results = WinHttpReceiveResponse(request, nullptr);
}
DWORD http_code = 0, junk = sizeof(DWORD);
- if (bResults)
+ if (results)
{
- bResults = WinHttpQueryHeaders(hRequest,
- WINHTTP_QUERY_STATUS_CODE | WINHTTP_QUERY_FLAG_NUMBER,
- nullptr,
- &http_code,
- &junk,
- WINHTTP_NO_HEADER_INDEX);
+ results = WinHttpQueryHeaders(request,
+ WINHTTP_QUERY_STATUS_CODE | WINHTTP_QUERY_FLAG_NUMBER,
+ nullptr,
+ &http_code,
+ &junk,
+ WINHTTP_NO_HEADER_INDEX);
}
- std::vector<char> responseBuffer;
- if (bResults)
+ std::vector<char> response_buffer;
+ if (results)
{
- DWORD availableData = 0, readData = 0, totalData = 0;
- while ((bResults = WinHttpQueryDataAvailable(hRequest, &availableData)) == TRUE && availableData > 0)
+ DWORD available_data = 0, read_data = 0, total_data = 0;
+ while ((results = WinHttpQueryDataAvailable(request, &available_data)) == TRUE && available_data > 0)
{
- responseBuffer.resize(responseBuffer.size() + availableData);
+ response_buffer.resize(response_buffer.size() + available_data);
- bResults = WinHttpReadData(hRequest, &responseBuffer.data()[totalData], availableData, &readData);
+ results = WinHttpReadData(request, &response_buffer.data()[total_data], available_data, &read_data);
- if (!bResults)
+ if (!results)
{
break;
}
- totalData += readData;
+ total_data += read_data;
- responseBuffer.resize(totalData);
+ response_buffer.resize(total_data);
}
}
- if (!bResults)
+ if (!results)
{
#ifndef NDEBUG
__debugbreak();
@@ -338,22 +338,22 @@ namespace vcpkg::Metrics
#endif
}
- if (hRequest) WinHttpCloseHandle(hRequest);
- if (hConnect) WinHttpCloseHandle(hConnect);
- if (hSession) WinHttpCloseHandle(hSession);
+ if (request) WinHttpCloseHandle(request);
+ if (connect) WinHttpCloseHandle(connect);
+ if (session) WinHttpCloseHandle(session);
}
static fs::path get_bindir()
{
wchar_t buf[_MAX_PATH];
- int bytes = GetModuleFileNameW(nullptr, buf, _MAX_PATH);
+ const int bytes = GetModuleFileNameW(nullptr, buf, _MAX_PATH);
if (bytes == 0) std::abort();
return fs::path(buf, buf + bytes);
}
void Metrics::flush()
{
- std::string payload = g_metricmessage.format_event_data_template();
+ const std::string payload = g_metricmessage.format_event_data_template();
if (g_should_print_metrics) std::cerr << payload << "\n";
if (!g_should_send_metrics) return;
@@ -388,8 +388,8 @@ namespace vcpkg::Metrics
const fs::path vcpkg_metrics_txt_path = temp_folder_path / ("vcpkg" + generate_random_UUID() + ".txt");
fs.write_contents(vcpkg_metrics_txt_path, payload);
- const std::wstring cmdLine =
+ const std::wstring cmd_line =
Strings::wformat(L"start %s %s", temp_folder_path_exe.native(), vcpkg_metrics_txt_path.native());
- System::cmd_execute_clean(cmdLine);
+ System::cmd_execute_clean(cmd_line);
}
}
diff --git a/toolsrc/src/tests_package_spec.cpp b/toolsrc/src/tests_package_spec.cpp
index fa201b372..a6b9d5b13 100644
--- a/toolsrc/src/tests_package_spec.cpp
+++ b/toolsrc/src/tests_package_spec.cpp
@@ -43,7 +43,7 @@ namespace UnitTest1
std::array<const char*, 6> features = {"", "0", "1", "", "2", "3"};
std::array<PackageSpec*, 6> specs = {&a_spec, &a_spec, &a_spec, &b_spec, &b_spec, &b_spec};
- for (int i = 0; i < features.size(); ++i)
+ for (size_t i = 0; i < features.size(); ++i)
{
Assert::AreEqual(features[i], fspecs[i].feature().c_str());
Assert::AreEqual(*specs[i], fspecs[i].spec());
diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp
index 781f03585..706c641fb 100644
--- a/toolsrc/src/vcpkg.cpp
+++ b/toolsrc/src/vcpkg.cpp
@@ -11,7 +11,10 @@
#include "vcpkg_Strings.h"
#include "vcpkg_System.h"
#include "vcpkglib.h"
+#pragma warning(push)
+#pragma warning(disable : 4768)
#include <Shlobj.h>
+#pragma warning(pop)
#include <cassert>
#include <fstream>
#include <memory>
@@ -69,6 +72,7 @@ static void inner(const VcpkgCmdArguments& args)
const VcpkgPaths paths = expected_paths.value_or_exit(VCPKG_LINE_INFO);
const int exit_code = _wchdir(paths.root.c_str());
Checks::check_exit(VCPKG_LINE_INFO, exit_code == 0, "Changing the working dir failed");
+ Commands::Version::warn_if_vcpkg_version_mismatch(paths);
if (const auto command_function = Commands::find(args.command, Commands::get_available_commands_type_b()))
{
@@ -104,7 +108,7 @@ static void inner(const VcpkgCmdArguments& args)
return invalid_command(args.command);
}
-static void loadConfig()
+static void load_config()
{
fs::path localappdata;
{
@@ -207,7 +211,7 @@ int wmain(const int argc, const wchar_t* const* const argv)
locked_metrics->track_property("version", Commands::Version::version());
locked_metrics->track_property("cmdline", trimmed_command_line);
}
- loadConfig();
+ load_config();
Metrics::g_metrics.lock()->track_property("sqmuser", Metrics::get_SQM_user());
const VcpkgCmdArguments args = VcpkgCmdArguments::create_from_command_line(argc, argv);
diff --git a/toolsrc/src/vcpkg_Build.cpp b/toolsrc/src/vcpkg_Build.cpp
index a2fa99ac8..853f84998 100644
--- a/toolsrc/src/vcpkg_Build.cpp
+++ b/toolsrc/src/vcpkg_Build.cpp
@@ -67,7 +67,12 @@ namespace vcpkg::Build
const auto arch = to_vcvarsall_toolchain(pre_build_info.target_architecture, toolset);
const auto target = to_vcvarsall_target(pre_build_info.cmake_system_name);
- return Strings::wformat(LR"("%s" %s %s %s 2>&1)", toolset.vcvarsall.native(), arch, target, tonull);
+ return Strings::wformat(LR"("%s" %s %s %s %s 2>&1)",
+ toolset.vcvarsall.native(),
+ Strings::join(L" ", toolset.vcvarsall_options),
+ arch,
+ target,
+ tonull);
}
static void create_binary_feature_control_file(const SourceParagraph& source_paragraph,
@@ -160,7 +165,7 @@ namespace vcpkg::Build
{L"PORT", config.src.name},
{L"CURRENT_PORT_DIR", config.port_dir / "/."},
{L"TARGET_TRIPLET", triplet.canonical_name()},
- {L"VCPKG_PLATFORM_TOOLSET", toolset.version},
+ {L"VCPKG_PLATFORM_TOOLSET", toolset.version.c_str()},
{L"VCPKG_USE_HEAD_VERSION", to_bool(config.build_package_options.use_head_version) ? L"1" : L"0"},
{L"_VCPKG_NO_DOWNLOADS", !to_bool(config.build_package_options.allow_downloads) ? L"1" : L"0"},
{L"GIT", git_exe_path},
@@ -289,7 +294,7 @@ namespace vcpkg::Build
if (!version.empty()) build_info.version = std::move(version);
std::map<BuildPolicy, bool> policies;
- for (auto policy : g_all_policies)
+ for (auto policy : G_ALL_POLICIES)
{
const auto setting = parser.optional_field(to_string(policy));
if (setting.empty()) continue;
diff --git a/toolsrc/src/vcpkg_Dependencies.cpp b/toolsrc/src/vcpkg_Dependencies.cpp
index 1a0f0a6ed..8dd60a2eb 100644
--- a/toolsrc/src/vcpkg_Dependencies.cpp
+++ b/toolsrc/src/vcpkg_Dependencies.cpp
@@ -213,6 +213,21 @@ namespace vcpkg::Dependencies
{
}
+ const PackageSpec& AnyAction::spec() const
+ {
+ if (const auto p = install_plan.get())
+ {
+ return p->spec;
+ }
+
+ if (const auto p = remove_plan.get())
+ {
+ return p->spec;
+ }
+
+ Checks::exit_with_message(VCPKG_LINE_INFO, "Null action");
+ }
+
bool ExportPlanAction::compare_by_name(const ExportPlanAction* left, const ExportPlanAction* right)
{
return left->spec.name() < right->spec.name();
diff --git a/toolsrc/src/vcpkg_Strings.cpp b/toolsrc/src/vcpkg_Strings.cpp
index 15851829d..21df2c309 100644
--- a/toolsrc/src/vcpkg_Strings.cpp
+++ b/toolsrc/src/vcpkg_Strings.cpp
@@ -73,14 +73,20 @@ namespace vcpkg::Strings
{
std::wstring to_utf16(const CStringView s)
{
- std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>, wchar_t> conversion;
- return conversion.from_bytes(s);
+ const int size = MultiByteToWideChar(CP_UTF8, 0, s.c_str(), -1, nullptr, 0);
+ std::wstring output;
+ output.resize(size - 1);
+ MultiByteToWideChar(CP_UTF8, 0, s.c_str(), -1, output.data(), size - 1);
+ return output;
}
std::string to_utf8(const CWStringView w)
{
- std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>, wchar_t> conversion;
- return conversion.to_bytes(w);
+ const int size = WideCharToMultiByte(CP_UTF8, 0, w.c_str(), -1, nullptr, 0, nullptr, nullptr);
+ std::string output;
+ output.resize(size - 1);
+ WideCharToMultiByte(CP_UTF8, 0, w.c_str(), -1, output.data(), size - 1, nullptr, nullptr);
+ return output;
}
std::string::const_iterator case_insensitive_ascii_find(const std::string& s, const std::string& pattern)
@@ -100,7 +106,7 @@ namespace vcpkg::Strings
int case_insensitive_ascii_compare(const CStringView left, const CStringView right)
{
- return _stricmp(left, right);
+ return _stricmp(left.c_str(), right.c_str());
}
std::string ascii_to_lowercase(const std::string& input)
@@ -110,6 +116,11 @@ namespace vcpkg::Strings
return output;
}
+ bool case_insensitive_ascii_starts_with(const std::string& s, const std::string& pattern)
+ {
+ return _strnicmp(s.c_str(), pattern.c_str(), pattern.size()) == 0;
+ }
+
void trim(std::string* s)
{
s->erase(std::find_if_not(s->rbegin(), s->rend(), details::isspace).base(), s->end());
@@ -137,6 +148,12 @@ namespace vcpkg::Strings
{
std::vector<std::string> output;
+ if (delimiter.empty())
+ {
+ output.push_back(s);
+ return output;
+ }
+
size_t i = 0;
for (size_t pos = s.find(delimiter); pos != std::string::npos; pos = s.find(delimiter, pos))
{
diff --git a/toolsrc/src/vcpkg_System.cpp b/toolsrc/src/vcpkg_System.cpp
index 40e335117..4d2e88b73 100644
--- a/toolsrc/src/vcpkg_System.cpp
+++ b/toolsrc/src/vcpkg_System.cpp
@@ -226,7 +226,7 @@ namespace vcpkg::System
void println() { println(Strings::EMPTY); }
- void print(const CStringView message) { fputs(message, stdout); }
+ void print(const CStringView message) { fputs(message.c_str(), stdout); }
void println(const CStringView message)
{
@@ -255,13 +255,13 @@ namespace vcpkg::System
Optional<std::wstring> get_environment_variable(const CWStringView varname) noexcept
{
- const auto sz = GetEnvironmentVariableW(varname, nullptr, 0);
+ const auto sz = GetEnvironmentVariableW(varname.c_str(), nullptr, 0);
if (sz == 0) return nullopt;
std::wstring ret(sz, L'\0');
Checks::check_exit(VCPKG_LINE_INFO, MAXDWORD >= ret.size());
- const auto sz2 = GetEnvironmentVariableW(varname, ret.data(), static_cast<DWORD>(ret.size()));
+ const auto sz2 = GetEnvironmentVariableW(varname.c_str(), ret.data(), static_cast<DWORD>(ret.size()));
Checks::check_exit(VCPKG_LINE_INFO, sz2 + 1 == sz);
ret.pop_back();
return ret;
@@ -275,19 +275,20 @@ namespace vcpkg::System
Optional<std::wstring> get_registry_string(HKEY base, const CWStringView sub_key, const CWStringView valuename)
{
HKEY k = nullptr;
- const LSTATUS ec = RegOpenKeyExW(base, sub_key, NULL, KEY_READ, &k);
+ const LSTATUS ec = RegOpenKeyExW(base, sub_key.c_str(), NULL, KEY_READ, &k);
if (ec != ERROR_SUCCESS) return nullopt;
DWORD dw_buffer_size = 0;
DWORD dw_type = 0;
- auto rc = RegQueryValueExW(k, valuename, nullptr, &dw_type, nullptr, &dw_buffer_size);
+ auto rc = RegQueryValueExW(k, valuename.c_str(), nullptr, &dw_type, nullptr, &dw_buffer_size);
if (rc != ERROR_SUCCESS || !is_string_keytype(dw_type) || dw_buffer_size == 0 ||
dw_buffer_size % sizeof(wchar_t) != 0)
return nullopt;
std::wstring ret;
ret.resize(dw_buffer_size / sizeof(wchar_t));
- rc = RegQueryValueExW(k, valuename, nullptr, &dw_type, reinterpret_cast<LPBYTE>(ret.data()), &dw_buffer_size);
+ rc = RegQueryValueExW(
+ k, valuename.c_str(), nullptr, &dw_type, reinterpret_cast<LPBYTE>(ret.data()), &dw_buffer_size);
if (rc != ERROR_SUCCESS || !is_string_keytype(dw_type) || dw_buffer_size != sizeof(wchar_t) * ret.size())
return nullopt;