aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Neumann <alexander.neumann@hamburg.de>2019-09-20 12:24:23 +0200
committerAlexander Neumann <alexander.neumann@hamburg.de>2019-09-20 12:24:23 +0200
commit5b1e426929b40a9b60809284993b424b841a28fc (patch)
treebd12300ad859bababb7d4acc03700fd31949fddc
parent279e25aecfe30f55296881ea9b0236c1d6ee030a (diff)
parent358ec0954d9b71b0def4fd4b4dbafdd0b8478d81 (diff)
downloadvcpkg-5b1e426929b40a9b60809284993b424b841a28fc.tar.gz
vcpkg-5b1e426929b40a9b60809284993b424b841a28fc.zip
Merge remote-tracking branch 'upstream/master' into path_separator
# Conflicts: # scripts/cmake/vcpkg_common_definitions.cmake
-rw-r--r--CHANGELOG.md814
-rw-r--r--LICENSE.txt2
-rw-r--r--docs/about/faq.md5
-rw-r--r--docs/index.md2
-rw-r--r--docs/maintainers/execute_process.md10
-rw-r--r--docs/maintainers/portfile-functions.md3
-rw-r--r--docs/maintainers/vcpkg_common_definitions.md19
-rw-r--r--docs/maintainers/vcpkg_execute_required_process.md4
-rw-r--r--docs/maintainers/vcpkg_fail_port_install.md34
-rw-r--r--docs/tool-maintainers/benchmarking.md195
-rw-r--r--docs/tool-maintainers/layout.md85
-rw-r--r--docs/tool-maintainers/testing.md36
-rw-r--r--ports/abseil/CONTROL2
-rw-r--r--ports/abseil/fix-config.patch26
-rw-r--r--ports/abseil/portfile.cmake6
-rw-r--r--ports/aixlog/CONTROL2
-rw-r--r--ports/aixlog/portfile.cmake28
-rw-r--r--ports/anyrpc/CONTROL4
-rw-r--r--ports/anyrpc/arm_endian_detection.patch16
-rw-r--r--ports/anyrpc/portfile.cmake29
-rw-r--r--ports/args/CONTROL2
-rw-r--r--ports/args/portfile.cmake4
-rw-r--r--ports/argtable3/CONTROL4
-rw-r--r--ports/argtable3/fix-cmake.patch98
-rw-r--r--ports/argtable3/portfile.cmake53
-rw-r--r--ports/argtable3/vcpkg-cmake-wrapper.cmake9
-rw-r--r--ports/asmjit/CONTROL2
-rw-r--r--ports/asmjit/portfile.cmake4
-rw-r--r--ports/atk/CMakeLists.txt16
-rw-r--r--ports/atk/CONTROL2
-rw-r--r--ports/atk/fix-encoding.patch12
-rw-r--r--ports/atk/fix-linux-config.patch22
-rw-r--r--ports/atk/portfile.cmake11
-rw-r--r--ports/aws-c-common/CONTROL2
-rw-r--r--ports/aws-c-common/disable-error-4068.patch15
-rw-r--r--ports/aws-c-common/disable-internal-crt-option.patch14
-rw-r--r--ports/aws-c-common/fix-dependencey-build-error.patch13
-rw-r--r--ports/aws-c-common/portfile.cmake6
-rw-r--r--ports/aws-sdk-cpp/CONTROL2
-rw-r--r--ports/aws-sdk-cpp/portfile.cmake4
-rw-r--r--ports/beast/CONTROL1
-rw-r--r--ports/bitsery/CONTROL2
-rw-r--r--ports/bitsery/portfile.cmake4
-rw-r--r--ports/blaze/CONTROL2
-rw-r--r--ports/blaze/portfile.cmake4
-rw-r--r--ports/blend2d/CONTROL2
-rw-r--r--ports/blend2d/portfile.cmake8
-rw-r--r--ports/boost/CONTROL28
-rw-r--r--ports/botan/CONTROL2
-rw-r--r--ports/botan/fix-build_error.patch25
-rw-r--r--ports/botan/portfile.cmake8
-rw-r--r--ports/breakpad/CONTROL2
-rw-r--r--ports/breakpad/fix-unique_ptr.patch13
-rw-r--r--ports/breakpad/portfile.cmake6
-rw-r--r--ports/cairo/CMakeLists.txt8
-rw-r--r--ports/cairo/CONTROL5
-rw-r--r--ports/cairo/portfile.cmake12
-rw-r--r--ports/casclib/CONTROL2
-rw-r--r--ports/casclib/ctype_for_mac.patch15
-rw-r--r--ports/casclib/portfile.cmake4
-rw-r--r--ports/cello/CMakeLists.txt26
-rw-r--r--ports/cello/CONTROL4
-rw-r--r--ports/cello/portfile.cmake32
-rw-r--r--ports/cgicc/CMakeLists.txt4
-rw-r--r--ports/cgicc/CONTROL2
-rw-r--r--ports/cgicc/fix-define.patch22
-rw-r--r--ports/cgicc/portfile.cmake13
-rw-r--r--ports/cgl/CMakeLists.txt143
-rw-r--r--ports/cgl/CONTROL5
-rw-r--r--ports/cgl/Config.cmake.in5
-rw-r--r--ports/cgl/fix-c1083-error.patch30
-rw-r--r--ports/cgl/portfile.cmake28
-rw-r--r--ports/chaiscript/CONTROL2
-rw-r--r--ports/chaiscript/portfile.cmake14
-rw-r--r--ports/chakracore/CONTROL2
-rw-r--r--ports/chakracore/portfile.cmake4
-rw-r--r--ports/chartdir/CONTROL4
-rw-r--r--ports/chartdir/Config.cmake.in21
-rw-r--r--ports/chartdir/chartdir.h6
-rw-r--r--ports/chartdir/portfile.cmake96
-rw-r--r--ports/chartdir/usage4
-rw-r--r--ports/chipmunk/CONTROL2
-rw-r--r--ports/chipmunk/portfile.cmake22
-rw-r--r--ports/cityhash/CMakeLists.txt18
-rw-r--r--ports/cityhash/CONTROL4
-rw-r--r--ports/cityhash/config.h118
-rw-r--r--ports/cityhash/portfile.cmake39
-rw-r--r--ports/clapack/CONTROL2
-rw-r--r--ports/clapack/fix-ConfigFile.patch7
-rw-r--r--ports/clapack/portfile.cmake1
-rw-r--r--ports/clblas/portfile.cmake24
-rw-r--r--ports/clfft/portfile.cmake6
-rw-r--r--ports/cli/CONTROL2
-rw-r--r--ports/cli/portfile.cmake4
-rw-r--r--ports/clue/CMakeLists.txt25
-rw-r--r--ports/clue/CONTROL7
-rw-r--r--ports/clue/portfile.cmake29
-rw-r--r--ports/console-bridge/CONTROL2
-rw-r--r--ports/console-bridge/portfile.cmake18
-rw-r--r--ports/coroutine/CONTROL2
-rw-r--r--ports/coroutine/portfile.cmake4
-rw-r--r--ports/cpp-httplib/CONTROL2
-rw-r--r--ports/cpp-httplib/portfile.cmake6
-rw-r--r--ports/cpp-redis/CONTROL4
-rw-r--r--ports/cpp-redis/portfile.cmake6
-rw-r--r--ports/cppkafka/CONTROL5
-rw-r--r--ports/cppkafka/portfile.cmake24
-rw-r--r--ports/cpprestsdk/CONTROL11
-rw-r--r--ports/cpputest/CONTROL4
-rw-r--r--ports/cpputest/fix-arm-build-error.patch20
-rw-r--r--ports/cpputest/portfile.cmake35
-rw-r--r--ports/crc32c/CONTROL2
-rw-r--r--ports/crc32c/portfile.cmake4
-rw-r--r--ports/cryptopp/CONTROL2
-rw-r--r--ports/cryptopp/missing-flags.patch20
-rw-r--r--ports/cryptopp/portfile.cmake10
-rw-r--r--ports/cryptopp/simon-speck.patch13
-rw-r--r--ports/cxxopts/fix-uwp-error.patch13
-rw-r--r--ports/cxxopts/portfile.cmake2
-rw-r--r--ports/date/0001-fix-uwp.patch13
-rw-r--r--ports/date/CMakeLists.txt44
-rw-r--r--ports/date/CONTROL4
-rw-r--r--ports/date/portfile.cmake36
-rw-r--r--ports/date/usage4
-rw-r--r--ports/date/vcpkg-cmake-wrapper.cmake11
-rw-r--r--ports/dcmtk/CONTROL2
-rw-r--r--ports/dcmtk/portfile.cmake2
-rw-r--r--ports/dimcli/CONTROL2
-rw-r--r--ports/dimcli/fix-NameBoolean.patch126
-rw-r--r--ports/dimcli/portfile.cmake4
-rw-r--r--ports/directxmesh/CONTROL4
-rw-r--r--ports/directxmesh/portfile.cmake4
-rw-r--r--ports/directxtex/CONTROL4
-rw-r--r--ports/directxtex/portfile.cmake4
-rw-r--r--ports/directxtk/CONTROL4
-rw-r--r--ports/directxtk/portfile.cmake4
-rw-r--r--ports/directxtk12/CONTROL4
-rw-r--r--ports/directxtk12/portfile.cmake4
-rw-r--r--ports/dlfcn-win32/CONTROL2
-rw-r--r--ports/dlfcn-win32/portfile.cmake17
-rw-r--r--ports/dmlc/CONTROL8
-rw-r--r--ports/dmlc/portfile.cmake43
-rw-r--r--ports/duktape/CONTROL2
-rw-r--r--ports/duktape/portfile.cmake18
-rw-r--r--ports/ecsutil/CONTROL8
-rw-r--r--ports/ecsutil/NoLibSyms.patch41
-rw-r--r--ports/ecsutil/portfile.cmake5
-rw-r--r--ports/egl-registry/CONTROL2
-rw-r--r--ports/egl-registry/portfile.cmake4
-rw-r--r--ports/embree3/CONTROL2
-rw-r--r--ports/embree3/fix-cmake-path.patch163
-rw-r--r--ports/embree3/portfile.cmake21
-rw-r--r--ports/enet/CONTROL2
-rw-r--r--ports/enet/portfile.cmake17
-rw-r--r--ports/entt/CONTROL2
-rw-r--r--ports/entt/portfile.cmake4
-rw-r--r--ports/evpp/CONTROL4
-rw-r--r--ports/evpp/fix-linux-build.patch112
-rw-r--r--ports/evpp/portfile.cmake39
-rw-r--r--ports/exiv2/CONTROL2
-rw-r--r--ports/exiv2/iconv.patch18
-rw-r--r--ports/exiv2/portfile.cmake11
-rw-r--r--ports/exprtk/CONTROL2
-rw-r--r--ports/exprtk/portfile.cmake4
-rw-r--r--ports/fastcdr/CONTROL2
-rw-r--r--ports/fastcdr/portfile.cmake4
-rw-r--r--ports/fizz/CONTROL2
-rw-r--r--ports/fizz/portfile.cmake4
-rw-r--r--ports/fltk/CONTROL2
-rw-r--r--ports/fltk/portfile.cmake14
-rw-r--r--ports/fluidsynth/CONTROL4
-rw-r--r--ports/fluidsynth/force-x86-gentables.patch34
-rw-r--r--ports/fluidsynth/portfile.cmake3
-rw-r--r--ports/fmi4cpp/CONTROL3
-rw-r--r--ports/fmi4cpp/portfile.cmake21
-rw-r--r--ports/fmilib/CONTROL2
-rw-r--r--ports/fmilib/portfile.cmake15
-rw-r--r--ports/fmt/CONTROL2
-rw-r--r--ports/fmt/portfile.cmake32
-rw-r--r--ports/folly/CONTROL2
-rw-r--r--ports/folly/portfile.cmake4
-rw-r--r--ports/foonathan-memory/CONTROL8
-rw-r--r--ports/foonathan-memory/portfile.cmake128
-rw-r--r--ports/fplus/CONTROL4
-rw-r--r--ports/fplus/portfile.cmake22
-rw-r--r--ports/freetds/CONTROL3
-rw-r--r--ports/freetds/portfile.cmake12
-rw-r--r--ports/gainput/CONTROL2
-rw-r--r--ports/gainput/portfile.cmake28
-rw-r--r--ports/gdcm/CONTROL2
-rw-r--r--ports/gdcm/Fix-Cmake_DIR.patch41
-rw-r--r--ports/gdcm/portfile.cmake1
-rw-r--r--ports/geographiclib/CONTROL2
-rw-r--r--ports/geographiclib/fix-usage.patch16
-rw-r--r--ports/geographiclib/portfile.cmake22
-rw-r--r--ports/geographiclib/usage8
-rw-r--r--ports/gettext/CONTROL2
-rw-r--r--ports/gettext/portfile.cmake3
-rw-r--r--ports/glad/CONTROL2
-rw-r--r--ports/glad/portfile.cmake4
-rw-r--r--ports/glew/CONTROL2
-rw-r--r--ports/glew/portfile.cmake1
-rw-r--r--ports/glew/vcpkg-cmake-wrapper.cmake25
-rw-r--r--ports/glfw3/CONTROL2
-rw-r--r--ports/glfw3/fix-config.patch24
-rw-r--r--ports/glfw3/portfile.cmake10
-rw-r--r--ports/glib/CMakeLists.txt7
-rw-r--r--ports/glib/CONTROL5
-rw-r--r--ports/glib/portfile.cmake12
-rw-r--r--ports/glog/CONTROL2
-rw-r--r--ports/glog/portfile.cmake12
-rw-r--r--ports/glslang/CONTROL2
-rw-r--r--ports/glslang/portfile.cmake9
-rw-r--r--ports/gmmlib/CONTROL2
-rw-r--r--ports/gmmlib/portfile.cmake4
-rw-r--r--ports/google-cloud-cpp/CONTROL2
-rw-r--r--ports/google-cloud-cpp/portfile.cmake4
-rw-r--r--ports/googleapis/CONTROL2
-rw-r--r--ports/googleapis/portfile.cmake4
-rw-r--r--ports/gppanel/00001-fix-build.patch24
-rw-r--r--ports/gppanel/CMakeLists.txt32
-rw-r--r--ports/gppanel/CONTROL5
-rw-r--r--ports/gppanel/portfile.cmake42
-rw-r--r--ports/gppanel/usage4
-rw-r--r--ports/graphicsmagick/CONTROL2
-rw-r--r--ports/graphicsmagick/portfile.cmake4
-rw-r--r--ports/graphite2/CONTROL2
-rw-r--r--ports/graphite2/disable-tests.patch62
-rw-r--r--ports/graphite2/portfile.cmake4
-rw-r--r--ports/grpc/00005-fix-uwp-error.patch12
-rw-r--r--ports/grpc/00006-crypt32.patch13
-rw-r--r--ports/grpc/00007-disable_grpcpp_channelz.patch34
-rw-r--r--ports/grpc/CONTROL2
-rw-r--r--ports/grpc/portfile.cmake7
-rw-r--r--ports/grppi/CONTROL4
-rw-r--r--ports/grppi/fix-build-error.patch13
-rw-r--r--ports/grppi/fix-support-other-compilers.patch44
-rw-r--r--ports/grppi/portfile.cmake27
-rw-r--r--ports/gtest/CONTROL2
-rw-r--r--ports/gtest/fix-main-lib-path.patch68
-rw-r--r--ports/gtest/portfile.cmake3
-rw-r--r--ports/gtest/usage6
-rw-r--r--ports/hidapi/CONTROL4
-rw-r--r--ports/hidapi/hidapi-config.cmake48
-rw-r--r--ports/hidapi/portfile.cmake34
-rw-r--r--ports/ignition-cmake0/CONTROL7
-rw-r--r--ports/ignition-cmake0/do-not-compile-gtest.patch14
-rw-r--r--ports/ignition-cmake0/portfile.cmake26
-rw-r--r--ports/ignition-cmake0/support-arm64.patch17
-rw-r--r--ports/ignition-cmake0/usage3
-rw-r--r--ports/ignition-cmake0/uuid-do-not-require-pkg-config.patch30
-rw-r--r--ports/ignition-common1/CONTROL4
-rw-r--r--ports/ignition-common1/portfile.cmake8
-rw-r--r--ports/ignition-math4/CONTROL5
-rw-r--r--ports/ignition-math4/portfile.cmake7
-rw-r--r--ports/ignition-modularscripts/CONTROL3
-rw-r--r--ports/ignition-modularscripts/ignition_modular_library.cmake106
-rw-r--r--ports/ignition-modularscripts/portfile.cmake8
-rw-r--r--ports/ignition-msgs1/CONTROL4
-rw-r--r--ports/ignition-msgs1/fix-protobuf-static-link-order.patch14
-rw-r--r--ports/ignition-msgs1/portfile.cmake35
-rw-r--r--ports/ignition-transport4/CONTROL4
-rw-r--r--ports/ignition-transport4/portfile.cmake7
-rw-r--r--ports/imgui-sfml/0001-fix_find_package.patch50
-rw-r--r--ports/imgui-sfml/0002-fix_imgui_config.patch11
-rw-r--r--ports/imgui-sfml/0003-fix_osx.patch13
-rw-r--r--ports/imgui-sfml/CONTROL5
-rw-r--r--ports/imgui-sfml/portfile.cmake24
-rw-r--r--ports/imgui-sfml/usage10
-rw-r--r--ports/io2d/CONTROL2
-rw-r--r--ports/io2d/portfile.cmake4
-rw-r--r--ports/irrlicht/CONTROL3
-rw-r--r--ports/irrlicht/LICENSE.txt20
-rw-r--r--ports/irrlicht/portfile.cmake37
-rw-r--r--ports/ixwebsocket/CONTROL2
-rw-r--r--ports/ixwebsocket/portfile.cmake4
-rw-r--r--ports/jinja2cpplight/CONTROL4
-rw-r--r--ports/jinja2cpplight/portfile.cmake39
-rw-r--r--ports/json-c/CONTROL3
-rw-r--r--ports/json-c/portfile.cmake10
-rw-r--r--ports/json5-parser/00001-fix-build.patch27
-rw-r--r--ports/json5-parser/CONTROL5
-rw-r--r--ports/json5-parser/portfile.cmake27
-rw-r--r--ports/json5-parser/usage4
-rw-r--r--ports/jsoncons/CONTROL2
-rw-r--r--ports/jsoncons/portfile.cmake4
-rw-r--r--ports/kvasir-mpl/CONTROL8
-rw-r--r--ports/kvasir-mpl/portfile.cmake31
-rw-r--r--ports/libarchive/CONTROL2
-rw-r--r--ports/libarchive/fix-buildsystem.patch87
-rw-r--r--ports/libarchive/no-werror.patch22
-rw-r--r--ports/libarchive/portfile.cmake15
-rw-r--r--ports/libepoxy/CONTROL2
-rw-r--r--ports/libepoxy/portfile.cmake65
-rw-r--r--ports/libguarded/CONTROL4
-rw-r--r--ports/libguarded/portfile.cmake15
-rw-r--r--ports/libhydrogen/CONTROL4
-rw-r--r--ports/libhydrogen/portfile.cmake27
-rw-r--r--ports/liblas/CONTROL2
-rw-r--r--ports/liblas/portfile.cmake2
-rw-r--r--ports/liblbfgs/CMakeLists.txt21
-rw-r--r--ports/liblbfgs/CONTROL4
-rw-r--r--ports/liblbfgs/portfile.cmake24
-rw-r--r--ports/liblsl/CONTROL2
-rw-r--r--ports/liblsl/portfile.cmake15
-rw-r--r--ports/libmikmod/CONTROL2
-rw-r--r--ports/libmikmod/portfile.cmake18
-rw-r--r--ports/libodb-mysql/CONTROL2
-rw-r--r--ports/libodb-mysql/portfile.cmake17
-rw-r--r--ports/libodb-sqlite/CONTROL2
-rw-r--r--ports/libodb-sqlite/portfile.cmake13
-rw-r--r--ports/libodb/CONTROL2
-rw-r--r--ports/libodb/portfile.cmake14
-rw-r--r--ports/libogg/CONTROL2
-rw-r--r--ports/libogg/missing_usize64.patch12
-rw-r--r--ports/libogg/portfile.cmake8
-rw-r--r--ports/libp7client/CONTROL3
-rw-r--r--ports/libp7client/fix-runtime-library.patch76
-rw-r--r--ports/libp7client/portfile.cmake118
-rw-r--r--ports/libpng/CONTROL2
-rw-r--r--ports/libpng/fix-libm-unix.patch12
-rw-r--r--ports/libpng/libpngConfig.cmake6
-rw-r--r--ports/libpng/portfile.cmake2
-rw-r--r--ports/libpq/CMakeLists.txt9
-rw-r--r--ports/libpq/CONTROL2
-rw-r--r--ports/libpq/pg_config.linux.h2
-rw-r--r--ports/libpqxx/CONTROL2
-rw-r--r--ports/libpqxx/portfile.cmake4
-rw-r--r--ports/libqglviewer/CONTROL2
-rw-r--r--ports/libqglviewer/QGLViewer_remove_shared.patch13
-rw-r--r--ports/libqglviewer/macosx.patch22
-rw-r--r--ports/libqglviewer/portfile.cmake2
-rw-r--r--ports/libqrencode/CONTROL6
-rw-r--r--ports/libqrencode/fix-found-wingetopt.patch13
-rw-r--r--ports/libqrencode/portfile.cmake24
-rw-r--r--ports/libqrencode/remove-deprecated-attribute.patch16
-rw-r--r--ports/libspatialite/CONTROL2
-rw-r--r--ports/libspatialite/fix-configure-debug.patch58
-rw-r--r--ports/libspatialite/geos-config-debug.in75
-rw-r--r--ports/libspatialite/geos-config.in75
-rw-r--r--ports/libspatialite/portfile.cmake311
-rw-r--r--ports/libsquish/CONTROL3
-rw-r--r--ports/libsquish/portfile.cmake15
-rw-r--r--ports/libsrtp/CONTROL3
-rw-r--r--ports/libsrtp/portfile.cmake33
-rw-r--r--ports/libssh2/CONTROL2
-rw-r--r--ports/libssh2/portfile.cmake4
-rw-r--r--ports/libuv/CONTROL2
-rw-r--r--ports/libuv/portfile.cmake4
-rw-r--r--ports/libvpx/CONTROL2
-rw-r--r--ports/libvpx/portfile.cmake32
-rw-r--r--ports/libwebp/0006-fix-dependecies-platform.patch16
-rw-r--r--ports/libwebp/CONTROL2
-rw-r--r--ports/libwebp/portfile.cmake1
-rw-r--r--ports/libwebsockets/CONTROL2
-rw-r--r--ports/libwebsockets/portfile.cmake4
-rw-r--r--ports/libxslt/0002-Fix-lzma.patch61
-rw-r--r--ports/libxslt/CONTROL4
-rw-r--r--ports/libxslt/portfile.cmake20
-rw-r--r--ports/libyaml/CONTROL2
-rw-r--r--ports/libyaml/portfile.cmake6
-rw-r--r--ports/libyuv/CONTROL4
-rw-r--r--ports/libyuv/fix_cmakelists.patch53
-rw-r--r--ports/libyuv/portfile.cmake48
-rw-r--r--ports/llgl/CONTROL10
-rw-r--r--ports/llgl/fix-arm64-build-error.patch13
-rw-r--r--ports/llgl/fix-install-error.patch44
-rw-r--r--ports/llgl/portfile.cmake41
-rw-r--r--ports/llvm/CONTROL2
-rw-r--r--ports/llvm/fix-linux-build.patch13
-rw-r--r--ports/llvm/portfile.cmake1
-rw-r--r--ports/log4cpp/CONTROL5
-rw-r--r--ports/log4cpp/fix-install-targets.patch13
-rw-r--r--ports/log4cpp/portfile.cmake36
-rw-r--r--ports/luabridge/CONTROL2
-rw-r--r--ports/luabridge/portfile.cmake4
-rw-r--r--ports/lz4/CONTROL2
-rw-r--r--ports/lz4/portfile.cmake4
-rw-r--r--ports/lzo/CONTROL2
-rw-r--r--ports/lzo/portfile.cmake12
-rw-r--r--ports/magic-enum/CONTROL2
-rw-r--r--ports/magic-enum/portfile.cmake4
-rw-r--r--ports/magic-get/CONTROL4
-rw-r--r--ports/magic-get/portfile.cmake21
-rw-r--r--ports/magnum/004-khrplatform-include.patch13
-rw-r--r--ports/magnum/portfile.cmake1
-rw-r--r--ports/marl/CONTROL4
-rw-r--r--ports/marl/portfile.cmake34
-rw-r--r--ports/mathgl/CONTROL2
-rw-r--r--ports/mathgl/fix_cmakelists_and_cpp.patch87
-rw-r--r--ports/mathgl/portfile.cmake10
-rw-r--r--ports/matio/CONTROL2
-rw-r--r--ports/matio/portfile.cmake4
-rw-r--r--ports/mecab/CMakeLists.txt47
-rw-r--r--ports/mecab/CONTROL3
-rw-r--r--ports/mecab/Config.cmake.in1
-rw-r--r--ports/mecab/fix_wpath_unsigned.patch40
-rw-r--r--ports/mecab/portfile.cmake35
-rw-r--r--ports/minifb/CONTROL4
-rw-r--r--ports/minifb/fix-arm-build-error.patch40
-rw-r--r--ports/minifb/fix-build-error.patch25
-rw-r--r--ports/minifb/fix-install-error.patch54
-rw-r--r--ports/minifb/portfile.cmake32
-rw-r--r--ports/mongo-c-driver/CONTROL2
-rw-r--r--ports/mongo-c-driver/portfile.cmake11
-rw-r--r--ports/moos-ui/CONTROL4
-rw-r--r--ports/moos-ui/portfile.cmake19
-rw-r--r--ports/mosquitto/CONTROL2
-rw-r--r--ports/mosquitto/portfile.cmake4
-rw-r--r--ports/mp3lame/00001-msvc-upgrade-solution-up-to-vc11.patch1018
-rw-r--r--ports/mp3lame/CONTROL4
-rw-r--r--ports/mp3lame/Config.cmake.in60
-rw-r--r--ports/mp3lame/portfile.cmake152
-rw-r--r--ports/mp3lame/usage4
-rw-r--r--ports/mpg123/0003-add-arm-configs.patch1149
-rw-r--r--ports/mpg123/portfile.cmake13
-rw-r--r--ports/ms-gsl/CONTROL2
-rw-r--r--ports/ms-gsl/portfile.cmake4
-rw-r--r--ports/nanovg/CONTROL3
-rw-r--r--ports/nanovg/portfile.cmake20
-rw-r--r--ports/nativefiledialog/CMakeLists.txt70
-rw-r--r--ports/nativefiledialog/CONTROL7
-rw-r--r--ports/nativefiledialog/portfile.cmake41
-rw-r--r--ports/nmap/CONTROL4
-rw-r--r--ports/nmap/build.sh24
-rw-r--r--ports/nmap/detect-crypto-library.patch75
-rw-r--r--ports/nmap/fix-msvc-prj.patch1986
-rw-r--r--ports/nmap/fix-snprintf.patch39
-rw-r--r--ports/nmap/fix-ssize_t.patch16
-rw-r--r--ports/nmap/portfile.cmake219
-rw-r--r--ports/nmslib/CONTROL2
-rw-r--r--ports/nmslib/portfile.cmake4
-rw-r--r--ports/nuklear/CONTROL2
-rw-r--r--ports/nuklear/portfile.cmake4
-rw-r--r--ports/ode/CONTROL2
-rw-r--r--ports/ode/portfile.cmake19
-rw-r--r--ports/ogdf/CONTROL3
-rw-r--r--ports/ogdf/portfile.cmake13
-rw-r--r--ports/ogre/CONTROL2
-rw-r--r--ports/ogre/portfile.cmake4
-rw-r--r--ports/ogre/toolchain_fixes.patch466
-rw-r--r--ports/openal-soft/cmake-3-11.patch14
-rw-r--r--ports/openal-soft/portfile.cmake1
-rw-r--r--ports/openblas/CONTROL2
-rw-r--r--ports/openblas/fix-redefinition-function.patch28
-rw-r--r--ports/openblas/openblas_common.h4
-rw-r--r--ports/openblas/portfile.cmake5
-rw-r--r--ports/opencl/CONTROL11
-rw-r--r--ports/opencl/portfile.cmake71
-rw-r--r--ports/opencl/usage13
-rw-r--r--ports/opencl/vcpkg-cmake-wrapper.cmake15
-rw-r--r--ports/opencolorio/0001-lcms-dependency-search.patch39
-rw-r--r--ports/opencolorio/0002-msvc-cpluscplus.patch84
-rw-r--r--ports/opencolorio/0003-osx-self-assign-field.patch13
-rw-r--r--ports/opencolorio/0004-yaml-dependency-search.patch108
-rw-r--r--ports/opencolorio/0005-tinyxml-dependency-search.patch18
-rw-r--r--ports/opencolorio/CONTROL9
-rw-r--r--ports/opencolorio/portfile.cmake101
-rw-r--r--ports/opencsg/CONTROL2
-rw-r--r--ports/opencsg/portfile.cmake15
-rw-r--r--ports/opencv3/0001-disable-downloading.patch (renamed from ports/opencv3/0003-disable-downloading.patch)4
-rw-r--r--ports/opencv3/0002-install-options.patch142
-rw-r--r--ports/opencv3/0003-force-package-requirements.patch (renamed from ports/opencv3/0004-use-find-package-required.patch)36
-rw-r--r--ports/opencv3/0005-remove-custom-protobuf-find-package.patch25
-rw-r--r--ports/opencv3/0006-fix-missing-openjp2.patch16
-rw-r--r--ports/opencv3/0009-fix-uwp.patch (renamed from ports/opencv3/0001-winrt-fixes.patch)24
-rw-r--r--ports/opencv3/CONTROL107
-rw-r--r--ports/opencv3/portfile.cmake414
-rw-r--r--ports/opencv3/usage5
-rw-r--r--ports/opencv4/CONTROL3
-rw-r--r--ports/opencv4/portfile.cmake13
-rw-r--r--ports/opengl-registry/CONTROL2
-rw-r--r--ports/opengl-registry/portfile.cmake4
-rw-r--r--ports/opengl/usage24
-rw-r--r--ports/openimageio/CONTROL6
-rw-r--r--ports/openimageio/fix_find_openexr.patch19
-rw-r--r--ports/openimageio/portfile.cmake13
-rw-r--r--ports/openni2/CONTROL2
-rw-r--r--ports/openni2/portfile.cmake18
-rw-r--r--ports/openvr/CONTROL2
-rw-r--r--ports/openvr/portfile.cmake4
-rw-r--r--ports/openxr-loader/CONTROL2
-rw-r--r--ports/openxr-loader/portfile.cmake22
-rw-r--r--ports/orc/0003-dependencies-from-vcpkg.patch113
-rw-r--r--ports/orc/0004-update-tzdata.patch15
-rw-r--r--ports/orc/CONTROL3
-rw-r--r--ports/orc/portfile.cmake5
-rw-r--r--ports/orocos-kdl/CONTROL3
-rw-r--r--ports/orocos-kdl/portfile.cmake17
-rw-r--r--ports/otl/CONTROL2
-rw-r--r--ports/otl/portfile.cmake8
-rw-r--r--ports/outcome/CONTROL4
-rw-r--r--ports/outcome/portfile.cmake16
-rw-r--r--ports/pangomm/CONTROL2
-rw-r--r--ports/pangomm/portfile.cmake12
-rw-r--r--ports/parallelstl/CONTROL5
-rw-r--r--ports/parallelstl/fix-install-header.patch12
-rw-r--r--ports/parallelstl/portfile.cmake27
-rw-r--r--ports/parson/CONTROL2
-rw-r--r--ports/parson/portfile.cmake4
-rw-r--r--ports/pcl/CONTROL2
-rw-r--r--ports/pcl/portfile.cmake2
-rw-r--r--ports/pcl/use_target_link_libraries_in_pclconfig.patch31
-rw-r--r--ports/pcre/CONTROL5
-rw-r--r--ports/pcre/portfile.cmake14
-rw-r--r--ports/pcre2/CONTROL2
-rw-r--r--ports/pcre2/portfile.cmake8
-rw-r--r--ports/piex/CONTROL2
-rw-r--r--ports/piex/portfile.cmake4
-rw-r--r--ports/plplot/portfile.cmake1
-rw-r--r--ports/plplot/use-math-h-nan.patch28
-rw-r--r--ports/poco/CONTROL6
-rw-r--r--ports/poco/portfile.cmake13
-rw-r--r--ports/poco/unbundled_pdf.patch30
-rw-r--r--ports/poco/use-vcpkg-libharu.patch18
-rw-r--r--ports/ptex/CONTROL2
-rw-r--r--ports/ptex/fix-build.patch110
-rw-r--r--ports/ptex/portfile.cmake32
-rw-r--r--ports/pybind11/CONTROL2
-rw-r--r--ports/pybind11/portfile.cmake4
-rw-r--r--ports/qscintilla/portfile.cmake6
-rw-r--r--ports/qt5-3d/CONTROL8
-rw-r--r--ports/qt5-3d/portfile.cmake7
-rw-r--r--ports/qt5-activeqt/CONTROL8
-rw-r--r--ports/qt5-activeqt/portfile.cmake9
-rw-r--r--ports/qt5-base/CONTROL2
-rw-r--r--ports/qt5-base/cmake/configure_qt.cmake132
-rw-r--r--ports/qt5-base/cmake/find_qt_mkspec.cmake101
-rw-r--r--ports/qt5-base/cmake/install_qt.cmake121
-rw-r--r--ports/qt5-base/cmake/qt_build_submodule.cmake83
-rw-r--r--ports/qt5-base/cmake/qt_download_submodule.cmake39
-rw-r--r--ports/qt5-base/cmake/qt_fix_cmake.cmake27
-rw-r--r--ports/qt5-base/cmake/qt_fix_makefile_install.cmake26
-rw-r--r--ports/qt5-base/cmake/qt_fix_prl.cmake10
-rw-r--r--ports/qt5-base/cmake/qt_install_copyright.cmake16
-rw-r--r--ports/qt5-base/cmake/qt_port_functions.cmake14
-rw-r--r--ports/qt5-base/cmake/qt_port_hashes.cmake57
-rw-r--r--ports/qt5-base/cmake/qt_submodule_installation.cmake11
-rw-r--r--ports/qt5-base/configure_qt.cmake72
-rw-r--r--ports/qt5-base/fix-system-freetype.patch18
-rw-r--r--ports/qt5-base/fix-system-pcre2-linux.patch16
-rw-r--r--ports/qt5-base/fix-system-pcre2.patch17
-rw-r--r--ports/qt5-base/fixcmake.py27
-rw-r--r--ports/qt5-base/install_qt.cmake80
-rw-r--r--ports/qt5-base/patches/gui_configure.patch16
-rw-r--r--ports/qt5-base/patches/qt_app.patch17
-rw-r--r--ports/qt5-base/patches/static_opengl.patch62
-rw-r--r--ports/qt5-base/patches/windows_prf.patch13
-rw-r--r--ports/qt5-base/patches/winmain_pro.patch27
-rw-r--r--ports/qt5-base/portfile.cmake429
-rw-r--r--ports/qt5-base/qt_debug.conf13
-rw-r--r--ports/qt5-base/qt_release.conf13
-rw-r--r--ports/qt5-base/vcpkg-cmake-wrapper.cmake3
-rw-r--r--ports/qt5-charts/CONTROL8
-rw-r--r--ports/qt5-charts/portfile.cmake7
-rw-r--r--ports/qt5-connectivity/CONTROL4
-rw-r--r--ports/qt5-connectivity/portfile.cmake7
-rw-r--r--ports/qt5-datavis3d/CONTROL8
-rw-r--r--ports/qt5-datavis3d/portfile.cmake7
-rw-r--r--ports/qt5-declarative/CONTROL8
-rw-r--r--ports/qt5-declarative/portfile.cmake27
-rw-r--r--ports/qt5-gamepad/CONTROL8
-rw-r--r--ports/qt5-gamepad/portfile.cmake7
-rw-r--r--ports/qt5-graphicaleffects/CONTROL8
-rw-r--r--ports/qt5-graphicaleffects/portfile.cmake10
-rw-r--r--ports/qt5-imageformats/CONTROL8
-rw-r--r--ports/qt5-imageformats/portfile.cmake10
-rw-r--r--ports/qt5-location/CONTROL8
-rw-r--r--ports/qt5-location/portfile.cmake7
-rw-r--r--ports/qt5-macextras/CONTROL8
-rw-r--r--ports/qt5-macextras/portfile.cmake8
-rw-r--r--ports/qt5-modularscripts/CONTROL4
-rw-r--r--ports/qt5-modularscripts/fixcmake.py66
-rw-r--r--ports/qt5-modularscripts/portfile.cmake10
-rw-r--r--ports/qt5-modularscripts/qt_modular_library.cmake166
-rw-r--r--ports/qt5-mqtt/CONTROL4
-rw-r--r--ports/qt5-mqtt/portfile.cmake21
-rw-r--r--ports/qt5-multimedia/CONTROL8
-rw-r--r--ports/qt5-multimedia/portfile.cmake7
-rw-r--r--ports/qt5-networkauth/CONTROL8
-rw-r--r--ports/qt5-networkauth/portfile.cmake7
-rw-r--r--ports/qt5-purchasing/CONTROL4
-rw-r--r--ports/qt5-purchasing/portfile.cmake7
-rw-r--r--ports/qt5-quickcontrols/CONTROL8
-rw-r--r--ports/qt5-quickcontrols/portfile.cmake10
-rw-r--r--ports/qt5-quickcontrols2/CONTROL8
-rw-r--r--ports/qt5-quickcontrols2/portfile.cmake7
-rw-r--r--ports/qt5-remoteobjects/CONTROL4
-rw-r--r--ports/qt5-remoteobjects/portfile.cmake7
-rwxr-xr-xports/qt5-script/CONTROL4
-rwxr-xr-xports/qt5-script/portfile.cmake7
-rw-r--r--ports/qt5-scxml/CONTROL8
-rw-r--r--ports/qt5-scxml/portfile.cmake7
-rw-r--r--ports/qt5-sensors/CONTROL4
-rw-r--r--ports/qt5-sensors/portfile.cmake7
-rw-r--r--ports/qt5-serialport/CONTROL8
-rw-r--r--ports/qt5-serialport/portfile.cmake7
-rw-r--r--ports/qt5-speech/CONTROL8
-rw-r--r--ports/qt5-speech/portfile.cmake7
-rw-r--r--ports/qt5-svg/CONTROL8
-rw-r--r--ports/qt5-svg/portfile.cmake7
-rw-r--r--ports/qt5-tools/CONTROL8
-rw-r--r--ports/qt5-tools/portfile.cmake9
-rw-r--r--ports/qt5-virtualkeyboard/CONTROL8
-rw-r--r--ports/qt5-virtualkeyboard/portfile.cmake9
-rw-r--r--ports/qt5-webchannel/CONTROL4
-rw-r--r--ports/qt5-webchannel/portfile.cmake7
-rw-r--r--ports/qt5-websockets/CONTROL8
-rw-r--r--ports/qt5-websockets/portfile.cmake7
-rw-r--r--ports/qt5-webview/CONTROL4
-rw-r--r--ports/qt5-webview/portfile.cmake7
-rw-r--r--ports/qt5-winextras/CONTROL8
-rw-r--r--ports/qt5-winextras/portfile.cmake8
-rw-r--r--ports/qt5-xmlpatterns/CONTROL8
-rw-r--r--ports/qt5-xmlpatterns/portfile.cmake7
-rw-r--r--ports/qt5/CONTROL3
-rw-r--r--ports/quantlib/CONTROL5
-rw-r--r--ports/quantlib/disable-examples-tests.patch13
-rw-r--r--ports/quantlib/portfile.cmake41
-rw-r--r--ports/quickfix/00001-fix-build.patch98
-rw-r--r--ports/quickfix/CONTROL5
-rw-r--r--ports/quickfix/portfile.cmake50
-rw-r--r--ports/quickfix/usage4
-rw-r--r--ports/qwt/CONTROL2
-rw-r--r--ports/qwt/portfile.cmake50
-rw-r--r--ports/rabit/CONTROL8
-rw-r--r--ports/rabit/fix-file-conflict.patch52
-rw-r--r--ports/rabit/portfile.cmake13
-rw-r--r--ports/range-v3/CONTROL2
-rw-r--r--ports/range-v3/portfile.cmake4
-rw-r--r--ports/raylib/CONTROL2
-rw-r--r--ports/raylib/portfile.cmake4
-rw-r--r--ports/re2/CONTROL2
-rw-r--r--ports/re2/portfile.cmake4
-rw-r--r--ports/restinio/CONTROL2
-rw-r--r--ports/restinio/portfile.cmake8
-rw-r--r--ports/riffcpp/CONTROL2
-rw-r--r--ports/riffcpp/portfile.cmake4
-rw-r--r--ports/rocksdb/portfile.cmake4
-rw-r--r--ports/rs-core-lib/CONTROL2
-rw-r--r--ports/rs-core-lib/portfile.cmake4
-rw-r--r--ports/sdformat6/CONTROL5
-rw-r--r--ports/sdformat6/portfile.cmake55
-rw-r--r--ports/sdl1/CONTROL2
-rw-r--r--ports/sdl1/fix-linux-build.patch13
-rw-r--r--ports/sdl1/portfile.cmake134
-rw-r--r--ports/sdl2-mixer/CMakeLists.txt47
-rw-r--r--ports/sdl2-mixer/CONTROL2
-rw-r--r--ports/sdl2-mixer/portfile.cmake31
-rw-r--r--ports/shogun/CONTROL2
-rw-r--r--ports/shogun/portfile.cmake4
-rw-r--r--ports/simpleini/CONTROL2
-rw-r--r--ports/simpleini/portfile.cmake2
-rw-r--r--ports/sobjectizer/CONTROL4
-rw-r--r--ports/sobjectizer/portfile.cmake4
-rw-r--r--ports/sokol/CONTROL4
-rw-r--r--ports/sokol/portfile.cmake20
-rw-r--r--ports/speexdsp/CMakeLists.txt5
-rw-r--r--ports/speexdsp/CONTROL2
-rw-r--r--ports/speexdsp/portfile.cmake8
-rw-r--r--ports/status-value-lite/CONTROL7
-rw-r--r--ports/status-value-lite/portfile.cmake32
-rw-r--r--ports/stb/CONTROL2
-rw-r--r--ports/stb/portfile.cmake4
-rw-r--r--ports/tacopie/CONTROL4
-rw-r--r--ports/tacopie/portfile.cmake6
-rw-r--r--ports/taocpp-json/CONTROL2
-rw-r--r--ports/taocpp-json/portfile.cmake4
-rw-r--r--ports/tbb/CONTROL2
-rw-r--r--ports/tbb/fix-static-build.patch13
-rw-r--r--ports/tbb/portfile.cmake37
-rw-r--r--ports/telnetpp/CONTROL9
-rw-r--r--ports/telnetpp/fix-build-error.patch152
-rw-r--r--ports/telnetpp/portfile.cmake39
-rw-r--r--ports/tensorflow-cc/CONTROL2
-rw-r--r--ports/tensorflow-cc/fix-build-error.patch22
-rw-r--r--ports/tensorflow-cc/portfile.cmake5
-rw-r--r--ports/tidy-html5/CONTROL2
-rw-r--r--ports/tidy-html5/portfile.cmake4
-rw-r--r--ports/tinkerforge/CMakeLists.txt19
-rw-r--r--ports/tinkerforge/portfile.cmake2
-rw-r--r--ports/tinkerforge/tinkerforgeConfig.cmake.in4
-rw-r--r--ports/tinyutf8/CONTROL2
-rw-r--r--ports/tinyutf8/portfile.cmake4
-rw-r--r--ports/type-lite/CONTROL9
-rw-r--r--ports/type-lite/portfile.cmake32
-rw-r--r--ports/unicorn-lib/CONTROL2
-rw-r--r--ports/unicorn-lib/portfile.cmake4
-rw-r--r--ports/unicorn/CONTROL2
-rw-r--r--ports/unicorn/portfile.cmake4
-rw-r--r--ports/unrar/CONTROL2
-rw-r--r--ports/unrar/msbuild-use-default-sma.patch52
-rw-r--r--ports/unrar/portfile.cmake14
-rw-r--r--ports/uvw/CONTROL2
-rw-r--r--ports/uvw/portfile.cmake4
-rw-r--r--ports/uwebsockets/CONTROL2
-rw-r--r--ports/uwebsockets/portfile.cmake4
-rw-r--r--ports/value-ptr-lite/CONTROL7
-rw-r--r--ports/value-ptr-lite/portfile.cmake32
-rw-r--r--ports/vectorclass/CMakeLists.txt24
-rw-r--r--ports/vectorclass/CONTROL4
-rw-r--r--ports/vectorclass/portfile.cmake24
-rw-r--r--ports/volk/CONTROL5
-rw-r--r--ports/volk/portfile.cmake26
-rw-r--r--ports/vtk-dicom/CONTROL2
-rw-r--r--ports/vtk-dicom/portfile.cmake4
-rw-r--r--ports/vtk/CONTROL2
-rw-r--r--ports/vtk/fix-find-lzma.patch16
-rw-r--r--ports/vtk/portfile.cmake1
-rw-r--r--ports/vulkan/usage2
-rw-r--r--ports/wampcc/CONTROL10
-rw-r--r--ports/wampcc/portfile.cmake53
-rw-r--r--ports/wangle/CONTROL2
-rw-r--r--ports/wangle/portfile.cmake4
-rw-r--r--ports/wavpack/CONTROL3
-rw-r--r--ports/wavpack/portfile.cmake15
-rw-r--r--ports/winreg/CONTROL4
-rw-r--r--ports/winreg/portfile.cmake21
-rw-r--r--ports/wpilib/CONTROL6
-rw-r--r--ports/wpilib/portfile.cmake5
-rw-r--r--ports/wren/CMakeLists.txt50
-rw-r--r--ports/wren/CONTROL4
-rw-r--r--ports/wren/portfile.cmake27
-rw-r--r--ports/wtl/CONTROL2
-rw-r--r--ports/wtl/portfile.cmake6
-rw-r--r--ports/wxwidgets/CONTROL2
-rw-r--r--ports/wxwidgets/portfile.cmake7
-rw-r--r--ports/xalan-c/CONTROL2
-rw-r--r--ports/xalan-c/portfile.cmake6
-rw-r--r--ports/xeus/CONTROL2
-rw-r--r--ports/xeus/portfile.cmake4
-rw-r--r--ports/xsimd/CONTROL2
-rw-r--r--ports/xsimd/portfile.cmake4
-rw-r--r--ports/xtensor/CONTROL2
-rw-r--r--ports/xtensor/portfile.cmake4
-rw-r--r--ports/xtl/CONTROL2
-rw-r--r--ports/xtl/portfile.cmake4
-rw-r--r--ports/yaml-cpp/0002-fix-include-path.patch13
-rw-r--r--ports/yaml-cpp/0003-cxx-std-features.patch16
-rw-r--r--ports/yaml-cpp/CONTROL2
-rw-r--r--ports/yaml-cpp/portfile.cmake30
-rw-r--r--ports/yara/CMakeLists.txt3
-rw-r--r--ports/yara/CONTROL2
-rw-r--r--ports/yara/portfile.cmake4
-rw-r--r--ports/zfp/CONTROL19
-rw-r--r--ports/zfp/fix-build-error.patch11
-rw-r--r--ports/zfp/fix-install-tools.patch72
-rw-r--r--ports/zfp/portfile.cmake42
-rw-r--r--scripts/bootstrap.ps13
-rw-r--r--scripts/cmake/execute_process.cmake20
-rw-r--r--scripts/cmake/vcpkg_acquire_msys.cmake8
-rw-r--r--scripts/cmake/vcpkg_apply_patches.cmake2
-rw-r--r--scripts/cmake/vcpkg_build_msbuild.cmake2
-rw-r--r--scripts/cmake/vcpkg_build_qmake.cmake82
-rw-r--r--scripts/cmake/vcpkg_buildpath_length_warning.cmake8
-rw-r--r--scripts/cmake/vcpkg_common_definitions.cmake55
-rw-r--r--scripts/cmake/vcpkg_common_functions.cmake2
-rw-r--r--scripts/cmake/vcpkg_configure_cmake.cmake12
-rw-r--r--scripts/cmake/vcpkg_configure_qmake.cmake34
-rw-r--r--scripts/cmake/vcpkg_copy_tool_dependencies.cmake2
-rw-r--r--scripts/cmake/vcpkg_download_distfile.cmake2
-rw-r--r--scripts/cmake/vcpkg_execute_required_process.cmake18
-rw-r--r--scripts/cmake/vcpkg_extract_source_archive.cmake1
-rw-r--r--scripts/cmake/vcpkg_find_acquire_program.cmake5
-rw-r--r--scripts/cmake/vcpkg_from_git.cmake5
-rw-r--r--scripts/cmake/vcpkg_from_gitlab.cmake2
-rw-r--r--scripts/cmake/vcpkg_install_msbuild.cmake2
-rw-r--r--scripts/cmake/vcpkg_test_cmake.cmake55
-rw-r--r--scripts/ports.cmake34
-rw-r--r--toolsrc/VERSION.txt2
-rw-r--r--toolsrc/include/vcpkg/base/hash.h44
-rw-r--r--toolsrc/include/vcpkg/base/strings.h12
-rw-r--r--toolsrc/include/vcpkg/base/stringview.h5
-rw-r--r--toolsrc/include/vcpkg/build.h8
-rw-r--r--toolsrc/include/vcpkg/commands.h5
-rw-r--r--toolsrc/src/vcpkg-test/arguments.cpp4
-rw-r--r--toolsrc/src/vcpkg-test/hash.cpp276
-rw-r--r--toolsrc/src/vcpkg-test/stringview.cpp17
-rw-r--r--toolsrc/src/vcpkg/base/downloads.cpp2
-rw-r--r--toolsrc/src/vcpkg/base/files.cpp36
-rw-r--r--toolsrc/src/vcpkg/base/hash.cpp830
-rw-r--r--toolsrc/src/vcpkg/base/stringview.cpp6
-rw-r--r--toolsrc/src/vcpkg/build.cpp75
-rw-r--r--toolsrc/src/vcpkg/commands.ci.cpp2
-rw-r--r--toolsrc/src/vcpkg/commands.cpp12
-rw-r--r--toolsrc/src/vcpkg/commands.create.cpp2
-rw-r--r--toolsrc/src/vcpkg/commands.dependinfo.cpp4
-rw-r--r--toolsrc/src/vcpkg/commands.porthistory.cpp91
-rw-r--r--toolsrc/src/vcpkg/commands.upgrade.cpp1
-rw-r--r--toolsrc/src/vcpkg/export.cpp1
-rw-r--r--toolsrc/src/vcpkg/help.cpp3
-rw-r--r--toolsrc/src/vcpkg/install.cpp18
-rw-r--r--toolsrc/src/vcpkg/metrics.cpp2
-rw-r--r--toolsrc/src/vcpkg/parse.cpp94
-rw-r--r--toolsrc/src/vcpkg/vcpkgcmdarguments.cpp8
-rw-r--r--toolsrc/src/vcpkg/vcpkgpaths.cpp2
-rw-r--r--toolsrc/vcpkglib/vcpkglib.vcxproj1
-rw-r--r--toolsrc/vcpkglib/vcpkglib.vcxproj.filters3
798 files changed, 16592 insertions, 4478 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ad2091da9..8f97da543 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,817 @@
+vcpkg (2019.08.31)
+---
+#### Total port count: 1169
+#### Total port count per triplet (tested):
+|triplet|ports available|
+|---|---|
+|**x64-windows**|1099|
+|x86-windows|1085|
+|x64-windows-static|987|
+|**x64-linux**|930|
+|**x64-osx**|876|
+|arm64-windows|726|
+|x64-uwp|595|
+|arm-uwp|571|
+
+#### The following commands and options have been updated:
+- `depend-info`
+ - `--max-recurse` ***[NEW OPTION]***: Set the max depth of recursion for listing dependencies
+ - `--sort` ***[NEW OPTION]***: Sort the list of dependencies by `lexicographical`, `topological`, and `reverse` (topological) order
+ - `--show-depth` ***[NEW OPTION]***: Display the depth of each dependency in the list
+ - [(#7643)](https://github.com/microsoft/vcpkg/pull/7643) [depend-info] Fix bugs, add `--sort`, `--show-depth` and `--max-recurse` options
+- `install --only-downloads` ***[NEW OPTION]***
+ - Download sources for a package and its dependencies and don't build them
+ - [(#7950)](https://github.com/microsoft/vcpkg/pull/7950) [vcpkg install] Enable Download Mode â¬
+
+#### The following documentation has been updated:
+- [Index](docs/index.md)
+ - [(#7506)](https://github.com/microsoft/vcpkg/pull/7506) Update tests, and add documentation!
+ - [(#7821)](https://github.com/microsoft/vcpkg/pull/7821) [vcpkg docs] More tool maintainer docs! ðŸ±â€ðŸ‘¤
+- [Tool maintainers: Testing](docs/tool-maintainers/testing.md) ***[NEW]***
+ - [(#7506)](https://github.com/microsoft/vcpkg/pull/7506) Update tests, and add documentation!
+ - [(#7821)](https://github.com/microsoft/vcpkg/pull/7821) [vcpkg docs] More tool maintainer docs! ðŸ±â€ðŸ‘¤
+- [Examples: Overlay triplets example
+](docs/examples/overlay-triplets-linux-dynamic.md)
+ - [(#7502)](https://github.com/microsoft/vcpkg/pull/7502) [vcpkg-docs] Reword and reorganize overlay-triplets-linux-dynamic.md
+- [Portfile helper functions](docs/maintainers/portfile-functions.md)
+ - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check
+ - [(#7950)](https://github.com/microsoft/vcpkg/pull/7950) [vcpkg install] Enable Download Mode â¬
+- [`vcpkg_check_features`](docs/maintainers/vcpkg_check_features.md)
+ - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check
+- [`vcpkg_configure_cmake`](docs/maintainers/vcpkg_configure_cmake.md)
+ - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check
+- [`vcpkg_pretiffy_command`](docs/maintainers/vcpkg_prettify_command.md) ***[NEW]***
+ - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check
+- [Maintainer Guidelines and Policies](docs/maintainers/maintainer-guide.md)
+ - [(#7751)](https://github.com/microsoft/vcpkg/pull/7751) Add guideline for overriding `VCPKG_<VARIABLE>`
+- [Tool maintainers: Benchmarking](docs/tool-maintainers/benchmarking.md) ***[NEW]***
+ - [(#7821)](https://github.com/microsoft/vcpkg/pull/7821) [vcpkg docs] More tool maintainer docs! ðŸ±â€ðŸ‘¤
+- [Tool maintainers: Layout of the vcpkg source tree](docs/tool-maintainers/layout.md) ***[NEW]***
+ - [(#7821)](https://github.com/microsoft/vcpkg/pull/7821) [vcpkg docs] More tool maintainer docs! ðŸ±â€ðŸ‘¤
+- [`vcpkg_common_definitions`](docs/maintainers/vcpkg_common_definitions.md) ***[NEW]***
+ - [(#7950)](https://github.com/microsoft/vcpkg/pull/7950) [vcpkg install] Enable Download Mode â¬
+- [`vcpkg_execute_required_process`](docs/maintainers/vcpkg_execute_required_process.md)
+ - [(#7950)](https://github.com/microsoft/vcpkg/pull/7950) [vcpkg install] Enable Download Mode â¬
+- [`vcpkg_fail_port_install`](docs/maintainers/vcpkg_fail_port_install.md) ***[NEW]***
+ - [(#7950)](https://github.com/microsoft/vcpkg/pull/7950) [vcpkg install] Enable Download Mode â¬
+
+#### The following *remarkable* changes have been made to vcpkg's infrastructure:
+- CONTROL files extended syntax
+ - The `Build-Depends` field now supports logical expressions as well as line breaks
+ - [(#7508)](https://github.com/microsoft/vcpkg/pull/7508) Improve logical evaluation of dependency qualifiers
+ - [(#7863)](https://github.com/microsoft/vcpkg/pull/7863) Fix list parsing logic and add error messages
+- Quality-of-Life improvements for portfile maintainers
+ - [(#7601)](https://github.com/microsoft/vcpkg/pull/7601) [vcpkg/cmake] Added a function to fail from portfiles in a default way
+ - [(#7600)](https://github.com/microsoft/vcpkg/pull/7600) [vcpkg] QoL: add target dependent library prefix/suffix variables and enable find_library for portfiles
+ - [(#7773)](https://github.com/microsoft/vcpkg/pull/7773) [vcpkg] QoL: Make find_library useable without errors to console.
+ - [(#7599)](https://github.com/microsoft/vcpkg/pull/7599) [vcpkg] QoL: add host/target dependent variables for executable suffixes
+
+#### The following *additional* changes have been made to vcpkg's infrastructure:
+- [(#4572)](https://github.com/microsoft/vcpkg/pull/4572) Change CMakeLists.txt in toolsrc to allow compiling with llvm toolset
+- [(#7305)](https://github.com/microsoft/vcpkg/pull/7305) [vcpkg] Public ABI override option
+- [(#7307)](https://github.com/microsoft/vcpkg/pull/7307) [vcpkg] Always calculate ABI tags
+- [(#7491)](https://github.com/microsoft/vcpkg/pull/7491) Handle response files with Windows line-endings properly
+- [(#7501)](https://github.com/microsoft/vcpkg/pull/7501) Add July changelog
+- [(#7506)](https://github.com/microsoft/vcpkg/pull/7506) Update tests, and add documentation!
+- [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check
+- [(#7568)](https://github.com/microsoft/vcpkg/pull/7568) [tensorflow] Add new port for linux
+- [(#7570)](https://github.com/microsoft/vcpkg/pull/7570) [vcpkg] Make `RealFilesystem::remove_all` much, much faster, and start benchmarking
+- [(#7587)](https://github.com/microsoft/vcpkg/pull/7587) [vcpkg] Revert accidental removal of powershell-core usage in bb3a9ddb6ec917f54
+- [(#7619)](https://github.com/microsoft/vcpkg/pull/7619) [vcpkg] Fix `.vcpkg-root` detection issue
+- [(#7620)](https://github.com/microsoft/vcpkg/pull/7620) [vcpkg] Fix warnings in `files.{h,cpp}` build under /W4
+- [(#7623)](https://github.com/microsoft/vcpkg/pull/7623) Fix VS 2019 detection bug
+- [(#7637)](https://github.com/microsoft/vcpkg/pull/7637) [vcpkg] Fix the build on VS2015 debug
+- [(#7638)](https://github.com/microsoft/vcpkg/pull/7638) [vcpkg] Make CMakelists nicer ðŸ˜
+- [(#7687)](https://github.com/microsoft/vcpkg/pull/7687) [vcpkg] Port toolchains
+- [(#7754)](https://github.com/microsoft/vcpkg/pull/7754) [vcpkg] Allow multiple spaces in a comma list
+- [(#7757)](https://github.com/microsoft/vcpkg/pull/7757) [vcpkg] Switch to internal hash algorithms ðŸ±â€ðŸ’»
+- [(#7793)](https://github.com/microsoft/vcpkg/pull/7793) Allow redirection of the scripts folder
+- [(#7798)](https://github.com/microsoft/vcpkg/pull/7798) [vcpkg] Fix build on FreeBSD 😈
+- [(#7816)](https://github.com/microsoft/vcpkg/pull/7816) [vcpkg] Fix gcc-9 warning
+- [(#7864)](https://github.com/microsoft/vcpkg/pull/7864) [vcpkg] Move `do_build_package_and_clean_buildtrees()` above generating vcpkg_abi_info.txt so it will be included in the package.
+- [(#7930)](https://github.com/microsoft/vcpkg/pull/7930) [vcpkg] fix bug in StringView::operator== 😱
+<details>
+<summary><b>The following 63 ports have been added:</b></summary>
+
+|port|version|
+|---|---|
+|[riffcpp](https://github.com/microsoft/vcpkg/pull/7509) [#7541](https://github.com/microsoft/vcpkg/pull/7541) [#7859](https://github.com/microsoft/vcpkg/pull/7859) | 2.2.2
+|[easyhook](https://github.com/microsoft/vcpkg/pull/7487)| 2.7.6789.0
+|[brigand](https://github.com/microsoft/vcpkg/pull/7518)| 1.3.0
+|[ctbignum](https://github.com/microsoft/vcpkg/pull/7512)| 2019-08-02
+|[gaussianlib](https://github.com/microsoft/vcpkg/pull/7542)| 2019-08-04
+|[tinycthread](https://github.com/microsoft/vcpkg/pull/7565)| 2019-08-06
+|[libcerf](https://github.com/microsoft/vcpkg/pull/7320)| 1.13
+|[tinynpy](https://github.com/microsoft/vcpkg/pull/7393)| 1.0.0-2
+|[googleapis](https://github.com/microsoft/vcpkg/pull/7557) [#7703](https://github.com/microsoft/vcpkg/pull/7703) | 0.1.3
+|[pdqsort](https://github.com/microsoft/vcpkg/pull/7464)| 2019-07-30
+|[discount](https://github.com/microsoft/vcpkg/pull/7400)| 2.2.6
+|[duckx](https://github.com/microsoft/vcpkg/pull/7561)| 2019-08-06
+|[opencv3](https://github.com/microsoft/vcpkg/pull/5169) [#7581](https://github.com/microsoft/vcpkg/pull/7581) [#7658](https://github.com/microsoft/vcpkg/pull/7658) [#7925](https://github.com/microsoft/vcpkg/pull/7925) | 3.4.7-1
+|[opencv4](https://github.com/microsoft/vcpkg/pull/5169) [#7558](https://github.com/microsoft/vcpkg/pull/7558) [#7581](https://github.com/microsoft/vcpkg/pull/7581) [#7658](https://github.com/microsoft/vcpkg/pull/7658) | 4.1.1-1
+|[tiny-bignum-c](https://github.com/microsoft/vcpkg/pull/7531)| 2019-07-31
+|[tgc](https://github.com/microsoft/vcpkg/pull/7644)| 2019-08-11
+|[bento4](https://github.com/microsoft/vcpkg/pull/7595)| 1.5.1-628
+|[dbow2](https://github.com/microsoft/vcpkg/pull/7552)| 2019-08-05
+|[tiny-aes-c](https://github.com/microsoft/vcpkg/pull/7530)| 2019-07-31
+|[drlibs](https://github.com/microsoft/vcpkg/pull/7656)| 2019-08-12
+|[nt-wrapper](https://github.com/microsoft/vcpkg/pull/7633)| 2019-08-10
+|[xorstr](https://github.com/microsoft/vcpkg/pull/7631)| 2019-08-10
+|[lazy-importer](https://github.com/microsoft/vcpkg/pull/7630)| 2019-08-10
+|[plf-colony](https://github.com/microsoft/vcpkg/pull/7627)| 2019-08-10
+|[plf-list](https://github.com/microsoft/vcpkg/pull/7627)| 2019-08-10
+|[plf-nanotimer](https://github.com/microsoft/vcpkg/pull/7627)| 2019-08-10
+|[plf-stack](https://github.com/microsoft/vcpkg/pull/7627)| 2019-08-10
+|[tiny-regex-c](https://github.com/microsoft/vcpkg/pull/7626)| 2019-07-31
+|[hayai](https://github.com/microsoft/vcpkg/pull/7624)| 2019-08-10
+|[yasm](https://github.com/microsoft/vcpkg/pull/7478)| 1.3.0
+|[fast-cpp-csv-parser](https://github.com/microsoft/vcpkg/pull/7681)| 2019-08-14
+|[wg21-sg14](https://github.com/microsoft/vcpkg/pull/7663)| 2019-08-13
+|[pistache](https://github.com/microsoft/vcpkg/pull/7547)| 2019-08-05
+|[hfsm2](https://github.com/microsoft/vcpkg/pull/7516)| beta7
+|[mpmcqueue](https://github.com/microsoft/vcpkg/pull/7437)| 2019-07-26
+|[spscqueue](https://github.com/microsoft/vcpkg/pull/7437)| 2019-07-26
+|[tinkerforge](https://github.com/microsoft/vcpkg/pull/7523)| 2.1.25
+|[field3d](https://github.com/microsoft/vcpkg/pull/7594)| 1.7.2
+|[libsvm](https://github.com/microsoft/vcpkg/pull/7664)| 323
+|[nanort](https://github.com/microsoft/vcpkg/pull/7778)| 2019-08-20
+|[libspatialindex](https://github.com/microsoft/vcpkg/pull/7762)| 1.9.0
+|[qtkeychain](https://github.com/microsoft/vcpkg/pull/7760)| v0.9.1
+|[sparsehash](https://github.com/microsoft/vcpkg/pull/7772)| 2.0.3
+|[tensorflow-cc](https://github.com/microsoft/vcpkg/pull/7568)| 1.14
+|[qt-advanced-docking-system](https://github.com/microsoft/vcpkg/pull/7621)| 2019-08-14
+|[quickfast](https://github.com/microsoft/vcpkg/pull/7814)| 1.5
+|[mp3lame](https://github.com/microsoft/vcpkg/pull/7830)| 3.100
+|[quickfix](https://github.com/microsoft/vcpkg/pull/7796)| 1.15.1
+|[fplus](https://github.com/microsoft/vcpkg/pull/7883)| 0.2.3-p0
+|[json5-parser](https://github.com/microsoft/vcpkg/pull/7915)| 1.0.0
+|[gppanel](https://github.com/microsoft/vcpkg/pull/7868)| 2018-04-06
+|[libguarded](https://github.com/microsoft/vcpkg/pull/7924)| 2019-08-27
+|[cgl](https://github.com/microsoft/vcpkg/pull/7810)| 0.60.2-1
+|[minifb](https://github.com/microsoft/vcpkg/pull/7766)| 2019-08-20-1
+|[log4cpp](https://github.com/microsoft/vcpkg/pull/7433)| 2.9.1-1
+|[chartdir](https://github.com/microsoft/vcpkg/pull/7912)| 6.3.1
+|[outcome](https://github.com/microsoft/vcpkg/pull/7940)| 2.1
+|[libP7Client](https://github.com/microsoft/vcpkg/pull/7605)| 5.2
+|[clue](https://github.com/microsoft/vcpkg/pull/7564)| 1.0.0-alpha.7
+|[status-value-lite](https://github.com/microsoft/vcpkg/pull/7563)| 1.1.0
+|[type-lite](https://github.com/microsoft/vcpkg/pull/7563)| 0.1.0
+|[value-ptr-lite](https://github.com/microsoft/vcpkg/pull/7563)| 0.2.1
+|[kvasir-mpl](https://github.com/microsoft/vcpkg/pull/7562)| 2019-08-06
+</details>
+
+<details>
+<summary><b>The following 199 ports have been updated:</b></summary>
+
+- pcl `1.9.1-5` -> `1.9.1-8`
+ - [(#7413)](https://github.com/microsoft/vcpkg/pull/7413) [pcl] Fix Build failure in linux
+ - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check
+ - [(#7700)](https://github.com/microsoft/vcpkg/pull/7700) [czmq/pcl] Fix judgment feature condition.
+
+- xalan-c `1.11-5` -> `1.11-7`
+ - [(#7496)](https://github.com/microsoft/vcpkg/pull/7496) [xalan-c] Bump version number
+ - [(#7505)](https://github.com/microsoft/vcpkg/pull/7505) [xalan-c] switch to https://github.com/apache/xalan-c (#7489)
+
+- catch2 `2.7.2-2` -> `2.9.2`
+ - [(#7497)](https://github.com/microsoft/vcpkg/pull/7497) [Catch2] Update to v2.9.1
+ - [(#7702)](https://github.com/microsoft/vcpkg/pull/7702) [brynet, catch2, chakracore] Update some ports version
+
+- ade `0.1.1d` -> `0.1.1f`
+ - [(#7494)](https://github.com/microsoft/vcpkg/pull/7494) Update some ports version
+ - [(#7628)](https://github.com/microsoft/vcpkg/pull/7628) [ade] Update library to 0.1.1f
+
+- harfbuzz `2.5.1-1` -> `2.5.3`
+ - [(#7494)](https://github.com/microsoft/vcpkg/pull/7494) Update some ports version
+
+- libpmemobj-cpp `1.6-1` -> `1.7`
+ - [(#7494)](https://github.com/microsoft/vcpkg/pull/7494) Update some ports version
+
+- msgpack `3.1.1` -> `3.2.0`
+ - [(#7494)](https://github.com/microsoft/vcpkg/pull/7494) Update some ports version
+
+- protobuf `3.8.0-1` -> `3.9.1`
+ - [(#7494)](https://github.com/microsoft/vcpkg/pull/7494) Update some ports version
+ - [(#7671)](https://github.com/microsoft/vcpkg/pull/7671) [protobuf] Update from 3.9.0 to 3.9.1
+
+- string-theory `2.1-1` -> `2.2`
+ - [(#7494)](https://github.com/microsoft/vcpkg/pull/7494) Update some ports version
+
+- ccfits `2.5-2` -> `2.5-3`
+ - [(#7484)](https://github.com/microsoft/vcpkg/pull/7484) [manyports] Regenerate patches and modify how the patches are used.
+
+- itpp `4.3.1` -> `4.3.1-1`
+ - [(#7484)](https://github.com/microsoft/vcpkg/pull/7484) [manyports] Regenerate patches and modify how the patches are used.
+
+- mpg123 `1.25.8-5` -> `1.25.8-6`
+ - [(#7484)](https://github.com/microsoft/vcpkg/pull/7484) [manyports] Regenerate patches and modify how the patches are used.
+
+- qwt `6.1.3-6` -> `6.1.3-7`
+ - [(#7484)](https://github.com/microsoft/vcpkg/pull/7484) [manyports] Regenerate patches and modify how the patches are used.
+
+- sdl1 `1.2.15-5` -> `1.2.15-6`
+ - [(#7484)](https://github.com/microsoft/vcpkg/pull/7484) [manyports] Regenerate patches and modify how the patches are used.
+
+- gdal `2.4.1-5` -> `2.4.1-8`
+ - [(#7520)](https://github.com/microsoft/vcpkg/pull/7520) [gdal] Fix duplicate pdb file
+ - [(#7434)](https://github.com/microsoft/vcpkg/pull/7434) [gdal] Fix dependent ports in static builds.
+
+- blosc `1.16.3-2` -> `1.17.0-1`
+ - [(#7525)](https://github.com/microsoft/vcpkg/pull/7525) Update some ports version
+ - [(#7649)](https://github.com/microsoft/vcpkg/pull/7649) [blosc] enable dependent ports to use debug builds
+
+- boost-callable-traits `1.70.0` -> `2.3.2`
+ - [(#7525)](https://github.com/microsoft/vcpkg/pull/7525) Update some ports version
+
+- cjson `1.7.10-1` -> `1.7.12`
+ - [(#7525)](https://github.com/microsoft/vcpkg/pull/7525) Update some ports version
+
+- cppzmq `4.3.0-1` -> `4.4.1`
+ - [(#7525)](https://github.com/microsoft/vcpkg/pull/7525) Update some ports version
+
+- restinio `0.5.1-1` -> `0.6.0`
+ - [(#7514)](https://github.com/microsoft/vcpkg/pull/7514) [RESTinio] updated to v.0.5.1.1
+ - [(#7962)](https://github.com/microsoft/vcpkg/pull/7962) RESTinio updated to v.0.6.0
+
+- argh `2018-12-18` -> `2018-12-18-1`
+ - [(#7527)](https://github.com/microsoft/vcpkg/pull/7527) [argh] fix flaky cmake config
+
+- libusb `1.0.22-3` -> `1.0.22-4`
+ - [(#7465)](https://github.com/microsoft/vcpkg/pull/7465) [libusb] Fix using mismatched CRT_linkage/library_linkage issue.
+
+- casclib `1.50` -> `1.50b-1`
+ - [(#7522)](https://github.com/microsoft/vcpkg/pull/7522) [casclib] Added CMake targets
+ - [(#7907)](https://github.com/microsoft/vcpkg/pull/7907) [casclib] Update library to 1.50b
+
+- opencv `3.4.3-9` -> `4.1.1-1`
+ - [(#7499)](https://github.com/microsoft/vcpkg/pull/7499) Add feature halide to OpenCV.
+ - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1
+ - [(#7659)](https://github.com/microsoft/vcpkg/pull/7659) [opencv] Expose all features from `opencv4` in meta-package
+ - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check
+
+- openxr-loader `1.0.0-1` -> `1.0.0-2`
+ - [(#7560)](https://github.com/microsoft/vcpkg/pull/7560) [Openxr-loader] Remove the invalid patch
+
+- simdjson `2019-03-09` -> `2019-08-05`
+ - [(#7546)](https://github.com/microsoft/vcpkg/pull/7546) [simdjson] Update to 0.2.1
+
+- alembic `1.7.11-3` -> `1.7.11-4`
+ - [(#7551)](https://github.com/microsoft/vcpkg/pull/7551) [alembic] fix hdf5 linkage
+
+- xerces-c `3.2.2-10` -> `3.2.2-11`
+ - [(#7500)](https://github.com/microsoft/vcpkg/pull/7500) [xercec-c] no symlinks in static build (#7490)
+ - [(#7622)](https://github.com/microsoft/vcpkg/pull/7622) [tiff][tesseract][xerces-c] Disable unmanaged optional dependencies
+
+- sol2 `3.0.2` -> `3.0.3`
+ - [(#7545)](https://github.com/microsoft/vcpkg/pull/7545) Update sol2 portfile to 579908
+ - [(#7804)](https://github.com/microsoft/vcpkg/pull/7804) [sol2] Update library to 3.0.3
+
+- cpprestsdk `2.10.14` -> `2.10.14-1`
+ - [(#7472)](https://github.com/microsoft/vcpkg/pull/7472) Repair compression dependency bugs in cpprestsdk
+ - [(#7863)](https://github.com/microsoft/vcpkg/pull/7863) fix list parsing logic and add error messages
+
+- libevent `2.1.10` -> `2.1.11`
+ - [(#7515)](https://github.com/microsoft/vcpkg/pull/7515) [libevent] update to 2.1.11
+
+- imgui `1.70-1` -> `1.72b`
+ - [(#7534)](https://github.com/microsoft/vcpkg/pull/7534) Update some ports version
+
+- mbedtls `2.15.1` -> `2.16.2`
+ - [(#7534)](https://github.com/microsoft/vcpkg/pull/7534) Update some ports version
+
+- ffmpeg `4.1-8` -> `4.1-9`
+ - [(#7476)](https://github.com/microsoft/vcpkg/pull/7476) [ffmpeg] Fix debug build in Windows.
+ - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1
+ - [(#7608)](https://github.com/microsoft/vcpkg/pull/7608) [ffmpeg] Add feature avresample.
+ - [(#7739)](https://github.com/microsoft/vcpkg/pull/7739) [ffmpeg] Fix static linking on Windows, FindFFMPEG
+
+- kangaru `4.1.3-2` -> `4.2.0`
+ - [(#7567)](https://github.com/microsoft/vcpkg/pull/7567) Updated kangaru version
+
+- cpp-taskflow `2018-11-30` -> `2.2.0`
+ - [(#7554)](https://github.com/microsoft/vcpkg/pull/7554) [cpp-taskflow] update to 2.2.0
+
+- jsoncons `0.125.0` -> `0.132.1`
+ - [(#7529)](https://github.com/microsoft/vcpkg/pull/7529) Update jsoncons to v0.131.2
+ - [(#7718)](https://github.com/microsoft/vcpkg/pull/7718) [jsoncons] Update library to 0.132.1
+
+- tinyexif `1.0.2-5` -> `1.0.2-6`
+ - [(#7575)](https://github.com/microsoft/vcpkg/pull/7575) [TinyEXIF] fix linux/mac
+
+- itk `5.0.0-2` -> `5.0.1`
+ - [(#7241)](https://github.com/microsoft/vcpkg/pull/7241) ITK portfile support legacy user code by default
+ - [(#7586)](https://github.com/microsoft/vcpkg/pull/7586) [itk] Update library from 5.0.0 to 5.0.1
+
+- stxxl `2018-11-15-1` -> `2018-11-15-2`
+ - [(#7330)](https://github.com/microsoft/vcpkg/pull/7330) [stxxl] compilation fix
+
+- chakracore `1.11.9` -> `1.11.12`
+ - [(#7576)](https://github.com/microsoft/vcpkg/pull/7576) [chakracore] Update library to 1.11.11
+ - [(#7702)](https://github.com/microsoft/vcpkg/pull/7702) [brynet, catch2, chakracore] Update some ports version
+
+- qhull `7.3.2` -> `7.3.2-1`
+ - [(#7370)](https://github.com/microsoft/vcpkg/pull/7370) [Qhulluwp] fix uwp building
+
+- netcdf-c `4.7.0-3` -> `4.7.0-4`
+ - [(#7578)](https://github.com/microsoft/vcpkg/pull/7578) [netcdf-c] correctly fix hdf5 linkage
+
+- google-cloud-cpp `0.11.0` -> `0.12.0`
+ - [(#7557)](https://github.com/microsoft/vcpkg/pull/7557) Update google-cloud-cpp to 0.12.0.
+
+- stormlib `9.22` -> `2019-05-10`
+ - [(#7409)](https://github.com/microsoft/vcpkg/pull/7409) [stormlib] Add targets and streamline build
+
+- openimageio `2.0.8` -> `2019-08-08-2`
+ - [(#7419)](https://github.com/microsoft/vcpkg/pull/7419) [openimageio] Fix feature libraw build errors
+ - [(#7588)](https://github.com/microsoft/vcpkg/pull/7588) [openimageio] find_package support
+ - [(#7747)](https://github.com/microsoft/vcpkg/pull/7747) [openimageio] Fix find correct debug/release openexr libraries.
+
+- librdkafka `1.1.0` -> `1.1.0-1`
+ - [(#7469)](https://github.com/microsoft/vcpkg/pull/7469) Librdkafka snappy
+ - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check
+
+- open62541 `0.3.0-2` -> `0.3.0-3`
+ - [(#7607)](https://github.com/microsoft/vcpkg/pull/7607) [open62541] Fix flakiness/bugginess
+
+- jsonnet `2019-05-08` -> `2019-05-08-1`
+ - [(#7587)](https://github.com/microsoft/vcpkg/pull/7587) [vcpkg] Revert accidental removal of powershell-core usage in bb3a9ddb6ec917f54
+ - [(#7374)](https://github.com/microsoft/vcpkg/pull/7374) [jsonnet] Upgrade version to 0.13.0
+
+- expat `2.2.6` -> `2.2.7`
+ - [(#7596)](https://github.com/microsoft/vcpkg/pull/7596) [expat] Update library to 2.2.7
+
+- aws-lambda-cpp `0.1.0-1` -> `0.1.0-2`
+ - [(#7601)](https://github.com/microsoft/vcpkg/pull/7601) [vcpkg/cmake] Added a function to fail from portfiles in a default way
+
+- rocksdb `6.1.2` -> `6.1.2-1`
+ - [(#7452)](https://github.com/microsoft/vcpkg/pull/7452) [rocksdb] Change linkage type to static.
+ - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- freeimage `3.18.0-6` -> `3.18.0-7`
+ - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1
+
+- gdcm `3.0.0-3` -> `3.0.0-4`
+ - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1
+
+- ogre `1.12.0-1` -> `1.12.1`
+ - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- pthreads `3.0.0-2` -> `3.0.0-3`
+ - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1
+
+- qt5 `5.12.3` -> `5.12.3-1`
+ - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1
+ - [(#7642)](https://github.com/microsoft/vcpkg/pull/7642) [qt5] Only build qt5-activeqt on windows
+
+- zxing-cpp `3.3.3-5` -> `3.3.3-6`
+ - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1
+
+- tesseract `4.1.0-1` -> `4.1.0-2`
+ - [(#7622)](https://github.com/microsoft/vcpkg/pull/7622) [tiff][tesseract][xerces-c] Disable unmanaged optional dependencies
+
+- tiff `4.0.10-6` -> `4.0.10-7`
+ - [(#7622)](https://github.com/microsoft/vcpkg/pull/7622) [tiff][tesseract][xerces-c] Disable unmanaged optional dependencies
+
+- osg `3.6.3-1` -> `3.6.4`
+ - [(#7653)](https://github.com/microsoft/vcpkg/pull/7653) [osg] Update osg version to 3.6.4
+ - [(#7677)](https://github.com/microsoft/vcpkg/pull/7677) [osg] Fix Applying patch failed
+
+- cppgraphqlgen `3.0.0` -> `3.0.2`
+ - [(#7639)](https://github.com/microsoft/vcpkg/pull/7639) [cppgraphqlgen] Update with matching PEGTL
+
+- pegtl `3.0.0-pre` -> `3.0.0-pre-697aaa0`
+ - [(#7639)](https://github.com/microsoft/vcpkg/pull/7639) [cppgraphqlgen] Update with matching PEGTL
+
+- monkeys-audio `4.3.3-1` -> `4.8.3`
+ - [(#7634)](https://github.com/microsoft/vcpkg/pull/7634) [monkeys-audio] Update library to 4.8.3
+
+- directxmesh `apr2019` -> `jun2019-1`
+ - [(#7665)](https://github.com/microsoft/vcpkg/pull/7665) [directxtk][directxtk12][directxmesh][directxtex] Updated to June version and improved platform toolset support
+ - [(#7869)](https://github.com/microsoft/vcpkg/pull/7869) [directxmesh] Update library to aug2019
+
+- directxtex `apr2019` -> `jun2019-1`
+ - [(#7665)](https://github.com/microsoft/vcpkg/pull/7665) [directxtk][directxtk12][directxmesh][directxtex] Updated to June version and improved platform toolset support
+ - [(#7870)](https://github.com/microsoft/vcpkg/pull/7870) [directxtex] Update library to aug2019
+
+- directxtk `apr2019-1` -> `jun2019-1`
+ - [(#7665)](https://github.com/microsoft/vcpkg/pull/7665) [directxtk][directxtk12][directxmesh][directxtex] Updated to June version and improved platform toolset support
+ - [(#7871)](https://github.com/microsoft/vcpkg/pull/7871) [directxtk] Update library to aug2019
+
+- directxtk12 `dec2016-1` -> `jun2019-1`
+ - [(#7665)](https://github.com/microsoft/vcpkg/pull/7665) [directxtk][directxtk12][directxmesh][directxtex] Updated to June version and improved platform toolset support
+ - [(#7872)](https://github.com/microsoft/vcpkg/pull/7872) [directxtk12] Update library to aug2019
+
+- usockets `0.1.2` -> `0.3.1`
+ - [(#7662)](https://github.com/microsoft/vcpkg/pull/7662) [usockets] upgrade to v0.3.1
+
+- dimcli `4.1.0` -> `5.0.0`
+ - [(#7651)](https://github.com/microsoft/vcpkg/pull/7651) [dimcli] Fix build error C2220
+ - [(#7785)](https://github.com/microsoft/vcpkg/pull/7785) [dimcli] Update library to 5.0.0
+
+- czmq `2019-06-10-1` -> `2019-06-10-3`
+ - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check
+ - [(#7700)](https://github.com/microsoft/vcpkg/pull/7700) [czmq/pcl] Fix judgment feature condition.
+
+- darknet `0.2.5-5` -> `0.2.5-6`
+ - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check
+
+- mimalloc `2019-06-25` -> `2019-06-25-1`
+ - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check
+
+- mongo-c-driver `1.14.0-3` -> `1.14.0-3-1`
+ - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check
+
+- oniguruma `6.9.2-2` -> `6.9.3`
+ - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check
+ - [(#7721)](https://github.com/microsoft/vcpkg/pull/7721) [oniguruma] Update library 6.9.3
+
+- paho-mqttpp3 `1.0.1` -> `1.0.1-2`
+ - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check
+ - [(#7769)](https://github.com/microsoft/vcpkg/pull/7769) [paho-mqttpp3] Fix missing reference to C library headers
+
+- xsimd `7.2.3-1` -> `7.2.3-2`
+ - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check
+
+- xtensor `0.20.7-1` -> `0.20.7-2`
+ - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check
+
+- zeromq `2019-07-09` -> `2019-07-09-1`
+ - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check
+
+- gtest `2019-01-04-2` -> `2019-08-14-1`
+ - [(#7692)](https://github.com/microsoft/vcpkg/pull/7692) [gtest] update to 90a443f9c2437ca8a682a1ac625eba64e1d74a8a
+ - [(#7316)](https://github.com/microsoft/vcpkg/pull/7316) [gtest] Re-fix port_main/port_maind libraries path and add gmock cmake files.
+
+- physx `commit-624f2cb6c0392013d54b235d9072a49d01c3cb6c` -> `4.1.1-1`
+ - [(#7679)](https://github.com/microsoft/vcpkg/pull/7679) [physx] Update to 4.1.1 (with Visual Studio 2019 support)
+
+- libidn2 `2.1.1-1` -> `2.2.0`
+ - [(#7685)](https://github.com/microsoft/vcpkg/pull/7685) [libidn2] Update to version 2.2.0.
+
+- poco `2.0.0-pre-3` -> `1.9.2-1`
+ - [(#7698)](https://github.com/microsoft/vcpkg/pull/7698) [poco] Upgrade version to 1.9.2 release.
+ - [(#7892)](https://github.com/microsoft/vcpkg/pull/7892) [poco] Fix conflicts with libharu.
+
+- osgearth `2.10.1` -> `2.10.2`
+ - [(#7695)](https://github.com/microsoft/vcpkg/pull/7695) [osgearth] Fix osgearth rocksdb plugin build falied
+
+- spdlog `1.3.1-1` -> `1.3.1-2`
+ - [(#7670)](https://github.com/microsoft/vcpkg/pull/7670) [spdlog] fix cmake targets path
+
+- libgit2 `0.28.2` -> `0.28.3`
+ - [(#7669)](https://github.com/microsoft/vcpkg/pull/7669) [libgit2] Upgrade to version 0.28.3
+
+- brynet `1.0.2` -> `1.0.3`
+ - [(#7702)](https://github.com/microsoft/vcpkg/pull/7702) [brynet, catch2, chakracore] Update some ports version
+
+- nghttp2 `1.35.0` -> `1.39.2`
+ - [(#7699)](https://github.com/microsoft/vcpkg/pull/7699) [nghttp2] Upgrade to version 1.39.2
+
+- leptonica `1.76.0-1` -> `1.78.0-1`
+ - [(#7358)](https://github.com/microsoft/vcpkg/pull/7358) [leptonica] Upgrade to 1.78.0
+ - [(#7712)](https://github.com/microsoft/vcpkg/pull/7712) [leptonica] Add dependency port libwebp and fix find libwebp in debug/release
+
+- libtorrent `2019-04-19` -> `1.2.1-bcb26fd6`
+ - [(#7708)](https://github.com/microsoft/vcpkg/pull/7708) [libtorrent] Update to 1.2.1-bcb26fd6
+
+- angelscript `2.33.0-1` -> `2.33.1-1`
+ - [(#7650)](https://github.com/microsoft/vcpkg/pull/7650) [angelscript] Added feature to optionally install all Angelscript standard addons
+
+- jsoncpp `1.8.4-1` -> `1.9.1`
+ - [(#7719)](https://github.com/microsoft/vcpkg/pull/7719) [jsoncpp] Update library to 1.9.1
+
+- robin-hood-hashing `3.2.13` -> `3.4.0`
+ - [(#7722)](https://github.com/microsoft/vcpkg/pull/7722) [robin-hood-hashing] Update library to 3.4.0
+
+- sqlite-orm `1.3-1` -> `1.4`
+ - [(#7723)](https://github.com/microsoft/vcpkg/pull/7723) [sqlite-orm] Update library to 1.4
+
+- doctest `2.3.3` -> `2.3.4`
+ - [(#7716)](https://github.com/microsoft/vcpkg/pull/7716) [doctest] Update library to 2.3.4
+
+- pegtl-2 `2.8.0` -> `2.8.1`
+ - [(#7715)](https://github.com/microsoft/vcpkg/pull/7715) [pegtl-2] Update library to 2.8.1
+
+- cpp-httplib `0.2.0` -> `0.2.1`
+ - [(#7714)](https://github.com/microsoft/vcpkg/pull/7714) [cpp-httplib] Update library to 0.2.1
+
+- geographiclib `1.47-patch1-6` -> `1.47-patch1-7`
+ - [(#7697)](https://github.com/microsoft/vcpkg/pull/7697) [geographiclib] Fix build error on Linux
+
+- libmariadb `3.0.10-3` -> `3.0.10-4`
+ - [(#7710)](https://github.com/microsoft/vcpkg/pull/7710) [libmariadb] Fix usage error LNK2001.
+
+- irrlicht `1.8.4-2` -> `1.8.4-1`
+ - [(#7726)](https://github.com/microsoft/vcpkg/pull/7726) Revert "[irrlicht] use unicode path on windows (#7354)"
+
+- cgltf `2019-04-30` -> `1.3`
+ - [(#7731)](https://github.com/microsoft/vcpkg/pull/7731) [cgltf] Update library to 1.2
+ - [(#7774)](https://github.com/microsoft/vcpkg/pull/7774) [cgltf] Update library to 1.3
+
+- duktape `2.3.0-2` -> `2.4.0-3`
+ - [(#7548)](https://github.com/microsoft/vcpkg/pull/7548) [ duktape] Update hash for pip.
+ - [(#7873)](https://github.com/microsoft/vcpkg/pull/7873) [duktape] Update library to 2.4.0
+
+- double-conversion `3.1.4` -> `3.1.5`
+ - [(#7717)](https://github.com/microsoft/vcpkg/pull/7717) [double-conversion] Update library to 3.1.5
+
+- libmorton `2018-19-07` -> `0.2`
+ - [(#7738)](https://github.com/microsoft/vcpkg/pull/7738) [libmorton] Update library to 0.2
+
+- clp `1.17.2-2` -> `1.17.3`
+ - [(#7756)](https://github.com/microsoft/vcpkg/pull/7756) [clp] Update library to 1.17.3
+
+- libfabric `1.7.1-1` -> `1.8.0`
+ - [(#7755)](https://github.com/microsoft/vcpkg/pull/7755) [libfabric] Update library to 1.8.0
+
+- leaf `0.2.1-2` -> `0.2.2`
+ - [(#7782)](https://github.com/microsoft/vcpkg/pull/7782) [leaf] Update library to 0.2.2
+
+- inih `44` -> `45`
+ - [(#7780)](https://github.com/microsoft/vcpkg/pull/7780) [inih] Update library to 45
+
+- clara `2019-03-29` -> `1.1.5`
+ - [(#7775)](https://github.com/microsoft/vcpkg/pull/7775) [clara] Update library to 1.1.5
+
+- distorm `2018-08-26-16e6f435-1` -> `3.4.1`
+ - [(#7777)](https://github.com/microsoft/vcpkg/pull/7777) [distorm] Update library to 3.4.1
+
+- libcopp `1.1.0-2` -> `1.2.0`
+ - [(#7770)](https://github.com/microsoft/vcpkg/pull/7770) [libcopp] Update library to 1.2.0
+
+- argparse `2019-06-10` -> `1.9`
+ - [(#7753)](https://github.com/microsoft/vcpkg/pull/7753) [argparse] Update library to 1.9
+
+- argagg `2019-01-25` -> `0.4.6`
+ - [(#7752)](https://github.com/microsoft/vcpkg/pull/7752) [argagg] Update library to 0.4.6
+
+- eastl `3.14.00` -> `3.14.01`
+ - [(#7786)](https://github.com/microsoft/vcpkg/pull/7786) [eastl] Update library to 3.14.01
+
+- fribidi `58c6cb3` -> `2019-02-04-1`
+ - [(#7768)](https://github.com/microsoft/vcpkg/pull/7768) [fribidi] Fix static library suffix in windows-static
+
+- luajit `2.0.5-1` -> `2.0.5-2`
+ - [(#7764)](https://github.com/microsoft/vcpkg/pull/7764) [luajit] Separate debug/release build path and fix generate pdbs.
+
+- ixwebsocket `4.0.3` -> `5.0.4`
+ - [(#7789)](https://github.com/microsoft/vcpkg/pull/7789) [ixwebsocket] update to 5.0.4
+
+- azure-c-shared-utility `2019-05-16.1` -> `2019-08-20.1`
+ - [(#7791)](https://github.com/microsoft/vcpkg/pull/7791) [azure-iot] vcpkg update for master/public-preview release
+
+- azure-iot-sdk-c `2019-07-01.1` -> `2019-08-20.1`
+ - [(#7791)](https://github.com/microsoft/vcpkg/pull/7791) [azure-iot] vcpkg update for master/public-preview release
+
+- azure-macro-utils-c `2019-05-16.1` -> `2019-08-20.1`
+ - [(#7791)](https://github.com/microsoft/vcpkg/pull/7791) [azure-iot] vcpkg update for master/public-preview release
+
+- azure-uamqp-c `2019-05-16.1` -> `2019-08-20.1`
+ - [(#7791)](https://github.com/microsoft/vcpkg/pull/7791) [azure-iot] vcpkg update for master/public-preview release
+
+- azure-uhttp-c `2019-05-16.1` -> `2019-08-20.1`
+ - [(#7791)](https://github.com/microsoft/vcpkg/pull/7791) [azure-iot] vcpkg update for master/public-preview release
+
+- azure-umqtt-c `2019-05-16.1` -> `2019-08-20.1`
+ - [(#7791)](https://github.com/microsoft/vcpkg/pull/7791) [azure-iot] vcpkg update for master/public-preview release
+
+- umock-c `2019-05-16.1` -> `2019-08-20.1`
+ - [(#7791)](https://github.com/microsoft/vcpkg/pull/7791) [azure-iot] vcpkg update for master/public-preview release
+
+- embree3 `3.5.2` -> `3.5.2-1`
+ - [(#7767)](https://github.com/microsoft/vcpkg/pull/7767) [embree3] Fix install path
+
+- re2 `2019-05-07-2` -> `2019-08-01`
+ - [(#7808)](https://github.com/microsoft/vcpkg/pull/7808) [re2] Update library to 2019-08-01
+
+- reproc `6.0.0-2` -> `8.0.1`
+ - [(#7807)](https://github.com/microsoft/vcpkg/pull/7807) [reproc] Update library to 8.0.1
+
+- safeint `3.20.0` -> `3.21`
+ - [(#7806)](https://github.com/microsoft/vcpkg/pull/7806) [safeint] Update library to 3.21
+
+- snowhouse `3.1.0` -> `3.1.1`
+ - [(#7805)](https://github.com/microsoft/vcpkg/pull/7805) [snowhouse] Update library to 3.1.1
+
+- spectra `0.8.0` -> `0.8.1`
+ - [(#7803)](https://github.com/microsoft/vcpkg/pull/7803) [spectra] Update library to 0.8.1
+
+- spirv-cross `2019-05-09` -> `2019-07-26`
+ - [(#7802)](https://github.com/microsoft/vcpkg/pull/7802) [spirv-cross] Update library to 2019-07-26
+
+- libmodbus `3.1.4-3` -> `3.1.6`
+ - [(#7834)](https://github.com/microsoft/vcpkg/pull/7834) [libmodbus] Update library to 3.1.6
+
+- basisu `0.0.1-1` -> `1.11-1`
+ - [(#7836)](https://github.com/microsoft/vcpkg/pull/7836) [basisu] fix vcpkg version, merge upstream fixes
+
+- range-v3 `0.5.0` -> `0.9.0-20190822`
+ - [(#7845)](https://github.com/microsoft/vcpkg/pull/7845) Update range-v3 reference
+
+- cryptopp `8.1.0-2` -> `8.2.0`
+ - [(#7854)](https://github.com/microsoft/vcpkg/pull/7854) [cryptopp] Update library to 8.2.0
+
+- lz4 `1.9.1-2` -> `1.9.2`
+ - [(#7860)](https://github.com/microsoft/vcpkg/pull/7860) [lz4] Update library to 1.9.2
+
+- wxwidgets `3.1.2-1` -> `3.1.2-2`
+ - [(#7833)](https://github.com/microsoft/vcpkg/pull/7833) [wxwidgets] Windows ARM support
+
+- args `2019-05-01` -> `2019-07-11`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- asmjit `2019-03-29` -> `2019-07-11`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- aws-c-common `0.3.11-1` -> `0.4.1`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- aws-sdk-cpp `1.7.116` -> `1.7.142`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- bitsery `4.6.0` -> `5.0.0`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- botan `2.9.0-2` -> `2.11.0`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- breakpad `2019-05-08` -> `2019-07-11`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- chipmunk `7.0.2` -> `7.0.3`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- console-bridge `0.3.2-4` -> `0.4.3-1`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- coroutine `1.4.1-1` -> `1.4.3`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- crc32c `1.0.7-1` -> `1.1.0`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- exprtk `2019-03-29` -> `2019-07-11`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- fastcdr `1.0.9-1` -> `1.0.10`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+ - [(#7862)](https://github.com/microsoft/vcpkg/pull/7862) [fastcdr] Update library 1.0.10
+
+- fizz `2019.05.20.00-1` -> `2019.07.08.00`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- folly `2019.05.20.00-1` -> `2019.06.17.00`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- glad `0.1.30` -> `0.1.31`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- gmmlib `19.1.2` -> `19.2.3`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- graphite2 `1.3.12-1` -> `1.3.13`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- grpc `1.21.1-1` -> `1.22.0`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- io2d `0.1-2` -> `2019-07-11`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- libarchive `3.3.3-3` -> `3.4.0`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- libpqxx `6.4.4` -> `6.4.5`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- libssh2 `1.8.2` -> `1.9.0`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- libuv `1.29.1` -> `1.30.1`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- luabridge `2.3.1` -> `2.3.2`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- matio `1.5.15` -> `1.5.16`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- mosquitto `1.6.2-2` -> `1.6.3`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- ms-gsl `2019-04-19` -> `2019-07-11`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- nmslib `1.7.3.6-1` -> `1.8.1`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- nuklear `2019-03-29` -> `2019-07-11`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- openvr `1.4.18` -> `1.5.17`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- orc `1.5.5-1` -> `1.5.6`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+ - [(#7908)](https://github.com/microsoft/vcpkg/pull/7908) Add homepage for orc
+
+- parson `2019-04-19` -> `2019-07-11`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- piex `2018-03-13-1` -> `2019-07-11`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- ptex `2.1.28-1` -> `2.3.2`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- pybind11 `2.2.4` -> `2.3.0`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- rs-core-lib `2019-05-07` -> `2019-07-11`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- shogun `6.1.3-3` -> `6.1.4`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- stb `2019-05-07` -> `2019-07-11`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- taocpp-json `2019-05-08` -> `2019-07-11`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- tbb `2019_U7-1` -> `2019_U8`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- telnetpp `1.2.4-1` -> `2.0`
+ - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09
+
+- blaze `3.5` -> `3.6`
+ - [(#7878)](https://github.com/microsoft/vcpkg/pull/7878) [blaze] Update to Blaze 3.6
+
+- glfw3 `3.3-1` -> `3.3-2`
+ - [(#7885)](https://github.com/microsoft/vcpkg/pull/7885) [glfw3] Add more information about installing dependencies.
+
+- fmt `5.3.0-2` -> `6.0.0`
+ - [(#7910)](https://github.com/microsoft/vcpkg/pull/7910) [fmt] Update to 6.0.0
+ - [(#7884)](https://github.com/microsoft/vcpkg/pull/7884) [fmt] missing VCPKG_BUILD_TYPE support added
+
+- magic-enum `2019-06-07` -> `0.6.0`
+ - [(#7916)](https://github.com/microsoft/vcpkg/pull/7916) [magic-enum] Update to v0.6.0
+
+- liblsl `1.13.0-b6` -> `1.13.0-b11-1`
+ - [(#7906)](https://github.com/microsoft/vcpkg/pull/7906) [liblsl] Update library to 1.13.0-b11
+ - [(#7945)](https://github.com/microsoft/vcpkg/pull/7945) [liblsl] Fix installation
+
+- yaml-cpp `0.6.2-2` -> `0.6.2-3`
+ - [(#7847)](https://github.com/microsoft/vcpkg/pull/7847) [yaml-cpp] Fix include path in yaml-cpp-config.cmake
+
+- fluidsynth `2.0.5` -> `2.0.5-1`
+ - [(#7837)](https://github.com/microsoft/vcpkg/pull/7837) [fluidsynth] add Windows ARM support
+
+- nmap `7.70` -> `7.70-1`
+ - [(#7811)](https://github.com/microsoft/vcpkg/pull/7811) [nmap] Fix build error.
+
+- moos-ui `10.0.1-1` -> `10.0.1-2`
+ - [(#7812)](https://github.com/microsoft/vcpkg/pull/7812) [moos-ui] Fix install path
+
+- openni2 `2.2.0.33-9` -> `2.2.0.33-10`
+ - [(#7809)](https://github.com/microsoft/vcpkg/pull/7809) [openni2] Add warning message when cannot find NETFXSDK.
+
+- abseil `2019-05-08` -> `2019-05-08-1`
+ - [(#7745)](https://github.com/microsoft/vcpkg/pull/7745) [abseil] fix cmake config issue
+
+- libwebp `1.0.2-6` -> `1.0.2-7`
+ - [(#7886)](https://github.com/microsoft/vcpkg/pull/7886) [libwebp] Fix two dependent windows library link conditions.
+
+- wpilib `2019.5.1` -> `2019.6.1`
+ - [(#7927)](https://github.com/microsoft/vcpkg/pull/7927) [wpilib] Update wpilib port to allow opencv4
+
+- ogdf `2018-03-28-2` -> `2019-08-23`
+ - [(#7846)](https://github.com/microsoft/vcpkg/pull/7846) [ogdf] Update source link
+
+- libp7client `5.2` -> `5.2-1`
+ - [(#7977)](https://github.com/microsoft/vcpkg/pull/7977) [libp7client] Rename port folder to lowercase
+
+- libpng `1.6.37-2` -> `1.6.37-3`
+ - [(#7972)](https://github.com/microsoft/vcpkg/pull/7972) [libpng] Fix find_package() in CONFIG mode (#7968)
+
+- openblas `0.3.6-5` -> `0.3.6-6`
+ - [(#7888)](https://github.com/microsoft/vcpkg/pull/7888) [openblas] Enable x86 build and fix usage errors.
+
+- qt5-base `5.12.3-3` -> `5.12.3-4`
+ - [(#7973)](https://github.com/microsoft/vcpkg/pull/7973) [Qt5] Fix libpq linkage in wrapper
+
+- liblas `1.8.1` -> `1.8.1-2`
+ - [(#7975)](https://github.com/microsoft/vcpkg/pull/7975) [liblas] Fix Geotiff linkage
+
+- glib `2.52.3-14-2` -> `2.52.3-14-3`
+ - [(#7963)](https://github.com/microsoft/vcpkg/pull/7963) [glib] Fix install config.h
+
+</details>
+
+-- vcpkg team vcpkg@microsoft.com THU, 04 Sept 14:00:00 -0800
+
vcpkg (2019.7.31)
---
#### Total port count: 1105
diff --git a/LICENSE.txt b/LICENSE.txt
index 375184eaf..2e4eac826 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -1,5 +1,3 @@
-Port Tree
-
Copyright (c) Microsoft Corporation
All rights reserved.
diff --git a/docs/about/faq.md b/docs/about/faq.md
index 504738479..6517774cf 100644
--- a/docs/about/faq.md
+++ b/docs/about/faq.md
@@ -52,11 +52,12 @@ Yes. While Vcpkg will only produce the standard "Release" and "Debug" configurat
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 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. Unfortunately, due to the sequential nature of MSBuild, you'll need to add those settings much higher in your vcxproj so that it is declared before the Vcpk integration is loaded. It is recommend that the `$(VcpkgConfiguration)` macro is added to the "Globals" PropertyGroup.
For example, you can add support for your "MyRelease" configuration by adding in your project file:
```
-<PropertyGroup>
+<PropertyGroup Label="Globals">
+ ...
<VcpkgConfiguration Condition="'$(Configuration)' == 'MyRelease'">Release</VcpkgConfiguration>
</PropertyGroup>
```
diff --git a/docs/index.md b/docs/index.md
index b2f0a53b2..579b0e4c8 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -24,6 +24,8 @@ Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This too
### Tool Maintainer Help
- [Testing](tool-maintainers/testing.md)
+- [Benchmarking](tool-maintainers/benchmarking.md)
+- [Layout of the vcpkg source tree](tool-maintainers/layout.md)
- [Maintainer Guidelines](maintainers/maintainer-guide.md)
### Specifications
diff --git a/docs/maintainers/execute_process.md b/docs/maintainers/execute_process.md
new file mode 100644
index 000000000..cbb339509
--- /dev/null
+++ b/docs/maintainers/execute_process.md
@@ -0,0 +1,10 @@
+# execute_process
+
+Intercepts all calls to execute_process() inside portfiles and fails when Download Mode
+is enabled.
+
+In order to execute a process in Download Mode call `_execute_process()` instead.
+
+
+## Source
+[scripts/cmake/execute_process.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/execute_process.cmake)
diff --git a/docs/maintainers/portfile-functions.md b/docs/maintainers/portfile-functions.md
index eadebf49a..bbd5d23ab 100644
--- a/docs/maintainers/portfile-functions.md
+++ b/docs/maintainers/portfile-functions.md
@@ -1,6 +1,7 @@
<!-- Run regenerate.ps1 to extract documentation from scripts\cmake\*.cmake -->
# Portfile helper functions
+- [execute\_process](execute_process.md)
- [vcpkg\_acquire\_msys](vcpkg_acquire_msys.md)
- [vcpkg\_add\_to\_path](vcpkg_add_to_path.md)
- [vcpkg\_apply\_patches](vcpkg_apply_patches.md)
@@ -9,6 +10,7 @@
- [vcpkg\_check\_features](vcpkg_check_features.md)
- [vcpkg\_check\_linkage](vcpkg_check_linkage.md)
- [vcpkg\_clean\_msbuild](vcpkg_clean_msbuild.md)
+- [vcpkg\_common\_definitions](vcpkg_common_definitions.md)
- [vcpkg\_configure\_cmake](vcpkg_configure_cmake.md)
- [vcpkg\_copy\_pdbs](vcpkg_copy_pdbs.md)
- [vcpkg\_copy\_tool\_dependencies](vcpkg_copy_tool_dependencies.md)
@@ -17,6 +19,7 @@
- [vcpkg\_execute\_required\_process](vcpkg_execute_required_process.md)
- [vcpkg\_extract\_source\_archive](vcpkg_extract_source_archive.md)
- [vcpkg\_extract\_source\_archive\_ex](vcpkg_extract_source_archive_ex.md)
+- [vcpkg\_fail\_port\_install](vcpkg_fail_port_install.md)
- [vcpkg\_find\_acquire\_program](vcpkg_find_acquire_program.md)
- [vcpkg\_from\_bitbucket](vcpkg_from_bitbucket.md)
- [vcpkg\_from\_git](vcpkg_from_git.md)
diff --git a/docs/maintainers/vcpkg_common_definitions.md b/docs/maintainers/vcpkg_common_definitions.md
new file mode 100644
index 000000000..3bb922b17
--- /dev/null
+++ b/docs/maintainers/vcpkg_common_definitions.md
@@ -0,0 +1,19 @@
+# vcpkg_common_definitions
+
+File contains helpful variabls for portfiles which are commonly needed or used.
+
+## The following variables are available:
+```cmake
+VCPKG_TARGET_IS_<target> with <target> being one of the following: WINDOWS, UWP, LINUX, OSX, ANDROID, FREEBSD. only defined if <target>
+VCPKG_TARGET_STATIC_LIBRARY_PREFIX static library prefix for target (same as CMAKE_STATIC_LIBRARY_PREFIX)
+VCPKG_TARGET_STATIC_LIBRARY_SUFFIX static library suffix for target (same as CMAKE_STATIC_LIBRARY_SUFFIX)
+VCPKG_TARGET_SHARED_LIBRARY_PREFIX shared library prefix for target (same as CMAKE_SHARED_LIBRARY_PREFIX)
+VCPKG_TARGET_SHARED_LIBRARY_SUFFIX shared library suffix for target (same as CMAKE_SHARED_LIBRARY_SUFFIX)
+```
+
+CMAKE_STATIC_LIBRARY_PREFIX, CMAKE_STATIC_LIBRARY_SUFFIX, CMAKE_SHARED_LIBRARY_PREFIX, CMAKE_SHARED_LIBRARY_SUFFIX are defined for the target so that
+portfiles are able to use find_library calls to discover dependent libraries within the current triplet for ports.
+
+
+## Source
+[scripts/cmake/vcpkg_common_definitions.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_common_definitions.cmake)
diff --git a/docs/maintainers/vcpkg_execute_required_process.md b/docs/maintainers/vcpkg_execute_required_process.md
index 4b1a7e081..26a116782 100644
--- a/docs/maintainers/vcpkg_execute_required_process.md
+++ b/docs/maintainers/vcpkg_execute_required_process.md
@@ -11,6 +11,10 @@ vcpkg_execute_required_process(
)
```
## Parameters
+### ALLOW_IN_DOWNLOAD_MODE
+Allows the command to execute in Download Mode.
+[See execute_process() override](../../scripts/cmake/execute_process.cmake).
+
### COMMAND
The command to be executed, along with its arguments.
diff --git a/docs/maintainers/vcpkg_fail_port_install.md b/docs/maintainers/vcpkg_fail_port_install.md
new file mode 100644
index 000000000..b3b48ad5e
--- /dev/null
+++ b/docs/maintainers/vcpkg_fail_port_install.md
@@ -0,0 +1,34 @@
+# vcpkg_fail_port_install
+
+Fails the current portfile with a (default) error message
+
+## Usage
+```cmake
+vcpkg_fail_port_install([MESSAGE <message>] [ON_TARGET <target1> [<target2> ...]]
+```
+
+## Parameters
+### MESSAGE
+Additional failure message. If non is given a default message will be displayed depending on the failure condition
+
+### ALWAYS
+will always fail early
+
+### ON_TARGET
+targets for which the build should fail early. Valid targets are <target> from VCPKG_IS_TARGET_<target> (see vcpkg_common_definitions.cmake)
+
+### ON_ARCH
+architecture for which the build should fail early.
+
+### ON_CRT_LINKAGE
+CRT linkage for which the build should fail early.
+
+### ON_LIBRARY_LINKAGE
+library linkage for which the build should fail early.
+
+## Examples
+
+* [aws-lambda-cpp](https://github.com/Microsoft/vcpkg/blob/master/ports/aws-lambda-cpp/portfile.cmake)
+
+## Source
+[scripts/cmake/vcpkg_fail_port_install.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_fail_port_install.cmake)
diff --git a/docs/tool-maintainers/benchmarking.md b/docs/tool-maintainers/benchmarking.md
new file mode 100644
index 000000000..e0295be50
--- /dev/null
+++ b/docs/tool-maintainers/benchmarking.md
@@ -0,0 +1,195 @@
+# Benchmarking
+
+Benchmarking new code against old code is extremely important whenever making
+large changes to how something works. If you are attempting to make something
+faster, and you end up slowing it down, you'll never know if you don't
+benchmark! We have benchmarks in the `toolsrc/src/vcpkg-test` directory, just
+like the tests -- they're treated as a special kind of test.
+
+## Running Benchmarks
+
+Unlike normal tests, benchmarks are hidden behind a special define -- `CATCH_CONFIG_ENABLE_BENCHMARKING` -- so that you never try to run benchmarks
+unless you specifically want to. This is because benchmarks actually take quite
+a long time! However, if you want to run benchmarks (and I recommend running
+only specific benchmarks at a time), you can do so by passing the
+`VCPKG_ENABLE_BENCHMARKING` option at cmake configure time.
+
+```sh
+$ cmake -B toolsrc/out -S toolsrc -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DVCPKG_BUILD_BENCHMARKING=On
+
+-- The C compiler identification is MSVC 19.22.27905.0
+-- The CXX compiler identification is MSVC 19.22.27905.0
+-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.22.27905/bin/Hostx64/x64/cl.exe
+-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.22.27905/bin/Hostx64/x64/cl.exe -- works
+-- Detecting C compiler ABI info
+-- Detecting C compiler ABI info - done
+-- Detecting C compile features
+-- Detecting C compile features - done
+-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.22.27905/bin/Hostx64/x64/cl.exe
+-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.22.27905/bin/Hostx64/x64/cl.exe -- works
+-- Detecting CXX compiler ABI info
+-- Detecting CXX compiler ABI info - done
+-- Detecting CXX compile features
+-- Detecting CXX compile features - done
+-- Looking for pthread.h
+-- Looking for pthread.h - not found
+-- Found Threads: TRUE
+-- Configuring done
+-- Generating done
+-- Build files have been written to: C:/Users/t-nimaz/src/vcpkg/toolsrc/out
+
+$ cmake --build toolsrc/out
+
+[0/2] Re-checking globbed directories...
+[80/80] Linking CXX executable vcpkg-test.exe
+```
+
+You can then run benchmarks easily with the following command (which run the
+files benchmarks):
+
+```sh
+$ ./toolsrc/out/vcpkg-test [!benchmark][file]
+```
+
+You can switch out `[file]` for a different set -- `[hash]`, for example.
+
+## Writing Benchmarks
+
+First, before anything else, I recommend reading the
+[benchmarking documentation] at Catch2's repository.
+
+Now, after that, let's say that you wanted to benchmark, say, our ASCII
+case-insensitive string compare against your new implementation. We place
+benchmarks for code in the same file as their tests, so open
+`vcpkg-test/strings.cpp`, and add the following at the bottom:
+
+```cpp
+#if defined(CATCH_CONFIG_ENABLE_BENCHMARKING)
+TEST_CASE ("case insensitive ascii equals: benchmark", "[strings][!benchmark]")
+{
+ BENCHMARK("qwertyuiop") {
+ return vcpkg::Strings::case_insensitive_ascii_equals("qwertyuiop", "QWERTYUIOP");
+ };
+}
+#endif
+```
+
+Remember the `;` at the end of the benchmark -- it's not required for
+`TEST_CASE`s, but is for `BENCHMARK`s.
+
+Now, let's rebuild and run:
+
+```sh
+$ cmake --build toolsrc/out
+[0/2] Re-checking globbed directories...
+[2/2] Linking CXX executable vcpkg-test.exe
+$ ./toolsrc/out/vcpkg-test [strings][!benchmark]
+Filters: [strings][!benchmark]
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+vcpkg-test.exe is a Catch v2.9.1 host application.
+Run with -? for options
+
+-------------------------------------------------------------------------------
+case insensitive ascii equals: benchmark
+-------------------------------------------------------------------------------
+C:\Users\t-nimaz\src\vcpkg\toolsrc\src\vcpkg-test\strings.cpp(36)
+...............................................................................
+
+benchmark name samples iterations estimated
+ mean low mean high mean
+ std dev low std dev high std dev
+-------------------------------------------------------------------------------
+qwertyuiop 100 2088 3.9672 ms
+ 25 ns 24 ns 26 ns
+ 6 ns 5 ns 8 ns
+
+
+===============================================================================
+test cases: 1 | 1 passed
+assertions: - none -
+```
+
+You've now written your first benchmark!
+
+But wait. This seems kind of silly. Benchmarking the comparison of literal
+strings is great and all, but could we make it a little more realistic?
+
+This is where `BENCHMARK_ADVANCED` comes in. `BENCHMARK_ADVANCED` allows one to
+write a benchmark that has a little setup to it without screwing up the numbers.
+Let's try it now:
+
+```cpp
+TEST_CASE ("case insensitive ascii equals: benchmark", "[strings][!benchmark]")
+{
+ BENCHMARK_ADVANCED("equal strings")(Catch::Benchmark::Chronometer meter)
+ {
+ std::vector<std::string> strings;
+ strings.resize(meter.runs());
+ std::mt19937_64 urbg;
+ std::uniform_int_distribution<std::uint64_t> data_generator;
+
+ std::generate(strings.begin(), strings.end(), [&] {
+ std::string result;
+ for (std::size_t i = 0; i < 1000; ++i)
+ {
+ result += vcpkg::Strings::b32_encode(data_generator(urbg));
+ }
+
+ return result;
+ });
+
+ meter.measure(
+ [&](int run) { return vcpkg::Strings::case_insensitive_ascii_equals(strings[run], strings[run]); });
+ };
+}
+```
+
+Then, run it again!
+
+```sh
+$ cmake --build toolsrc/out
+[0/2] Re-checking globbed directories...
+[2/2] Linking CXX executable vcpkg-test.exe
+$ toolsrc/out/vcpkg-test [strings][!benchmark]
+Filters: [strings][!benchmark]
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+vcpkg-test.exe is a Catch v2.9.1 host application.
+Run with -? for options
+
+-------------------------------------------------------------------------------
+case insensitive ascii equals: benchmark
+-------------------------------------------------------------------------------
+C:\Users\t-nimaz\src\vcpkg\toolsrc\src\vcpkg-test\strings.cpp(36)
+...............................................................................
+
+benchmark name samples iterations estimated
+ mean low mean high mean
+ std dev low std dev high std dev
+-------------------------------------------------------------------------------
+equal strings 100 2 5.4806 ms
+ 22.098 us 21.569 us 23.295 us
+ 3.842 us 2.115 us 7.41 us
+
+
+===============================================================================
+test cases: 1 | 1 passed
+assertions: - none -
+```
+
+And now you have a working benchmark to test the speed of the existing code, and
+of new code!
+
+If you're writing a lot of benchmarks that follow the same sort of pattern, with
+some differences in constants, look into `vcpkg-test/files.cpp`'s benchmarks --
+there are a lot of things one can do to make writing new benchmarks really easy.
+
+If you wish to add a benchmark for a piece of code that has not yet been tested,
+please read the [testing documentation], and please write some unit tests.
+The speed of your code isn't very important if it doesn't work at all!
+
+[benchmarking documentation]: https://github.com/catchorg/Catch2/blob/master/docs/benchmarks.md#top
+[testing documentation]: ./testing.md#adding-new-test-files
diff --git a/docs/tool-maintainers/layout.md b/docs/tool-maintainers/layout.md
new file mode 100644
index 000000000..9779b0434
--- /dev/null
+++ b/docs/tool-maintainers/layout.md
@@ -0,0 +1,85 @@
+# Layout of the vcpkg source tree
+
+All vcpkg sources and build systems are in `toolsrc`. If you'd like to
+contribute to the vcpkg tool itself, most of your time will be spent in here.
+
+## Build Files
+
+These are the files used to build and configure the project. In order to build
+with CMake, the only files you should be interested in are `CMakeLists.txt`, and
+`.clang-format`; in order to build with msbuild or the Visual Studio IDE, you
+will be interested in `dirs.proj` or `vcpkg.sln`. However, if you add or remove
+files, you will need to edit the MSBuild project files in the `vcpkg*`
+directories no matter what system you use.
+
+### Top Level
+
+We have six files in this directory -- one `.clang-format` file, one
+`CMakeLists.txt` file, three Visual Studio files, and `VERSION.txt`.
+
+ - `.clang-format`: This is where we store the formatting settings of the
+ project. If you want to format the project, you can use the `format` target
+ with the CMake build system.
+ - `CMakeLists.txt`: This is where the CMake build system definition lives. If
+ you want to modify how one builds the project, or add a target, you can do
+ it here.
+ - `VERSION.txt`: This is a file which tells `vcpkg` to tell the user to
+ rebuild. If this version is different from the version when the user built
+ the binary (for example, after a `git pull` or a `vcpkg update`), then
+ `vcpkg` will print a message to re-bootstrap. This is updated whenever major
+ changes are made to the `vcpkg` tool.
+ - The Visual Studio files:
+ - `vcpkg.natvis`: NATVIS files allow one to visualize objects of user
+ defined type in the debugger -- this one contains the definitions for
+ `vcpkg`'s types.
+ - `dirs.proj`: This is how one builds with `msbuild` without calling into
+ the IDE.
+ - `vcpkg.sln`: The solution file is how one opens the project in the VS IDE.
+
+### `vcpkg`, `vcpkglib`, `vcpkgmetricsuploader`, and `vcpkgtest`
+
+These four contain exactly one `<name>.vcxproj` and one
+`<name>.vcxproj.filters`. The `<name>.vcxproj` file contains the source files
+and the `<name>.vcxproj.filters` contains information on how Visual Studio
+should lay out the project's source files in the IDE's project view.
+
+`vcpkgtest` should not be touched. It's likely that it will be deleted soon. If
+you want to test your code, use the cmake build system.
+
+## Source Files
+
+If you're modifying the project, it's likely that these are the directories that
+you're going to deal with.
+
+### `include`
+
+There's one file in here -- `pch.h`. This contains most of the C++ standard
+library, and acts as a [precompiled header]. You can read more at the link.
+
+There are three directories:
+
+ - `catch2` -- This contains the single-header library [catch2]. We use this
+ library for both [testing] and [benchmarking].
+ - `vcpkg` -- This contains the header files for the `vcpkg` project. All of
+ the interfaces for building, installing, and generally "port stuff" live
+ here.
+ - `vcpkg/base` -- This contains the interfaces for the
+ "vcpkg standard library" -- file handling, hashing, strings,
+ `Span<T>`, printing, etc.
+ - `vcpkg-test` -- This contains the interfaces for any common utilities
+ required by the tests.
+
+### `src`
+
+The source files live here. `pch.cpp` is the source file for the
+[precompiled header]; `vcpkg.cpp` is where the `vcpkg` binary lives; and
+`vcpkgmetricsuploader.cpp` is where the metrics uploader lives.
+
+The interesting files live in the `vcpkg` and `vcpkg-test` directories. In
+`vcpkg`, you have the implementation for the interfaces that live in
+`include/vcpkg`; and in `vcpkg-test`, you have the tests and benchmarks.
+
+[precompiled header]: https://en.wikipedia.org/wiki/Precompiled_header
+[catch2]: https://github.com/catchorg/Catch2
+[testing]: ./testing.md
+[benchmarking]: ./benchmarking.md
diff --git a/docs/tool-maintainers/testing.md b/docs/tool-maintainers/testing.md
index 28cc9e099..0284a2650 100644
--- a/docs/tool-maintainers/testing.md
+++ b/docs/tool-maintainers/testing.md
@@ -1,13 +1,11 @@
-Testing
-=======
+# Testing
Testing vcpkg is important whenever one makes changes to the tool itself, and
writing new tests and keeping them up to date is also very important. If one's
code is subtly broken, we'd rather find it out right away than a few weeks down
the line when someone complains!
-Running Tests
--------------
+## Running Tests
Before anything else, we should know whether you can actually run the tests!
All you should need is a way to build vcpkg -- anything will do! All you have to
@@ -27,8 +25,7 @@ $ # i.e., ./vcpkg-test [arguments]
If you make any modifications to `vcpkg`, you'll have to do the
`cmake --build .` step again.
-Writing Tests
--------------
+## Writing Tests
In your journey to write new tests, and to modify existing tests, reading the
[Catch2 documentation] will be very helpful! Come back after reading those 😀
@@ -42,8 +39,8 @@ The layout of these tests is as follows:
// ... includes
TEST_CASE("Name of test", "[filename without the .cpp]") {
- // setup and the like
- REQUIRE(some boolean expression);
+ // setup and the like
+ REQUIRE(some boolean expression);
}
// etc.
@@ -67,12 +64,10 @@ Remember to check out the [Catch2 documentation]
if you'd like to get more advanced with your tests,
and good luck on your testing journey!
-Adding New Test Files
----------------------
+## Adding New Test Files
Adding new test files should be easy and straightforward. All it requires is
-creating a new source file in `toolsrc/src/vcpkg-test`, and then rerunning
-`CMake` in order to pick up the glob changes.
+creating a new source file in `toolsrc/src/vcpkg-test`.
### Example
@@ -85,14 +80,9 @@ First, we should create a file, `example.cpp`, in `toolsrc/src/vcpkg-test`:
#include <vcpkg-test/catch.h>
```
-This is the minimum file needed for tests; let's rebuild our CMake directory.
-You'll have to clean out the existing `out` directory for CMake to rerun
-globbing.
+This is the minimum file needed for tests; let's rebuild!
```sh
-$ cmake .. -DCMAKE_BUILD_TYPE=Debug -G Ninja
-# ...
--- Build files have been written to: $VCPKG_DIRECTORY/toolsrc/out
$ cmake --build .
[80/80] Linking CXX executable vcpkg.exe
```
@@ -101,7 +91,7 @@ Okay, now let's make sure this worked; add a test case to `example.cpp`:
```cpp
TEST_CASE("Example 1 - fail", "[example]") {
- REQUIRE(false);
+ REQUIRE(false);
}
```
@@ -123,7 +113,7 @@ $VCPKG_DIRECTORY/toolsrc/src/vcpkg-test/example.cpp(3)
...............................................................................
$VCPKG_DIRECTORY/toolsrc/src/vcpkg-test/example.cpp(14): FAILED:
- REQUIRE( false )
+ REQUIRE( false )
===============================================================================
test cases: 102 | 101 passed | 1 failed
@@ -138,9 +128,9 @@ Now let's try a more complex test, after deleting the old one;
namespace Strings = vcpkg::Strings;
TEST_CASE("Example 2 - success", "[example]") {
- std::string hello = "Hello";
- REQUIRE(Strings::case_insensitive_ascii_equals(hello, "hELLo"));
- REQUIRE_FALSE(Strings::case_insensitive_ascii_starts_with(hello, "E"));
+ std::string hello = "Hello";
+ REQUIRE(Strings::case_insensitive_ascii_equals(hello, "hELLo"));
+ REQUIRE_FALSE(Strings::case_insensitive_ascii_starts_with(hello, "E"));
}
```
diff --git a/ports/abseil/CONTROL b/ports/abseil/CONTROL
index b611fe9e7..63d5e26f0 100644
--- a/ports/abseil/CONTROL
+++ b/ports/abseil/CONTROL
@@ -1,5 +1,5 @@
Source: abseil
-Version: 2019-05-08
+Version: 2019-05-08-1
Homepage: https://github.com/abseil/abseil-cpp
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.
diff --git a/ports/abseil/fix-config.patch b/ports/abseil/fix-config.patch
new file mode 100644
index 000000000..daa5dd3a4
--- /dev/null
+++ b/ports/abseil/fix-config.patch
@@ -0,0 +1,26 @@
+diff --git a/CMake/abslConfig.cmake.in b/CMake/abslConfig.cmake.in
+index 60847fa..4641d44 100644
+--- a/CMake/abslConfig.cmake.in
++++ b/CMake/abslConfig.cmake.in
+@@ -4,4 +4,8 @@ include(FindThreads)
+
+ @PACKAGE_INIT@
+
++include(CMakeFindDependencyMacro)
++
++set_and_check(absl_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
++
+ include ("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
+\ No newline at end of file
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e7587f7..3079534 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -132,6 +132,7 @@ if(ABSL_ENABLE_INSTALL)
+ CMake/abslConfig.cmake.in
+ "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
+ INSTALL_DESTINATION "${ABSL_INSTALL_CONFIGDIR}"
++ PATH_VARS CMAKE_INSTALL_INCLUDEDIR
+ )
+ install(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
+ DESTINATION "${ABSL_INSTALL_CONFIGDIR}"
diff --git a/ports/abseil/portfile.cmake b/ports/abseil/portfile.cmake
index 1c2993332..22f3bc349 100644
--- a/ports/abseil/portfile.cmake
+++ b/ports/abseil/portfile.cmake
@@ -12,7 +12,9 @@ vcpkg_from_github(
REF aa468ad75539619b47979911297efbb629c52e44
SHA512 4254d8599103d8f06b03f60a0386eba07f314184217d0bca404d41fc0bd0a8df287fe6d07158d10cde096af3097aff2ecc1a5e8f7c3046ecf956b5fde709ad1d
HEAD_REF master
- PATCHES fix-usage-lnk-error.patch
+ PATCHES
+ fix-usage-lnk-error.patch
+ fix-config.patch
)
vcpkg_configure_cmake(
@@ -21,7 +23,7 @@ vcpkg_configure_cmake(
)
vcpkg_install_cmake()
-vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/absl)
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/absl TARGET_PATH share/absl)
vcpkg_copy_pdbs()
diff --git a/ports/aixlog/CONTROL b/ports/aixlog/CONTROL
index 12e2a88c9..ba6d2c228 100644
--- a/ports/aixlog/CONTROL
+++ b/ports/aixlog/CONTROL
@@ -1,3 +1,3 @@
Source: aixlog
-Version: 1.2.1
+Version: 1.2.1-1
Description: Header-only C++ logging library
diff --git a/ports/aixlog/portfile.cmake b/ports/aixlog/portfile.cmake
index 4838372d6..64ffb29ef 100644
--- a/ports/aixlog/portfile.cmake
+++ b/ports/aixlog/portfile.cmake
@@ -1,32 +1,16 @@
-# 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 badaix/aixlog
- REF v1.2.1
- SHA512 776558fdd911f0cc9e8d467bf8e00a1930d2e51bb8ccd5f36f95955fefecab65faf575a80fdaacfe83fd32808f8b9c2e0323b16823e0431300df7bc0c1dfde12
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO badaix/aixlog
+ REF v1.2.1
+ SHA512 776558fdd911f0cc9e8d467bf8e00a1930d2e51bb8ccd5f36f95955fefecab65faf575a80fdaacfe83fd32808f8b9c2e0323b16823e0431300df7bc0c1dfde12
)
-
-
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include)
file(COPY ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-
-# Handle copyright
-file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/aixlog)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/aixlog/LICENSE ${CURRENT_PACKAGES_DIR}/share/aixlog/copyright)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
# Post-build test for cmake libraries
# vcpkg_test_cmake(PACKAGE_NAME aixlog)
diff --git a/ports/anyrpc/CONTROL b/ports/anyrpc/CONTROL
new file mode 100644
index 000000000..a6ddb6890
--- /dev/null
+++ b/ports/anyrpc/CONTROL
@@ -0,0 +1,4 @@
+Source: anyrpc
+Version: 2017-12-01
+Homepage: https://github.com/sgieseking/anyrpc
+Description: A multiprotocol remote procedure call system for C++.
diff --git a/ports/anyrpc/arm_endian_detection.patch b/ports/anyrpc/arm_endian_detection.patch
new file mode 100644
index 000000000..5dfa340b0
--- /dev/null
+++ b/ports/anyrpc/arm_endian_detection.patch
@@ -0,0 +1,16 @@
+diff --git a/include/anyrpc/api.h b/include/anyrpc/api.h
+index a67fa32..e7d74ad 100644
+--- a/include/anyrpc/api.h
++++ b/include/anyrpc/api.h
+@@ -158,9 +158,9 @@ typedef int socklen_t;
+ # elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN)
+ # define ANYRPC_ENDIAN ANYRPC_BIGENDIAN
+ // Detect with architecture macros
+-# elif defined(__sparc) || defined(__sparc__) || defined(_POWER) || defined(__powerpc__) || defined(__ppc__) || defined(__hpux) || defined(__hppa) || defined(_MIPSEB) || defined(_POWER) || defined(__s390__)
++# elif defined(__sparc) || defined(__sparc__) || defined(_POWER) || defined(__powerpc__) || defined(__ppc__) || defined(__hpux) || defined(__hppa) || defined(_MIPSEB) || defined(_POWER) || defined(__s390__) || defined(__ARMEB__) || defined(__THUMBEB__) || defined(__AARCH64EB__)
+ # define ANYRPC_ENDIAN ANYRPC_BIGENDIAN
+-# elif defined(__i386__) || defined(__alpha__) || defined(__ia64) || defined(__ia64__) || defined(_M_IX86) || defined(_M_IA64) || defined(_M_ALPHA) || defined(__amd64) || defined(__amd64__) || defined(_M_AMD64) || defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || defined(__bfin__)
++# elif defined(__i386__) || defined(__alpha__) || defined(__ia64) || defined(__ia64__) || defined(_M_IX86) || defined(_M_IA64) || defined(_M_ALPHA) || defined(__amd64) || defined(__amd64__) || defined(_M_AMD64) || defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || defined(__bfin__) || defined(__ARMEL__) || defined(__THUMBEL__) || defined(__AARCH64EL__) || defined(_M_ARM64) || defined(_M_ARM)
+ # define ANYRPC_ENDIAN ANYRPC_LITTLEENDIAN
+ # elif defined(ANYRPC_DOXYGEN_RUNNING)
+ # define ANYRPC_ENDIAN
diff --git a/ports/anyrpc/portfile.cmake b/ports/anyrpc/portfile.cmake
new file mode 100644
index 000000000..34102a24d
--- /dev/null
+++ b/ports/anyrpc/portfile.cmake
@@ -0,0 +1,29 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO sgieseking/anyrpc
+ REF bfd50aa6dd620066ed308258599127cd46be818b
+ SHA512 604e92a2a2936fb95e74e05dd1ac578e67e2877357443d83f8fac319ab244a27d1fac2ebd8bcd9ac8108e7a198752776974027b8f020643bb039b5f84406049b
+ HEAD_REF master
+ PATCHES "arm_endian_detection.patch"
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ANYRPC_LIB_BUILD_SHARED)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_TESTS=OFF
+ -DBUILD_WITH_LOG4CPLUS=OFF
+ -DANYRPC_LIB_BUILD_SHARED=${ANYRPC_LIB_BUILD_SHARED}
+)
+
+vcpkg_install_cmake()
+
+file(INSTALL ${SOURCE_PATH}/license DESTINATION ${CURRENT_PACKAGES_DIR}/share/anyrpc RENAME copyright)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+vcpkg_copy_pdbs()
diff --git a/ports/args/CONTROL b/ports/args/CONTROL
index 8d9d88a50..3751ac06a 100644
--- a/ports/args/CONTROL
+++ b/ports/args/CONTROL
@@ -1,4 +1,4 @@
Source: args
-Version: 2019-05-01
+Version: 2019-07-11
Homepage: https://github.com/Taywee/args
Description: A simple header-only C++ argument parser library.
diff --git a/ports/args/portfile.cmake b/ports/args/portfile.cmake
index a05612ba8..6bab0e186 100644
--- a/ports/args/portfile.cmake
+++ b/ports/args/portfile.cmake
@@ -4,8 +4,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Taywee/args
- REF 623e52cb128cfc572ad4e79de8d5f8861d13d017
- SHA512 b951caed125fd937549db6702de8615eac0f380026ea4de5937721143b0929f5aa47ecc8068b7d9689822d303b25d6350f00a8e6346a53d51a0ea40872488533
+ REF 401663c1d57006566db6d8e5b37a21018fbd0bc3
+ SHA512 2e0506f41ee8527e7fb67c0b926ff892fafe79db90920624c84eb603e374eb74c5640e4d0d0d88554db7a57424095b0da96238b4182ac515ae96dc202df95013
HEAD_REF master
)
diff --git a/ports/argtable3/CONTROL b/ports/argtable3/CONTROL
new file mode 100644
index 000000000..f894b4fc5
--- /dev/null
+++ b/ports/argtable3/CONTROL
@@ -0,0 +1,4 @@
+Source: argtable3
+Version: 2019-08-21
+Description: A single-file, ANSI C, command-line parsing library that parses GNU-style command-line options
+Homepage: www.argtable.org
diff --git a/ports/argtable3/fix-cmake.patch b/ports/argtable3/fix-cmake.patch
new file mode 100644
index 000000000..320e6385e
--- /dev/null
+++ b/ports/argtable3/fix-cmake.patch
@@ -0,0 +1,98 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 57bd7a1..e19e677 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -65,10 +65,6 @@ if(ARGTABLE3_ENABLE_CONAN AND EXISTS "${CMAKE_BINARY_DIR}/conanbuildinfo.cmake")
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath-link,${LINK_FLAGS}")
+ endif()
+
+-if(ARGTABLE3_ENABLE_TESTS)
+- enable_testing()
+-endif()
+-
+ set(ARGTABLE3_AMALGAMATION_SRC_FILE ${PROJECT_SOURCE_DIR}/dist/argtable3.c)
+ set(ARGTABLE3_SRC_FILES
+ ${PROJECT_SOURCE_DIR}/src/arg_cmd.c
+@@ -88,18 +84,11 @@ set(ARGTABLE3_SRC_FILES
+ ${PROJECT_SOURCE_DIR}/src/getopt_long.c
+ )
+
+-# Platform specific settings for installation
+-if(UNIX)
+- include(GNUInstallDirs)
+- set(ARGTABLE3_INSTALL_LIBDIR ${CMAKE_INSTALL_LIBDIR})
+- set(ARGTABLE3_INSTALL_INCLUDEDIR ${CMAKE_INSTALL_INCLUDEDIR})
+- set(ARGTABLE3_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/argtable3)
+-elseif(WIN32)
+- set(ARGTABLE3_INSTALL_LIBDIR "lib")
+- set(ARGTABLE3_INSTALL_INCLUDEDIR "include")
+- set(ARGTABLE3_INSTALL_CMAKEDIR "cmake")
+-endif(UNIX)
+-
+ add_subdirectory(src)
+-add_subdirectory(tests)
++
++if(ARGTABLE3_ENABLE_TESTS)
++ enable_testing()
++ add_subdirectory(tests)
++endif()
++
+ add_subdirectory(examples)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 429b143..f45c071 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -28,9 +28,19 @@
+ # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ ################################################################################
+
+-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c89 -Wpedantic")
+-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
+-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wextra")
++include(GNUInstallDirs)
++
++if(UNIX)
++ set(ARGTABLE3_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/argtable3)
++elseif(WIN32)
++ set(ARGTABLE3_INSTALL_CMAKEDIR "cmake")
++endif(UNIX)
++
++if(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang")
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c89 -Wpedantic")
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wextra")
++endif()
+
+ add_definitions(-D_XOPEN_SOURCE=700)
+
+@@ -46,6 +56,7 @@ if(WIN32)
+ "${PROJECT_BINARY_DIR}/src/version.rc"
+ )
+ add_library(argtable3 SHARED ${ARGTABLE3_SRC_FILES} "${PROJECT_BINARY_DIR}/src/version.rc")
++ target_compile_definitions(argtable3 INTERFACE argtable3_IMPORTS)
+ else()
+ add_library(argtable3 SHARED ${ARGTABLE3_SRC_FILES})
+ endif()
+@@ -57,8 +68,18 @@ target_include_directories(argtable3 PRIVATE ${PROJECT_SOURCE_DIR}/src)
+ set_target_properties(argtable3 argtable3_static PROPERTIES
+ VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
+ SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR})
+-
+-install(TARGETS argtable3 EXPORT ${ARGTABLE3_PACKAGE_NAME}Config DESTINATION ${ARGTABLE3_INSTALL_LIBDIR})
+-install(TARGETS argtable3_static EXPORT ${ARGTABLE3_PACKAGE_NAME}Config ARCHIVE DESTINATION ${ARGTABLE3_INSTALL_LIBDIR})
+-install(FILES "${PROJECT_SOURCE_DIR}/src/argtable3.h" DESTINATION ${ARGTABLE3_INSTALL_INCLUDEDIR})
++if(BUILD_SHARED_LIBS)
++install(TARGETS argtable3
++ EXPORT ${ARGTABLE3_PACKAGE_NAME}Config
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
++else()
++install(TARGETS argtable3_static
++ EXPORT ${ARGTABLE3_PACKAGE_NAME}Config
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
++endif()
++install(FILES "${PROJECT_SOURCE_DIR}/src/argtable3.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+ install(EXPORT ${ARGTABLE3_PACKAGE_NAME}Config DESTINATION ${ARGTABLE3_INSTALL_CMAKEDIR})
diff --git a/ports/argtable3/portfile.cmake b/ports/argtable3/portfile.cmake
new file mode 100644
index 000000000..18d994cc5
--- /dev/null
+++ b/ports/argtable3/portfile.cmake
@@ -0,0 +1,53 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO argtable/argtable3
+ REF bbc4ec20991e87ecf8dcf288aef777b55b78daa7
+ SHA512 050f54ead2d029715d8f10e63ff555027ead61fbfa18bd955e3b99e080f9178ad5c41937c5d62477885143f27bb9e7e505a7120b95bfcd899a60719584191f1c
+ HEAD_REF master
+ PATCHES
+ fix-cmake.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DARGTABLE3_ENABLE_CONAN=OFF
+ -DARGTABLE3_ENABLE_TESTS=OFF
+ -DARGTABLE3_BUILD_STATIC_EXAMPLES=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_copy_pdbs()
+
+if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
+elseif(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/${PORT})
+ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
+endif()
+
+file(COPY
+ ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}
+)
+
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug/include
+)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ vcpkg_replace_string(
+ "${CURRENT_PACKAGES_DIR}/include/argtable3.h"
+ "defined(argtable3_IMPORTS)"
+ "1 // defined(argtable3_IMPORTS)"
+ )
+endif()
+
+# Handle copyright
+configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
+
+# CMake integration test
+vcpkg_test_cmake(PACKAGE_NAME ${PORT})
diff --git a/ports/argtable3/vcpkg-cmake-wrapper.cmake b/ports/argtable3/vcpkg-cmake-wrapper.cmake
new file mode 100644
index 000000000..9000246de
--- /dev/null
+++ b/ports/argtable3/vcpkg-cmake-wrapper.cmake
@@ -0,0 +1,9 @@
+_find_package(${ARGS})
+
+if(TARGET argtable3 AND NOT TARGET argtable3_static)
+ add_library(argtable3_static INTERFACE IMPORTED)
+ set_target_properties(argtable3_static PROPERTIES INTERFACE_LINK_LIBRARIES argtable3)
+elseif(TARGET argtable3_static AND NOT TARGET argtable3)
+ add_library(argtable3 INTERFACE IMPORTED)
+ set_target_properties(argtable3 PROPERTIES INTERFACE_LINK_LIBRARIES argtable3_static)
+endif()
diff --git a/ports/asmjit/CONTROL b/ports/asmjit/CONTROL
index 5387b8a1c..68cb15787 100644
--- a/ports/asmjit/CONTROL
+++ b/ports/asmjit/CONTROL
@@ -1,4 +1,4 @@
Source: asmjit
-Version: 2019-03-29
+Version: 2019-07-11
Homepage: https://github.com/asmjit/asmjit
Description: Complete x86/x64 JIT and Remote Assembler for C++
diff --git a/ports/asmjit/portfile.cmake b/ports/asmjit/portfile.cmake
index fa7a5ed77..d68bb619a 100644
--- a/ports/asmjit/portfile.cmake
+++ b/ports/asmjit/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO asmjit/asmjit
- REF fc251c914e77cd079e58982cdab00a47539d7fc5
- SHA512 3db4ed97ded545994ab2e75df5bb027832c3b7adf44bdabfb89a98af4cc51f5e48d4a353b9e99f205702258dfcec70257d6d6c08db78cec941019b3f8a48232a
+ REF 761130b1d8f32b5d3d612d285664fcfef5258149
+ SHA512 a86fd58ba0c8bc81ec575e86a9acdf4a11f2acc9c2facd2a0a8512cffa9ee6fc0bd877a1f33fb52f8f510eff1de654b45cd4f5f5a18c5252ecae22a92db6e93e
HEAD_REF master
)
diff --git a/ports/atk/CMakeLists.txt b/ports/atk/CMakeLists.txt
index 41937fff9..e26d8649e 100644
--- a/ports/atk/CMakeLists.txt
+++ b/ports/atk/CMakeLists.txt
@@ -28,7 +28,11 @@ execute_process(
OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/atk/atkmarshal.c
)
-configure_file(config.h.win32 ${CMAKE_CURRENT_BINARY_DIR}/config.h COPYONLY)
+if (WIN32)
+ configure_file(config.h.win32 ${CMAKE_CURRENT_BINARY_DIR}/config.h COPYONLY)
+else()
+ configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h @ONLY)
+endif()
add_definitions(-DHAVE_CONFIG_H)
include_directories(. ./atk ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/atk)
@@ -38,8 +42,14 @@ find_library(GLIB_GOBJECT_LIBRARY gobject-${GLIB_LIB_VERSION})
find_library(GLIB_GMODULE_LIBRARY gmodule-${GLIB_LIB_VERSION})
set(GLIB_LIBRARIES ${GLIB_GLIB_LIBRARY} ${GLIB_GOBJECT_LIBRARY} ${GLIB_GMODULE_LIBRARY})
-find_path(LIBINTL_INCLUDE_DIR libintl.h)
-find_library(LIBINTL_LIBRARY NAMES libintl intl)
+if (WIN32 OR APPLE)
+ find_path(LIBINTL_INCLUDE_DIR libintl.h)
+ find_library(LIBINTL_LIBRARY NAMES libintl intl)
+else()
+ find_package(Intl REQUIRED)
+ set(LIBINTL_INCLUDE_DIR ${Intl_INCLUDE_DIRS})
+ set(LIBINTL_LIBRARY ${Intl_LIBRARIES})
+endif()
set(ATK_SOURCES
atk/atkaction.c
diff --git a/ports/atk/CONTROL b/ports/atk/CONTROL
index 66890b039..fe09017e7 100644
--- a/ports/atk/CONTROL
+++ b/ports/atk/CONTROL
@@ -1,5 +1,5 @@
Source: atk
-Version: 2.24.0-3
+Version: 2.24.0-4
Homepage: https://developer.gnome.org/atk/
Description: GNOME Accessibility Toolkit
Build-Depends: glib, gettext
diff --git a/ports/atk/fix-encoding.patch b/ports/atk/fix-encoding.patch
index 8bfb38bd0..c92171a48 100644
--- a/ports/atk/fix-encoding.patch
+++ b/ports/atk/fix-encoding.patch
@@ -1,13 +1,13 @@
-diff --git a/atkversion.h b/atkversion.h
-index 2634b0a..c57db2c 100644
---- a/atkversion.h
-+++ b/atkversion.h
+diff --git a/atk/atkversion.h b/atk/atkversion.h
+index 2634b0a..7bea2f3 100644
+--- a/atk/atkversion.h
++++ b/atk/atkversion.h
@@ -3,7 +3,7 @@
* Copyright (C) 2012 Igalia, S.L.
* Copyright (C) 2014 Chun-wei Fan
*
-- * Author: Alejandro Piñeiro Iglesias <apinheiro@igalia.com>
-+ * Author: Alejandro Piñeiro Iglesias <apinheiro@igalia.com>
+- * Author: Alejandro Pi?eiro Iglesias <apinheiro@igalia.com>
++ * Author: Alejandro Pineiro Iglesias <apinheiro@igalia.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
diff --git a/ports/atk/fix-linux-config.patch b/ports/atk/fix-linux-config.patch
new file mode 100644
index 000000000..ec6a37a8b
--- /dev/null
+++ b/ports/atk/fix-linux-config.patch
@@ -0,0 +1,22 @@
+diff --git a/config.h.in b/config.h.in
+index b94d23f..a26dac8 100644
+--- a/config.h.in
++++ b/config.h.in
+@@ -5,7 +5,7 @@
+ #undef ENABLE_NLS
+
+ /* Define the gettext package to be used */
+-#undef GETTEXT_PACKAGE
++#cmakedefine GETTEXT_PACKAGE "@GETTEXT_PACKAGE@"
+
+ /* Define to 1 if you have the `bind_textdomain_codeset' function. */
+ #undef HAVE_BIND_TEXTDOMAIN_CODESET
+@@ -86,7 +86,7 @@
+ #undef STDC_HEADERS
+
+ /* Version number of package */
+-#undef VERSION
++#cmakedefine VERSION @VERSION@
+
+ /* defines how to decorate public symbols while building */
+ #undef _ATK_EXTERN
diff --git a/ports/atk/portfile.cmake b/ports/atk/portfile.cmake
index c3edfdf74..60ace410d 100644
--- a/ports/atk/portfile.cmake
+++ b/ports/atk/portfile.cmake
@@ -9,10 +9,13 @@ vcpkg_download_distfile(ARCHIVE
FILENAME "atk-${ATK_VERSION}.tar.xz"
SHA512 3ae0a4d5f28d5619d465135c685161f690732053bcb70a47669c951fbf389b5d2ccc5c7c73d4ee8c5a3b2df14e2f5b082e812a215f10a79b27b412d077f5e962)
-vcpkg_extract_source_archive(${ARCHIVE})
-vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH}/atk
+vcpkg_extract_source_archive_ex(
+ ARCHIVE ${ARCHIVE}
+ OUT_SOURCE_PATH SOURCE_PATH
PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/fix-encoding.patch)
+ fix-encoding.patch
+ fix-linux-config.patch
+)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
@@ -21,6 +24,8 @@ vcpkg_configure_cmake(
PREFER_NINJA
OPTIONS
-DCMAKE_PROGRAM_PATH=${CURRENT_INSTALLED_DIR}/tools/glib
+ -DGETTEXT_PACKAGE=atk10
+ -DVERSION=10
OPTIONS_DEBUG
-DATK_SKIP_HEADERS=ON)
diff --git a/ports/aws-c-common/CONTROL b/ports/aws-c-common/CONTROL
index f9e0fc9af..908c7e16a 100644
--- a/ports/aws-c-common/CONTROL
+++ b/ports/aws-c-common/CONTROL
@@ -1,3 +1,3 @@
Source: aws-c-common
-Version: 0.3.11-1
+Version: 0.4.1
Description: AWS common library for C
diff --git a/ports/aws-c-common/disable-error-4068.patch b/ports/aws-c-common/disable-error-4068.patch
new file mode 100644
index 000000000..60720cd67
--- /dev/null
+++ b/ports/aws-c-common/disable-error-4068.patch
@@ -0,0 +1,15 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 263d34e..8c699b7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -122,6 +122,10 @@ if (UNIX AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} MATCHES FreeBSD)
+ target_compile_definitions(${CMAKE_PROJECT_NAME} PRIVATE -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=500)
+ endif()
+
++if (WIN32)
++ add_compile_options(/wd4068)
++endif()
++
+ aws_add_sanitizers(${CMAKE_PROJECT_NAME} BLACKLIST "sanitizer-blacklist.txt")
+ target_link_libraries(${CMAKE_PROJECT_NAME} PUBLIC ${PLATFORM_LIBS})
+
diff --git a/ports/aws-c-common/disable-internal-crt-option.patch b/ports/aws-c-common/disable-internal-crt-option.patch
index d82a00aaa..fccb607cf 100644
--- a/ports/aws-c-common/disable-internal-crt-option.patch
+++ b/ports/aws-c-common/disable-internal-crt-option.patch
@@ -1,11 +1,12 @@
diff --git a/cmake/AwsCFlags.cmake b/cmake/AwsCFlags.cmake
-index 5ceb11c..9d0aa12 100644
+index 0f597d7..1359b8b 100644
--- a/cmake/AwsCFlags.cmake
+++ b/cmake/AwsCFlags.cmake
-@@ -38,15 +38,6 @@ function(aws_set_common_properties target)
- # Disable unknown pragma warnings
- list(APPEND AWS_C_FLAGS /wd4068)
-
+@@ -35,15 +35,6 @@ function(aws_set_common_properties target)
+ # /volatile:iso relaxes some implicit memory barriers that MSVC normally applies for volatile accesses
+ # Since we want to be compatible with user builds using /volatile:iso, use it for the tests.
+ list(APPEND AWS_C_FLAGS /volatile:iso)
+-
- string(TOUPPER "${CMAKE_BUILD_TYPE}" _CMAKE_BUILD_TYPE)
- if(STATIC_CRT)
- string(REPLACE "/MD" "/MT" _FLAGS "${CMAKE_C_FLAGS_${_CMAKE_BUILD_TYPE}}")
@@ -14,7 +15,6 @@ index 5ceb11c..9d0aa12 100644
- endif()
- string(REPLACE " " ";" _FLAGS "${_FLAGS}")
- list(APPEND AWS_C_FLAGS "${_FLAGS}")
--
+
else()
list(APPEND AWS_C_FLAGS -Wall -Werror -Wstrict-prototypes)
-
diff --git a/ports/aws-c-common/fix-dependencey-build-error.patch b/ports/aws-c-common/fix-dependencey-build-error.patch
deleted file mode 100644
index cfbf2611c..000000000
--- a/ports/aws-c-common/fix-dependencey-build-error.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/include/aws/common/byte_buf.h b/include/aws/common/byte_buf.h
-index 545b06d..c579c82 100644
---- a/include/aws/common/byte_buf.h
-+++ b/include/aws/common/byte_buf.h
-@@ -21,6 +21,8 @@
-
- #include <string.h>
-
-+#pragma warning(disable: 4068)
-+
- /**
- * Represents a length-delimited binary string or buffer. If byte buffer points
- * to constant memory or memory that should otherwise not be freed by this
diff --git a/ports/aws-c-common/portfile.cmake b/ports/aws-c-common/portfile.cmake
index 53d85abb0..eed8e1d56 100644
--- a/ports/aws-c-common/portfile.cmake
+++ b/ports/aws-c-common/portfile.cmake
@@ -3,11 +3,11 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO awslabs/aws-c-common
- REF v0.3.11
- SHA512 da845f748aecfff61209f542f4eac8d46738af52ce980d5c8315397f859429dfd9e4bf989ddf2fbe938d1efb33dce9c531c92cbe53388b1d1082d5caa97e8750
+ REF b2e7ca47449571beaca4a507c65ac3ee39d8eefc
+ SHA512 c9dc394bf3ef8eb33d36b81bae5a2002a8fccc7d876ad9c631da818aae7d06846615791c2311e8baa6efa7fcd9d565effabfec6f01767ca0099c6fa64d58e2fa
HEAD_REF master
PATCHES
- fix-dependencey-build-error.patch # This patch fixes dependency port compilation failure
+ disable-error-4068.patch # This patch fixes dependency port compilation failure
disable-internal-crt-option.patch # Disable internal crt option because vcpkg contains crt processing flow
)
diff --git a/ports/aws-sdk-cpp/CONTROL b/ports/aws-sdk-cpp/CONTROL
index 81078404f..9498ef40b 100644
--- a/ports/aws-sdk-cpp/CONTROL
+++ b/ports/aws-sdk-cpp/CONTROL
@@ -1,5 +1,5 @@
Source: aws-sdk-cpp
-Version: 1.7.116
+Version: 1.7.142
Homepage: https://github.com/aws/aws-sdk-cpp
Description: AWS SDK for C++
Build-Depends: openssl (!uwp&!windows), curl (!uwp&!windows), aws-c-event-stream
diff --git a/ports/aws-sdk-cpp/portfile.cmake b/ports/aws-sdk-cpp/portfile.cmake
index dc7bc19fc..729decc48 100644
--- a/ports/aws-sdk-cpp/portfile.cmake
+++ b/ports/aws-sdk-cpp/portfile.cmake
@@ -10,8 +10,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO aws/aws-sdk-cpp
- REF 1.7.116
- SHA512 2d10aebf1c10bb7e7a0efa1fd930b8743d9bce1d7d36f72c55fd13612be4fd30cf0a67ebe4f8d7c05146306084b10d8657ff26ac3bafaaa9efaa4c67707acb49
+ REF d3ee022fea02e8e7e02f3cdd77904dc4c39ab79a
+ SHA512 6f146830f15864bb3770ad50a6ebcbc478235e9c2c59aa044353bbfc297bf26437e07b77b970974cc294782809aaa837a3407cbc846426b04e97447cd7f9e3cf
HEAD_REF master
)
diff --git a/ports/beast/CONTROL b/ports/beast/CONTROL
index 0c889b941..d2f2fd896 100644
--- a/ports/beast/CONTROL
+++ b/ports/beast/CONTROL
@@ -1,4 +1,5 @@
Source: beast
Version: 0
+Homepage: https://www.boost.org/doc/libs/release/libs/beast/
Build-Depends: boost-beast
Description: HTTP/1 and WebSocket, header-only using Boost.Asio and C++11
diff --git a/ports/bitsery/CONTROL b/ports/bitsery/CONTROL
index 3da15a785..63ebade47 100644
--- a/ports/bitsery/CONTROL
+++ b/ports/bitsery/CONTROL
@@ -1,3 +1,3 @@
Source: bitsery
-Version: 4.6.0
+Version: 5.0.0
Description: Header only C++ binary serialization library
diff --git a/ports/bitsery/portfile.cmake b/ports/bitsery/portfile.cmake
index bf3604a64..8900f27b0 100644
--- a/ports/bitsery/portfile.cmake
+++ b/ports/bitsery/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO fraillt/bitsery
- REF v4.6.0
- SHA512 519aec8730f4b6f8d26aff17d984101990ade02888664eb2c40bc1085e4dcffbbe83b08216149da234c8195d1940ec06744f16312f60e362f7005b205aa829a6
+ REF f85dff74151530fb05241877e3c80afab5891467
+ SHA512 27dc79e80224f1429fccbbff75d9562e19db60a50567cb66c7999587cbf4a0b8344e3865ec804c63d05e041377dcc30de6fdc5ddfb99c779894ddd811f0d4a71
HEAD_REF master
PATCHES fix-install-paths.patch
)
diff --git a/ports/blaze/CONTROL b/ports/blaze/CONTROL
index 8e91f8df6..88f72d178 100644
--- a/ports/blaze/CONTROL
+++ b/ports/blaze/CONTROL
@@ -1,5 +1,5 @@
Source: blaze
-Version: 3.5
+Version: 3.6
Build-Depends: clapack (!osx), boost-exception
Homepage: https://bitbucket.org/blaze-lib/blaze
Description: Blaze is an open-source, high-performance C++ math library for dense and sparse arithmetic.
diff --git a/ports/blaze/portfile.cmake b/ports/blaze/portfile.cmake
index 216a90109..c9408768c 100644
--- a/ports/blaze/portfile.cmake
+++ b/ports/blaze/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_bitbucket(
OUT_SOURCE_PATH SOURCE_PATH
REPO blaze-lib/blaze
- REF cac64f2b35002f74a8ad2410ce6fb562b2cd2371
- SHA512 89381d77e518cdea40b0aa5013b8c74cbd737a2ce8d2d6869df1789a8154d2170c692ce04cae907704808fcff4a52fe0860d3fa2ee898780ce650a294b10894f
+ REF 51fff70fcc70c8bcb167b5daa497babf51b7603e
+ SHA512 7048720d1842a0a8e621f6878c43942664523f889f2659f4334c7428d1177a5a226c95bcb5f84b93cae87c61e188bf91dc2429b1ddfc7b6a7b8eb74ab8c0a1ec
HEAD_REF master
PATCHES
avoid-src-dir-generation.patch
diff --git a/ports/blend2d/CONTROL b/ports/blend2d/CONTROL
index 1854d3862..a589a4ee9 100644
--- a/ports/blend2d/CONTROL
+++ b/ports/blend2d/CONTROL
@@ -1,5 +1,5 @@
Source: blend2d
-Version: beta_2019-07-16
+Version: beta_2019-10-09
Description: Beta 2D Vector Graphics Powered by a JIT Compiler
Default-Features: jit, logging
diff --git a/ports/blend2d/portfile.cmake b/ports/blend2d/portfile.cmake
index 39f665afd..6e4705b2f 100644
--- a/ports/blend2d/portfile.cmake
+++ b/ports/blend2d/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO blend2d/blend2d
- REF 934d07161971aeef5c4ac3b15e69ff57929445ac
- SHA512 71b17611c20a8a7d27a37b0984918ce4ed608d8d2d053d116cd4c0ca9b7fcad742f39ef9939d9addf600113c2ad399d1dc4ee72b5f036ccda58b7d4237316928
+ REF 60bb0a03199b406dac92cfaa07d026cd8be2df34
+ SHA512 eb214f39be5285e2fcea494ecb461723420763fea14e0ffd3ee96618f0256b5da25e4c74e2914d0722d44cc75ccaa5fd91a1731b427b884dd829107a5e8d5c55
HEAD_REF master
)
@@ -21,8 +21,8 @@ if(NOT BLEND2D_BUILD_NO_JIT)
vcpkg_from_github(
OUT_SOURCE_PATH ASMJIT_SOURCE_PATH
REPO asmjit/asmjit
- REF 5d40561d14f93dc45613bfa03155d1dfb4f5825a
- SHA512 88f16fc1ff8e9eb1b8d7441d7bd2e08d238a2104f3de94aaa16972faac704bf526996fa1556a3831701fb370f051df6839b4058690cf2f49ea5aeb1224c84fe0
+ REF 238243530a35f5ad6205695ff0267b8bd639543a
+ SHA512 fd7936d3de5eabba35f4eb2d91f1833ab29c2ca34d9a89de674373f8101888ca9594bae34eb9eb02a9552fbf1785cdbf913a34db1865f9f56d39ce32aa951df7
HEAD_REF master
)
diff --git a/ports/boost/CONTROL b/ports/boost/CONTROL
index 54dfc3c7a..44c44fbf0 100644
--- a/ports/boost/CONTROL
+++ b/ports/boost/CONTROL
@@ -3,7 +3,33 @@ Source: boost
Version: 1.70.0
Homepage: https://boost.org
Description: Peer-reviewed portable C++ source libraries
-Build-Depends: boost-accumulators, boost-algorithm, boost-align, boost-any, boost-array, boost-asio, boost-assert, boost-assign, boost-atomic, boost-beast, boost-bimap, boost-bind, boost-callable-traits, boost-chrono, boost-circular-buffer, boost-compatibility, boost-compute, boost-concept-check, boost-config, boost-container, boost-container-hash, boost-context (!uwp), boost-contract (!arm), boost-conversion, boost-convert, boost-core, boost-coroutine (!uwp), boost-coroutine2, boost-crc, boost-date-time, boost-detail, boost-disjoint-sets, boost-dll, boost-dynamic-bitset, boost-endian, boost-exception, boost-fiber (windows), boost-filesystem (!uwp), boost-flyweight, boost-foreach, boost-format, boost-function, boost-functional, boost-function-types, boost-fusion, boost-geometry, boost-gil, boost-graph, boost-graph-parallel, boost-hana, boost-heap, boost-histogram, boost-hof, boost-icl, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-iostreams (!uwp), boost-iterator, boost-lambda, boost-lexical-cast, boost-locale (!uwp), boost-local-function, boost-lockfree, boost-log (!uwp), boost-logic, boost-math, boost-metaparse, boost-move, boost-mp11, boost-mpl, boost-msm, boost-multiprecision, boost-multi-array, boost-multi-index, boost-numeric-conversion, boost-interval, boost-odeint, boost-ublas, boost-safe-numerics, boost-optional, boost-outcome, boost-parameter, boost-parameter-python (windows), boost-phoenix, boost-polygon, boost-poly-collection, boost-pool, boost-predef, boost-preprocessor, boost-process, boost-program-options, boost-property-map, boost-property-tree, boost-proto, boost-ptr-container, boost-python (windows), boost-qvm, boost-random, boost-range, boost-ratio, boost-rational, boost-regex, boost-numeric-conversion, boost-interval, boost-odeint, boost-ublas, boost-safe-numerics, boost-scope-exit, boost-serialization, boost-signals2, boost-smart-ptr, boost-sort, boost-spirit, boost-stacktrace (!uwp), boost-statechart, boost-static-assert, boost-system, boost-test (!uwp), boost-thread (!arm), boost-throw-exception, boost-timer, boost-tokenizer, boost-tti, boost-tuple, boost-typeof, boost-type-erasure (!arm), boost-type-index, boost-type-traits, boost-units, boost-unordered, boost-utility, boost-uuid, boost-variant, boost-vmd, boost-wave (!uwp), boost-winapi, boost-xpressive, boost-yap
+Build-Depends: boost-accumulators, boost-algorithm, boost-align, boost-any, boost-array,
+ boost-asio, boost-assert, boost-assign, boost-atomic, boost-beast, boost-bimap, boost-bind,
+ boost-callable-traits, boost-chrono, boost-circular-buffer, boost-compatibility,
+ boost-compute, boost-concept-check, boost-config, boost-container, boost-container-hash,
+ boost-context (!uwp), boost-contract (!arm), boost-conversion, boost-convert, boost-core,
+ boost-coroutine (!uwp), boost-coroutine2, boost-crc, boost-date-time, boost-detail,
+ boost-disjoint-sets, boost-dll, boost-dynamic-bitset, boost-endian, boost-exception,
+ boost-fiber (windows), boost-filesystem (!uwp), boost-flyweight, boost-foreach, boost-format,
+ boost-function, boost-functional, boost-function-types, boost-fusion, boost-geometry,
+ boost-gil, boost-graph, boost-graph-parallel, boost-hana, boost-heap, boost-histogram,
+ boost-hof, boost-icl, boost-integer, boost-interprocess, boost-intrusive, boost-io,
+ boost-iostreams (!uwp), boost-iterator, boost-lambda, boost-lexical-cast, boost-locale (!uwp),
+ boost-local-function, boost-lockfree, boost-log (!uwp), boost-logic, boost-math,
+ boost-metaparse, boost-move, boost-mp11, boost-mpl, boost-msm, boost-multiprecision,
+ boost-multi-array, boost-multi-index, boost-numeric-conversion, boost-interval, boost-odeint,
+ boost-ublas, boost-safe-numerics, boost-optional, boost-outcome, boost-parameter,
+ boost-parameter-python (windows), boost-phoenix, boost-polygon, boost-poly-collection,
+ boost-pool, boost-predef, boost-preprocessor, boost-process, boost-program-options,
+ boost-property-map, boost-property-tree, boost-proto, boost-ptr-container,
+ boost-python (windows), boost-qvm, boost-random, boost-range, boost-ratio, boost-rational,
+ boost-regex, boost-numeric-conversion, boost-interval, boost-odeint, boost-ublas,
+ boost-safe-numerics, boost-scope-exit, boost-serialization, boost-signals2, boost-smart-ptr,
+ boost-sort, boost-spirit, boost-stacktrace (!uwp), boost-statechart, boost-static-assert,
+ boost-system, boost-test (!uwp), boost-thread (!arm), boost-throw-exception, boost-timer,
+ boost-tokenizer, boost-tti, boost-tuple, boost-typeof, boost-type-erasure (!arm),
+ boost-type-index, boost-type-traits, boost-units, boost-unordered, boost-utility, boost-uuid,
+ boost-variant, boost-vmd, boost-wave (!uwp), boost-winapi, boost-xpressive, boost-yap
Feature: mpi
Description: Build with MPI support
diff --git a/ports/botan/CONTROL b/ports/botan/CONTROL
index 48ee01549..e96ef2ff5 100644
--- a/ports/botan/CONTROL
+++ b/ports/botan/CONTROL
@@ -1,4 +1,4 @@
Source: botan
-Version: 2.9.0-2
+Version: 2.11.0
Homepage: https://botan.randombit.net
Description: A cryptography library written in C++11
diff --git a/ports/botan/fix-build_error.patch b/ports/botan/fix-build_error.patch
deleted file mode 100644
index 85cae86b0..000000000
--- a/ports/botan/fix-build_error.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/src/lib/utils/filesystem.cpp b/src/lib/utils/filesystem.cpp
-index 053c91e..8e0a271 100644
---- a/src/lib/utils/filesystem.cpp
-+++ b/src/lib/utils/filesystem.cpp
-@@ -9,8 +9,10 @@
- #include <botan/internal/filesystem.h>
- #include <algorithm>
-
-+#define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING
-+
- #if defined(BOTAN_TARGET_OS_HAS_STL_FILESYSTEM_MSVC) && defined(BOTAN_BUILD_COMPILER_IS_MSVC)
-- #include <filesystem>
-+ #include <experimental/filesystem>
- #elif defined(BOTAN_HAS_BOOST_FILESYSTEM)
- #include <boost/filesystem.hpp>
- #elif defined(BOTAN_TARGET_OS_HAS_POSIX1)
-@@ -38,7 +40,7 @@ std::vector<std::string> impl_stl_filesystem(const std::string& dir)
- #if (_MSVC_LANG >= 201703L)
- using namespace std::filesystem;
- #else
-- using namespace std::tr2::sys;
-+ using namespace std::experimental::filesystem;
- #endif
-
- std::vector<std::string> out;
diff --git a/ports/botan/portfile.cmake b/ports/botan/portfile.cmake
index 6d0c81c8d..170b399ce 100644
--- a/ports/botan/portfile.cmake
+++ b/ports/botan/portfile.cmake
@@ -1,15 +1,13 @@
include(vcpkg_common_functions)
-set(BOTAN_VERSION 2.9.0)
+set(BOTAN_VERSION 2.11.0)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO randombit/botan
- REF 0129d3172ec419beb90a2b3487f6385a35da0742
- SHA512 a8328df5ad2693a96935d1d2202ddd6678a5ba9c63a8159acbe56f1c884fa5faaa71339e8f56284cfd00574a9b4f91bdb1fb22c36c8e899d9b4cbe881f4867d3
+ REF 16a726c3ad10316bd8d37b6118a5cc52894e8e8f
+ SHA512 3d759fb262d65f7d325a1e888f74cb1c372ef687b0fcc6fc6ba041b83e3dc65c2928b343c65a89e73ea00c09d11cdda3a161ca98dbabe426903c4cbaf030767c
HEAD_REF master
- PATCHES
- fix-build_error.patch
)
if(CMAKE_HOST_WIN32)
diff --git a/ports/breakpad/CONTROL b/ports/breakpad/CONTROL
index 0f6ba1dcb..b701aa69f 100644
--- a/ports/breakpad/CONTROL
+++ b/ports/breakpad/CONTROL
@@ -1,5 +1,5 @@
Source: breakpad
-Version: 2019-05-08
+Version: 2019-07-11-1
Build-Depends: libdisasm
Homepage: https://github.com/google/breakpad
Description: a set of client and server components which implement a crash-reporting system.
diff --git a/ports/breakpad/fix-unique_ptr.patch b/ports/breakpad/fix-unique_ptr.patch
new file mode 100644
index 000000000..4f81de3d9
--- /dev/null
+++ b/ports/breakpad/fix-unique_ptr.patch
@@ -0,0 +1,13 @@
+diff --git a/src/common/windows/pe_util.cc b/src/common/windows/pe_util.cc
+index 9f9e8fa..d912635 100644
+--- a/src/common/windows/pe_util.cc
++++ b/src/common/windows/pe_util.cc
+@@ -28,7 +28,7 @@
+ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ #include "pe_util.h"
+-
++#include <memory>
+ #include <windows.h>
+ #include <winnt.h>
+ #include <atlbase.h>
diff --git a/ports/breakpad/portfile.cmake b/ports/breakpad/portfile.cmake
index 9bab01f23..a5c3022f9 100644
--- a/ports/breakpad/portfile.cmake
+++ b/ports/breakpad/portfile.cmake
@@ -5,9 +5,11 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/breakpad
- REF 21b48a72aa50dde84149267f6b7402522b846b24
- SHA512 4ca2f877871c0a79c24ce4cc592dddb3ac4c2eac2a5962dad6d3d94edc91ac82afec3d7e4e7f81e7d9916eb83f8708e66759c38a6ef0e1b2c19691dd1518558a
+ REF c46151db0ffd1a8dae914e45f1212ef427f61ed3
+ SHA512 bd9f247851a3caa6f36574c8a243c2a01cb1cf23c2266b6f6786b85c7418dba5937363c00184e26cda24225f96bb7aaeb08efd13d6a269a3b78c357c2eda7e14
HEAD_REF master
+ PATCHES
+ fix-unique_ptr.patch
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
diff --git a/ports/cairo/CMakeLists.txt b/ports/cairo/CMakeLists.txt
index 750a9850d..eea64b96c 100644
--- a/ports/cairo/CMakeLists.txt
+++ b/ports/cairo/CMakeLists.txt
@@ -190,6 +190,10 @@ endif()
add_library(cairo ${SOURCES})
+if (WITH_X11)
+ target_compile_definitions(cairo PUBLIC -DCAIRO_HAS_XLIB_SURFACE=1)
+endif()
+
target_link_libraries(cairo PRIVATE ZLIB::ZLIB PNG::PNG Freetype::Freetype unofficial::pixman::pixman-1 unofficial::fontconfig::fontconfig)
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
@@ -224,6 +228,10 @@ if(MSVC)
)
endif()
+if (CAIRO_HAS_XLIB_SURFACE)
+ file(INSTALL cairo-xlib.h DESTINATION include)
+endif()
+
install(TARGETS cairo cairo-gobject
EXPORT cairo-targets
RUNTIME DESTINATION bin
diff --git a/ports/cairo/CONTROL b/ports/cairo/CONTROL
index d53d5003d..e9d494235 100644
--- a/ports/cairo/CONTROL
+++ b/ports/cairo/CONTROL
@@ -1,5 +1,8 @@
Source: cairo
-Version: 1.16.0-1
+Version: 1.16.0-2
Homepage: https://cairographics.org
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
+
+Feature: x11
+Description: build with x11 support \ No newline at end of file
diff --git a/ports/cairo/portfile.cmake b/ports/cairo/portfile.cmake
index ed120f07f..f5b1f35f8 100644
--- a/ports/cairo/portfile.cmake
+++ b/ports/cairo/portfile.cmake
@@ -18,9 +18,21 @@ vcpkg_extract_source_archive_ex(
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/src)
file(COPY ${CURRENT_PORT_DIR}/cairo-features.h DESTINATION ${SOURCE_PATH}/src)
+if ("x11" IN_LIST FEATURES)
+ if (VCPKG_TARGET_IS_WINDOWS)
+ message(FATAL_ERROR "Feature x11 only support UNIX.")
+ endif()
+ message(WARNING "You will need to install Xorg dependencies to use feature x11:\napt install libx11-dev libxft-dev\n")
+endif()
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ x11 WITH_X11
+)
+
vcpkg_configure_cmake(
PREFER_NINJA
SOURCE_PATH ${SOURCE_PATH}/src
+ OPTIONS ${FEATURE_OPTIONS}
)
vcpkg_install_cmake()
diff --git a/ports/casclib/CONTROL b/ports/casclib/CONTROL
index 4622f5200..9c0a083ba 100644
--- a/ports/casclib/CONTROL
+++ b/ports/casclib/CONTROL
@@ -1,4 +1,4 @@
Source: casclib
-Version: 1.50-1
+Version: 1.50b-1
Build-Depends: zlib
Description: An open-source implementation of library for reading CASC storage from Blizzard games since 2014
diff --git a/ports/casclib/ctype_for_mac.patch b/ports/casclib/ctype_for_mac.patch
index 30f790c1f..dc1a67dff 100644
--- a/ports/casclib/ctype_for_mac.patch
+++ b/ports/casclib/ctype_for_mac.patch
@@ -1,16 +1,11 @@
diff --git a/src/CascPort.h b/src/CascPort.h
-index 87a2f2f..da74aef 100644
+index 3bd08d4..201f7dd 100644
--- a/src/CascPort.h
+++ b/src/CascPort.h
-@@ -79,14 +79,19 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/mman.h>
-- #include <unistd.h>
- #include <fcntl.h>
-- #include <stdlib.h>
+@@ -85,10 +85,17 @@
+ #include <stdlib.h>
#include <dirent.h>
-- #include <errno.h>
+ #include <errno.h>
+ #include <unistd.h>
#include <stddef.h>
+ #include <stdint.h>
@@ -18,7 +13,7 @@ index 87a2f2f..da74aef 100644
+ #include <stdio.h>
+ #include <stdarg.h>
#include <string.h>
-+ #include <ctype.h>
+ #include <ctype.h>
+ #include <wchar.h>
#include <cassert>
+ #include <errno.h>
diff --git a/ports/casclib/portfile.cmake b/ports/casclib/portfile.cmake
index 9604ac618..fb2fd77eb 100644
--- a/ports/casclib/portfile.cmake
+++ b/ports/casclib/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ladislav-zezula/CascLib
- REF 1.50
- SHA512 7e95e314f09e504566e6fa2b1742f986d17526fb0283af8ffb77681338c9a852d369cbd863512a20ddd3a277d10a9bf701d745f500a717826dd08e201eb6d80e
+ REF 1.50b
+ SHA512 f32cc592f454db4815c0dfd18a9c0076d85b1582e6974d241d1d4094269c42a978fa42186504988ced2c8f4a0b598f41e3ec8a95ddc3c0551af997e37708b1f5
HEAD_REF master
PATCHES
ctype_for_mac.patch
diff --git a/ports/cello/CMakeLists.txt b/ports/cello/CMakeLists.txt
new file mode 100644
index 000000000..b54507f07
--- /dev/null
+++ b/ports/cello/CMakeLists.txt
@@ -0,0 +1,26 @@
+cmake_minimum_required(VERSION 3.14)
+
+project(cello LANGUAGES C)
+
+include(GNUInstallDirs)
+
+file(GLOB cello_sources src/*.c)
+add_library(cello ${cello_sources})
+
+target_include_directories(
+ cello
+ PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+)
+
+set_target_properties(cello PROPERTIES PUBLIC_HEADER include/Cello.h)
+
+install(TARGETS cello EXPORT unofficial-cello-config)
+
+install(
+ EXPORT unofficial-cello-config
+ NAMESPACE unofficial::cello::
+ DESTINATION share/unofficial-cello
+ PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
+)
diff --git a/ports/cello/CONTROL b/ports/cello/CONTROL
new file mode 100644
index 000000000..6ea9d2bce
--- /dev/null
+++ b/ports/cello/CONTROL
@@ -0,0 +1,4 @@
+Source: cello
+Version: 2019-07-23
+Description: Higher level programming in C
+Homepage: http://libcello.org/
diff --git a/ports/cello/portfile.cmake b/ports/cello/portfile.cmake
new file mode 100644
index 000000000..e71e53332
--- /dev/null
+++ b/ports/cello/portfile.cmake
@@ -0,0 +1,32 @@
+include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO orangeduck/Cello
+ REF da28eefbc95d8bd5628e5f1c4cc12bc1b13fef4f
+ SHA512 64825cf37223dd679b379d78475218a543690c3b78333acb906d42982261df4b9ada3a87bea183fad5e2cf220311904e657b0bf5051b141c389d5ee1d2974e5b
+ HEAD_REF master
+)
+
+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()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT})
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
+
+# CMake integration test
+vcpkg_test_cmake(PACKAGE_NAME unofficial-${PORT})
diff --git a/ports/cgicc/CMakeLists.txt b/ports/cgicc/CMakeLists.txt
index 0a9ad3e13..a6533315b 100644
--- a/ports/cgicc/CMakeLists.txt
+++ b/ports/cgicc/CMakeLists.txt
@@ -42,8 +42,8 @@ check_include_files (sys/types.h HAVE_SYS_TYPES_H)
check_include_files (sys/utsname.h HAVE_SYS_UTSNAME_H)
check_symbol_exists (uname sys/utsname.h HAVE_UNAME)
check_include_files (unistd.h HAVE_UNISTD_H)
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cgicc/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cgicc/CgiDefs.h.in ${CMAKE_CURRENT_BINARY_DIR}/CgiDefs.h)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cgicc/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h @ONLY)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cgicc/CgiDefs.h.in ${CMAKE_CURRENT_BINARY_DIR}/CgiDefs.h @ONLY)
add_definitions (-DHAVE_CONFIG_H)
set (cgicc_SOURCES
cgicc/CgiEnvironment.cpp
diff --git a/ports/cgicc/CONTROL b/ports/cgicc/CONTROL
index 1e3716e0e..551d3ca13 100644
--- a/ports/cgicc/CONTROL
+++ b/ports/cgicc/CONTROL
@@ -1,4 +1,4 @@
Source: cgicc
-Version: 3.2.19-2
+Version: 3.2.19-3
Homepage: https://www.gnu.org/software/cgicc/
Description: GNU Cgicc is an ANSI C++ compliant class library that greatly simplifies the creation of CGI applications for the World Wide Web
diff --git a/ports/cgicc/fix-define.patch b/ports/cgicc/fix-define.patch
new file mode 100644
index 000000000..2c3f9bca1
--- /dev/null
+++ b/ports/cgicc/fix-define.patch
@@ -0,0 +1,22 @@
+diff --git a/cgicc/config.h.in b/cgicc/config.h.in
+index 6870cc2..ee7b5b4 100644
+--- a/cgicc/config.h.in
++++ b/cgicc/config.h.in
+@@ -76,7 +76,7 @@
+ #undef HAVE__BOOL
+
+ /* The host system cgicc was configured for */
+-#undef HOST
++#cmakedefine HOST "@HOST@"
+
+ /* Define to the sub-directory where libtool stores uninstalled libraries. */
+ #undef LT_OBJDIR
+@@ -106,7 +106,7 @@
+ #undef STDC_HEADERS
+
+ /* Version number of package */
+-#undef VERSION
++#cmakedefine VERSION "@VERSION@"
+
+ /* 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. */
diff --git a/ports/cgicc/portfile.cmake b/ports/cgicc/portfile.cmake
index 24447e884..845baef76 100644
--- a/ports/cgicc/portfile.cmake
+++ b/ports/cgicc/portfile.cmake
@@ -9,17 +9,24 @@ vcpkg_download_distfile(ARCHIVE
FILENAME "cgicc-3.2.19.tar.gz"
SHA512 c361923cf3ac876bc3fc94dffd040d2be7cd44751d8534f4cfa3545e9f58a8ec35ebcd902a8ce6a19da0efe52db67506d8b02e5cc868188d187ce3092519abdf
)
-vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_extract_source_archive_ex(
+ ARCHIVE ${ARCHIVE}
+ OUT_SOURCE_PATH SOURCE_PATH
+ PATCHES fix-define.patch
+)
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
+ OPTIONS_DEBUG
+ -DDISABLE_INSTALL_HEADERS=ON
+ -DDISABLE_INSTALL_TOOLS=ON
)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
# Handle copyright
-file(INSTALL ${SOURCE_PATH}/COPYING.DOC DESTINATION ${CURRENT_PACKAGES_DIR}/share/cgicc RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/COPYING.DOC DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/cgl/CMakeLists.txt b/ports/cgl/CMakeLists.txt
new file mode 100644
index 000000000..b3c1ca827
--- /dev/null
+++ b/ports/cgl/CMakeLists.txt
@@ -0,0 +1,143 @@
+cmake_minimum_required(VERSION 3.11)
+
+project(Cgl LANGUAGES C CXX)
+
+set(PROJECT_VERSION 0.60.2)
+set(PROJECT_VERSION_MAJOR 0)
+set(PROJECT_VERSION_MINOR 60)
+set(PROJECT_VERSION_PATCH 2)
+
+set(CMAKE_CXX_STANDARD 14)
+
+set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed")
+set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed")
+set(INSTALL_INCLUDE_DIR "include/Coin" CACHE PATH "Path where headers will be installed")
+set(INSTALL_CMAKE_DIR "share/cgl" CACHE PATH "Path where cmake configs will be installed")
+
+# Make relative paths absolute (needed later on)
+set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR})
+foreach(p LIB BIN INCLUDE CMAKE)
+ set(var INSTALL_${p}_DIR)
+ if(NOT IS_ABSOLUTE "${${var}}")
+ set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}")
+ endif()
+endforeach()
+
+if(MSVC)
+ set(
+ CMAKE_CXX_FLAGS
+ "${CMAKE_CXX_FLAGS} /bigobj /MP /wd4996 /wd4819 /wd4251 /wd4267 /wd4244 /wd4275"
+ )
+endif()
+
+if(APPLE)
+ set(
+ CMAKE_CXX_FLAGS
+ "${CMAKE_CXX_FLAGS} -Wno-inconsistent-missing-override -Wno-unused-command-line-argument -Wno-unused-result -Wno-exceptions"
+ )
+ set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9"
+ CACHE STRING "Minimum OS X deployment version")
+endif()
+
+find_package(CoinUtils REQUIRED)
+find_package(Osi REQUIRED)
+
+file(GLOB CGL_SOURCES
+ Cgl/src/CglConfig.h
+ Cgl/src/*.hpp
+ Cgl/src/*.cpp
+ Cgl/src/CglAllDifferent/*.cpp
+ Cgl/src/CglAllDifferent/*.hpp
+ Cgl/src/CglBKClique/*.cpp
+ Cgl/src/CglBKClique/*.hpp
+ Cgl/src/CglClique/*.cpp
+ Cgl/src/CglClique/*.hpp
+ Cgl/src/CglCliqueMerging/*.cpp
+ Cgl/src/CglCliqueMerging/*.hpp
+ Cgl/src/CglDuplicateRow/*.cpp
+ Cgl/src/CglDuplicateRow/*.hpp
+ Cgl/src/CglFlowCover/*.cpp
+ Cgl/src/CglFlowCover/*.hpp
+ Cgl/src/CglGMI/*.cpp
+ Cgl/src/CglGMI/*.hpp
+ Cgl/src/CglGomory/*.cpp
+ Cgl/src/CglGomory/*.hpp
+ Cgl/src/CglKnapsackCover/*.cpp
+ Cgl/src/CglKnapsackCover/*.hpp
+ Cgl/src/CglLandP/*.cpp
+ Cgl/src/CglLandP/*.hpp
+ Cgl/src/CglLiftAndProject/*.cpp
+ Cgl/src/CglLiftAndProject/*.hpp
+ Cgl/src/CglMixedIntegerRounding/*.cpp
+ Cgl/src/CglMixedIntegerRounding/*.hpp
+ Cgl/src/CglMixedIntegerRounding2/*.cpp
+ Cgl/src/CglMixedIntegerRounding2/*.hpp
+ Cgl/src/CglOddHole/*.cpp
+ Cgl/src/CglOddHole/*.hpp
+ Cgl/src/CglOddHoleWC/*.cpp
+ Cgl/src/CglOddHoleWC/*.hpp
+ Cgl/src/CglPreProcess/*.cpp
+ Cgl/src/CglPreProcess/*.hpp
+ Cgl/src/CglProbing/*.cpp
+ Cgl/src/CglProbing/*.hpp
+ Cgl/src/CglRedSplit/*.cpp
+ Cgl/src/CglRedSplit/*.hpp
+ Cgl/src/CglRedSplit2/*.cpp
+ Cgl/src/CglRedSplit2/*.hpp
+ Cgl/src/CglResidualCapacity/*.cpp
+ Cgl/src/CglResidualCapacity/*.hpp
+ Cgl/src/CglSimpleRounding/*.cpp
+ Cgl/src/CglSimpleRounding/*.hpp
+ Cgl/src/CglTwomir/*.cpp
+ Cgl/src/CglTwomir/*.hpp
+ Cgl/src/CglZeroHalf/*.cpp
+ Cgl/src/CglZeroHalf/*.hpp)
+
+add_library(${PROJECT_NAME} ${CGL_SOURCES})
+
+target_include_directories(${PROJECT_NAME}
+ PUBLIC
+ $<INSTALL_INTERFACE:${RELATIVE_INSTALL_INCLUDE_DIR}>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/Cgl/src/>)
+
+if(MSVC)
+ target_compile_definitions(${PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS)
+endif()
+target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_CMATH)
+target_compile_definitions(${PROJECT_NAME} PUBLIC COIN_HAS_CLP)
+
+target_link_libraries(${PROJECT_NAME} PRIVATE Coin::CoinUtils Coin::Osi)
+
+install(DIRECTORY Cgl/src/
+ DESTINATION ${INSTALL_INCLUDE_DIR}
+ FILES_MATCHING
+ PATTERN "*.h"
+ PATTERN "*.hpp"
+ PATTERN "config_default.h" EXCLUDE)
+
+install(TARGETS ${PROJECT_NAME}
+ EXPORT "${PROJECT_NAME}Targets"
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ RUNTIME DESTINATION bin)
+
+include(CMakePackageConfigHelpers)
+
+set(version_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}ConfigVersion.cmake")
+set(project_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}Config.cmake")
+set(namespace "Coin::")
+
+write_basic_package_version_file("${version_config}"
+ COMPATIBILITY SameMajorVersion)
+
+configure_package_config_file("Config.cmake.in"
+ "${project_config}"
+ INSTALL_DESTINATION
+ "${INSTALL_CMAKE_DIR}")
+
+install(FILES "${project_config}" "${version_config}"
+ DESTINATION "${INSTALL_CMAKE_DIR}")
+
+install(EXPORT "${PROJECT_NAME}Targets"
+ NAMESPACE "${namespace}"
+ DESTINATION "${INSTALL_CMAKE_DIR}") \ No newline at end of file
diff --git a/ports/cgl/CONTROL b/ports/cgl/CONTROL
new file mode 100644
index 000000000..502193214
--- /dev/null
+++ b/ports/cgl/CONTROL
@@ -0,0 +1,5 @@
+Source: cgl
+Version: 0.60.2-1
+Homepage: https://github.com/coin-or/Cgl
+Description: The COIN-OR Cut Generation Library (Cgl) is a collection of cut generators that can be used with other COIN-OR packages that make use of cuts, such as, among others, the linear solver Clp or the mixed integer linear programming solvers Cbc or BCP.
+Build-Depends: coinutils, osi, clp \ No newline at end of file
diff --git a/ports/cgl/Config.cmake.in b/ports/cgl/Config.cmake.in
new file mode 100644
index 000000000..a9af95692
--- /dev/null
+++ b/ports/cgl/Config.cmake.in
@@ -0,0 +1,5 @@
+
+@PACKAGE_INIT@
+
+include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
+check_required_components("@PROJECT_NAME@") \ No newline at end of file
diff --git a/ports/cgl/fix-c1083-error.patch b/ports/cgl/fix-c1083-error.patch
new file mode 100644
index 000000000..bc5b62a00
--- /dev/null
+++ b/ports/cgl/fix-c1083-error.patch
@@ -0,0 +1,30 @@
+diff --git a/Cgl/src/CglLandP/CglLandP.cpp b/Cgl/src/CglLandP/CglLandP.cpp
+index 2676790..af90a6e 100644
+--- a/Cgl/src/CglLandP/CglLandP.cpp
++++ b/Cgl/src/CglLandP/CglLandP.cpp
+@@ -22,7 +22,7 @@
+ #define CLONE_SI //Solver is cloned between two cuts
+
+ #include "CoinTime.hpp"
+-#include "CglGomory.hpp"
++#include "CglGomory/CglGomory.hpp"
+ #include "CoinFactorization.hpp"
+ #include <fstream>
+ namespace LAP
+diff --git a/Cgl/src/CglPreProcess/CglPreProcess.cpp b/Cgl/src/CglPreProcess/CglPreProcess.cpp
+index 17cf372..8cb738f 100644
+--- a/Cgl/src/CglPreProcess/CglPreProcess.cpp
++++ b/Cgl/src/CglPreProcess/CglPreProcess.cpp
+@@ -24,9 +24,9 @@
+ #include "CoinHelperFunctions.hpp"
+ #include "CoinWarmStartBasis.hpp"
+
+-#include "CglProbing.hpp"
+-#include "CglDuplicateRow.hpp"
+-#include "CglClique.hpp"
++#include "CglProbing/CglProbing.hpp"
++#include "CglDuplicateRow/CglDuplicateRow.hpp"
++#include "CglClique/CglClique.hpp"
+ //#define PRINT_DEBUG 1
+ //#define COIN_DEVELOP 1
+ #ifdef COIN_DEVELOP
diff --git a/ports/cgl/portfile.cmake b/ports/cgl/portfile.cmake
new file mode 100644
index 000000000..932bb7fbb
--- /dev/null
+++ b/ports/cgl/portfile.cmake
@@ -0,0 +1,28 @@
+include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO coin-or/Cgl
+ REF releases/0.60.2
+ SHA512 86db94638d586d2fb64cb55f72197f847731c710351168189647686c5229555c79bc411044ab1cc789a520577de2be3c2e8611221d743f9dbaabb71544d0fa66
+ PATCHES fix-c1083-error.patch
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in 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(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file
diff --git a/ports/chaiscript/CONTROL b/ports/chaiscript/CONTROL
index fd55e973e..8ae6a8488 100644
--- a/ports/chaiscript/CONTROL
+++ b/ports/chaiscript/CONTROL
@@ -1,4 +1,4 @@
Source: chaiscript
-Version: 6.1.0
+Version: 6.1.0-1
Homepage: https://github.com/ChaiScript/ChaiScript
Description: Embedded Scripting Language Designed for C++
diff --git a/ports/chaiscript/portfile.cmake b/ports/chaiscript/portfile.cmake
index a3611b0e1..0c825a7c3 100644
--- a/ports/chaiscript/portfile.cmake
+++ b/ports/chaiscript/portfile.cmake
@@ -1,14 +1,3 @@
-# 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(
@@ -21,5 +10,4 @@ vcpkg_from_github(
file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/)
-# Handle copyright
-file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/chaiscript RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/chakracore/CONTROL b/ports/chakracore/CONTROL
index 0f496998e..6b6ba2469 100644
--- a/ports/chakracore/CONTROL
+++ b/ports/chakracore/CONTROL
@@ -1,4 +1,4 @@
Source: chakracore
-Version: 1.11.12
+Version: 1.11.13
Homepage: https://github.com/Microsoft/ChakraCore
Description: Core part of the Chakra Javascript engine
diff --git a/ports/chakracore/portfile.cmake b/ports/chakracore/portfile.cmake
index 924bc1e91..06dc945d2 100644
--- a/ports/chakracore/portfile.cmake
+++ b/ports/chakracore/portfile.cmake
@@ -9,8 +9,8 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/ChakraCore
- REF v1.11.12
- SHA512 6ff8b8fa379bd290d547ca9900c5aca47b6148f0112e58c11ab757fb2a9080119be59611fb5cb73fabae99802e8df2da35d7b8f1c351a32b452444d090d3b069
+ REF v1.11.13
+ SHA512 d5ffe0bc1c9463f301fb7af6d2e27b5794a4a005787c50a06501b369d6055c5f2c396d053bf1868036b5a36e8a596d1b47c3dc9d7fe5947e4682beac26bf0178
HEAD_REF master
)
diff --git a/ports/chartdir/CONTROL b/ports/chartdir/CONTROL
new file mode 100644
index 000000000..b34dadb6a
--- /dev/null
+++ b/ports/chartdir/CONTROL
@@ -0,0 +1,4 @@
+Source: chartdir
+Version: 6.3.1
+Homepage: https://www.advsofteng.com/
+Description: ChartDirector is a powerful chart component for creating professional looking charts for web and windows applications.
diff --git a/ports/chartdir/Config.cmake.in b/ports/chartdir/Config.cmake.in
new file mode 100644
index 000000000..d943c4a81
--- /dev/null
+++ b/ports/chartdir/Config.cmake.in
@@ -0,0 +1,21 @@
+
+get_filename_component(_chartdir_root "${CMAKE_CURRENT_LIST_FILE}" PATH)
+get_filename_component(_chartdir_root "${_chartdir_root}" PATH)
+get_filename_component(_chartdir_root "${_chartdir_root}" PATH)
+
+set(_chartdir_lib "${_chartdir_root}/lib/@CHARTDIR_LIB@")
+if (EXISTS "${_chartdir_lib}")
+
+ add_library(chartdir UNKNOWN IMPORTED)
+ set_target_properties(chartdir PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${_chartdir_root}/include")
+ set_target_properties(chartdir PROPERTIES IMPORTED_LOCATION "${_chartdir_lib}")
+ set_property(TARGET chartdir APPEND PROPERTY IMPORTED_CONFIGURATIONS)
+
+else()
+
+ set(chartdir_FOUND FALSE)
+
+endif()
+unset(_chartdir_lib)
+
+unset(_chartdir_root)
diff --git a/ports/chartdir/chartdir.h b/ports/chartdir/chartdir.h
new file mode 100644
index 000000000..2fa308a07
--- /dev/null
+++ b/ports/chartdir/chartdir.h
@@ -0,0 +1,6 @@
+#ifndef __CHARTDIR_H__
+#define __CHARTDIR_H__
+
+#include <chartdir/chartdir.h>
+
+#endif // __CHARTDIR_H__
diff --git a/ports/chartdir/portfile.cmake b/ports/chartdir/portfile.cmake
new file mode 100644
index 000000000..630d36c94
--- /dev/null
+++ b/ports/chartdir/portfile.cmake
@@ -0,0 +1,96 @@
+include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
+
+if(TRIPLET_SYSTEM_ARCH MATCHES "arm" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_LIBRARY_LINKAGE STREQUAL static)
+
+ set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
+
+elseif(VCPKG_TARGET_IS_WINDOWS)
+
+ vcpkg_download_distfile(ARCHIVE_FILE
+ URLS "http://www.advsofteng.net/chartdir_cpp_win.zip"
+ FILENAME "chartdir_cpp_win-6.3.1.zip"
+ SHA512 e9841d4416c833f57439a36cb981a9c320884c655f8278a22690f05a215c87f0bba83406b45e03ea384c015a4619852c7a9b36dcc9dbd7d531dee1c07b5cffe9
+ )
+
+ vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE_FILE}
+ REF 6.3.1
+ )
+
+ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ set(LIBDIR "${SOURCE_PATH}/lib64")
+ else()
+ set(LIBDIR "${SOURCE_PATH}/lib32")
+ endif()
+
+ file(COPY "${LIBDIR}/chartdir60.dll" DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ file(COPY "${LIBDIR}/chartdir60.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(COPY "${LIBDIR}/chartdir60.dll" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(COPY "${LIBDIR}/chartdir60.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+
+ set(CHARTDIR_LIB "chartdir60.lib")
+
+elseif(VCPKG_TARGET_IS_OSX)
+
+ vcpkg_download_distfile(ARCHIVE_FILE
+ URLS "https://www.advsofteng.net/chartdir_cpp_mac.tar.gz"
+ FILENAME "chartdir_cpp_mac-6.3.1.tar.gz"
+ SHA512 50a6b8d80a65a1e723808ce6722c7ec8b1457f1c63d187ce487b71b7d1d820f64301729d034ca99ddcea13ec0db8dab9fd14262023c24a6f9ecf196a0cac800d
+ )
+
+ vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE_FILE}
+ REF 6.3.1
+ )
+
+ file(COPY "${SOURCE_PATH}/lib/libchartdir.6.dylib" DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(COPY "${SOURCE_PATH}/lib/libchartdir.6.dylib" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+
+ set(CHARTDIR_LIB "libchartdir.6.dylib")
+
+elseif(VCPKG_TARGET_IS_LINUX)
+
+ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+
+ vcpkg_download_distfile(ARCHIVE_FILE
+ URLS "http://www.advsofteng.net/chartdir_cpp_linux_64.tar.gz"
+ FILENAME "chartdir_cpp_linux_64-6.3.1.tar.gz"
+ SHA512 e6a3acee3cc5f38304ffa0d3704b1365fcc7a60c8bb688f121caa31efa568b74598b4e10379e84200888d9d8dc3cd7a6a24a944c2d63ca5a146162854c6222a9
+ )
+
+ else()
+
+ vcpkg_download_distfile(ARCHIVE_FILE
+ URLS "http://www.advsofteng.net/chartdir_cpp_linux.tar.gz"
+ FILENAME "chartdir_cpp_linux-6.3.1.tar.gz"
+ SHA512 0a2f2d7c8d53c2f06c302a837f286826b4f48cc5f5bdb55c4de23337bc4188d1652625aee2c8061561d9b5bdef5e0e2a4cdd176d44ca60c1f730e4f38299c5a0
+ )
+
+ endif()
+
+ vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE_FILE}
+ REF 6.3.1
+ )
+
+ file(COPY "${SOURCE_PATH}/lib/libchartdir.so.6.0.3" DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(COPY "${SOURCE_PATH}/lib/libchartdir.so.6.0.3" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+
+ set(CHARTDIR_LIB "libchartdir.so.6.0.3")
+
+ file(COPY ${SOURCE_PATH}/lib/fonts DESTINATION ${CURRENT_PACKAGES_DIR}/share/chartdir)
+
+endif()
+
+file(GLOB HEADERS "${SOURCE_PATH}/include/*.h")
+file(COPY ${HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include/chartdir)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/chartdir.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+
+configure_file(${SOURCE_PATH}/LICENSE.TXT ${CURRENT_PACKAGES_DIR}/share/chartdir/copyright COPYONLY)
+configure_file(${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in ${CURRENT_PACKAGES_DIR}/share/chartdir/chartdir-config.cmake @ONLY)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/chartdir)
diff --git a/ports/chartdir/usage b/ports/chartdir/usage
new file mode 100644
index 000000000..a270b780e
--- /dev/null
+++ b/ports/chartdir/usage
@@ -0,0 +1,4 @@
+The package chartdir provides CMake targets:
+
+ find_package(chartdir CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE chartdir)
diff --git a/ports/chipmunk/CONTROL b/ports/chipmunk/CONTROL
index 0a4d6a62f..7437c78d8 100644
--- a/ports/chipmunk/CONTROL
+++ b/ports/chipmunk/CONTROL
@@ -1,4 +1,4 @@
Source: chipmunk
-Version: 7.0.2
+Version: 7.0.3
Homepage: https://github.com/slembcke/Chipmunk2D
Description: A fast and lightweight 2D game physics library. \ No newline at end of file
diff --git a/ports/chipmunk/portfile.cmake b/ports/chipmunk/portfile.cmake
index 5b6477767..7ae9dfcd8 100644
--- a/ports/chipmunk/portfile.cmake
+++ b/ports/chipmunk/portfile.cmake
@@ -23,13 +23,13 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO slembcke/Chipmunk2D
- REF Chipmunk-7.0.2
- SHA512 3a697a73f854b36c53ea99390878094e91a44a0c6a19ebb0cd6726474b9b4f219085944efba4a7ae6faec1def3b9d58a02f159bea15724a7f5235bb645b91dba
+ REF 87340c216bf97554dc552371bbdecf283f7c540e
+ SHA512 9094017755e9c140aa5bf8a1b5502077ae4fb2b0a3e12f1114e86d8591a6188f89822ecc578a2b5e95f61c555018f1b3273fe50e833fe2daf30e94b180a3d07c
HEAD_REF master
)
vcpkg_build_msbuild(
- PROJECT_PATH ${SOURCE_PATH}/msvc/vc14/chipmunk/chipmunk.vcxproj
+ PROJECT_PATH ${SOURCE_PATH}/msvc/VS2015/chipmunk/chipmunk.vcxproj
RELEASE_CONFIGURATION "Release${CHIPMUNK_CONFIGURATION_SUFFIX}"
DEBUG_CONFIGURATION "Debug${CHIPMUNK_CONFIGURATION_SUFFIX}"
)
@@ -37,32 +37,32 @@ vcpkg_build_msbuild(
message(STATUS "Installing")
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
file(INSTALL
- "${SOURCE_PATH}/msvc/vc14/chipmunk/${CHIPMUNK_ARCH}/Debug${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.dll"
- "${SOURCE_PATH}/msvc/vc14/chipmunk/${CHIPMUNK_ARCH}/Debug${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.pdb"
+ "${SOURCE_PATH}/msvc/VS2015/chipmunk/${CHIPMUNK_ARCH}/Debug${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.dll"
+ "${SOURCE_PATH}/msvc/VS2015/chipmunk/${CHIPMUNK_ARCH}/Debug${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.pdb"
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
)
file(INSTALL
- "${SOURCE_PATH}/msvc/vc14/chipmunk/${CHIPMUNK_ARCH}/Release${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.dll"
- "${SOURCE_PATH}/msvc/vc14/chipmunk/${CHIPMUNK_ARCH}/Release${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.pdb"
+ "${SOURCE_PATH}/msvc/VS2015/chipmunk/${CHIPMUNK_ARCH}/Release${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.dll"
+ "${SOURCE_PATH}/msvc/VS2015/chipmunk/${CHIPMUNK_ARCH}/Release${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.pdb"
DESTINATION ${CURRENT_PACKAGES_DIR}/bin
)
else()
file(INSTALL
- "${SOURCE_PATH}/msvc/vc14/chipmunk/${CHIPMUNK_ARCH}/Release${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.pdb"
+ "${SOURCE_PATH}/msvc/VS2015/chipmunk/${CHIPMUNK_ARCH}/Release${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.pdb"
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
)
file(INSTALL
- "${SOURCE_PATH}/msvc/vc14/chipmunk/${CHIPMUNK_ARCH}/Release${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.pdb"
+ "${SOURCE_PATH}/msvc/VS2015/chipmunk/${CHIPMUNK_ARCH}/Release${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.pdb"
DESTINATION ${CURRENT_PACKAGES_DIR}/lib
)
endif()
file(INSTALL
- "${SOURCE_PATH}/msvc/vc14/chipmunk/${CHIPMUNK_ARCH}/Debug${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.lib"
+ "${SOURCE_PATH}/msvc/VS2015/chipmunk/${CHIPMUNK_ARCH}/Debug${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.lib"
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
)
file(INSTALL
- "${SOURCE_PATH}/msvc/vc14/chipmunk/${CHIPMUNK_ARCH}/Release${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.lib"
+ "${SOURCE_PATH}/msvc/VS2015/chipmunk/${CHIPMUNK_ARCH}/Release${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.lib"
DESTINATION ${CURRENT_PACKAGES_DIR}/lib
)
file(INSTALL
diff --git a/ports/cityhash/CMakeLists.txt b/ports/cityhash/CMakeLists.txt
new file mode 100644
index 000000000..f2e08336c
--- /dev/null
+++ b/ports/cityhash/CMakeLists.txt
@@ -0,0 +1,18 @@
+cmake_minimum_required(VERSION 3.13)
+project(cityhash CXX)
+
+add_library(cityhash STATIC src/city.cc)
+
+target_include_directories(cityhash PUBLIC
+ $<INSTALL_INTERFACE:include>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
+)
+
+install(TARGETS cityhash EXPORT cityhash-config
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+)
+
+install(EXPORT cityhash-config DESTINATION share/cmake/cityhash)
+install(FILES src/city.h DESTINATION include)
diff --git a/ports/cityhash/CONTROL b/ports/cityhash/CONTROL
new file mode 100644
index 000000000..2b45a58c9
--- /dev/null
+++ b/ports/cityhash/CONTROL
@@ -0,0 +1,4 @@
+Source: cityhash
+Version: 2013-01-08
+Homepage: https://github.com/google/cityhash
+Description: CityHash, a family of hash functions for strings.
diff --git a/ports/cityhash/config.h b/ports/cityhash/config.h
new file mode 100644
index 000000000..190c1da38
--- /dev/null
+++ b/ports/cityhash/config.h
@@ -0,0 +1,118 @@
+/* config.h. Generated from config.h.in by configure. */
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define if building universal (internal helper macro) */
+/* #undef AC_APPLE_UNIVERSAL_BUILD */
+
+/* Define to 1 if the compiler supports __builtin_expect. */
+#if WIN32 || WIN64
+# define HAVE_BUILTIN_EXPECT 0
+#else
+# define HAVE_BUILTIN_EXPECT 1
+#endif
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#define LT_OBJDIR ".libs/"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "cityhash-discuss@googlegroups.com"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "CityHash"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "CityHash 1.1.1"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "cityhash"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "1.1.1"
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+ significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+# define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+/* # undef WORDS_BIGENDIAN */
+# endif
+#endif
+
+/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
+ <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
+ #define below would cause a syntax error. */
+/* #undef _UINT32_T */
+
+/* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>,
+ <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
+ #define below would cause a syntax error. */
+/* #undef _UINT64_T */
+
+/* Define for Solaris 2.5.1 so the uint8_t typedef from <sys/synch.h>,
+ <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
+ #define below would cause a syntax error. */
+/* #undef _UINT8_T */
+
+/* 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
+/* #undef inline */
+#endif
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+/* #undef size_t */
+
+/* Define to `int' if <sys/types.h> does not define. */
+/* #undef ssize_t */
+
+/* Define to the type of an unsigned integer type of width exactly 32 bits if
+ such a type exists and the standard includes do not define it. */
+/* #undef uint32_t */
+
+/* Define to the type of an unsigned integer type of width exactly 64 bits if
+ such a type exists and the standard includes do not define it. */
+/* #undef uint64_t */
+
+/* Define to the type of an unsigned integer type of width exactly 8 bits if
+ such a type exists and the standard includes do not define it. */
+/* #undef uint8_t */
diff --git a/ports/cityhash/portfile.cmake b/ports/cityhash/portfile.cmake
new file mode 100644
index 000000000..7e759e7fb
--- /dev/null
+++ b/ports/cityhash/portfile.cmake
@@ -0,0 +1,39 @@
+include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO google/cityhash
+ REF 8af9b8c2b889d80c22d6bc26ba0df1afb79a30db
+ SHA512 5878a6a4f8ee99593412d446d96c05be1f89fa7771eca49ff4a52ce181de8199ba558170930996d36f6df80a65889d93c81ab2611868b015d8db913e2ecd2eb9
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+if(VCPKG_TARGET_IS_WINDOWS)
+ file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h DESTINATION ${SOURCE_PATH}/src)
+else()
+ file(MAKE_DIRECTORY ${SOURCE_PATH}/out)
+ vcpkg_execute_required_process(
+ COMMAND ${SOURCE_PATH}/configure
+ WORKING_DIRECTORY ${SOURCE_PATH}/out
+ LOGNAME configure-${TARGET_TRIPLET}
+ )
+ file(COPY ${SOURCE_PATH}/out/config.h DESTINATION ${SOURCE_PATH}/src)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/cityhash)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/cityhash/copyright COPYONLY)
diff --git a/ports/clapack/CONTROL b/ports/clapack/CONTROL
index 9e7328e70..41d389f03 100644
--- a/ports/clapack/CONTROL
+++ b/ports/clapack/CONTROL
@@ -1,5 +1,5 @@
Source: clapack
-Version: 3.2.1-10
+Version: 3.2.1-11
Homepage: https://www.netlib.org/clapack
Description: CLAPACK (f2c'ed version of LAPACK)
Build-Depends: openblas (!osx)
diff --git a/ports/clapack/fix-ConfigFile.patch b/ports/clapack/fix-ConfigFile.patch
new file mode 100644
index 000000000..295c2bc1c
--- /dev/null
+++ b/ports/clapack/fix-ConfigFile.patch
@@ -0,0 +1,7 @@
+diff --git a/clapack-config.cmake.in b/clapack-config.cmake.in
+index cd19f1d..49af4f0 100644
+--- a/clapack-config.cmake.in
++++ b/clapack-config.cmake.in
+@@ -1 +1 @@
+-include("@CLAPACK_BINARY_DIR@/clapack-targets.cmake")
++include("${CMAKE_CURRENT_LIST_DIR}/clapack-targets.cmake")
diff --git a/ports/clapack/portfile.cmake b/ports/clapack/portfile.cmake
index 90169d79b..f05554e87 100644
--- a/ports/clapack/portfile.cmake
+++ b/ports/clapack/portfile.cmake
@@ -13,6 +13,7 @@ vcpkg_extract_source_archive_ex(
ARCHIVE ${ARCHIVE}
PATCHES
remove_internal_blas.patch
+ fix-ConfigFile.patch
)
vcpkg_configure_cmake(
diff --git a/ports/clblas/portfile.cmake b/ports/clblas/portfile.cmake
index 5619cea8f..daefb8388 100644
--- a/ports/clblas/portfile.cmake
+++ b/ports/clblas/portfile.cmake
@@ -44,15 +44,19 @@ file(INSTALL
RENAME copyright
)
-file(REMOVE
- ${CURRENT_PACKAGES_DIR}/debug/bin/clBLAS-tune.pdb
- ${CURRENT_PACKAGES_DIR}/debug/bin/clBLAS-tune.exe
- ${CURRENT_PACKAGES_DIR}/bin/clBLAS-tune.exe
- ${CURRENT_PACKAGES_DIR}/debug/bin/concrt140d.dll
- ${CURRENT_PACKAGES_DIR}/debug/bin/msvcp140d.dll
- ${CURRENT_PACKAGES_DIR}/debug/bin/vcruntime140d.dll
-)
-
-vcpkg_fixup_cmake_targets(CONFIG_PATH CMake)
+if(VCPKG_TARGET_IS_WINDOWS)
+ file(REMOVE
+ ${CURRENT_PACKAGES_DIR}/debug/bin/clBLAS-tune.pdb
+ ${CURRENT_PACKAGES_DIR}/debug/bin/clBLAS-tune.exe
+ ${CURRENT_PACKAGES_DIR}/bin/clBLAS-tune.exe
+ ${CURRENT_PACKAGES_DIR}/debug/bin/concrt140d.dll
+ ${CURRENT_PACKAGES_DIR}/debug/bin/msvcp140d.dll
+ ${CURRENT_PACKAGES_DIR}/debug/bin/vcruntime140d.dll
+ )
+
+ vcpkg_fixup_cmake_targets(CONFIG_PATH CMake)
+elseif(VCPKG_TARGET_IS_LINUX)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/clBLAS")
+endif()
vcpkg_copy_pdbs()
diff --git a/ports/clfft/portfile.cmake b/ports/clfft/portfile.cmake
index 6ef4ec6f7..d7aff78cb 100644
--- a/ports/clfft/portfile.cmake
+++ b/ports/clfft/portfile.cmake
@@ -32,6 +32,10 @@ file(INSTALL
${CURRENT_PACKAGES_DIR}/share/clfft/copyright
)
-vcpkg_fixup_cmake_targets(CONFIG_PATH CMake)
+if(VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake")
+elseif(VCPKG_TARGET_IS_LINUX)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/clFFT")
+endif()
vcpkg_copy_pdbs()
diff --git a/ports/cli/CONTROL b/ports/cli/CONTROL
index a7db9c2ed..6df668d4a 100644
--- a/ports/cli/CONTROL
+++ b/ports/cli/CONTROL
@@ -1,4 +1,4 @@
Source: cli
-Version: 1.1-1
+Version: 1.1.1
Description: A library for interactive command line interfaces in modern C++
Build-Depends: boost-asio
diff --git a/ports/cli/portfile.cmake b/ports/cli/portfile.cmake
index c83f75dd8..54ae21ba0 100644
--- a/ports/cli/portfile.cmake
+++ b/ports/cli/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO daniele77/cli
- REF v1.1.0
- SHA512 a3aeac666567359521d625442f5a03b35ea1e6cf7bd63cdc52dfea20397a1726ce34aeab08ffd7181b9390fb791c56e5aba0260e300329ff327282f1547940c8
+ REF v1.1.1
+ SHA512 c5046450af8818e23fc5187e66a963cfa981042a99b66c52bfe6119bf126348cd38c50472bc267197e4175ee056f8cf639b09846675450d67c06c1c64f64acba
HEAD_REF master
)
diff --git a/ports/clue/CMakeLists.txt b/ports/clue/CMakeLists.txt
new file mode 100644
index 000000000..451d414b8
--- /dev/null
+++ b/ports/clue/CMakeLists.txt
@@ -0,0 +1,25 @@
+cmake_minimum_required(VERSION 3.5)
+
+project(clue VERSION 1.0.0 LANGUAGES CXX)
+
+option(CLUE_BUILD_TEST "Build tests for clue" OFF)
+option(CLUE_BUILD_EXAMPLE "Build examples" OFF)
+
+include(GNUInstallDirs)
+include_directories("${CMAKE_CURRENT_SOURCE_DIR}/clue.hpp")
+
+if(CLUE_BUILD_TEST)
+ file(GLOB TEST_SOURCES "tests/*.cpp")
+ add_executable(test_clue ${TEST_SOURCES})
+ target_include_directories(test_clue PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/tests)
+ install(TARGETS test_clue
+ RUNTIME DESTINATION tools)
+endif()
+
+if(CLUE_BUILD_EXAMPLE)
+ file(GLOB EXAMPLES "examples/*.cpp")
+ install(FILES ${EXAMPLES} DESTINATION examples)
+endif()
+
+install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/clue.hpp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+# end of file \ No newline at end of file
diff --git a/ports/clue/CONTROL b/ports/clue/CONTROL
new file mode 100644
index 000000000..dcd80809e
--- /dev/null
+++ b/ports/clue/CONTROL
@@ -0,0 +1,7 @@
+Source: clue
+Version: 1.0.0-alpha.7
+Homepage: https://github.com/martinmoene/clue
+Description: clue is a C++03 header-only library to log messages with a severity and optional module identifier.
+
+Feature: test
+Description: Build test \ No newline at end of file
diff --git a/ports/clue/portfile.cmake b/ports/clue/portfile.cmake
new file mode 100644
index 000000000..35fd8228b
--- /dev/null
+++ b/ports/clue/portfile.cmake
@@ -0,0 +1,29 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO martinmoene/clue
+ REF v1.0.0-alpha.7
+ SHA512 4f0d1115dcf16412239e1ac158be210403f93596b76c91100ae81be3d4f4cb04dda525101850356a7195b219c826305a82cab7a96b1bc1e2cefaa7860a853e73
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ test CLUE_BUILD_TEST
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS ${FEATURE_OPTIONS}
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE_1_0.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) \ No newline at end of file
diff --git a/ports/console-bridge/CONTROL b/ports/console-bridge/CONTROL
index 47870b72e..b41d031b5 100644
--- a/ports/console-bridge/CONTROL
+++ b/ports/console-bridge/CONTROL
@@ -1,4 +1,4 @@
Source: console-bridge
-Version: 0.3.2-4
+Version: 0.4.3-1
Homepage: https://github.com/ros/console_bridge
Description: a ROS-independent package for logging that seamlessly pipes into rosconsole/rosout for ROS-dependent packages.
diff --git a/ports/console-bridge/portfile.cmake b/ports/console-bridge/portfile.cmake
index 8b99e125b..231a412c8 100644
--- a/ports/console-bridge/portfile.cmake
+++ b/ports/console-bridge/portfile.cmake
@@ -3,14 +3,10 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ros/console_bridge
- REF 0.3.2
- SHA512 41fa5340d7ba79c887ef73eb4fda7b438ed91febd224934ae4658697e4c9e43357207e1b3e191ecce3c97cb9a87b0556372832735a268261bc798cc7683aa207
+ REF f0b423c0c2d02651db1776c96887c0a314908063
+ SHA512 f022341f06c4edf564b94305b7ce279a7a2a61d0323a7ccf374598011909d86b0a9c514b4d41fd1d523baecc1c320d16a931a8f0fbb3a3e4950720f84f0472e6
HEAD_REF master
-)
-
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES ${CMAKE_CURRENT_LIST_DIR}/static-macro.patch
+ PATCHES static-macro.patch
)
vcpkg_configure_cmake(
@@ -36,10 +32,10 @@ string(SUBSTRING "${_contents}" 0 2000 license)
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/console-bridge)
file(WRITE ${CURRENT_PACKAGES_DIR}/share/console-bridge/copyright "${license}")
-file(READ ${CURRENT_PACKAGES_DIR}/include/console_bridge/exportdecl.h _contents)
+file(READ ${CURRENT_PACKAGES_DIR}/include/console_bridge_export.h _contents)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
- string(REPLACE "ifdef CONSOLE_BRIDGE_STATIC" "if 1" _contents "${_contents}")
+ string(REPLACE "ifdef CONSOLE_BRIDGE_STATIC_DEFINE" "if 1" _contents "${_contents}")
else()
- string(REPLACE "ifdef CONSOLE_BRIDGE_STATIC" "if 0" _contents "${_contents}")
+ string(REPLACE "ifdef CONSOLE_BRIDGE_STATIC_DEFINE" "if 0" _contents "${_contents}")
endif()
-file(WRITE ${CURRENT_PACKAGES_DIR}/include/console_bridge/exportdecl.h "${_contents}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/include/console_bridge_export.h "${_contents}")
diff --git a/ports/coroutine/CONTROL b/ports/coroutine/CONTROL
index 075a32b26..184891fdc 100644
--- a/ports/coroutine/CONTROL
+++ b/ports/coroutine/CONTROL
@@ -1,4 +1,4 @@
Source: coroutine
-Version: 1.4.1-1
+Version: 1.4.3
Build-Depends: ms-gsl
Description: C++ coroutine helper/example library
diff --git a/ports/coroutine/portfile.cmake b/ports/coroutine/portfile.cmake
index f8bf5cdcf..da9430d8c 100644
--- a/ports/coroutine/portfile.cmake
+++ b/ports/coroutine/portfile.cmake
@@ -8,8 +8,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO luncliff/coroutine
- REF 1.4.2
- SHA512 fc2544116a5bee97b8ef1501fc7f1b805248f0a0c601111f1a317e813aa1d3f9a2e08ab1b140cc36e22d9c90249301110ec5b5e55a40fb39217cf5f40998920d
+ REF 74467cb470a6bf8b9559a56ebdcb68ff915d871e
+ SHA512 5d61a23c5fe33c544943659dedecff487bb20f288f9c99f137f37bb777317672f299599b740e53cae42c355595fdfdffe183ade39e828b1f3b4aa821a47cb50e
HEAD_REF master
)
diff --git a/ports/cpp-httplib/CONTROL b/ports/cpp-httplib/CONTROL
index ebfc59ad8..3a8e76548 100644
--- a/ports/cpp-httplib/CONTROL
+++ b/ports/cpp-httplib/CONTROL
@@ -1,4 +1,4 @@
Source: cpp-httplib
-Version: 0.2.1
+Version: 0.2.4
Homepage: https://github.com/yhirose/cpp-httplib
Description: A single file C++11 header-only HTTP/HTTPS server and client library
diff --git a/ports/cpp-httplib/portfile.cmake b/ports/cpp-httplib/portfile.cmake
index 975b74902..c74e52496 100644
--- a/ports/cpp-httplib/portfile.cmake
+++ b/ports/cpp-httplib/portfile.cmake
@@ -1,12 +1,10 @@
include(vcpkg_common_functions)
-set(VERSION 0.2.0)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO yhirose/cpp-httplib
- REF v0.2.1
- SHA512 f0f24cb58da4bbe4ccaa28891fd56257bc97cdf861c4406f41c0cb0bb76b53f9f707298cb5ea1139e4a819c4b1a4b750090a53652d45c3621b33d76ba627a78f
+ REF v0.2.4
+ SHA512 d8b226961f7b9d516b17f2f1c85657a017d63c00d0d2c5478717354cc6f8cfad9a0fb5f189a21242cbeef8579b08a1cd9991271d365afd126cad341f7d5758fd
HEAD_REF master
)
diff --git a/ports/cpp-redis/CONTROL b/ports/cpp-redis/CONTROL
index 7d8823866..702c107a1 100644
--- a/ports/cpp-redis/CONTROL
+++ b/ports/cpp-redis/CONTROL
@@ -1,5 +1,5 @@
Source: cpp-redis
-Version: 4.3.1-1
+Version: 4.3.1-2
Build-Depends: tacopie
-Homepage: https://github.com/Cylix/cpp_redis
+Homepage: https://github.com/cpp-redis/cpp_redis
Description: cpp-redis is a C++11 Asynchronous Multi-Platform Lightweight Redis Client, with support for synchronous operations and pipelining.
diff --git a/ports/cpp-redis/portfile.cmake b/ports/cpp-redis/portfile.cmake
index ee19a6510..f6bf753e5 100644
--- a/ports/cpp-redis/portfile.cmake
+++ b/ports/cpp-redis/portfile.cmake
@@ -4,7 +4,7 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
- REPO Cylix/cpp_redis
+ REPO cpp-redis/cpp_redis
REF 4.3.1
SHA512 abf372542c53f37f504b3211b840b100d07a8f4b2e7f5584cc7550ab16ed617838e2df79064374c7a409458d8567f4834686318ea3a40249c767e36c744c7a47
HEAD_REF master
@@ -53,10 +53,10 @@ if(FILES_TO_REMOVE)
file(REMOVE_RECURSE ${FILES_TO_REMOVE})
endif()
-file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cpp-redis RENAME copyright)
-
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
vcpkg_copy_pdbs()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file
diff --git a/ports/cppkafka/CONTROL b/ports/cppkafka/CONTROL
new file mode 100644
index 000000000..f3a34e1fa
--- /dev/null
+++ b/ports/cppkafka/CONTROL
@@ -0,0 +1,5 @@
+Source: cppkafka
+Version: 0.3.1
+Homepage: https://github.com/mfontanini/cppkafka
+Description: cppkafka allows C++ applications to consume and produce messages using the Apache Kafka protocol. The library is built on top of librdkafka, and provides a high level API that uses modern C++ features to make it easier to write code while keeping the wrapper's performance overhead to a minimum.
+Build-Depends: boost-program-options, librdkafka \ No newline at end of file
diff --git a/ports/cppkafka/portfile.cmake b/ports/cppkafka/portfile.cmake
new file mode 100644
index 000000000..7b97e7f0d
--- /dev/null
+++ b/ports/cppkafka/portfile.cmake
@@ -0,0 +1,24 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO mfontanini/cppkafka
+ REF v0.3.1
+ SHA512 60d01ce1dd9bd9119676be939ed5ab03539abb1f945c1b31e432edfe0f06542778f7fef37696f5ff19c53024f44d5cbd8aeddbbb231c38b098e05285d3ff0cab
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DCPPKAFKA_DISABLE_TESTS=ON
+ -DCPPKAFKA_DISABLE_EXAMPLES=ON
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file
diff --git a/ports/cpprestsdk/CONTROL b/ports/cpprestsdk/CONTROL
index 877164673..6f6a2a307 100644
--- a/ports/cpprestsdk/CONTROL
+++ b/ports/cpprestsdk/CONTROL
@@ -1,13 +1,16 @@
Source: cpprestsdk
Version: 2.10.14-1
-Build-Depends: openssl (!uwp&!windows), boost-system (!uwp&!windows), boost-date-time (!uwp&!windows), boost-regex (!uwp&!windows), boost-thread (!uwp&!windows), boost-filesystem (!uwp&!windows), boost-random (!uwp&!windows), boost-chrono (!uwp&!windows), boost-asio (!uwp&!windows)
+Build-Depends: openssl (!uwp&!windows), boost-system (!uwp&!windows),
+ boost-date-time (!uwp&!windows), boost-regex (!uwp&!windows), boost-thread (!uwp&!windows),
+ boost-filesystem (!uwp&!windows), boost-random (!uwp&!windows), boost-chrono (!uwp&!windows),
+ boost-asio (!uwp&!windows)
Homepage: https://github.com/Microsoft/cpprestsdk
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.
Default-Features: default-features
Feature: default-features
-Build-Depends: cpprestsdk[brotli] (windows), cpprestsdk[core], cpprestsdk[compression], cpprestsdk[websockets]
+Build-Depends: cpprestsdk[brotli] (windows), cpprestsdk[core,compression,websockets]
Description: Features installed by default
Feature: compression
@@ -15,9 +18,9 @@ Build-Depends: zlib
Description: HTTP Compression support
Feature: websockets
-Build-Depends: cpprestsdk[core], cpprestsdk[compression], websocketpp (!uwp), openssl (!uwp), boost-system (!uwp), boost-date-time (!uwp), boost-regex (!uwp)
+Build-Depends: cpprestsdk[core,compression], websocketpp (!uwp), openssl (!uwp), boost-system (!uwp), boost-date-time (!uwp), boost-regex (!uwp)
Description: Websockets support
Feature: brotli
-Build-Depends: cpprestsdk[core], cpprestsdk[compression], brotli
+Build-Depends: cpprestsdk[core,compression], brotli
Description: Brotli compression support
diff --git a/ports/cpputest/CONTROL b/ports/cpputest/CONTROL
new file mode 100644
index 000000000..cecf6e221
--- /dev/null
+++ b/ports/cpputest/CONTROL
@@ -0,0 +1,4 @@
+Source: cpputest
+Version: 2019-9-16
+Homepage: https://github.com/cpputest/cpputest
+Description: CppUTest unit testing and mocking framework for C/C++. \ No newline at end of file
diff --git a/ports/cpputest/fix-arm-build-error.patch b/ports/cpputest/fix-arm-build-error.patch
new file mode 100644
index 000000000..5b017cb63
--- /dev/null
+++ b/ports/cpputest/fix-arm-build-error.patch
@@ -0,0 +1,20 @@
+diff --git a/tests/CppUTest/CMakeLists.txt b/tests/CppUTest/CMakeLists.txt
+index 7df07c1..d7317aa 100644
+--- a/tests/CppUTest/CMakeLists.txt
++++ b/tests/CppUTest/CMakeLists.txt
+@@ -56,4 +56,4 @@ add_executable(CppUTestTests ${CppUTestTests_src})
+ cpputest_normalize_test_output_location(CppUTestTests)
+ target_link_libraries(CppUTestTests CppUTest ${THREAD_LIB})
+
+-cpputest_buildtime_discover_tests(CppUTestTests)
++#cpputest_buildtime_discover_tests(CppUTestTests)
+diff --git a/tests/CppUTestExt/CMakeLists.txt b/tests/CppUTestExt/CMakeLists.txt
+index b83ceb2..2abf274 100644
+--- a/tests/CppUTestExt/CMakeLists.txt
++++ b/tests/CppUTestExt/CMakeLists.txt
+@@ -37,4 +37,4 @@ endif (MINGW)
+ add_executable(CppUTestExtTests ${CppUTestExtTests_src})
+ cpputest_normalize_test_output_location(CppUTestExtTests)
+ target_link_libraries(CppUTestExtTests CppUTest CppUTestExt ${THREAD_LIB} ${CPPUNIT_EXTERNAL_LIBRARIES})
+-cpputest_buildtime_discover_tests(CppUTestExtTests)
++#cpputest_buildtime_discover_tests(CppUTestExtTests)
diff --git a/ports/cpputest/portfile.cmake b/ports/cpputest/portfile.cmake
new file mode 100644
index 000000000..904f1d0b1
--- /dev/null
+++ b/ports/cpputest/portfile.cmake
@@ -0,0 +1,35 @@
+include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO cpputest/cpputest
+ REF 4699da9942a1bdcc33e2a8c8a48e863b0f18188e
+ SHA512 6f588691f1b4092b3be8167ab09f3a4a64c34715ac9397210724121d161024a43b12a88198b02b0cc8da7d72406670daaf375bb64cc4cf92c8bd2479e7a881bc
+ HEAD_REF master
+ PATCHES fix-arm-build-error.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/CppUTest/cmake TARGET_PATH share/CppUTest)
+if (EXISTS ${CURRENT_PACKAGES_DIR}/lib/CppUTest)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/CppUTest)
+endif()
+
+if (EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/CppUTest)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/CppUTest)
+endif()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig ${CURRENT_PACKAGES_DIR}/lib/pkgconfig)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/crc32c/CONTROL b/ports/crc32c/CONTROL
index 764a0f2d8..b13c39f0f 100644
--- a/ports/crc32c/CONTROL
+++ b/ports/crc32c/CONTROL
@@ -1,4 +1,4 @@
Source: crc32c
-Version: 1.0.7-1
+Version: 1.1.0
Homepage: https://github.com/google/crc32c
Description: CRC32C implementation with support for CPU-specific acceleration instructions.
diff --git a/ports/crc32c/portfile.cmake b/ports/crc32c/portfile.cmake
index a15961f94..bce61bc2e 100644
--- a/ports/crc32c/portfile.cmake
+++ b/ports/crc32c/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/crc32c
- REF 1.0.7
- SHA512 fe384ea15976b1317b7f6be3a447ae2cf25e0baa80f6c5e1231719a2af8863bc156b3d33156f24eca85504083730937f81fb624311d27e94ba3d2456bf3d34fa
+ REF 83c31e797274a5b26e9e4a5355ba394cd0cabc10
+ SHA512 829f8618c2769d274b400cf6de1dd2ab874d50d36e8cb086238aadae804154360b113faecd3c60e029a8d5ebc620d4b7cc7e1492775a4235d53989116227cd52
HEAD_REF master
PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001_export_symbols.patch
)
diff --git a/ports/cryptopp/CONTROL b/ports/cryptopp/CONTROL
index 04c25da70..23a7bb456 100644
--- a/ports/cryptopp/CONTROL
+++ b/ports/cryptopp/CONTROL
@@ -1,4 +1,4 @@
Source: cryptopp
-Version: 8.1.0-2
+Version: 8.2.0
Homepage: https://github.com/weidai11/cryptopp
Description: Crypto++ is a free C++ class library of cryptographic schemes.
diff --git a/ports/cryptopp/missing-flags.patch b/ports/cryptopp/missing-flags.patch
deleted file mode 100644
index 349219233..000000000
--- a/ports/cryptopp/missing-flags.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b49fff6..f753e75 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -639,6 +639,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU
- set_source_files_properties(${SRC_DIR}/simeck_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3")
- set_source_files_properties(${SRC_DIR}/simon128_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3")
- set_source_files_properties(${SRC_DIR}/speck128_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3")
-+ set_source_files_properties(${SRC_DIR}/keccak_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3")
- if (CRYPTOPP_IA32_SSE41 AND NOT DISABLE_SSE4)
- set_source_files_properties(${SRC_DIR}/blake2s_simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1")
- set_source_files_properties(${SRC_DIR}/blake2b_simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1")
-@@ -648,6 +649,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU
- if (CRYPTOPP_IA32_SSE42 AND NOT DISABLE_SSE4)
- set_source_files_properties(${SRC_DIR}/crc_simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.2")
- if (CRYPTOPP_IA32_CLMUL AND NOT DISABLE_AES)
-+ set_source_files_properties(${SRC_DIR}/gf2n_simd.cpp PROPERTIES COMPILE_FLAGS "-mpclmul")
- set_source_files_properties(${SRC_DIR}/gcm_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3 -mpclmul")
- endif ()
- if (CRYPTOPP_IA32_AES AND NOT DISABLE_AES)
diff --git a/ports/cryptopp/portfile.cmake b/ports/cryptopp/portfile.cmake
index 728436d59..d744deccd 100644
--- a/ports/cryptopp/portfile.cmake
+++ b/ports/cryptopp/portfile.cmake
@@ -5,20 +5,18 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH CMAKE_SOURCE_PATH
REPO noloader/cryptopp-cmake
- REF b97d72f083fefa249e46ae3c15a2c294e615fca2
- SHA512 e6c65bb81a47009fa568c957beea65c37f2283bdc5afad6a45983f685c0b9c9c01ac4bb334d45dacbdc74f9d834b316c09cbb16d3ead7fb48737fbad76ff3f8d
+ REF 6d0666c457fbbf6f81819fd2b80f0cb5b6646593
+ SHA512 0341f14ce734afaee8bcc1db1716684f241499c692a5478c83a3df3fd2e5331cd04b2f4f51d43cce231ca1d9fbe76220639573c05ef06be0cf33081a1ef7ab30
HEAD_REF master
PATCHES
cmake.patch
- simon-speck.patch
- missing-flags.patch
)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO weidai11/cryptopp
- REF CRYPTOPP_8_1_0
- SHA512 2b09b30c53a8f95a9c3204a48867174c70a1e97171854122f4d8454b25d5af9b94cab2c210dd9857c7db66df881849183e82b6155b80bfef6e69dac8efd2ea9a
+ REF CRYPTOPP_8_2_0
+ SHA512 d2dcc107091d00800de243abdce8286ccd7fcc5707eebf88b97675456a021e62002e942b862db0465f72142951f631c0c1f0b2ba56028b96461780a17f2dfdf9
HEAD_REF master
PATCHES patch.patch
)
diff --git a/ports/cryptopp/simon-speck.patch b/ports/cryptopp/simon-speck.patch
deleted file mode 100644
index a1d911930..000000000
--- a/ports/cryptopp/simon-speck.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7d64977..4ec3ebd 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -497,6 +497,8 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU
- set_source_files_properties(${SRC_DIR}/simeck-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3")
- set_source_files_properties(${SRC_DIR}/simon128-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3")
- set_source_files_properties(${SRC_DIR}/speck128-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3")
-+ set_source_files_properties(${SRC_DIR}/simon-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3")
-+ set_source_files_properties(${SRC_DIR}/speck-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3")
- if (CRYPTOPP_IA32_SSE41 AND NOT DISABLE_SSE4)
- set_source_files_properties(${SRC_DIR}/blake2-simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1")
- set_source_files_properties(${SRC_DIR}/simon64-simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1")
diff --git a/ports/cxxopts/fix-uwp-error.patch b/ports/cxxopts/fix-uwp-error.patch
new file mode 100644
index 000000000..da1d45595
--- /dev/null
+++ b/ports/cxxopts/fix-uwp-error.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 440490b..0ceb003 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -54,6 +54,8 @@ endif()
+
+ add_library(cxxopts INTERFACE)
+
++add_definitions(-D_CRT_SECURE_NO_WARNINGS)
++
+ # optionally, enable unicode support using the ICU library
+ set(CXXOPTS_USE_UNICODE_HELP FALSE CACHE BOOL "Use ICU Unicode library")
+ if(CXXOPTS_USE_UNICODE_HELP)
diff --git a/ports/cxxopts/portfile.cmake b/ports/cxxopts/portfile.cmake
index b1c6697ed..782b2f21e 100644
--- a/ports/cxxopts/portfile.cmake
+++ b/ports/cxxopts/portfile.cmake
@@ -5,6 +5,8 @@ vcpkg_from_github(
REF v2.2.0
SHA512 9f5182b3a86b3d47d1ce5e1e222ab596fce59d3b2dcc0ab2c3802338d5e0f3e6556f2a5ff2accb32cae7e2db41ac5a361c93bf0256f9e44c316eaa4b47c19efa
HEAD_REF master
+ PATCHES
+ fix-uwp-error.patch
)
vcpkg_configure_cmake(
diff --git a/ports/date/0001-fix-uwp.patch b/ports/date/0001-fix-uwp.patch
new file mode 100644
index 000000000..b414722cd
--- /dev/null
+++ b/ports/date/0001-fix-uwp.patch
@@ -0,0 +1,13 @@
+diff --git i/include/date/date.h w/include/date/date.h
+index fce6200..6a77ad4 100644
+--- i/include/date/date.h
++++ w/include/date/date.h
+@@ -82,7 +82,7 @@
+ #ifdef _MSC_VER
+ # pragma warning(push)
+ // warning C4127: conditional expression is constant
+-# pragma warning(disable : 4127)
++# pragma warning(disable : 4127 4996)
+ #endif
+
+ namespace date
diff --git a/ports/date/CMakeLists.txt b/ports/date/CMakeLists.txt
deleted file mode 100644
index bacbf2716..000000000
--- a/ports/date/CMakeLists.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-cmake_minimum_required(VERSION 3.5.1)
-project(tz CXX)
-
-set(CMAKE_CXX_STANDARD 11)
-if(MSVC)
- add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS)
-endif()
-
-option(HAS_REMOTE_API "" 0)
-
-add_definitions(-DNOMINMAX -DHAS_REMOTE_API=${HAS_REMOTE_API})
-
-add_library(date INTERFACE)
-target_include_directories(date INTERFACE $<INSTALL_INTERFACE:include>)
-
-add_library(tz src/tz.cpp)
-target_include_directories(tz PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>)
-
-if(HAS_REMOTE_API)
- find_package(CURL REQUIRED)
- target_include_directories(tz PUBLIC $<BUILD_INTERFACE:${CURL_INCLUDE_DIRS}>)
- target_link_libraries(tz PUBLIC ${CURL_LIBRARIES})
-endif()
-
-if(BUILD_SHARED_LIBS)
- target_compile_definitions(tz PRIVATE -DDATE_BUILD_DLL)
-endif()
-
-install(
- TARGETS tz date
- EXPORT tz
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
-)
-
-file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-date-config.cmake" "include(\${CMAKE_CURRENT_LIST_DIR}/unofficial-date-targets.cmake)\n")
-
-install(EXPORT tz FILE unofficial-date-targets.cmake NAMESPACE unofficial::date:: DESTINATION share/unofficial-date)
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-date-config.cmake DESTINATION share/unofficial-date)
-
-if(NOT DISABLE_INSTALL_HEADERS)
- install(FILES include/date/date.h include/date/tz.h include/date/julian.h include/date/iso_week.h include/date/islamic.h DESTINATION include/date)
-endif()
diff --git a/ports/date/CONTROL b/ports/date/CONTROL
index 03cd721cb..eb1712116 100644
--- a/ports/date/CONTROL
+++ b/ports/date/CONTROL
@@ -1,7 +1,7 @@
Source: date
-Version: 2019-05-18-1
+Version: 2019-09-09
Homepage: https://github.com/HowardHinnant/date
-Description: A date and time library based on the C++11/14/17 <chrono> header
+Description: A date and time library based on the C++17 <chrono> header
Feature: remote-api
Description: support automatic download of tz data
diff --git a/ports/date/portfile.cmake b/ports/date/portfile.cmake
index c82db3330..ab2250b97 100644
--- a/ports/date/portfile.cmake
+++ b/ports/date/portfile.cmake
@@ -10,37 +10,39 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO HowardHinnant/date
- REF ed0368fc75427ef05cefdf19a39b60d7bed2f039
- SHA512 5f6a0d7e094fd1ab7b6a1ea9a96e467138220e9207e2eda68f71b68d6c56759e7470fabdfa920d92876e9c9b466e56ea8102333f407a46bb4cba43a2dfeb5e3a
+ REF 44344000f0fa32e66787d6d2c9ff5ddfd3605df7
+ SHA512 1ec75a4b6310f735261c996c63df8176f0523d8f59a23edd49fd8efbdcbf1e78051ba2f36df0920f6f5e6bbc8f81ea4639f73e05bb1cb7f97a8e500bde667782
HEAD_REF master
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-fix-uwp.patch"
)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-
-set(HAS_REMOTE_API 0)
+set(DATE_USE_SYSTEM_TZ_DB 1)
if("remote-api" IN_LIST FEATURES)
- set(HAS_REMOTE_API 1)
+ set(DATE_USE_SYSTEM_TZ_DB 0)
endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
- OPTIONS -DHAS_REMOTE_API=${HAS_REMOTE_API}
- OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON
+ OPTIONS
+ -DUSE_SYSTEM_TZ_DB=${DATE_USE_SYSTEM_TZ_DB}
+ -DENABLE_DATE_TESTING=OFF
)
vcpkg_install_cmake()
-vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-date TARGET_PATH share/unofficial-date)
+if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ vcpkg_fixup_cmake_targets(CONFIG_PATH CMake TARGET_PATH share/date)
+else()
+ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/date TARGET_PATH share/date)
+endif()
vcpkg_copy_pdbs()
-set(HEADER "${CURRENT_PACKAGES_DIR}/include/date/tz.h")
-file(READ "${HEADER}" _contents)
-string(REPLACE "#define TZ_H" "#define TZ_H\n#undef HAS_REMOTE_API\n#define HAS_REMOTE_API ${HAS_REMOTE_API}" _contents "${_contents}")
-if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- string(REPLACE "ifdef DATE_BUILD_DLL" "if 1" _contents "${_contents}")
-endif()
-file(WRITE "${HEADER}" "${_contents}")
-
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/date RENAME copyright)
+file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/date)
+
+# Remove the wrapper when backwards compatibility with the unofficial::date::date and unofficial::date::tz
+# targets is no longer required.
+file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/date)
diff --git a/ports/date/usage b/ports/date/usage
new file mode 100644
index 000000000..82f42f7f2
--- /dev/null
+++ b/ports/date/usage
@@ -0,0 +1,4 @@
+The package date provides CMake targets:
+
+ find_package(date CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE date::date date::tz)
diff --git a/ports/date/vcpkg-cmake-wrapper.cmake b/ports/date/vcpkg-cmake-wrapper.cmake
new file mode 100644
index 000000000..317c49b8c
--- /dev/null
+++ b/ports/date/vcpkg-cmake-wrapper.cmake
@@ -0,0 +1,11 @@
+_find_package(${ARGS})
+
+if(NOT TARGET unofficial::date::date AND TARGET date::date)
+ add_library(unofficial::date::date INTERFACE IMPORTED)
+ target_link_libraries(unofficial::date::date INTERFACE date::date)
+endif()
+
+if(NOT TARGET unofficial::date::tz AND TARGET date::tz)
+ add_library(unofficial::date::tz INTERFACE IMPORTED)
+ target_link_libraries(unofficial::date::tz INTERFACE date::tz)
+endif()
diff --git a/ports/dcmtk/CONTROL b/ports/dcmtk/CONTROL
index 1ae67841e..3f512ab0e 100644
--- a/ports/dcmtk/CONTROL
+++ b/ports/dcmtk/CONTROL
@@ -1,3 +1,3 @@
Source: dcmtk
-Version: 3.6.4-1
+Version: 3.6.4-2
Description: This DICOM ToolKit (DCMTK) package consists of source code, documentation and installation instructions for a set of software libraries and applications implementing part of the DICOM/MEDICOM Standard.
diff --git a/ports/dcmtk/portfile.cmake b/ports/dcmtk/portfile.cmake
index 39a7dc2c8..9039a65db 100644
--- a/ports/dcmtk/portfile.cmake
+++ b/ports/dcmtk/portfile.cmake
@@ -30,7 +30,7 @@ vcpkg_configure_cmake(
-DDCMTK_ENABLE_CXX11=ON
-DDCMTK_WIDE_CHAR_FILE_IO_FUNCTIONS=ON
-DDCMTK_WIDE_CHAR_MAIN_FUNCTION=ON
- -DCMAKE_DEBUG_POSTFIX="d"
+ -DCMAKE_DEBUG_POSTFIX=d
OPTIONS_DEBUG
-DINSTALL_HEADERS=OFF
-DINSTALL_OTHER=OFF
diff --git a/ports/dimcli/CONTROL b/ports/dimcli/CONTROL
index a477eb38b..4f6049616 100644
--- a/ports/dimcli/CONTROL
+++ b/ports/dimcli/CONTROL
@@ -1,4 +1,4 @@
Source: dimcli
-Version: 5.0.0
+Version: 5.0.1
Homepage: https://github.com/gknowles/dimcli
Description: C++ command line parser toolkit
diff --git a/ports/dimcli/fix-NameBoolean.patch b/ports/dimcli/fix-NameBoolean.patch
index 35eb64d68..a0d9afb56 100644
--- a/ports/dimcli/fix-NameBoolean.patch
+++ b/ports/dimcli/fix-NameBoolean.patch
@@ -1,63 +1,63 @@
-diff --git a/libs/dimcli/cli.cpp b/libs/dimcli/cli.cpp
-index 9e67c12..c96bd24 100644
---- a/libs/dimcli/cli.cpp
-+++ b/libs/dimcli/cli.cpp
-@@ -388,8 +388,8 @@ GroupConfig const & Cli::Config::findGrpOrDie(Cli const & cli) {
- ***/
-
- //===========================================================================
--Cli::OptBase::OptBase(string const & names, bool boolean)
-- : m_bool{boolean}
-+Cli::OptBase::OptBase(string const & names, bool in_boolean)
-+ : m_bool{in_boolean}
- , m_names{names}
- {
- // set m_fromName and assert if names is malformed
-@@ -486,12 +486,12 @@ static bool includeName(
- OptName const & name,
- NameListType type,
- Cli::OptBase const & opt,
-- bool boolean,
-+ bool in_boolean,
- bool inverted
- ) {
- if (name.opt != &opt)
- return false;
-- if (boolean) {
-+ if (in_boolean) {
- if (type == kNameEnable)
- return !name.invert;
- if (type == kNameDisable)
-diff --git a/libs/dimcli/cli.h b/libs/dimcli/cli.h
-index 2c1615c..3e4f405 100644
---- a/libs/dimcli/cli.h
-+++ b/libs/dimcli/cli.h
-@@ -818,7 +818,7 @@ public:
- };
-
- public:
-- OptBase(std::string const & keys, bool boolean);
-+ OptBase(std::string const & keys, bool in_boolean);
- virtual ~OptBase() {}
-
- //-----------------------------------------------------------------------
-@@ -952,7 +952,7 @@ inline void Cli::OptBase::setValueDesc<DIMCLI_LIB_FILESYSTEM_PATH>() {
- template <typename A, typename T>
- class Cli::OptShim : public OptBase {
- public:
-- OptShim(std::string const & keys, bool boolean);
-+ OptShim(std::string const & keys, bool in_boolean);
- OptShim(OptShim const &) = delete;
- OptShim & operator=(OptShim const &) = delete;
-
-@@ -1100,8 +1100,8 @@ protected:
-
- //===========================================================================
- template <typename A, typename T>
--Cli::OptShim<A, T>::OptShim(std::string const & keys, bool boolean)
-- : OptBase(keys, boolean)
-+Cli::OptShim<A, T>::OptShim(std::string const & keys, bool in_boolean)
-+ : OptBase(keys, in_boolean)
- {
- setValueDesc<T>();
- }
+diff --git a/libs/dimcli/cli.cpp b/libs/dimcli/cli.cpp
+index 45dac3b..6129884 100644
+--- a/libs/dimcli/cli.cpp
++++ b/libs/dimcli/cli.cpp
+@@ -392,8 +392,8 @@ GroupConfig const & Cli::Config::findGrpOrDie(Cli const & cli) {
+ ***/
+
+ //===========================================================================
+-Cli::OptBase::OptBase(string const & names, bool boolean)
+- : m_bool{boolean}
++Cli::OptBase::OptBase(string const & names, bool in_boolean)
++ : m_bool{in_boolean}
+ , m_names{names}
+ {
+ // set m_fromName and assert if names is malformed
+@@ -526,12 +526,12 @@ static bool includeName(
+ OptName const & name,
+ NameListType type,
+ Cli::OptBase const & opt,
+- bool boolean,
++ bool in_boolean,
+ bool inverted
+ ) {
+ if (name.opt != &opt)
+ return false;
+- if (boolean) {
++ if (in_boolean) {
+ if (type == kNameEnable)
+ return !name.invert;
+ if (type == kNameDisable)
+diff --git a/libs/dimcli/cli.h b/libs/dimcli/cli.h
+index d4941dc..fa8d526 100644
+--- a/libs/dimcli/cli.h
++++ b/libs/dimcli/cli.h
+@@ -777,7 +777,7 @@ public:
+ };
+
+ public:
+- OptBase(std::string const & keys, bool boolean);
++ OptBase(std::string const & keys, bool in_boolean);
+ virtual ~OptBase() {}
+
+ //-----------------------------------------------------------------------
+@@ -1062,7 +1062,7 @@ std::string Cli::OptBase::toValueDesc<DIMCLI_LIB_FILESYSTEM_PATH>() const {
+ template <typename A, typename T>
+ class Cli::OptShim : public OptBase {
+ public:
+- OptShim(std::string const & keys, bool boolean);
++ OptShim(std::string const & keys, bool in_boolean);
+ OptShim(OptShim const &) = delete;
+ OptShim & operator=(OptShim const &) = delete;
+
+@@ -1249,8 +1249,8 @@ protected:
+
+ //===========================================================================
+ template <typename A, typename T>
+-Cli::OptShim<A, T>::OptShim(std::string const & keys, bool boolean)
+- : OptBase(keys, boolean)
++Cli::OptShim<A, T>::OptShim(std::string const & keys, bool in_boolean)
++ : OptBase(keys, in_boolean)
+ {
+ if (std::is_arithmetic<T>::value)
+ this->imbue(std::locale(""));
diff --git a/ports/dimcli/portfile.cmake b/ports/dimcli/portfile.cmake
index 2c8049a43..938d313a9 100644
--- a/ports/dimcli/portfile.cmake
+++ b/ports/dimcli/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO gknowles/dimcli
- REF v5.0.0
- SHA512 504e6f53e83ce17e8e4b59ecf1a610c2249c2bf48a308b1ee5db0e0e85d3cb08178d24534b5dee8bfaac83fd44c68cbbe8d300283d0023467b724a9340b56e4c
+ REF v5.0.1
+ SHA512 ff005777230f9ded5e407f11ebed7d70db2a18ec60da8c80d36644b96c9d090d2f211e3c36b7d296a446c1b54d61c359a51082034b94e2398cc2305316f33d0f
HEAD_REF master
PATCHES
fix-NameBoolean.patch
diff --git a/ports/directxmesh/CONTROL b/ports/directxmesh/CONTROL
index 331466f53..63b94376d 100644
--- a/ports/directxmesh/CONTROL
+++ b/ports/directxmesh/CONTROL
@@ -1,4 +1,4 @@
Source: directxmesh
-Version: jun2019-1
-Homepage: https://github.com/Microsoft/DirectXMesh
+Version: aug2019
+Homepage: https://walbourn.github.io/directxmesh
Description: DirectXMesh geometry processing library \ No newline at end of file
diff --git a/ports/directxmesh/portfile.cmake b/ports/directxmesh/portfile.cmake
index 3cf718727..9c00ef4fe 100644
--- a/ports/directxmesh/portfile.cmake
+++ b/ports/directxmesh/portfile.cmake
@@ -9,8 +9,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/DirectXMesh
- REF jun2019
- SHA512 6d42cd4d3e34e7f3bd5cee1a9ad90c9f89eafa55951a0a8d776034a05caa06b0fd17629547d14c8f2b4d0c5fafdbd24ae05c2a6582b5d069093d6b4dadac09a0
+ REF aug2019
+ SHA512 7b5a02783444a89813c6736e3d6eadf66515bdd10055b9b6b1bc25b30ee0ec315ec9936d3a9bd52b2b8df78b3b5072465963c8123c04f77a1838d5cddc4eeb21
HEAD_REF master
)
diff --git a/ports/directxtex/CONTROL b/ports/directxtex/CONTROL
index 4eb03bb01..8cf334852 100644
--- a/ports/directxtex/CONTROL
+++ b/ports/directxtex/CONTROL
@@ -1,4 +1,4 @@
Source: directxtex
-Version: jun2019-1
-Homepage: https://github.com/Microsoft/DirectXTex
+Version: aug2019
+Homepage: https://walbourn.github.io/directxtex
Description: DirectXTex texture processing library \ No newline at end of file
diff --git a/ports/directxtex/portfile.cmake b/ports/directxtex/portfile.cmake
index a58d53169..250d3bd60 100644
--- a/ports/directxtex/portfile.cmake
+++ b/ports/directxtex/portfile.cmake
@@ -9,8 +9,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/DirectXTex
- REF jun2019
- SHA512 036a4593f8117e622cd6f609aea5bad734f9c3fc239984ec4f970cb6634ac3097cdb5ed2e467d3b1549e2340bcfe10ee4925b4e3691cf7f729ca538d3724c26e
+ REF aug2019
+ SHA512 16e29fc2ce0c03d71d44dd770271498fc45cd6d29bb48b2a574f65988c0be4319c91d531a2609c0dfbbdf721fd168091d7e9b653c741a6709a8906ea9555548f
HEAD_REF master
)
diff --git a/ports/directxtk/CONTROL b/ports/directxtk/CONTROL
index cbe291a8f..16fe95fda 100644
--- a/ports/directxtk/CONTROL
+++ b/ports/directxtk/CONTROL
@@ -1,4 +1,4 @@
Source: directxtk
-Version: jun2019-1
-Homepage: https://github.com/Microsoft/DirectXTK
+Version: aug2019
+Homepage: https://walbourn.github.io/directxtk
Description: A collection of helper classes for writing DirectX 11.x code in C++.
diff --git a/ports/directxtk/portfile.cmake b/ports/directxtk/portfile.cmake
index df5e7a02b..39bf4ad5f 100644
--- a/ports/directxtk/portfile.cmake
+++ b/ports/directxtk/portfile.cmake
@@ -9,8 +9,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/DirectXTK
- REF jun2019
- SHA512 211b18ee0755802a5d44b58da2485276cabdee222d2f5fd7b42bad0bf75810e3ac1bd319b90891d9cc0345b124631ad37588422af9120cece9fa0ed769033e77
+ REF aug2019
+ SHA512 acd8ccd56ffec13749b62ec59fa3fe4c771d12b1a595595ba73bda8e63f14b45342e251d4dec6d1d918b6b4e3b4e0e6f6bfef91b03b09f034ee978c64c7fe3b8
HEAD_REF master
)
diff --git a/ports/directxtk12/CONTROL b/ports/directxtk12/CONTROL
index 2d7c849c2..06089d6cc 100644
--- a/ports/directxtk12/CONTROL
+++ b/ports/directxtk12/CONTROL
@@ -1,4 +1,4 @@
Source: directxtk12
-Version: jun2019-1
-Homepage: https://github.com/Microsoft/DirectXTK12
+Version: aug2019
+Homepage: https://walbourn.github.io/directx-tool-kit-for-directx-12
Description: A collection of helper classes for writing DirectX 12 code in C++.
diff --git a/ports/directxtk12/portfile.cmake b/ports/directxtk12/portfile.cmake
index 114165fb4..38c629ede 100644
--- a/ports/directxtk12/portfile.cmake
+++ b/ports/directxtk12/portfile.cmake
@@ -9,8 +9,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/DirectXTK12
- REF jun2019
- SHA512 f635746ff92cf3b60b96f74f5ada5fb8409d1ac6e2729d24ebf0ebb275e26d373ec0ccdfbb66a3cb967267da86de4d70304d1f3326b738f94f5a8fc0d43a8c97
+ REF aug2019
+ SHA512 e1f31a4d2d1963c9de507f723bdd6c1626c61c6b3c1585c6ed7c587d14dc090fec5114c7cec00eecb2c70f11e668581d423a68aa94444931370a0c93ca2daa24
HEAD_REF master
)
diff --git a/ports/dlfcn-win32/CONTROL b/ports/dlfcn-win32/CONTROL
index 453ecf9e4..5d2eb9d2f 100644
--- a/ports/dlfcn-win32/CONTROL
+++ b/ports/dlfcn-win32/CONTROL
@@ -1,4 +1,4 @@
Source: dlfcn-win32
-Version: 1.1.1-2
+Version: 1.1.1-3
Homepage: https://github.com/dlfcn-win32/dlfcn-win32
Description: dlfcn-win32 is an implementation of dlfcn for Windows.
diff --git a/ports/dlfcn-win32/portfile.cmake b/ports/dlfcn-win32/portfile.cmake
index d67fb00fe..1c290844c 100644
--- a/ports/dlfcn-win32/portfile.cmake
+++ b/ports/dlfcn-win32/portfile.cmake
@@ -1,15 +1,3 @@
-# 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_VERSION 1.1.1)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/dlfcn-win32-${SOURCE_VERSION})
@@ -36,6 +24,5 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
vcpkg_copy_pdbs()
-# Handle copyright
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/dlfcn-win32)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/dlfcn-win32/COPYING ${CURRENT_PACKAGES_DIR}/share/dlfcn-win32/copyright)
+file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
diff --git a/ports/dmlc/CONTROL b/ports/dmlc/CONTROL
new file mode 100644
index 000000000..1c16f0547
--- /dev/null
+++ b/ports/dmlc/CONTROL
@@ -0,0 +1,8 @@
+Source: dmlc
+Version: 2019-08-12
+Homepage: https://github.com/dmlc/dmlc-core
+Description: DMLC-Core is the backbone library to support all DMLC projects, offers the bricks to build efficient and scalable distributed machine learning libraries.
+Default-Features: openmp
+
+Feature: openmp
+Description: Build with openmp \ No newline at end of file
diff --git a/ports/dmlc/portfile.cmake b/ports/dmlc/portfile.cmake
new file mode 100644
index 000000000..ae9797c61
--- /dev/null
+++ b/ports/dmlc/portfile.cmake
@@ -0,0 +1,43 @@
+include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message(FATAL_ERROR "${PORT} currently doesn't supports UWP.")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO dmlc/dmlc-core
+ REF d3fd7c5e9b9c280d3081ada3fb62705547c00bf1
+ SHA512 6887d52ddd00949866c27bea3c860abb8a7ecf61feeac79d67d260635e9c3e490b6f0538cbc0ccc1f03e90ab4094bfc0fcb938adb3fb5afe9fea813d47cc7430
+ HEAD_REF master
+)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ openmp ENABLE_OPENMP
+)
+
+if(VCPKG_CRT_LINKAGE STREQUAL dynamic)
+ set(DMLC_FORCE_SHARED_CRT ON)
+else()
+ set(DMLC_FORCE_SHARED_CRT OFF)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DDMLC_FORCE_SHARED_CRT=${DMLC_FORCE_SHARED_CRT}
+ -DUSE_OPENMP=${ENABLE_OPENMP}
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/dmlc)
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) \ No newline at end of file
diff --git a/ports/duktape/CONTROL b/ports/duktape/CONTROL
index 769e3bc82..27fe7556c 100644
--- a/ports/duktape/CONTROL
+++ b/ports/duktape/CONTROL
@@ -1,5 +1,5 @@
Source: duktape
-Version: 2.3.0-3
+Version: 2.4.0-4
Homepage: https://github.com/svaarala/duktape
Description: Embeddable Javascript engine with a focus on portability and compact footprint.
Build-Depends:
diff --git a/ports/duktape/portfile.cmake b/ports/duktape/portfile.cmake
index 5c855027f..3f9b03e41 100644
--- a/ports/duktape/portfile.cmake
+++ b/ports/duktape/portfile.cmake
@@ -7,8 +7,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO svaarala/duktape
- REF v2.3.0
- SHA512 dd715eab481b948cf71d3ad16d2544166eb53da0df8936a4ac9c33e1f1277ef6efe542782a4c7f689f6c0c8963d7094749af455ff6a8c59593aa56ebb57e5c6f
+ REF v2.4.0
+ SHA512 5f42ff6faab8d49531423e199c032fd2de49524bab71f39d1cf822e6f9ee82a6089c9a93837ae7849d19a95693318a8480986e4672f6f73f3182b4902e6b2daa
HEAD_REF master
)
@@ -27,12 +27,14 @@ get_filename_component(PYTHON2_DIR "${PYTHON2}" DIRECTORY)
vcpkg_add_to_path("${PYTHON2_DIR}")
if(NOT EXISTS ${PYTHON2_DIR}/easy_install${EXECUTABLE_SUFFIX})
if(NOT EXISTS ${PYTHON2_DIR}/Scripts/pip${EXECUTABLE_SUFFIX})
- vcpkg_download_distfile(GET_PIP
- URLS "https://bootstrap.pypa.io/3.3/get-pip.py"
- FILENAME "tools/python/python2/get-pip.py"
- SHA512 92e68525830bb23955a31cb19ebc3021ef16b6337eab83d5db2961b791283d2867207545faf83635f6027f2f7b7f8fee2c85f2cfd8e8267df25406474571c741
- )
- execute_process(COMMAND ${PYTHON2_DIR}/python${EXECUTABLE_SUFFIX} ${PYTHON2_DIR}/get-pip.py)
+ vcpkg_from_github(
+ OUT_SOURCE_PATH PYFILE_PATH
+ REPO pypa/get-pip
+ REF 309a56c5fd94bd1134053a541cb4657a4e47e09d #2019-08-25
+ SHA512 bb4b0745998a3205cd0f0963c04fb45f4614ba3b6fcbe97efe8f8614192f244b7ae62705483a5305943d6c8fedeca53b2e9905aed918d2c6106f8a9680184c7a
+ HEAD_REF master
+ )
+ execute_process(COMMAND ${PYTHON2_DIR}/python${EXECUTABLE_SUFFIX} ${PYFILE_PATH}/get-pip.py)
endif()
execute_process(COMMAND ${PYTHON2_DIR}/Scripts/pip${EXECUTABLE_SUFFIX} install pyyaml)
else()
diff --git a/ports/ecsutil/CONTROL b/ports/ecsutil/CONTROL
index 9621f8781..e272e2634 100644
--- a/ports/ecsutil/CONTROL
+++ b/ports/ecsutil/CONTROL
@@ -1,4 +1,4 @@
-Source: ecsutil
-Version: 1.0.7.2
-Description: Native Windows SDK for accessing ECS via the S3 HTTP protocol.
-Build-Depends: atlmfc (windows)
+Source: ecsutil
+Version: 1.0.7.3
+Description: Native Windows SDK for accessing ECS via the S3 HTTP protocol.
+Build-Depends: atlmfc (windows)
diff --git a/ports/ecsutil/NoLibSyms.patch b/ports/ecsutil/NoLibSyms.patch
deleted file mode 100644
index e4f7e77bd..000000000
--- a/ports/ecsutil/NoLibSyms.patch
+++ /dev/null
@@ -1,41 +0,0 @@
- ECSUtil/ECSUtil.vcxproj | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/ECSUtil/ECSUtil.vcxproj b/ECSUtil/ECSUtil.vcxproj
-index 05c5726..4b5de57 100644
---- a/ECSUtil/ECSUtil.vcxproj
-+++ b/ECSUtil/ECSUtil.vcxproj
-@@ -289,7 +289,7 @@
- <SDLCheck>true</SDLCheck>
- <PreprocessToFile>false</PreprocessToFile>
- <PreprocessKeepComments>false</PreprocessKeepComments>
-- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-+ <DebugInformationFormat>None</DebugInformationFormat>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
-@@ -317,7 +317,7 @@
- <SDLCheck>true</SDLCheck>
- <PreprocessToFile>false</PreprocessToFile>
- <PreprocessKeepComments>false</PreprocessKeepComments>
-- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-+ <DebugInformationFormat>None</DebugInformationFormat>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
-@@ -462,6 +462,7 @@
- <SDLCheck>true</SDLCheck>
- <PreprocessToFile>false</PreprocessToFile>
- <PreprocessKeepComments>false</PreprocessKeepComments>
-+ <DebugInformationFormat>None</DebugInformationFormat>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
-@@ -493,6 +494,7 @@
- <SDLCheck>true</SDLCheck>
- <PreprocessToFile>false</PreprocessToFile>
- <PreprocessKeepComments>false</PreprocessKeepComments>
-+ <DebugInformationFormat>None</DebugInformationFormat>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
diff --git a/ports/ecsutil/portfile.cmake b/ports/ecsutil/portfile.cmake
index eeb9eca53..d59805f23 100644
--- a/ports/ecsutil/portfile.cmake
+++ b/ports/ecsutil/portfile.cmake
@@ -28,10 +28,9 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO EMCECS/ecs-object-client-windows-cpp
- REF v1.0.7.2
- SHA512 2505db74b370271bd9ad8e73248e3d29384ad9a6f1c8246203abe82f99ea8f75419482031024127361358c339955fd2a029a5c77f5ce6e7a35c18f1fc0635c88
+ REF v1.0.7.3
+ SHA512 b678a784f26c8ac5fdac6f2be2c7fe2a2e1b0152d5cc21e629a077fce8dd9a72db46a348e4024a31273d45833f002a7823957295ec74392500ba069e8da8555d
HEAD_REF master
- PATCHES NoLibSyms.patch
)
vcpkg_install_msbuild(
diff --git a/ports/egl-registry/CONTROL b/ports/egl-registry/CONTROL
index dc7cdec79..64b4745a4 100644
--- a/ports/egl-registry/CONTROL
+++ b/ports/egl-registry/CONTROL
@@ -1,3 +1,3 @@
Source: egl-registry
-Version: 2018-06-30-1
+Version: 2019-08-08
Description: the EGL API and Extension Registry
diff --git a/ports/egl-registry/portfile.cmake b/ports/egl-registry/portfile.cmake
index ee6fc23dc..9c7265d6b 100644
--- a/ports/egl-registry/portfile.cmake
+++ b/ports/egl-registry/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO KhronosGroup/EGL-Registry
- REF e2562a9e7f567b837cdf96cf8b12e7fc0d88cc30
- SHA512 8c380c26f6afc0ce2ab2dd2fe834daae0d0dbe9e2bd55ab30c80f8dfa5e234f1902e5735c4d8acf016f03924a46431b9bb794bb77f1f091c56905a98c38f5d04
+ REF 598f20e3b7b7eec3e8d8a83e64b9592a21c55bb6
+ SHA512 360aa2399fec12ad23c5e4bce7e9287a9b1b1d98ba6c326dde2b1bc1c32735bc6933ca8e5c626ba421cda5aac216bc7c268e064cf0dd67605a23151e29ba1f36
HEAD_REF master
)
diff --git a/ports/embree3/CONTROL b/ports/embree3/CONTROL
index 431f60704..be2b8ba86 100644
--- a/ports/embree3/CONTROL
+++ b/ports/embree3/CONTROL
@@ -1,5 +1,5 @@
Source: embree3
-Version: 3.5.2-1
+Version: 3.5.2-2
Homepage: https://github.com/embree/embree
Description: High Performance Ray Tracing Kernels.
Build-Depends: tbb
diff --git a/ports/embree3/fix-cmake-path.patch b/ports/embree3/fix-cmake-path.patch
new file mode 100644
index 000000000..e1e65eda3
--- /dev/null
+++ b/ports/embree3/fix-cmake-path.patch
@@ -0,0 +1,163 @@
+diff --git a/common/lexers/CMakeLists.txt b/common/lexers/CMakeLists.txt
+index 10c8caf..95d96dc 100644
+--- a/common/lexers/CMakeLists.txt
++++ b/common/lexers/CMakeLists.txt
+@@ -23,7 +23,7 @@ SET_PROPERTY(TARGET lexers PROPERTY FOLDER common)
+ SET_PROPERTY(TARGET lexers APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}")
+
+ IF (EMBREE_STATIC_LIB)
+- INSTALL(TARGETS lexers EXPORT lexers-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel)
+- INSTALL(EXPORT lexers-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel)
++ INSTALL(TARGETS lexers EXPORT lexers-targets DESTINATION share/embree3 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel)
++ INSTALL(EXPORT lexers-targets DESTINATION share/embree3 COMPONENT devel)
+ SIGN_TARGET(lexers)
+ ENDIF()
+diff --git a/common/math/CMakeLists.txt b/common/math/CMakeLists.txt
+index e7ed3b1..13247ca 100644
+--- a/common/math/CMakeLists.txt
++++ b/common/math/CMakeLists.txt
+@@ -19,8 +19,8 @@ SET_PROPERTY(TARGET math PROPERTY FOLDER common)
+ SET_PROPERTY(TARGET math APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}")
+
+ IF (EMBREE_STATIC_LIB)
+- INSTALL(TARGETS math EXPORT math-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel)
+- INSTALL(EXPORT math-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel)
++ INSTALL(TARGETS math EXPORT math-targets DESTINATION share/embree3 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel)
++ INSTALL(EXPORT math-targets DESTINATION share/embree3 COMPONENT devel)
+ SIGN_TARGET(math)
+ ENDIF()
+
+diff --git a/common/simd/CMakeLists.txt b/common/simd/CMakeLists.txt
+index 5b1658c..81d7c80 100644
+--- a/common/simd/CMakeLists.txt
++++ b/common/simd/CMakeLists.txt
+@@ -19,7 +19,7 @@ SET_PROPERTY(TARGET simd PROPERTY FOLDER common)
+ SET_PROPERTY(TARGET simd APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}")
+
+ IF (EMBREE_STATIC_LIB)
+- INSTALL(TARGETS simd EXPORT simd-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel)
+- INSTALL(EXPORT simd-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel)
++ INSTALL(TARGETS simd EXPORT simd-targets DESTINATION share/embree3 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel)
++ INSTALL(EXPORT simd-targets DESTINATION share/embree3 COMPONENT devel)
+ SIGN_TARGET(simd)
+ ENDIF()
+diff --git a/common/sys/CMakeLists.txt b/common/sys/CMakeLists.txt
+index e0e0848..b57e6be 100644
+--- a/common/sys/CMakeLists.txt
++++ b/common/sys/CMakeLists.txt
+@@ -35,7 +35,7 @@ SET_PROPERTY(TARGET sys PROPERTY FOLDER common)
+ SET_PROPERTY(TARGET sys APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}")
+
+ IF (EMBREE_STATIC_LIB)
+- INSTALL(TARGETS sys EXPORT sys-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel)
+- INSTALL(EXPORT sys-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel)
++ INSTALL(TARGETS sys EXPORT sys-targets DESTINATION share/embree3 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel)
++ INSTALL(EXPORT sys-targets DESTINATION share/embree3 COMPONENT devel)
+ SIGN_TARGET(sys)
+ ENDIF()
+diff --git a/common/tasking/CMakeLists.txt b/common/tasking/CMakeLists.txt
+index f5db33f..b96671a 100644
+--- a/common/tasking/CMakeLists.txt
++++ b/common/tasking/CMakeLists.txt
+@@ -28,7 +28,7 @@ SET_PROPERTY(TARGET tasking PROPERTY FOLDER common)
+ SET_PROPERTY(TARGET tasking APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}")
+
+ IF (EMBREE_STATIC_LIB)
+- INSTALL(TARGETS tasking EXPORT tasking-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel)
+- INSTALL(EXPORT tasking-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel)
++ INSTALL(TARGETS tasking EXPORT tasking-targets DESTINATION share/embree3 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel)
++ INSTALL(EXPORT tasking-targets DESTINATION share/embree3 COMPONENT devel)
+ SIGN_TARGET(tasking)
+ ENDIF()
+diff --git a/kernels/CMakeLists.txt b/kernels/CMakeLists.txt
+index a5774d2..b637321 100644
+--- a/kernels/CMakeLists.txt
++++ b/kernels/CMakeLists.txt
+@@ -255,8 +255,8 @@ IF (EMBREE_ISA_SSE42 AND EMBREE_LIBRARY_FILES_SSE42)
+ SET(EMBREE_LIBRARIES ${EMBREE_LIBRARIES} embree_sse42)
+ CheckGlobals(embree_sse42)
+ IF (EMBREE_STATIC_LIB)
+- INSTALL(TARGETS embree_sse42 EXPORT embree_sse42-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel)
+- INSTALL(EXPORT embree_sse42-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel)
++ INSTALL(TARGETS embree_sse42 EXPORT embree_sse42-targets DESTINATION share/embree3 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel)
++ INSTALL(EXPORT embree_sse42-targets DESTINATION share/embree3 COMPONENT devel)
+ ENDIF()
+ ENDIF ()
+
+@@ -268,8 +268,8 @@ IF (EMBREE_ISA_AVX AND EMBREE_LIBRARY_FILES_AVX)
+ SET(EMBREE_LIBRARIES ${EMBREE_LIBRARIES} embree_avx)
+ CheckGlobals(embree_avx)
+ IF (EMBREE_STATIC_LIB)
+- INSTALL(TARGETS embree_avx EXPORT embree_avx-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel)
+- INSTALL(EXPORT embree_avx-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel)
++ INSTALL(TARGETS embree_avx EXPORT embree_avx-targets DESTINATION share/embree3 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel)
++ INSTALL(EXPORT embree_avx-targets DESTINATION share/embree3 COMPONENT devel)
+ ENDIF()
+ ENDIF()
+
+@@ -281,8 +281,8 @@ IF (EMBREE_ISA_AVX2 AND EMBREE_LIBRARY_FILES_AVX2)
+ SET(EMBREE_LIBRARIES ${EMBREE_LIBRARIES} embree_avx2)
+ CheckGlobals(embree_avx2)
+ IF (EMBREE_STATIC_LIB)
+- INSTALL(TARGETS embree_avx2 EXPORT embree_avx2-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel)
+- INSTALL(EXPORT embree_avx2-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel)
++ INSTALL(TARGETS embree_avx2 EXPORT embree_avx2-targets DESTINATION share/embree3 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel)
++ INSTALL(EXPORT embree_avx2-targets DESTINATION share/embree3 COMPONENT devel)
+ ENDIF()
+ ENDIF()
+
+@@ -294,8 +294,8 @@ IF (EMBREE_ISA_AVX512KNL AND EMBREE_LIBRARY_FILES_AVX512KNL)
+ SET(EMBREE_LIBRARIES ${EMBREE_LIBRARIES} embree_avx512knl)
+ CheckGlobals(embree_avx512knl)
+ IF (EMBREE_STATIC_LIB)
+- INSTALL(TARGETS embree_avx512knl EXPORT embree_avx512knl-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel)
+- INSTALL(EXPORT embree_avx512knl-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel)
++ INSTALL(TARGETS embree_avx512knl EXPORT embree_avx512knl-targets DESTINATION share/embree3 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel)
++ INSTALL(EXPORT embree_avx512knl-targets DESTINATION share/embree3 COMPONENT devel)
+ ENDIF()
+ ENDIF()
+
+@@ -307,8 +307,8 @@ IF (EMBREE_ISA_AVX512SKX AND EMBREE_LIBRARY_FILES_AVX512SKX)
+ SET(EMBREE_LIBRARIES ${EMBREE_LIBRARIES} embree_avx512skx)
+ CheckGlobals(embree_avx512skx)
+ IF (EMBREE_STATIC_LIB)
+- INSTALL(TARGETS embree_avx512skx EXPORT embree_avx512skx-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel)
+- INSTALL(EXPORT embree_avx512skx-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel)
++ INSTALL(TARGETS embree_avx512skx EXPORT embree_avx512skx-targets DESTINATION share/embree3 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel)
++ INSTALL(EXPORT embree_avx512skx-targets DESTINATION share/embree3 COMPONENT devel)
+ ENDIF()
+ ENDIF()
+
+@@ -331,7 +331,7 @@ ELSE()
+ SET_TARGET_PROPERTIES(embree PROPERTIES VERSION ${EMBREE_VERSION} SOVERSION ${EMBREE_VERSION_MAJOR})
+ ENDIF()
+
+-INSTALL(TARGETS embree EXPORT embree-targets
++INSTALL(TARGETS embree EXPORT embree-targets DESTINATION share/embree3
+ LIBRARY NAMELINK_SKIP DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib
+ # on Windows put the dlls into bin
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT examples
+@@ -340,7 +340,7 @@ INSTALL(TARGETS embree EXPORT embree-targets
+ )
+
+ IF (EMBREE_STATIC_LIB)
+- INSTALL(EXPORT embree-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel)
++ INSTALL(EXPORT embree-targets DESTINATION share/embree3 COMPONENT devel)
+ ENDIF()
+
+ IF (NOT EMBREE_STATIC_LIB)
+diff --git a/common/cmake/package.cmake b/common/cmake/package.cmake
+index 0c365ac..7b140a5 100644
+--- a/common/cmake/package.cmake
++++ b/common/cmake/package.cmake
+@@ -124,8 +124,8 @@ CONFIGURE_FILE(common/cmake/embree-config-version.cmake embree-config-version.cm
+ # create a config file for the build directory
+ CONFIGURE_FILE(common/cmake/embree-config-builddir.cmake embree-config.cmake @ONLY)
+
+-INSTALL(FILES "${PROJECT_BINARY_DIR}/embree-config-install.cmake" DESTINATION ${EMBREE_CMAKECONFIG_DIR}/share/embree3 RENAME "embree-config.cmake" COMPONENT devel)
+-INSTALL(FILES "${PROJECT_BINARY_DIR}/embree-config-version.cmake" DESTINATION ${EMBREE_CMAKECONFIG_DIR}/share/embree3 COMPONENT devel)
++INSTALL(FILES "${PROJECT_BINARY_DIR}/embree-config-install.cmake" DESTINATION share/embree3 RENAME "embree-config.cmake" COMPONENT devel)
++INSTALL(FILES "${PROJECT_BINARY_DIR}/embree-config-version.cmake" DESTINATION share/embree3 COMPONENT devel)
+
+ ##############################################################
+ # CPack specific stuff
diff --git a/ports/embree3/portfile.cmake b/ports/embree3/portfile.cmake
index 4abc91470..c43dbb45c 100644
--- a/ports/embree3/portfile.cmake
+++ b/ports/embree3/portfile.cmake
@@ -6,8 +6,9 @@ vcpkg_from_github(
REF v3.5.2
SHA512 f00403c8bc76428088a38990117245b5b11ac90a2df21fa12c2d5c2e8af45fb3708abb705c612e0d9d7b0cfe4edb51c8b9630b60081b39fcb4370f31ee37acc7
HEAD_REF master
- PATCHES
- fix-InstallPath.patch
+ PATCHES
+ fix-InstallPath.patch
+ fix-cmake-path.patch
)
file(REMOVE ${SOURCE_PATH}/common/cmake/FindTBB.cmake)
@@ -18,6 +19,12 @@ else()
set(EMBREE_STATIC_RUNTIME OFF)
endif()
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ set(EMBREE_STATIC_LIB ON)
+else()
+ set(EMBREE_STATIC_LIB OFF)
+endif()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
DISABLE_PARALLEL_CONFIGURE
@@ -26,6 +33,7 @@ vcpkg_configure_cmake(
-DEMBREE_ISPC_SUPPORT=OFF
-DEMBREE_TUTORIALS=OFF
-DEMBREE_STATIC_RUNTIME=${EMBREE_STATIC_RUNTIME}
+ -DEMBREE_STATIC_LIB=${EMBREE_STATIC_LIB}
"-DTBB_LIBRARIES=TBB::tbb"
"-DTBB_INCLUDE_DIRS=${CURRENT_INSTALLED_DIR}/include"
)
@@ -35,15 +43,12 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_copy_pdbs()
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
- vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake)
-endif()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/embree3)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/doc ${CURRENT_PACKAGES_DIR}/share/embree3/doc)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/doc ${CURRENT_PACKAGES_DIR}/share/${PORT}/doc)
# Handle copyright
-file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/embree3)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/embree3/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/embree3/copyright)
+file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/enet/CONTROL b/ports/enet/CONTROL
index 7d2a87bf5..d28284306 100644
--- a/ports/enet/CONTROL
+++ b/ports/enet/CONTROL
@@ -1,5 +1,5 @@
Source: enet
-Version: 1.3.13
+Version: 1.3.13-1
Homepage: https://github.com/lsalzman/enet
Description: Reliable UDP networking library
diff --git a/ports/enet/portfile.cmake b/ports/enet/portfile.cmake
index 2a7fa4585..11c56137c 100644
--- a/ports/enet/portfile.cmake
+++ b/ports/enet/portfile.cmake
@@ -1,15 +1,3 @@
-# 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"
@@ -32,7 +20,6 @@ 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()
-vcpkg_copy_pdbs() \ No newline at end of file
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/entt/CONTROL b/ports/entt/CONTROL
index 4ce029aef..dcc2a92d0 100644
--- a/ports/entt/CONTROL
+++ b/ports/entt/CONTROL
@@ -1,4 +1,4 @@
Source: entt
-Version: 3.0.0-1
+Version: 3.1.1
Description: Gaming meets modern C++ - a fast and reliable entity-component system and much more.
Homepage: https://github.com/skypjack/entt
diff --git a/ports/entt/portfile.cmake b/ports/entt/portfile.cmake
index 3aed9147f..4642d8f7b 100644
--- a/ports/entt/portfile.cmake
+++ b/ports/entt/portfile.cmake
@@ -4,8 +4,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO skypjack/entt
- REF v3.0.0
- SHA512 4c68d202bf00cb3f317bcf6e3c0d281e97718f6e4e198b2e280ec8bbfb7d1493e369ec30d2aea40aec3dbb5715a03bf445d1ea4f033621531e63998800bf2564
+ REF v3.1.1
+ SHA512 eec6dfa82c0290d4c9da2dda5eb31b8fca9de7378aa1560bea78512fa358da34b64efa7cb6c70b7d6fed0ea8dd041d44c6348d847f14b071a61f3258a4f720c1
HEAD_REF master
)
diff --git a/ports/evpp/CONTROL b/ports/evpp/CONTROL
index 7c61e4ebd..b9ec8d278 100644
--- a/ports/evpp/CONTROL
+++ b/ports/evpp/CONTROL
@@ -1,5 +1,5 @@
Source: evpp
-Version: 0.7.0
+Version: 0.7.0-1
Homepage: https://github.com/Qihoo360/evpp
Description: A modern C++ network library based on libevent for developing high performance network services in TCP/UDP/HTTP protocols.
-Build-Depends: glog, libevent, rapidjson
+Build-Depends: glog, libevent, rapidjson, concurrentqueue (!windows), boost-lockfree (!windows)
diff --git a/ports/evpp/fix-linux-build.patch b/ports/evpp/fix-linux-build.patch
new file mode 100644
index 000000000..2b772a145
--- /dev/null
+++ b/ports/evpp/fix-linux-build.patch
@@ -0,0 +1,112 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7872fc8..2a06614 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -47,7 +47,11 @@ string (REPLACE ";" " " CMAKE_CXX_FLAGS "${CXX_FLAGS}")
+ if (UNIX)
+ SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -ggdb -D_DEBUG -DGOOGLE_STRIP_LOG=0")
+ SET(CMAKE_CXX_FLAGS_RELEASE "-O3 -g -ggdb -DNDEBUG -DGOOGLE_STRIP_LOG=1")
+- SET(DEPENDENT_LIBRARIES event glog pthread)
++ find_package(glog CONFIG REQUIRED)
++ find_path(GLOG_INCLUDE_DIRS logging.h PATH_SUFFIXES glog)
++ find_package(Libevent CONFIG REQUIRED)
++ list(APPEND DEPENDENT_INCLUDE_DIRS "${GLOG_INCLUDE_DIRS}/../")
++ SET(DEPENDENT_LIBRARIES event_static event_core_static event_extra_static event_openssl_static glog::glog pthread)
+ else (UNIX)
+ SET(DEPENDENT_LIBRARIES event glog)
+ endif (UNIX)
+diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt
+index 469ed1c..8219424 100644
+--- a/apps/CMakeLists.txt
++++ b/apps/CMakeLists.txt
+@@ -2,7 +2,7 @@
+ include_directories(${PROJECT_SOURCE_DIR}/apps ${PROJECT_SOURCE_DIR}/3rdparty)
+
+ if (UNIX)
+-set(LIBRARIES evpp_concurrentqueue event glog pthread)
++set(LIBRARIES evpp_concurrentqueue event_static event_core_static event_extra_static event_openssl_static glog::glog pthread)
+ link_directories("/home/s/safe/lib" ${PROJECT_BUILD_DIR}/lib)
+ else(UNIX)
+ set(LIBRARIES evpp_static event glog)
+diff --git a/benchmark/http/libevent/CMakeLists.txt b/benchmark/http/libevent/CMakeLists.txt
+index 1148616..0356b71 100644
+--- a/benchmark/http/libevent/CMakeLists.txt
++++ b/benchmark/http/libevent/CMakeLists.txt
+@@ -1,3 +1,3 @@
+
+ add_executable(benchmark_http_libevent libevent_http_bench.c)
+-target_link_libraries(benchmark_http_libevent event)
++target_link_libraries(benchmark_http_libevent event_static event_core_static event_extra_static event_openssl_static)
+diff --git a/benchmark/ioevent/libevent/CMakeLists.txt b/benchmark/ioevent/libevent/CMakeLists.txt
+index dfa51a3..de4849d 100644
+--- a/benchmark/ioevent/libevent/CMakeLists.txt
++++ b/benchmark/ioevent/libevent/CMakeLists.txt
+@@ -1,3 +1,3 @@
+
+ add_executable(benchmark_ioevent_libevent libevent_ioevent_bench.c)
+-target_link_libraries(benchmark_ioevent_libevent event)
++target_link_libraries(benchmark_ioevent_libevent event_static event_core_static event_extra_static event_openssl_static)
+diff --git a/benchmark/throughput/libevent/CMakeLists.txt b/benchmark/throughput/libevent/CMakeLists.txt
+index 21dab84..aefe698 100644
+--- a/benchmark/throughput/libevent/CMakeLists.txt
++++ b/benchmark/throughput/libevent/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ add_executable(benchmark_tcp_libevent_client client.c)
+-target_link_libraries(benchmark_tcp_libevent_client event)
++target_link_libraries(benchmark_tcp_libevent_client event_static event_core_static event_extra_static event_openssl_static)
+
+ add_executable(benchmark_tcp_libevent_server server.c)
+-target_link_libraries(benchmark_tcp_libevent_server event)
++target_link_libraries(benchmark_tcp_libevent_server event_static event_core_static event_extra_static event_openssl_static)
+diff --git a/examples/recipes/self_control_timer/basic_01/CMakeLists.txt b/examples/recipes/self_control_timer/basic_01/CMakeLists.txt
+index 7834db4..82294c5 100644
+--- a/examples/recipes/self_control_timer/basic_01/CMakeLists.txt
++++ b/examples/recipes/self_control_timer/basic_01/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ file(GLOB SRCS *.cc *.h)
+
+ add_executable(example_recipes_self_control_timer_basic_01 ${SRCS})
+-target_link_libraries(example_recipes_self_control_timer_basic_01 event)
++target_link_libraries(example_recipes_self_control_timer_basic_01 event_static event_core_static event_extra_static event_openssl_static)
+
+
+
+diff --git a/examples/recipes/self_control_timer/basic_02/CMakeLists.txt b/examples/recipes/self_control_timer/basic_02/CMakeLists.txt
+index a8be419..0329ccc 100644
+--- a/examples/recipes/self_control_timer/basic_02/CMakeLists.txt
++++ b/examples/recipes/self_control_timer/basic_02/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ file(GLOB SRCS *.cc *.h)
+
+ add_executable(example_recipes_self_control_timer_basic_02 ${SRCS})
+-target_link_libraries(example_recipes_self_control_timer_basic_02 event)
++target_link_libraries(example_recipes_self_control_timer_basic_02 event_static event_core_static event_extra_static event_openssl_static)
+
+
+
+diff --git a/examples/recipes/self_control_timer/cancel_03/CMakeLists.txt b/examples/recipes/self_control_timer/cancel_03/CMakeLists.txt
+index 1cae9bb..218b771 100644
+--- a/examples/recipes/self_control_timer/cancel_03/CMakeLists.txt
++++ b/examples/recipes/self_control_timer/cancel_03/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ file(GLOB SRCS *.cc *.h)
+
+ add_executable(example_recipes_self_control_timer_cancel_03 ${SRCS})
+-target_link_libraries(example_recipes_self_control_timer_cancel_03 event)
++target_link_libraries(example_recipes_self_control_timer_cancel_03 event_static event_core_static event_extra_static event_openssl_static)
+
+
+
+diff --git a/examples/recipes/self_control_timer/periodic_04/CMakeLists.txt b/examples/recipes/self_control_timer/periodic_04/CMakeLists.txt
+index 749c584..e7c658e 100644
+--- a/examples/recipes/self_control_timer/periodic_04/CMakeLists.txt
++++ b/examples/recipes/self_control_timer/periodic_04/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ file(GLOB SRCS *.cc *.h)
+
+ add_executable(example_recipes_self_control_timer_periodic_04 ${SRCS})
+-target_link_libraries(example_recipes_self_control_timer_periodic_04 event)
++target_link_libraries(example_recipes_self_control_timer_periodic_04 event_static event_core_static event_extra_static event_openssl_static)
+
+
+
diff --git a/ports/evpp/portfile.cmake b/ports/evpp/portfile.cmake
index b20642bdd..b5db0744c 100644
--- a/ports/evpp/portfile.cmake
+++ b/ports/evpp/portfile.cmake
@@ -1,32 +1,18 @@
include(vcpkg_common_functions)
-set(EVPP_LOCAL_TEST OFF)
-
set(EVPP_VERSION 0.7.0)
-if (EVPP_LOCAL_TEST)
- set(EVPP_HASH bfefb3f7c1f620fbca2c3d94e2e7c39aa963156a084caf39bcc348a9380f97c73c9ee965126434d71c8b14836e669d554ed98632b3bb38eb65b421fd8eff49b2)
- set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/evpp)
- vcpkg_download_distfile(ARCHIVE
- URLS "http://127.0.0.1:8000/evpp.zip"
- FILENAME "evpp-${EVPP_VERSION}.zip"
- SHA512 ${EVPP_HASH}
- )
- vcpkg_extract_source_archive(${ARCHIVE})
-else ()
- vcpkg_from_github(
- OUT_SOURCE_PATH SOURCE_PATH
- REPO Qihoo360/evpp
- REF v${EVPP_VERSION}
- SHA512 ddcef8d2af6b3c46473d755c0f0994d63d56240ea85d6b44ceb6b77724c3c56bbf1156f7188e270fb5f9f36f25bfc2f96669d7249a34c921922671e3fe267e88
- HEAD_REF master
- )
- file(REMOVE_RECURSE ${SOURCE_PATH}/3rdparty/rapidjson ${SOURCE_PATH}/3rdparty/concurrentqueue)
- vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-rapidjson-1-1.patch
- )
-endif ()
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Qihoo360/evpp
+ REF v${EVPP_VERSION}
+ SHA512 ddcef8d2af6b3c46473d755c0f0994d63d56240ea85d6b44ceb6b77724c3c56bbf1156f7188e270fb5f9f36f25bfc2f96669d7249a34c921922671e3fe267e88
+ HEAD_REF master
+ PATCHES
+ fix-rapidjson-1-1.patch
+ fix-linux-build.patch
+)
+file(REMOVE_RECURSE ${SOURCE_PATH}/3rdparty/rapidjson ${SOURCE_PATH}/3rdparty/concurrentqueue)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
@@ -40,6 +26,5 @@ vcpkg_install_cmake()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
# Handle copyright
-file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/evpp)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/evpp/LICENSE ${CURRENT_PACKAGES_DIR}/share/evpp/copyright)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/exiv2/CONTROL b/ports/exiv2/CONTROL
index 1868de82d..ed3fabcc6 100644
--- a/ports/exiv2/CONTROL
+++ b/ports/exiv2/CONTROL
@@ -1,5 +1,5 @@
Source: exiv2
-Version: 0.27.1-1
+Version: 0.27.2-1
Build-Depends: zlib, expat, libiconv, gettext
Description: Image metadata library and tools
Homepage: https://www.exiv2.org
diff --git a/ports/exiv2/iconv.patch b/ports/exiv2/iconv.patch
index dcea70b86..406298aec 100644
--- a/ports/exiv2/iconv.patch
+++ b/ports/exiv2/iconv.patch
@@ -1,23 +1,27 @@
+diff --git a/cmake/findDependencies.cmake b/cmake/findDependencies.cmake
+index a458a0c..9caffcf 100644
--- a/cmake/findDependencies.cmake
+++ b/cmake/findDependencies.cmake
-@@ -36,5 +36,5 @@
-
+@@ -40,7 +40,7 @@ else()
+ endif()
if (EXIV2_ENABLE_NLS)
- find_package(Intl REQUIRED)
+ find_package(unofficial-gettext CONFIG)
endif( )
+ find_package(Iconv)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 91469b6..4c51068 100644
+index 76eaabc..68d29de 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
-@@ -208,14 +208,14 @@
+@@ -214,16 +214,15 @@ if( EXIV2_ENABLE_PNG )
endif()
if( EXIV2_ENABLE_NLS )
- target_link_libraries(exiv2lib PRIVATE ${Intl_LIBRARIES})
- target_include_directories(exiv2lib PRIVATE ${Intl_INCLUDE_DIRS})
+- target_include_directories(exiv2lib_int PRIVATE ${Intl_INCLUDE_DIRS})
+ target_link_libraries(exiv2lib PRIVATE unofficial::gettext::libintl)
# Definition needed for translations
target_compile_definitions(exiv2lib PUBLIC EXV_LOCALEDIR="/../${CMAKE_INSTALL_LOCALEDIR}")
@@ -25,12 +29,10 @@ index 91469b6..4c51068 100644
-if( ICONV_FOUND )
- target_link_libraries( exiv2lib PRIVATE Iconv::Iconv )
--endif()
+if(NOT TARGET unofficial::iconv::libiconv)
+ find_package(unofficial-iconv CONFIG)
-+endif()
+ endif()
+target_link_libraries( exiv2lib PRIVATE unofficial::iconv::libiconv )
-
-
+ write_basic_package_version_file(exiv2ConfigVersion.cmake COMPATIBILITY ExactVersion)
diff --git a/ports/exiv2/portfile.cmake b/ports/exiv2/portfile.cmake
index d9e1ecb4d..94cf5a1ed 100644
--- a/ports/exiv2/portfile.cmake
+++ b/ports/exiv2/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Exiv2/exiv2
- REF 0.27.1
- SHA512 1b637138cee019122d98ae3c54e84416ba1a90531b3f541748697c9f1a8faee18699f10cef5a63bf60b8588e8c670925cbac3ad6c82e41160442f8a66380d407
+ REF v0.27.2
+ SHA512 349063fd8ef6c44b5b2f3f68aad839271a9cb8ff206af237d28d9e9d05dcdf43b61f3232d4566780b2898d62c20134e8ea65d588a19a664c0224750e4ea1340d
HEAD_REF master
PATCHES
iconv.patch
@@ -24,11 +24,10 @@ vcpkg_configure_cmake(
-DEXIV2_BUILD_EXIV2_COMMAND:BOOL=FALSE
-DEXIV2_BUILD_UNIT_TESTS:BOOL=FALSE
-DEXIV2_BUILD_SAMPLES:BOOL=FALSE
-# -DEXIV2_ENABLE_NLS:BOOL=OFF
)
vcpkg_install_cmake()
-vcpkg_fixup_cmake_targets(CONFIG_PATH lib/exiv2/cmake)
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/exiv2)
configure_file(
${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake
@@ -47,5 +46,5 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
endif()
# 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)
+file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/exiv2)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/exiv2/COPYING ${CURRENT_PACKAGES_DIR}/share/exiv2/copyright)
diff --git a/ports/exprtk/CONTROL b/ports/exprtk/CONTROL
index d55d903ae..f2d1c383e 100644
--- a/ports/exprtk/CONTROL
+++ b/ports/exprtk/CONTROL
@@ -1,4 +1,4 @@
Source: exprtk
-Version: 2019-03-29
+Version: 2019-07-11
Homepage: https://github.com/ArashPartow/exprtk
Description: Simple to use, easy to integrate and extremely efficient run-time C++ mathematical expression parser and evaluation engine.
diff --git a/ports/exprtk/portfile.cmake b/ports/exprtk/portfile.cmake
index c82f9cfa5..12aaeee1b 100644
--- a/ports/exprtk/portfile.cmake
+++ b/ports/exprtk/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ArashPartow/exprtk
- REF 9fad72832c70348725c073e369a3321781001766
- SHA512 6a2a4bdc331806bb5f97737316cc126ab5e8ec75626dd5a63e854a24b7ae41cddccfee8ea09168ed0d272a92dd89cfc9878507ecf70c3f03d5b4f5e53d877727
+ REF 7ccb123e9e79bc3df30a66c0bffe921d195702d7
+ SHA512 75b6adaa254060053f56e3978be3e10847c9dae22f675eae728cb0c7fd9a5e6fee8c8278764826e0e0be3bcb2cfd2288e091d0f965ac2e331403683f15764b92
)
file(COPY ${SOURCE_PATH}/exprtk.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include)
diff --git a/ports/fastcdr/CONTROL b/ports/fastcdr/CONTROL
index 4d3dc062c..6acb9a941 100644
--- a/ports/fastcdr/CONTROL
+++ b/ports/fastcdr/CONTROL
@@ -1,3 +1,3 @@
Source: fastcdr
-Version: 1.0.9-1
+Version: 1.0.11
Description: eProsima FastCDR is a C++ library that provides two serialization mechanisms. One is the standard CDR serialization mechanism, while the other is a faster implementation that modifies the standard.
diff --git a/ports/fastcdr/portfile.cmake b/ports/fastcdr/portfile.cmake
index f4f2f81f0..27ac7e328 100644
--- a/ports/fastcdr/portfile.cmake
+++ b/ports/fastcdr/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO eProsima/Fast-CDR
- REF v1.0.9
- SHA512 2825e61fc4736c9364fc3130f649798cec11fcb56dc5e202c17731121ad8a2795f0fbf8acb5d8d662181bc470e7a3e95a5027283872714be505bb2562c2e2312
+ REF v1.0.11
+ SHA512 04b84437ffad6425ba7f934adb9ae6a88e710e50ca9259ae0ecdb9dbfcdbd59944fd21e85e81ba4d341df1ee2c76fa7040ab902b869ef3185cacee6e866f5e80
HEAD_REF master
PATCHES install-cmake.patch
)
diff --git a/ports/fizz/CONTROL b/ports/fizz/CONTROL
index ab3acb20e..fcc118553 100644
--- a/ports/fizz/CONTROL
+++ b/ports/fizz/CONTROL
@@ -1,4 +1,4 @@
Source: fizz
-Version: 2019.05.20.00-1
+Version: 2019.07.08.00
Build-Depends: folly, openssl, libsodium, zlib
Description: a TLS 1.3 implementation by Facebook
diff --git a/ports/fizz/portfile.cmake b/ports/fizz/portfile.cmake
index 16459cbf4..c18c52690 100644
--- a/ports/fizz/portfile.cmake
+++ b/ports/fizz/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebookincubator/fizz
- REF 6d26a1be8d7a20d8d89c374ee3dc5c452d18c18d
- SHA512 bc6aa17a97fdfc53d0a247b876cbd1fea8214608b7e463dcf21e34df65015fe77e617c5a6c6bfa84b87e60e56b6aeb89aa2d8d774f97fc1f76f415869948a48a
+ REF 5a2cbf77381b2489ff636b836c26fde26a66cd7d
+ SHA512 6f6583dae05c95feb521396d932a263984f3b56c4ce18a672214ce5ece960cfb82203f7f6d23fa7b00dca62da640e4294f5f1cd6a6b0459d950c8997b71f3ce1
HEAD_REF master
PATCHES
find-zlib.patch
diff --git a/ports/fltk/CONTROL b/ports/fltk/CONTROL
index da9d7223a..36befdeb4 100644
--- a/ports/fltk/CONTROL
+++ b/ports/fltk/CONTROL
@@ -1,5 +1,5 @@
Source: fltk
-Version: 1.3.4-6
+Version: 1.3.4-7
Homepage: https://www.fltk.org/
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
diff --git a/ports/fltk/portfile.cmake b/ports/fltk/portfile.cmake
index 5b7e246a3..7f5ea52be 100644
--- a/ports/fltk/portfile.cmake
+++ b/ports/fltk/portfile.cmake
@@ -1,11 +1,3 @@
-# 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)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/fltk-1.3.4-1)
vcpkg_download_distfile(ARCHIVE
@@ -91,8 +83,4 @@ foreach(FILE Fl_Export.H fl_utf8.h)
file(WRITE ${CURRENT_PACKAGES_DIR}/include/FL/${FILE} "${FLTK_HEADER}")
endforeach()
-file(INSTALL
- ${SOURCE_PATH}/COPYING
- DESTINATION ${CURRENT_PACKAGES_DIR}/share/fltk
- RENAME copyright
-)
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/fluidsynth/CONTROL b/ports/fluidsynth/CONTROL
index fc79995bc..4532fa60e 100644
--- a/ports/fluidsynth/CONTROL
+++ b/ports/fluidsynth/CONTROL
@@ -1,4 +1,4 @@
Source: fluidsynth
-Version: 2.0.5
+Version: 2.0.5-1
Description: FluidSynth reads and handles MIDI events from the MIDI input device. It is the software analogue of a MIDI synthesizer. FluidSynth can also play midifiles using a Soundfont.
-Build-Depends: glib \ No newline at end of file
+Build-Depends: glib
diff --git a/ports/fluidsynth/force-x86-gentables.patch b/ports/fluidsynth/force-x86-gentables.patch
new file mode 100644
index 000000000..d477ebd36
--- /dev/null
+++ b/ports/fluidsynth/force-x86-gentables.patch
@@ -0,0 +1,34 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index f731632..226f408 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -368,10 +368,23 @@ endif ( MACOSX_FRAMEWORK )
+ # ******* Auto Generated Lookup Tables ******
+
+ include(ExternalProject)
+-ExternalProject_Add(gentables
+- DOWNLOAD_COMMAND ""
+- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/gentables
+- BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/gentables
+- INSTALL_COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gentables/make_tables.exe "${CMAKE_BINARY_DIR}/"
+-)
++if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm OR VCPKG_TARGET_ARCHITECTURE STREQUAL arm64)
++ ExternalProject_Add(gentables
++ DOWNLOAD_COMMAND ""
++ SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/gentables
++ BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/gentables
++ CONFIGURE_COMMAND
++ "${CMAKE_COMMAND}" "${CMAKE_CURRENT_SOURCE_DIR}/gentables" -G "${CMAKE_GENERATOR}" -A Win32 -B "${CMAKE_CURRENT_BINARY_DIR}/gentables"
++ BUILD_COMMAND
++ "${CMAKE_COMMAND}" --build "${CMAKE_CURRENT_BINARY_DIR}/gentables"
++ INSTALL_COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gentables/make_tables.exe "${CMAKE_BINARY_DIR}/"
++ )
++else()
++ ExternalProject_Add(gentables
++ DOWNLOAD_COMMAND ""
++ SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/gentables
++ BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/gentables
++ INSTALL_COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gentables/make_tables.exe "${CMAKE_BINARY_DIR}/"
++ )
++endif()
+ add_dependencies(libfluidsynth-OBJ gentables)
diff --git a/ports/fluidsynth/portfile.cmake b/ports/fluidsynth/portfile.cmake
index 5060faa8e..3427180a3 100644
--- a/ports/fluidsynth/portfile.cmake
+++ b/ports/fluidsynth/portfile.cmake
@@ -7,11 +7,12 @@ vcpkg_from_github(
REF v2.0.5
SHA512 5344ac889d2927dc2465bae40096d756a9bf9b1100e287ba0621c55ffc76f9cb8fa763f6bc832d701cd0ad2997965cf344f58ae4b3dd445eb3491e3659c093d9
HEAD_REF master
+ PATCHES
+ force-x86-gentables.patch
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA # Disable this option if project cannot be built with Ninja
OPTIONS -Denable-pkgconfig=0
)
diff --git a/ports/fmi4cpp/CONTROL b/ports/fmi4cpp/CONTROL
index 4659e9d1a..20f8f641c 100644
--- a/ports/fmi4cpp/CONTROL
+++ b/ports/fmi4cpp/CONTROL
@@ -1,5 +1,6 @@
Source: fmi4cpp
-Version: 0.7.0-1
+Version: 0.7.0-2
+Homepage: https://github.com/NTNU-IHB/FMI4cpp
Description: FMI 2.0 implementation written in modern C++
Build-Depends: boost-property-tree, libzip[openssl]
diff --git a/ports/fmi4cpp/portfile.cmake b/ports/fmi4cpp/portfile.cmake
index ad45b5abe..6babc78ed 100644
--- a/ports/fmi4cpp/portfile.cmake
+++ b/ports/fmi4cpp/portfile.cmake
@@ -1,15 +1,3 @@
-# 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(
@@ -40,7 +28,7 @@ vcpkg_configure_cmake(
-DFMI4CPP_BUILD_TESTS=OFF
-DFMI4CPP_BUILD_EXAMPLES=OFF
-DFMI4CPP_WITH_CURL=${WITH_CURL}
- -DFMI4CPP_WITH_ODEINT=${WITH_ODEINT}
+ -DFMI4CPP_WITH_ODEINT=${WITH_ODEINT}
)
vcpkg_install_cmake()
@@ -49,7 +37,8 @@ vcpkg_fixup_cmake_targets()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
-# Handle copyright
-file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/fmi4cpp RENAME copyright)
-
vcpkg_copy_pdbs()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+
+
diff --git a/ports/fmilib/CONTROL b/ports/fmilib/CONTROL
index 4037af506..4a837377d 100644
--- a/ports/fmilib/CONTROL
+++ b/ports/fmilib/CONTROL
@@ -1,4 +1,4 @@
Source: fmilib
-Version: 2.0.3-1
+Version: 2.0.3-2
Description: FMI library is intended as a foundation for applications interfacing FMUs (Functional Mockup Units) that follow FMI Standard. This version of the library supports FMI 1.0 and FMI2.0.
Homepage: https://www.fmi-standard.org/
diff --git a/ports/fmilib/portfile.cmake b/ports/fmilib/portfile.cmake
index 46912d440..bd7374559 100644
--- a/ports/fmilib/portfile.cmake
+++ b/ports/fmilib/portfile.cmake
@@ -1,15 +1,3 @@
-# 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/FMILibrary-2.0.3)
@@ -193,5 +181,4 @@ endforeach()
vcpkg_copy_pdbs()
-# Handle copyright
-file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/fmilib RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/fmt/CONTROL b/ports/fmt/CONTROL
index c789e86f8..bc6de38f8 100644
--- a/ports/fmt/CONTROL
+++ b/ports/fmt/CONTROL
@@ -1,4 +1,4 @@
Source: fmt
-Version: 5.3.0-2
+Version: 6.0.0
Homepage: https://github.com/fmtlib/fmt
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/fmt/portfile.cmake b/ports/fmt/portfile.cmake
index f1778d985..0809aaeb9 100644
--- a/ports/fmt/portfile.cmake
+++ b/ports/fmt/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO fmtlib/fmt
- REF 5.3.0
- SHA512 9ef0f3d328681253c1e1776576d54d67dec49c19fd7fc422ae63c3610b01a3f05f6e83cdf5e913dfd09bac42e52fe35c38ebe1ea91f4207d226a32aaf69eb4a8
+ REF 6.0.0
+ SHA512 7deb5bd843ae6b9d4b58dca9c68c1cfe7b55a41040f358247f5309655188d1ae194ff414437c068f74367f078faa214b5883e8c9e634c7623dcda50850e24766
HEAD_REF master
)
vcpkg_configure_cmake(
@@ -19,10 +19,14 @@ vcpkg_install_cmake()
file(INSTALL ${SOURCE_PATH}/LICENSE.rst DESTINATION ${CURRENT_PACKAGES_DIR}/share/fmt RENAME copyright)
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME)
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin)
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(RENAME ${CURRENT_PACKAGES_DIR}/lib/fmt.dll ${CURRENT_PACKAGES_DIR}/bin/fmt.dll)
- file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/fmtd.dll ${CURRENT_PACKAGES_DIR}/debug/bin/fmtd.dll)
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/fmtd.dll ${CURRENT_PACKAGES_DIR}/debug/bin/fmtd.dll)
+ endif()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/fmt.dll ${CURRENT_PACKAGES_DIR}/bin/fmt.dll)
+ endif()
endif()
# Force FMT_SHARED to 1
@@ -35,12 +39,16 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
vcpkg_fixup_cmake_targets()
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME)
- file(READ ${CURRENT_PACKAGES_DIR}/share/fmt/fmt-targets-debug.cmake FMT_DEBUG_MODULE)
- string(REPLACE "lib/fmtd.dll" "bin/fmtd.dll" FMT_DEBUG_MODULE ${FMT_DEBUG_MODULE})
- file(WRITE ${CURRENT_PACKAGES_DIR}/share/fmt/fmt-targets-debug.cmake "${FMT_DEBUG_MODULE}")
- file(READ ${CURRENT_PACKAGES_DIR}/share/fmt/fmt-targets-release.cmake FMT_RELEASE_MODULE)
- string(REPLACE "lib/fmt.dll" "bin/fmt.dll" FMT_RELEASE_MODULE ${FMT_RELEASE_MODULE})
- file(WRITE ${CURRENT_PACKAGES_DIR}/share/fmt/fmt-targets-release.cmake "${FMT_RELEASE_MODULE}")
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(READ ${CURRENT_PACKAGES_DIR}/share/fmt/fmt-targets-debug.cmake FMT_DEBUG_MODULE)
+ string(REPLACE "lib/fmtd.dll" "bin/fmtd.dll" FMT_DEBUG_MODULE ${FMT_DEBUG_MODULE})
+ file(WRITE ${CURRENT_PACKAGES_DIR}/share/fmt/fmt-targets-debug.cmake "${FMT_DEBUG_MODULE}")
+ endif()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(READ ${CURRENT_PACKAGES_DIR}/share/fmt/fmt-targets-release.cmake FMT_RELEASE_MODULE)
+ string(REPLACE "lib/fmt.dll" "bin/fmt.dll" FMT_RELEASE_MODULE ${FMT_RELEASE_MODULE})
+ file(WRITE ${CURRENT_PACKAGES_DIR}/share/fmt/fmt-targets-release.cmake "${FMT_RELEASE_MODULE}")
+ endif()
endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
diff --git a/ports/folly/CONTROL b/ports/folly/CONTROL
index 268039ac7..7b567665a 100644
--- a/ports/folly/CONTROL
+++ b/ports/folly/CONTROL
@@ -1,5 +1,5 @@
Source: folly
-Version: 2019.05.20.00-1
+Version: 2019.06.17.00
Homepage: https://github.com/facebook/folly
Description: An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows
Build-Depends: openssl, libevent, double-conversion, glog, gflags, boost-chrono, boost-context, boost-conversion, boost-crc, boost-date-time, boost-filesystem, boost-multi-index, boost-program-options, boost-regex, boost-system, boost-thread, boost-smart-ptr
diff --git a/ports/folly/portfile.cmake b/ports/folly/portfile.cmake
index 2317c780e..31f1c0331 100644
--- a/ports/folly/portfile.cmake
+++ b/ports/folly/portfile.cmake
@@ -14,8 +14,8 @@ vcpkg_add_to_path("${PYTHON3_DIR}")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebook/folly
- REF 354223ec1602913667c52cee1ce0782a82cb0cad
- SHA512 53dd401e5fe8aebf35bec7c1b49e45a7abf152ad12f7392f31653f9e644207d0926424948ad2d7974bf3e5eabaa97e3e9113f1318883bfc99b968b3700b19023
+ REF d12df6e924adc3889cd2fbeaca078355c5da170f
+ SHA512 ecb55cda91ab6db1519b612b676b5166454132960edce0a36f1b4e42f5e1a5f753d8bbb2ed93e34faed1025a54840eb4dc876a49c88b8dd9c90c8070dafc43b8
HEAD_REF master
PATCHES
missing-include-atomic.patch
diff --git a/ports/foonathan-memory/CONTROL b/ports/foonathan-memory/CONTROL
new file mode 100644
index 000000000..51c0ad7f2
--- /dev/null
+++ b/ports/foonathan-memory/CONTROL
@@ -0,0 +1,8 @@
+Source: foonathan-memory
+Version: 2019-07-21
+Description: STL compatible C++ memory allocator library
+Homepage: https://foonathan.net/doc/memory/
+Default-Features: tool
+
+Feature: tool
+Description: Build foonathan memory tool
diff --git a/ports/foonathan-memory/portfile.cmake b/ports/foonathan-memory/portfile.cmake
new file mode 100644
index 000000000..e813d4517
--- /dev/null
+++ b/ports/foonathan-memory/portfile.cmake
@@ -0,0 +1,128 @@
+include(vcpkg_common_functions)
+
+# WINDOWS_EXPORT_ALL_SYMBOLS doesn't work.
+# unresolved external symbol "public: static unsigned int const foonathan::memory::detail::memory_block_stack::implementation_offset
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO foonathan/memory
+ REF 885a9d97bebe9a2f131d21d3c0928c42ab377c8b
+ SHA512 7ce78a6e67d590a41b7f8a3d4ae0f6c1fa157c561b718a63973dffc000df74a9f0a0d7955a099e84fbeb3cf4085092eb866a6b8cec8bafd50bdcee94d069f65d
+ HEAD_REF master
+)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH COMP_SOURCE_PATH
+ REPO foonathan/compatibility
+ REF cd142129e30f5b3e6c6d96310daf94242c0b03bf
+ SHA512 1d144f82ec46dcc546ee292846330d39536a3145e5a5d8065bda545f55699aeb9a4ef7dea5e5f684ce2327fad210488fe6bb4ba7f84ceac867ac1c72b90c6d69
+ HEAD_REF master
+)
+
+file(COPY ${COMP_SOURCE_PATH}/comp_base.cmake DESTINATION ${SOURCE_PATH}/cmake/comp)
+
+vcpkg_check_features(tool FOONATHAN_MEMORY_BUILD_TOOLS)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DFOONATHAN_MEMORY_BUILD_EXAMPLES=OFF
+ -DFOONATHAN_MEMORY_BUILD_TESTS=OFF
+ -DFOONATHAN_MEMORY_BUILD_TOOLS=${FOONATHAN_MEMORY_BUILD_TOOLS}
+)
+
+vcpkg_install_cmake()
+
+if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/foonathan_memory)
+elseif(EXISTS ${CURRENT_PACKAGES_DIR}/share/foonathan_memory/cmake)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH share/foonathan_memory/cmake TARGET_PATH share/foonathan_memory)
+endif()
+
+vcpkg_copy_pdbs()
+
+# Place header files into the right folders
+# The original layout is not a problem for CMake-based project.
+file(COPY
+ ${CURRENT_PACKAGES_DIR}/include/foonathan_memory/foonathan
+ DESTINATION ${CURRENT_PACKAGES_DIR}/include
+)
+file(GLOB
+ COMP_INCLUDE_FILES
+ ${CURRENT_PACKAGES_DIR}/include/foonathan_memory/comp/foonathan/*.hpp
+)
+file(COPY
+ ${COMP_INCLUDE_FILES}
+ DESTINATION ${CURRENT_PACKAGES_DIR}/include/foonathan
+)
+file(COPY
+ ${CURRENT_PACKAGES_DIR}/include/foonathan_memory/config_impl.hpp
+ DESTINATION ${CURRENT_PACKAGES_DIR}/include/foonathan/memory
+)
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/include/foonathan_memory
+)
+vcpkg_replace_string(
+ ${CURRENT_PACKAGES_DIR}/share/foonathan_memory/foonathan_memory-config.cmake
+ "\${_IMPORT_PREFIX}/include/foonathan_memory/comp;\${_IMPORT_PREFIX}/include/foonathan_memory"
+ "\${_IMPORT_PREFIX}/include"
+)
+# Place header files into the right folders - Done!
+
+# The Debug version of this lib is built with:
+# #define FOONATHAN_MEMORY_DEBUG_FILL 1
+# and Release version is built with:
+# #define FOONATHAN_MEMORY_DEBUG_FILL 0
+# We only have the Release version header files installed, however.
+vcpkg_replace_string(
+ ${CURRENT_PACKAGES_DIR}/include/foonathan/memory/detail/debug_helpers.hpp
+ "#if FOONATHAN_MEMORY_DEBUG_FILL"
+ "#ifndef NDEBUG //#if FOONATHAN_MEMORY_DEBUG_FILL"
+)
+
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug/include
+ ${CURRENT_PACKAGES_DIR}/debug/share
+)
+
+file(REMOVE
+ ${CURRENT_PACKAGES_DIR}/debug/LICENSE
+ ${CURRENT_PACKAGES_DIR}/debug/README.md
+ ${CURRENT_PACKAGES_DIR}/LICENSE
+ ${CURRENT_PACKAGES_DIR}/README.md
+)
+
+if(FOONATHAN_MEMORY_BUILD_TOOLS)
+ if(NOT VCPKG_CMAKE_SYSTEM_NAME OR
+ VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ set(EXECUTABLE_SUFFIX ".exe")
+ else()
+ set(EXECUTABLE_SUFFIX "")
+ endif()
+
+ file(COPY
+ ${CURRENT_PACKAGES_DIR}/bin/nodesize_dbg${EXECUTABLE_SUFFIX}
+ DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}
+ )
+ vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})
+
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/bin
+ ${CURRENT_PACKAGES_DIR}/debug/bin
+ )
+ else()
+ file(REMOVE
+ ${CURRENT_PACKAGES_DIR}/bin/nodesize_dbg${EXECUTABLE_SUFFIX}
+ ${CURRENT_PACKAGES_DIR}/debug/bin/nodesize_dbg${EXECUTABLE_SUFFIX}
+ )
+ endif()
+endif()
+
+# Handle copyright
+configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
+
+# CMake integration test
+vcpkg_test_cmake(PACKAGE_NAME ${PORT})
diff --git a/ports/fplus/CONTROL b/ports/fplus/CONTROL
new file mode 100644
index 000000000..10c95ac63
--- /dev/null
+++ b/ports/fplus/CONTROL
@@ -0,0 +1,4 @@
+Source: fplus
+Version: 0.2.3-p0
+Description: Functional Programming Library for C++. Write concise and readable C++ code.
+Homepage: https://github.com/Dobiasd/FunctionalPlus \ No newline at end of file
diff --git a/ports/fplus/portfile.cmake b/ports/fplus/portfile.cmake
new file mode 100644
index 000000000..fc7da4cbc
--- /dev/null
+++ b/ports/fplus/portfile.cmake
@@ -0,0 +1,22 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Dobiasd/FunctionalPlus
+ REF v0.2.3-p0
+ SHA512 99fe07e68cd5630b9b243670778772f396cabb89845fb3ae5105884fab1cdbb7fae4080f57d0aea4d9282f84036572c0dd1e4b9602997dec4171a90b98416759
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ -DFPLUS_BUILD_EXAMPLES=OFF
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib)
+
+configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) \ No newline at end of file
diff --git a/ports/freetds/CONTROL b/ports/freetds/CONTROL
index 4a7a008bb..77be05f40 100644
--- a/ports/freetds/CONTROL
+++ b/ports/freetds/CONTROL
@@ -1,5 +1,6 @@
Source: freetds
-Version: 1.1.6
+Version: 1.1.6-1
+Homepage: https://www.freetds.org
Description: Implementation of the Tabular Data Stream protocol
Default-Features: openssl
diff --git a/ports/freetds/portfile.cmake b/ports/freetds/portfile.cmake
index 65b8afde4..23812f85a 100644
--- a/ports/freetds/portfile.cmake
+++ b/ports/freetds/portfile.cmake
@@ -1,11 +1,3 @@
-# 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)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/freetds-1.1.6)
vcpkg_download_distfile(ARCHIVE
@@ -64,6 +56,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
-# Handle copyright
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/freetds)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/freetds/COPYING ${CURRENT_PACKAGES_DIR}/share/freetds/copyright)
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/gainput/CONTROL b/ports/gainput/CONTROL
index 65b347dee..834f5d6fc 100644
--- a/ports/gainput/CONTROL
+++ b/ports/gainput/CONTROL
@@ -1,4 +1,4 @@
Source: gainput
-Version: 1.0.0-1
+Version: 1.0.0-2
Homepage: https://github.com/jkuhlmann/gainput
Description: Gainput is a multiplatform C++ input library, supporting mouse, keyboard and controllers
diff --git a/ports/gainput/portfile.cmake b/ports/gainput/portfile.cmake
index c1f1f6158..6175acb17 100644
--- a/ports/gainput/portfile.cmake
+++ b/ports/gainput/portfile.cmake
@@ -1,17 +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)
-#
-
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/gainput-1.0.0)
+
vcpkg_download_distfile(ARCHIVE
URLS "http://github.com/jkuhlmann/gainput/archive/v1.0.0.zip"
FILENAME "gainput-1.0.0.zip"
@@ -19,15 +8,13 @@ vcpkg_download_distfile(ARCHIVE
)
vcpkg_extract_source_archive(${ARCHIVE})
-
-
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
- OPTIONS
- -DGAINPUT_TESTS=OFF
- -DGAINPUT_SAMPLES=OFF
- # Disable this option if project cannot be built with Ninja
+ OPTIONS
+ -DGAINPUT_TESTS=OFF
+ -DGAINPUT_SAMPLES=OFF
+ # Disable this option if project cannot be built with Ninja
# OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2
# OPTIONS_RELEASE -DOPTIMIZE=1
# OPTIONS_DEBUG -DDEBUGGABLE=1
@@ -35,8 +22,7 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_copy_pdbs()
-# Handle copyright
-file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/gainput RENAME copyright)
+
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
@@ -45,3 +31,5 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gainputstaticd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gainputd.lib)
endif()
endif()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file
diff --git a/ports/gdcm/CONTROL b/ports/gdcm/CONTROL
index 3b49ddec4..827589313 100644
--- a/ports/gdcm/CONTROL
+++ b/ports/gdcm/CONTROL
@@ -1,4 +1,4 @@
Source: gdcm
-Version: 3.0.0-4
+Version: 3.0.0-5
Description: Grassroots DICOM library
Build-Depends: zlib, expat, openjpeg
diff --git a/ports/gdcm/Fix-Cmake_DIR.patch b/ports/gdcm/Fix-Cmake_DIR.patch
new file mode 100644
index 000000000..189b28e05
--- /dev/null
+++ b/ports/gdcm/Fix-Cmake_DIR.patch
@@ -0,0 +1,41 @@
+diff --git a/CMake/ExportConfiguration/GDCMConfig.cmake.in b/CMake/ExportConfiguration/GDCMConfig.cmake.in
+index f8e9d0b..ab28546 100644
+--- a/CMake/ExportConfiguration/GDCMConfig.cmake.in
++++ b/CMake/ExportConfiguration/GDCMConfig.cmake.in
+@@ -33,28 +33,28 @@ if(GDCM_USE_VTK)
+ set(GDCM_VTK_DIR "@GDCM_VTK_DIR_CONFIG@")
+ endif()
+
+-get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+-if(EXISTS ${SELF_DIR}/GDCMTargets.cmake)
++get_filename_component(GDCM_SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
++if(EXISTS ${GDCM_SELF_DIR}/GDCMTargets.cmake)
+ # This is an install tree
+- include(${SELF_DIR}/GDCMTargets.cmake)
+- get_filename_component(GDCM_INCLUDE_ROOT "${SELF_DIR}/../../@GDCM_INSTALL_INCLUDE_DIR@" ABSOLUTE)
++ include(${GDCM_SELF_DIR}/GDCMTargets.cmake)
++ get_filename_component(GDCM_INCLUDE_ROOT "${GDCM_SELF_DIR}/../../@GDCM_INSTALL_INCLUDE_DIR@" ABSOLUTE)
+ set(GDCM_INCLUDE_DIRS ${GDCM_INCLUDE_ROOT})
+- get_filename_component(GDCM_LIB_ROOT "${SELF_DIR}/../../@GDCM_INSTALL_LIB_DIR@" ABSOLUTE)
++ get_filename_component(GDCM_LIB_ROOT "${GDCM_SELF_DIR}/../../@GDCM_INSTALL_LIB_DIR@" ABSOLUTE)
+ set(GDCM_LIBRARY_DIRS ${GDCM_LIB_ROOT})
+ else()
+- if(EXISTS ${SELF_DIR}/GDCMExports.cmake)
++ if(EXISTS ${GDCM_SELF_DIR}/GDCMExports.cmake)
+ # This is a build tree
+ set( GDCM_INCLUDE_DIRS "@GDCM_INCLUDE_PATH@")
+ set(GDCM_LIBRARY_DIRS "@GDCM_LIBRARY_DIR@")
+
+- include(${SELF_DIR}/GDCMExports.cmake)
++ include(${GDCM_SELF_DIR}/GDCMExports.cmake)
+
+ else()
+ message(FATAL_ERROR "ooops")
+ endif()
+ endif()
+
+-set(GDCM_USE_FILE ${SELF_DIR}/UseGDCM.cmake)
++set(GDCM_USE_FILE ${GDCM_SELF_DIR}/UseGDCM.cmake)
+
+ # Backward compatible part:
+ set(GDCM_FOUND TRUE)
diff --git a/ports/gdcm/portfile.cmake b/ports/gdcm/portfile.cmake
index b5e825a37..df7c47f66 100644
--- a/ports/gdcm/portfile.cmake
+++ b/ports/gdcm/portfile.cmake
@@ -11,6 +11,7 @@ vcpkg_from_github(
PATCHES
use-openjpeg-config.patch
fix-share-path.patch
+ Fix-Cmake_DIR.patch
)
file(REMOVE ${SOURCE_PATH}/CMake/FindOpenJPEG.cmake)
diff --git a/ports/geographiclib/CONTROL b/ports/geographiclib/CONTROL
index 21eeee0c9..67d657061 100644
--- a/ports/geographiclib/CONTROL
+++ b/ports/geographiclib/CONTROL
@@ -1,4 +1,4 @@
Source: geographiclib
-Version: 1.47-patch1-7
+Version: 1.47-patch1-9
Homepage: https://sourceforge.net/projects/geographiclib/
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/geographiclib/fix-usage.patch b/ports/geographiclib/fix-usage.patch
new file mode 100644
index 000000000..9b558edf0
--- /dev/null
+++ b/ports/geographiclib/fix-usage.patch
@@ -0,0 +1,16 @@
+diff --git a/cmake/project-config-version.cmake.in b/cmake/project-config-version.cmake.in
+index 1f207b8..d469658 100644
+--- a/cmake/project-config-version.cmake.in
++++ b/cmake/project-config-version.cmake.in
+@@ -22,9 +22,9 @@ elseif (NOT (APPLE OR (NOT DEFINED CMAKE_SIZEOF_VOID_P) OR
+ # Reject if there's a mismatch in MSVC compiler versions
+ # set (REASON "_MSC_VER = @MSVC_VERSION@")
+ # set (PACKAGE_VERSION_UNSUITABLE TRUE)
+-elseif (NOT CMAKE_CROSSCOMPILING STREQUAL "@CMAKE_CROSSCOMPILING@")
++elseif (NOT CMAKE_CROSSCOMPILING STREQUAL FALSE)
+ # Reject if there's a mismatch in ${CMAKE_CROSSCOMPILING}
+- set (REASON "cross-compiling = @CMAKE_CROSSCOMPILING@")
++ set (REASON "cross-compiling = FALSE")
+ set (PACKAGE_VERSION_UNSUITABLE TRUE)
+ elseif (CMAKE_CROSSCOMPILING AND
+ NOT (CMAKE_SYSTEM_NAME STREQUAL "@CMAKE_SYSTEM_NAME@" AND
diff --git a/ports/geographiclib/portfile.cmake b/ports/geographiclib/portfile.cmake
index 529e07fcc..38e65c3db 100644
--- a/ports/geographiclib/portfile.cmake
+++ b/ports/geographiclib/portfile.cmake
@@ -1,15 +1,3 @@
-# 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_download_distfile(ARCHIVE
@@ -22,6 +10,7 @@ vcpkg_extract_source_archive_ex(
ARCHIVE ${ARCHIVE}
PATCHES
remove-tools-and-fix-version.patch
+ fix-usage.patch
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
@@ -47,16 +36,15 @@ endif()
vcpkg_install_cmake()
if (VCPKG_TARGET_IS_WINDOWS)
- vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
else()
- vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/GeographicLib)
endif()
vcpkg_copy_pdbs()
-file(COPY ${CURRENT_PACKAGES_DIR}/lib/pkgconfig DESTINATION ${CURRENT_PACKAGES_DIR}/share/geographiclib)
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/pkgconfig DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(INSTALL ${SOURCE_PATH}/00README.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/geographiclib RENAME readme)
-file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/geographiclib RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/geographiclib/usage b/ports/geographiclib/usage
new file mode 100644
index 000000000..7ba01a433
--- /dev/null
+++ b/ports/geographiclib/usage
@@ -0,0 +1,8 @@
+The package geographiclib:x64-linux provides CMake targets:
+
+ find_package(GeographicLib CONFIG REQUIRED)
+ #dynamic
+ target_link_libraries(main PRIVATE GeographicLib GeographicLib::GeographicLib)
+ #static
+ target_link_libraries(main PRIVATE GeographicLib_STATIC GeographicLib::GeographicLib_STATIC)
+ \ No newline at end of file
diff --git a/ports/gettext/CONTROL b/ports/gettext/CONTROL
index a6adfefc6..1816f8b76 100644
--- a/ports/gettext/CONTROL
+++ b/ports/gettext/CONTROL
@@ -1,5 +1,5 @@
Source: gettext
-Version: 0.19-10
+Version: 0.19-11
Homepage: https://www.gnu.org/software/gettext/
Description: The GNU gettext utilities are a set of tools that provides a framework to help other GNU packages produce multi-lingual messages. Provides libintl.
Build-Depends: libiconv
diff --git a/ports/gettext/portfile.cmake b/ports/gettext/portfile.cmake
index d7283cc90..a9ab3d2e7 100644
--- a/ports/gettext/portfile.cmake
+++ b/ports/gettext/portfile.cmake
@@ -1,5 +1,8 @@
if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
+ if (NOT EXISTS "/usr/include/libintl.h")
+ message(FATAL_ERROR "Please use command \"sudo apt-get install gettext\" to install gettext on linux.")
+ endif()
file(COPY ${CMAKE_CURRENT_LIST_DIR}/unofficial-gettext-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/unofficial-gettext)
return()
endif()
diff --git a/ports/glad/CONTROL b/ports/glad/CONTROL
index 98a427195..f5ac7ac02 100644
--- a/ports/glad/CONTROL
+++ b/ports/glad/CONTROL
@@ -1,4 +1,4 @@
Source: glad
-Version: 0.1.30
+Version: 0.1.31
Description: Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs.
Build-Depends: egl-registry, opengl-registry
diff --git a/ports/glad/portfile.cmake b/ports/glad/portfile.cmake
index eb1a226e9..2be191fc1 100644
--- a/ports/glad/portfile.cmake
+++ b/ports/glad/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Dav1dde/glad
- REF v0.1.30
- SHA512 2db0f75e5859be039bf4dcbea239dd6d35bdc92e69912e807dfacdb01581c73b6a5eb0f0889f2ffcd705415abe5f28cf204b4010d08f5477b51c0ce3ae6a35b5
+ REF 1a42f8a6099c60f6a4522731fadad4191d64e6ff
+ SHA512 02870cf43b5ee33a733122885f748a1368e4487fc08f32ba376d6d53c0efd9ed6e9aea350b723d955869ed47b4d9d69235a52f01723215cf4393d6ca99e2ac00
HEAD_REF master
)
diff --git a/ports/glew/CONTROL b/ports/glew/CONTROL
index 41df4d08c..011b631b4 100644
--- a/ports/glew/CONTROL
+++ b/ports/glew/CONTROL
@@ -1,4 +1,4 @@
Source: glew
-Version: 2.1.0-5
+Version: 2.1.0-6
Description: The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library.
Homepage: https://github.com/nigels-com/glew
diff --git a/ports/glew/portfile.cmake b/ports/glew/portfile.cmake
index 818ee52ea..1a3bd2a10 100644
--- a/ports/glew/portfile.cmake
+++ b/ports/glew/portfile.cmake
@@ -63,5 +63,6 @@ vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/glew )
file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/glew RENAME copyright)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
diff --git a/ports/glew/vcpkg-cmake-wrapper.cmake b/ports/glew/vcpkg-cmake-wrapper.cmake
new file mode 100644
index 000000000..6ad9ae434
--- /dev/null
+++ b/ports/glew/vcpkg-cmake-wrapper.cmake
@@ -0,0 +1,25 @@
+include(SelectLibraryConfigurations)
+_find_package(GLEW CONFIG)
+if(GLEW_FOUND AND TARGET GLEW::GLEW AND NOT DEFINED GLEW_INCLUDE_DIRS)
+ get_target_property(GLEW_INCLUDE_DIRS GLEW::GLEW INTERFACE_INCLUDE_DIRECTORIES)
+ set(GLEW_INCLUDE_DIR ${GLEW_INCLUDE_DIRS})
+ get_target_property(_GLEW_DEFS GLEW::GLEW INTERFACE_COMPILE_DEFINITIONS)
+ if("${_GLEW_DEFS}" MATCHES "GLEW_STATIC")
+ get_target_property(GLEW_LIBRARY_DEBUG GLEW::GLEW IMPORTED_LOCATION_DEBUG)
+ get_target_property(GLEW_LIBRARY_RELEASE GLEW::GLEW IMPORTED_LOCATION_RELEASE)
+ else()
+ get_target_property(GLEW_LIBRARY_DEBUG GLEW::GLEW IMPORTED_IMPLIB_DEBUG)
+ get_target_property(GLEW_LIBRARY_RELEASE GLEW::GLEW IMPORTED_IMPLIB_RELEASE)
+ endif()
+ get_target_property(_GLEW_LINK_INTERFACE GLEW::GLEW IMPORTED_LINK_INTERFACE_LIBRARIES_RELEASE) # same for debug and release
+ list(APPEND GLEW_LIBRARIES ${_GLEW_LINK_INTERFACE})
+ list(APPEND GLEW_LIBRARY ${_GLEW_LINK_INTERFACE})
+ select_library_configurations(GLEW)
+ if("${_GLEW_DEFS}" MATCHES "GLEW_STATIC")
+ set(GLEW_STATIC_LIBRARIES ${GLEW_LIBRARIES})
+ else()
+ set(GLEW_SHARED_LIBRARIES ${GLEW_LIBRARIES})
+ endif()
+ unset(_GLEW_DEFS)
+ unset(_GLEW_LINK_INTERFACE)
+endif() \ No newline at end of file
diff --git a/ports/glfw3/CONTROL b/ports/glfw3/CONTROL
index 6cbc41564..48a13de9e 100644
--- a/ports/glfw3/CONTROL
+++ b/ports/glfw3/CONTROL
@@ -1,4 +1,4 @@
Source: glfw3
-Version: 3.3-1
+Version: 3.3-2
Homepage: https://github.com/glfw/glfw
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/glfw3/fix-config.patch b/ports/glfw3/fix-config.patch
new file mode 100644
index 000000000..181d7d91b
--- /dev/null
+++ b/ports/glfw3/fix-config.patch
@@ -0,0 +1,24 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3c0f625..0c985cf 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -319,7 +319,8 @@ set(GLFW_CONFIG_PATH "${CMAKE_INSTALL_LIBDIR}/cmake/glfw3")
+ configure_package_config_file(src/glfw3Config.cmake.in
+ src/glfw3Config.cmake
+ INSTALL_DESTINATION "${GLFW_CONFIG_PATH}"
+- NO_CHECK_REQUIRED_COMPONENTS_MACRO)
++ NO_CHECK_REQUIRED_COMPONENTS_MACRO
++ PATH_VARS CMAKE_INSTALL_INCLUDEDIR)
+
+ write_basic_package_version_file(src/glfw3ConfigVersion.cmake
+ VERSION ${GLFW_VERSION_FULL}
+diff --git a/src/glfw3Config.cmake.in b/src/glfw3Config.cmake.in
+index 1fa200e..861df93 100644
+--- a/src/glfw3Config.cmake.in
++++ b/src/glfw3Config.cmake.in
+@@ -1 +1,5 @@
++@PACKAGE_INIT@
++
++set_and_check(glfw_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
++
+ include("${CMAKE_CURRENT_LIST_DIR}/glfw3Targets.cmake")
diff --git a/ports/glfw3/portfile.cmake b/ports/glfw3/portfile.cmake
index c8948628f..0ef2d50ba 100644
--- a/ports/glfw3/portfile.cmake
+++ b/ports/glfw3/portfile.cmake
@@ -6,16 +6,20 @@ vcpkg_from_github(
REF 3.3
SHA512 e74bb7ba0c1c3a524a193c4fb5a2d13ba0e75f8e309612ea19cdcc944859d6e2fe29d8b2e3db76236e1011b637564ddd5f4a176dcccfeb84d09bda060f08f774
HEAD_REF master
- PATCHES move-cmake-min-req.patch
+ PATCHES
+ move-cmake-min-req.patch
+ fix-config.patch
)
-if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+if(NOT VCPKG_TARGET_IS_WINDOWS)
message(
"GLFW3 currently requires the following libraries from the system package manager:
xinerama
xcursor
+ xorg
+ libglu1-mesa
-These can be installed on Ubuntu systems via sudo apt install libxinerama-dev libxcursor-dev")
+These can be installed on Ubuntu systems via sudo apt install libxinerama-dev libxcursor-dev xorg-dev libglu1-mesa-dev")
endif()
vcpkg_configure_cmake(
diff --git a/ports/glib/CMakeLists.txt b/ports/glib/CMakeLists.txt
index ccc2a77e2..6fe7847cf 100644
--- a/ports/glib/CMakeLists.txt
+++ b/ports/glib/CMakeLists.txt
@@ -102,6 +102,7 @@ else()
endif()
add_definitions("-DGIO_MODULE_DIR=\"gio/modules\"")
endif()
+install(FILES ${CMAKE_BINARY_DIR}/config/config.h DESTINATION include/glib)
include_directories(${CMAKE_BINARY_DIR}/config ${CMAKE_BINARY_DIR}/config/glib ${CMAKE_BINARY_DIR}/config/gio ${CMAKE_BINARY_DIR}/config/gmodule)
include_directories(. glib)
@@ -252,8 +253,14 @@ if(WIN32)
target_link_libraries(gio PRIVATE ws2_32 shlwapi dnsapi iphlpapi advapi32 shell32)
elseif(APPLE)
target_link_libraries(gio PRIVATE xdgmime kqueue)
+ if (HAVE_SELINUX)
+ target_link_libraries(gio PRIVATE selinux)
+ endif()
else()
target_link_libraries(gio PRIVATE xdgmime inotify)
+ if (HAVE_SELINUX)
+ target_link_libraries(gio PRIVATE selinux)
+ endif()
endif()
list(APPEND GLIB_TARGETS gio)
diff --git a/ports/glib/CONTROL b/ports/glib/CONTROL
index e589ba426..b2293bc33 100644
--- a/ports/glib/CONTROL
+++ b/ports/glib/CONTROL
@@ -1,5 +1,8 @@
Source: glib
-Version: 2.52.3-14-2
+Version: 2.52.3-14-3
Homepage: https://developer.gnome.org/glib/
Description: Portable, general-purpose utility library.
Build-Depends: zlib, pcre, libffi, gettext, libiconv
+
+Feature: selinux
+Description: Build with selinux support. \ No newline at end of file
diff --git a/ports/glib/portfile.cmake b/ports/glib/portfile.cmake
index 44a499320..41c3c5017 100644
--- a/ports/glib/portfile.cmake
+++ b/ports/glib/portfile.cmake
@@ -32,10 +32,18 @@ file(REMOVE_RECURSE ${SOURCE_PATH}/glib/pcre)
file(WRITE ${SOURCE_PATH}/glib/pcre/Makefile.in)
file(REMOVE ${SOURCE_PATH}/glib/win_iconv.c)
+if (selinux IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_WINDOWS AND NOT EXISTS "/usr/include/selinux")
+ message("Selinux was not found in its typical system location. Your build may fail. You can install Selinux with \"apt-get install selinux\".")
+endif()
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ selinux HAVE_SELINUX
+)
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
- OPTIONS
+ OPTIONS ${FEATURE_OPTIONS}
-DGLIB_VERSION=${GLIB_VERSION}
OPTIONS_DEBUG
-DGLIB_SKIP_HEADERS=ON
@@ -48,5 +56,7 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-glib TARGET_PATH share/un
vcpkg_copy_pdbs()
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/glib)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/glib)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/glib/COPYING ${CURRENT_PACKAGES_DIR}/share/glib/copyright)
diff --git a/ports/glog/CONTROL b/ports/glog/CONTROL
index a94938acd..ec6c47c84 100644
--- a/ports/glog/CONTROL
+++ b/ports/glog/CONTROL
@@ -1,5 +1,5 @@
Source: glog
-Version: 0.4.0-1
+Version: 0.4.0-2
Homepage: https://github.com/google/glog
Description: C++ implementation of the Google logging module
Build-Depends: gflags
diff --git a/ports/glog/portfile.cmake b/ports/glog/portfile.cmake
index 978539217..0417b8676 100644
--- a/ports/glog/portfile.cmake
+++ b/ports/glog/portfile.cmake
@@ -1,11 +1,3 @@
-# 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)
vcpkg_from_github(
@@ -31,6 +23,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
vcpkg_copy_pdbs()
-# Handle copyright
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/glog)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/glog/COPYING ${CURRENT_PACKAGES_DIR}/share/glog/copyright)
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/glslang/CONTROL b/ports/glslang/CONTROL
index 2d16ad41b..06f8f810f 100644
--- a/ports/glslang/CONTROL
+++ b/ports/glslang/CONTROL
@@ -1,4 +1,4 @@
Source: glslang
-Version: 2019-03-05
+Version: 2019-03-05-1
Homepage: https://github.com/KhronosGroup/glslang
Description: Khronos reference front-end for GLSL and ESSL, and sample SPIR-V generator \ No newline at end of file
diff --git a/ports/glslang/portfile.cmake b/ports/glslang/portfile.cmake
index 003aa26aa..1bb8121b1 100644
--- a/ports/glslang/portfile.cmake
+++ b/ports/glslang/portfile.cmake
@@ -16,15 +16,20 @@ vcpkg_from_github(
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
- OPTIONS -DCMAKE_DEBUG_POSTFIX=d -DSKIP_GLSLANG_INSTALL=OFF
+ OPTIONS
+ -DCMAKE_DEBUG_POSTFIX=d
+ -DSKIP_GLSLANG_INSTALL=OFF
)
vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/glslang)
+
+vcpkg_copy_pdbs()
+
file(RENAME "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/tools")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin")
-file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
# Handle copyright
file(COPY ${CMAKE_CURRENT_LIST_DIR}/copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/glslang)
diff --git a/ports/gmmlib/CONTROL b/ports/gmmlib/CONTROL
index ae6f760a9..4d043f870 100644
--- a/ports/gmmlib/CONTROL
+++ b/ports/gmmlib/CONTROL
@@ -1,3 +1,3 @@
Source: gmmlib
-Version: 19.1.2
+Version: 19.2.3
Description: intel's graphics memory management library
diff --git a/ports/gmmlib/portfile.cmake b/ports/gmmlib/portfile.cmake
index d3bf8dbec..b64650d74 100644
--- a/ports/gmmlib/portfile.cmake
+++ b/ports/gmmlib/portfile.cmake
@@ -9,8 +9,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO intel/gmmlib
- REF intel-gmmlib-19.1.2
- SHA512 fcc0beedfc3716b6204627f7daa5e0a5aec720b2a29ab2f8262b613a11d31bfe14dc8476513515d8470cf7d66f58d109ed4d5cf203e041228f53a64cb4a6c243
+ REF e834bcd677382fbebb7749ccbd678d86a82bffd3
+ SHA512 a22593d8d075db7af7fd9ffb6a4e0696e9fe25b73efa9b80e8513452581bdd0ceb6f400dd691e6d52edd72ea6f725066a454a829177d4987ccb4664e4c70ed4d
HEAD_REF master
)
diff --git a/ports/google-cloud-cpp/CONTROL b/ports/google-cloud-cpp/CONTROL
index a844f9749..a2bbef68d 100644
--- a/ports/google-cloud-cpp/CONTROL
+++ b/ports/google-cloud-cpp/CONTROL
@@ -1,5 +1,5 @@
Source: google-cloud-cpp
-Version: 0.12.0
+Version: 0.13.0
Build-Depends: grpc, curl[ssl], crc32c, googleapis
Description: C++ Client Libraries for Google Cloud Platform APIs.
Homepage: https://github.com/googleapis/google-cloud-cpp
diff --git a/ports/google-cloud-cpp/portfile.cmake b/ports/google-cloud-cpp/portfile.cmake
index e9ffdd014..3d6572770 100644
--- a/ports/google-cloud-cpp/portfile.cmake
+++ b/ports/google-cloud-cpp/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO googleapis/google-cloud-cpp
- REF v0.12.0
- SHA512 14d83e099b9d425475b963b6b4fe11c1881988afc90d87a63b2a0d17cd18f3000f725fa230b6b7487e14e383e7f3c5803122dbadd9dacdeeadc541b55074a805
+ REF v0.13.0
+ SHA512 68e8ccf5308208e59f644f52d7433baacc1e1253c444a4f90886aab73d4dbe72bfd4b3f7ac667f1df708b0c9f3546cef0421d6ffdae9fc4c1979608c3cfce648
HEAD_REF master
)
diff --git a/ports/googleapis/CONTROL b/ports/googleapis/CONTROL
index 194cd39f5..ac633e51b 100644
--- a/ports/googleapis/CONTROL
+++ b/ports/googleapis/CONTROL
@@ -1,5 +1,5 @@
Source: googleapis
-Version: 0.1.3
+Version: 0.1.5
Build-Depends: grpc, protobuf
Description: C++ Proto Libraries for Google APIs.
Homepage: https://github.com/googleapis/cpp-cmakefiles
diff --git a/ports/googleapis/portfile.cmake b/ports/googleapis/portfile.cmake
index 969ec95fb..978d7a4b8 100644
--- a/ports/googleapis/portfile.cmake
+++ b/ports/googleapis/portfile.cmake
@@ -9,8 +9,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO googleapis/cpp-cmakefiles
- REF v0.1.3
- SHA512 5c6be5af731d97dcf754b1f643c35a1c806e6b976a3dd027dd80ee15f86c6d70f772dcecbf2da5597a4e8d8d9639813c2d2f66dd7112b8039c14c3a49ec6c4db
+ REF v0.1.5
+ SHA512 7c940cd60490c64b67b608b10dc85f8be33b370737e0d2a6c73015fc5b9b921b07aceef672f6cdef86878d766e4f2c89af28869e06677ca1ddbbf11fe8b5f963
HEAD_REF master
)
diff --git a/ports/gppanel/00001-fix-build.patch b/ports/gppanel/00001-fix-build.patch
new file mode 100644
index 000000000..bf394d63f
--- /dev/null
+++ b/ports/gppanel/00001-fix-build.patch
@@ -0,0 +1,24 @@
+diff --git a/gpPanel/gpPanel.cpp b/gpPanel/gpPanel.cpp
+index 7af20b5..908523c 100644
+--- a/gpPanel/gpPanel.cpp
++++ b/gpPanel/gpPanel.cpp
+@@ -720,8 +720,8 @@ void gpPanel::OnMenuItemPrintPreview(wxCommandEvent& event)
+ gpLayer_s *gp = GetLayerByMenuId(event.GetId() );
+ if(gp==NULL)return;
+
+- mpPrintout *plotPrint = new mpPrintout(gp->m_plot, gp->layer->GetName());
+- mpPrintout *plotPrintPreview = new mpPrintout(gp->m_plot, gp->layer->GetName());
++ mpPrintout *plotPrint = new mpPrintout(gp->m_plot, gp->layer->GetName().c_str());
++ mpPrintout *plotPrintPreview = new mpPrintout(gp->m_plot, gp->layer->GetName().c_str());
+
+ wxPrintPreview *preview = new wxPrintPreview(plotPrintPreview, plotPrint);
+
+@@ -765,7 +765,7 @@ void gpPanel::OnMenuItemSaveScreenshot(wxCommandEvent& event)
+ if(index!=-1)
+ {
+ wxString reso = aChoices.Item(index);
+- if( reso.CompareTo(_("custom")) == 0 ){
++ if( reso.CompareTo(_("custom").c_str()) == 0 ){
+ reso = wxGetTextFromUser(_("Write image resolution (format: [width]x[height]"), _("Custom resolution for image"), _("640x480"), this);
+ }
+ if(reso.Find('x') != -1)
diff --git a/ports/gppanel/CMakeLists.txt b/ports/gppanel/CMakeLists.txt
new file mode 100644
index 000000000..ba3f22f7a
--- /dev/null
+++ b/ports/gppanel/CMakeLists.txt
@@ -0,0 +1,32 @@
+cmake_minimum_required(VERSION 3.13)
+project(gpPanel CXX)
+
+set(wxWidgets_EXCLUDE_COMMON_LIBRARIES TRUE)
+find_package(wxWidgets REQUIRED COMPONENTS core base)
+include(${wxWidgets_USE_FILE})
+
+file(GLOB_RECURSE SOURCES "gpPanel/*.cpp")
+file(GLOB HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/include" "include/*.h")
+
+add_library(gpPanel STATIC ${SOURCES})
+target_compile_definitions(gpPanel PRIVATE _CRT_SECURE_NO_WARNINGS)
+
+target_include_directories(gpPanel PUBLIC
+ $<INSTALL_INTERFACE:include>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+)
+
+target_link_libraries(gpPanel PRIVATE ${wxWidgets_LIBRARIES})
+
+install(TARGETS gpPanel EXPORT gpPanel-config
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+)
+
+install(EXPORT gpPanel-config DESTINATION share/cmake/gpPanel)
+
+foreach (HEADER ${HEADERS} )
+ get_filename_component(HEADER_DIR ${HEADER} DIRECTORY)
+ install(FILES include/${HEADER} DESTINATION include/gpPanel/${HEADER_DIR})
+endforeach()
diff --git a/ports/gppanel/CONTROL b/ports/gppanel/CONTROL
new file mode 100644
index 000000000..580f233d2
--- /dev/null
+++ b/ports/gppanel/CONTROL
@@ -0,0 +1,5 @@
+Source: gppanel
+Version: 2018-04-06
+Build-Depends: wxwidgets
+Homepage: https://github.com/woollybah/gppanel
+Description: gpPanel is chart libary for wxWidget. It inheritance from wxPanel and use modified wxMathPlot library at chart engine.
diff --git a/ports/gppanel/portfile.cmake b/ports/gppanel/portfile.cmake
new file mode 100644
index 000000000..04ef9be56
--- /dev/null
+++ b/ports/gppanel/portfile.cmake
@@ -0,0 +1,42 @@
+include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO woollybah/gppanel
+ REF 5ef9674d893bbf5e17da66841cbc6aeeef051b25
+ SHA512 a52eb5c4d9065e29d84374e9c484bae14cf7ff9a80fe6b025be108942a6c4683dd7f64830f78f0f7d45971f930df68f58dadf7c3915178e8908dd220d06a1e2c
+ HEAD_REF master
+ PATCHES 00001-fix-build.patch
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH VCPKG_WX_FIND_SOURCE_PATH
+ REPO CaeruleusAqua/vcpkg-wx-find
+ REF 17993e942f677799b488a06ca659a8e46ff272c9
+ SHA512 0fe07d3669f115c9b6a761abd7743f87e67f24d1eae3f3abee4715fa4d6b76af0d1ea3a4bd82dbdbed430ae50295e1722615ce0ee7d46182125f5048185ee153
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake DESTINATION ${VCPKG_WX_FIND_SOURCE_PATH})
+file(COPY ${CMAKE_ROOT}/Modules/FindPackageMessage.cmake DESTINATION ${VCPKG_WX_FIND_SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DCMAKE_MODULE_PATH=${VCPKG_WX_FIND_SOURCE_PATH}
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/gpPanel)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/gpPanel/copyright COPYONLY)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/gpPanel)
diff --git a/ports/gppanel/usage b/ports/gppanel/usage
new file mode 100644
index 000000000..1ad1e6c42
--- /dev/null
+++ b/ports/gppanel/usage
@@ -0,0 +1,4 @@
+The package gppanel provides CMake targets:
+
+ find_package(gpPanel CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE gpPanel)
diff --git a/ports/graphicsmagick/CONTROL b/ports/graphicsmagick/CONTROL
index 350ccd178..430afc978 100644
--- a/ports/graphicsmagick/CONTROL
+++ b/ports/graphicsmagick/CONTROL
@@ -1,6 +1,6 @@
Source: graphicsmagick
Maintainer: josuegomes@gmail.com
-Version: 1.3.32-1
+Version: 1.3.33
Build-Depends: zlib, bzip2, freetype, libjpeg-turbo, libpng, tiff
Homepage: https://sourceforge.net/projects/graphicsmagick/
Description: Image processing library
diff --git a/ports/graphicsmagick/portfile.cmake b/ports/graphicsmagick/portfile.cmake
index 1764b30e7..5fc72b6ec 100644
--- a/ports/graphicsmagick/portfile.cmake
+++ b/ports/graphicsmagick/portfile.cmake
@@ -1,11 +1,11 @@
include(vcpkg_common_functions)
-set(GM_VERSION 1.3.32)
+set(GM_VERSION 1.3.33)
vcpkg_download_distfile(ARCHIVE
URLS "https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/${GM_VERSION}/GraphicsMagick-${GM_VERSION}-windows-source.7z"
FILENAME "GraphicsMagick-${GM_VERSION}-windows-source.7z"
- SHA512 1636f704bac65587d6526a10e7002a6158f951643a4e9eb936b0b734c1eb187155aa4d67febe897f9a2397ecadff736ba84cfe21704348e2d8481af01eff02f6
+ SHA512 856fafe36693a7963f5944f489f4b7a0d15d9dcc575f96d31486e3abd886f681854cbb2271feb4b4cb19668480904d473138a2d9c2ec95539de705d75e2f49c9
)
vcpkg_extract_source_archive_ex(
diff --git a/ports/graphite2/CONTROL b/ports/graphite2/CONTROL
index faf867a97..38bc0e4a4 100644
--- a/ports/graphite2/CONTROL
+++ b/ports/graphite2/CONTROL
@@ -1,5 +1,5 @@
Source: graphite2
-Version: 1.3.12-1
+Version: 1.3.13
Homepage: https://github.com/silnrsi/graphite
Description: Graphite is a "smart font" system developed specifically to handle the complexities of lesser-known languages of the world.
Graphite2 is a rework of the original Graphite engine that is faster, smaller, and uses an API that is better suited to the layout architecture of most text-processing applications.
diff --git a/ports/graphite2/disable-tests.patch b/ports/graphite2/disable-tests.patch
index ccb2ac822..67a0d90e7 100644
--- a/ports/graphite2/disable-tests.patch
+++ b/ports/graphite2/disable-tests.patch
@@ -1,33 +1,45 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a4c648e..db90735 100644
+index 496712d..3df05c7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -80,11 +80,13 @@ if (BUILD_SHARED_LIBS)
- endif (BUILD_SHARED_LIBS)
+@@ -82,10 +82,12 @@ if (BUILD_SHARED_LIBS)
+ endif()
add_subdirectory(src)
+-add_subdirectory(tests)
+-add_subdirectory(doc)
+-if (NOT GRAPHITE2_NFILEFACE)
+- add_subdirectory(gr2fonttest)
+if(NOT DISABLE_TESTS)
- add_subdirectory(tests)
- add_subdirectory(doc)
- if (NOT GRAPHITE2_NFILEFACE)
- add_subdirectory(gr2fonttest)
- endif (NOT GRAPHITE2_NFILEFACE)
-+endif()
++ add_subdirectory(tests)
++ add_subdirectory(doc)
++ if (NOT GRAPHITE2_NFILEFACE)
++ add_subdirectory(gr2fonttest)
++ endif()
+ endif()
set(version 3.0.1)
- set(libdir ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 89a59af..c72be21 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -141,7 +141,9 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
- LINKER_LANGUAGE C)
- target_link_libraries(graphite2 c)
- include(Graphite)
-- nolib_test(stdc++ $<TARGET_SONAME_FILE:graphite2>)
-+ if(NOT DISABLE_TESTS)
-+ nolib_test(stdc++ $<TARGET_SONAME_FILE:graphite2>)
-+ endif()
- set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
- CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}")
- endif (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 389cf5a..94b7f99 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -127,7 +127,7 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+ endif ()
+ endif()
+ include(Graphite)
+- if (BUILD_SHARED_LIBS)
++ if (NOT DISABLE_TESTS)
+ nolib_test(stdc++ $<TARGET_SONAME_FILE:graphite2>)
+ endif ()
+ set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
+@@ -141,7 +141,9 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
+ LINKER_LANGUAGE C)
+ target_link_libraries(graphite2 c)
+ include(Graphite)
+- nolib_test(stdc++ $<TARGET_SONAME_FILE:graphite2>)
++ if (NOT DISABLE_TESTS)
++ nolib_test(stdc++ $<TARGET_SONAME_FILE:graphite2>)
++ endif ()
+ set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
+ CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}")
+ endif()
diff --git a/ports/graphite2/portfile.cmake b/ports/graphite2/portfile.cmake
index 679d95679..110363571 100644
--- a/ports/graphite2/portfile.cmake
+++ b/ports/graphite2/portfile.cmake
@@ -4,8 +4,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO silnrsi/graphite
- REF 1.3.12
- SHA512 d0aed05b54445a9664435d5aef9d78fc07a89be23d18b7b1339d37412b09faca6da3dc1e72524e4b114724b76aa6f36934e8ab1a01bd0752e353efa075c9e643
+ REF b45f9b271214b95f3b42e5c9863eae4b0bfb7fd7
+ SHA512 5bd1052c1e21ab523ce17804b7123858d17ca9893cbd972f0af58119c5419d771df13d374569a14dd82605536674d9b1a4787300eac4bd89a177a40df5a05282
HEAD_REF master
PATCHES disable-tests.patch
)
diff --git a/ports/grpc/00005-fix-uwp-error.patch b/ports/grpc/00005-fix-uwp-error.patch
new file mode 100644
index 000000000..d23036367
--- /dev/null
+++ b/ports/grpc/00005-fix-uwp-error.patch
@@ -0,0 +1,12 @@
+diff --git a/src/core/lib/slice/slice.cc b/src/core/lib/slice/slice.cc
+index eebf66b..6c6ee50 100644
+--- a/src/core/lib/slice/slice.cc
++++ b/src/core/lib/slice/slice.cc
+@@ -220,6 +220,7 @@ grpc_slice grpc_slice_from_moved_buffer(grpc_core::UniquePtr<char> p,
+ size_t len) {
+ uint8_t* ptr = reinterpret_cast<uint8_t*>(p.get());
+ grpc_slice slice;
++ memset(&slice, 0, sizeof(grpc_slice));
+ if (len <= sizeof(slice.data.inlined.bytes)) {
+ slice.refcount = nullptr;
+ slice.data.inlined.length = len;
diff --git a/ports/grpc/00006-crypt32.patch b/ports/grpc/00006-crypt32.patch
new file mode 100644
index 000000000..312e70ef3
--- /dev/null
+++ b/ports/grpc/00006-crypt32.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b3ca615..21b5aaf 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -171,7 +171,7 @@ elseif(UNIX)
+ endif()
+
+ if(WIN32 AND MSVC)
+- set(_gRPC_BASELIB_LIBRARIES wsock32 ws2_32 gdi32)
++ set(_gRPC_BASELIB_LIBRARIES wsock32 ws2_32 gdi32 crypt32)
+ endif()
+
+ # Create directory for generated .proto files
diff --git a/ports/grpc/00007-disable_grpcpp_channelz.patch b/ports/grpc/00007-disable_grpcpp_channelz.patch
new file mode 100644
index 000000000..336077290
--- /dev/null
+++ b/ports/grpc/00007-disable_grpcpp_channelz.patch
@@ -0,0 +1,34 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1961995..d721654 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -4692,7 +4692,7 @@ if (gRPC_INSTALL)
+ endif()
+
+
+-if (gRPC_BUILD_CODEGEN)
++if (gRPC_BUILD_CODEGEN AND NOT gRPC_USE_PROTO_LITE)
+ add_library(grpcpp_channelz
+ src/cpp/server/channelz/channelz_service.cc
+ src/cpp/server/channelz/channelz_service_plugin.cc
+@@ -4749,7 +4749,7 @@ foreach(_hdr
+ endforeach()
+
+
+-if (gRPC_BUILD_CODEGEN)
++if (gRPC_BUILD_CODEGEN AND NOT gRPC_USE_PROTO_LITE)
+
+ if (gRPC_INSTALL)
+ install(TARGETS grpcpp_channelz EXPORT gRPCTargets
+@@ -4758,9 +4758,9 @@ if (gRPC_INSTALL)
+ ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
+ )
+ endif()
+-endif (gRPC_BUILD_CODEGEN)
++endif (gRPC_BUILD_CODEGEN AND NOT gRPC_USE_PROTO_LITE)
+
+-endif (gRPC_BUILD_CODEGEN)
++endif (gRPC_BUILD_CODEGEN AND NOT gRPC_USE_PROTO_LITE)
+ if (gRPC_BUILD_TESTS)
+
+ if (gRPC_BUILD_CODEGEN)
diff --git a/ports/grpc/CONTROL b/ports/grpc/CONTROL
index 079fd91f6..5e117e2d2 100644
--- a/ports/grpc/CONTROL
+++ b/ports/grpc/CONTROL
@@ -1,5 +1,5 @@
Source: grpc
-Version: 1.21.1-1
+Version: 1.23.0
Build-Depends: zlib, openssl, protobuf, c-ares (!uwp)
Homepage: https://github.com/grpc/grpc
Description: An RPC library and framework
diff --git a/ports/grpc/portfile.cmake b/ports/grpc/portfile.cmake
index 2dca1c34c..a9efb2b70 100644
--- a/ports/grpc/portfile.cmake
+++ b/ports/grpc/portfile.cmake
@@ -13,14 +13,17 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO grpc/grpc
- REF 75475f090875e737ad6909a6057c59577f0c79b1
- SHA512 db9ff82dee38cb0f4ba10874d10bf6cb20c8a4d49e7dd24bcd9f71388c54c782ee12fda6f1bfedd79ad988b0275d3f96df4686217465acfafcfb5e4c30093a5b
+ REF v1.23.0
+ SHA512 4770651bd73b71735152155327c44d59125442b405157ffea8fb80b6f16406dd388474394e44ef620e2a777018121988a3a7a552a42141650d7cac263ab499a0
HEAD_REF master
PATCHES
00001-fix-uwp.patch
00002-static-linking-in-linux.patch
00003-undef-base64-macro.patch
00004-link-gdi32-on-windows.patch
+ 00005-fix-uwp-error.patch
+ 00006-crypt32.patch
+ 00007-disable_grpcpp_channelz.patch
)
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
diff --git a/ports/grppi/CONTROL b/ports/grppi/CONTROL
new file mode 100644
index 000000000..c638ad212
--- /dev/null
+++ b/ports/grppi/CONTROL
@@ -0,0 +1,4 @@
+Source: grppi
+Version: 0.4.0
+Homepage: https://github.com/arcosuc3m/grppi
+Description: GrPPI is an open source generic and reusable parallel pattern programming interface developed at University Carlos III of Madrid. \ No newline at end of file
diff --git a/ports/grppi/fix-build-error.patch b/ports/grppi/fix-build-error.patch
new file mode 100644
index 000000000..edbdc3ad5
--- /dev/null
+++ b/ports/grppi/fix-build-error.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 09f1f9b..9ef62e9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -13,7 +13,7 @@ message(STATUS "CMAKE_CXX_COMPILER_ID: " ${CMAKE_CXX_COMPILER_ID} )
+
+ set(CMAKE_CXX_STANDARD 14)
+
+-add_compile_options(-Wall -Werror -pedantic -pedantic-errors -Wextra -Weffc++)
++add_compile_options(-Wall -Werror -pedantic -pedantic-errors -Wextra)
+
+ # Set specific options depending on compiler
+ if ( ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" )
diff --git a/ports/grppi/fix-support-other-compilers.patch b/ports/grppi/fix-support-other-compilers.patch
new file mode 100644
index 000000000..d347b2674
--- /dev/null
+++ b/ports/grppi/fix-support-other-compilers.patch
@@ -0,0 +1,44 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 09f1f9b..e7b562b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -20,22 +20,19 @@ if ( ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" )
+ if(NOT(${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 3.9.0))
+ message(FATAL_ERROR "Clang version " ${CMAKE_CXX_COMPILER_VERSION}
+ " not supported. Upgrade to 3.9 or above.")
+- else()
+- message( STATUS "C++ Compiler is Clang" )
+ endif()
+ elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
+ if(NOT(${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 6.0))
+ message(FATAL_ERROR "g++ version " ${CMAKE_CXX_COMPILER_VERSION}
+ " not supported. Upgrade to 6.0 or above.")
+ else()
+- message( STATUS "C++ Compiler is GNU")
+ if (${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 7.0)
+ #g++ 7 warns in non C++17 for over-aligned new otherwise
+ add_compile_options(-faligned-new)
+ endif()
+ endif()
+ elseif ( ${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel" )
+- message(FATAL_ERROR "Intel compiler is not currently supported")
++ message(WARNING "Intel compiler is not currently supported")
+ # if(NOT(${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 16.0))
+ # message( FATAL_ERROR "Intel version " ${CMAKE_CXX_COMPILER_VERSION}
+ # " not supported. Upgrade to 16.0 or above.")
+@@ -43,12 +40,11 @@ elseif ( ${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel" )
+ # message( STATUS "C++ Compiler is Intel" )
+ # message( WARNING "WARNING: GrPPI has not been fully tested with Intel compiler." )
+ # endif()
+-else()
+- message( FATAL_ERROR "Unsupported compiler: "
+- ${CMAKE_CXX_COMPILER_ID}
+- ${CMAKE_CXX_COMPILER_VERSION})
+ endif()
+
++message(STATUS "C++ Compiler is " ${CMAKE_CXX_COMPILER_ID}
++ " version " ${CMAKE_CXX_COMPILER_VERSION})
++
+ # GrPPI library
+ include_directories("${CMAKE_SOURCE_DIR}/include")
+
diff --git a/ports/grppi/portfile.cmake b/ports/grppi/portfile.cmake
new file mode 100644
index 000000000..6b1895d0f
--- /dev/null
+++ b/ports/grppi/portfile.cmake
@@ -0,0 +1,27 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO arcosuc3m/grppi
+ REF v0.4.0
+ SHA512 f8235af6832958de420a68d4465a6c63701ab4385f3430d32f77c1d5e8212001262aad1a8aae04261ba889d592798cd3963843b190d325bddc1fe7dcc4aebd7d
+ HEAD_REF master
+ PATCHES
+ fix-build-error.patch
+ fix-support-other-compilers.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DGRPPI_DOXY_ENABLE=OFF
+ -DGRPPI_EXAMPLE_APPLICATIONS_ENABLE=OFF
+ -DGRPPI_UNIT_TEST_ENABLE=OFF
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/gtest/CONTROL b/ports/gtest/CONTROL
index 97b5ad3a8..07f5f8a2e 100644
--- a/ports/gtest/CONTROL
+++ b/ports/gtest/CONTROL
@@ -1,4 +1,4 @@
Source: gtest
-Version: 2019-08-14
+Version: 2019-08-14-2
Homepage: https://github.com/google/googletest
Description: GoogleTest and GoogleMock testing frameworks.
diff --git a/ports/gtest/fix-main-lib-path.patch b/ports/gtest/fix-main-lib-path.patch
new file mode 100644
index 000000000..e07806eec
--- /dev/null
+++ b/ports/gtest/fix-main-lib-path.patch
@@ -0,0 +1,68 @@
+diff --git a/googlemock/CMakeLists.txt b/googlemock/CMakeLists.txt
+index 3e72d75..9d135ff 100644
+--- a/googlemock/CMakeLists.txt
++++ b/googlemock/CMakeLists.txt
+@@ -115,7 +115,8 @@ endif()
+ ########################################################################
+ #
+ # Install rules
+-install_project(gmock gmock_main)
++install_project(gmock)
++install_project(gmock_main)
+
+ ########################################################################
+ #
+diff --git a/googletest/CMakeLists.txt b/googletest/CMakeLists.txt
+index e33718b..a049c2c 100644
+--- a/googletest/CMakeLists.txt
++++ b/googletest/CMakeLists.txt
+@@ -136,7 +136,8 @@ target_link_libraries(gtest_main PUBLIC gtest)
+ ########################################################################
+ #
+ # Install rules
+-install_project(gtest gtest_main)
++install_project(gtest)
++install_project(gtest_main)
+
+ ########################################################################
+ #
+diff --git a/googletest/cmake/internal_utils.cmake b/googletest/cmake/internal_utils.cmake
+index 69defc8..cf7295a 100644
+--- a/googletest/cmake/internal_utils.cmake
++++ b/googletest/cmake/internal_utils.cmake
+@@ -317,11 +317,15 @@ function(install_project)
+ install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/"
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
+ # Install the project targets.
++ set (LIB_INSTALL_DST ${CMAKE_INSTALL_LIBDIR})
++ if (${ARGN} MATCHES "_main")
++ set (LIB_INSTALL_DST ${CMAKE_INSTALL_LIBDIR}/manual-link)
++ endif()
+ install(TARGETS ${ARGN}
+ EXPORT ${targets_export_name}
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
+- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
++ ARCHIVE DESTINATION "${LIB_INSTALL_DST}"
++ LIBRARY DESTINATION "${LIB_INSTALL_DST}")
+ if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
+ # Install PDBs
+ foreach(t ${ARGN})
+@@ -330,7 +334,7 @@ function(install_project)
+ get_target_property(t_pdb_output_directory ${t} PDB_OUTPUT_DIRECTORY)
+ install(FILES
+ "${t_pdb_output_directory}/\${CMAKE_INSTALL_CONFIG_NAME}/$<$<CONFIG:Debug>:${t_pdb_name_debug}>$<$<NOT:$<CONFIG:Debug>>:${t_pdb_name}>.pdb"
+- DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ DESTINATION ${LIB_INSTALL_DST}
+ OPTIONAL)
+ endforeach()
+ endif()
+@@ -340,7 +344,7 @@ function(install_project)
+ configure_file("${PROJECT_SOURCE_DIR}/cmake/${t}.pc.in"
+ "${configured_pc}" @ONLY)
+ install(FILES "${configured_pc}"
+- DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
++ DESTINATION "${LIB_INSTALL_DST}/pkgconfig")
+ endforeach()
+ endif()
+ endfunction()
diff --git a/ports/gtest/portfile.cmake b/ports/gtest/portfile.cmake
index c6fd0162c..3679ba873 100644
--- a/ports/gtest/portfile.cmake
+++ b/ports/gtest/portfile.cmake
@@ -11,7 +11,8 @@ vcpkg_from_github(
SHA512 fc874a7977f11be58dc63993b520b4ae6ca43654fb5250c8b56df62a21f4dca8fcbdc81dfa106374b2bb7c59bc88952fbfc0e3ae4c7d63fdb502afbaeb39c822
HEAD_REF master
PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/0002-Fix-z7-override.patch
+ 0002-Fix-z7-override.patch
+ fix-main-lib-path.patch
)
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" GTEST_FORCE_SHARED_CRT)
diff --git a/ports/gtest/usage b/ports/gtest/usage
index d40782e0e..3ed194453 100644
--- a/ports/gtest/usage
+++ b/ports/gtest/usage
@@ -1,6 +1,8 @@
The package gtest is compatible with built-in CMake targets:
enable_testing()
- find_package(GTest MODULE REQUIRED)
- target_link_libraries(main PRIVATE GTest::GTest GTest::Main)
+
+ find_package(GTest CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE GTest::gtest GTest::gtest_main GTest::gmock GTest::gmock_main)
+
add_test(AllTestsInMain main)
diff --git a/ports/hidapi/CONTROL b/ports/hidapi/CONTROL
new file mode 100644
index 000000000..80f18b493
--- /dev/null
+++ b/ports/hidapi/CONTROL
@@ -0,0 +1,4 @@
+Source: hidapi
+Version: 2019-08-30
+Description: A Simple library for communicating with USB and Bluetooth HID devices on Linux, Mac and Windows.
+Homepage: https://github.com/libusb/hidapi
diff --git a/ports/hidapi/hidapi-config.cmake b/ports/hidapi/hidapi-config.cmake
new file mode 100644
index 000000000..126685a89
--- /dev/null
+++ b/ports/hidapi/hidapi-config.cmake
@@ -0,0 +1,48 @@
+# - try to find HIDAPI library
+# from http://www.signal11.us/oss/hidapi/
+#
+# Cache Variables: (probably not for direct use in your scripts)
+# HIDAPI_INCLUDE_DIR
+# HIDAPI_LIBRARY
+#
+# Non-cache variables you might use in your CMakeLists.txt:
+# HIDAPI_FOUND
+# HIDAPI_INCLUDE_DIRS
+# HIDAPI_LIBRARIES
+#
+# Requires these CMake modules:
+# FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
+#
+# Original Author:
+# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
+# http://academic.cleardefinition.com
+# Iowa State University HCI Graduate Program/VRAC
+#
+# Copyright Iowa State University 2009-2010.
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+# hacking FindHIDAPI.cmake as hidapi-config.cmake
+
+find_library(HIDAPI_LIBRARY
+ NAMES hidapi hidapi-libusb)
+
+find_path(HIDAPI_INCLUDE_DIR
+ NAMES hidapi.h
+ PATH_SUFFIXES
+ hidapi)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(HIDAPI
+ DEFAULT_MSG
+ HIDAPI_LIBRARY
+ HIDAPI_INCLUDE_DIR)
+
+if(HIDAPI_FOUND)
+ set(HIDAPI_LIBRARIES "${HIDAPI_LIBRARY}")
+
+ set(HIDAPI_INCLUDE_DIRS "${HIDAPI_INCLUDE_DIR}")
+endif()
+
+mark_as_advanced(HIDAPI_INCLUDE_DIR HIDAPI_LIBRARY)
diff --git a/ports/hidapi/portfile.cmake b/ports/hidapi/portfile.cmake
new file mode 100644
index 000000000..93969227d
--- /dev/null
+++ b/ports/hidapi/portfile.cmake
@@ -0,0 +1,34 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO libusb/hidapi
+ REF fc677b81951d8facc99bab6b4f0060b5d89e2e15 # use commit from master for windows/hidapi.vcxproj
+ SHA512 8a779c1d4fe83e264046f3193a5cefe2d9765dcde30628767838180b3dec2bdd25c9c1ec9a96b3a7edaf00df7662b4d658f2b57bda67cebc7d7cb4e737cb1f88
+ HEAD_REF master
+)
+
+if(VCPKG_TARGET_IS_WINDOWS)
+ if(TRIPLET_SYSTEM_ARCH MATCHES "arm")
+ message(FATAL_ERROR "ARM builds are currently not supported!")
+ elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore)
+ message(FATAL_ERROR "UWP builds are currently not supported!")
+ endif()
+
+ vcpkg_install_msbuild(
+ SOURCE_PATH ${SOURCE_PATH}
+ PROJECT_SUBPATH windows/hidapi.sln
+ INCLUDES_SUBPATH hidapi ALLOW_ROOT_INCLUDES
+ LICENSE_SUBPATH LICENSE-bsd.txt # use BSD license
+ )
+
+ file(COPY
+ ${CMAKE_CURRENT_LIST_DIR}/hidapi-config.cmake
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+ endif()
+else()
+ message(FATAL_ERROR "Non-Windows builds are currently not supported!")
+endif()
diff --git a/ports/ignition-cmake0/CONTROL b/ports/ignition-cmake0/CONTROL
new file mode 100644
index 000000000..5f427ffef
--- /dev/null
+++ b/ports/ignition-cmake0/CONTROL
@@ -0,0 +1,7 @@
+Source: ignition-cmake0
+Version: 0.6.2
+Homepage: https://ignitionrobotics.org/libs/cmake
+Description: CMake helper functions for building robotic applications
+Build-Depends: ignition-modularscripts
+
+
diff --git a/ports/ignition-cmake0/do-not-compile-gtest.patch b/ports/ignition-cmake0/do-not-compile-gtest.patch
new file mode 100644
index 000000000..7c20a0dbe
--- /dev/null
+++ b/ports/ignition-cmake0/do-not-compile-gtest.patch
@@ -0,0 +1,14 @@
+diff --git a/cmake/IgnConfigureBuild.cmake b/cmake/IgnConfigureBuild.cmake
+--- a/cmake/IgnConfigureBuild.cmake
++++ b/cmake/IgnConfigureBuild.cmake
+@@ -109,7 +109,9 @@
+ # Add all the source code directories
+ add_subdirectory(src)
+ add_subdirectory(include)
+- add_subdirectory(test)
++ if(BUILD_TESTING)
++ add_subdirectory(test)
++ endif()
+
+
+ #--------------------------------------
diff --git a/ports/ignition-cmake0/portfile.cmake b/ports/ignition-cmake0/portfile.cmake
new file mode 100644
index 000000000..fc85e8335
--- /dev/null
+++ b/ports/ignition-cmake0/portfile.cmake
@@ -0,0 +1,26 @@
+include(vcpkg_common_functions)
+
+include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake)
+
+set(PACKAGE_VERSION "0.6.1")
+
+ignition_modular_library(NAME cmake
+ VERSION ${PACKAGE_VERSION}
+ REF "ignition-cmake_${PACKAGE_VERSION}"
+ SHA512 fcd3ad6b5289697c4928c71b820e2adaa758c730f52cba3f8cc714e44ca0c9f04f432ae5b98b5f258c4851c4666740b58066a25c55ff3a6de975cd8a57991b6b
+ # Ensure that gtest is not compiled (backport of https://bitbucket.org/ignitionrobotics/ign-cmake/pull-requests/163)
+ PATCHES do-not-compile-gtest.patch
+ # Support for ARM64 (backport of https://bitbucket.org/ignitionrobotics/ign-cmake/pull-requests/168)
+ support-arm64.patch
+ # Do not depend on pkg-config installed to find uuid
+ uuid-do-not-require-pkg-config.patch
+ )
+
+# Permit empty include folder
+set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
+
+# Remove unneccessary directory, as ignition-cmake is a pure CMake package
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/debug)
+
+# Install custom usage
+configure_file(${CMAKE_CURRENT_LIST_DIR}/usage ${CURRENT_PACKAGES_DIR}/share/${PORT}/usage @ONLY)
diff --git a/ports/ignition-cmake0/support-arm64.patch b/ports/ignition-cmake0/support-arm64.patch
new file mode 100644
index 000000000..aba99ba35
--- /dev/null
+++ b/ports/ignition-cmake0/support-arm64.patch
@@ -0,0 +1,17 @@
+diff -r 8a976a308d77 -r 1bea7874cfec cmake/IgnSetCompilerFlags.cmake
+--- a/cmake/IgnSetCompilerFlags.cmake
++++ b/cmake/IgnSetCompilerFlags.cmake
+@@ -279,13 +279,6 @@
+ # Don't pull in the Windows min/max macros
+ add_definitions(-DNOMINMAX)
+
+- if (MSVC AND CMAKE_SIZEOF_VOID_P EQUAL 8)
+- # Not needed if a proper cmake generator (-G "...Win64") is passed
+- # to cmake. Enable as a second measure to work around bug
+- # http://www.cmake.org/Bug/print_bug_page.php?bug_id=11240
+- set(CMAKE_SHARED_LINKER_FLAGS "/machine:x64")
+- endif()
+-
+ if(USE_IGN_RECOMMENDED_FLAGS)
+
+ # Gy: Prevent errors caused by multiply-defined symbols
diff --git a/ports/ignition-cmake0/usage b/ports/ignition-cmake0/usage
new file mode 100644
index 000000000..66da98102
--- /dev/null
+++ b/ports/ignition-cmake0/usage
@@ -0,0 +1,3 @@
+The package ignition-cmake0 provides CMake integration:
+
+ find_package(ignition-cmake0 CONFIG REQUIRED)
diff --git a/ports/ignition-cmake0/uuid-do-not-require-pkg-config.patch b/ports/ignition-cmake0/uuid-do-not-require-pkg-config.patch
new file mode 100644
index 000000000..6953391fa
--- /dev/null
+++ b/ports/ignition-cmake0/uuid-do-not-require-pkg-config.patch
@@ -0,0 +1,30 @@
+diff --git a/cmake/FindUUID.cmake b/cmake/FindUUID.cmake
+index bf055d4..15be822 100644
+--- a/cmake/FindUUID.cmake
++++ b/cmake/FindUUID.cmake
+@@ -18,4 +18,25 @@
+ if (UNIX)
+ include(IgnPkgConfig)
+ ign_pkg_check_modules(UUID uuid)
++
++ # If pkg-config is not available in the system,
++ # it is neccessary to manually find uuid
++ if(NOT TARGET UUID::UUID)
++ find_path(UUID_INCLUDE_DIRS NAMES uuid.h PATH_SUFFIXES uuid)
++ mark_as_advanced(UUID_INCLUDE_DIRS)
++
++ find_library(UUID_LIBRARIES NAMES uuid libuuid)
++ mark_as_advanced(UUID_LIBRARIES)
++
++ if(NOT UUID_INCLUDE_DIRS OR NOT UUID_LIBRARIES)
++ set(UUID_FOUND false)
++ else()
++ set(UUID_FOUND true)
++ endif()
++
++ if(UUID_FOUND)
++ include(IgnImportTarget)
++ ign_import_target(UUID)
++ endif()
++ endif()
+ endif()
diff --git a/ports/ignition-common1/CONTROL b/ports/ignition-common1/CONTROL
new file mode 100644
index 000000000..4f4e0d569
--- /dev/null
+++ b/ports/ignition-common1/CONTROL
@@ -0,0 +1,4 @@
+Source: ignition-common1
+Version: 1.1.1
+Build-Depends: dlfcn-win32 (windows|uwp), ffmpeg (!windows&!uwp), freeimage (!windows&!uwp), gts (!windows&!uwp), ignition-cmake0, ignition-math4, tinyxml2 (!windows&!uwp)
+Description: Common libraries for robotics applications
diff --git a/ports/ignition-common1/portfile.cmake b/ports/ignition-common1/portfile.cmake
new file mode 100644
index 000000000..da65aa09a
--- /dev/null
+++ b/ports/ignition-common1/portfile.cmake
@@ -0,0 +1,8 @@
+include(vcpkg_common_functions)
+
+include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake)
+
+ignition_modular_library(NAME common
+ VERSION "1.1.1"
+ REF ignition-common_1.1.1
+ SHA512 8453e1cf2337898b81b313aeffd1a7b683fd03184edfae74c81aa861b28036f6b9094fcab36f7a0f68b4204956d7116bd03073c7bdf2e769e47dffcdaad454d6)
diff --git a/ports/ignition-math4/CONTROL b/ports/ignition-math4/CONTROL
new file mode 100644
index 000000000..44aa0c01a
--- /dev/null
+++ b/ports/ignition-math4/CONTROL
@@ -0,0 +1,5 @@
+Source: ignition-math4
+Version: 4.0.0
+Homepage: https://ignitionrobotics.org/libs/math
+Build-Depends: ignition-cmake0
+Description: Math API for robotic applications
diff --git a/ports/ignition-math4/portfile.cmake b/ports/ignition-math4/portfile.cmake
new file mode 100644
index 000000000..a6a00c849
--- /dev/null
+++ b/ports/ignition-math4/portfile.cmake
@@ -0,0 +1,7 @@
+include(vcpkg_common_functions)
+
+include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake)
+
+ignition_modular_library(NAME math
+ VERSION "4.0.0"
+ SHA512 09023b559e7e544e628131189f3a7f57a9b73868f66f81e5ce1a353092940949973e1753f18ead8f655ad88c0e1d1bf51bbf63163760694aab7a97a4c0f6d519)
diff --git a/ports/ignition-modularscripts/CONTROL b/ports/ignition-modularscripts/CONTROL
new file mode 100644
index 000000000..fa8a222cd
--- /dev/null
+++ b/ports/ignition-modularscripts/CONTROL
@@ -0,0 +1,3 @@
+Source: ignition-modularscripts
+Version: 2019-08-20
+Description: Vcpkg helpers to package ignition libraries
diff --git a/ports/ignition-modularscripts/ignition_modular_library.cmake b/ports/ignition-modularscripts/ignition_modular_library.cmake
new file mode 100644
index 000000000..8800353d1
--- /dev/null
+++ b/ports/ignition-modularscripts/ignition_modular_library.cmake
@@ -0,0 +1,106 @@
+
+function(ignition_modular_build_library NAME MAJOR_VERSION SOURCE_PATH)
+ vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS -DBUILD_TESTING=OFF
+ )
+
+ vcpkg_install_cmake()
+
+ vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/ignition-${NAME}${MAJOR_VERSION}")
+
+ file(GLOB_RECURSE CMAKE_RELEASE_FILES
+ "${CURRENT_PACKAGES_DIR}/lib/cmake/ignition-${NAME}${MAJOR_VERSION}/*")
+
+ file(COPY ${CMAKE_RELEASE_FILES} DESTINATION
+ "${CURRENT_PACKAGES_DIR}/share/ignition-${NAME}${MAJOR_VERSION}/")
+
+ # Remove debug files
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include
+ ${CURRENT_PACKAGES_DIR}/debug/lib/cmake
+ ${CURRENT_PACKAGES_DIR}/debug/share)
+
+ # Post-build test for cmake libraries
+ vcpkg_test_cmake(PACKAGE_NAME ignition-${NAME}${MAJOR_VERSION})
+
+ # Find the relevant license file and install it
+ if(EXISTS "${SOURCE_PATH}/LICENSE")
+ set(LICENSE_PATH "${SOURCE_PATH}/LICENSE")
+ elseif(EXISTS "${SOURCE_PATH}/README.md")
+ set(LICENSE_PATH "${SOURCE_PATH}/README.md")
+ endif()
+ file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+endfunction()
+
+## # ignition_modular_library
+##
+## Download and build a library from the Ignition Robotics project ( https://ignitionrobotics.org/ ).
+##
+## ## Usage:
+## ```cmake
+## ignition_modular_library(NAME <name>
+## VERSION <version>
+## SHA512 <sha512>
+## [REF <ref>]
+## [HEAD_REF <head_ref>]
+## [PATCHES <patches>])
+## ```
+##
+## ## Parameters:
+## ### NAME
+## The name of the specific ignition library, i.e. `cmake` for `ignition-cmake0`, `math` for `ignition-math4`.
+##
+## ### VERSION
+## The complete version number.
+##
+## ### SHA512
+## The SHA512 hash that should match the downloaded archive. This is forwarded to the `vcpkg_from_bitbucket` command.
+##
+## ### REF
+## Reference to the tag of the desired release. This is forwarded to the `vcpkg_from_bitbucket` command.
+## If not specified, defaults to `ignition-${NAME}${MAJOR_VERSION}_${VERSION}`.
+##
+## ### HEAD_REF
+## Reference (tag) to the desired release. This is forwarded to the `vcpkg_from_bitbucket` command.
+## If not specified, defaults to `ign-${NAME}${MAJOR_VERSION}`.
+##
+## ### PATCHES
+## A list of patches to be applied to the extracted sources.
+## This is forwarded to the `vcpkg_from_bitbucket` command.
+##
+## ## Examples:
+##
+## * [ignition-cmake0](https://github.com/Microsoft/vcpkg/blob/master/ports/ignition-cmake0/portfile.cmake)
+## * [ignition-math4](https://github.com/Microsoft/vcpkg/blob/master/ports/ignition-math4/portfile.cmake)
+function(ignition_modular_library)
+ set(oneValueArgs NAME VERSION SHA512 REF HEAD_REF)
+ set(multiValueArgs PATCHES)
+ cmake_parse_arguments(IML "" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ string(REPLACE "." ";" IML_VERSION_LIST ${IML_VERSION})
+ list(GET IML_VERSION_LIST 0 IML_MAJOR_VERSION)
+
+ # If the REF option is omitted, use the canonical one
+ if(NOT DEFINED IML_REF)
+ set(IML_REF "ignition-${IML_NAME}${IML_MAJOR_VERSION}_${IML_VERSION}")
+ endif()
+
+ # If the HEAD_REF option is omitted, use the canonical one
+ if(NOT DEFINED IML_HEAD_REF)
+ set(IML_HEAD_REF "ign-${IML_NAME}${IML_MAJOR_VERSION}")
+ endif()
+
+ # Download library from bitbucket, to support also the --head option
+ vcpkg_from_bitbucket(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ignitionrobotics/ign-${IML_NAME}
+ REF ${IML_REF}
+ SHA512 ${IML_SHA512}
+ HEAD_REF ${IML_HEAD_REF}
+ PATCHES ${IML_PATCHES}
+ )
+
+ # Build library
+ ignition_modular_build_library(${IML_NAME} ${IML_MAJOR_VERSION} ${SOURCE_PATH})
+endfunction()
diff --git a/ports/ignition-modularscripts/portfile.cmake b/ports/ignition-modularscripts/portfile.cmake
new file mode 100644
index 000000000..509240d7d
--- /dev/null
+++ b/ports/ignition-modularscripts/portfile.cmake
@@ -0,0 +1,8 @@
+file(COPY
+ ${CMAKE_CURRENT_LIST_DIR}/ignition_modular_library.cmake
+ DESTINATION
+ ${CURRENT_PACKAGES_DIR}/share/ignitionmodularscripts
+)
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/ignitionmodularscripts/copyright "")
+
+set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
diff --git a/ports/ignition-msgs1/CONTROL b/ports/ignition-msgs1/CONTROL
new file mode 100644
index 000000000..09ab2ff43
--- /dev/null
+++ b/ports/ignition-msgs1/CONTROL
@@ -0,0 +1,4 @@
+Source: ignition-msgs1
+Version: 1.0.0
+Build-Depends: ignition-cmake0, ignition-math4, protobuf
+Description: Middleware protobuf messages for robotics
diff --git a/ports/ignition-msgs1/fix-protobuf-static-link-order.patch b/ports/ignition-msgs1/fix-protobuf-static-link-order.patch
new file mode 100644
index 000000000..9f3e67466
--- /dev/null
+++ b/ports/ignition-msgs1/fix-protobuf-static-link-order.patch
@@ -0,0 +1,14 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -2,8 +2,8 @@
+ # Build a custom protoc plugin
+ ign_add_executable(ign_msgs_gen Generator.cc generator_main.cc)
+ target_link_libraries(ign_msgs_gen
+- protobuf::libprotobuf
+- protobuf::libprotoc)
++ protobuf::libprotoc
++ protobuf::libprotobuf)
+ target_include_directories(ign_msgs_gen PRIVATE ${PROTOBUF_INCLUDE_DIR})
+ target_compile_features(ign_msgs_gen PRIVATE ${IGN_CXX_11_FEATURES})
+
diff --git a/ports/ignition-msgs1/portfile.cmake b/ports/ignition-msgs1/portfile.cmake
new file mode 100644
index 000000000..a3173d2bc
--- /dev/null
+++ b/ports/ignition-msgs1/portfile.cmake
@@ -0,0 +1,35 @@
+include(vcpkg_common_functions)
+
+include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake)
+
+# Explicitly disable cross-compilation until the upstream discussion
+# https://bitbucket.org/ignitionrobotics/ign-msgs/issues/34/add-support-for-cross-compilation is solved
+if(CMAKE_HOST_WIN32 AND NOT VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND NOT VCPKG_TARGET_ARCHITECTURE MATCHES "x86")
+ set(ignition_msgs_CROSSCOMPILING ON)
+elseif(CMAKE_HOST_WIN32 AND VCPKG_CMAKE_SYSTEM_NAME)
+ set(ignition_msgs_CROSSCOMPILING ON)
+else()
+ set(ignition_msgs_CROSSCOMPILING OFF)
+endif()
+
+if(ignition_msgs_CROSSCOMPILING)
+ message(FATAL_ERROR "This port does not currently support triplets that require cross-compilation.")
+endif()
+
+# This port needs to generate protobuf messages with a custom plugin generator,
+# so it needs to have in Windows the relative protobuf dll available in the PATH
+set(path_backup $ENV{PATH})
+vcpkg_add_to_path(${CURRENT_INSTALLED_DIR}/bin)
+vcpkg_add_to_path(${CURRENT_INSTALLED_DIR}/debug/bin)
+
+ignition_modular_library(NAME msgs
+ VERSION "1.0.0"
+ # See https://bitbucket.org/ignitionrobotics/ign-msgs/issues/33/the-ignition-msgs1_100-tag-does-not-match
+ REF ignition-msgs_1.0.0
+ SHA512 15261d9c82c05952b1b7dfc50346e73ab041bf6e2e5a63698e17bfa36b2d261aad2777f770f6dccd0d58eb9c90979fe89a7371dc2ec6050149bf63cafc4f6779
+ # Fix linking order of protobuf libraries (backport of https://bitbucket.org/ignitionrobotics/ign-msgs/pull-requests/151)
+ PATCHES fix-protobuf-static-link-order.patch)
+
+
+# Restore old path
+set(ENV{PATH} ${path_backup})
diff --git a/ports/ignition-transport4/CONTROL b/ports/ignition-transport4/CONTROL
new file mode 100644
index 000000000..e228ca5b4
--- /dev/null
+++ b/ports/ignition-transport4/CONTROL
@@ -0,0 +1,4 @@
+Source: ignition-transport4
+Version: 4.0.0
+Build-Depends: cppzmq, ignition-cmake0, ignition-msgs1, libuuid (!windows&!uwp), protobuf, zeromq
+Description: Transport middleware for robotics
diff --git a/ports/ignition-transport4/portfile.cmake b/ports/ignition-transport4/portfile.cmake
new file mode 100644
index 000000000..2d65c0945
--- /dev/null
+++ b/ports/ignition-transport4/portfile.cmake
@@ -0,0 +1,7 @@
+include(vcpkg_common_functions)
+
+include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake)
+
+ignition_modular_library(NAME transport
+ VERSION "4.0.0"
+ SHA512 4f8d947e046653fafb27063de3cd97a66c169d53ef48ee5f06b0c0c3a40d7ad0f58028b615a0321aa46ed56aef2acbeeb46a48b2ff3a3d1050df89a3688877c6)
diff --git a/ports/imgui-sfml/0001-fix_find_package.patch b/ports/imgui-sfml/0001-fix_find_package.patch
new file mode 100644
index 000000000..d5dc24456
--- /dev/null
+++ b/ports/imgui-sfml/0001-fix_find_package.patch
@@ -0,0 +1,50 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 53500fd..cb98701 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -35,34 +35,14 @@ if (IMGUI_SFML_FIND_SFML)
+ if (NOT BUILD_SHARED_LIBS)
+ set(SFML_STATIC_LIBRARIES ON)
+ endif()
+- find_package(SFML 2.5 COMPONENTS graphics system window)
++ find_package(SFML COMPONENTS graphics system window)
+
+ if(NOT SFML_FOUND)
+ message(FATAL_ERROR "SFML 2 directory not found. Set SFML_DIR to directory where SFML was built (or one which ccontains SFMLConfig.cmake)")
+ endif()
+ endif()
+
+-# ImGui does not provide native support for CMakeLists, workaround for now to have
+-# users specify IMGUI_DIR. Waiting for this PR to get merged...
+-# https://github.com/ocornut/imgui/pull/1713
+-if(NOT IMGUI_DIR)
+- set(IMGUI_DIR "" CACHE PATH "imgui top-level directory")
+- message(FATAL_ERROR "ImGui directory not found. Set IMGUI_DIR to imgui's top-level path (containing 'imgui.h' and other files).\n")
+-endif()
+-
+-# This uses FindImGui.cmake provided in ImGui-SFML repo for now
+-find_package(ImGui 1.68 REQUIRED)
+-
+-# these headers will be installed alongside ImGui-SFML
+-set(IMGUI_PUBLIC_HEADERS
+- ${IMGUI_INCLUDE_DIR}/imconfig.h
+- ${IMGUI_INCLUDE_DIR}/imgui.h
+- ${IMGUI_INCLUDE_DIR}/imgui_internal.h # not actually public, but users might need it
+- ${IMGUI_INCLUDE_DIR}/imstb_rectpack.h
+- ${IMGUI_INCLUDE_DIR}/imstb_textedit.h
+- ${IMGUI_INCLUDE_DIR}/imstb_truetype.h
+- ${IMGUI_INCLUDE_DIR}/misc/cpp/imgui_stdlib.h
+-)
++find_package(imgui CONFIG REQUIRED)
+
+ # CMake 3.11 and later prefer to choose GLVND, but we choose legacy OpenGL just because it's safer
+ # (unless the OpenGL_GL_PREFERENCE was explicitly set)
+@@ -82,7 +62,7 @@ add_library(ImGui-SFML
+ add_library(ImGui-SFML::ImGui-SFML ALIAS ImGui-SFML)
+
+ target_link_libraries(ImGui-SFML
+- PUBLIC
++ imgui::imgui
+ sfml-graphics
+ sfml-system
+ sfml-window
diff --git a/ports/imgui-sfml/0002-fix_imgui_config.patch b/ports/imgui-sfml/0002-fix_imgui_config.patch
new file mode 100644
index 000000000..6966b63c7
--- /dev/null
+++ b/ports/imgui-sfml/0002-fix_imgui_config.patch
@@ -0,0 +1,11 @@
+diff --git a/imconfig-SFML.h b/imconfig-SFML.h
+index f66ba20..0f43ce6 100644
+--- a/imconfig-SFML.h
++++ b/imconfig-SFML.h
+@@ -28,5 +28,3 @@
+ static_cast<sf::Uint8>(z * 255.f), \
+ static_cast<sf::Uint8>(w * 255.f)); \
+ }
+-
+-#define ImTextureID unsigned int
+\ No newline at end of file
diff --git a/ports/imgui-sfml/0003-fix_osx.patch b/ports/imgui-sfml/0003-fix_osx.patch
new file mode 100644
index 000000000..8181ee8e1
--- /dev/null
+++ b/ports/imgui-sfml/0003-fix_osx.patch
@@ -0,0 +1,13 @@
+diff --git a/imconfig-SFML.h b/imconfig-SFML.h
+index 0f43ce6..1fce2c1 100644
+--- a/imconfig-SFML.h
++++ b/imconfig-SFML.h
+@@ -19,7 +19,7 @@
+
+ #define IM_VEC4_CLASS_EXTRA \
+ ImVec4(const sf::Color & c) \
+- : ImVec4(c.r / 255.f, c.g / 255.f, c.b / 255.f, c.a / 255.f) { \
++ : x(c.r / 255.f), y(c.g / 255.f), z(c.b / 255.f), w(c.a / 255.f) { \
+ } \
+ operator sf::Color() const { \
+ return sf::Color( \
diff --git a/ports/imgui-sfml/CONTROL b/ports/imgui-sfml/CONTROL
new file mode 100644
index 000000000..8db3a4ac6
--- /dev/null
+++ b/ports/imgui-sfml/CONTROL
@@ -0,0 +1,5 @@
+Source: imgui-sfml
+Version: 2.1
+Homepage: https://github.com/eliasdaler/imgui-sfml
+Description: ImGui binding for use with SFML
+Build-Depends: sfml, imgui
diff --git a/ports/imgui-sfml/portfile.cmake b/ports/imgui-sfml/portfile.cmake
new file mode 100644
index 000000000..47c25669e
--- /dev/null
+++ b/ports/imgui-sfml/portfile.cmake
@@ -0,0 +1,24 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO eliasdaler/imgui-sfml
+ REF v2.1
+ SHA512 134c49e9c57bc4d3882d99a52ec87f74c11d2f3134501c79b20bce4612f315f2e3f33a521597b387ca8f91942cf2b82ec9f4a8b1672a700e7233a9758897b6d0
+ HEAD_REF master
+ PATCHES
+ 0001-fix_find_package.patch
+ 0002-fix_imgui_config.patch
+ 0003-fix_osx.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/ImGui-SFML)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/imgui-sfml/copyright COPYONLY)
diff --git a/ports/imgui-sfml/usage b/ports/imgui-sfml/usage
new file mode 100644
index 000000000..ea9a5f63b
--- /dev/null
+++ b/ports/imgui-sfml/usage
@@ -0,0 +1,10 @@
+The package imgui-sfml provides CMake targets:
+
+ find_package(imgui CONFIG REQUIRED)
+ find_package(SFML CONFIG REQUIRED COMPONENTS graphics system window)
+ find_package(ImGui-SFML CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE
+ imgui::imgui
+ sfml-graphics sfml-system sfml-window
+ ImGui-SFML::ImGui-SFML
+ )
diff --git a/ports/io2d/CONTROL b/ports/io2d/CONTROL
index 2376ce6de..ed88f595c 100644
--- a/ports/io2d/CONTROL
+++ b/ports/io2d/CONTROL
@@ -1,4 +1,4 @@
Source: io2d
-Version: 0.1-2
+Version: 2019-07-11
Description: a lightweight, cross platform drawing library
Build-Depends: cairo (!osx), graphicsmagick (!osx)
diff --git a/ports/io2d/portfile.cmake b/ports/io2d/portfile.cmake
index 3411620f5..f171d9e34 100644
--- a/ports/io2d/portfile.cmake
+++ b/ports/io2d/portfile.cmake
@@ -8,8 +8,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO cpp-io2d/P0267_RefImpl
- REF 21ae92c8be6916034e6e18f08aa57899a975dfb0
- SHA512 5b674f98ca7705d6901af339a4189d5ce4f2c3118bfb99430734f355159602f177bc8d1b345c3a2f17947a62547553f7b91747a1f16da063707a4da7f990391d
+ REF add3c9792dcd3f08c497ae3adafb2a3b5b5fc338
+ SHA512 2727342fbb31523583374ab6df6ff7542e80b4f94319cf0f293e8c085711fa10ed312b4fc4b91391112b5e27eaaae519cb4141ea9d4108ffb5b7383a043b38b8
HEAD_REF master
PATCHES find-package.patch
)
diff --git a/ports/irrlicht/CONTROL b/ports/irrlicht/CONTROL
index 7cc3e4223..234e84ad4 100644
--- a/ports/irrlicht/CONTROL
+++ b/ports/irrlicht/CONTROL
@@ -1,5 +1,6 @@
Source: irrlicht
-Version: 1.8.4-1
+Version: 1.8.4-2
+Homepage: http://irrlicht.sourceforge.net
Description: Irrlicht lightning fast 3d engine
Build-Depends: zlib, libpng, bzip2, libjpeg-turbo
diff --git a/ports/irrlicht/LICENSE.txt b/ports/irrlicht/LICENSE.txt
new file mode 100644
index 000000000..17248fdb4
--- /dev/null
+++ b/ports/irrlicht/LICENSE.txt
@@ -0,0 +1,20 @@
+The Irrlicht Engine License
+===========================
+
+Copyright (C) 2002-2015 Nikolaus Gebhardt
+
+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 acknowledgement in the product documentation would be
+ appreciated but is not required.
+2. Altered source versions must be clearly 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/irrlicht/portfile.cmake b/ports/irrlicht/portfile.cmake
index f4eaf5fc8..09e42c954 100644
--- a/ports/irrlicht/portfile.cmake
+++ b/ports/irrlicht/portfile.cmake
@@ -1,15 +1,3 @@
-# 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_download_distfile(ARCHIVE
@@ -29,6 +17,7 @@ vcpkg_extract_source_archive_ex(
# Copy CMakeLists.txt to the source, because Irrlicht does not have one.
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/LICENSE.txt DESTINATION ${SOURCE_PATH})
set(FAST_MATH FALSE)
if("fast-fpu" IN_LIST FEATURES)
@@ -65,28 +54,6 @@ if(BUILD_TOOLS)
endif()
file(WRITE ${CURRENT_PACKAGES_DIR}/share/irrlicht/irrlicht-config.cmake "include(\${CMAKE_CURRENT_LIST_DIR}/irrlicht-targets.cmake)")
-# Handle copyright
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/irrlicht/copyright "
-The Irrlicht Engine License
-===========================
-
-Copyright (C) 2002-2015 Nikolaus Gebhardt
-
-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 acknowledgement in the product documentation would be
- appreciated but is not required.
-2. Altered source versions must be clearly 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.")
vcpkg_copy_pdbs()
@@ -95,3 +62,5 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
endif()
# Post-build test for cmake libraries
vcpkg_test_cmake(PACKAGE_NAME irrlicht)
+
+file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file
diff --git a/ports/ixwebsocket/CONTROL b/ports/ixwebsocket/CONTROL
index 1da0010bc..0a28bb675 100644
--- a/ports/ixwebsocket/CONTROL
+++ b/ports/ixwebsocket/CONTROL
@@ -1,5 +1,5 @@
Source: ixwebsocket
-Version: 5.0.4
+Version: 6.1.0
Build-Depends: zlib
Description: Lightweight WebSocket Client and Server + HTTP Client and Server
Default-Features: ssl
diff --git a/ports/ixwebsocket/portfile.cmake b/ports/ixwebsocket/portfile.cmake
index af3ee420d..462dc3659 100644
--- a/ports/ixwebsocket/portfile.cmake
+++ b/ports/ixwebsocket/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO machinezone/IXWebSocket
- REF v5.0.4
- SHA512 8e8f0050251ba71fa3bba01adbf6fd1a797518115ac8207481b89aebcadc310b98451cc141f3c8f69a0b8397f35b6e0fe51c65fbdc3d7d5e2a4271472f422b13
+ REF v6.1.0
+ SHA512 5f19f2b220b87f9300a1d67e527ee2ee26d459e185357c2c121a2ce359fc8e5f04bd714c225b0f309ebcb6e416d7ca15ca93a88409fa09f88f065dec0a37bbe2
)
vcpkg_configure_cmake(
diff --git a/ports/jinja2cpplight/CONTROL b/ports/jinja2cpplight/CONTROL
new file mode 100644
index 000000000..57334bc42
--- /dev/null
+++ b/ports/jinja2cpplight/CONTROL
@@ -0,0 +1,4 @@
+Source: jinja2cpplight
+Version: 2018-05-08
+Homepage: https://github.com/hughperkins/Jinja2CppLight
+Description: (very) lightweight version of Jinja2 for C++, Lightweight templating engine for C++, based on Jinja2. \ No newline at end of file
diff --git a/ports/jinja2cpplight/portfile.cmake b/ports/jinja2cpplight/portfile.cmake
new file mode 100644
index 000000000..49eff2034
--- /dev/null
+++ b/ports/jinja2cpplight/portfile.cmake
@@ -0,0 +1,39 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_TARGET_IS_UWP)
+ message(FATAL_ERROR "jinja2cpplight doesn't support UWP.")
+endif()
+
+if(VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+else()
+ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
+endif()
+
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO hughperkins/Jinja2CppLight
+ REF 04196b080adf6edb86184824a1cf948ace310d19 #Commits on May 8, 2018
+ SHA512 30415da5ebc4fb805953cc9ff7e5fcd357d6fa1818c1ff2570b795252de6215562cd0f2f0418a1fa60e9d74b88339a3fea7166b898f54cface6ab1cfe3581bb5
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+vcpkg_copy_pdbs()
+
+
+file(GLOB_RECURSE JINJA2CPPLIGHT_EXES ${CURRENT_PACKAGES_DIR}/bin/jinja2cpplight_unittests*)
+file(COPY ${JINJA2CPPLIGHT_EXES} DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
+file(REMOVE_RECURSE ${JINJA2CPPLIGHT_EXES})
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file
diff --git a/ports/json-c/CONTROL b/ports/json-c/CONTROL
index ebd0ed02d..27067f922 100644
--- a/ports/json-c/CONTROL
+++ b/ports/json-c/CONTROL
@@ -1,3 +1,4 @@
Source: json-c
-Version: 2019-05-31
+Version: 2019-09-10
Description: A JSON implementation in C
+Homepage: https://github.com/json-c/json-c
diff --git a/ports/json-c/portfile.cmake b/ports/json-c/portfile.cmake
index 75ad6da61..951902369 100644
--- a/ports/json-c/portfile.cmake
+++ b/ports/json-c/portfile.cmake
@@ -1,13 +1,10 @@
include(vcpkg_common_functions)
-# https://github.com/json-c/json-c/issues/488
-vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO json-c/json-c
- REF 2b1903cc6941fb87db7526680829486f27fb1073
- SHA512 0ee71a0c2f75f5114b65f06ef921ac7a66173d66592fa880336896de64f3a325b251028b35396184cd7c3ffd15db3826bed83200fa80f4d11607fdf758138bf9
+ REF eae040a84a479ccad1d1c48314345c51ecf1a4a4
+ SHA512 18d8a31b341830b04676cad13fbc0608fb75a323522161ac8fd0bb5058db82c1c261d504696a1e12f4b03eb0967632885580ff81d808adf2f1dff7e32d131ba0
HEAD_REF master
)
@@ -26,3 +23,6 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
# Handle copyright
configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
+
+# CMake integration test
+vcpkg_test_cmake(PACKAGE_NAME ${PORT})
diff --git a/ports/json5-parser/00001-fix-build.patch b/ports/json5-parser/00001-fix-build.patch
new file mode 100644
index 000000000..74f34a298
--- /dev/null
+++ b/ports/json5-parser/00001-fix-build.patch
@@ -0,0 +1,27 @@
+diff --git a/json5_parser/CMakeLists.txt b/json5_parser/CMakeLists.txt
+index e83fb38..b193c97 100644
+--- a/json5_parser/CMakeLists.txt
++++ b/json5_parser/CMakeLists.txt
+@@ -15,3 +15,22 @@ INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
+
+ ADD_LIBRARY(json5_parser STATIC ${JSON_SPIRIT_SRCS})
+
++if(MSVC)
++ target_compile_options(json5_parser PRIVATE "/bigobj")
++endif()
++
++target_include_directories(json5_parser PUBLIC $<INSTALL_INTERFACE:include>)
++
++install(TARGETS json5_parser EXPORT json5_parser-config
++ RUNTIME DESTINATION bin
++ ARCHIVE DESTINATION lib
++ LIBRARY DESTINATION lib
++)
++install(EXPORT json5_parser-config DESTINATION share/cmake/json5_parser)
++
++file(GLOB HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} json5_parser*.h)
++foreach (HEADER ${HEADERS} )
++ get_filename_component(HEADER_DIR ${HEADER} DIRECTORY)
++ install(FILES ${HEADER} DESTINATION include/${HEADER_DIR})
++endforeach()
++
diff --git a/ports/json5-parser/CONTROL b/ports/json5-parser/CONTROL
new file mode 100644
index 000000000..1c740dd3d
--- /dev/null
+++ b/ports/json5-parser/CONTROL
@@ -0,0 +1,5 @@
+Source: json5-parser
+Version: 1.0.0
+Homepage: https://bitbucket.org/wlandry/json5_parser
+Description: An enhancement of the JSON Spirit C++ library to understand json5.
+Build-Depends: boost-spirit
diff --git a/ports/json5-parser/portfile.cmake b/ports/json5-parser/portfile.cmake
new file mode 100644
index 000000000..083947621
--- /dev/null
+++ b/ports/json5-parser/portfile.cmake
@@ -0,0 +1,27 @@
+include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_bitbucket(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO wlandry/json5_parser
+ REF 1.0.0
+ SHA512 105d0cccb28dd9045c06d73ab1e98a5e744ffdb38310a4581b8f1517b0edffb2cba424dc557a3490dfdcd4627d3bd1c6850eb38f588e1627dcab1de120d70717
+ HEAD_REF master
+ PATCHES 00001-fix-build.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}/json5_parser
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/json5_parser)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+configure_file(${SOURCE_PATH}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/json5-parser/copyright COPYONLY)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/json5-parser)
diff --git a/ports/json5-parser/usage b/ports/json5-parser/usage
new file mode 100644
index 000000000..950e637a0
--- /dev/null
+++ b/ports/json5-parser/usage
@@ -0,0 +1,4 @@
+The package json5-parser provides CMake targets:
+
+ find_package(json5_parser CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE json5_parser)
diff --git a/ports/jsoncons/CONTROL b/ports/jsoncons/CONTROL
index 73871ba2b..c054af723 100644
--- a/ports/jsoncons/CONTROL
+++ b/ports/jsoncons/CONTROL
@@ -1,4 +1,4 @@
Source: jsoncons
-Version: 0.132.1
+Version: 0.134.0
Description: A C++, header-only library for constructing JSON and JSON-like text and binary data formats, with JSON Pointer, JSON Patch, JSONPath, CSV, MessagePack, CBOR, BSON, UBJSON
Homepage: https://github.com/danielaparker/jsoncons
diff --git a/ports/jsoncons/portfile.cmake b/ports/jsoncons/portfile.cmake
index 97274bd8f..b4f169862 100644
--- a/ports/jsoncons/portfile.cmake
+++ b/ports/jsoncons/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO danielaparker/jsoncons
- REF v0.132.1
- SHA512 74bfe6fe18e90f4230b9d811a01f263e4597f6363f4df0cb29a89148bbc040ab578a1eb77d3cb87ce0d8e9d304b9716dd245f4dc5603c7d445cd0acdfb62905d
+ REF v0.134.0
+ SHA512 2c075dd415796f25d24ba9a458893435b1b5b2155978c7722aa1e676e41c5ec53a47b60346c68d30e8c24cc7bb1fb32cd71f6c7be226283dde39de700c8b4f0d
HEAD_REF master
)
diff --git a/ports/kvasir-mpl/CONTROL b/ports/kvasir-mpl/CONTROL
new file mode 100644
index 000000000..63b93df5f
--- /dev/null
+++ b/ports/kvasir-mpl/CONTROL
@@ -0,0 +1,8 @@
+Source: kvasir-mpl
+Version: 2019-08-06
+Homepage: https://github.com/kvasir-io/mpl
+Description: This library is part of the Kvasir project. Kvasir is a collection of zero cost statically checked libraries for resource constrained systems including microcontrollers.
+
+Feature: test
+Description: Build with test
+
diff --git a/ports/kvasir-mpl/portfile.cmake b/ports/kvasir-mpl/portfile.cmake
new file mode 100644
index 000000000..b5076e9bf
--- /dev/null
+++ b/ports/kvasir-mpl/portfile.cmake
@@ -0,0 +1,31 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO kvasir-io/mpl
+ REF a9060b46c37c769e5517e0116b060fec923b6fdb
+ SHA512 bbe7267d288eda9ded81ce82e428d237cb5a9d686cd1b68a334b1ae53db4bf25e37fb86d991e7cf61542ee91ccae8db7498efde91a07332fd68594a229ff35ca
+ HEAD_REF development
+)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ test BUILD_WITH_TEST
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS -DBUILD_TESTING=${BUILD_WITH_TEST}
+)
+
+vcpkg_install_cmake()
+
+# Move CMake config files to the right place
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/kvasir_mpl)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib)
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) \ No newline at end of file
diff --git a/ports/libarchive/CONTROL b/ports/libarchive/CONTROL
index b39593aa9..78c63e4b5 100644
--- a/ports/libarchive/CONTROL
+++ b/ports/libarchive/CONTROL
@@ -1,5 +1,5 @@
Source: libarchive
-Version: 3.3.3-3
+Version: 3.4.0
Homepage: https://github.com/libarchive/libarchive
Description: Library for reading and writing streaming archives
Build-Depends: zlib
diff --git a/ports/libarchive/fix-buildsystem.patch b/ports/libarchive/fix-buildsystem.patch
index 59ffec3c9..51dbbf2ec 100644
--- a/ports/libarchive/fix-buildsystem.patch
+++ b/ports/libarchive/fix-buildsystem.patch
@@ -1,63 +1,62 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1ca9d8f..61c3b2a 100644
+index bd80b12..6509541 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -166,7 +166,7 @@ IF (MSVC)
- # result of an assignment.
- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /we4706")
- # /WX option is the same as gcc's -Werror option.
-- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /WX")
-+ #SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /WX") <- breaks x64-debug
- # /Oi option enables built-in functions.
- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /Oi")
+@@ -148,10 +148,6 @@ IF (CMAKE_C_COMPILER_ID MATCHES "^XL$")
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -qinfo=pro:use")
+ ENDIF(CMAKE_C_COMPILER_ID MATCHES "^XL$")
+ IF (MSVC)
+- if (ENABLE_WERROR)
+- # /WX option is the same as gcc's -Werror option.
+- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX")
+- endif ()
#################################################################
-@@ -359,7 +359,7 @@ IF(DEFINED __GNUWIN32PATH AND EXISTS "${__GNUWIN32PATH}")
+ # Set compile flags for debug build.
+ # This is added into CMAKE_C_FLAGS when CMAKE_BUILD_TYPE is "Debug"
+@@ -377,8 +373,6 @@ IF(DEFINED __GNUWIN32PATH AND EXISTS "${__GNUWIN32PATH}")
+ # Maybe DLL path is "C:/Program Files/GnuWin32/bin".
# The zlib and the bzip2 Setup program have installed programs and DLLs into
# "C:/Program Files/GnuWin32" by default.
- # This is convenience setting for Windows.
+- # This is convenience setting for Windows.
- SET(CMAKE_PREFIX_PATH ${__GNUWIN32PATH} $(CMAKE_PREFIX_PATH))
-+ #SET(CMAKE_PREFIX_PATH ${__GNUWIN32PATH} $(CMAKE_PREFIX_PATH))
#
# If you didn't use Setup program or installed into nonstandard path,
# cmake cannot find out your zlib or bzip2 libraries and include files,
-@@ -399,11 +399,12 @@ IF(ZLIB_FOUND)
- #
- # Test if ZLIB_WINAPI macro is needed to use.
- #
+@@ -415,14 +409,7 @@ IF(ZLIB_FOUND)
+ INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
+ LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES})
+ IF(WIN32 AND NOT CYGWIN)
+- #
+- # Test if ZLIB_WINAPI macro is needed to use.
+- #
- TRY_MACRO_FOR_LIBRARY(
- "${ZLIB_INCLUDE_DIR}" "${ZLIB_LIBRARIES}"
- RUNS
- "#include <zlib.h>\nint main() {uLong f = zlibCompileFlags(); return (f&(1U<<10))?0:-1; }"
- ZLIB_WINAPI)
+ SET(ZLIB_WINAPI OFF) # skip following test, it crashes with weird message box
-+ #TRY_MACRO_FOR_LIBRARY(
-+ # "${ZLIB_INCLUDE_DIR}" "${ZLIB_LIBRARIES}"
-+ # RUNS
-+ # "#include <zlib.h>\nint main() {uLong f = zlibCompileFlags(); return (f&(1U<<10))?0:-1; }"
-+ # ZLIB_WINAPI)
IF(ZLIB_WINAPI)
ADD_DEFINITIONS(-DZLIB_WINAPI)
ELSE(ZLIB_WINAPI)
-@@ -462,8 +463,6 @@ ENDIF()
- IF(LIBLZMA_FOUND)
+@@ -482,8 +469,6 @@ IF(LIBLZMA_FOUND)
SET(HAVE_LIBLZMA 1)
SET(HAVE_LZMA_H 1)
+ CMAKE_PUSH_CHECK_STATE()
- SET(CMAKE_REQUIRED_INCLUDES ${LIBLZMA_INCLUDE_DIR})
- SET(CMAKE_REQUIRED_LIBRARIES ${LIBLZMA_LIBRARIES})
INCLUDE_DIRECTORIES(${LIBLZMA_INCLUDE_DIRS})
LIST(APPEND ADDITIONAL_LIBS ${LIBLZMA_LIBRARIES})
# Test if a macro is needed for the library.
-@@ -1227,7 +1226,8 @@ CHECK_FUNCTION_EXISTS_GLIBC(localtime_r HAVE_LOCALTIME_R)
+@@ -1327,7 +1312,7 @@ CHECK_FUNCTION_EXISTS_GLIBC(localtime_r HAVE_LOCALTIME_R)
CHECK_FUNCTION_EXISTS_GLIBC(lstat HAVE_LSTAT)
CHECK_FUNCTION_EXISTS_GLIBC(lutimes HAVE_LUTIMES)
CHECK_FUNCTION_EXISTS_GLIBC(mbrtowc HAVE_MBRTOWC)
-CHECK_FUNCTION_EXISTS_GLIBC(memmove HAVE_MEMMOVE)
-+#CHECK_FUNCTION_EXISTS_GLIBC(memmove HAVE_MEMMOVE)
+set(HAVE_MEMMOVE 1)
CHECK_FUNCTION_EXISTS_GLIBC(mkdir HAVE_MKDIR)
CHECK_FUNCTION_EXISTS_GLIBC(mkfifo HAVE_MKFIFO)
CHECK_FUNCTION_EXISTS_GLIBC(mknod HAVE_MKNOD)
-@@ -1258,11 +1258,16 @@ CHECK_FUNCTION_EXISTS_GLIBC(utime HAVE_UTIME)
+@@ -1359,11 +1344,11 @@ CHECK_FUNCTION_EXISTS_GLIBC(utime HAVE_UTIME)
CHECK_FUNCTION_EXISTS_GLIBC(utimes HAVE_UTIMES)
CHECK_FUNCTION_EXISTS_GLIBC(utimensat HAVE_UTIMENSAT)
CHECK_FUNCTION_EXISTS_GLIBC(vfork HAVE_VFORK)
@@ -66,20 +65,15 @@ index 1ca9d8f..61c3b2a 100644
-CHECK_FUNCTION_EXISTS_GLIBC(wcscpy HAVE_WCSCPY)
-CHECK_FUNCTION_EXISTS_GLIBC(wcslen HAVE_WCSLEN)
-CHECK_FUNCTION_EXISTS_GLIBC(wctomb HAVE_WCTOMB)
-+#CHECK_FUNCTION_EXISTS_GLIBC(wcrtomb HAVE_WCRTOMB)
+set(HAVE_WCRTOMB 1)
-+#CHECK_FUNCTION_EXISTS_GLIBC(wcscmp HAVE_WCSCMP)
+set(HAVE_WCSCMP 1)
-+#CHECK_FUNCTION_EXISTS_GLIBC(wcscpy HAVE_WCSCPY)
+set(HAVE_WCSCPY 1)
-+#CHECK_FUNCTION_EXISTS_GLIBC(wcslen HAVE_WCSLEN)
+set(HAVE_WCSLEN 1)
-+#CHECK_FUNCTION_EXISTS_GLIBC(wctomb HAVE_WCTOMB)
+set(HAVE_WCTOMB 1)
CHECK_FUNCTION_EXISTS_GLIBC(_ctime64_s HAVE__CTIME64_S)
CHECK_FUNCTION_EXISTS_GLIBC(_fseeki64 HAVE__FSEEKI64)
CHECK_FUNCTION_EXISTS_GLIBC(_get_timezone HAVE__GET_TIMEZONE)
-@@ -1274,10 +1279,14 @@ CHECK_FUNCTION_EXISTS(cygwin_conv_path HAVE_CYGWIN_CONV_PATH)
+@@ -1375,10 +1360,10 @@ CHECK_FUNCTION_EXISTS(cygwin_conv_path HAVE_CYGWIN_CONV_PATH)
CHECK_FUNCTION_EXISTS(fseeko HAVE_FSEEKO)
CHECK_FUNCTION_EXISTS(strerror_r HAVE_STRERROR_R)
CHECK_FUNCTION_EXISTS(strftime HAVE_STRFTIME)
@@ -87,18 +81,14 @@ index 1ca9d8f..61c3b2a 100644
-CHECK_FUNCTION_EXISTS(wmemcmp HAVE_WMEMCMP)
-CHECK_FUNCTION_EXISTS(wmemcpy HAVE_WMEMCPY)
-CHECK_FUNCTION_EXISTS(wmemmove HAVE_WMEMMOVE)
-+#CHECK_FUNCTION_EXISTS(vprintf HAVE_VPRINTF)
+set(HAVE_VPRINTF 1)
-+#CHECK_FUNCTION_EXISTS(wmemcmp HAVE_WMEMCMP)
+set(HAVE_WMEMCMP 1)
-+#CHECK_FUNCTION_EXISTS(wmemcpy HAVE_WMEMCPY)
+set(HAVE_WMEMCPY 1)
-+#CHECK_FUNCTION_EXISTS(wmemmove HAVE_WMEMMOVE)
+set(HAVE_WMEMMOVE 1)
CMAKE_POP_CHECK_STATE() # Restore the state of the variables
-@@ -1314,9 +1323,13 @@ CHECK_C_SOURCE_COMPILES(
+@@ -1419,9 +1404,13 @@ CHECK_C_SOURCE_COMPILES(
"#include <sys/sysmacros.h>\nint main() { return major(256); }"
MAJOR_IN_SYSMACROS)
@@ -112,32 +102,32 @@ index 1ca9d8f..61c3b2a 100644
IF(HAVE_STRERROR_R)
SET(HAVE_DECL_STRERROR_R 1)
-@@ -1689,12 +1702,12 @@ INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
+@@ -1977,13 +1966,10 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/build/cmake/config.h.in
+ INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
ADD_DEFINITIONS(-DHAVE_CONFIG_H)
- # Handle generation of the libarchive.pc file for pkg-config
+-# Handle generation of the libarchive.pc file for pkg-config
-INCLUDE(CreatePkgConfigFile)
-+#INCLUDE(CreatePkgConfigFile)
-
+-
#
# Register installation of PDF documents.
#
-IF(WIN32 AND NOT CYGWIN)
-+IF(0 AND WIN32 AND NOT CYGWIN)
++IF(0)
#
# On Windows platform, It's better that we install PDF documents
# on one's computer.
diff --git a/libarchive/CMakeLists.txt b/libarchive/CMakeLists.txt
-index 1f85c01..11b2fb1 100644
+index ec775bb..d63ac7c 100644
--- a/libarchive/CMakeLists.txt
+++ b/libarchive/CMakeLists.txt
-@@ -210,28 +210,22 @@ IF(WIN32 AND NOT CYGWIN)
- LIST(APPEND libarchive_SOURCES archive_disk_acl_sunos.c)
+@@ -235,28 +235,22 @@ ELSEIF(ARCHIVE_ACL_SUNOS)
ENDIF()
--# Libarchive is a shared library
+ # Libarchive is a shared library
-ADD_LIBRARY(archive SHARED ${libarchive_SOURCES} ${include_HEADERS})
+ADD_LIBRARY(archive ${libarchive_SOURCES} ${include_HEADERS})
+ TARGET_INCLUDE_DIRECTORIES(archive PUBLIC .)
TARGET_LINK_LIBRARIES(archive ${ADDITIONAL_LIBS})
-SET_TARGET_PROPERTIES(archive PROPERTIES SOVERSION ${SOVERSION})
-
@@ -146,9 +136,9 @@ index 1f85c01..11b2fb1 100644
-TARGET_LINK_LIBRARIES(archive_static ${ADDITIONAL_LIBS})
-SET_TARGET_PROPERTIES(archive_static PROPERTIES COMPILE_DEFINITIONS
+IF(BUILD_SHARED_LIBS)
-+ SET_TARGET_PROPERTIES(archive PROPERTIES SOVERSION ${SOVERSION})
++ SET_TARGET_PROPERTIES(archive PROPERTIES SOVERSION ${SOVERSION})
+ELSE()
-+ SET_TARGET_PROPERTIES(archive PROPERTIES COMPILE_DEFINITIONS
++ SET_TARGET_PROPERTIES(archive PROPERTIES COMPILE_DEFINITIONS
LIBARCHIVE_STATIC)
-# On Posix systems, libarchive.so and libarchive.a can co-exist.
-IF(NOT WIN32 OR CYGWIN)
@@ -164,7 +154,6 @@ index 1f85c01..11b2fb1 100644
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
- INSTALL_MAN(${libarchive_MANS})
-+ #INSTALL_MAN(${libarchive_MANS})
INSTALL(FILES ${include_HEADERS} DESTINATION include)
ENDIF()
diff --git a/ports/libarchive/no-werror.patch b/ports/libarchive/no-werror.patch
deleted file mode 100644
index fbd3be8c6..000000000
--- a/ports/libarchive/no-werror.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 745dc29..820c56f 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -96,7 +96,7 @@ IF (CMAKE_C_COMPILER_ID MATCHES "^GNU$")
- #################################################################
- # Set compile flags for debug build.
- # This is added into CMAKE_C_FLAGS when CMAKE_BUILD_TYPE is "Debug"
-- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Werror")
-+ #SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Werror")
- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wextra")
- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wunused")
- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wshadow")
-@@ -112,7 +112,7 @@ IF (CMAKE_C_COMPILER_ID MATCHES "^Clang$")
- # Set compile flags for debug build.
- # This is added into CMAKE_C_FLAGS when CMAKE_BUILD_TYPE is "Debug"
- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g")
-- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Werror")
-+ #SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Werror")
- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wextra")
- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wunused")
- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wshadow")
diff --git a/ports/libarchive/portfile.cmake b/ports/libarchive/portfile.cmake
index 5d6755bc0..c3973d8ab 100644
--- a/ports/libarchive/portfile.cmake
+++ b/ports/libarchive/portfile.cmake
@@ -7,14 +7,13 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libarchive/libarchive
- REF v3.3.3
- SHA512 10063764b610c0c966ba0177cac0d2cb781e297a45545cc8a587741513089af26f40769670894c86e7985b73c47e9cb985253bc3bef3a12fa83fe2a6a30acb6d
+ REF 614110e76d9dbb9ed3e159a71cbd75fa3b23efe3
+ SHA512 8feac2c0e22e5b7c05f3be97c774ad82d39bdea4b3fa3a2b297b85f8a5a9f548c528ef63f5495afd42fb75759e03a4108f3831b27103f899f8fe4ef7e8e2d1cf
HEAD_REF master
PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/fix-buildsystem.patch
- ${CMAKE_CURRENT_LIST_DIR}/fix-dependencies.patch
- ${CMAKE_CURRENT_LIST_DIR}/fix-lz4.patch
- ${CMAKE_CURRENT_LIST_DIR}/no-werror.patch
+ fix-buildsystem.patch
+ fix-dependencies.patch
+ fix-lz4.patch
)
set(BUILD_libarchive_bzip2 OFF)
@@ -69,7 +68,9 @@ vcpkg_configure_cmake(
-DENABLE_ACL=OFF
-DENABLE_TEST=OFF
-DENABLE_ICONV=OFF
- -DPOSIX_REGEX_LIB=NONE)
+ -DPOSIX_REGEX_LIB=NONE
+ -DENABLE_WERROR=OFF
+)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
diff --git a/ports/libepoxy/CONTROL b/ports/libepoxy/CONTROL
index acab175c5..9b2e96717 100644
--- a/ports/libepoxy/CONTROL
+++ b/ports/libepoxy/CONTROL
@@ -1,4 +1,4 @@
Source: libepoxy
-Version: 1.5.3
+Version: 1.5.3-1
Homepage: https://github.com/anholt/libepoxy
Description: Epoxy is a library for handling OpenGL function pointer management for you
diff --git a/ports/libepoxy/portfile.cmake b/ports/libepoxy/portfile.cmake
index d4fc00fbc..50f3fa55f 100644
--- a/ports/libepoxy/portfile.cmake
+++ b/ports/libepoxy/portfile.cmake
@@ -9,12 +9,65 @@ vcpkg_from_github(
SHA512 e831f4f918f08fd5f799501efc0e23b8d404478651634f5e7b35f8ebcc29d91abc447ab20da062dde5be75e18cb39ffea708688e6534f7ab257b949f9c53ddc8
HEAD_REF master)
-vcpkg_configure_meson(SOURCE_PATH ${SOURCE_PATH}
- OPTIONS
- -Denable-glx=no
- -Denable-egl=no)
-vcpkg_install_meson()
-vcpkg_copy_pdbs()
+
+if (VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_configure_meson(SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -Denable-glx=no
+ -Denable-egl=no)
+ vcpkg_install_meson()
+ vcpkg_copy_pdbs()
+else()
+ find_program(autoreconf autoreconf)
+ if (NOT autoreconf OR NOT EXISTS "/usr/share/doc/libgles2/copyright")
+ message(FATAL_ERROR "autoreconf and libgles2-mesa-dev must be installed before libepoxy can build. Install them with \"apt-get install dh-autoreconf libgles2-mesa-dev\".")
+ endif()
+
+ find_program(MAKE make)
+ if (NOT MAKE)
+ message(FATAL_ERROR "MAKE not found")
+ endif()
+
+ file(REMOVE_RECURSE ${SOURCE_PATH}/m4)
+ file(MAKE_DIRECTORY ${SOURCE_PATH}/m4)
+
+ set(LIBEPOXY_CONFIG_ARGS "--enable-x11=yes --enable-glx=yes --enable-egl=yes")
+
+ vcpkg_execute_required_process(
+ COMMAND "autoreconf" -v --install
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME autoreconf-${TARGET_TRIPLET}
+ )
+
+ message(STATUS "Configuring ${TARGET_TRIPLET}")
+ set(OUT_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/make-build-${TARGET_TRIPLET}-release)
+
+ file(REMOVE_RECURSE ${OUT_PATH_RELEASE})
+ file(MAKE_DIRECTORY ${OUT_PATH_RELEASE})
+
+ vcpkg_execute_required_process(
+ COMMAND "./configure" --prefix=${OUT_PATH_RELEASE} "${LIBEPOXY_CONFIG_ARGS}"
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME config-${TARGET_TRIPLET}
+ )
+
+ message(STATUS "Building ${TARGET_TRIPLET}")
+ vcpkg_execute_required_process(
+ COMMAND make
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME build-${TARGET_TRIPLET}-release
+ )
+
+ message(STATUS "Installing ${TARGET_TRIPLET}")
+ vcpkg_execute_required_process(
+ COMMAND make install
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME install-${TARGET_TRIPLET}-release
+ )
+ file(COPY ${OUT_PATH_RELEASE}/include DESTINATION ${CURRENT_PACKAGES_DIR})
+ file(COPY ${OUT_PATH_RELEASE}/lib DESTINATION ${CURRENT_PACKAGES_DIR})
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/bin)
+endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/pkgconfig)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share/pkgconfig)
diff --git a/ports/libguarded/CONTROL b/ports/libguarded/CONTROL
new file mode 100644
index 000000000..c37866406
--- /dev/null
+++ b/ports/libguarded/CONTROL
@@ -0,0 +1,4 @@
+Source: libguarded
+Version: 2019-08-27
+Homepage: https://github.com/copperspice/libguarded
+Description: The libGuarded library is a standalone header-only library for multithreaded programming. \ No newline at end of file
diff --git a/ports/libguarded/portfile.cmake b/ports/libguarded/portfile.cmake
new file mode 100644
index 000000000..d195774c3
--- /dev/null
+++ b/ports/libguarded/portfile.cmake
@@ -0,0 +1,15 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO copperspice/libguarded
+ REF 1f159aa866a50f5d2952de41d8a99821b8ec37df
+ SHA512 3ff138719b895a9c45492aee0a30e9f9eff2c3b3510de01dad59123fac6bdc1c7479518f5a81a61e4d25c0f9679b21b5018953d99809f52aafa7729599a3282a
+ HEAD_REF master
+)
+
+File(COPY ${SOURCE_PATH}/src/libguarded DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
+
diff --git a/ports/libhydrogen/CONTROL b/ports/libhydrogen/CONTROL
new file mode 100644
index 000000000..d1af13e0e
--- /dev/null
+++ b/ports/libhydrogen/CONTROL
@@ -0,0 +1,4 @@
+Source: libhydrogen
+Version: 2019-08-11
+Description: A lightweight, secure, easy-to-use crypto library suitable for constrained environments
+Homepage: https://github.com/jedisct1/libhydrogen
diff --git a/ports/libhydrogen/portfile.cmake b/ports/libhydrogen/portfile.cmake
new file mode 100644
index 000000000..7dbcd3537
--- /dev/null
+++ b/ports/libhydrogen/portfile.cmake
@@ -0,0 +1,27 @@
+include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO jedisct1/libhydrogen
+ REF 46f083ed1370f4f1063f412b443f5a7704676f27
+ SHA512 2408ba8ba365751cf4e4e52191f8a94fe00befcb1b6c741af73b3eeebe6e02aa191d9ad021b5eda555c2eeb9c9f39ab7d89a94fb7e0e2896bf4a015d2b8e2995
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/hydrogen TARGET_PATH share/hydrogen)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
+
+# CMake integration test
+vcpkg_test_cmake(PACKAGE_NAME hydrogen)
diff --git a/ports/liblas/CONTROL b/ports/liblas/CONTROL
index 4b983c937..9752f4e96 100644
--- a/ports/liblas/CONTROL
+++ b/ports/liblas/CONTROL
@@ -1,5 +1,5 @@
Source: liblas
-Version: 1.8.1
+Version: 1.8.1-2
Build-Depends: boost, boost-thread, boost-system, boost-iostreams, boost-filesystem, libgeotiff
Description: A C/C++ library for reading and writing the very common LAS LiDAR format.
diff --git a/ports/liblas/portfile.cmake b/ports/liblas/portfile.cmake
index 0ad91aa0d..9b7b90dd7 100644
--- a/ports/liblas/portfile.cmake
+++ b/ports/liblas/portfile.cmake
@@ -15,11 +15,13 @@ vcpkg_extract_source_archive_ex(
PATCHES fix-BuildError.patch
)
+file(REMOVE ${SOURCE_PATH}/cmake/modules/FindGeoTIFF.cmake) # remove outdated module. There are probably more
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
+
-DBUILD_OSGEO4W=OFF # Disable osgeo4w
-DWITH_TESTS=OFF
-DWITH_UTILITIES=OFF
diff --git a/ports/liblbfgs/CMakeLists.txt b/ports/liblbfgs/CMakeLists.txt
new file mode 100644
index 000000000..34220b958
--- /dev/null
+++ b/ports/liblbfgs/CMakeLists.txt
@@ -0,0 +1,21 @@
+cmake_minimum_required(VERSION 3.12 FATAL_ERROR)
+PROJECT(liblbfgs)
+
+file(GLOB SOURCE_FILE
+ "lib/*.c"
+)
+file(GLOB HEADERS_FILE
+ "include/*.h"
+ "lib/*.h"
+)
+include_directories("include")
+add_library (lbfgs STATIC ${SOURCE_FILE} ${HEADERS_FILE})
+
+install(TARGETS lbfgs
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+)
+
+
+install(FILES ${HEADERS_FILE} DESTINATION include) \ No newline at end of file
diff --git a/ports/liblbfgs/CONTROL b/ports/liblbfgs/CONTROL
new file mode 100644
index 000000000..bb1514f18
--- /dev/null
+++ b/ports/liblbfgs/CONTROL
@@ -0,0 +1,4 @@
+Source: liblbfgs
+Version: 1.10
+Homepage: http://www.chokkan.org/software/liblbfgs/
+Description: libLBFGS: a library of Limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS)
diff --git a/ports/liblbfgs/portfile.cmake b/ports/liblbfgs/portfile.cmake
new file mode 100644
index 000000000..ccb648720
--- /dev/null
+++ b/ports/liblbfgs/portfile.cmake
@@ -0,0 +1,24 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO chokkan/liblbfgs
+ REF v1.10
+ SHA512 2b08dc5d4fdd737575f58983fa7b6c143bc12edaca47b7aeadf221afe6e573fa4a53423f323f569aa93c9dbeafb9b80a6d2f755fec6da04e6b7221f0a67816f8
+ HEAD_REF master
+)
+
+message(STATUS "source path is : ${SOURCE_PATH}")
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFIX_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/liblbfgs RENAME copyright) \ No newline at end of file
diff --git a/ports/liblsl/CONTROL b/ports/liblsl/CONTROL
index 995b9fbd6..924dd3236 100644
--- a/ports/liblsl/CONTROL
+++ b/ports/liblsl/CONTROL
@@ -1,3 +1,3 @@
Source: liblsl
-Version: 1.13.0-b6
+Version: 1.13.0-b11-1
Description: C++ lsl library for multi-modal time-synched data transmission over the local network
diff --git a/ports/liblsl/portfile.cmake b/ports/liblsl/portfile.cmake
index 1b6890a14..bd1afddf1 100644
--- a/ports/liblsl/portfile.cmake
+++ b/ports/liblsl/portfile.cmake
@@ -1,12 +1,12 @@
include(vcpkg_common_functions)
-vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
+set(VCPKG_LIBRARY_LINKAGE dynamic)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO sccn/liblsl
- REF 1.13.0-b6 # NOTE: when updating version, also change it in the parameter to vcpkg_configure_cmake
- SHA512 fb98cdd73de5f13e97f639ba3f2f836d46ce28cdcb2246584728f296eb647e2c9c069534470a603b10d7dc34ab8978bf246e2187428ab231a925feb0b7024c89
+ REF 1.13.0-b11 # NOTE: when updating version, also change it in the parameter to vcpkg_configure_cmake
+ SHA512 212f28070b8239dc176d2e35bf4091896babbf7688e4cbe1c2bb0c3788f317ce2a80f92d4b008c6e577b01a09e8faf65228d396ff13e9ade0c1ffdc5e08cb9e5
HEAD_REF master
)
@@ -17,7 +17,7 @@ vcpkg_configure_cmake(
-DLSL_BUILD_STATIC=OFF
-DLSL_UNIXFOLDERS=ON
-DLSL_NO_FANCY_LIBNAME=ON
- -Dlslgitrevision="1.13.0-b6"
+ -Dlslgitrevision="1.13.0-b11"
-Dlslgitbranch="master"
)
@@ -26,5 +26,12 @@ vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+if(VCPKG_TARGET_IS_WINDOWS)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/lslver.exe)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/lslver/)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/lslver.exe ${CURRENT_PACKAGES_DIR}/tools/lslver/lslver.exe)
+endif()
+
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/liblsl RENAME copyright)
file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/liblsl)
diff --git a/ports/libmikmod/CONTROL b/ports/libmikmod/CONTROL
index bc289f59c..fbe8b7900 100644
--- a/ports/libmikmod/CONTROL
+++ b/ports/libmikmod/CONTROL
@@ -1,5 +1,5 @@
Source: libmikmod
-Version: 3.3.11.1-4
+Version: 3.3.11.1-5
Homepage: https://sourceforge.net/projects/mikmod/
Description: Mikmod is a module player and library supporting many formats, including mod, s3m, it, and xm.
Build-Depends: openal-soft
diff --git a/ports/libmikmod/portfile.cmake b/ports/libmikmod/portfile.cmake
index ef0b6d5e0..149e4429a 100644
--- a/ports/libmikmod/portfile.cmake
+++ b/ports/libmikmod/portfile.cmake
@@ -1,15 +1,3 @@
-# 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_download_distfile(ARCHIVE
@@ -55,12 +43,10 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
-# Handle copyright
-file(COPY ${SOURCE_PATH}/COPYING.LESSER DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmikmod)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/libmikmod/COPYING.LESSER ${CURRENT_PACKAGES_DIR}/share/libmikmod/copyright)
-
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
+
+file(INSTALL ${SOURCE_PATH}/COPYING.LESSER DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/libodb-mysql/CONTROL b/ports/libodb-mysql/CONTROL
index 7d2ee12f1..100fa70f5 100644
--- a/ports/libodb-mysql/CONTROL
+++ b/ports/libodb-mysql/CONTROL
@@ -1,5 +1,5 @@
Source: libodb-mysql
-Version: 2.4.0-3
+Version: 2.4.0-4
Homepage: https://www.codesynthesis.com/products/odb/
Description: MySQL support for the ODB ORM library
Build-Depends: libodb, libmysql \ No newline at end of file
diff --git a/ports/libodb-mysql/portfile.cmake b/ports/libodb-mysql/portfile.cmake
index cf2d8b8c7..6bba901bd 100644
--- a/ports/libodb-mysql/portfile.cmake
+++ b/ports/libodb-mysql/portfile.cmake
@@ -1,15 +1,3 @@
-# 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/libodb-mysql-2.4.0)
vcpkg_download_distfile(ARCHIVE
@@ -51,6 +39,7 @@ file(READ ${CURRENT_PACKAGES_DIR}/debug/share/odb/odb_mysqlConfig-debug.cmake LI
string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" LIBODB_DEBUG_TARGETS "${LIBODB_DEBUG_TARGETS}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/odb/odb_mysqlConfig-debug.cmake "${LIBODB_DEBUG_TARGETS}")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
-file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libodb-mysql)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/libodb-mysql/LICENSE ${CURRENT_PACKAGES_DIR}/share/libodb-mysql/copyright)
+
vcpkg_copy_pdbs()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file
diff --git a/ports/libodb-sqlite/CONTROL b/ports/libodb-sqlite/CONTROL
index ed02fa815..0c87a6fc8 100644
--- a/ports/libodb-sqlite/CONTROL
+++ b/ports/libodb-sqlite/CONTROL
@@ -1,5 +1,5 @@
Source: libodb-sqlite
-Version: 2.4.0-4
+Version: 2.4.0-5
Homepage: https://www.codesynthesis.com/products/odb/
Description: Sqlite support for the ODB ORM library
Build-Depends: libodb, sqlite3
diff --git a/ports/libodb-sqlite/portfile.cmake b/ports/libodb-sqlite/portfile.cmake
index 67e4ffb37..0df8888d4 100644
--- a/ports/libodb-sqlite/portfile.cmake
+++ b/ports/libodb-sqlite/portfile.cmake
@@ -1,11 +1,3 @@
-# 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)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libodb-sqlite-2.4.0)
vcpkg_download_distfile(ARCHIVE
@@ -33,6 +25,7 @@ file(READ ${CURRENT_PACKAGES_DIR}/debug/share/odb/odb_sqliteConfig-debug.cmake L
string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" LIBODB_DEBUG_TARGETS "${LIBODB_DEBUG_TARGETS}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/odb/odb_sqliteConfig-debug.cmake "${LIBODB_DEBUG_TARGETS}")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
-file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libodb-sqlite)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/libodb-sqlite/LICENSE ${CURRENT_PACKAGES_DIR}/share/libodb-sqlite/copyright)
+
vcpkg_copy_pdbs()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file
diff --git a/ports/libodb/CONTROL b/ports/libodb/CONTROL
index 129db70ab..71af41914 100644
--- a/ports/libodb/CONTROL
+++ b/ports/libodb/CONTROL
@@ -1,4 +1,4 @@
Source: libodb
-Version: 2.4.0-5
+Version: 2.4.0-6
Homepage: https://www.codesynthesis.com/products/odb/
Description: ODB library, base runtime for the ODB ORM solution
diff --git a/ports/libodb/portfile.cmake b/ports/libodb/portfile.cmake
index 7e48f43e5..8965c008f 100644
--- a/ports/libodb/portfile.cmake
+++ b/ports/libodb/portfile.cmake
@@ -1,14 +1,7 @@
-# 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)
include(CMakePackageConfigHelpers)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libodb-2.4.0)
+
vcpkg_download_distfile(ARCHIVE
URLS "http://www.codesynthesis.com/download/odb/2.4/libodb-2.4.0.tar.gz"
FILENAME "libodb-2.4.0.tar.gz"
@@ -37,9 +30,6 @@ write_basic_package_version_file(${CURRENT_PACKAGES_DIR}/share/odb/odbConfigVers
VERSION 2.4.0
COMPATIBILITY SameMajorVersion
)
-# Handle copyright
-file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libodb)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/libodb/LICENSE ${CURRENT_PACKAGES_DIR}/share/libodb/copyright)
set(LIBODB_HEADER_PATH ${CURRENT_PACKAGES_DIR}/include/odb/details/export.hxx)
file(READ ${LIBODB_HEADER_PATH} LIBODB_HEADER)
@@ -51,3 +41,5 @@ endif()
file(WRITE ${LIBODB_HEADER_PATH} "${LIBODB_HEADER}")
vcpkg_copy_pdbs()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/libogg/CONTROL b/ports/libogg/CONTROL
index 497ec9a6d..bc36d27b6 100644
--- a/ports/libogg/CONTROL
+++ b/ports/libogg/CONTROL
@@ -1,4 +1,4 @@
Source: libogg
-Version: 1.3.3-4
+Version: 1.3.4
Description: Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs.
Homepage: https://github.com/xiph/ogg
diff --git a/ports/libogg/missing_usize64.patch b/ports/libogg/missing_usize64.patch
deleted file mode 100644
index 556bc2a54..000000000
--- a/ports/libogg/missing_usize64.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5c31a3c..c3c060a 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -63,6 +63,7 @@ set(USIZE16 uint16_t)
- set(SIZE32 int32_t)
- set(USIZE32 uint32_t)
- set(SIZE64 int64_t)
-+set(USIZE64 uint64_t)
-
- configure_file(include/ogg/config_types.h.in ${CMAKE_CURRENT_BINARY_DIR}/include/ogg/config_types.h @ONLY)
-
diff --git a/ports/libogg/portfile.cmake b/ports/libogg/portfile.cmake
index 0b3b8be7b..476feb7d2 100644
--- a/ports/libogg/portfile.cmake
+++ b/ports/libogg/portfile.cmake
@@ -3,11 +3,9 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO xiph/ogg
- REF 6ccfcc2dce48c0d430b45064d0e13c962a64c42f
- SHA512 441950d541f626a2e668efab4ed429c453534ef0334aad410013f07870a4a99e347f7a7eed335d77af41f02ce3dd600564d982e4c976a0c4cb76c19b1231d39e
+ REF c8fca6b4a02d695b1ceea39b330d4406001c03ed
+ SHA512 52980fcca3c1dbb5fbfa4032f179679a5c4000f1fea88e7ed8b2522d80d27513be96d94933daeb9e36f4ac8556e7e4e8ec7e91101e2ba456e0fce51c484eee9e
HEAD_REF master
- PATCHES
- missing_usize64.patch
)
vcpkg_configure_cmake(
@@ -18,7 +16,7 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
-vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/ogg TARGET_PATH share/ogg)
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Ogg TARGET_PATH share/ogg)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
diff --git a/ports/libp7client/CONTROL b/ports/libp7client/CONTROL
new file mode 100644
index 000000000..0069877d4
--- /dev/null
+++ b/ports/libp7client/CONTROL
@@ -0,0 +1,3 @@
+Source: libp7client
+Version: 5.2-1
+Description: Open source, cross-platform, fastest library for sending logs, telemetry & trace data from your application.
diff --git a/ports/libp7client/fix-runtime-library.patch b/ports/libp7client/fix-runtime-library.patch
new file mode 100644
index 000000000..d7d2ab931
--- /dev/null
+++ b/ports/libp7client/fix-runtime-library.patch
@@ -0,0 +1,76 @@
+diff --git a/Sources/P7ClientDll.vcxproj b/Sources/P7ClientDll.vcxproj
+index 9fab3d0..a7035d9 100644
+--- a/Sources/P7ClientDll.vcxproj
++++ b/Sources/P7ClientDll.vcxproj
+@@ -112,7 +112,7 @@
+ <AdditionalIncludeDirectories>$(ProjectDir)\..\Shared\;$(ProjectDir)\..\Shared\Platforms\Windows_x86;$(ProjectDir)\..\Headers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <ShowIncludes>false</ShowIncludes>
+ <EnablePREfast>false</EnablePREfast>
+- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+@@ -137,7 +137,7 @@
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_WIN64;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(ProjectDir)\..\Shared\;$(ProjectDir)\..\Shared\Platforms\Windows_x86;$(ProjectDir)\..\Headers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+@@ -165,7 +165,7 @@
+ <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(ProjectDir)\..\Shared\;$(ProjectDir)\..\Shared\Platforms\Windows_x86;$(ProjectDir)\..\Headers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <RuntimeLibrary>MultiThreadedDll</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+@@ -195,7 +195,7 @@
+ <PreprocessorDefinitions>_WIN64;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(ProjectDir)\..\Shared\;$(ProjectDir)\..\Shared\Platforms\Windows_x86;$(ProjectDir)\..\Headers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <RuntimeLibrary>MultiThreadedDll</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+diff --git a/Sources/P7ClientLib.vcxproj b/Sources/P7ClientLib.vcxproj
+index 3b46bab..725f8a4 100644
+--- a/Sources/P7ClientLib.vcxproj
++++ b/Sources/P7ClientLib.vcxproj
+@@ -161,6 +161,7 @@
+ <AdditionalIncludeDirectories>$(ProjectDir)\..\Shared\;$(ProjectDir)\..\Shared\Platforms\Windows_x86;$(ProjectDir)\..\Headers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <ShowIncludes>false</ShowIncludes>
+ <EnablePREfast>false</EnablePREfast>
++ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+@@ -181,6 +182,7 @@
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_WIN64;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(ProjectDir)\..\Shared\;$(ProjectDir)\..\Shared\Platforms\Windows_x86;$(ProjectDir)\..\Headers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+@@ -204,6 +206,7 @@
+ <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(ProjectDir)\..\Shared\;$(ProjectDir)\..\Shared\Platforms\Windows_x86;$(ProjectDir)\..\Headers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+@@ -255,6 +258,7 @@
+ <PreprocessorDefinitions>_WIN64;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>$(ProjectDir)\..\Shared\;$(ProjectDir)\..\Shared\Platforms\Windows_x86;$(ProjectDir)\..\Headers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
diff --git a/ports/libp7client/portfile.cmake b/ports/libp7client/portfile.cmake
new file mode 100644
index 000000000..1a0b002ea
--- /dev/null
+++ b/ports/libp7client/portfile.cmake
@@ -0,0 +1,118 @@
+include(vcpkg_common_functions)
+
+if (NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP)
+ message(FATAL_ERROR "Unsupported system: ${VCPKG_CMAKE_SYSTEM_NAME}")
+endif()
+
+if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ set(BUILD_ARCH "Win32")
+ set(ARCH "32")
+elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ set(BUILD_ARCH "x64")
+ set(ARCH "64")
+elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
+ message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}")
+elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
+ message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}")
+else()
+ message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}")
+endif()
+
+set(VERSION 5.2)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://baical.net/files/libP7Client_v${VERSION}.zip"
+ FILENAME "libP7Client_v${VERSION}.zip"
+ SHA512 9744b9c3f091db90aca3485408d3e1169317152ea353ab3845cd7cfb9d61d105b55be17ad83c5970e01d7d0f37566313bc18c0f8a4c16bcd1582cd7a5ea29b87
+)
+
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+ NO_REMOVE_ONE_LEVEL
+ REF ${VERSION}
+ PATCHES
+ "fix-runtime-library.patch"
+)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ vcpkg_build_msbuild(
+ PROJECT_PATH ${SOURCE_PATH}/Sources/P7ClientLib.vcxproj
+ PLATFORM ${BUILD_ARCH}
+ RELEASE_CONFIGURATION
+ DEBUG_CONFIGURATION
+ OPTIONS
+ "/p:NoWarn=C4996"
+ )
+
+ file(GLOB LIB_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Binaries/*${ARCH}.lib")
+ file(GLOB D_LIB_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Binaries/*${ARCH}d.lib")
+else()
+ vcpkg_build_msbuild(
+ PROJECT_PATH ${SOURCE_PATH}/Sources/P7ClientDll.vcxproj
+ PLATFORM ${BUILD_ARCH}
+ #RELEASE_CONFIGURATION
+ #DEBUG_CONFIGURATION
+ OPTIONS
+ "/p:NoWarn=C4996"
+ )
+
+ file(GLOB DLL_LIB_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Binaries/*${ARCH}.dll.lib")
+ file(GLOB D_DLL_LIB_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Binaries/*${ARCH}d.dll.lib")
+
+ file(GLOB DLL_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Binaries/*${ARCH}.dll")
+ file(GLOB D_DLL_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Binaries/*${ARCH}d.dll")
+
+ file(GLOB PDB_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Binaries/*${ARCH}.pdb")
+ file(GLOB D_PDB_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Binaries/*${ARCH}d.pdb")
+
+endif()
+
+file(GLOB HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Headers/*.h")
+file(INSTALL
+ ${HEADER_FILES}
+ DESTINATION ${CURRENT_PACKAGES_DIR}/include/P7
+)
+
+#file(GLOB EXE_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Binaries/*${ARCH}.exe")
+#file(GLOB D_EXE_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Binaries/*${ARCH}d.exe")
+
+file(INSTALL
+ ${LIB_FILES}
+ DESTINATION ${CURRENT_PACKAGES_DIR}/lib
+)
+file(INSTALL
+ ${D_LIB_FILES}
+ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
+)
+file(INSTALL
+ ${DLL_LIB_FILES}
+ DESTINATION ${CURRENT_PACKAGES_DIR}/lib
+)
+file(INSTALL
+ ${D_DLL_LIB_FILES}
+ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
+)
+file(INSTALL
+ ${DLL_FILES}
+ DESTINATION ${CURRENT_PACKAGES_DIR}/bin
+)
+file(INSTALL
+ ${D_DLL_FILES}
+ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
+)
+file(INSTALL
+ ${PDB_FILES}
+ DESTINATION ${CURRENT_PACKAGES_DIR}/bin
+)
+file(INSTALL
+ ${D_PDB_FILES}
+ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
+)
+
+file(INSTALL ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/libp7client RENAME copyright)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+vcpkg_copy_pdbs() \ No newline at end of file
diff --git a/ports/libpng/CONTROL b/ports/libpng/CONTROL
index f813439d8..bc06e8deb 100644
--- a/ports/libpng/CONTROL
+++ b/ports/libpng/CONTROL
@@ -1,5 +1,5 @@
Source: libpng
-Version: 1.6.37-2
+Version: 1.6.37-4
Build-Depends: zlib
Homepage: https://github.com/glennrp/libpng
Description: libpng is a library implementing an interface for reading and writing PNG (Portable Network Graphics) format files.
diff --git a/ports/libpng/fix-libm-unix.patch b/ports/libpng/fix-libm-unix.patch
new file mode 100644
index 000000000..0abd20879
--- /dev/null
+++ b/ports/libpng/fix-libm-unix.patch
@@ -0,0 +1,12 @@
+diff -ur a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt 2019-04-14 20:10:32.000000000 +0200
++++ b/CMakeLists.txt 2019-09-06 14:14:39.425498139 +0200
+@@ -44,7 +44,7 @@
+ endif()
+
+ if(UNIX AND NOT APPLE AND NOT BEOS AND NOT HAIKU)
+- find_library(M_LIBRARY m)
++ set(M_LIBRARY m)
+ else()
+ # libm is not needed and/or not available
+ set(M_LIBRARY "")
diff --git a/ports/libpng/libpngConfig.cmake b/ports/libpng/libpngConfig.cmake
new file mode 100644
index 000000000..18108035a
--- /dev/null
+++ b/ports/libpng/libpngConfig.cmake
@@ -0,0 +1,6 @@
+# The upstream CMakeLists.txt exports libpng's targets to a file named `libpng16.cmake`.
+# However, `find_package(libpng CONFIG)` expects a file named `libpngConfig.cmake` to exist instead.
+#
+# By including `libpng.cmake` from this file, `find_package(libpng CONFIG)` will work.
+get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+include("${_DIR}/libpng16.cmake")
diff --git a/ports/libpng/portfile.cmake b/ports/libpng/portfile.cmake
index 7262d34c7..24858f26c 100644
--- a/ports/libpng/portfile.cmake
+++ b/ports/libpng/portfile.cmake
@@ -8,6 +8,7 @@ vcpkg_from_github(
HEAD_REF master
PATCHES
use-abort-on-all-platforms.patch
+ fix-libm-unix.patch
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
@@ -46,6 +47,7 @@ endif()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/libpng)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share/)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/libpngConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libpng)
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libpng)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libpng/LICENSE ${CURRENT_PACKAGES_DIR}/share/libpng/copyright)
diff --git a/ports/libpq/CMakeLists.txt b/ports/libpq/CMakeLists.txt
index 3d5d6e508..6a03da19f 100644
--- a/ports/libpq/CMakeLists.txt
+++ b/ports/libpq/CMakeLists.txt
@@ -28,9 +28,14 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "
configure_file(src/include/port/darwin.h include/pg_config_os.h COPYONLY)
configure_file(src/backend/port/dynloader/darwin.h include/dynloader.h COPYONLY)
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+ if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
+ set(DEFINE_PG_INT128_TYPE "#define PG_INT128_TYPE __int128")
+ else()
+ set(DEFINE_PG_INT128_TYPE "#undef PG_INT128_TYPE")
+ endif()
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/include/pg_config_ext.h" "#include <stdint.h>\n#define PG_INT64_TYPE int64_t")
configure_file(src/include/port/linux.h include/pg_config_os.h COPYONLY)
- configure_file("${PORT_DIR}/pg_config.linux.h" include/pg_config.h COPYONLY)
+ configure_file("${PORT_DIR}/pg_config.linux.h" include/pg_config.h)
configure_file(src/backend/port/dynloader/linux.h include/dynloader.h COPYONLY)
else()
message(FATAL_ERROR "Unknown system: ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
@@ -134,7 +139,7 @@ set(CMAKE_DEBUG_POSTFIX "d")
set(CMAKE_INCLUDE_CURRENT_DIR ON)
add_library(libpq ${pg_port_src} ${pg_backend_src} ${pg_libpq_src})
-target_compile_definitions(libpq PRIVATE -DFRONTEND -DENABLE_THREAD_SAFETY -DUSE_OPENSSL -D_CRT_SECURE_NO_WARNINGS)
+target_compile_definitions(libpq PRIVATE -DFRONTEND -DENABLE_THREAD_SAFETY -DUSE_OPENSSL -DHAVE_CRYPTO_LOCK -D_CRT_SECURE_NO_WARNINGS)
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
target_compile_definitions(libpq PRIVATE -D_GNU_SOURCE)
endif()
diff --git a/ports/libpq/CONTROL b/ports/libpq/CONTROL
index f6c0ce34e..d8bafa772 100644
--- a/ports/libpq/CONTROL
+++ b/ports/libpq/CONTROL
@@ -1,5 +1,5 @@
Source: libpq
-Version: 9.6.1-7
+Version: 9.6.1-8
Homepage: https://www.postgresql.org/
Description: The official database access API of postgresql
Build-Depends: openssl, zlib (linux)
diff --git a/ports/libpq/pg_config.linux.h b/ports/libpq/pg_config.linux.h
index d3758bb95..99ebaa716 100644
--- a/ports/libpq/pg_config.linux.h
+++ b/ports/libpq/pg_config.linux.h
@@ -144,7 +144,7 @@
#define PACKAGE_TARNAME "postgresql"
#define PACKAGE_URL ""
#define PACKAGE_VERSION "9.6.3"
-#define PG_INT128_TYPE __int128
+${DEFINE_PG_INT128_TYPE}
#define PG_INT64_TYPE long int
#define PG_KRB_SRVNAM "postgres"
#define PG_MAJORVERSION "9.6"
diff --git a/ports/libpqxx/CONTROL b/ports/libpqxx/CONTROL
index 8653afe5a..3574a541b 100644
--- a/ports/libpqxx/CONTROL
+++ b/ports/libpqxx/CONTROL
@@ -1,5 +1,5 @@
Source: libpqxx
-Version: 6.4.4
+Version: 6.4.5
Homepage: https://github.com/jtv/libpqxx
Description: The official C++ client API for PostgreSQL
Build-Depends: libpq
diff --git a/ports/libpqxx/portfile.cmake b/ports/libpqxx/portfile.cmake
index 944698ceb..e9fbdbc98 100644
--- a/ports/libpqxx/portfile.cmake
+++ b/ports/libpqxx/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO jtv/libpqxx
- REF 6.4.4
- SHA512 a168dbc7af210c711fa9f0f6e20d9d3abea167d412a642f591b104a109f11f4c262a27b6919340d405400a58baf7bcc663f7d3ec1b4ecd03f0a4b6c2960b5099
+ REF a6b1d60e74c1427c8ac2324b85cd4a0dc2068332
+ SHA512 990083f738322283dc9c98b138a676e5ba04ab77794d5a51d672557e0562d2366b5085ad5571dd91af8ba4dea56baa94e8c1e4e6fe571341c95e92eb28d2b15a
HEAD_REF master
PATCHES
fix-deprecated-bug.patch
diff --git a/ports/libqglviewer/CONTROL b/ports/libqglviewer/CONTROL
index add042b7e..a80694a2f 100644
--- a/ports/libqglviewer/CONTROL
+++ b/ports/libqglviewer/CONTROL
@@ -1,4 +1,4 @@
Source: libqglviewer
-Version: 2.7.0
+Version: 2.7.0-2
Description: libQGLViewer is an open source C++ library based on Qt that eases the creation of OpenGL 3D viewers.
Build-Depends: qt5-base
diff --git a/ports/libqglviewer/QGLViewer_remove_shared.patch b/ports/libqglviewer/QGLViewer_remove_shared.patch
new file mode 100644
index 000000000..f339d81a5
--- /dev/null
+++ b/ports/libqglviewer/QGLViewer_remove_shared.patch
@@ -0,0 +1,13 @@
+diff --git a/QGLViewer/QGLViewer.pro b/QGLViewer/QGLViewer.pro
+index f9afe8089..63f74736e 100644
+--- a/QGLViewer/QGLViewer.pro
++++ b/QGLViewer/QGLViewer.pro
+@@ -7,7 +7,7 @@
+ TEMPLATE = lib
+ TARGET = QGLViewer
+ VERSION = 2.7.0
+-CONFIG *= qt opengl warn_on shared thread create_prl rtti no_keywords
++CONFIG *= qt opengl warn_on thread create_prl rtti no_keywords
+
+ QGL_HEADERS = \
+ qglviewer.h \
diff --git a/ports/libqglviewer/macosx.patch b/ports/libqglviewer/macosx.patch
new file mode 100644
index 000000000..82aa057f4
--- /dev/null
+++ b/ports/libqglviewer/macosx.patch
@@ -0,0 +1,22 @@
+diff --git a/QGLViewer/QGLViewer.pro b/QGLViewer/QGLViewer.pro
+index 702925cb6..fc3cb7118 100644
+--- a/QGLViewer/QGLViewer.pro
++++ b/QGLViewer/QGLViewer.pro
+@@ -214,7 +214,7 @@ macx|darwin-g++ {
+ include.files *= qglviewer.icns
+
+ # Or whatever exists in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
+- QMAKE_MAC_SDK = macosx10.12
++ #QMAKE_MAC_SDK = macosx10.12
+
+ lib_bundle {
+ FRAMEWORK_HEADERS.version = Versions
+@@ -224,7 +224,7 @@ macx|darwin-g++ {
+ QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS
+
+ # So that the path QGLViewer/*.h exists
+- QMAKE_POST_LINK=cd $$DESTDIR/QGLViewer.framework/Headers && (test -L QGLViewer || ln -s . QGLViewer)
++ #QMAKE_POST_LINK=cd $$DESTDIR/QGLViewer.framework/Headers && (test -L QGLViewer || ln -s . QGLViewer)
+
+ # Specific paths for the installation of the framework.
+ !isEmpty( LIB_DIR ) {
diff --git a/ports/libqglviewer/portfile.cmake b/ports/libqglviewer/portfile.cmake
index 7a7cc9fdf..6f980c0ae 100644
--- a/ports/libqglviewer/portfile.cmake
+++ b/ports/libqglviewer/portfile.cmake
@@ -7,6 +7,8 @@ vcpkg_from_github(
SHA512 0586020c159fa4b3acb3ea3fa0a361bcc757d840298d7a436c356d0929b5ace3da4d054e3c0d107a499076413336e3b9a2f35750e6bf0add9320cc52a5c7afd5
HEAD_REF master
PATCHES "use-default-config-on-all-platforms.patch"
+ "QGLViewer_remove_shared.patch"
+ "macosx.patch"
)
vcpkg_configure_qmake(SOURCE_PATH ${SOURCE_PATH}/QGLViewer/QGLViewer.pro)
diff --git a/ports/libqrencode/CONTROL b/ports/libqrencode/CONTROL
index 9bfd8fa85..d707bb900 100644
--- a/ports/libqrencode/CONTROL
+++ b/ports/libqrencode/CONTROL
@@ -1,5 +1,9 @@
Source: libqrencode
-Version: 4.0.2
+Version: 4.0.2-1
Build-Depends: libpng, libiconv
Homepage: https://github.com/fukuchi/libqrencode
Description: libqrencode - a fast and compact QR Code encoding library
+
+Feature: tool
+Description: Build qrencode tool
+Build-Depends: getopt (windows)
diff --git a/ports/libqrencode/fix-found-wingetopt.patch b/ports/libqrencode/fix-found-wingetopt.patch
new file mode 100644
index 000000000..4c28f1cf3
--- /dev/null
+++ b/ports/libqrencode/fix-found-wingetopt.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3a85c41..92dadca 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -73,7 +73,7 @@ if(MSVC)
+
+ if(WITH_TOOLS)
+ find_path(GETOPT_INCLUDE_DIR getopt.h PATH_SUFFIXES include)
+- find_library(GETOPT_LIBRARIES wingetopt PATH_SUFFIXES lib)
++ find_library(GETOPT_LIBRARIES getopt PATH_SUFFIXES lib)
+ include_directories(${GETOPT_INCLUDE_DIR})
+ endif(WITH_TOOLS)
+ endif(MSVC)
diff --git a/ports/libqrencode/portfile.cmake b/ports/libqrencode/portfile.cmake
index cfcd4650a..98a6d400e 100644
--- a/ports/libqrencode/portfile.cmake
+++ b/ports/libqrencode/portfile.cmake
@@ -6,24 +6,38 @@ vcpkg_from_github(
REF v4.0.2
SHA512 847e32bd13358319f3beabde103b5335a6e11c3f9275425b74e89a00b0ee4d67af8a428f12acc8b80a0419382480e5aeb02e58602a69ee750c21b28f357af6bc
HEAD_REF master
- PATCHES remove-deprecated-attribute.patch
+ PATCHES
+ fix-found-wingetopt.patch
)
+if("tool" IN_LIST FEATURES)
+ set(WITH_TOOLS YES)
+else()
+ set(WITH_TOOLS NO)
+endif()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
- -DWITH_TOOLS=NO
+ -DWITH_TOOLS=${WITH_TOOLS}
-DWITH_TEST=NO
-DSKIP_INSTALL_PROGRAMS=ON
-DSKIP_INSTALL_EXECUTABLES=ON
-DSKIP_INSTALL_FILES=ON
OPTIONS_DEBUG
-DSKIP_INSTALL_HEADERS=ON
+ -DWITH_TOOLS=NO
)
vcpkg_install_cmake()
+if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") # Windows
+ set(EXECUTABLE_SUFFIX ".exe")
+else()
+ set(EXECUTABLE_SUFFIX "")
+endif()
+
if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/qrencode.dll)
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin)
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/qrencode.dll ${CURRENT_PACKAGES_DIR}/bin/qrencode.dll)
@@ -32,6 +46,12 @@ if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/qrencoded.dll)
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin)
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/qrencoded.dll ${CURRENT_PACKAGES_DIR}/debug/bin/qrencoded.dll)
endif()
+if(EXISTS ${CURRENT_PACKAGES_DIR}/bin/qrencode${EXECUTABLE_SUFFIX})
+ file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/qrencode")
+ file(RENAME "${CURRENT_PACKAGES_DIR}/bin/qrencode${EXECUTABLE_SUFFIX}" "${CURRENT_PACKAGES_DIR}/tools/qrencode/qrencode${EXECUTABLE_SUFFIX}")
+ vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/qrencode)
+endif()
+
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libqrencode)
diff --git a/ports/libqrencode/remove-deprecated-attribute.patch b/ports/libqrencode/remove-deprecated-attribute.patch
deleted file mode 100644
index 1a00c3a3b..000000000
--- a/ports/libqrencode/remove-deprecated-attribute.patch
+++ /dev/null
@@ -1,16 +0,0 @@
- qrencode.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/qrencode.h b/qrencode.h
-index b855f0a..a6d4a29 100644
---- a/qrencode.h
-+++ b/qrencode.h
-@@ -555,7 +555,7 @@ extern char *QRcode_APIVersionString(void);
- /**
- * @deprecated
- */
--extern void QRcode_clearCache(void) __attribute__ ((deprecated));
-+extern void QRcode_clearCache(void);
-
- #if defined(__cplusplus)
- }
diff --git a/ports/libspatialite/CONTROL b/ports/libspatialite/CONTROL
index 55d3f4577..51d6a4f5e 100644
--- a/ports/libspatialite/CONTROL
+++ b/ports/libspatialite/CONTROL
@@ -1,5 +1,5 @@
Source: libspatialite
-Version: 4.3.0a-3
+Version: 4.3.0a-4
Homepage: https://www.gaia-gis.it/gaia-sins/libspatialite-sources
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-configure-debug.patch b/ports/libspatialite/fix-configure-debug.patch
new file mode 100644
index 000000000..77a4c77a0
--- /dev/null
+++ b/ports/libspatialite/fix-configure-debug.patch
@@ -0,0 +1,58 @@
+diff --git a/configure b/configure
+index aafdad55b..11dde35fa 100644
+--- a/configure
++++ b/configure
+@@ -18089,7 +18089,7 @@ return GEOSCoveredBy ();
+ return 0;
+ }
+ _ACEOF
+-for ac_lib in '' geos_c; do
++for ac_lib in '' geos_cd; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+@@ -18124,7 +18124,7 @@ else
+ fi
+
+ LIBS="$LIBS_SAVE"
+- LIBS="$LIBS $GEOS_LDFLAGS -lgeos_c"
++ LIBS="$LIBS $GEOS_LDFLAGS -lgeos_cd"
+
+ #-----------------------------------------------------------------------
+ # --enable-controlpoints
+@@ -18176,7 +18176,7 @@ return GEOSDelaunayTriangulation ();
+ return 0;
+ }
+ _ACEOF
+-for ac_lib in '' geos_c; do
++for ac_lib in '' geos_cd; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+@@ -18240,7 +18240,7 @@ fi
+ done
+
+ _save_libs="$LIBS"
+- LIBS=$LIBS' -llwgeom -lgeos_c'
++ LIBS=$LIBS' -llwgeom -lgeos_cd'
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+ int main() { return lwgeom_make_valid(); return 0; }
+@@ -18255,7 +18255,7 @@ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$_save_libs"
+- LIBS=$LIBS' -llwgeom -lgeos_c'
++ LIBS=$LIBS' -llwgeom -lgeos_cd'
+ #
+ # testing for PostGIS 2.1 - lwgeom_set_handlers
+ #
+@@ -18283,7 +18283,7 @@ return lwgeom_set_handlers ();
+ return 0;
+ }
+ _ACEOF
+-for ac_lib in '' geos_c; do
++for ac_lib in '' geos_cd; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
diff --git a/ports/libspatialite/geos-config-debug.in b/ports/libspatialite/geos-config-debug.in
new file mode 100644
index 000000000..d274c2a68
--- /dev/null
+++ b/ports/libspatialite/geos-config-debug.in
@@ -0,0 +1,75 @@
+#!/bin/sh
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+
+usage()
+{
+ cat <<EOF
+Usage: geos-config [OPTIONS]
+Options:
+ [--prefix]
+ [--version]
+ [--libs]
+ [--clibs]
+ [--cclibs]
+ [--static-clibs]
+ [--static-cclibs]
+ [--cflags]
+ [--ldflags]
+ [--includes]
+ [--jtsport]
+EOF
+ exit $1
+}
+if test $# -eq 0; then
+ usage 1 1>&2
+fi
+while test $# -gt 0; do
+case "$1" in
+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+esac
+case $1 in
+ --prefix)
+ echo ${prefix}
+ ;;
+ --version)
+ echo 3.6.3
+ ;;
+ --cflags)
+ echo -I${prefix}/include
+ ;;
+ --libs)
+ # TODO: make an alias for --clibs
+ # see http://trac.osgeo.org/geos/ticket/497
+ echo -L${libdir} -lgeosd
+ ;;
+ --clibs)
+ echo -L${libdir} -lgeos_cd
+ ;;
+ --cclibs)
+ echo -L${libdir} -lgeosd
+ ;;
+ --static-clibs)
+ echo -L${libdir} -lgeos_cd -lgeosd -lm
+ ;;
+ --static-cclibs)
+ echo -L${libdir} -lgeosd -lm
+ ;;
+ --ldflags)
+ echo -L${libdir} -lgeos_cd -lgeosd -lstdc++ -lm
+ ;;
+ --includes)
+ echo ${prefix}/include
+ ;;
+ --jtsport)
+ echo 1.13.0
+ ;;
+ *)
+ usage 1 1>&2
+ ;;
+ esac
+ shift
+done
+
diff --git a/ports/libspatialite/geos-config.in b/ports/libspatialite/geos-config.in
new file mode 100644
index 000000000..a2a6d5d17
--- /dev/null
+++ b/ports/libspatialite/geos-config.in
@@ -0,0 +1,75 @@
+#!/bin/sh
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+
+usage()
+{
+ cat <<EOF
+Usage: geos-config [OPTIONS]
+Options:
+ [--prefix]
+ [--version]
+ [--libs]
+ [--clibs]
+ [--cclibs]
+ [--static-clibs]
+ [--static-cclibs]
+ [--cflags]
+ [--ldflags]
+ [--includes]
+ [--jtsport]
+EOF
+ exit $1
+}
+if test $# -eq 0; then
+ usage 1 1>&2
+fi
+while test $# -gt 0; do
+case "$1" in
+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+esac
+case $1 in
+ --prefix)
+ echo ${prefix}
+ ;;
+ --version)
+ echo 3.6.3
+ ;;
+ --cflags)
+ echo -I${prefix}/include
+ ;;
+ --libs)
+ # TODO: make an alias for --clibs
+ # see http://trac.osgeo.org/geos/ticket/497
+ echo -L${libdir} -lgeos
+ ;;
+ --clibs)
+ echo -L${libdir} -lgeos_c
+ ;;
+ --cclibs)
+ echo -L${libdir} -lgeos
+ ;;
+ --static-clibs)
+ echo -L${libdir} -lgeos_c -lgeos -lm
+ ;;
+ --static-cclibs)
+ echo -L${libdir} -lgeos -lm
+ ;;
+ --ldflags)
+ echo -L${libdir} -lgeos_c -lgeos -lstdc++ -lm
+ ;;
+ --includes)
+ echo ${prefix}/include
+ ;;
+ --jtsport)
+ echo 1.13.0
+ ;;
+ *)
+ usage 1 1>&2
+ ;;
+ esac
+ shift
+done
+
diff --git a/ports/libspatialite/portfile.cmake b/ports/libspatialite/portfile.cmake
index b73733ff2..f998d50d1 100644
--- a/ports/libspatialite/portfile.cmake
+++ b/ports/libspatialite/portfile.cmake
@@ -1,114 +1,235 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libspatialite-4.3.0a)
+set(LIBSPATIALITE_VERSION_STR "4.3.0a")
vcpkg_download_distfile(ARCHIVE
- URLS "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-4.3.0a.tar.gz"
- FILENAME "libspatialite-4.3.0a.tar.gz"
+ URLS "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${LIBSPATIALITE_VERSION_STR}.tar.gz"
+ FILENAME "libspatialite-${LIBSPATIALITE_VERSION_STR}.tar.gz"
SHA512 adfd63e8dde0f370b07e4e7bb557647d2bfb5549205b60bdcaaca69ff81298a3d885e7c1ca515ef56dd0aca152ae940df8b5dbcb65bb61ae0a9337499895c3c0
)
-vcpkg_extract_source_archive(${ARCHIVE})
-find_program(NMAKE nmake)
+if (VCPKG_TARGET_IS_WINDOWS)
+ 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
- ${CMAKE_CURRENT_LIST_DIR}/fix-latin-literals.patch
-)
+ vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/fix-makefiles.patch
+ ${CMAKE_CURRENT_LIST_DIR}/fix-sources.patch
+ ${CMAKE_CURRENT_LIST_DIR}/fix-latin-literals.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_cd.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_cd.lib ${CURRENT_INSTALLED_DIR}/debug/lib/libgeosd.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/lzmad.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
-################
-if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- message(STATUS "Building ${TARGET_TRIPLET}-dbg")
+ # 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_cd.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_cd.lib ${CURRENT_INSTALLED_DIR}/debug/lib/libgeosd.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/lzmad.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
+ ################
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ 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()
+ endif()
+
+ ################
+ # Release build
+ ################
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ 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")
+ endif()
- file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" INST_DIR_DBG)
+ 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)
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/spatialite_i.lib ${CURRENT_PACKAGES_DIR}/lib/spatialite.lib)
+ endif()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite.lib)
+ endif()
+ endif()
+
+ message(STATUS "Packaging ${TARGET_TRIPLET} done")
+elseif (VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) # Build in UNIX
+ # Check build system first
+ find_program(MAKE make)
+ if (NOT MAKE)
+ message(FATAL_ERROR "MAKE not found")
+ endif()
+
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ ################
+ # Release build
+ ################
+ vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH_RELEASE
+ ARCHIVE ${ARCHIVE}
+ REF release
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/fix-sources.patch
+ ${CMAKE_CURRENT_LIST_DIR}/fix-latin-literals.patch
+ )
+ message(STATUS "Configuring ${TARGET_TRIPLET}-rel")
+ set(OUT_PATH_RELEASE ${SOURCE_PATH_RELEASE}/../../make-build-${TARGET_TRIPLET}-release)
+ file(REMOVE_RECURSE ${OUT_PATH_RELEASE})
+ file(MAKE_DIRECTORY ${OUT_PATH_RELEASE})
+ set(prefix ${CURRENT_INSTALLED_DIR})
+ set(exec_prefix ${prefix}/bin)
+ set(includedir ${prefix}/include)
+ set(libdir ${prefix}/lib)
+ configure_file(${CMAKE_CURRENT_LIST_DIR}/geos-config.in
+ ${SOURCE_PATH_RELEASE}/geos-config @ONLY)
+ vcpkg_execute_required_process(
+ COMMAND chmod -R 777 ${SOURCE_PATH_RELEASE}/geos-config
+ WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
+ LOGNAME config-${TARGET_TRIPLET}-rel
+ )
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
+ COMMAND "${SOURCE_PATH_RELEASE}/configure" --prefix=${OUT_PATH_RELEASE} "CFLAGS=-I${includedir} ${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_RELEASE}" "LDFLAGS=-L${libdir}" "LIBS=-lpthread -ldl" "--with-geosconfig=${SOURCE_PATH_RELEASE}/geos-config" "LIBXML2_LIBS=-lxml2 -llzma" "LIBXML2_CFLAGS=${includedir}"
+ WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
+ LOGNAME config-${TARGET_TRIPLET}-rel
)
- message(STATUS "Building ${TARGET_TRIPLET}-dbg done")
- vcpkg_copy_pdbs()
-endif()
-
-################
-# Release build
-################
-if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- message(STATUS "Building ${TARGET_TRIPLET}-rel")
- file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR_REL)
+ message(STATUS "Building ${TARGET_TRIPLET}-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
+ COMMAND make
+ WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
+ LOGNAME make-build-${TARGET_TRIPLET}-release
)
- message(STATUS "Building ${TARGET_TRIPLET}-rel done")
-endif()
+ message(STATUS "Installing ${TARGET_TRIPLET}-rel")
+ vcpkg_execute_required_process(
+ COMMAND make install
+ WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
+ LOGNAME make-install-${TARGET_TRIPLET}-release
+ )
-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)
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- file(RENAME ${CURRENT_PACKAGES_DIR}/lib/spatialite_i.lib ${CURRENT_PACKAGES_DIR}/lib/spatialite.lib)
+ set(VERSION ${LIBSPATIALITE_VERSION_STR})
+ configure_file(${SOURCE_PATH_RELEASE}/spatialite.pc.in
+ ${OUT_PATH_RELEASE}/lib/pkgconfig/spatialite.pc @ONLY)
+ file(COPY ${OUT_PATH_RELEASE}/lib DESTINATION ${CURRENT_PACKAGES_DIR})
+ file(COPY ${OUT_PATH_RELEASE}/include DESTINATION ${CURRENT_PACKAGES_DIR})
+ file(INSTALL ${SOURCE_PATH_RELEASE}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libspatialite RENAME copyright)
+ message(STATUS "Installing ${TARGET_TRIPLET}-rel done")
endif()
+
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite.lib)
- endif()
-endif()
+ ################
+ # Debug build
+ ################
+ vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH_DEBUG
+ ARCHIVE ${ARCHIVE}
+ REF debug
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/fix-sources.patch
+ ${CMAKE_CURRENT_LIST_DIR}/fix-latin-literals.patch
+ ${CMAKE_CURRENT_LIST_DIR}/fix-configure-debug.patch
+ )
+ message(STATUS "Configuring ${TARGET_TRIPLET}-dbg")
+ set(OUT_PATH_DEBUG ${SOURCE_PATH_DEBUG}/../../make-build-${TARGET_TRIPLET}-debug)
+ file(REMOVE_RECURSE ${OUT_PATH_DEBUG})
+ file(MAKE_DIRECTORY ${OUT_PATH_DEBUG})
+ set(prefix ${CURRENT_INSTALLED_DIR})
+ set(exec_prefix ${prefix}/debug/bin)
+ set(includedir ${prefix}/include)
+ set(libdir ${prefix}/debug/lib)
+ configure_file(${CMAKE_CURRENT_LIST_DIR}/geos-config-debug.in
+ ${SOURCE_PATH_DEBUG}/geos-config @ONLY)
+ vcpkg_execute_required_process(
+ COMMAND chmod -R 777 ${SOURCE_PATH_DEBUG}/geos-config
+ WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
+ LOGNAME config-${TARGET_TRIPLET}-debug
+ )
+ vcpkg_execute_required_process(
+ COMMAND "${SOURCE_PATH_DEBUG}/configure" --prefix=${OUT_PATH_DEBUG} "CFLAGS=-I${includedir} ${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_DEBUG}" "LDFLAGS=-L${libdir}" "LIBS=-lpthread -ldl" "--with-geosconfig=${SOURCE_PATH_DEBUG}/geos-config" "LIBXML2_LIBS=-lxml2 -llzmad" "LIBXML2_CFLAGS=${includedir}"
+ WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
+ LOGNAME config-${TARGET_TRIPLET}-debug
+ )
-message(STATUS "Packaging ${TARGET_TRIPLET} done")
+ message(STATUS "Building ${TARGET_TRIPLET}-dbg")
+ vcpkg_execute_required_process(
+ COMMAND make
+ WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
+ LOGNAME make-build-${TARGET_TRIPLET}-debug
+ )
+
+ message(STATUS "Installing ${TARGET_TRIPLET}-dbg")
+ vcpkg_execute_required_process(
+ COMMAND make -j install
+ WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
+ LOGNAME make-install-${TARGET_TRIPLET}-debug
+ )
+
+ set(VERSION ${LIBSPATIALITE_VERSION_STR})
+ configure_file(${SOURCE_PATH_DEBUG}/spatialite.pc.in
+ ${OUT_PATH_DEBUG}/lib/pkgconfig/spatialite.pc @ONLY)
+ file(COPY ${OUT_PATH_DEBUG}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug)
+ message(STATUS "Installing ${TARGET_TRIPLET}-dbg done")
+ endif()
+else() # Other build system
+ message(FATAL_ERROR "Unsupport build system.")
+endif() \ No newline at end of file
diff --git a/ports/libsquish/CONTROL b/ports/libsquish/CONTROL
index 1e193d1b1..91b89650b 100644
--- a/ports/libsquish/CONTROL
+++ b/ports/libsquish/CONTROL
@@ -1,3 +1,4 @@
Source: libsquish
-Version: 1.15-1
+Version: 1.15-2
+Homepage: https://sourceforge.net/projects/libsquish
Description: Open source DXT compression library.
diff --git a/ports/libsquish/portfile.cmake b/ports/libsquish/portfile.cmake
index 02fdc4f90..600e89d59 100644
--- a/ports/libsquish/portfile.cmake
+++ b/ports/libsquish/portfile.cmake
@@ -1,15 +1,3 @@
-# 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_download_distfile(ARCHIVE
@@ -37,5 +25,4 @@ vcpkg_install_cmake()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/libsquish)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/libsquish/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/libsquish/copyright)
+file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/libsrtp/CONTROL b/ports/libsrtp/CONTROL
new file mode 100644
index 000000000..9fa7f4860
--- /dev/null
+++ b/ports/libsrtp/CONTROL
@@ -0,0 +1,3 @@
+Source: libsrtp
+Version: 2.2.0
+Description: This package provides an implementation of the Secure Real-time Transport Protocol (SRTP), the Universal Security Transform (UST), and a supporting cryptographic kernel. \ No newline at end of file
diff --git a/ports/libsrtp/portfile.cmake b/ports/libsrtp/portfile.cmake
new file mode 100644
index 000000000..4d6ec0211
--- /dev/null
+++ b/ports/libsrtp/portfile.cmake
@@ -0,0 +1,33 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO cisco/libsrtp
+ REF 56a065555aea2abddaf9fb60353fe59f277837a3
+ SHA512 59afa25df79f875d28eefe95ef89b5956b1d2f319bba38ec34b832c2faa16b5425aae2f6ad19cf478afe02b28f4032b5dcf20a301d647d897d4577f66ca77376
+)
+
+if (VCPKG_TARGET_IS_WINDOWS)
+ set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS /wd4703")
+ set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS /wd4703")
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/srtp2.dll)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/srtp2.dll ${CURRENT_PACKAGES_DIR}/bin/srtp2.dll)
+endif()
+if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/srtp2.dll)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/srtp2.dll ${CURRENT_PACKAGES_DIR}/debug/bin/srtp2.dll)
+endif()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libsrtp RENAME copyright) \ No newline at end of file
diff --git a/ports/libssh2/CONTROL b/ports/libssh2/CONTROL
index b8579332e..e870b0e15 100644
--- a/ports/libssh2/CONTROL
+++ b/ports/libssh2/CONTROL
@@ -1,5 +1,5 @@
Source: libssh2
-Version: 1.8.2
+Version: 1.9.0
Build-Depends: zlib, openssl
Homepage: https://www.libssh2.org
Description: The SSH library
diff --git a/ports/libssh2/portfile.cmake b/ports/libssh2/portfile.cmake
index e8a4e3565..de3cee534 100644
--- a/ports/libssh2/portfile.cmake
+++ b/ports/libssh2/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libssh2/libssh2
- REF libssh2-1.8.2
- SHA512 f676f8c2d1c66cd086ad5a1d328e3eb3a033afd4511577451c5664a4e0c4c1ea006fa1885f332fb2b3842b2eb30456322efdd2abf97c2f148c2be0d53e3e5624
+ REF 42d37aa63129a1b2644bf6495198923534322d64
+ SHA512 e86c0787e2aa7be5e9f19356e543493e53c7d1b51b585c46facfb05f769e6491209f820b207bf594348f4760c492c32dda3fcc94fc0af93cb09c736492a8e231
HEAD_REF master
PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-Fix-UWP.patch"
)
diff --git a/ports/libuv/CONTROL b/ports/libuv/CONTROL
index f50e6fbea..c26eb3d37 100644
--- a/ports/libuv/CONTROL
+++ b/ports/libuv/CONTROL
@@ -1,4 +1,4 @@
Source: libuv
-Version: 1.29.1
+Version: 1.30.1
Homepage: https://github.com/libuv/libuv
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 ba7cdfeb0..63990da95 100644
--- a/ports/libuv/portfile.cmake
+++ b/ports/libuv/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libuv/libuv
- REF d16e6094e1eb3b0b5981ef1dd7e03ec4d466944d
- SHA512 338d25fec26ab69d300141086de825edabc5e65c50b6d9cf0e2f8f1937a930e4ecf4460ba2789cef64a85ad4a63c9b5f2a482ee2498c542f73e5915bbff6170f
+ REF 1551969c84c2f546a429dac169c7fdac3e38115e
+ SHA512 86ad8223c2ec6815e009f5070766e7fc626a6249892a097aafbd45d0ac7c6ef2a38c7db45404ebd5c7648d406172b9236c115a2f1f15eaf735ff60e45bfe9bdd
HEAD_REF v1.x
)
diff --git a/ports/libvpx/CONTROL b/ports/libvpx/CONTROL
index 5aa726c1e..85c40679d 100644
--- a/ports/libvpx/CONTROL
+++ b/ports/libvpx/CONTROL
@@ -1,4 +1,4 @@
Source: libvpx
-Version: 1.7.0-3
+Version: 1.8.1
Homepage: https://github.com/webmproject/libvpx
Description: The reference software implementation for the video coding formats VP8 and VP9.
diff --git a/ports/libvpx/portfile.cmake b/ports/libvpx/portfile.cmake
index 1290d415a..adfb9889c 100644
--- a/ports/libvpx/portfile.cmake
+++ b/ports/libvpx/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-set(LIBVPX_VERSION 1.7.0)
-set(LIBVPX_HASH 8b3b766b550f8d86907628d7ed88035f9a2612aac21542e0fd5ad35b905eb82cbe1be02a1a24afce7a3bcc4766f62611971f72724761996b392136c40a1e7ff0)
+set(LIBVPX_VERSION 1.8.1)
+set(LIBVPX_HASH 615476a929e46befdd4782a39345ce55cd30176ecb2fcd8a875c31694ae2334b395dcab9c5ba58d53ceb572ed0c022d2a3748ca4bbd36092e22b01cf3c9b2e8e)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libvpx-${LIBVPX_VERSION})
@@ -75,16 +75,24 @@ vcpkg_build_msbuild(
PROJECT_PATH "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/vpx.vcxproj"
)
-if(VCPKG_CRT_LINKAGE STREQUAL dynamic)
- file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpxmd.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
- file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpxmdd.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
- file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/lib" RENAME "vpxmd.pdb")
- file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" RENAME "vpxmdd.pdb")
-else()
- file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpxmt.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
- file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpxmtd.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
- file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/lib" RENAME "vpxmt.pdb")
- file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" RENAME "vpxmtd.pdb")
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ if(VCPKG_CRT_LINKAGE STREQUAL "dynamic")
+ file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpxmd.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
+ file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/lib" RENAME "vpxmd.pdb")
+ else()
+ file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpxmt.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
+ file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/lib" RENAME "vpxmt.pdb")
+ endif()
+endif()
+
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ if(VCPKG_CRT_LINKAGE STREQUAL "dynamic")
+ file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpxmdd.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
+ file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" RENAME "vpxmdd.pdb")
+ else()
+ file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpxmtd.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
+ file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" RENAME "vpxmtd.pdb")
+ endif()
endif()
if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm)
diff --git a/ports/libwebp/0006-fix-dependecies-platform.patch b/ports/libwebp/0006-fix-dependecies-platform.patch
new file mode 100644
index 000000000..fdb5ec0b3
--- /dev/null
+++ b/ports/libwebp/0006-fix-dependecies-platform.patch
@@ -0,0 +1,16 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 83edb3a..f634094 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -540,7 +540,10 @@ if(WEBP_BUILD_EXTRAS)
+ find_package(SDL)
+ if(SDL_FOUND)
+ add_executable(vwebp_sdl ${VWEBP_SDL_SRCS})
+- target_link_libraries(vwebp_sdl ${SDL_LIBRARY} imageioutil webp dxguid winmm)
++ target_link_libraries(vwebp_sdl ${SDL_LIBRARY} imageioutil webp)
++ if (MSVC)
++ target_link_libraries(vwebp_sdl dxguid winmm)
++ endif()
+ target_include_directories(vwebp_sdl
+ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
diff --git a/ports/libwebp/CONTROL b/ports/libwebp/CONTROL
index 90dffdc77..02a65e5c0 100644
--- a/ports/libwebp/CONTROL
+++ b/ports/libwebp/CONTROL
@@ -1,5 +1,5 @@
Source: libwebp
-Version: 1.0.2-6
+Version: 1.0.2-7
Homepage: https://github.com/webmproject/libwebp
Description: Lossy compression of digital photographic images.
Build-Depends: opengl
diff --git a/ports/libwebp/portfile.cmake b/ports/libwebp/portfile.cmake
index 11b0b7904..9fb26d532 100644
--- a/ports/libwebp/portfile.cmake
+++ b/ports/libwebp/portfile.cmake
@@ -12,6 +12,7 @@ vcpkg_from_github(
0003-remove-missing-symbol.patch
0004-add-missing-linked-library.patch
0005-fix-static-build.patch
+ 0006-fix-dependecies-platform.patch
)
set(WEBP_BUILD_ANIM_UTILS OFF)
diff --git a/ports/libwebsockets/CONTROL b/ports/libwebsockets/CONTROL
index a180ec420..66a4af024 100644
--- a/ports/libwebsockets/CONTROL
+++ b/ports/libwebsockets/CONTROL
@@ -1,5 +1,5 @@
Source: libwebsockets
-Version: 3.1.0-3
+Version: 3.2.0
Build-Depends: zlib, openssl
Homepage: https://github.com/warmcat/libwebsockets
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/libwebsockets/portfile.cmake b/ports/libwebsockets/portfile.cmake
index 06793dd8e..6f00115eb 100644
--- a/ports/libwebsockets/portfile.cmake
+++ b/ports/libwebsockets/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO warmcat/libwebsockets
- REF v3.1.0
- SHA512 e2a4c1b25bc6f028654a63fc01a2732e6c63414868f8d3d01fa477752fdabe0f61e8d271fe7dd2734db0e15b1250f6b0101285b6d694f971ec4bf67ba7ee067c
+ REF v3.2.0
+ SHA512 afc1c9e259d6d48000b09da111af4129680d50474cdfedbad197ee22260d57a837b67cc6a3f8e6b1aa7ce7dc5d3fd900569783631540501709868125c6d1e4da
HEAD_REF master
)
diff --git a/ports/libxslt/0002-Fix-lzma.patch b/ports/libxslt/0002-Fix-lzma.patch
new file mode 100644
index 000000000..8c0e287ae
--- /dev/null
+++ b/ports/libxslt/0002-Fix-lzma.patch
@@ -0,0 +1,61 @@
+diff --git a/win32/Makefile.msvc b/win32/Makefile.msvc
+index 0d1953d..0e538ef 100644
+--- a/win32/Makefile.msvc
++++ b/win32/Makefile.msvc
+@@ -62,9 +62,9 @@ LDFLAGS = $(LDFLAGS) /LIBPATH:$(BINDIR) /LIBPATH:$(LIBPREFIX)
+ # The libraries are needed for static builds (the makefile builds all tools and dlls)
+ LIBS = wsock32.lib libiconv.lib libcharset.lib
+ !if "$(DEBUG)" == "1"
+-LIBS = $(LIBS) zlibd.lib
++LIBS = $(LIBS) zlibd.lib lzmad.lib
+ !else
+-LIBS = $(LIBS) zlib.lib
++LIBS = $(LIBS) zlib.lib lzma.lib
+ !endif
+
+ # The archiver and its options.
+diff --git a/win32/configure.js b/win32/configure.js
+index 56694cc..24ccc8d 100644
+--- a/win32/configure.js
++++ b/win32/configure.js
+@@ -45,6 +45,7 @@ var withMemDebug = false;
+ var withDebugger = true;
+ var withIconv = true;
+ var withZlib = false;
++var withLzma = true;
+ var withCrypto = true;
+ var withModules = false;
+ /* Win32 build options. */
+@@ -104,6 +105,7 @@ function usage()
+ txt += " debugger: Enable external debugger support (" + (withDebugger? "yes" : "no") + ")\n";
+ txt += " iconv: Use iconv library (" + (withIconv? "yes" : "no") + ")\n";
+ txt += " zlib: Use zlib library (" + (withZlib? "yes" : "no") + ")\n";
++ txt += " lzma: Use lzma library (" + (withLzma? "yes" : "no") + ")\n";
+ txt += " crypto: Enable Crypto support (" + (withCrypto? "yes" : "no") + ")\n";
+ txt += " modules: Enable Module support (" + (withModules? "yes" : "no") + ")\n";
+ txt += "\nWin32 build options, default value given in parentheses:\n\n";
+@@ -190,6 +192,7 @@ function discoverVersion()
+ vf.WriteLine("WITH_DEBUGGER=" + (withDebugger? "1" : "0"));
+ vf.WriteLine("WITH_ICONV=" + (withIconv? "1" : "0"));
+ vf.WriteLine("WITH_ZLIB=" + (withZlib? "1" : "0"));
++ vf.WriteLine("WITH_LZMA=" + (withLzma? "1" : "0"));
+ vf.WriteLine("WITH_CRYPTO=" + (withCrypto? "1" : "0"));
+ vf.WriteLine("WITH_MODULES=" + (withModules? "1" : "0"));
+ vf.WriteLine("DEBUG=" + (buildDebug? "1" : "0"));
+@@ -339,6 +342,8 @@ for (i = 0; (i < WScript.Arguments.length) && (error == 0); i++) {
+ withIconv = strToBool(arg.substring(opt.length + 1, arg.length));
+ else if (opt == "zlib")
+ withZlib = strToBool(arg.substring(opt.length + 1, arg.length));
++ else if (opt == "lzma")
++ withLzma = strToBool(arg.substring(opt.length + 1, arg.length));
+ else if (opt == "crypto")
+ withCrypto = strToBool(arg.substring(opt.length + 1, arg.length));
+ else if (opt == "modules")
+@@ -475,6 +480,7 @@ txtOut += " Memory debugging: " + boolToStr(withMemDebug) + "\n";
+ txtOut += " Debugger support: " + boolToStr(withDebugger) + "\n";
+ txtOut += " Use iconv: " + boolToStr(withIconv) + "\n";
+ txtOut += " With zlib: " + boolToStr(withZlib) + "\n";
++txtOut += " Lzma: " + boolToStr(withLzma) + "\n";
+ txtOut += " Crypto: " + boolToStr(withCrypto) + "\n";
+ txtOut += " Modules: " + boolToStr(withModules) + "\n";
+ txtOut += "\n";
diff --git a/ports/libxslt/CONTROL b/ports/libxslt/CONTROL
index e1de01067..4c02d9154 100644
--- a/ports/libxslt/CONTROL
+++ b/ports/libxslt/CONTROL
@@ -1,5 +1,5 @@
Source: libxslt
-Version: 1.1.33
+Version: 1.1.33-2
Homepage: http://xmlsoft.org/XSLT/
Description: Libxslt is a XSLT library implemented in C for XSLT 1.0 and most of EXSLT
-Build-Depends: libxml2
+Build-Depends: libxml2, liblzma
diff --git a/ports/libxslt/portfile.cmake b/ports/libxslt/portfile.cmake
index a688c374b..6b5851e72 100644
--- a/ports/libxslt/portfile.cmake
+++ b/ports/libxslt/portfile.cmake
@@ -1,11 +1,3 @@
-# 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)
vcpkg_from_github(
@@ -14,8 +6,9 @@ vcpkg_from_github(
REF v1.1.33
SHA512 2c20b2af3c19952b25b10dca0d95fe227602f7f815db352b04dd061c52c458d745f92c597ce08ac9207ba0fbe0169ea2fb78263d8590743717553f84463fe1d9
HEAD_REF master
- PATCHES
- 0001-Fix-makefile.patch
+ PATCHES
+ 0001-Fix-makefile.patch
+ 0002-Fix-lzma.patch
)
find_program(NMAKE nmake)
@@ -167,8 +160,7 @@ else()
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libexslt_a.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libexslt.lib)
endif()
-# Handle copyright
-file(COPY ${SOURCE_PATH}/Copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/libxslt)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/libxslt/Copyright ${CURRENT_PACKAGES_DIR}/share/libxslt/copyright)
+vcpkg_copy_pdbs()
+
+file(INSTALL ${SOURCE_PATH}/Copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
-vcpkg_copy_pdbs() \ No newline at end of file
diff --git a/ports/libyaml/CONTROL b/ports/libyaml/CONTROL
index e38c0f9d0..6dbff7ff3 100644
--- a/ports/libyaml/CONTROL
+++ b/ports/libyaml/CONTROL
@@ -1,3 +1,3 @@
Source: libyaml
-Version: 0.2.2-1
+Version: 0.2.2-2
Description: A C library for parsing and emitting YAML.
diff --git a/ports/libyaml/portfile.cmake b/ports/libyaml/portfile.cmake
index 6c6a6b97b..3d7f12d7e 100644
--- a/ports/libyaml/portfile.cmake
+++ b/ports/libyaml/portfile.cmake
@@ -15,12 +15,14 @@ vcpkg_configure_cmake(
PREFER_NINJA
OPTIONS
-DBUILD_TESTING=OFF
+ -DINSTALL_CMAKE_DIR=share/yaml
)
vcpkg_install_cmake()
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/include/config.h)
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/yaml TARGET_PATH share/yaml)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/include/config.h ${CURRENT_PACKAGES_DIR}/debug/share)
-vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/libyaml/copyright COPYONLY)
diff --git a/ports/libyuv/CONTROL b/ports/libyuv/CONTROL
new file mode 100644
index 000000000..d724a65f4
--- /dev/null
+++ b/ports/libyuv/CONTROL
@@ -0,0 +1,4 @@
+Source: libyuv
+Version: fec9121
+Build-Depends: libjpeg-turbo
+Description: libyuv is an open source project that includes YUV scaling and conversion functionality.
diff --git a/ports/libyuv/fix_cmakelists.patch b/ports/libyuv/fix_cmakelists.patch
new file mode 100644
index 000000000..67c973acd
--- /dev/null
+++ b/ports/libyuv/fix_cmakelists.patch
@@ -0,0 +1,53 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ed4948f0..aee019be 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -2,10 +2,14 @@
+ # Originally created for "roxlu build system" to compile libyuv on windows
+ # Run with -DTEST=ON to build unit tests
+
+-PROJECT ( YUV C CXX ) # "C" is required even for C++ projects
+ CMAKE_MINIMUM_REQUIRED( VERSION 2.8 )
++CMAKE_POLICY( SET CMP0022 NEW )
++
++PROJECT ( YUV C CXX ) # "C" is required even for C++ projects
+ OPTION( TEST "Built unit tests" OFF )
+
++SET( CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON )
++
+ SET ( ly_base_dir ${PROJECT_SOURCE_DIR} )
+ SET ( ly_src_dir ${ly_base_dir}/source )
+ SET ( ly_inc_dir ${ly_base_dir}/include )
+@@ -24,6 +28,8 @@ INCLUDE_DIRECTORIES( BEFORE ${ly_inc_dir} )
+
+ # this creates the static library (.a)
+ ADD_LIBRARY ( ${ly_lib_static} STATIC ${ly_source_files} )
++SET_TARGET_PROPERTIES( ${ly_lib_static} PROPERTIES PUBLIC_HEADER include/libyuv.h )
++
+
+ # this creates the shared library (.so)
+ ADD_LIBRARY ( ${ly_lib_shared} SHARED ${ly_source_files} )
+@@ -38,6 +44,7 @@ TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} )
+ INCLUDE ( FindJPEG )
+ if (JPEG_FOUND)
+ include_directories( ${JPEG_INCLUDE_DIR} )
++ target_link_libraries( ${ly_lib_shared} PUBLIC ${JPEG_LIBRARY} )
+ target_link_libraries( yuvconvert ${JPEG_LIBRARY} )
+ add_definitions( -DHAVE_JPEG )
+ endif()
+@@ -81,10 +88,11 @@ endif()
+
+
+ # install the conversion tool, .so, .a, and all the header files
+-INSTALL ( PROGRAMS ${CMAKE_BINARY_DIR}/yuvconvert DESTINATION bin )
+-INSTALL ( TARGETS ${ly_lib_static} DESTINATION lib )
+-INSTALL ( TARGETS ${ly_lib_shared} LIBRARY DESTINATION lib RUNTIME DESTINATION bin )
+-INSTALL ( DIRECTORY ${PROJECT_SOURCE_DIR}/include/ DESTINATION include )
++INSTALL ( TARGETS yuvconvert DESTINATION bin )
++INSTALL ( TARGETS ${ly_lib_static} EXPORT libyuv-export DESTINATION lib INCLUDES DESTINATION include PUBLIC_HEADER DESTINATION include )
++INSTALL ( TARGETS ${ly_lib_shared} EXPORT libyuv-export LIBRARY DESTINATION lib RUNTIME DESTINATION bin )
++
++INSTALL( EXPORT libyuv-export FILE libyuv-config.cmake DESTINATION share/cmake/libyuv/ EXPORT_LINK_INTERFACE_LIBRARIES )
+
+ # create the .deb and .rpm packages using cpack
+ INCLUDE ( CM_linux_packages.cmake )
diff --git a/ports/libyuv/portfile.cmake b/ports/libyuv/portfile.cmake
new file mode 100644
index 000000000..2016eebd5
--- /dev/null
+++ b/ports/libyuv/portfile.cmake
@@ -0,0 +1,48 @@
+include(vcpkg_common_functions)
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_git(
+ OUT_SOURCE_PATH SOURCE_PATH
+ URL https://chromium.googlesource.com/libyuv/libyuv
+ REF fec9121b676eccd9acea2460aec7d6ae219701b9
+ PATCHES
+ fix_cmakelists.patch
+)
+
+set(POSTFIX d)
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG
+ -DCMAKE_DEBUG_POSTFIX="${POSTFIX}"
+)
+
+vcpkg_install_cmake()
+
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/yuv)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/yuvconvert.exe ${CURRENT_PACKAGES_DIR}/tools/yuv/yuvconvert.exe)
+endif()
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/yuvconvert.exe)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+endif()
+
+set(LIBRARY_TYPE SHARED)
+set(IMPORT_TYPE IMPLIB)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ set(LIBRARY_TYPE STATIC)
+ set(IMPORT_TYPE LOCATION)
+
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/libyuv.dll)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
+ endif()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/libyuvd.dll)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
+ endif()
+endif()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libyuv RENAME copyright)
diff --git a/ports/llgl/CONTROL b/ports/llgl/CONTROL
new file mode 100644
index 000000000..476ccd8c2
--- /dev/null
+++ b/ports/llgl/CONTROL
@@ -0,0 +1,10 @@
+Source: llgl
+Version: 2019-08-15
+Homepage: https://github.com/LukasBanana/LLGL
+Description: Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal.
+
+Feature: opengl
+Description: Support for opengl
+
+Feature: direct3d11
+Description: Support for direct3d11 \ No newline at end of file
diff --git a/ports/llgl/fix-arm64-build-error.patch b/ports/llgl/fix-arm64-build-error.patch
new file mode 100644
index 000000000..d80061c16
--- /dev/null
+++ b/ports/llgl/fix-arm64-build-error.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f440884..f1a9190 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -559,6 +559,8 @@ if(APPLE)
+ endif()
+ elseif(UNIX)
+ target_link_libraries(LLGL X11 pthread Xxf86vm Xrandr)
++elseif(WIN32)
++ target_link_libraries(LLGL gdi32 shell32)
+ endif()
+
+ set_target_properties(LLGL PROPERTIES LINKER_LANGUAGE CXX DEBUG_POSTFIX "D")
diff --git a/ports/llgl/fix-install-error.patch b/ports/llgl/fix-install-error.patch
new file mode 100644
index 000000000..30b9c3040
--- /dev/null
+++ b/ports/llgl/fix-install-error.patch
@@ -0,0 +1,44 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f440884..d1b0c2f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -614,6 +614,12 @@ if(LLGL_BUILD_RENDERER_OPENGL)
+ target_link_libraries(LLGL_OpenGL LLGL ${OPENGL_LIBRARIES})
+
+ ADD_DEFINE(LLGL_BUILD_RENDERER_OPENGL)
++
++ install(TARGETS LLGL_OpenGL
++ RUNTIME DESTINATION bin
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib
++ )
+ else()
+ message("Missing OpenGL -> LLGL_OpenGL renderer will be excluded from project")
+ endif()
+@@ -681,6 +687,12 @@ if(WIN32)
+ target_link_libraries(LLGL_Direct3D11 LLGL d3d11 dxgi D3DCompiler)
+
+ ADD_DEFINE(LLGL_BUILD_RENDERER_DIRECT3D11)
++
++ install(TARGETS LLGL_Direct3D11
++ RUNTIME DESTINATION bin
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib
++ )
+ endif()
+
+ if(LLGL_BUILD_RENDERER_DIRECT3D12)
+@@ -821,4 +833,13 @@ if(LLGL_ENABLE_SPIRV_REFLECT)
+ message("Including Submodule: SPIRV")
+ endif()
+
++# Install targets
++install(TARGETS ${PROJECT_NAME}
++ RUNTIME DESTINATION bin
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib
++)
++# Install headers
++install(DIRECTORY ${PROJECT_INCLUDE_DIR} DESTINATION include)
++
+
diff --git a/ports/llgl/portfile.cmake b/ports/llgl/portfile.cmake
new file mode 100644
index 000000000..c41de8b45
--- /dev/null
+++ b/ports/llgl/portfile.cmake
@@ -0,0 +1,41 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message(FATAL_ERROR "${PORT} currently doesn't supports UWP.")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO LukasBanana/LLGL
+ REF 8f28437960ed60622e94f4f97b24e842b5a0e9e6
+ SHA512 8a6bd4109e977f9def0f04a3d31f7bd4beebbe162c52eaa08a54daf8335871615215ece166e5a9d5b5475b834fd53a26ff9638ff270a2f00c88bab21ed156760
+ HEAD_REF master
+ PATCHES
+ fix-install-error.patch
+ fix-arm64-build-error.patch
+)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ opengl LLGL_BUILD_RENDERER_OPENGL
+ direct3d11 LLGL_BUILD_RENDERER_DIRECT3D11
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS ${FEATURE_OPTIONS}
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+vcpkg_copy_pdbs()
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) \ No newline at end of file
diff --git a/ports/llvm/CONTROL b/ports/llvm/CONTROL
index d7ee8524b..9a49e3cc2 100644
--- a/ports/llvm/CONTROL
+++ b/ports/llvm/CONTROL
@@ -1,5 +1,5 @@
Source: llvm
-Version: 8.0.0
+Version: 8.0.0-1
Homepage: https://llvm.org/
Description: The LLVM Compiler Infrastructure
Build-Depends: atlmfc (windows)
diff --git a/ports/llvm/fix-linux-build.patch b/ports/llvm/fix-linux-build.patch
new file mode 100644
index 000000000..780ea6535
--- /dev/null
+++ b/ports/llvm/fix-linux-build.patch
@@ -0,0 +1,13 @@
+diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake
+index 900c35e..78fd3cd 100644
+--- a/cmake/config-ix.cmake
++++ b/cmake/config-ix.cmake
+@@ -154,7 +154,7 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
+ else()
+ include_directories(${LIBXML2_INCLUDE_DIR})
+ endif()
+- set(LIBXML2_LIBS "xml2")
++ set(LIBXML2_LIBS ${LIBXML2_LIBRARIES})
+ endif()
+ endif()
+ endif()
diff --git a/ports/llvm/portfile.cmake b/ports/llvm/portfile.cmake
index 891e41738..07c9d9ad1 100644
--- a/ports/llvm/portfile.cmake
+++ b/ports/llvm/portfile.cmake
@@ -31,6 +31,7 @@ vcpkg_apply_patches(
PATCHES
install-cmake-modules-to-share.patch
fix-build-error.patch
+ fix-linux-build.patch
)
vcpkg_find_acquire_program(PYTHON3)
diff --git a/ports/log4cpp/CONTROL b/ports/log4cpp/CONTROL
new file mode 100644
index 000000000..9706c1316
--- /dev/null
+++ b/ports/log4cpp/CONTROL
@@ -0,0 +1,5 @@
+Source: log4cpp
+Version: 2.9.1-1
+Homepage: https://github.com/orocos-toolchain/log4cpp
+Description: Log4cpp is library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. It is modeled after the Log4j Java library, staying as close to their API as is reasonable.
+
diff --git a/ports/log4cpp/fix-install-targets.patch b/ports/log4cpp/fix-install-targets.patch
new file mode 100644
index 000000000..49cdedf1d
--- /dev/null
+++ b/ports/log4cpp/fix-install-targets.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8db2287..529c18e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -159,7 +159,7 @@ INSTALL (
+ INSTALL(TARGETS ${LOG4CPP_LIBRARY_NAME}
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+- RUNTIME DESTINATION lib)
++ RUNTIME DESTINATION bin)
+
+ INSTALL(FILES package.xml DESTINATION share/log4cpp)
+
diff --git a/ports/log4cpp/portfile.cmake b/ports/log4cpp/portfile.cmake
new file mode 100644
index 000000000..56688c6f7
--- /dev/null
+++ b/ports/log4cpp/portfile.cmake
@@ -0,0 +1,36 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_CMAKE_SYSTEM_NAME MATCHES "WindowsStore")
+ message(FATAL_ERROR "${PORT} does not currently support UWP.")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO orocos-toolchain/log4cpp
+ REF v2.9.1
+ SHA512 5bd222c820a15c5d96587ac9fe864c3e2dc0fbce8389692be8dd41553ac0308002ad8d6f4ef3ef10af1d796f8ded410788d1a5d22f15505fac639da3f73e3518
+ HEAD_REF master
+ PATCHES
+ fix-install-targets.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/pkgconfig TARGET_PATH share/${PORT})
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+vcpkg_copy_pdbs()
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
diff --git a/ports/luabridge/CONTROL b/ports/luabridge/CONTROL
index 7c2a41aa4..db2ffcedf 100644
--- a/ports/luabridge/CONTROL
+++ b/ports/luabridge/CONTROL
@@ -1,3 +1,3 @@
Source: luabridge
-Version: 2.3.1
+Version: 2.3.2
Description: A lightweight, dependency-free library for binding Lua to C++
diff --git a/ports/luabridge/portfile.cmake b/ports/luabridge/portfile.cmake
index 9b9ccbb42..cc5331fcc 100644
--- a/ports/luabridge/portfile.cmake
+++ b/ports/luabridge/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO vinniefalco/LuaBridge
- REF 2.3.1
- SHA512 6478410ec5863f40087f023a68c585b4c84974aa27dd522552094f6c823bee9820edc77685a9932b5d7d74f26cced4d624810dbfbaa3694f55c0b7803d2d5216
+ REF b6f17446265865e0ba06bea4d8e328eebfa2b9f0
+ SHA512 a422489826ae7047a794948b315f1f9abf8a3201da1d2bf31212a0fd24f47e7a86f17803b1dc678dfc1e0f6724c8e5333bea1a5c7d1e4814e59604cebaa311da
HEAD_REF master
)
diff --git a/ports/lz4/CONTROL b/ports/lz4/CONTROL
index e6e99dd6a..a00b88454 100644
--- a/ports/lz4/CONTROL
+++ b/ports/lz4/CONTROL
@@ -1,5 +1,5 @@
Source: lz4
-Version: 1.9.1-2
+Version: 1.9.2
Homepage: https://github.com/lz4/lz4
Description: Lossless compression algorithm, providing compression speed at 400 MB/s per core.
Build-Depends: xxhash \ No newline at end of file
diff --git a/ports/lz4/portfile.cmake b/ports/lz4/portfile.cmake
index e7f1ee461..3468236bf 100644
--- a/ports/lz4/portfile.cmake
+++ b/ports/lz4/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO lz4/lz4
- REF v1.9.1
- SHA512 536cdeb6dd73b4769cf9501ad312b004ab01699758534b47ca2eddbc815fd374a3caba40cde36f73a7a70e134065836b733e2b0c023c31740b877ef9317ccf3e
+ REF v1.9.2
+ SHA512 ae714c61ec8e33ed91359b63f2896cfa102d66b730dce112b74696ec5850e59d88bd5527173e01e354a70fbe8f036557a47c767ee0766bc5f9c257978116c3c1
HEAD_REF dev
)
diff --git a/ports/lzo/CONTROL b/ports/lzo/CONTROL
index cd1149f61..4dcb48f00 100644
--- a/ports/lzo/CONTROL
+++ b/ports/lzo/CONTROL
@@ -1,4 +1,4 @@
Source: lzo
-Version: 2.10-2
+Version: 2.10-3
Homepage: https://www.oberhumer.com/opensource/lzo/
Description: Lossless data compression library
diff --git a/ports/lzo/portfile.cmake b/ports/lzo/portfile.cmake
index b8faeb358..d2b3c7737 100644
--- a/ports/lzo/portfile.cmake
+++ b/ports/lzo/portfile.cmake
@@ -1,11 +1,3 @@
-# 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)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/lzo-2.10)
vcpkg_download_distfile(ARCHIVE
@@ -47,6 +39,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
file(WRITE ${CURRENT_PACKAGES_DIR}/include/lzo/lzoconf.h "${LZO_CONFIG}")
endif()
-# Handle copyright
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/lzo)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/lzo/COPYING ${CURRENT_PACKAGES_DIR}/share/lzo/copyright)
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/magic-enum/CONTROL b/ports/magic-enum/CONTROL
index 590b8d758..ad6ccddd9 100644
--- a/ports/magic-enum/CONTROL
+++ b/ports/magic-enum/CONTROL
@@ -1,3 +1,3 @@
Source: magic-enum
-Version: 2019-06-07
+Version: 0.6.0
Description: Header-only C++17 library provides static reflection for enums, work with any enum type without any macro or boilerplate code.
diff --git a/ports/magic-enum/portfile.cmake b/ports/magic-enum/portfile.cmake
index 95be6cc27..683f7f354 100644
--- a/ports/magic-enum/portfile.cmake
+++ b/ports/magic-enum/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO "Neargye/magic_enum"
- REF 4dfaa4b7b4814c2cf85b08ad3084fc28c8b129c6
- SHA512 924e5a134f4200652fdc3f3d676b49efa8c30b5577d638f60134ce81092b23f7976a494ce50b58b25ed7bce0653a7e29206acf9e512408c4701ec6822ab2d176
+ REF v0.6.0
+ SHA512 3079155509f0141e9a50b2a773e33e3ebda1a4c1a7d0b78f093e2d0e8a4b78ef108876e63ef986a55c03bb712a494943b7c4c37bcbe08d932035106f4afe3bd2
)
vcpkg_configure_cmake(
diff --git a/ports/magic-get/CONTROL b/ports/magic-get/CONTROL
new file mode 100644
index 000000000..c59f8b85c
--- /dev/null
+++ b/ports/magic-get/CONTROL
@@ -0,0 +1,4 @@
+Source: magic-get
+Version: 2019-09-02
+Homepage: https://github.com/apolukhin/magic_get
+Description: This C++14 library is meant for accessing structure elements by index and providing other std::tuple like methods for user defined types without any macro or boilerplate code. \ No newline at end of file
diff --git a/ports/magic-get/portfile.cmake b/ports/magic-get/portfile.cmake
new file mode 100644
index 000000000..f66b4310c
--- /dev/null
+++ b/ports/magic-get/portfile.cmake
@@ -0,0 +1,21 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO apolukhin/magic_get
+ REF abb467c0e22a83bf75a46a9e6610370fabfc39af #Branch develop, Commits on Sep 2, 2019
+ SHA512 1feb5d105d13a20aec8ab2c748dbd79ecc5d2267c8c0ee7db93a3d0c6b7186ea0c475fdc14712e78502ea839788f6dfb0b359e3fedbec59d331dafe137326fa4
+ HEAD_REF develop
+)
+
+vcpkg_download_distfile(OCV_DOWNLOAD
+ URLS "https://www.boost.org/LICENSE_1_0.txt"
+ FILENAME "boost_license_1_0.txt"
+ SHA512 d6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8
+)
+
+file(COPY ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR})
+
+# Handle copyright
+# On Homepage README.md, License Distributed under the Boost Software License, Version 1.0. https://www.boost.org/LICENSE_1_0.txt
+file(INSTALL ${VCPKG_ROOT_DIR}/downloads/boost_license_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file
diff --git a/ports/magnum/004-khrplatform-include.patch b/ports/magnum/004-khrplatform-include.patch
new file mode 100644
index 000000000..04d21e0ef
--- /dev/null
+++ b/ports/magnum/004-khrplatform-include.patch
@@ -0,0 +1,13 @@
+diff --git a/src/MagnumExternal/OpenGL/GL/flextGL.h b/src/MagnumExternal/OpenGL/GL/flextGL.h
+index 7d36f26e3..69cc8c82f 100644
+--- a/src/MagnumExternal/OpenGL/GL/flextGL.h
++++ b/src/MagnumExternal/OpenGL/GL/flextGL.h
+@@ -118,7 +118,7 @@ void flextGLInit(Magnum::GL::Context& context);
+
+ /* Data types */
+
+-#include <KHR/khrplatform.h>
++#include "MagnumExternal/OpenGL/KHR/khrplatform.h"
+ typedef unsigned int GLenum;
+ typedef unsigned char GLboolean;
+ typedef unsigned int GLbitfield;
diff --git a/ports/magnum/portfile.cmake b/ports/magnum/portfile.cmake
index 9b8d3b424..29d8ea733 100644
--- a/ports/magnum/portfile.cmake
+++ b/ports/magnum/portfile.cmake
@@ -13,6 +13,7 @@ vcpkg_apply_patches(
${CMAKE_CURRENT_LIST_DIR}/001-sdl-includes.patch
${CMAKE_CURRENT_LIST_DIR}/002-tools-path.patch
${CMAKE_CURRENT_LIST_DIR}/003-glfw-find-module.patch
+ ${CMAKE_CURRENT_LIST_DIR}/004-khrplatform-include.patch
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
diff --git a/ports/marl/CONTROL b/ports/marl/CONTROL
new file mode 100644
index 000000000..f3a24fdcd
--- /dev/null
+++ b/ports/marl/CONTROL
@@ -0,0 +1,4 @@
+Source: marl
+Version: 2019-09-13
+Description: A hybrid thread/fiber task scheduler written in C++ 11
+Homepage: https://github.com/google/marl
diff --git a/ports/marl/portfile.cmake b/ports/marl/portfile.cmake
new file mode 100644
index 000000000..225aa93aa
--- /dev/null
+++ b/ports/marl/portfile.cmake
@@ -0,0 +1,34 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_TARGET_IS_UWP)
+ message(FATAL_ERROR "This port doesn't support UWP currently!")
+endif()
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO google/marl
+ REF bf3e23083979c3bd3de1c77346b655eec423b3bc
+ SHA512 8c85b9a2b7e3cb397fc11c4bf32c5f62d4113ab6af92861c93472299f1b9296edef4dd8d1eb24db242fe55b52f33d2e058a4ce91fbaa793ffa4d5f4c8e336251
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DMARL_INSTALL=ON
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
+
+# CMake integration test
+vcpkg_test_cmake(PACKAGE_NAME ${PORT})
diff --git a/ports/mathgl/CONTROL b/ports/mathgl/CONTROL
index 9337e5f2d..5854d5d6d 100644
--- a/ports/mathgl/CONTROL
+++ b/ports/mathgl/CONTROL
@@ -1,5 +1,5 @@
Source: mathgl
-Version: 2.4.3-1
+Version: 2.4.3-2
Description: MathGL is a free library of fast C++ routines for the plotting of the data varied in one or more dimensions
Default-Features: opengl, jpeg, png, zlib
diff --git a/ports/mathgl/fix_cmakelists_and_cpp.patch b/ports/mathgl/fix_cmakelists_and_cpp.patch
new file mode 100644
index 000000000..1e7a253bf
--- /dev/null
+++ b/ports/mathgl/fix_cmakelists_and_cpp.patch
@@ -0,0 +1,87 @@
+diff --git a/mgllab/CMakeLists.txt b/mgllab/CMakeLists.txt
+index 1649104..eeec1c1 100644
+--- a/mgllab/CMakeLists.txt
++++ b/mgllab/CMakeLists.txt
+@@ -38,7 +38,11 @@ if(MGL_HAVE_FLTK)
+ set(mgllab_src ${mgllab_src} mgllab.rc)
+ endif(WIN32)
+ add_executable(mgllab ${mgllab_src} ${mgllab_hdr})
+- target_link_libraries(mgllab mgl mgl-fltk ${FLTK_LIBRARIES})
++ if(WIN32)
++ target_link_libraries(mgllab mgl mgl-fltk mgl-fltk-static mgl-static getopt-static ${FLTK_LIBRARIES})
++ else(WIN32)
++ target_link_libraries(mgllab mgl mgl-fltk ${FLTK_LIBRARIES})
++ endif(WIN32)
+ install(
+ TARGETS mgllab
+ RUNTIME DESTINATION bin )
+diff --git a/mgllab/table.cpp b/mgllab/table.cpp
+index 5243549..23eebe5 100644
+--- a/mgllab/table.cpp
++++ b/mgllab/table.cpp
+@@ -559,8 +559,13 @@ public:
+ o->tooltip(_("Change data values and close this window"));
+ w->set_modal(); w->end();
+ }
+- double min() { return wmin->value(); }
+- double max() { return wmax->value(); }
++ #if WIN32
++ double _min() { return wmin->value(); }
++ double _max() { return wmax->value(); }
++ #else
++ double min() { return wmin->value(); }
++ double max() { return wmax->value(); }
++ #endif
+ int sym() { return wsym->value(); }
+ bool ok() { return !result.empty(); }
+ void cb_ok()
+@@ -581,8 +586,14 @@ void fill_cb(Fl_Widget*, void*v)
+ HMDT d = dynamic_cast<HMDT>(e->var);
+ HADT c = dynamic_cast<HADT>(e->var);
+ char ch = nrm_dlg.result[0];
+- if(d) { d->Fill(nrm_dlg.min(),nrm_dlg.max(),ch); e->refresh(); }
+- if(c) { c->Fill(nrm_dlg.min(),nrm_dlg.max(),ch); e->refresh(); }
++ #if WIN32
++ if(d) { d->Fill(nrm_dlg._min(),nrm_dlg._max(),ch); e->refresh(); }
++ if(c) { c->Fill(nrm_dlg._min(),nrm_dlg._max(),ch); e->refresh(); }
++ #else
++ if(d) { d->Fill(nrm_dlg.min(),nrm_dlg.max(),ch); e->refresh(); }
++ if(c) { c->Fill(nrm_dlg.min(),nrm_dlg.max(),ch); e->refresh(); }
++ #endif
++
+ }
+ }
+ //-----------------------------------------------------------------------------
+@@ -594,8 +605,13 @@ void normal_cb(Fl_Widget*, void*v)
+ {
+ HMDT d = dynamic_cast<HMDT>(e->var);
+ HADT c = dynamic_cast<HADT>(e->var);
+- if(d) { d->Norm(nrm_dlg.min(),nrm_dlg.max(),nrm_dlg.sym()); e->refresh(); }
+- if(c) { c->Fill(nrm_dlg.min(),nrm_dlg.max(),nrm_dlg.sym()); e->refresh(); }
++ #if WIN32
++ if(d) { d->Norm(nrm_dlg._min(),nrm_dlg._max(),nrm_dlg.sym()); e->refresh(); }
++ if(c) { c->Fill(nrm_dlg._min(),nrm_dlg._max(),nrm_dlg.sym()); e->refresh(); }
++ #else
++ if(d) { d->Norm(nrm_dlg.min(),nrm_dlg.max(),nrm_dlg.sym()); e->refresh(); }
++ if(c) { c->Fill(nrm_dlg.min(),nrm_dlg.max(),nrm_dlg.sym()); e->refresh(); }
++ #endif
+ }
+ }
+ //-----------------------------------------------------------------------------
+diff --git a/utils/mglview.cpp b/utils/mglview.cpp
+index d360df3..15eeb3e 100644
+--- a/utils/mglview.cpp
++++ b/utils/mglview.cpp
+@@ -29,6 +29,12 @@
+ #include "mgl2/qt.h"
+ #endif
+ //-----------------------------------------------------------------------------
++#if WIN32
++ MGL_EXPORT void (*mgl_ask_func)(const wchar_t *, wchar_t *)=0;
++ MGL_EXPORT void (*mgl_progress_func)(int value, int maximal, HMGL)=0;
++ MGL_EXPORT std::string mglGlobalMess;
++#endif
++//-----------------------------------------------------------------------------
+ std::wstring str, opt;
+ std::vector<std::string> anim;
+ mglParse p(true);
diff --git a/ports/mathgl/portfile.cmake b/ports/mathgl/portfile.cmake
index d17707c64..4e4aff5dc 100644
--- a/ports/mathgl/portfile.cmake
+++ b/ports/mathgl/portfile.cmake
@@ -13,6 +13,7 @@ vcpkg_extract_source_archive_ex(
REF ${MATHGL_VERSION}
PATCHES
type_fix.patch
+ fix_cmakelists_and_cpp.patch
)
set(enable-hdf5 OFF)
@@ -107,11 +108,20 @@ else()
set(EXECUTABLE_SUFFIX "")
endif()
+file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mgllab${EXECUTABLE_SUFFIX})
+file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mglview${EXECUTABLE_SUFFIX})
file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mglconv${EXECUTABLE_SUFFIX})
file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mgltask${EXECUTABLE_SUFFIX})
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/mathgl/)
file(RENAME ${CURRENT_PACKAGES_DIR}/bin/mglconv${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/mathgl/mglconv${EXECUTABLE_SUFFIX})
file(RENAME ${CURRENT_PACKAGES_DIR}/bin/mgltask${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/mathgl/mgltask${EXECUTABLE_SUFFIX})
+if (EXISTS ${CURRENT_PACKAGES_DIR}/bin/mgllab${EXECUTABLE_SUFFIX})
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/mgllab${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/mathgl/mgllab${EXECUTABLE_SUFFIX})
+endif()
+if (EXISTS ${CURRENT_PACKAGES_DIR}/bin/mglview${EXECUTABLE_SUFFIX})
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/mglview${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/mathgl/mglview${EXECUTABLE_SUFFIX})
+endif()
+
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/mathgl)
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
diff --git a/ports/matio/CONTROL b/ports/matio/CONTROL
index 6877c2972..5e433e2df 100644
--- a/ports/matio/CONTROL
+++ b/ports/matio/CONTROL
@@ -1,5 +1,5 @@
Source: matio
-Version: 1.5.15
+Version: 1.5.16
Homepage: https://github.com/tbeu/matio
Description: MATLAB MAT File I/O Library
Build-Depends: zlib, hdf5
diff --git a/ports/matio/portfile.cmake b/ports/matio/portfile.cmake
index 859bfdea6..b173ddcc6 100644
--- a/ports/matio/portfile.cmake
+++ b/ports/matio/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO tbeu/matio
- REF v1.5.15
- SHA512 5e80aef3e929ff306810861ba14bc82bdd9cb3090de60dbd6905cfa35706d8cbe6c40471e8abf41e5d0836c10083c359449d34bdf32c6b2022a73986e8303eb3
+ REF fabac6cf3ab36dbb82bff747aa99016d7759ccc3
+ SHA512 5aa77bced72e23b69692e28ff181f8a08ade25e356cf1ca327cf61c8a3f8f4a468e907090deae104ecff28f997806a8605168b034121f1d8c0a125b750911e83
HEAD_REF master
)
diff --git a/ports/mecab/CMakeLists.txt b/ports/mecab/CMakeLists.txt
new file mode 100644
index 000000000..06768b148
--- /dev/null
+++ b/ports/mecab/CMakeLists.txt
@@ -0,0 +1,47 @@
+cmake_minimum_required(VERSION 3.12 FATAL_ERROR)
+
+PROJECT(Mecab)
+
+file(GLOB SOURCE_FILE
+ "*.cpp"
+ "*.c"
+)
+file(GLOB HEADERS_FILE
+ "*.h"
+)
+
+message(STATUS "current cmake path: ${CMAKE_CURRENT_SOURCE_DIR}")
+list(REMOVE_ITEM SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/mecab-cost-train.cpp)
+list(REMOVE_ITEM SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/mecab-dict-gen.cpp)
+list(REMOVE_ITEM SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/mecab-dict-index.cpp)
+list(REMOVE_ITEM SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/mecab-system-eval.cpp)
+list(REMOVE_ITEM SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/mecab-test-gen.cpp)
+#list(REMOVE_ITEM SOURCE_FILE "mecab-cost-train.cpp" "mecab-dict-gen.cpp" "mecab-dict-index.cpp" "mecab-system-eval.cpp" "mecab-test-gen.cpp")
+
+add_library (Mecab ${SOURCE_FILE} ${HEADERS_FILE})
+
+if(UNIX)
+ target_compile_definitions(Mecab PUBLIC -DHAVE_UNISTD_H -DHAVE_FCNTL_H -DHAVE_STDINT_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_STAT_H -DHAVE_DIRENT_H -DDIC_VERSION=102 -DVERSION="@VERSION@" -DPACKAGE="mecab" -DMECAB_DEFAULT_RC="./mecabrc")
+endif(UNIX)
+if(WIN32)
+ target_compile_definitions(Mecab PUBLIC -D_CRT_SECURE_NO_DEPRECATE -DMECAB_USE_THREAD -DDLL_EXPORT -DHAVE_GETENV -DHAVE_WINDOWS_H -DDIC_VERSION=102 -DVERSION="@VERSION@" -DPACKAGE="mecab" -DUNICODE -D_UNICODE -DMECAB_DEFAULT_RC="mecabrc")
+endif(WIN32)
+
+install(TARGETS Mecab
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+)
+include(CMakePackageConfigHelpers)
+set(cmake_package_name Mecab)
+set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated" CACHE INTERNAL "")
+set(cmake_files_install_dir "${CMAKE_INSTALL_LIBDIR}/cmake/${cmake_package_name}")
+set(config_file "${generated_dir}/${cmake_package_name}Config.cmake")
+configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in"
+"${config_file}" INSTALL_DESTINATION ${cmake_files_install_dir})
+#install(FILES ${config_file} DESTINATION ${cmake_files_install_dir} CONFIGURATIONS Release)
+install(FILES ${config_file} DESTINATION share/mecab CONFIGURATIONS Release)
+message(STATUS "ccmake_files_install_dir: ${cmake_files_install_dir}")
+
+install(FILES ${HEADERS_FILE} DESTINATION include CONFIGURATIONS Release)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) \ No newline at end of file
diff --git a/ports/mecab/CONTROL b/ports/mecab/CONTROL
new file mode 100644
index 000000000..894d9f1fa
--- /dev/null
+++ b/ports/mecab/CONTROL
@@ -0,0 +1,3 @@
+Source: mecab
+Version:0.996
+Description: A morphological analysis engine based on CRF
diff --git a/ports/mecab/Config.cmake.in b/ports/mecab/Config.cmake.in
new file mode 100644
index 000000000..a18cb7d4b
--- /dev/null
+++ b/ports/mecab/Config.cmake.in
@@ -0,0 +1 @@
+@PACKAGE_INIT@
diff --git a/ports/mecab/fix_wpath_unsigned.patch b/ports/mecab/fix_wpath_unsigned.patch
new file mode 100644
index 000000000..d8dcf1509
--- /dev/null
+++ b/ports/mecab/fix_wpath_unsigned.patch
@@ -0,0 +1,40 @@
+diff --git a/mecab/src/common.h b/mecab/src/common.h
+index d1fc459..2951d5a 100644
+--- a/mecab/src/common.h
++++ b/mecab/src/common.h
+@@ -86,7 +86,8 @@
+ #define WPATH_FORCE(path) (MeCab::Utf8ToWide(path).c_str())
+ #define WPATH(path) (path)
+ #else
+-#define WPATH(path) WPATH_FORCE(path)
++#define WPATH_FORCE(path) (MeCab::Utf8ToWide(path).c_str())
++#define WPATH(path) (path)
+ #endif
+ #else
+ #define WPATH_FORCE(path) (path)
+diff --git a/mecab/src/feature_index.cpp b/mecab/src/feature_index.cpp
+index 051bdf8..fdd0145 100644
+--- a/mecab/src/feature_index.cpp
++++ b/mecab/src/feature_index.cpp
+@@ -353,7 +353,7 @@ bool FeatureIndex::buildUnigramFeature(LearnerPath *path,
+ if (!r) goto NEXT;
+ os_ << r;
+ } break;
+- case 't': os_ << (size_t)path->rnode->char_type; break;
++ case 't': os_ << (int)(size_t)path->rnode->char_type; break;
+ case 'u': os_ << ufeature; break;
+ case 'w':
+ if (path->rnode->stat == MECAB_NOR_NODE) {
+diff --git a/mecab/src/writer.cpp b/mecab/src/writer.cpp
+index 0ef6975..f068fa3 100644
+--- a/mecab/src/writer.cpp
++++ b/mecab/src/writer.cpp
+@@ -257,7 +257,7 @@ bool Writer::writeNode(Lattice *lattice,
+ // input sentence
+ case 'S': os->write(lattice->sentence(), lattice->size()); break;
+ // sentence length
+- case 'L': *os << lattice->size(); break;
++ case 'L': *os << (int)lattice->size(); break;
+ // morph
+ case 'm': os->write(node->surface, node->length); break;
+ case 'M': os->write(reinterpret_cast<const char *>
diff --git a/ports/mecab/portfile.cmake b/ports/mecab/portfile.cmake
new file mode 100644
index 000000000..6383b2d91
--- /dev/null
+++ b/ports/mecab/portfile.cmake
@@ -0,0 +1,35 @@
+if (VCPKG_TARGET_TRIPLET STREQUAL "x64-uwp" OR VCPKG_TARGET_TRIPLET STREQUAL "arm64-windows" OR VCPKG_TARGET_TRIPLET STREQUAL "arm-uwp")
+ message(FATAL_ERROR "mecab does not support on this platform")
+endif()
+
+include(vcpkg_common_functions)
+
+set(MECAB_VERSION 0.996)
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO taku910/mecab
+ REF master
+ SHA512 2a7f1d159ddca846357b5bcab2d2b5de2e6a27dca4301cdd1cc52c155c352f9c7030b77d1187afe9c0a7f1b131a1acdcc40ee81ce7ba5c0fa6b2325c56676353
+ HEAD_REF master
+ PATCHES
+ fix_wpath_unsigned.patch
+)
+
+message(STATUS "source path is : ${SOURCE_PATH}")
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/mecab/src)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in DESTINATION ${SOURCE_PATH}/mecab/src)
+file(COPY ${SOURCE_PATH}/mecab/COPYING DESTINATION ${SOURCE_PATH}/mecab/src)
+
+message(STATUS "CURRENT_PACKAGES_DIR is : ${CURRENT_PACKAGES_DIR}")
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}/mecab/src
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+file(COPY ${SOURCE_PATH}/mecab/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/mecab)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/mecab/COPYING ${CURRENT_PACKAGES_DIR}/share/mecab/copyright)
+
+# Post-build test for cmake libraries
+# vcpkg_test_cmake(PACKAGE_NAME mecab)
diff --git a/ports/minifb/CONTROL b/ports/minifb/CONTROL
new file mode 100644
index 000000000..cff3a97c0
--- /dev/null
+++ b/ports/minifb/CONTROL
@@ -0,0 +1,4 @@
+Source: minifb
+Version: 2019-08-20-1
+Homepage: https://github.com/emoon/minifb
+Description: MiniFB (Mini FrameBuffer) is a small cross platform library that makes it easy to render (32-bit) pixels in a window.
diff --git a/ports/minifb/fix-arm-build-error.patch b/ports/minifb/fix-arm-build-error.patch
new file mode 100644
index 000000000..66579d449
--- /dev/null
+++ b/ports/minifb/fix-arm-build-error.patch
@@ -0,0 +1,40 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 06ba472..0f5874c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -54,6 +54,27 @@ add_library(minifb STATIC
+ ${SrcLib}
+ )
+
++if (WIN32)
++add_executable(noise
++ tests/noise.c
++)
++target_link_libraries(noise minifb Gdi32.lib)
++
++add_executable(input_events
++ tests/input_events.c
++)
++target_link_libraries(input_events minifb Gdi32.lib)
++
++add_executable(input_events_cpp
++ tests/input_events_cpp.cpp
++)
++target_link_libraries(input_events_cpp minifb Gdi32.lib)
++
++add_executable(multiple_windows
++ tests/multiple_windows.c
++)
++target_link_libraries(multiple_windows minifb Gdi32.lib)
++else()
+ add_executable(noise
+ tests/noise.c
+ )
+@@ -73,6 +94,7 @@ add_executable(multiple_windows
+ tests/multiple_windows.c
+ )
+ target_link_libraries(multiple_windows minifb)
++endif()
+
+ if (MSVC)
+ elseif (MINGW)
diff --git a/ports/minifb/fix-build-error.patch b/ports/minifb/fix-build-error.patch
new file mode 100644
index 000000000..e1a4c0775
--- /dev/null
+++ b/ports/minifb/fix-build-error.patch
@@ -0,0 +1,25 @@
+diff --git a/src/windows/WinMiniFB.c b/src/windows/WinMiniFB.c
+index 84ed0cb..b33f252 100644
+--- a/src/windows/WinMiniFB.c
++++ b/src/windows/WinMiniFB.c
+@@ -19,7 +19,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+ {
+ LRESULT res = 0;
+
+- SWindowData *window_data = (SWindowData *) GetWindowLongPtr(hWnd, GWL_USERDATA);
++ SWindowData *window_data = (SWindowData *) GetWindowLongPtr(hWnd, GWLP_USERDATA);
+ SWindowData_Win *window_data_win = 0x0;
+ if(window_data != 0x0) {
+ window_data_win = (SWindowData_Win *) window_data->specific;
+diff --git a/tests/multiple_windows.c b/tests/multiple_windows.c
+index 4b301c0..29276be 100644
+--- a/tests/multiple_windows.c
++++ b/tests/multiple_windows.c
+@@ -1,6 +1,7 @@
+ #include <MiniFB.h>
+ #include <stdio.h>
+ #include <stdint.h>
++#define _USE_MATH_DEFINES
+ #include <math.h>
+
+ #define kUnused(var) (void) var;
diff --git a/ports/minifb/fix-install-error.patch b/ports/minifb/fix-install-error.patch
new file mode 100644
index 000000000..64f5af046
--- /dev/null
+++ b/ports/minifb/fix-install-error.patch
@@ -0,0 +1,54 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 06ba472..6dc7988 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -17,6 +17,12 @@ file(GLOB SrcMacOSX "src/macosx/*.c"
+ file(GLOB SrcWayland "src/wayland/*.c")
+ file(GLOB SrcX11 "src/x11/*.c")
+
++file(GLOB HEADERS "include/*.h")
++file(GLOB HeaderWindows "src/windows/*.h")
++file(GLOB HeaderMacOSX "src/macosx/*.h")
++file(GLOB HeaderWayland "src/wayland/*.h")
++file(GLOB HeaderX11 "src/x11/*.h")
++
+ if (NOT MSVC)
+ set (CMAKE_C_FLAGS "-g -Wall -Wextra -pedantic -Wno-switch -Wno-unused-function")
+ set (CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -std=c++11")
+@@ -34,19 +40,24 @@ if (MSVC)
+ add_definitions(-D_CRT_SECURE_NO_WARNINGS)
+ add_definitions(-D_WIN32_WINNT=0x0600)
+ list (APPEND SrcLib ${SrcWindows})
++ list (APPEND HEADERS ${HeaderWindows})
+ elseif (MINGW)
+ add_definitions(-D_WIN32_WINNT=0x0600)
+ list(APPEND SrcLib ${SrcWindows})
++ list (APPEND HEADERS ${HeaderWindows})
+ elseif (APPLE)
+ if(USE_METAL_API)
+ add_definitions(-DUSE_METAL_API)
+ endif()
+ list(APPEND SrcLib ${SrcMacOSX})
++ list (APPEND HEADERS ${HeaderMacOSX})
+ elseif (UNIX)
+ if(USE_WAYLAND_API)
+ list(APPEND SrcLib ${SrcWayland})
++ list (APPEND HEADERS ${HeaderWayland})
+ else()
+ list(APPEND SrcLib ${SrcX11})
++ list (APPEND HEADERS ${HeaderX11})
+ endif()
+ endif()
+
+@@ -112,3 +123,11 @@ elseif (UNIX)
+ target_link_libraries(multiple_windows -lX11)
+ endif()
+ endif()
++
++install(TARGETS minifb
++ RUNTIME DESTINATION bin
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib
++ )
++
++install(FILES ${HEADERS} DESTINATION include)
diff --git a/ports/minifb/portfile.cmake b/ports/minifb/portfile.cmake
new file mode 100644
index 000000000..d4ea8c676
--- /dev/null
+++ b/ports/minifb/portfile.cmake
@@ -0,0 +1,32 @@
+include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message(FATAL_ERROR "${PORT} currently doesn't supports UWP.")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO emoon/minifb
+ REF 25a440f8226f12b8014d24288ad0587724005afc
+ SHA512 e54d86e43193d22263003a9539b11cc61cfd4a1b7093c982165cdd6e6f150b431a44e7d4dc8512b62b9853a7605e29cee19f85b8d25a34b3b530f9aa41a2f4a9
+ HEAD_REF master
+ PATCHES
+ fix-install-error.patch
+ fix-build-error.patch
+ fix-arm-build-error.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) \ No newline at end of file
diff --git a/ports/mongo-c-driver/CONTROL b/ports/mongo-c-driver/CONTROL
index eb52dacc8..ad9f9438f 100644
--- a/ports/mongo-c-driver/CONTROL
+++ b/ports/mongo-c-driver/CONTROL
@@ -1,5 +1,5 @@
Source: mongo-c-driver
-Version: 1.14.0-3-1
+Version: 1.14.0-4
Build-Depends: libbson, openssl (!windows), zlib
Description: Client library written in C for MongoDB.
Homepage: https://github.com/mongodb/mongo-c-driver
diff --git a/ports/mongo-c-driver/portfile.cmake b/ports/mongo-c-driver/portfile.cmake
index 9106fecb9..800bf971c 100644
--- a/ports/mongo-c-driver/portfile.cmake
+++ b/ports/mongo-c-driver/portfile.cmake
@@ -20,7 +20,7 @@ else()
set(ENABLE_STATIC OFF)
endif()
-if(NOT VCPKG_CMAKE_SYSTEM_NAME)
+if(VCPKG_TARGET_IS_WINDOWS)
set(ENABLE_SSL "WINDOWS")
else()
set(ENABLE_SSL "OPENSSL")
@@ -62,8 +62,8 @@ file(RENAME ${CURRENT_PACKAGES_DIR}/temp ${CURRENT_PACKAGES_DIR}/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- file(RENAME
+ if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_TARGET_IS_UWP)
+ file(RENAME
${CURRENT_PACKAGES_DIR}/lib/libmongoc-static-1.0.a
${CURRENT_PACKAGES_DIR}/lib/libmongoc-1.0.a)
file(RENAME
@@ -119,6 +119,11 @@ string(REPLACE [[PACKAGE_PREFIX_DIR]] [[_IMPORT_PREFIX]] LIBMONGOC_CONFIG_CMAKE
string(REPLACE "/include/libmongoc-1.0" "/include" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}")
string(REPLACE "mongoc-static-1.0" "mongoc-1.0" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}")
+#Something similar is probably required for windows too!
+string(REPLACE "/lib/libssl.a" "\$<\$<CONFIG:DEBUG>:/debug>/lib/libssl.a" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}")
+string(REPLACE "/lib/libcrypto.a" "\$<\$<CONFIG:DEBUG>:/debug>/lib/libcrypto.a" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}")
+string(REPLACE "/lib/libz.a" "\$<\$<CONFIG:DEBUG>:/debug>/lib/libz.a" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}")
+
file(WRITE ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/libmongoc-${PORT_POSTFIX}-config.cmake "${LIBMONGOC_CONFIG_CMAKE}")
file(COPY ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/libmongoc-${PORT_POSTFIX}-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmongoc-${PORT_POSTFIX})
file(COPY ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/libmongoc-${PORT_POSTFIX}-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmongoc-${PORT_POSTFIX})
diff --git a/ports/moos-ui/CONTROL b/ports/moos-ui/CONTROL
index 08279ce15..8894e8b09 100644
--- a/ports/moos-ui/CONTROL
+++ b/ports/moos-ui/CONTROL
@@ -1,7 +1,5 @@
Source: moos-ui
-Version: 10.0.1-1
+Version: 10.0.1-2
Description: set of user interface tools to use and leverage the MOOS project.
Homepage: https://sites.google.com/site/moossoftware/
Build-Depends: moos-core
-
-
diff --git a/ports/moos-ui/portfile.cmake b/ports/moos-ui/portfile.cmake
index 3f4b880e2..55cbebb7f 100644
--- a/ports/moos-ui/portfile.cmake
+++ b/ports/moos-ui/portfile.cmake
@@ -19,19 +19,16 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/MOOS)
-if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/uPoke")
- file(RENAME ${CURRENT_PACKAGES_DIR}/bin/uPoke ${CURRENT_PACKAGES_DIR}/tools/MOOS/uPoke)
- file(RENAME ${CURRENT_PACKAGES_DIR}/bin/iRemoteLite ${CURRENT_PACKAGES_DIR}/tools/MOOS/iRemoteLite)
+if (VCPKG_TARGET_IS_WINDOWS)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/uPoke.exe ${CURRENT_PACKAGES_DIR}/tools/MOOS/uPoke.exe)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/iRemoteLite.exe ${CURRENT_PACKAGES_DIR}/tools/MOOS/iRemoteLite.exe)
+else()
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/uPoke ${CURRENT_PACKAGES_DIR}/tools/MOOS/uPoke)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/iRemoteLite ${CURRENT_PACKAGES_DIR}/tools/MOOS/iRemoteLite)
endif()
+vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/MOOS)
-# file(RENAME ${CURRENT_PACKAGES_DIR}/bin/uMS ${CURRENT_PACKAGES_DIR}/tools/uMS)
-# file(RENAME ${CURRENT_PACKAGES_DIR}/bin/uPlayback ${CURRENT_PACKAGES_DIR}/tools/uPlayback)
-# file(RENAME ${CURRENT_PACKAGES_DIR}/bin/pShare ${CURRENT_PACKAGES_DIR}/tools/pShare)
-#endif()
-
-if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug)
-endif()
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug)
file(WRITE ${CURRENT_PACKAGES_DIR}/include/fake_header_ui.h "// fake header to pass vcpkg post install check \n")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright "see moos-core for copyright\n" )
diff --git a/ports/mosquitto/CONTROL b/ports/mosquitto/CONTROL
index 1a72c19fc..78df68fa1 100644
--- a/ports/mosquitto/CONTROL
+++ b/ports/mosquitto/CONTROL
@@ -1,5 +1,5 @@
Source: mosquitto
-Version: 1.6.2-2
+Version: 1.6.3
Build-Depends: c-ares, libwebsockets, openssl, pthreads
Description: Mosquitto is an open source message broker that implements the MQ Telemetry Transport protocol versions 3.1 and 3.1.1.
MQTT provides a lightweight method of carrying out messaging using a publish/subscribe model. This makes it suitable for "machine to machine" messaging such as with low power sensors or mobile devices such as phones, embedded computers or microcontrollers like the Arduino.
diff --git a/ports/mosquitto/portfile.cmake b/ports/mosquitto/portfile.cmake
index 901e80fd7..44f4d2390 100644
--- a/ports/mosquitto/portfile.cmake
+++ b/ports/mosquitto/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO eclipse/mosquitto
- REF f825d4bb5e9f4fc5dc62ad09f895c87800d0f579
- SHA512 cd94236d5673f7e5a992d1e866afe2ccb496dfb7cc24e53808caed603bc8e899ca12857a16eac58ac7ab7235a849b6e2528c55e0debf651ef76dcebef75e7df9
+ REF be73f792008904c5edcba9a2c17dcb23620edb09
+ SHA512 b6fffffc5363c6242487619d920b34f68389dd0a18313733266e0723773af9b92a481bf6fabe6e9ca82e30ea08895822d9cfbf33c2309c1f213c951983e6d129
HEAD_REF master
PATCHES
archive-dest.patch
diff --git a/ports/mp3lame/00001-msvc-upgrade-solution-up-to-vc11.patch b/ports/mp3lame/00001-msvc-upgrade-solution-up-to-vc11.patch
new file mode 100644
index 000000000..07778093b
--- /dev/null
+++ b/ports/mp3lame/00001-msvc-upgrade-solution-up-to-vc11.patch
@@ -0,0 +1,1018 @@
+diff --git a/vc_solution/arch_nasm.props b/vc_solution/arch_nasm.props
+new file mode 100644
+index 0000000..13174c9
+--- /dev/null
++++ b/vc_solution/arch_nasm.props
+@@ -0,0 +1,15 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ImportGroup Label="PropertySheets">
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion>
++ </PropertyGroup>
++ <ItemDefinitionGroup>
++ <ClCompile>
++ <PreprocessorDefinitions>TAKEHIRO_IEEE754_HACK;HAVE_NASM;MMX_choose_table;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ </ItemDefinitionGroup>
++ <ItemGroup />
++</Project>
+\ No newline at end of file
+diff --git a/vc_solution/arch_sse2.props b/vc_solution/arch_sse2.props
+new file mode 100644
+index 0000000..1f97d57
+--- /dev/null
++++ b/vc_solution/arch_sse2.props
+@@ -0,0 +1,17 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ImportGroup Label="PropertySheets">
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion>
++ </PropertyGroup>
++ <ItemDefinitionGroup>
++ <ClCompile>
++ <PreprocessorDefinitions>HAVE_XMMINTRIN_H;MIN_ARCH_SSE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
++ <FloatingPointModel>Fast</FloatingPointModel>
++ </ClCompile>
++ </ItemDefinitionGroup>
++ <ItemGroup />
++</Project>
+\ No newline at end of file
+diff --git a/vc_solution/arch_x87.props b/vc_solution/arch_x87.props
+new file mode 100644
+index 0000000..3268c6b
+--- /dev/null
++++ b/vc_solution/arch_x87.props
+@@ -0,0 +1,15 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ImportGroup Label="PropertySheets">
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion>
++ </PropertyGroup>
++ <ItemDefinitionGroup>
++ <ClCompile>
++ <PreprocessorDefinitions>TAKEHIRO_IEEE754_HACK;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ </ItemDefinitionGroup>
++ <ItemGroup />
++</Project>
+\ No newline at end of file
+diff --git a/vc_solution/vc11_lame.sln b/vc_solution/vc11_lame.sln
+new file mode 100644
+index 0000000..9453bb0
+--- /dev/null
++++ b/vc_solution/vc11_lame.sln
+@@ -0,0 +1,41 @@
++
++Microsoft Visual Studio Solution File, Format Version 12.00
++# Visual Studio 2012
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lame", "vc11_lame_lame.vcxproj", "{EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}"
++ ProjectSection(ProjectDependencies) = postProject
++ {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2} = {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}
++ EndProjectSection
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmp3lame-static", "vc11_libmp3lame.vcxproj", "{20536101-3B0E-43EF-94F9-080D595DAC57}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmp3lame", "vc11_libmp3lame_dll.vcxproj", "{92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmpghip-static", "vc11_mpglib.vcxproj", "{E2DAB91A-8248-4625-8A85-2C2C2A390DD8}"
++EndProject
++Global
++ GlobalSection(SolutionConfigurationPlatforms) = preSolution
++ Debug|Win32 = Debug|Win32
++ Release|Win32 = Release|Win32
++ EndGlobalSection
++ GlobalSection(ProjectConfigurationPlatforms) = postSolution
++ {EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}.Debug|Win32.ActiveCfg = Debug|Win32
++ {EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}.Debug|Win32.Build.0 = Debug|Win32
++ {EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}.Release|Win32.ActiveCfg = Release|Win32
++ {EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}.Release|Win32.Build.0 = Release|Win32
++ {20536101-3B0E-43EF-94F9-080D595DAC57}.Debug|Win32.ActiveCfg = Debug|Win32
++ {20536101-3B0E-43EF-94F9-080D595DAC57}.Debug|Win32.Build.0 = Debug|Win32
++ {20536101-3B0E-43EF-94F9-080D595DAC57}.Release|Win32.ActiveCfg = Release|Win32
++ {20536101-3B0E-43EF-94F9-080D595DAC57}.Release|Win32.Build.0 = Release|Win32
++ {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}.Debug|Win32.ActiveCfg = Debug|Win32
++ {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}.Debug|Win32.Build.0 = Debug|Win32
++ {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}.Release|Win32.ActiveCfg = Release|Win32
++ {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}.Release|Win32.Build.0 = Release|Win32
++ {E2DAB91A-8248-4625-8A85-2C2C2A390DD8}.Debug|Win32.ActiveCfg = Debug|Win32
++ {E2DAB91A-8248-4625-8A85-2C2C2A390DD8}.Debug|Win32.Build.0 = Debug|Win32
++ {E2DAB91A-8248-4625-8A85-2C2C2A390DD8}.Release|Win32.ActiveCfg = Release|Win32
++ {E2DAB91A-8248-4625-8A85-2C2C2A390DD8}.Release|Win32.Build.0 = Release|Win32
++ EndGlobalSection
++ GlobalSection(SolutionProperties) = preSolution
++ HideSolutionNode = FALSE
++ EndGlobalSection
++EndGlobal
+diff --git a/vc_solution/vc11_lame_config.props b/vc_solution/vc11_lame_config.props
+new file mode 100644
+index 0000000..fd60017
+--- /dev/null
++++ b/vc_solution/vc11_lame_config.props
+@@ -0,0 +1,32 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ImportGroup Label="PropertySheets">
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion>
++ <OutDir>$(SolutionDir)..\output\$(Configuration)\</OutDir>
++ <IntDir>$(SolutionDir)..\obj\$(Configuration)\$(ProjectName)\</IntDir>
++ <LinkIncremental>false</LinkIncremental>
++ </PropertyGroup>
++ <ItemDefinitionGroup>
++ <Bscmake>
++ <OutputFile>$(IntDir)$(ProjectName).bsc</OutputFile>
++ </Bscmake>
++ <ClCompile>
++ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
++ <BrowseInformation>true</BrowseInformation>
++ <WarningLevel>Level4</WarningLevel>
++ <DisableSpecificWarnings>4995;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
++ </ClCompile>
++ <Link>
++ <AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
++ <ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
++ <OptimizeReferences>true</OptimizeReferences>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup />
++</Project>
+\ No newline at end of file
+diff --git a/vc_solution/vc11_lame_lame.vcxproj b/vc_solution/vc11_lame_lame.vcxproj
+new file mode 100644
+index 0000000..faf101a
+--- /dev/null
++++ b/vc_solution/vc11_lame_lame.vcxproj
+@@ -0,0 +1,128 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectName>lame</ProjectName>
++ <ProjectGuid>{EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}</ProjectGuid>
++ <RootNamespace>lame</RootNamespace>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <PlatformToolset>v110</PlatformToolset>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <PlatformToolset>v110</PlatformToolset>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="vc11_lame_config.props" />
++ <Import Project="arch_x87.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="vc11_lame_config.props" />
++ <Import Project="arch_x87.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion>
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <Midl>
++ <TypeLibraryName>..\output\Debug/lame.tlb</TypeLibraryName>
++ <HeaderFileName />
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>../;../mpglib;../libmp3lame;../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_DEBUG;WIN32;_WIN32;_CONSOLE;_WINDOWS;HAVE_MPGLIB;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>_DEBUG;_APP=$(TargetFileName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)lame.exe</OutputFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <SubSystem>Console</SubSystem>
++ <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
++ <AdditionalOptions>/APPCONTAINER /machine:x86 %(AdditionalOptions)</AdditionalOptions>
++ <TargetMachine>NotSet</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <Midl>
++ <TypeLibraryName>..\output\Release/lame.tlb</TypeLibraryName>
++ <HeaderFileName />
++ </Midl>
++ <ClCompile>
++ <Optimization>Full</Optimization>
++ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
++ <IntrinsicFunctions>true</IntrinsicFunctions>
++ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
++ <AdditionalIncludeDirectories>..;../mpglib;../libmp3lame;../include;../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>NDEBUG;WIN32;_WIN32;_CONSOLE;_WINDOWS;HAVE_MPGLIB;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;_APP=$(TargetFileName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)lame.exe</OutputFile>
++ <SubSystem>Console</SubSystem>
++ <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
++ <AdditionalOptions>/APPCONTAINER /machine:x86 %(AdditionalOptions)</AdditionalOptions>
++ <TargetMachine>NotSet</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\frontend\brhist.c" />
++ <ClCompile Include="..\frontend\console.c" />
++ <ClCompile Include="..\frontend\get_audio.c" />
++ <ClCompile Include="..\frontend\lame_main.c" />
++ <ClCompile Include="..\frontend\lametime.c" />
++ <ClCompile Include="..\frontend\main.c" />
++ <ClCompile Include="..\frontend\parse.c" />
++ <ClCompile Include="..\frontend\timestatus.c" />
++ </ItemGroup>
++ <ItemGroup>
++ <ClInclude Include="..\frontend\brhist.h" />
++ <ClInclude Include="..\frontend\console.h" />
++ <ClInclude Include="..\frontend\get_audio.h" />
++ <ClInclude Include="..\frontend\lametime.h" />
++ <ClInclude Include="..\frontend\main.h" />
++ <ClInclude Include="..\frontend\parse.h" />
++ <ClInclude Include="..\frontend\timestatus.h" />
++ </ItemGroup>
++ <ItemGroup>
++ <ResourceCompile Include="..\libmp3lame\lame.rc" />
++ </ItemGroup>
++ <ItemGroup>
++ <ProjectReference Include="vc11_libmp3lame.vcxproj">
++ <Project>{20536101-3b0e-43ef-94f9-080d595dac57}</Project>
++ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
++ </ProjectReference>
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff --git a/vc_solution/vc11_libmp3lame.vcxproj b/vc_solution/vc11_libmp3lame.vcxproj
+new file mode 100644
+index 0000000..d4636b0
+--- /dev/null
++++ b/vc_solution/vc11_libmp3lame.vcxproj
+@@ -0,0 +1,188 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectName>libmp3lame-static</ProjectName>
++ <ProjectGuid>{20536101-3B0E-43EF-94F9-080D595DAC57}</ProjectGuid>
++ <RootNamespace>libmp3lame</RootNamespace>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <PlatformToolset>v110</PlatformToolset>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <PlatformToolset>v110</PlatformToolset>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ <Import Project="vc11_nasm.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="vc11_lame_config.props" />
++ <Import Project="arch_x87.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="vc11_lame_config.props" />
++ <Import Project="arch_x87.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion>
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <ClCompile>
++ <Optimization>Full</Optimization>
++ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
++ <IntrinsicFunctions>true</IntrinsicFunctions>
++ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
++ <AdditionalIncludeDirectories>../mpglib;../include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>NDEBUG;_WINDOWS;HAVE_MPGLIB;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ </ClCompile>
++ <ResourceCompile>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Lib>
++ <OutputFile>$(OutDir)libmp3lame-static.lib</OutputFile>
++ </Lib>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>../mpglib;../include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_DEBUG;_WINDOWS;HAVE_MPGLIB;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
++ <DebugInformationFormat>OldStyle</DebugInformationFormat>
++ </ClCompile>
++ <ResourceCompile>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Lib>
++ <OutputFile>$(OutDir)libmp3lame-static.lib</OutputFile>
++ </Lib>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\libmp3lame\bitstream.c" />
++ <ClCompile Include="..\libmp3lame\encoder.c" />
++ <ClCompile Include="..\libmp3lame\fft.c" />
++ <ClCompile Include="..\libmp3lame\gain_analysis.c" />
++ <ClCompile Include="..\libmp3lame\id3tag.c" />
++ <ClCompile Include="..\libmp3lame\lame.c" />
++ <ClCompile Include="..\libmp3lame\mpglib_interface.c" />
++ <ClCompile Include="..\libmp3lame\newmdct.c" />
++ <ClCompile Include="..\libmp3lame\presets.c" />
++ <ClCompile Include="..\libmp3lame\psymodel.c" />
++ <ClCompile Include="..\libmp3lame\quantize.c" />
++ <ClCompile Include="..\libmp3lame\quantize_pvt.c" />
++ <ClCompile Include="..\libmp3lame\reservoir.c" />
++ <ClCompile Include="..\libmp3lame\set_get.c" />
++ <ClCompile Include="..\libmp3lame\tables.c">
++ <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Level1</WarningLevel>
++ <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Level1</WarningLevel>
++ </ClCompile>
++ <ClCompile Include="..\libmp3lame\takehiro.c" />
++ <ClCompile Include="..\libmp3lame\util.c" />
++ <ClCompile Include="..\libmp3lame\vbrquantize.c" />
++ <ClCompile Include="..\libmp3lame\VbrTag.c" />
++ <ClCompile Include="..\libmp3lame\version.c" />
++ <ClCompile Include="..\libmp3lame\vector\xmm_quantize_sub.c">
++ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../libmp3lame;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../libmp3lame;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ClCompile>
++ </ItemGroup>
++ <ItemGroup>
++ <ClInclude Include="..\libmp3lame\bitstream.h" />
++ <CustomBuild Include="..\configMS.h">
++ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Performing Custom Build Step on %(Filename)</Message>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy ..\configMS.h ..\config.h
++</Command>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\config.h;%(Outputs)</Outputs>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Performing Custom Build Step on %(Filename)</Message>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy ..\configMS.h ..\config.h
++</Command>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\config.h;%(Outputs)</Outputs>
++ </CustomBuild>
++ <ClInclude Include="..\libmp3lame\encoder.h" />
++ <ClInclude Include="..\libmp3lame\fft.h" />
++ <ClInclude Include="..\libmp3lame\gain_analysis.h" />
++ <ClInclude Include="..\libmp3lame\id3tag.h" />
++ <ClInclude Include="..\libmp3lame\l3side.h" />
++ <ClInclude Include="..\libmp3lame\lame-analysis.h" />
++ <ClInclude Include="..\libmp3lame\lame_global_flags.h" />
++ <ClInclude Include="..\libmp3lame\vector\lame_intrin.h" />
++ <ClInclude Include="..\libmp3lame\lameerror.h" />
++ <ClInclude Include="..\libmp3lame\machine.h" />
++ <ClInclude Include="..\libmp3lame\newmdct.h" />
++ <ClInclude Include="..\libmp3lame\psymodel.h" />
++ <ClInclude Include="..\libmp3lame\quantize.h" />
++ <ClInclude Include="..\libmp3lame\quantize_pvt.h" />
++ <ClInclude Include="..\libmp3lame\reservoir.h" />
++ <ClInclude Include="..\libmp3lame\set_get.h" />
++ <ClInclude Include="..\libmp3lame\tables.h" />
++ <ClInclude Include="..\libmp3lame\util.h" />
++ <ClInclude Include="..\libmp3lame\vbrquantize.h" />
++ <ClInclude Include="..\libmp3lame\VbrTag.h" />
++ <ClInclude Include="..\libmp3lame\version.h" />
++ <ClInclude Include="..\include\lame.h" />
++ </ItemGroup>
++ <ItemGroup>
++ <NASM Include="..\libmp3lame\i386\choose_table.nas">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ </NASM>
++ <NASM Include="..\libmp3lame\i386\cpu_feat.nas">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ </NASM>
++ <NASM Include="..\libmp3lame\i386\fft.nas">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ </NASM>
++ <NASM Include="..\libmp3lame\i386\fft3dn.nas">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ </NASM>
++ <NASM Include="..\libmp3lame\i386\fftfpu.nas">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ </NASM>
++ <NASM Include="..\libmp3lame\i386\fftsse.nas">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ </NASM>
++ <NASM Include="..\libmp3lame\i386\ffttbl.nas">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ </NASM>
++ <NASM Include="..\libmp3lame\i386\scalar.nas">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ </NASM>
++ </ItemGroup>
++ <ItemGroup>
++ <ProjectReference Include="vc11_mpglib.vcxproj">
++ <Project>{e2dab91a-8248-4625-8a85-2c2c2a390dd8}</Project>
++ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
++ </ProjectReference>
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ <Import Project="vc11_nasm.targets" />
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff --git a/vc_solution/vc11_libmp3lame_dll.vcxproj b/vc_solution/vc11_libmp3lame_dll.vcxproj
+new file mode 100644
+index 0000000..9dad9d5
+--- /dev/null
++++ b/vc_solution/vc11_libmp3lame_dll.vcxproj
+@@ -0,0 +1,125 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectName>libmp3lame</ProjectName>
++ <ProjectGuid>{92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}</ProjectGuid>
++ <RootNamespace>libmp3lameDLL</RootNamespace>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <PlatformToolset>v110</PlatformToolset>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <PlatformToolset>v110</PlatformToolset>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ <Import Project="vc11_nasm.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="vc11_lame_config.props" />
++ <Import Project="arch_x87.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="vc11_lame_config.props" />
++ <Import Project="arch_x87.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion>
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <Midl>
++ <TypeLibraryName>..\output\Release/libmp3lame_dll.tlb</TypeLibraryName>
++ <HeaderFileName />
++ </Midl>
++ <ClCompile>
++ <Optimization>Full</Optimization>
++ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
++ <IntrinsicFunctions>true</IntrinsicFunctions>
++ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
++ <AdditionalIncludeDirectories>../libmp3lame;../;../mpglib;../include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>NDEBUG;_WINDOWS;HAVE_MPGLIB;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>_VC80_UPGRADE=0x0600;_DLL=$(TargetFileName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <ProjectReference>
++ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
++ </ProjectReference>
++ <Link>
++ <OutputFile>$(OutDir)libmp3lame.dll</OutputFile>
++ <ModuleDefinitionFile>..\include\lame.def</ModuleDefinitionFile>
++ <ImportLibrary>$(OutDir)libmp3lame.lib</ImportLibrary>
++ <AdditionalOptions>/APPCONTAINER /machine:x86 %(AdditionalOptions)</AdditionalOptions>
++ <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
++ <TargetMachine>NotSet</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <Midl>
++ <TypeLibraryName>..\output\Debug/libmp3lame_dll.tlb</TypeLibraryName>
++ <HeaderFileName />
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>../libmp3lame;../;../mpglib;../include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_DEBUG;_WINDOWS;HAVE_MPGLIB;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>_VC80_UPGRADE=0x0600;_DLL=$(TargetFileName);_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <ProjectReference>
++ <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
++ </ProjectReference>
++ <Link>
++ <OutputFile>$(OutDir)libmp3lame.dll</OutputFile>
++ <ModuleDefinitionFile>..\include\lame.def</ModuleDefinitionFile>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <ImportLibrary>$(OutDir)libmp3lame.lib</ImportLibrary>
++ <AdditionalOptions>/APPCONTAINER /machine:x86 %(AdditionalOptions)</AdditionalOptions>
++ <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
++ <TargetMachine>NotSet</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <CustomBuild Include="..\include\lame.def">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ </CustomBuild>
++ </ItemGroup>
++ <ItemGroup>
++ <ResourceCompile Include="..\libmp3lame\lame.rc" />
++ </ItemGroup>
++ <ItemGroup>
++ <ProjectReference Include="vc11_libmp3lame.vcxproj">
++ <Project>{20536101-3b0e-43ef-94f9-080d595dac57}</Project>
++ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
++ </ProjectReference>
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ <Import Project="vc11_nasm.targets" />
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff --git a/vc_solution/vc11_mpglib.vcxproj b/vc_solution/vc11_mpglib.vcxproj
+new file mode 100644
+index 0000000..a455bca
+--- /dev/null
++++ b/vc_solution/vc11_mpglib.vcxproj
+@@ -0,0 +1,116 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectName>libmpghip-static</ProjectName>
++ <ProjectGuid>{E2DAB91A-8248-4625-8A85-2C2C2A390DD8}</ProjectGuid>
++ <RootNamespace>libmpghip</RootNamespace>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <PlatformToolset>v110</PlatformToolset>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <PlatformToolset>v110</PlatformToolset>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="vc11_lame_config.props" />
++ <Import Project="arch_x87.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="vc11_lame_config.props" />
++ <Import Project="arch_x87.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion>
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <ClCompile>
++ <Optimization>Full</Optimization>
++ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
++ <IntrinsicFunctions>true</IntrinsicFunctions>
++ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
++ <AdditionalIncludeDirectories>../libmp3lame;../include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>NDEBUG;HAVE_MPGLIB;_WINDOWS;USE_LAYER_2;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ </ClCompile>
++ <ResourceCompile>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Lib>
++ <OutputFile>$(OutDir)libmpghip-static.lib</OutputFile>
++ </Lib>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>../libmp3lame;../include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_DEBUG;_WINDOWS;USE_LAYER_2;HAVE_MPGLIB;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
++ <DebugInformationFormat>OldStyle</DebugInformationFormat>
++ </ClCompile>
++ <ResourceCompile>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Lib>
++ <OutputFile>$(OutDir)libmpghip-static.lib</OutputFile>
++ </Lib>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\mpglib\common.c" />
++ <ClCompile Include="..\mpglib\dct64_i386.c" />
++ <ClCompile Include="..\mpglib\decode_i386.c" />
++ <ClCompile Include="..\mpglib\interface.c" />
++ <ClCompile Include="..\mpglib\layer1.c" />
++ <ClCompile Include="..\mpglib\layer2.c" />
++ <ClCompile Include="..\mpglib\layer3.c" />
++ <ClCompile Include="..\mpglib\tabinit.c" />
++ </ItemGroup>
++ <ItemGroup>
++ <ClInclude Include="..\mpglib\common.h" />
++ <CustomBuild Include="..\configMS.h">
++ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Performing Custom Build Step on %(Filename)</Message>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy ..\configMS.h ..\config.h
++</Command>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\config.h;%(Outputs)</Outputs>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Performing Custom Build Step on %(Filename)</Message>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy ..\configMS.h ..\config.h
++</Command>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\config.h;%(Outputs)</Outputs>
++ </CustomBuild>
++ <ClInclude Include="..\mpglib\dct64_i386.h" />
++ <ClInclude Include="..\mpglib\decode_i386.h" />
++ <ClInclude Include="..\mpglib\huffman.h" />
++ <ClInclude Include="..\mpglib\interface.h" />
++ <ClInclude Include="..\mpglib\l2tables.h" />
++ <ClInclude Include="..\mpglib\layer1.h" />
++ <ClInclude Include="..\mpglib\layer2.h" />
++ <ClInclude Include="..\mpglib\layer3.h" />
++ <ClInclude Include="..\mpglib\mpg123.h" />
++ <ClInclude Include="..\mpglib\mpglib.h" />
++ <ClInclude Include="..\mpglib\tabinit.h" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff --git a/vc_solution/vc11_nasm.props b/vc_solution/vc11_nasm.props
+new file mode 100644
+index 0000000..0f8542f
+--- /dev/null
++++ b/vc_solution/vc11_nasm.props
+@@ -0,0 +1,24 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <PropertyGroup
++ Condition="'$(NASMBeforeTargets)' == '' and '$(NASMAfterTargets)' == '' and '$(ConfigurationType)' != 'Makefile'">
++ <NASMBeforeTargets>Midl</NASMBeforeTargets>
++ <NASMAfterTargets>CustomBuild</NASMAfterTargets>
++ </PropertyGroup>
++ <PropertyGroup>
++ <NASMDependsOn
++ Condition="'$(ConfigurationType)' != 'Makefile'">_SelectedFiles;$(NASMDependsOn)</NASMDependsOn>
++ </PropertyGroup>
++ <ItemDefinitionGroup>
++ <NASM>
++ <OutFile>$(IntDir)%(Filename).obj</OutFile>
++ <BinFormat>win32</BinFormat>
++ <IncludeDir>%(RootDir)%(Directory)</IncludeDir>
++ <Defines>WIN32</Defines>
++ <CommandLineTemplate>nasmw [BinFormat] [IncludeDir] [Defines] -o [OutFile] %(FullPath)</CommandLineTemplate>
++ <Outputs>[OutFile]</Outputs>
++ <ExecutionDescription>Assembling %(Filename)...</ExecutionDescription>
++ <ShowOnlyRuleProperties>false</ShowOnlyRuleProperties>
++ </NASM>
++ </ItemDefinitionGroup>
++</Project>
+\ No newline at end of file
+diff --git a/vc_solution/vc11_nasm.targets b/vc_solution/vc11_nasm.targets
+new file mode 100644
+index 0000000..3158d8d
+--- /dev/null
++++ b/vc_solution/vc11_nasm.targets
+@@ -0,0 +1,85 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup>
++ <PropertyPageSchema
++ Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" />
++ <AvailableItemName
++ Include="NASM">
++ <Targets>_NASM</Targets>
++ </AvailableItemName>
++ </ItemGroup>
++ <UsingTask
++ TaskName="NASM"
++ TaskFactory="XamlTaskFactory"
++ AssemblyName="Microsoft.Build.Tasks.v4.0">
++ <Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task>
++ </UsingTask>
++ <Target
++ Name="_NASM"
++ BeforeTargets="$(NASMBeforeTargets)"
++ AfterTargets="$(NASMAfterTargets)"
++ Condition="'@(NASM)' != ''"
++ DependsOnTargets="$(NASMDependsOn);ComputeNASMOutput"
++ Outputs="@(NASM-&gt;Metadata('Outputs')-&gt;Distinct())"
++ Inputs="@(NASM);%(NASM.AdditionalDependencies);$(MSBuildProjectFile)">
++ <ItemGroup
++ Condition="'@(SelectedFiles)' != ''">
++ <NASM
++ Remove="@(NASM)"
++ Condition="'%(Identity)' != '@(SelectedFiles)'" />
++ </ItemGroup>
++ <ItemGroup>
++ <NASM_tlog
++ Include="%(NASM.Outputs)"
++ Condition="'%(NASM.Outputs)' != '' and '%(NASM.ExcludedFromBuild)' != 'true'">
++ <Source>@(NASM, '|')</Source>
++ </NASM_tlog>
++ </ItemGroup>
++ <Message
++ Importance="High"
++ Text="%(NASM.ExecutionDescription)" />
++ <WriteLinesToFile
++ Condition="'@(NASM_tlog)' != '' and '%(NASM_tlog.ExcludedFromBuild)' != 'true'"
++ File="$(TLogLocation)$(ProjectName).write.1.tlog"
++ Lines="^%(NASM_tlog.Source);@(NASM_tlog-&gt;'%(Fullpath)')" />
++ <NASM
++ Condition="'@(NASM)' != '' and '%(NASM.ExcludedFromBuild)' != 'true'"
++ CommandLineTemplate="%(NASM.CommandLineTemplate)"
++ OutFile="%(NASM.OutFile)"
++ BinFormat="%(NASM.BinFormat)"
++ IncludeDir="%(NASM.IncludeDir)"
++ Defines="%(NASM.Defines)"
++ AdditionalOptions="%(NASM.AdditionalOptions)"
++ Inputs="@(NASM)" />
++ </Target>
++ <PropertyGroup>
++ <ComputeLinkInputsTargets>
++ $(ComputeLinkInputsTargets);
++ ComputeNASMOutput;
++ </ComputeLinkInputsTargets>
++ <ComputeLibInputsTargets>
++ $(ComputeLibInputsTargets);
++ ComputeNASMOutput;
++ </ComputeLibInputsTargets>
++ </PropertyGroup>
++ <Target
++ Name="ComputeNASMOutput"
++ Condition="'@(NASM)' != ''">
++ <ItemGroup>
++ <NASMDirsToMake
++ Condition="'@(NASM)' != '' and '%(NASM.ExcludedFromBuild)' != 'true'"
++ Include="%(NASM.Outputs)" />
++ <Link
++ Include="%(NASMDirsToMake.Identity)"
++ Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
++ <Lib
++ Include="%(NASMDirsToMake.Identity)"
++ Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
++ <ImpLib
++ Include="%(NASMDirsToMake.Identity)"
++ Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" />
++ </ItemGroup>
++ <MakeDir
++ Directories="@(NASMDirsToMake-&gt;'%(RootDir)%(Directory)')" />
++ </Target>
++</Project>
+\ No newline at end of file
+diff --git a/vc_solution/vc11_nasm.xml b/vc_solution/vc11_nasm.xml
+new file mode 100644
+index 0000000..390d570
+--- /dev/null
++++ b/vc_solution/vc11_nasm.xml
+@@ -0,0 +1,149 @@
++<?xml version="1.0" encoding="utf-8"?>
++<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:transformCallback="Microsoft.Cpp.Dev10.ConvertPropertyCallback">
++ <Rule
++ Name="NASM"
++ PageTemplate="tool"
++ DisplayName="NASM"
++ Order="200">
++ <Rule.DataSource>
++ <DataSource
++ Persistence="ProjectFile"
++ ItemType="NASM" />
++ </Rule.DataSource>
++ <Rule.Categories>
++ <Category
++ Name="General">
++ <Category.DisplayName>
++ <sys:String>General</sys:String>
++ </Category.DisplayName>
++ </Category>
++ <Category
++ Name="Command Line"
++ Subtype="CommandLine">
++ <Category.DisplayName>
++ <sys:String>Command Line</sys:String>
++ </Category.DisplayName>
++ </Category>
++ </Rule.Categories>
++ <StringListProperty
++ Name="Inputs"
++ Category="Command Line"
++ IsRequired="true"
++ Switch=" ">
++ <StringListProperty.DataSource>
++ <DataSource
++ Persistence="ProjectFile"
++ ItemType="NASM"
++ SourceType="Item" />
++ </StringListProperty.DataSource>
++ </StringListProperty>
++ <StringProperty
++ Name="OutFile"
++ HelpContext="0"
++ DisplayName="output file path"
++ Switch="[value]" />
++ <StringProperty
++ Name="BinFormat"
++ HelpContext="0"
++ DisplayName="Binary format"
++ Switch="-f [value]" />
++ <StringListProperty
++ Name="IncludeDir"
++ HelpContext="0"
++ DisplayName="Additional include directories"
++ Separator=";"
++ Switch="-i [value]" />
++ <StringListProperty
++ Name="Defines"
++ HelpContext="0"
++ DisplayName="Defines"
++ Separator=" ;,"
++ Switch="-D[value]" />
++ <StringProperty
++ Name="CommandLineTemplate"
++ DisplayName="Command Line"
++ Visible="False"
++ IncludeInCommandLine="False" />
++ <DynamicEnumProperty
++ Name="NASMBeforeTargets"
++ Category="General"
++ EnumProvider="Targets"
++ IncludeInCommandLine="False">
++ <DynamicEnumProperty.DisplayName>
++ <sys:String>Execute Before</sys:String>
++ </DynamicEnumProperty.DisplayName>
++ <DynamicEnumProperty.Description>
++ <sys:String>Specifies the targets for the build customization to run before.</sys:String>
++ </DynamicEnumProperty.Description>
++ <DynamicEnumProperty.ProviderSettings>
++ <NameValuePair
++ Name="Exclude"
++ Value="^NASMBeforeTargets|^Compute" />
++ </DynamicEnumProperty.ProviderSettings>
++ <DynamicEnumProperty.DataSource>
++ <DataSource
++ Persistence="ProjectFile"
++ HasConfigurationCondition="true" />
++ </DynamicEnumProperty.DataSource>
++ </DynamicEnumProperty>
++ <DynamicEnumProperty
++ Name="NASMAfterTargets"
++ Category="General"
++ EnumProvider="Targets"
++ IncludeInCommandLine="False">
++ <DynamicEnumProperty.DisplayName>
++ <sys:String>Execute After</sys:String>
++ </DynamicEnumProperty.DisplayName>
++ <DynamicEnumProperty.Description>
++ <sys:String>Specifies the targets for the build customization to run after.</sys:String>
++ </DynamicEnumProperty.Description>
++ <DynamicEnumProperty.ProviderSettings>
++ <NameValuePair
++ Name="Exclude"
++ Value="^NASMAfterTargets|^Compute" />
++ </DynamicEnumProperty.ProviderSettings>
++ <DynamicEnumProperty.DataSource>
++ <DataSource
++ Persistence="ProjectFile"
++ ItemType=""
++ HasConfigurationCondition="true" />
++ </DynamicEnumProperty.DataSource>
++ </DynamicEnumProperty>
++ <StringListProperty
++ Name="Outputs"
++ DisplayName="Outputs"
++ Visible="False"
++ IncludeInCommandLine="False" />
++ <StringProperty
++ Name="ExecutionDescription"
++ DisplayName="Execution Description"
++ Visible="False"
++ IncludeInCommandLine="False" />
++ <StringListProperty
++ Name="AdditionalDependencies"
++ DisplayName="Additional Dependencies"
++ IncludeInCommandLine="False"
++ Visible="true" />
++ <StringProperty
++ Subtype="AdditionalOptions"
++ Name="AdditionalOptions"
++ Category="Command Line">
++ <StringProperty.DisplayName>
++ <sys:String>Additional Options</sys:String>
++ </StringProperty.DisplayName>
++ <StringProperty.Description>
++ <sys:String>Additional Options</sys:String>
++ </StringProperty.Description>
++ </StringProperty>
++ </Rule>
++ <ItemType
++ Name="NASM"
++ DisplayName="NASM" />
++ <FileExtension
++ Name="*.nas"
++ ContentType="NASM" />
++ <ContentType
++ Name="NASM"
++ DisplayName="NASM"
++ ItemType="NASM" />
++</ProjectSchemaDefinitions>
+\ No newline at end of file
diff --git a/ports/mp3lame/CONTROL b/ports/mp3lame/CONTROL
new file mode 100644
index 000000000..1702751d9
--- /dev/null
+++ b/ports/mp3lame/CONTROL
@@ -0,0 +1,4 @@
+Source: mp3lame
+Version: 3.100
+Homepage: http://lame.sourceforge.net/
+Description: LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.
diff --git a/ports/mp3lame/Config.cmake.in b/ports/mp3lame/Config.cmake.in
new file mode 100644
index 000000000..9630b9ea1
--- /dev/null
+++ b/ports/mp3lame/Config.cmake.in
@@ -0,0 +1,60 @@
+
+get_filename_component(_mp3lame_root "${CMAKE_CURRENT_LIST_FILE}" PATH)
+get_filename_component(_mp3lame_root "${_mp3lame_root}" PATH)
+get_filename_component(_mp3lame_root "${_mp3lame_root}" PATH)
+
+set(_mp3lame_rel_lib "${_mp3lame_root}/lib/@MP3LAME_LIB@")
+set(_mp3lame_dbg_lib "${_mp3lame_root}/debug/lib/@MP3LAME_LIB@")
+
+if (EXISTS "${_mp3lame_rel_lib}" OR EXISTS "${_mp3lame_dbg_lib}")
+
+ add_library(mp3lame::mp3lame UNKNOWN IMPORTED)
+ set_target_properties(mp3lame::mp3lame
+ PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${_mp3lame_root}/include")
+
+ if (EXISTS "${_mp3lame_rel_lib}")
+ set_target_properties(mp3lame::mp3lame
+ PROPERTIES IMPORTED_LOCATION_RELEASE "${_mp3lame_rel_lib}")
+ set_property(TARGET mp3lame::mp3lame APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+ endif()
+ if (EXISTS "${_mp3lame_dbg_lib}")
+ set_target_properties(mp3lame::mp3lame
+ PROPERTIES IMPORTED_LOCATION_DEBUG "${_mp3lame_dbg_lib}")
+ set_property(TARGET mp3lame::mp3lame APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+ endif()
+
+ set(_mp3lame_mpghip_rel_lib "${_mp3lame_root}/lib/libmpghip-static.lib")
+ set(_mp3lame_mpghip_dbg_lib "${_mp3lame_root}/debug/lib/libmpghip-static.lib")
+
+ if (EXISTS "${_mp3lame_mpghip_rel_lib}" OR EXISTS "${_mp3lame_mpghip_dbg_lib}")
+
+ add_library(mp3lame::mpghip UNKNOWN IMPORTED)
+
+ if (EXISTS "${_mp3lame_rel_lib}")
+ set_target_properties(mp3lame::mpghip
+ PROPERTIES IMPORTED_LOCATION_RELEASE "${_mp3lame_mpghip_rel_lib}")
+ set_property(TARGET mp3lame::mpghip APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+ endif()
+ if (EXISTS "${_mp3lame_dbg_lib}")
+ set_target_properties(mp3lame::mpghip
+ PROPERTIES IMPORTED_LOCATION_DEBUG "${_mp3lame_mpghip_dbg_lib}")
+ set_property(TARGET mp3lame::mpghip APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+ endif()
+
+ set_target_properties(mp3lame::mp3lame PROPERTIES INTERFACE_LINK_LIBRARIES mp3lame::mpghip)
+
+ endif()
+
+ unset(_mp3lame_mpghip_rel_lib)
+ unset(_mp3lame_mpghip_dbg_lib)
+
+else()
+
+ set(mp3lame_FOUND FALSE)
+
+endif()
+
+unset(_mp3lame_rel_lib)
+unset(_mp3lame_dbg_lib)
+
+unset(_mp3lame_root)
diff --git a/ports/mp3lame/portfile.cmake b/ports/mp3lame/portfile.cmake
new file mode 100644
index 000000000..a9b9e17e4
--- /dev/null
+++ b/ports/mp3lame/portfile.cmake
@@ -0,0 +1,152 @@
+include(vcpkg_common_functions)
+
+set(VERSION 3.100)
+
+vcpkg_download_distfile(ARCHIVE_FILE
+ URLS "https://downloads.sourceforge.net/project/lame/lame/${VERSION}/lame-${VERSION}.tar.gz"
+ FILENAME "lame-3.100.tar.gz"
+ SHA512 0844b9eadb4aacf8000444621451277de365041cc1d97b7f7a589da0b7a23899310afd4e4d81114b9912aa97832621d20588034715573d417b2923948c08634b
+)
+
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE_FILE}
+ REF ${VERSION}
+ PATCHES 00001-msvc-upgrade-solution-up-to-vc11.patch
+)
+
+if(VCPKG_TARGET_IS_WINDOWS)
+
+ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
+ set(platform "ARM64")
+ set(machine "ARM64")
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
+ set(platform "ARM")
+ set(machine "ARM")
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ set(platform "x64")
+ set(machine "x64")
+ else()
+ set(platform "Win32")
+ set(machine "x86")
+ endif()
+
+ file(READ "${SOURCE_PATH}/vc_solution/vc11_lame.sln" sln_con)
+ string(REPLACE "|Win32" "|${platform}" sln_con "${sln_con}")
+ string(REPLACE "\"vc11_" "\"${machine}_vc11_" sln_con "${sln_con}")
+ file(WRITE "${SOURCE_PATH}/vc_solution/${machine}_vc11_lame.sln" "${sln_con}")
+
+
+ file(GLOB vcxprojs RELATIVE "${SOURCE_PATH}/vc_solution" "${SOURCE_PATH}/vc_solution/vc11_*.vcxproj")
+ foreach(vcxproj ${vcxprojs})
+ file(READ "${SOURCE_PATH}/vc_solution/${vcxproj}" vcxproj_con)
+
+ if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ string(REPLACE "DLL</RuntimeLibrary>" "</RuntimeLibrary>" vcxproj_con "${vcxproj_con}")
+ endif()
+
+ string(REPLACE "/machine:x86" "/machine:${machine}" vcxproj_con "${vcxproj_con}")
+ string(REPLACE "<Platform>Win32</Platform>" "<Platform>${platform}</Platform>" vcxproj_con "${vcxproj_con}")
+ string(REPLACE "|Win32" "|${platform}" vcxproj_con "${vcxproj_con}")
+ string(REPLACE "Include=\"vc11_" "Include=\"${machine}_vc11_" vcxproj_con "${vcxproj_con}")
+
+ if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ string(REPLACE "/APPCONTAINER" "" vcxproj_con "${vcxproj_con}")
+ endif()
+
+ file(WRITE "${SOURCE_PATH}/vc_solution/${machine}_${vcxproj}" "${vcxproj_con}")
+ endforeach()
+
+ vcpkg_install_msbuild(
+ SOURCE_PATH ${SOURCE_PATH}
+ PROJECT_SUBPATH "vc_solution/${machine}_vc11_lame.sln"
+ TARGET "lame"
+ PLATFORM "${platform}"
+ )
+
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libmp3lame.lib)
+ endif()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libmp3lame.lib)
+ endif()
+ set(MP3LAME_LIB "libmp3lame-static.lib")
+ else()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libmp3lame-static.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libmpghip-static.lib)
+ endif()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libmp3lame-static.lib)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libmpghip-static.lib)
+ endif()
+ set(MP3LAME_LIB "libmp3lame.lib")
+ endif()
+
+else()
+
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ set(OPTIONS --enable-static=yes --enable-shared=no)
+ set(MP3LAME_LIB "libmp3lame.a")
+ else()
+ set(OPTIONS --enable-shared=yes --enable-static=no)
+ set(MP3LAME_LIB "libmp3lame.so")
+ endif()
+
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
+ file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
+
+ message(STATUS "Configuring ${TARGET_TRIPLET}-dbg")
+ vcpkg_execute_required_process(
+ COMMAND ${SOURCE_PATH}/configure ${OPTIONS} --with-pic=yes --prefix=${CURRENT_PACKAGES_DIR}/debug
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
+ LOGNAME configure-${TARGET_TRIPLET}-dbg
+ )
+ message(STATUS "Building ${TARGET_TRIPLET}-dbg")
+ vcpkg_execute_required_process(
+ COMMAND make -j install "CFLAGS=${CFLAGS}" "LDFLAGS=${LDFLAGS}"
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
+ LOGNAME install-${TARGET_TRIPLET}-dbg
+ )
+
+ file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug/bin
+ ${CURRENT_PACKAGES_DIR}/debug/include
+ ${CURRENT_PACKAGES_DIR}/debug/share
+ )
+ endif()
+
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
+ file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
+
+ message(STATUS "Configuring ${TARGET_TRIPLET}-rel")
+ vcpkg_execute_required_process(
+ COMMAND ${SOURCE_PATH}/configure ${OPTIONS} --with-pic=yes --prefix=${CURRENT_PACKAGES_DIR}
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
+ LOGNAME configure-${TARGET_TRIPLET}-rel
+ )
+
+ message(STATUS "Building ${TARGET_TRIPLET}-rel")
+ vcpkg_execute_required_process(
+ COMMAND make -j install "CFLAGS=${CFLAGS}" "LDFLAGS=${LDFLAGS}"
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
+ LOGNAME install-${TARGET_TRIPLET}-rel
+ )
+
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
+ endif()
+
+ endif()
+
+endif()
+
+file(COPY ${SOURCE_PATH}/include/lame.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/lame)
+configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/mp3lame/copyright COPYONLY)
+configure_file(${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in ${CURRENT_PACKAGES_DIR}/share/mp3lame/mp3lame-config.cmake @ONLY)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/mp3lame)
diff --git a/ports/mp3lame/usage b/ports/mp3lame/usage
new file mode 100644
index 000000000..6efb86c53
--- /dev/null
+++ b/ports/mp3lame/usage
@@ -0,0 +1,4 @@
+The package mp3lame provides CMake targets:
+
+ find_package(mp3lame CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE mp3lame::mp3lame)
diff --git a/ports/mpg123/0003-add-arm-configs.patch b/ports/mpg123/0003-add-arm-configs.patch
new file mode 100644
index 000000000..d343c760c
--- /dev/null
+++ b/ports/mpg123/0003-add-arm-configs.patch
@@ -0,0 +1,1149 @@
+diff --git a/ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj b/ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj
+index 5849861..4c4e51e 100644
+--- a/ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj
++++ b/ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj
+@@ -1,6 +1,14 @@
+ <?xml version="1.0" encoding="utf-8"?>
+ <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug_Generic_Dll|ARM">
++ <Configuration>Debug_Generic_Dll</Configuration>
++ <Platform>ARM</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug_Generic_Dll|ARM64">
++ <Configuration>Debug_Generic_Dll</Configuration>
++ <Platform>ARM64</Platform>
++ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug_Generic_Dll|Win32">
+ <Configuration>Debug_Generic_Dll</Configuration>
+ <Platform>Win32</Platform>
+@@ -9,6 +17,14 @@
+ <Configuration>Debug_Generic_Dll</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug_Generic|ARM">
++ <Configuration>Debug_Generic</Configuration>
++ <Platform>ARM</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug_Generic|ARM64">
++ <Configuration>Debug_Generic</Configuration>
++ <Platform>ARM64</Platform>
++ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug_Generic|Win32">
+ <Configuration>Debug_Generic</Configuration>
+ <Platform>Win32</Platform>
+@@ -17,6 +33,14 @@
+ <Configuration>Debug_Generic</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug_x86_Dll|ARM">
++ <Configuration>Debug_x86_Dll</Configuration>
++ <Platform>ARM</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug_x86_Dll|ARM64">
++ <Configuration>Debug_x86_Dll</Configuration>
++ <Platform>ARM64</Platform>
++ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug_x86_Dll|Win32">
+ <Configuration>Debug_x86_Dll</Configuration>
+ <Platform>Win32</Platform>
+@@ -25,6 +49,14 @@
+ <Configuration>Debug_x86_Dll</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug_x86|ARM">
++ <Configuration>Debug_x86</Configuration>
++ <Platform>ARM</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug_x86|ARM64">
++ <Configuration>Debug_x86</Configuration>
++ <Platform>ARM64</Platform>
++ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug_x86|Win32">
+ <Configuration>Debug_x86</Configuration>
+ <Platform>Win32</Platform>
+@@ -33,6 +65,14 @@
+ <Configuration>Debug_x86</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release_Generic_Dll|ARM">
++ <Configuration>Release_Generic_Dll</Configuration>
++ <Platform>ARM</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release_Generic_Dll|ARM64">
++ <Configuration>Release_Generic_Dll</Configuration>
++ <Platform>ARM64</Platform>
++ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release_Generic_Dll|Win32">
+ <Configuration>Release_Generic_Dll</Configuration>
+ <Platform>Win32</Platform>
+@@ -41,6 +81,14 @@
+ <Configuration>Release_Generic_Dll</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release_Generic|ARM">
++ <Configuration>Release_Generic</Configuration>
++ <Platform>ARM</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release_Generic|ARM64">
++ <Configuration>Release_Generic</Configuration>
++ <Platform>ARM64</Platform>
++ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release_Generic|Win32">
+ <Configuration>Release_Generic</Configuration>
+ <Platform>Win32</Platform>
+@@ -49,6 +97,14 @@
+ <Configuration>Release_Generic</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release_x86_Dll|ARM">
++ <Configuration>Release_x86_Dll</Configuration>
++ <Platform>ARM</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release_x86_Dll|ARM64">
++ <Configuration>Release_x86_Dll</Configuration>
++ <Platform>ARM64</Platform>
++ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release_x86_Dll|Win32">
+ <Configuration>Release_x86_Dll</Configuration>
+ <Platform>Win32</Platform>
+@@ -57,6 +113,14 @@
+ <Configuration>Release_x86_Dll</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release_x86|ARM">
++ <Configuration>Release_x86</Configuration>
++ <Platform>ARM</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release_x86|ARM64">
++ <Configuration>Release_x86</Configuration>
++ <Platform>ARM64</Platform>
++ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release_x86|Win32">
+ <Configuration>Release_x86</Configuration>
+ <Platform>Win32</Platform>
+@@ -78,164 +142,311 @@
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|ARM'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v140</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|ARM64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v140</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|ARM'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v140</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|ARM64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v140</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86|ARM'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v140</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86|ARM64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v140</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86|ARM'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v140</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86|ARM64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v140</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|ARM'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v140</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|ARM64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v140</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|ARM'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v140</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|ARM64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v140</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic|ARM'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v140</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic|ARM64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v140</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|ARM'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v140</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|ARM64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v140</PlatformToolset>
++ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|ARM'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|ARM64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|ARM'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|ARM64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86|ARM'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86|ARM64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86|ARM'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86|ARM64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|ARM'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|ARM64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|ARM'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|ARM64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic|ARM'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic|ARM64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|ARM'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|ARM64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
++ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.21006.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|Win32'">$(SolutionDir)$(Platform)\Debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|Win32'">$(Platform)\$(Configuration)\</IntDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|ARM'">$(Platform)\$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_Generic|Win32'">$(SolutionDir)$(Platform)\Release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_Generic|Win32'">$(Platform)\$(Configuration)\</IntDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_Generic|ARM'">$(Platform)\$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|Win32'">$(SolutionDir)$(Platform)\Debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|Win32'">$(Platform)\$(Configuration)\</IntDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|ARM'">$(Platform)\$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|Win32'">$(SolutionDir)$(Platform)\Release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|Win32'">$(Platform)\$(Configuration)\</IntDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|ARM'">$(Platform)\$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_x86|Win32'">$(SolutionDir)$(Platform)\Debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_x86|Win32'">$(Platform)\$(Configuration)\</IntDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_x86|ARM'">$(Platform)\$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_x86|Win32'">$(SolutionDir)$(Platform)\Release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_x86|Win32'">$(Platform)\$(Configuration)\</IntDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_x86|ARM'">$(Platform)\$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|Win32'">$(SolutionDir)$(Platform)\Debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|Win32'">$(Platform)\$(Configuration)\</IntDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|ARM'">$(Platform)\$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|Win32'">$(SolutionDir)$(Platform)\Release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|Win32'">$(Platform)\$(Configuration)\</IntDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|ARM'">$(Platform)\$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|Win32'">false</LinkIncremental>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|ARM'">false</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|x64'">false</LinkIncremental>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|ARM64'">false</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|x64'">
+ <OutDir>$(SolutionDir)$(Platform)\Release\</OutDir>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|ARM64'" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86|x64'">
+ <OutDir>$(SolutionDir)$(Platform)\Release\</OutDir>
+ </PropertyGroup>
+@@ -257,6 +468,30 @@
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|x64'">
+ <OutDir>$(SolutionDir)$(Platform)\Debug\</OutDir>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|ARM64'">
++ <OutDir>$(SolutionDir)$(Platform)\Release\</OutDir>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic|ARM64'">
++ <OutDir>$(SolutionDir)$(Platform)\Release\</OutDir>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|ARM64'">
++ <OutDir>$(SolutionDir)$(Platform)\Debug\</OutDir>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|ARM64'">
++ <OutDir>$(SolutionDir)$(Platform)\Debug\</OutDir>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|ARM'">
++ <OutDir>$(SolutionDir)$(Platform)\Debug\</OutDir>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|ARM'">
++ <OutDir>$(SolutionDir)$(Platform)\Debug\</OutDir>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic|ARM'">
++ <OutDir>$(SolutionDir)$(Platform)\Release\</OutDir>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|ARM'">
++ <OutDir>$(SolutionDir)$(Platform)\Release\</OutDir>
++ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+@@ -277,6 +512,26 @@
+ <AdditionalDependencies>Shlwapi.lib</AdditionalDependencies>
+ </Lib>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|ARM'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>$(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;OPT_GENERIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
++ <RuntimeTypeInfo>false</RuntimeTypeInfo>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsC</CompileAs>
++ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
++ </ClCompile>
++ <Lib />
++ <Lib>
++ <AdditionalDependencies>Shlwapi.lib</AdditionalDependencies>
++ </Lib>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+@@ -301,6 +556,30 @@
+ <AdditionalDependencies>Shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Lib>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|ARM64'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>$(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;OPT_GENERIC;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
++ <RuntimeTypeInfo>false</RuntimeTypeInfo>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsC</CompileAs>
++ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
++ </ClCompile>
++ <Lib />
++ <PreLinkEvent>
++ <Command>
++ </Command>
++ </PreLinkEvent>
++ <Lib>
++ <AdditionalDependencies>Shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ </Lib>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+@@ -325,6 +604,30 @@
+ <AdditionalDependencies>Shlwapi.lib</AdditionalDependencies>
+ </Lib>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic|ARM'">
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
++ <IntrinsicFunctions>true</IntrinsicFunctions>
++ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
++ <OmitFramePointers>true</OmitFramePointers>
++ <AdditionalIncludeDirectories>$(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;OPT_GENERIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <RuntimeTypeInfo>false</RuntimeTypeInfo>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsC</CompileAs>
++ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
++ </ClCompile>
++ <Lib />
++ <Lib>
++ <AdditionalDependencies>Shlwapi.lib</AdditionalDependencies>
++ </Lib>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+@@ -353,6 +656,34 @@
+ <AdditionalDependencies>Shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Lib>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic|ARM64'">
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
++ <IntrinsicFunctions>true</IntrinsicFunctions>
++ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
++ <OmitFramePointers>true</OmitFramePointers>
++ <AdditionalIncludeDirectories>$(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;OPT_GENERIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <RuntimeTypeInfo>false</RuntimeTypeInfo>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsC</CompileAs>
++ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
++ </ClCompile>
++ <Lib />
++ <PreLinkEvent>
++ <Command>
++ </Command>
++ </PreLinkEvent>
++ <Lib>
++ <AdditionalDependencies>Shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ </Lib>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+@@ -378,6 +709,32 @@
+ <AdditionalDependencies>Shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|ARM'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>$(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;OPT_GENERIC;_DEBUG;BUILD_MPG123_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <RuntimeTypeInfo>false</RuntimeTypeInfo>
++ <WarningLevel>Level3</WarningLevel>
++ <TreatWarningAsError>false</TreatWarningAsError>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsC</CompileAs>
++ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
++ </ClCompile>
++ <Link>
++ <GenerateDebugInformation>DebugFastLink</GenerateDebugInformation>
++ <AssemblyDebug>true</AssemblyDebug>
++ <BaseAddress>
++ </BaseAddress>
++ <RandomizedBaseAddress>true</RandomizedBaseAddress>
++ <FixedBaseAddress>false</FixedBaseAddress>
++ <AdditionalDependencies>Shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ </Link>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+@@ -403,12 +760,98 @@
+ <FixedBaseAddress>true</FixedBaseAddress>
+ <AdditionalDependencies>Shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+- <PreLinkEvent>
+- <Command>
+- </Command>
+- </PreLinkEvent>
++ <PreLinkEvent>
++ <Command>
++ </Command>
++ </PreLinkEvent>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|ARM64'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>$(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;OPT_GENERIC;_DEBUG;BUILD_MPG123_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <RuntimeTypeInfo>false</RuntimeTypeInfo>
++ <WarningLevel>Level3</WarningLevel>
++ <TreatWarningAsError>false</TreatWarningAsError>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsC</CompileAs>
++ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
++ </ClCompile>
++ <Link>
++ <AdditionalLibraryDirectories>$(IntDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
++ <GenerateDebugInformation>DebugFastLink</GenerateDebugInformation>
++ <AssemblyDebug>true</AssemblyDebug>
++ <BaseAddress>
++ </BaseAddress>
++ <RandomizedBaseAddress>true</RandomizedBaseAddress>
++ <FixedBaseAddress>false</FixedBaseAddress>
++ <AdditionalDependencies>Shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ </Link>
++ <PreLinkEvent>
++ <Command>
++ </Command>
++ </PreLinkEvent>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|Win32'">
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
++ <IntrinsicFunctions>true</IntrinsicFunctions>
++ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
++ <OmitFramePointers>true</OmitFramePointers>
++ <AdditionalIncludeDirectories>$(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;OPT_GENERIC;BUILD_MPG123_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <RuntimeTypeInfo>false</RuntimeTypeInfo>
++ <WarningLevel>Level3</WarningLevel>
++ <TreatWarningAsError>false</TreatWarningAsError>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsC</CompileAs>
++ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
++ </ClCompile>
++ <Link>
++ <BaseAddress>0x63000000</BaseAddress>
++ <RandomizedBaseAddress>false</RandomizedBaseAddress>
++ <FixedBaseAddress>true</FixedBaseAddress>
++ <AdditionalDependencies>Shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|ARM'">
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
++ <IntrinsicFunctions>true</IntrinsicFunctions>
++ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
++ <OmitFramePointers>true</OmitFramePointers>
++ <AdditionalIncludeDirectories>$(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;OPT_GENERIC;BUILD_MPG123_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <RuntimeTypeInfo>false</RuntimeTypeInfo>
++ <WarningLevel>Level3</WarningLevel>
++ <TreatWarningAsError>false</TreatWarningAsError>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsC</CompileAs>
++ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
++ </ClCompile>
++ <Link>
++ <BaseAddress>
++ </BaseAddress>
++ <RandomizedBaseAddress>true</RandomizedBaseAddress>
++ <FixedBaseAddress>false</FixedBaseAddress>
++ <AdditionalDependencies>Shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ </Link>
+ </ItemDefinitionGroup>
+- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|Win32'">
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+@@ -434,8 +877,12 @@
+ <FixedBaseAddress>true</FixedBaseAddress>
+ <AdditionalDependencies>Shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
++ <PreLinkEvent>
++ <Command>
++ </Command>
++ </PreLinkEvent>
+ </ItemDefinitionGroup>
+- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|x64'">
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|ARM64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+@@ -456,9 +903,10 @@
+ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ </ClCompile>
+ <Link>
+- <BaseAddress>0x63000000</BaseAddress>
+- <RandomizedBaseAddress>false</RandomizedBaseAddress>
+- <FixedBaseAddress>true</FixedBaseAddress>
++ <BaseAddress>
++ </BaseAddress>
++ <RandomizedBaseAddress>true</RandomizedBaseAddress>
++ <FixedBaseAddress>false</FixedBaseAddress>
+ <AdditionalDependencies>Shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <PreLinkEvent>
+@@ -554,6 +1002,30 @@ yasm -a x86 -p gas -r raw -f win32 -g null -m x86 -o "$(IntDir)synth_stereo_sse_
+ <AdditionalLibraryDirectories>$(IntDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ </Lib>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86|ARM'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>$(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;OPT_MULTI;OPT_GENERIC;OPT_I386;OPT_I586;OPT_MMX;OPT_3DNOW;OPT_3DNOWEXT;OPT_SSE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
++ <RuntimeTypeInfo>false</RuntimeTypeInfo>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsC</CompileAs>
++ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
++ </ClCompile>
++ <PreLinkEvent>
++ <Command>
++ </Command>
++ </PreLinkEvent>
++ <Lib>
++ <AdditionalDependencies>Shlwapi.lib;dct36_3dnow.o;dct36_3dnowext.o;dct36_sse.o;dct64_3dnow.o;dct64_3dnowext.o;dct64_mmx.o;dct64_sse.o;dct64_sse_float.o;equalizer_3dnow.o;getcpuflags.o;synth_3dnow.o;synth_3dnowext.o;synth_i586.o;synth_mmx.o;synth_sse.o;synth_sse_float.o;synth_stereo_sse_float.o;tabinit_mmx.o;synth_sse_accurate.o;synth_sse_s32.o;synth_stereo_sse_accurate.o;synth_stereo_sse_s32.o;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalLibraryDirectories>$(IntDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
++ </Lib>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+@@ -612,6 +1084,30 @@ yasm -a x86 -m amd64 -f win64 -p gas -r raw -g null -o "$(IntDir)synth_stereo_x8
+ <AdditionalLibraryDirectories>$(IntDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ </Lib>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86|ARM64'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>$(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;OPT_MULTI;OPT_GENERIC;OPT_X86_64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
++ <RuntimeTypeInfo>false</RuntimeTypeInfo>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsC</CompileAs>
++ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
++ </ClCompile>
++ <PreLinkEvent>
++ <Command>
++ </Command>
++ </PreLinkEvent>
++ <Lib>
++ <AdditionalDependencies>Shlwapi.lib;getcpuflags_x86_64.o;dct36_x86_64.o;synth_x86_64_float.o;synth_x86_64_s32.o;synth_stereo_x86_64_float.o;synth_stereo_x86_64_s32.o;synth_x86_64.o;dct64_x86_64.o;dct64_x86_64_float.o;synth_stereo_x86_64.o;synth_x86_64_accurate.o;synth_stereo_x86_64_accurate.o;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalLibraryDirectories>$(IntDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
++ </Lib>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+@@ -705,6 +1201,35 @@ yasm -a x86 -p gas -r raw -f win32 -g null -m x86 -o "$(IntDir)synth_stereo_sse_
+ <Verbose>true</Verbose>
+ </Lib>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86|ARM'">
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
++ <IntrinsicFunctions>true</IntrinsicFunctions>
++ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
++ <OmitFramePointers>true</OmitFramePointers>
++ <AdditionalIncludeDirectories>$(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;OPT_MULTI;OPT_GENERIC;OPT_I386;OPT_I586;OPT_MMX;OPT_3DNOW;OPT_3DNOWEXT;OPT_SSE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <RuntimeTypeInfo>false</RuntimeTypeInfo>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsC</CompileAs>
++ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
++ </ClCompile>
++ <PreLinkEvent>
++ <Command>
++ </Command>
++ </PreLinkEvent>
++ <Lib>
++ <AdditionalDependencies>Shlwapi.lib;dct36_3dnow.o;dct36_3dnowext.o;dct36_sse.o;dct64_3dnow.o;dct64_3dnowext.o;dct64_mmx.o;dct64_sse.o;dct64_sse_float.o;equalizer_3dnow.o;getcpuflags.o;synth_3dnow.o;synth_3dnowext.o;synth_i586.o;synth_mmx.o;synth_sse.o;synth_sse_float.o;synth_stereo_sse_float.o;tabinit_mmx.o;synth_sse_accurate.o;synth_sse_s32.o;synth_stereo_sse_accurate.o;synth_stereo_sse_s32.o;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalLibraryDirectories>$(IntDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
++ <Verbose>true</Verbose>
++ </Lib>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86|x64'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+@@ -768,6 +1293,35 @@ yasm -a x86 -m amd64 -f win64 -p gas -r raw -g null -o "$(IntDir)synth_stereo_x8
+ <Verbose>true</Verbose>
+ </Lib>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86|ARM64'">
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
++ <IntrinsicFunctions>true</IntrinsicFunctions>
++ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
++ <OmitFramePointers>true</OmitFramePointers>
++ <AdditionalIncludeDirectories>$(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;OPT_MULTI;OPT_GENERIC;OPT_X86_64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <RuntimeTypeInfo>false</RuntimeTypeInfo>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsC</CompileAs>
++ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
++ </ClCompile>
++ <PreLinkEvent>
++ <Command>
++ </Command>
++ </PreLinkEvent>
++ <Lib>
++ <AdditionalDependencies>Shlwapi.lib;getcpuflags_x86_64.o;dct36_x86_64.o;synth_x86_64_float.o;synth_x86_64_s32.o;synth_stereo_x86_64_float.o;synth_stereo_x86_64_s32.o;synth_x86_64.o;dct64_x86_64.o;dct64_x86_64_float.o;synth_stereo_x86_64.o;synth_x86_64_accurate.o;synth_stereo_x86_64_accurate.o;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalLibraryDirectories>$(IntDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
++ <Verbose>true</Verbose>
++ </Lib>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|Win32'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+@@ -862,6 +1416,36 @@ yasm -a x86 -p gas -r raw -f win32 -g null -m x86 -o "$(IntDir)synth_stereo_sse_
+ <FixedBaseAddress>false</FixedBaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|ARM'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>$(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;_DEBUG;BUILD_MPG123_DLL;OPT_MULTI;OPT_GENERIC;OPT_I386;OPT_I586;OPT_MMX;OPT_3DNOW;OPT_3DNOWEXT;OPT_SSE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <RuntimeTypeInfo>false</RuntimeTypeInfo>
++ <WarningLevel>Level3</WarningLevel>
++ <TreatWarningAsError>false</TreatWarningAsError>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsC</CompileAs>
++ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
++ </ClCompile>
++ <PreLinkEvent>
++ <Command>
++ </Command>
++ </PreLinkEvent>
++ <Link>
++ <AdditionalDependencies>Shlwapi.lib;dct36_3dnow.o;dct36_3dnowext.o;dct36_sse.o;dct64_3dnow.o;dct64_3dnowext.o;dct64_mmx.o;dct64_sse.o;dct64_sse_float.o;equalizer_3dnow.o;getcpuflags.o;synth_3dnow.o;synth_3dnowext.o;synth_i586.o;synth_mmx.o;synth_sse.o;synth_sse_float.o;synth_stereo_sse_float.o;tabinit_mmx.o;synth_sse_accurate.o;synth_sse_s32.o;synth_stereo_sse_accurate.o;synth_stereo_sse_s32.o;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalLibraryDirectories>$(IntDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
++ <GenerateDebugInformation>DebugFastLink</GenerateDebugInformation>
++ <AssemblyDebug>true</AssemblyDebug>
++ <BaseAddress>0x63000000</BaseAddress>
++ <RandomizedBaseAddress>true</RandomizedBaseAddress>
++ <FixedBaseAddress>false</FixedBaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|x64'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+@@ -926,6 +1510,36 @@ yasm -a x86 -m amd64 -f win64 -p gas -r raw -g null -o "$(IntDir)synth_stereo_x8
+ <FixedBaseAddress>false</FixedBaseAddress>
+ </Link>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|ARM64'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>$(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;_DEBUG;BUILD_MPG123_DLL;OPT_MULTI;OPT_GENERIC;OPT_X86_64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <RuntimeTypeInfo>false</RuntimeTypeInfo>
++ <WarningLevel>Level3</WarningLevel>
++ <TreatWarningAsError>false</TreatWarningAsError>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsC</CompileAs>
++ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
++ </ClCompile>
++ <PreLinkEvent>
++ <Command>
++ </Command>
++ </PreLinkEvent>
++ <Link>
++ <AdditionalDependencies>Shlwapi.lib;getcpuflags_x86_64.o;dct36_x86_64.o;synth_x86_64_float.o;synth_x86_64_s32.o;synth_stereo_x86_64_float.o;synth_stereo_x86_64_s32.o;synth_x86_64.o;dct64_x86_64.o;dct64_x86_64_float.o;synth_stereo_x86_64.o;synth_x86_64_accurate.o;synth_stereo_x86_64_accurate.o;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalLibraryDirectories>$(IntDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
++ <GenerateDebugInformation>DebugFastLink</GenerateDebugInformation>
++ <AssemblyDebug>true</AssemblyDebug>
++ <BaseAddress>0x63000000</BaseAddress>
++ <RandomizedBaseAddress>true</RandomizedBaseAddress>
++ <FixedBaseAddress>false</FixedBaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|Win32'">
+ <PreBuildEvent>
+ <Command>
+@@ -1030,6 +1644,46 @@ yasm -a x86 -p gas -r raw -f win32 -g null -m x86 -o "$(IntDir)synth_stereo_sse_
+ </Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|ARM'">
++ <PreBuildEvent>
++ <Command>
++ </Command>
++ </PreBuildEvent>
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
++ <IntrinsicFunctions>true</IntrinsicFunctions>
++ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
++ <OmitFramePointers>true</OmitFramePointers>
++ <AdditionalIncludeDirectories>$(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;BUILD_MPG123_DLL;OPT_MULTI;OPT_GENERIC;OPT_I386;OPT_I586;OPT_MMX;OPT_3DNOW;OPT_3DNOWEXT;OPT_SSE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <RuntimeTypeInfo>false</RuntimeTypeInfo>
++ <WarningLevel>Level3</WarningLevel>
++ <TreatWarningAsError>false</TreatWarningAsError>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsC</CompileAs>
++ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
++ </ClCompile>
++ <PreLinkEvent>
++ <Command>
++ </Command>
++ </PreLinkEvent>
++ <Link>
++ <AdditionalDependencies>Shlwapi.lib;dct36_3dnow.o;dct36_3dnowext.o;dct36_sse.o;dct64_3dnow.o;dct64_3dnowext.o;dct64_mmx.o;dct64_sse.o;dct64_sse_float.o;equalizer_3dnow.o;getcpuflags.o;synth_3dnow.o;synth_3dnowext.o;synth_i586.o;synth_mmx.o;synth_sse.o;synth_sse_float.o;synth_stereo_sse_float.o;tabinit_mmx.o;synth_sse_accurate.o;synth_sse_s32.o;synth_stereo_sse_accurate.o;synth_stereo_sse_s32.o;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalLibraryDirectories>$(IntDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
++ <BaseAddress>0x63000000</BaseAddress>
++ <RandomizedBaseAddress>false</RandomizedBaseAddress>
++ <FixedBaseAddress>true</FixedBaseAddress>
++ </Link>
++ <PostBuildEvent>
++ <Command>
++ </Command>
++ </PostBuildEvent>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|x64'">
+ <PreBuildEvent>
+ <Command>
+@@ -1102,37 +1756,99 @@ yasm -a x86 -m amd64 -f win64 -p gas -r raw -g null -o "$(IntDir)synth_stereo_x8
+ </Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|ARM64'">
++ <PreBuildEvent>
++ <Command>
++ </Command>
++ </PreBuildEvent>
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
++ <IntrinsicFunctions>true</IntrinsicFunctions>
++ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
++ <OmitFramePointers>true</OmitFramePointers>
++ <AdditionalIncludeDirectories>$(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;BUILD_MPG123_DLL;OPT_MULTI;OPT_GENERIC;OPT_X86_64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <RuntimeTypeInfo>false</RuntimeTypeInfo>
++ <WarningLevel>Level3</WarningLevel>
++ <CompileAs>CompileAsC</CompileAs>
++ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
++ </ClCompile>
++ <PreLinkEvent>
++ <Command>
++ </Command>
++ </PreLinkEvent>
++ <Link>
++ <AdditionalDependencies>Shlwapi.lib;getcpuflags_x86_64.o;dct36_x86_64.o;synth_x86_64_float.o;synth_x86_64_s32.o;synth_stereo_x86_64_float.o;synth_stereo_x86_64_s32.o;synth_x86_64.o;dct64_x86_64.o;dct64_x86_64_float.o;synth_stereo_x86_64.o;synth_x86_64_accurate.o;synth_stereo_x86_64_accurate.o;%(AdditionalDependencies)</AdditionalDependencies>
++ <AdditionalLibraryDirectories>$(IntDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
++ <BaseAddress>0x63000000</BaseAddress>
++ <RandomizedBaseAddress>false</RandomizedBaseAddress>
++ <FixedBaseAddress>true</FixedBaseAddress>
++ </Link>
++ <PostBuildEvent>
++ <Command>
++ </Command>
++ </PostBuildEvent>
++ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\..\..\src\compat\compat.c" />
+ <ClCompile Include="..\..\..\..\..\src\compat\compat_str.c" />
+ <ClCompile Include="..\..\..\..\..\src\libmpg123\dct64.c" />
+ <ClCompile Include="..\..\..\..\..\src\libmpg123\dct64_i386.c">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|ARM'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|ARM64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|ARM'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|ARM64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|ARM'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|ARM64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic|ARM'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic|ARM64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\..\src\libmpg123\dct64_i486.c">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|ARM'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|ARM64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|ARM'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|ARM64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|ARM'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|ARM64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_x86|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_x86|ARM'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_x86|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_x86|ARM64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|ARM'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|ARM64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic|ARM'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic|ARM64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|ARM'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|ARM64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_x86|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_x86|ARM'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_x86|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_x86|ARM64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\..\src\libmpg123\equalizer.c" />
+ <ClCompile Include="..\..\..\..\..\src\libmpg123\feature.c" />
+@@ -1156,21 +1872,37 @@ yasm -a x86 -m amd64 -f win64 -p gas -r raw -g null -o "$(IntDir)synth_stereo_x8
+ <ClCompile Include="..\..\..\..\..\src\libmpg123\synth_8bit.c" />
+ <ClCompile Include="..\..\..\..\..\src\libmpg123\synth_i486.c">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|ARM'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic_Dll|ARM64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|ARM'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_Generic|ARM64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|ARM'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_x86_Dll|ARM64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_x86|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_x86|ARM'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_x86|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_x86|ARM64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|ARM'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic_Dll|ARM64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic|ARM'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_Generic|ARM64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|ARM'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_x86_Dll|ARM64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_x86|Win32'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_x86|ARM'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_x86|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_x86|ARM64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\..\..\..\..\src\libmpg123\synth_real.c" />
+ <ClCompile Include="..\..\..\..\..\src\libmpg123\synth_s32.c" />
diff --git a/ports/mpg123/portfile.cmake b/ports/mpg123/portfile.cmake
index 8523c6cb7..0d216b942 100644
--- a/ports/mpg123/portfile.cmake
+++ b/ports/mpg123/portfile.cmake
@@ -6,8 +6,16 @@ set(MPG123_HASH f226317dddb07841a13753603fa13c0a867605a5a051626cb30d45cfba266d3d
#architecture detection
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
set(MPG123_ARCH Win32)
+ set(MPG123_CONFIGURATION _x86)
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
set(MPG123_ARCH x64)
+ set(MPG123_CONFIGURATION _x86)
+elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
+ set(MPG123_ARCH ARM)
+ set(MPG123_CONFIGURATION _Generic)
+elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
+ set(MPG123_ARCH ARM64)
+ set(MPG123_CONFIGURATION _Generic)
else()
message(FATAL_ERROR "unsupported architecture")
endif()
@@ -29,6 +37,7 @@ vcpkg_extract_source_archive_ex(
PATCHES
0001-fix-crt-linking.patch
0002-fix-x86-build.patch
+ 0003-add-arm-configs.patch
)
vcpkg_find_acquire_program(YASM)
@@ -38,8 +47,8 @@ set(ENV{PATH} "$ENV{PATH};${YASM_EXE_PATH}")
if(VCPKG_TARGET_IS_WINDOWS)
vcpkg_build_msbuild(
PROJECT_PATH ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj
- RELEASE_CONFIGURATION Release_x86${MPG123_CONFIGURATION_SUFFIX}
- DEBUG_CONFIGURATION Debug_x86${MPG123_CONFIGURATION_SUFFIX}
+ RELEASE_CONFIGURATION Release${MPG123_CONFIGURATION}${MPG123_CONFIGURATION_SUFFIX}
+ DEBUG_CONFIGURATION Debug${MPG123_CONFIGURATION}${MPG123_CONFIGURATION_SUFFIX}
)
message(STATUS "Installing")
diff --git a/ports/ms-gsl/CONTROL b/ports/ms-gsl/CONTROL
index 75741b4d4..237bc6859 100644
--- a/ports/ms-gsl/CONTROL
+++ b/ports/ms-gsl/CONTROL
@@ -1,4 +1,4 @@
Source: ms-gsl
-Version: 2019-04-19
+Version: 2019-07-11
Homepage: https://github.com/Microsoft/GSL
Description: Microsoft implementation of the Guidelines Support Library \ No newline at end of file
diff --git a/ports/ms-gsl/portfile.cmake b/ports/ms-gsl/portfile.cmake
index 68303601f..bcd2a80db 100644
--- a/ports/ms-gsl/portfile.cmake
+++ b/ports/ms-gsl/portfile.cmake
@@ -4,8 +4,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/GSL
- REF b74b286d5e333561b0f1ef1abd18de2606624455
- SHA512 5d2d9812fab638228eb8802df21d271bd94321f6174f1fa15a3d3a60dc742cdce1ee0701f2096625cca13df934b0d2511f9b4fcc0913780de234ac76403f2482
+ REF 1212beae777dba02c230ece8c0c0ec12790047ea
+ SHA512 754d0adf32cea1da759be9adb8a64c301ae1cb8556853411bcea4c400079e8e310f1fb8d03f1f26f81553eab24b75fea24a67b9b51d8d92bb4f266e155938230
HEAD_REF master
)
diff --git a/ports/nanovg/CONTROL b/ports/nanovg/CONTROL
index c074c1824..b3dbdd251 100644
--- a/ports/nanovg/CONTROL
+++ b/ports/nanovg/CONTROL
@@ -1,3 +1,4 @@
Source: nanovg
-Version: master
+Version: 2019-8-30
+Homepage: https://github.com/memononen/nanovg
Description: NanoVG is small antialiased vector graphics rendering library for OpenGL.
diff --git a/ports/nanovg/portfile.cmake b/ports/nanovg/portfile.cmake
index 39e36720e..9a2cbc7ac 100644
--- a/ports/nanovg/portfile.cmake
+++ b/ports/nanovg/portfile.cmake
@@ -1,28 +1,15 @@
-# 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 memononen/nanovg
- REF f4069e6a1ad5da430fb0a9c57476d5ddc2ff89b2
- SHA512 5f2313be939478d40e52c74e3935cbae91277be5c0e466a6d303e8d80e7bf0781288cb319b2e8cec5c7d6fc991be16bec6e0f5228153895ff7fe3abdffe5320e
+ REF 1f9c8864fc556a1be4d4bf1d6bfe20cde25734b4
+ SHA512 99a44f01114ee653a966d4695596886240752f5a06d540c408b5aeaebdcc5360fc2043276515695580d048649a20dc50409107f89c4ce506d2ccb83a0635d29f
HEAD_REF master
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/nanovgConfig.cmake DESTINATION ${SOURCE_PATH})
-
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA # Disable this option if project cannot be built with Ninja
@@ -37,5 +24,4 @@ vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include
${CURRENT_PACKAGES_DIR}/debug/share)
-# Handle copyright
- file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/nanovg RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/nativefiledialog/CMakeLists.txt b/ports/nativefiledialog/CMakeLists.txt
new file mode 100644
index 000000000..8f5b79dfb
--- /dev/null
+++ b/ports/nativefiledialog/CMakeLists.txt
@@ -0,0 +1,70 @@
+cmake_minimum_required(VERSION 3.14)
+
+project(nfd LANGUAGES C)
+
+include(GNUInstallDirs)
+
+option(NFD_GTK_BACKEND "Using GTK backend" ON)
+
+file(GLOB nfd_sources
+ "${PROJECT_SOURCE_DIR}/src/*.h"
+ "${PROJECT_SOURCE_DIR}/src/include/*.h"
+ "${PROJECT_SOURCE_DIR}/src/nfd_common.c"
+)
+
+if (WIN32)
+ enable_language(CXX)
+ list(APPEND nfd_sources "${PROJECT_SOURCE_DIR}/src/nfd_win.cpp")
+elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+ if (NFD_GTK_BACKEND)
+ find_package(GTK3 QUIET)
+ if (GTK3_FOUND)
+ list(APPEND nfd_sources "${PROJECT_SOURCE_DIR}/src/nfd_gtk.c")
+ else ()
+ list(APPEND nfd_sources "${PROJECT_SOURCE_DIR}/src/nfd_zenity.c")
+ endif ()
+ else ()
+ list(APPEND nfd_sources "${PROJECT_SOURCE_DIR}/src/nfd_zenity.c")
+ endif ()
+elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+ list(APPEND nfd_sources "${PROJECT_SOURCE_DIR}/src/nfd_cocoa.m")
+endif ()
+
+add_library(nfd ${nfd_sources})
+
+set_target_properties(
+ nfd
+ PROPERTIES
+ DEBUG_POSTFIX "_d"
+ PUBLIC_HEADER ${CMAKE_CURRENT_LIST_DIR}/src/include/nfd.h
+)
+
+target_compile_definitions(
+ nfd
+ PRIVATE
+ $<$<C_COMPILER_ID:MSVC>:_CRT_SECURE_NO_WARNINGS>
+)
+
+target_include_directories(
+ nfd
+ PUBLIC
+ $<BUILD_INTERFACE:
+ ${CMAKE_CURRENT_LIST_DIR}/src
+ ${CMAKE_CURRENT_LIST_DIR}/src/include
+ >
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+)
+
+if (GTK3_FOUND)
+ target_include_directories(nfd PUBLIC ${GTK3_INCLUDE_DIRS})
+ target_link_libraries(nfd PUBLIC ${GTK3_LIBRARIES})
+endif ()
+
+install(TARGETS nfd EXPORT unofficial-nativefiledialog-config)
+
+install(
+ EXPORT unofficial-nativefiledialog-config
+ NAMESPACE unofficial::nativefiledialog::
+ DESTINATION share/unofficial-nativefiledialog
+ PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
+)
diff --git a/ports/nativefiledialog/CONTROL b/ports/nativefiledialog/CONTROL
new file mode 100644
index 000000000..60aca3c45
--- /dev/null
+++ b/ports/nativefiledialog/CONTROL
@@ -0,0 +1,7 @@
+Source: nativefiledialog
+Version: 2019-08-28
+Description: A tiny, neat C library that portably invokes native file open and save dialogs
+Homepage: https://github.com/mlabbe/nativefiledialog
+
+Feature: zenity
+Description: Using Zenity backend on Linux
diff --git a/ports/nativefiledialog/portfile.cmake b/ports/nativefiledialog/portfile.cmake
new file mode 100644
index 000000000..f8e0faae1
--- /dev/null
+++ b/ports/nativefiledialog/portfile.cmake
@@ -0,0 +1,41 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message(FATAL_ERROR "${PORT} does not currently support UWP")
+endif()
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO mlabbe/nativefiledialog
+ REF ceb75f7abf30736aa8ee4800cde0d444c798f8b9
+ SHA512 dd2bff28bb08fb1f6b07ad28530da039f176fb641e300b816040a2b2b840611e418cad44fdaf395ec565c50149ce58c80f88f6a77b403b843f2b14f1f2c91d7d
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_check_features(
+ OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ INVERTED_FEATURES "zenity" NFD_GTK_BACKEND
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ ${FEATURE_OPTIONS}
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT})
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
+
+# CMake integration test
+vcpkg_test_cmake(PACKAGE_NAME unofficial-${PORT})
diff --git a/ports/nmap/CONTROL b/ports/nmap/CONTROL
index 8dcace63e..3ce86d4a9 100644
--- a/ports/nmap/CONTROL
+++ b/ports/nmap/CONTROL
@@ -1,4 +1,4 @@
Source: nmap
-Version: 7.70
-Build-Depends: winpcap, lua, openssl, python2, libssh2
+Version: 7.70-1
+Build-Depends: winpcap (windows), libpcap (!windows), lua, openssl, python2 (windows), libssh2, zlib, pcre
Description: A library for scanning network ports.
diff --git a/ports/nmap/build.sh b/ports/nmap/build.sh
deleted file mode 100644
index f4e5d4b29..000000000
--- a/ports/nmap/build.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/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
-
-PATH_TO_BUILD_DIR="`cygpath "$1"`"
-PATH_TO_SRC_DIR="`cygpath "$2"`"
-PATH_TO_PACKAGE_DIR="`cygpath "$3"`"
-# Note: $4 is extra configure options
-
-cd "$PATH_TO_BUILD_DIR"
-echo "=== CONFIGURING ==="
-echo "building nmap package $PATH_TO_SRC_DIR"
-"$PATH_TO_SRC_DIR/configure" CC=cl.exe LD=link.exe CXX=lc.exe "--prefix=$PATH_TO_PACKAGE_DIR" $4
-echo "=== BUILDING ==="
-make -j6
-echo "=== INSTALLING ==="
-make install
diff --git a/ports/nmap/detect-crypto-library.patch b/ports/nmap/detect-crypto-library.patch
deleted file mode 100644
index 243735b9e..000000000
--- a/ports/nmap/detect-crypto-library.patch
+++ /dev/null
@@ -1,75 +0,0 @@
---- a/configure 2017-11-01 23:55:49.000000000 +0100
-+++ b/configure 2019-03-05 03:35:21.753268300 +0100
-@@ -5989,13 +5989,13 @@
-
- # use_openssl="yes" given explicitly in next 2 rules to avoid adding lib to $LIBS
- if test "$use_openssl" = "yes"; then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BIO_int_ctrl in -lcrypto" >&5
--$as_echo_n "checking for BIO_int_ctrl in -lcrypto... " >&6; }
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BIO_int_ctrl in -llibeay32" >&5
-+$as_echo_n "checking for BIO_int_ctrl in -llibeay32... " >&6; }
- if ${ac_cv_lib_crypto_BIO_int_ctrl+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_check_lib_save_LIBS=$LIBS
--LIBS="-lcrypto $LIBS"
-+LIBS="-llibeay32 $LIBS"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
-
-@@ -6030,23 +6030,23 @@
- else
- use_openssl="no"
- if test "$with_openssl" = "yes"; then
-- as_fn_error $? "OpenSSL was explicitly requested but libcrypto was not found. Try the --with-openssl=DIR argument to give the location of OpenSSL or run configure with --without-openssl." "$LINENO" 5
-+ as_fn_error $? "OpenSSL was explicitly requested but libeay32 was not found. Try the --with-openssl=DIR argument to give the location of OpenSSL or run configure with --without-openssl." "$LINENO" 5
- fi
-- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Failed to find libcrypto so OpenSSL will not be used. If it is installed you can try the --with-openssl=DIR argument" >&5
--$as_echo "$as_me: WARNING: Failed to find libcrypto so OpenSSL will not be used. If it is installed you can try the --with-openssl=DIR argument" >&2;}
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Failed to find libeay32 so OpenSSL will not be used. If it is installed you can try the --with-openssl=DIR argument" >&5
-+$as_echo "$as_me: WARNING: Failed to find libeay32 so OpenSSL will not be used. If it is installed you can try the --with-openssl=DIR argument" >&2;}
-
- fi
-
- fi
-
- if test "$use_openssl" = "yes"; then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSL_new in -lssl" >&5
--$as_echo_n "checking for SSL_new in -lssl... " >&6; }
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSL_new in -lssleay32" >&5
-+$as_echo_n "checking for SSL_new in -lssleay32... " >&6; }
- if ${ac_cv_lib_ssl_SSL_new+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_check_lib_save_LIBS=$LIBS
--LIBS="-lssl -lcrypto $LIBS"
-+LIBS="-lssleay32 -llibeay32 $LIBS"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
-
-@@ -6090,13 +6090,13 @@
- fi
-
- if test "$use_openssl" = "yes"; then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVP_PKEY_get1_EC_KEY in -lcrypto" >&5
--$as_echo_n "checking for EVP_PKEY_get1_EC_KEY in -lcrypto... " >&6; }
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVP_PKEY_get1_EC_KEY in -llibeay32" >&5
-+$as_echo_n "checking for EVP_PKEY_get1_EC_KEY in -llibeay32... " >&6; }
- if ${ac_cv_lib_crypto_EVP_PKEY_get1_EC_KEY+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_check_lib_save_LIBS=$LIBS
--LIBS="-lcrypto $LIBS"
-+LIBS="-llibeay32 $LIBS"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
-
-@@ -6144,7 +6144,7 @@
-
- $as_echo "#define HAVE_OPENSSL 1" >>confdefs.h
-
-- OPENSSL_LIBS="-lssl -lcrypto"
-+ OPENSSL_LIBS="-lssleay32 -llibeay32"
- else
- trace_no_use="$trace_no_use openssl"
- fi
diff --git a/ports/nmap/fix-msvc-prj.patch b/ports/nmap/fix-msvc-prj.patch
new file mode 100644
index 000000000..cfb9d52ff
--- /dev/null
+++ b/ports/nmap/fix-msvc-prj.patch
@@ -0,0 +1,1986 @@
+diff --git a/libdnet-stripped/libdnet-stripped.vcxproj b/libdnet-stripped/libdnet-stripped.vcxproj
+index 1f2b760..1756c5c 100644
+--- a/libdnet-stripped/libdnet-stripped.vcxproj
++++ b/libdnet-stripped/libdnet-stripped.vcxproj
+@@ -5,10 +5,18 @@
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
+ <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">
+ <ProjectName>libdnet-stripped</ProjectName>
+@@ -22,11 +30,21 @@
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+@@ -34,10 +52,18 @@
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
++ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+@@ -64,6 +90,23 @@
+ <OutputFile>$(OutDir)libdnet-stripped.lib</OutputFile>
+ </Lib>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <ClCompile>
++ <AdditionalOptions>/D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions)</AdditionalOptions>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>include;..\mswin32\pcap-include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_LIB;BPF_MAJOR_VERSION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Lib>
++ <OutputFile>$(OutDir)libdnet-stripped.lib</OutputFile>
++ </Lib>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <AdditionalOptions>/D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions)</AdditionalOptions>
+@@ -78,6 +121,20 @@
+ <OutputFile>$(OutDir)libdnet-stripped.lib</OutputFile>
+ </Lib>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <ClCompile>
++ <AdditionalOptions>/D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions)</AdditionalOptions>
++ <AdditionalIncludeDirectories>include;..\mswin32\pcap-include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_LIB;BPF_MAJOR_VERSION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Lib>
++ <OutputFile>$(OutDir)libdnet-stripped.lib</OutputFile>
++ </Lib>
++ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="src\addr-util.c" />
+ <ClCompile Include="src\addr.c" />
+diff --git a/liblinear/liblinear.vcxproj b/liblinear/liblinear.vcxproj
+index cf99e3d..ac5ff7c 100644
+--- a/liblinear/liblinear.vcxproj
++++ b/liblinear/liblinear.vcxproj
+@@ -5,10 +5,18 @@
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
+ <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="blas\daxpy.c" />
+@@ -36,6 +44,12 @@
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <UseDebugLibraries>true</UseDebugLibraries>
++ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+@@ -43,19 +57,33 @@
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <UseDebugLibraries>false</UseDebugLibraries>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <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|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <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)'=='Debug|Win32'">
+ <OutDir>.\</OutDir>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <OutDir>.\</OutDir>
+ </PropertyGroup>
+@@ -75,6 +103,21 @@
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <ClCompile>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <WarningLevel>Level3</WarningLevel>
++ <Optimization>Disabled</Optimization>
++ <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <AdditionalOptions> /D_CRT_SECURE_NO_WARNINGS=1 %(AdditionalOptions)</AdditionalOptions>
++ </ClCompile>
++ <Link>
++ <SubSystem>Windows</SubSystem>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ </Link>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+@@ -93,6 +136,24 @@
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <ClCompile>
++ <WarningLevel>Level3</WarningLevel>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <Optimization>MaxSpeed</Optimization>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <IntrinsicFunctions>true</IntrinsicFunctions>
++ <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <AdditionalOptions> /D_CRT_SECURE_NO_WARNINGS=1 %(AdditionalOptions)</AdditionalOptions>
++ </ClCompile>
++ <Link>
++ <SubSystem>Windows</SubSystem>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <EnableCOMDATFolding>true</EnableCOMDATFolding>
++ <OptimizeReferences>true</OptimizeReferences>
++ </Link>
++ </ItemDefinitionGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+diff --git a/liblua/liblua.vcxproj b/liblua/liblua.vcxproj
+index 8e80221..db6b1ea 100644
+--- a/liblua/liblua.vcxproj
++++ b/liblua/liblua.vcxproj
+@@ -5,10 +5,18 @@
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
+ <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">
+ <ProjectGuid>{31FB0767-A71F-4575-8379-002D72B8AF86}</ProjectGuid>
+@@ -22,20 +30,37 @@
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>NotSet</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+@@ -68,6 +93,29 @@
+ <OutputFile>$(OutDir)liblua.lib</OutputFile>
+ </Lib>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <ClCompile>
++ <AdditionalOptions>/D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions)</AdditionalOptions>
++ <Optimization>Disabled</Optimization>
++ <PreprocessorDefinitions>WIN32;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
++ <RuntimeTypeInfo>false</RuntimeTypeInfo>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CallingConvention>Cdecl</CallingConvention>
++ <CompileAs>CompileAsC</CompileAs>
++ </ClCompile>
++ <Lib>
++ <OutputFile>$(OutDir)liblua.lib</OutputFile>
++ </Lib>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <AdditionalOptions>/D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions)</AdditionalOptions>
+@@ -91,6 +139,29 @@
+ <OutputFile>$(OutDir)liblua.lib</OutputFile>
+ </Lib>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <ClCompile>
++ <AdditionalOptions>/D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions)</AdditionalOptions>
++ <WholeProgramOptimization>false</WholeProgramOptimization>
++ <PreprocessorDefinitions>WIN32;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MinimalRebuild>false</MinimalRebuild>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
++ <RuntimeTypeInfo>false</RuntimeTypeInfo>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>
++ </DebugInformationFormat>
++ <CompileAs>CompileAsC</CompileAs>
++ </ClCompile>
++ <Lib>
++ <OutputFile>$(OutDir)liblua.lib</OutputFile>
++ </Lib>
++ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="lapi.c" />
+ <ClCompile Include="lauxlib.c" />
+diff --git a/libnetutil/libnetutil.vcxproj b/libnetutil/libnetutil.vcxproj
+index 8f4fbb5..00cc7c2 100644
+--- a/libnetutil/libnetutil.vcxproj
++++ b/libnetutil/libnetutil.vcxproj
+@@ -5,10 +5,18 @@
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
+ <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">
+ <ProjectGuid>{99157C3F-39F6-4663-99D7-1D9C1484494E}</ProjectGuid>
+@@ -22,20 +30,37 @@
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>Unicode</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+@@ -61,6 +86,22 @@
+ <OutputFile>$(OutDir)libnetutil.lib</OutputFile>
+ </Lib>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>..;../mswin32;../nbase;../mswin32/pcap-include;../libdnet-stripped/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;BPF_MAJOR_VERSION;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Lib>
++ <OutputFile>$(OutDir)libnetutil.lib</OutputFile>
++ </Lib>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+@@ -74,6 +115,19 @@
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <IntrinsicFunctions>true</IntrinsicFunctions>
++ <AdditionalIncludeDirectories>..;../mswin32;../nbase;../mswin32/pcap-include;../libdnet-stripped/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;BPF_MAJOR_VERSION;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="ARPHeader.cc" />
+ <ClCompile Include="DestOptsHeader.cc" />
+diff --git a/mswin32/nmap.sln b/mswin32/nmap.sln
+index 3f9fa22..4484bbd 100644
+--- a/mswin32/nmap.sln
++++ b/mswin32/nmap.sln
+@@ -5,14 +5,11 @@ MinimumVisualStudioVersion = 10.0.40219.1
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nmap", "nmap.vcxproj", "{361719F0-AB42-4C93-9DE8-7D2144B96625}"
+ ProjectSection(ProjectDependencies) = postProject
+ {99157C3F-39F6-4663-99D7-1D9C1484494E} = {99157C3F-39F6-4663-99D7-1D9C1484494E}
+- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8} = {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}
+ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D} = {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}
+ EndProjectSection
+ EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nsock", "..\nsock\nsock.vcxproj", "{F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}"
+ EndProject
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpcre", "..\libpcre\libpcre.vcxproj", "{5DE86C7A-DE72-4265-8807-4CA38F94F22A}"
+-EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nbase", "..\nbase\nbase.vcxproj", "{B630C8F7-3138-43E8-89ED-78742FA2AC5F}"
+ EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libdnet-stripped", "..\libdnet-stripped\libdnet-stripped.vcxproj", "{5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}"
+@@ -27,14 +24,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libnetutil", "..\libnetutil
+ EndProject
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liblinear", "..\liblinear\liblinear.vcxproj", "{A7BE3D76-F20C-40C5-8986-DE4028B3B57D}"
+ EndProject
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nmap-update", "..\nmap-update\nmap-update.vcxproj", "{BBF27339-C7B6-4F52-B742-897796C1F13B}"
+-EndProject
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libz", "..\libz\contrib\vstudio\vc11\zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}"
+-EndProject
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libssh2", "..\libssh2\win32\libssh2.vcxproj", "{ED957342-E43B-496E-92D9-4C76B525BDF5}"
+-EndProject
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "..\libz\contrib\vstudio\vc11\zlibstat.vcxproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}"
+-EndProject
+ Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+@@ -49,176 +38,148 @@ Global
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Debug|Win32.ActiveCfg = Debug|Win32
+ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Debug|Win32.Build.0 = Debug|Win32
+- {361719F0-AB42-4C93-9DE8-7D2144B96625}.Debug|x64.ActiveCfg = Debug|Win32
++ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Debug|x64.ActiveCfg = Debug|x64
++ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Debug|x64.Build.0 = Debug|x64
+ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Ncat Static|Win32.ActiveCfg = Release|Win32
+- {361719F0-AB42-4C93-9DE8-7D2144B96625}.Ncat Static|x64.ActiveCfg = Release|Win32
++ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Ncat Static|x64.ActiveCfg = Release|x64
++ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Ncat Static|x64.Build.0 = Release|x64
+ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Release|Win32.ActiveCfg = Release|Win32
+ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Release|Win32.Build.0 = Release|Win32
+- {361719F0-AB42-4C93-9DE8-7D2144B96625}.Release|x64.ActiveCfg = Release|Win32
++ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Release|x64.ActiveCfg = Release|x64
++ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Release|x64.Build.0 = Release|x64
+ {361719F0-AB42-4C93-9DE8-7D2144B96625}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
+ {361719F0-AB42-4C93-9DE8-7D2144B96625}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32
+- {361719F0-AB42-4C93-9DE8-7D2144B96625}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32
++ {361719F0-AB42-4C93-9DE8-7D2144B96625}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
++ {361719F0-AB42-4C93-9DE8-7D2144B96625}.ReleaseWithoutAsm|x64.Build.0 = Release|x64
+ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Debug|Win32.ActiveCfg = Debug|Win32
+ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Debug|Win32.Build.0 = Debug|Win32
+- {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Debug|x64.ActiveCfg = Debug|Win32
++ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Debug|x64.ActiveCfg = Debug|x64
++ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Debug|x64.Build.0 = Debug|x64
+ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Ncat Static|Win32.ActiveCfg = Static|Win32
+ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Ncat Static|Win32.Build.0 = Static|Win32
+- {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Ncat Static|x64.ActiveCfg = Static|Win32
++ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Ncat Static|x64.ActiveCfg = Static|x64
++ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Ncat Static|x64.Build.0 = Static|x64
+ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Release|Win32.ActiveCfg = Release|Win32
+ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Release|Win32.Build.0 = Release|Win32
+- {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Release|x64.ActiveCfg = Release|Win32
++ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Release|x64.ActiveCfg = Release|x64
++ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Release|x64.Build.0 = Release|x64
+ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseNoPcap|Win32
+ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseNoPcap|Win32
+- {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseNoPcap|Win32
+- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Debug|Win32.ActiveCfg = Debug|Win32
+- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Debug|Win32.Build.0 = Debug|Win32
+- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Debug|x64.ActiveCfg = Debug|Win32
+- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Ncat Static|Win32.ActiveCfg = Release|Win32
+- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Ncat Static|x64.ActiveCfg = Release|Win32
+- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Release|Win32.ActiveCfg = Release|Win32
+- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Release|Win32.Build.0 = Release|Win32
+- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Release|x64.ActiveCfg = Release|Win32
+- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
+- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32
+- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32
++ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseNoPcap|x64
++ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.ReleaseWithoutAsm|x64.Build.0 = ReleaseNoPcap|x64
+ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Debug|Win32.Build.0 = Debug|Win32
+- {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Debug|x64.ActiveCfg = Debug|Win32
++ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Debug|x64.ActiveCfg = Debug|x64
++ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Debug|x64.Build.0 = Debug|x64
+ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Ncat Static|Win32.ActiveCfg = Static|Win32
+ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Ncat Static|Win32.Build.0 = Static|Win32
+- {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Ncat Static|x64.ActiveCfg = Static|Win32
++ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Ncat Static|x64.ActiveCfg = Static|x64
++ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Ncat Static|x64.Build.0 = Static|x64
+ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Release|Win32.ActiveCfg = Release|Win32
+ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Release|Win32.Build.0 = Release|Win32
+- {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Release|x64.ActiveCfg = Release|Win32
++ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Release|x64.ActiveCfg = Release|x64
++ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Release|x64.Build.0 = Release|x64
+ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
+ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32
+- {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32
++ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
++ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.ReleaseWithoutAsm|x64.Build.0 = Release|x64
+ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Debug|Win32.Build.0 = Debug|Win32
+- {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Debug|x64.ActiveCfg = Debug|Win32
++ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Debug|x64.ActiveCfg = Debug|x64
++ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Debug|x64.Build.0 = Debug|x64
+ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Ncat Static|Win32.ActiveCfg = Release|Win32
+- {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Ncat Static|x64.ActiveCfg = Release|Win32
++ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Ncat Static|x64.ActiveCfg = Release|x64
++ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Ncat Static|x64.Build.0 = Release|x64
+ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Release|Win32.ActiveCfg = Release|Win32
+ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Release|Win32.Build.0 = Release|Win32
+- {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Release|x64.ActiveCfg = Release|Win32
++ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Release|x64.ActiveCfg = Release|x64
++ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Release|x64.Build.0 = Release|x64
+ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
+ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32
+- {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32
++ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
++ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.ReleaseWithoutAsm|x64.Build.0 = Release|x64
+ {31FB0767-A71F-4575-8379-002D72B8AF86}.Debug|Win32.ActiveCfg = Debug|Win32
+ {31FB0767-A71F-4575-8379-002D72B8AF86}.Debug|Win32.Build.0 = Debug|Win32
+- {31FB0767-A71F-4575-8379-002D72B8AF86}.Debug|x64.ActiveCfg = Debug|Win32
++ {31FB0767-A71F-4575-8379-002D72B8AF86}.Debug|x64.ActiveCfg = Debug|x64
++ {31FB0767-A71F-4575-8379-002D72B8AF86}.Debug|x64.Build.0 = Debug|x64
+ {31FB0767-A71F-4575-8379-002D72B8AF86}.Ncat Static|Win32.ActiveCfg = Release|Win32
+- {31FB0767-A71F-4575-8379-002D72B8AF86}.Ncat Static|x64.ActiveCfg = Release|Win32
++ {31FB0767-A71F-4575-8379-002D72B8AF86}.Ncat Static|x64.ActiveCfg = Release|x64
++ {31FB0767-A71F-4575-8379-002D72B8AF86}.Ncat Static|x64.Build.0 = Release|x64
+ {31FB0767-A71F-4575-8379-002D72B8AF86}.Release|Win32.ActiveCfg = Release|Win32
+ {31FB0767-A71F-4575-8379-002D72B8AF86}.Release|Win32.Build.0 = Release|Win32
+- {31FB0767-A71F-4575-8379-002D72B8AF86}.Release|x64.ActiveCfg = Release|Win32
++ {31FB0767-A71F-4575-8379-002D72B8AF86}.Release|x64.ActiveCfg = Release|x64
++ {31FB0767-A71F-4575-8379-002D72B8AF86}.Release|x64.Build.0 = Release|x64
+ {31FB0767-A71F-4575-8379-002D72B8AF86}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
+ {31FB0767-A71F-4575-8379-002D72B8AF86}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32
+- {31FB0767-A71F-4575-8379-002D72B8AF86}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32
++ {31FB0767-A71F-4575-8379-002D72B8AF86}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
++ {31FB0767-A71F-4575-8379-002D72B8AF86}.ReleaseWithoutAsm|x64.Build.0 = Release|x64
+ {C1E04411-E021-468B-83F1-CB624BBA7589}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C1E04411-E021-468B-83F1-CB624BBA7589}.Debug|Win32.Build.0 = Debug|Win32
+- {C1E04411-E021-468B-83F1-CB624BBA7589}.Debug|x64.ActiveCfg = Debug|Win32
++ {C1E04411-E021-468B-83F1-CB624BBA7589}.Debug|x64.ActiveCfg = Debug|x64
++ {C1E04411-E021-468B-83F1-CB624BBA7589}.Debug|x64.Build.0 = Debug|x64
+ {C1E04411-E021-468B-83F1-CB624BBA7589}.Ncat Static|Win32.ActiveCfg = Static|Win32
+ {C1E04411-E021-468B-83F1-CB624BBA7589}.Ncat Static|Win32.Build.0 = Static|Win32
+- {C1E04411-E021-468B-83F1-CB624BBA7589}.Ncat Static|x64.ActiveCfg = Static|Win32
++ {C1E04411-E021-468B-83F1-CB624BBA7589}.Ncat Static|x64.ActiveCfg = Static|x64
++ {C1E04411-E021-468B-83F1-CB624BBA7589}.Ncat Static|x64.Build.0 = Static|x64
+ {C1E04411-E021-468B-83F1-CB624BBA7589}.Release|Win32.ActiveCfg = Release|Win32
+ {C1E04411-E021-468B-83F1-CB624BBA7589}.Release|Win32.Build.0 = Release|Win32
+- {C1E04411-E021-468B-83F1-CB624BBA7589}.Release|x64.ActiveCfg = Release|Win32
++ {C1E04411-E021-468B-83F1-CB624BBA7589}.Release|x64.ActiveCfg = Release|x64
++ {C1E04411-E021-468B-83F1-CB624BBA7589}.Release|x64.Build.0 = Release|x64
+ {C1E04411-E021-468B-83F1-CB624BBA7589}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
+ {C1E04411-E021-468B-83F1-CB624BBA7589}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32
+- {C1E04411-E021-468B-83F1-CB624BBA7589}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32
++ {C1E04411-E021-468B-83F1-CB624BBA7589}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
++ {C1E04411-E021-468B-83F1-CB624BBA7589}.ReleaseWithoutAsm|x64.Build.0 = Release|x64
+ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Debug|Win32.ActiveCfg = Debug|Win32
+ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Debug|Win32.Build.0 = Debug|Win32
+- {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Debug|x64.ActiveCfg = Debug|Win32
++ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Debug|x64.ActiveCfg = Debug|x64
++ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Debug|x64.Build.0 = Debug|x64
+ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Ncat Static|Win32.ActiveCfg = Release|Win32
+- {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Ncat Static|x64.ActiveCfg = Release|Win32
++ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Ncat Static|x64.ActiveCfg = Release|x64
++ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Ncat Static|x64.Build.0 = Release|x64
+ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Release|Win32.ActiveCfg = Release|Win32
+ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Release|Win32.Build.0 = Release|Win32
+- {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Release|x64.ActiveCfg = Release|Win32
++ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Release|x64.ActiveCfg = Release|x64
++ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Release|x64.Build.0 = Release|x64
+ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
+ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32
+- {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32
++ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
++ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.ReleaseWithoutAsm|x64.Build.0 = Release|x64
+ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Debug|Win32.Build.0 = Debug|Win32
+- {99157C3F-39F6-4663-99D7-1D9C1484494E}.Debug|x64.ActiveCfg = Debug|Win32
++ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Debug|x64.ActiveCfg = Debug|x64
++ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Debug|x64.Build.0 = Debug|x64
+ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Ncat Static|Win32.ActiveCfg = Release|Win32
+- {99157C3F-39F6-4663-99D7-1D9C1484494E}.Ncat Static|x64.ActiveCfg = Release|Win32
++ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Ncat Static|x64.ActiveCfg = Release|x64
++ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Ncat Static|x64.Build.0 = Release|x64
+ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Release|Win32.ActiveCfg = Release|Win32
+ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Release|Win32.Build.0 = Release|Win32
+- {99157C3F-39F6-4663-99D7-1D9C1484494E}.Release|x64.ActiveCfg = Release|Win32
++ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Release|x64.ActiveCfg = Release|x64
++ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Release|x64.Build.0 = Release|x64
+ {99157C3F-39F6-4663-99D7-1D9C1484494E}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
+ {99157C3F-39F6-4663-99D7-1D9C1484494E}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32
+- {99157C3F-39F6-4663-99D7-1D9C1484494E}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32
++ {99157C3F-39F6-4663-99D7-1D9C1484494E}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
++ {99157C3F-39F6-4663-99D7-1D9C1484494E}.ReleaseWithoutAsm|x64.Build.0 = Release|x64
+ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Debug|Win32.ActiveCfg = Debug|Win32
+ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Debug|Win32.Build.0 = Debug|Win32
+- {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Debug|x64.ActiveCfg = Debug|Win32
++ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Debug|x64.ActiveCfg = Debug|x64
++ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Debug|x64.Build.0 = Debug|x64
+ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Ncat Static|Win32.ActiveCfg = Release|Win32
+ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Ncat Static|Win32.Build.0 = Release|Win32
+- {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Ncat Static|x64.ActiveCfg = Release|Win32
++ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Ncat Static|x64.ActiveCfg = Release|x64
++ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Ncat Static|x64.Build.0 = Release|x64
+ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Release|Win32.ActiveCfg = Release|Win32
+ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Release|Win32.Build.0 = Release|Win32
+- {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Release|x64.ActiveCfg = Release|Win32
++ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Release|x64.ActiveCfg = Release|x64
++ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Release|x64.Build.0 = Release|x64
+ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
+ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32
+- {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32
+- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Debug|Win32.ActiveCfg = Debug|Win32
+- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Debug|Win32.Build.0 = Debug|Win32
+- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Debug|x64.ActiveCfg = Debug|Win32
+- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Ncat Static|Win32.ActiveCfg = Release|Win32
+- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Ncat Static|Win32.Build.0 = Release|Win32
+- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Ncat Static|x64.ActiveCfg = Release|Win32
+- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Release|Win32.ActiveCfg = Release|Win32
+- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Release|Win32.Build.0 = Release|Win32
+- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Release|x64.ActiveCfg = Release|Win32
+- {BBF27339-C7B6-4F52-B742-897796C1F13B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
+- {BBF27339-C7B6-4F52-B742-897796C1F13B}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32
+- {BBF27339-C7B6-4F52-B742-897796C1F13B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32
+- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32
+- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32
+- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.ActiveCfg = Debug|x64
+- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.Build.0 = Debug|x64
+- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Ncat Static|Win32.ActiveCfg = Release|Win32
+- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Ncat Static|Win32.Build.0 = Release|Win32
+- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Ncat Static|x64.ActiveCfg = Release|x64
+- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Ncat Static|x64.Build.0 = Release|x64
+- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32
+- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32
+- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64
+- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64
+- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
+- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
+- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
+- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
+- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Debug|Win32.ActiveCfg = Debug|Win32
+- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Debug|Win32.Build.0 = Debug|Win32
+- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Debug|x64.ActiveCfg = Debug|Win32
+- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Ncat Static|Win32.ActiveCfg = Debug|Win32
+- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Ncat Static|Win32.Build.0 = Debug|Win32
+- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Ncat Static|x64.ActiveCfg = Release|Win32
+- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Release|Win32.ActiveCfg = Release|Win32
+- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Release|Win32.Build.0 = Release|Win32
+- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Release|x64.ActiveCfg = Release|Win32
+- {ED957342-E43B-496E-92D9-4C76B525BDF5}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32
+- {ED957342-E43B-496E-92D9-4C76B525BDF5}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32
+- {ED957342-E43B-496E-92D9-4C76B525BDF5}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32
+- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.ActiveCfg = Debug|Win32
+- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.Build.0 = Debug|Win32
+- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.ActiveCfg = Debug|x64
+- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.Build.0 = Debug|x64
+- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Ncat Static|Win32.ActiveCfg = Release|Win32
+- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Ncat Static|Win32.Build.0 = Release|Win32
+- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Ncat Static|x64.ActiveCfg = Release|x64
+- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Ncat Static|x64.Build.0 = Release|x64
+- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32
+- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32
+- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64
+- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64
+- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32
+- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32
+- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64
+- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64
++ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64
++ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.ReleaseWithoutAsm|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
++ GlobalSection(ExtensibilityGlobals) = postSolution
++ SolutionGuid = {DAA6BF7B-6F78-4BE7-A3FC-3B1BD73676C3}
++ EndGlobalSection
+ EndGlobal
+diff --git a/mswin32/nmap.vcxproj b/mswin32/nmap.vcxproj
+index a3abbc6..d5e1977 100644
+--- a/mswin32/nmap.vcxproj
++++ b/mswin32/nmap.vcxproj
+@@ -5,10 +5,18 @@
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
+ <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">
+ <ProjectGuid>{361719F0-AB42-4C93-9DE8-7D2144B96625}</ProjectGuid>
+@@ -21,12 +29,24 @@
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+@@ -34,10 +54,18 @@
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
++ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+@@ -76,7 +104,7 @@
+ <ShowIncludes>false</ShowIncludes>
+ </ClCompile>
+ <Link>
+- <AdditionalDependencies>liblua.lib;nsock.lib;libpcre.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlibstat.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libeay32.lib;ssleay32.lib;shell32.lib;libnetutil.lib</AdditionalDependencies>
++ <AdditionalDependencies>liblua.lib;nsock.lib;pcred.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlibd.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libeay32.lib;ssleay32.lib;shell32.lib;libnetutil.lib</AdditionalDependencies>
+ <OutputFile>.\Debug\nmap.exe</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <AdditionalLibraryDirectories>..\libssh2\win32\Release_dll;lib;..\liblua;..\libpcre;..\nsock;..\nbase;..\libdnet-stripped;../libnetutil;..\..\nmap-mswin32-aux\OpenSSL\lib;..\liblinear;..\libz\contrib\vstudio\vc11\x86\ZlibStatRelease;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+@@ -91,8 +119,57 @@
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <PostBuildEvent>
+- <Command>xcopy "$(SolutionDir)..\scripts" ".\$(Configuration)\scripts\" /e /y &amp;&amp; xcopy "$(SolutionDir)..\nselib\*.lua" "$(SolutionDir)\$(Configuration)\nselib\" /y &amp;&amp; xcopy /s /e "$(SolutionDir)..\nselib\data\*.*" "$(SolutionDir)\$(Configuration)\nselib\data\" /y &amp;&amp; xcopy "$(SolutionDir)\..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(SolutionDir)\$(Configuration)\" /y &amp;&amp; xcopy "$(SolutionDir)..\nse_main.lua" "$(SolutionDir)\$(Configuration)\" /y
+-xcopy /y /d "$(ProjectDir)..\libssh2\win32\$(Configuration)_dll\*.dll" "$(ProjectDir)$(OutDir)"</Command>
++ <Command>xcopy "$(SolutionDir)..\scripts" ".\$(Configuration)\scripts\" /e /y &amp;&amp; xcopy "$(SolutionDir)..\nselib\*.lua" "$(SolutionDir)\$(Configuration)\nselib\" /y &amp;&amp; xcopy /s /e "$(SolutionDir)..\nselib\data\*.*" "$(SolutionDir)\$(Configuration)\nselib\data\" /y &amp;&amp; xcopy "$(SolutionDir)..\nse_main.lua" "$(SolutionDir)\$(Configuration)\" /y</Command>
++ </PostBuildEvent>
++ <ResourceCompile>
++ <ResourceOutputFileName>$(IntDir)%(Filename).res</ResourceOutputFileName>
++ </ResourceCompile>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TypeLibraryName>.\Debug/nmap.tlb</TypeLibraryName>
++ <HeaderFileName>
++ </HeaderFileName>
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>.;..;..\liblua;..\nbase;..\libpcre;..\nsock\include;pcap-include;..\libdnet-stripped\include;..\..\nmap-mswin32-aux\OpenSSL\include;..\liblinear;..\libssh2\include;..\libz;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <AdditionalIncludeDirectories>..\libssh2\include;.;..;..\liblua;..\nbase;..\libpcre;..\nsock\include;pcap-include;..\libdnet-stripped\include;..\..\nmap-mswin32-aux\OpenSSL\include;..\liblinear;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CONSOLE;BPF_MAJOR_VERSION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <PreprocessToFile>false</PreprocessToFile>
++ <PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
++ <PreprocessKeepComments>false</PreprocessKeepComments>
++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <PrecompiledHeaderOutputFile>.\Debug/nmap.pch</PrecompiledHeaderOutputFile>
++ <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
++ <ObjectFileName>.\Debug/</ObjectFileName>
++ <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
++ <WarningLevel>Level2</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsCpp</CompileAs>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <ShowIncludes>false</ShowIncludes>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>liblua.lib;nsock.lib;pcred.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlibd.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libeay32.lib;ssleay32.lib;shell32.lib;libnetutil.lib</AdditionalDependencies>
++ <OutputFile>.\Debug\nmap.exe</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <AdditionalLibraryDirectories>..\libssh2\win32\Release_dll;lib;..\liblua\x64\Debug;..\libpcre\x64\Debug;..\nsock\x64\Debug;..\nbase\x64\Debug;..\libdnet-stripped\x64\Debug;..\libnetutil\x64\Debug;..\..\nmap-mswin32-aux\OpenSSL\lib;..\liblinear\x64\Debug;..\libz\contrib\vstudio\vc11\x86\ZlibStatRelease;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
++ <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <DelayLoadDLLs>packet.dll;wpcap.dll;iphlpapi.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <ProgramDatabaseFile>.\Debug/nmap.pdb</ProgramDatabaseFile>
++ <SubSystem>Console</SubSystem>
++ <RandomizedBaseAddress>false</RandomizedBaseAddress>
++ <DataExecutionPrevention>
++ </DataExecutionPrevention>
++ </Link>
++ <PostBuildEvent>
++ <Command>xcopy "$(SolutionDir)..\scripts" ".\$(Configuration)\scripts\" /e /y &amp;&amp; xcopy "$(SolutionDir)..\nselib\*.lua" "$(SolutionDir)\$(Configuration)\nselib\" /y &amp;&amp; xcopy /s /e "$(SolutionDir)..\nselib\data\*.*" "$(SolutionDir)\$(Configuration)\nselib\data\" /y &amp;&amp; xcopy "$(SolutionDir)..\nse_main.lua" "$(SolutionDir)\$(Configuration)\" /y</Command>
+ </PostBuildEvent>
+ <ResourceCompile>
+ <ResourceOutputFileName>$(IntDir)%(Filename).res</ResourceOutputFileName>
+@@ -121,7 +198,7 @@ xcopy /y /d "$(ProjectDir)..\libssh2\win32\$(Configuration)_dll\*.dll" "$(Proje
+ <CompileAs>CompileAsCpp</CompileAs>
+ </ClCompile>
+ <Link>
+- <AdditionalDependencies>liblua.lib;nsock.lib;libpcre.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlibstat.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libeay32.lib;ssleay32.lib;shell32.lib;libnetutil.lib</AdditionalDependencies>
++ <AdditionalDependencies>liblua.lib;nsock.lib;pcre.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlib.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libeay32.lib;ssleay32.lib;shell32.lib;libnetutil.lib</AdditionalDependencies>
+ <OutputFile>.\Release/nmap.exe</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <AdditionalLibraryDirectories>..\libssh2\win32\Release_dll;lib;..\liblua;..\libpcre;..\nsock;..\nbase;..\libdnet-stripped;../libnetutil;..\..\nmap-mswin32-aux\OpenSSL\lib;..\liblinear;..\libz\contrib\vstudio\vc11\x86\ZlibStatRelease;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+@@ -135,8 +212,46 @@ xcopy /y /d "$(ProjectDir)..\libssh2\win32\$(Configuration)_dll\*.dll" "$(Proje
+ <AdditionalOptions>/LTCG %(AdditionalOptions)</AdditionalOptions>
+ </Link>
+ <PostBuildEvent>
+- <Command>xcopy "$(SolutionDir)..\scripts" ".\$(Configuration)\scripts\" /e /y &amp;&amp; xcopy "$(SolutionDir)..\nselib\*.lua" "$(SolutionDir)\$(Configuration)\nselib\" /y &amp;&amp; xcopy /s /e "$(SolutionDir)..\nselib\data\*.*" "$(SolutionDir)\$(Configuration)\nselib\data\" /y &amp;&amp; xcopy "$(SolutionDir)\..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(SolutionDir)\$(Configuration)\" /y &amp;&amp; xcopy "$(SolutionDir)..\nse_main.lua" "$(SolutionDir)\$(Configuration)\" /y
+-xcopy /y /d "$(ProjectDir)..\libssh2\win32\$(Configuration)_dll\*.dll" "$(ProjectDir)$(OutDir)"</Command>
++ <Command>xcopy "$(SolutionDir)..\scripts" ".\$(Configuration)\scripts\" /e /y &amp;&amp; xcopy "$(SolutionDir)..\nselib\*.lua" "$(SolutionDir)\$(Configuration)\nselib\" /y &amp;&amp; xcopy /s /e "$(SolutionDir)..\nselib\data\*.*" "$(SolutionDir)\$(Configuration)\nselib\data\" /y &amp;&amp; xcopy "$(SolutionDir)..\nse_main.lua" "$(SolutionDir)\$(Configuration)\" /y</Command>
++ </PostBuildEvent>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TypeLibraryName>.\Release/nmap.tlb</TypeLibraryName>
++ <HeaderFileName>
++ </HeaderFileName>
++ </Midl>
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <AdditionalIncludeDirectories>.;..;..\liblua;..\nbase;..\libpcre;..\nsock\include;pcap-include;..\libdnet-stripped\include;..\..\nmap-mswin32-aux\OpenSSL\include;..\liblinear;..\libssh2\include;..\libz;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CONSOLE;BPF_MAJOR_VERSION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <PrecompiledHeaderOutputFile>.\Release/nmap.pch</PrecompiledHeaderOutputFile>
++ <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
++ <ObjectFileName>.\Release/</ObjectFileName>
++ <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <CompileAs>CompileAsCpp</CompileAs>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>liblua.lib;nsock.lib;pcre.lib;nbase.lib;libdnet-stripped.lib;libssh2.lib;zlib.lib;liblinear.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libeay32.lib;ssleay32.lib;shell32.lib;libnetutil.lib</AdditionalDependencies>
++ <OutputFile>.\Release/nmap.exe</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <AdditionalLibraryDirectories>..\libssh2\win32\Release_dll;lib;..\liblua\x64\Release;..\libpcre;..\nsock\x64\Release;..\nbase\x64\Release;..\libdnet-stripped\x64\Release;..\libnetutil\x64\Release;..\..\nmap-mswin32-aux\OpenSSL\lib;..\liblinear\x64\Release;..\libz\contrib\vstudio\vc11\x86\ZlibStatRelease;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
++ <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <DelayLoadDLLs>packet.dll;wpcap.dll;iphlpapi.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
++ <ProgramDatabaseFile>.\Release/nmap.pdb</ProgramDatabaseFile>
++ <SubSystem>Console</SubSystem>
++ <RandomizedBaseAddress>true</RandomizedBaseAddress>
++ <DataExecutionPrevention>true</DataExecutionPrevention>
++ <AdditionalOptions>/LTCG %(AdditionalOptions)</AdditionalOptions>
++ </Link>
++ <PostBuildEvent>
++ <Command>xcopy "$(SolutionDir)..\scripts" ".\$(Configuration)\scripts\" /e /y &amp;&amp; xcopy "$(SolutionDir)..\nselib\*.lua" "$(SolutionDir)\$(Configuration)\nselib\" /y &amp;&amp; xcopy /s /e "$(SolutionDir)..\nselib\data\*.*" "$(SolutionDir)\$(Configuration)\nselib\data\" /y &amp;&amp; xcopy "$(SolutionDir)..\nse_main.lua" "$(SolutionDir)\$(Configuration)\" /y</Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+@@ -191,7 +306,9 @@ xcopy /y /d "$(ProjectDir)..\libssh2\win32\$(Configuration)_dll\*.dll" "$(Proje
+ <ClCompile Include="..\xml.cc" />
+ <ClCompile Include="winfix.cc">
+ <ExceptionHandling Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Sync</ExceptionHandling>
++ <ExceptionHandling Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Sync</ExceptionHandling>
+ <ExceptionHandling Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Sync</ExceptionHandling>
++ <ExceptionHandling Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Sync</ExceptionHandling>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+@@ -251,83 +368,147 @@ xcopy /y /d "$(ProjectDir)..\libssh2\win32\$(Configuration)_dll\*.dll" "$(Proje
+ <None Include="icon1.ico" />
+ <CustomBuild Include="..\nmap-mac-prefixes">
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying %(Filename) to output directory...</Message>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Copying %(Filename) to output directory...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
++</Command>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
+ </Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Copying %(Filename) to output directory...</Message>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Copying %(Filename) to output directory...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
++</Command>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
+ </Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
+ </CustomBuild>
+ <CustomBuild Include="..\nmap-os-db">
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying %(Filename) to output directory...</Message>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Copying %(Filename) to output directory...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
++</Command>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
+ </Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Copying %(Filename) to output directory...</Message>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Copying %(Filename) to output directory...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
++</Command>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
+ </Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
+ </CustomBuild>
+ <CustomBuild Include="..\nmap-payloads">
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying %(Filename) to output directory...</Message>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Copying %(Filename) to output directory...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
++</Command>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
+ </Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Copying %(Filename) to output directory...</Message>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Copying %(Filename) to output directory...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
++</Command>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
+ </Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
+ </CustomBuild>
+ <CustomBuild Include="..\nmap-protocols">
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying %(Filename) to output directory...</Message>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Copying %(Filename) to output directory...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
++</Command>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
+ </Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Copying %(Filename) to output directory...</Message>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Copying %(Filename) to output directory...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
++</Command>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
+ </Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
+ </CustomBuild>
+ <CustomBuild Include="..\nmap-rpc">
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying %(Filename) to output directory...</Message>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Copying %(Filename) to output directory...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
++</Command>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
+ </Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Copying %(Filename) to output directory...</Message>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Copying %(Filename) to output directory...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
++</Command>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
+ </Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
+ </CustomBuild>
+ <CustomBuild Include="..\nmap-service-probes">
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying %(Filename) to output directory...</Message>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Copying %(Filename) to output directory...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
++</Command>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
+ </Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Copying %(Filename) to output directory...</Message>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Copying %(Filename) to output directory...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
++</Command>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
+ </Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
+ </CustomBuild>
+ <CustomBuild Include="..\nmap-services">
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying %(Filename) to output directory...</Message>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Copying %(Filename) to output directory...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
++</Command>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
+ </Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Copying %(Filename) to output directory...</Message>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Copying %(Filename) to output directory...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
++</Command>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy /y "%(FullPath)" "$(TargetDir)%(Filename)" &gt; nul
+ </Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(TargetDir)%(Filename);%(Outputs)</Outputs>
+ </CustomBuild>
+ <CustomBuild Include="..\docs\nmap.xsl">
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying %(Filename).xsl to output directory...</Message>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Copying %(Filename).xsl to output directory...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy /y "%(FullPath)" "$(TargetDir)%(Filename).xsl" &gt; nul
++</Command>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy /y "%(FullPath)" "$(TargetDir)%(Filename).xsl" &gt; nul
+ </Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(TargetDir)%(Filename).xsl;%(Outputs)</Outputs>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(TargetDir)%(Filename).xsl;%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Copying %(Filename).xsl to output directory...</Message>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Copying %(Filename).xsl to output directory...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy /y "%(FullPath)" "$(TargetDir)%(Filename).xsl" &gt; nul
++</Command>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy /y "%(FullPath)" "$(TargetDir)%(Filename).xsl" &gt; nul
+ </Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(TargetDir)%(Filename).xsl;%(Outputs)</Outputs>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(TargetDir)%(Filename).xsl;%(Outputs)</Outputs>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+@@ -339,18 +520,6 @@ xcopy /y /d "$(ProjectDir)..\libssh2\win32\$(Configuration)_dll\*.dll" "$(Proje
+ <Project>{31fb0767-a71f-4575-8379-002d72b8af86}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ </ProjectReference>
+- <ProjectReference Include="..\libpcre\libpcre.vcxproj">
+- <Project>{5de86c7a-de72-4265-8807-4ca38f94f22a}</Project>
+- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+- </ProjectReference>
+- <ProjectReference Include="..\libssh2\win32\libssh2.vcxproj">
+- <Project>{ed957342-e43b-496e-92d9-4c76b525bdf5}</Project>
+- <Private>false</Private>
+- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+- <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+- <LinkLibraryDependencies>true</LinkLibraryDependencies>
+- <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
+- </ProjectReference>
+ <ProjectReference Include="..\nbase\nbase.vcxproj">
+ <Project>{b630c8f7-3138-43e8-89ed-78742fa2ac5f}</Project>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+diff --git a/nbase/nbase.vcxproj b/nbase/nbase.vcxproj
+index 948d7c8..b600c7b 100644
+--- a/nbase/nbase.vcxproj
++++ b/nbase/nbase.vcxproj
+@@ -5,14 +5,26 @@
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
+ <ProjectConfiguration Include="Static|Win32">
+ <Configuration>Static</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Static|x64">
++ <Configuration>Static</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{B630C8F7-3138-43E8-89ED-78742FA2AC5F}</ProjectGuid>
+@@ -25,16 +37,31 @@
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+@@ -42,14 +69,26 @@
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
++ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+@@ -76,6 +115,21 @@
+ <OutputFile>$(OutDir)nbase.lib</OutputFile>
+ </Lib>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <PreprocessorDefinitions>WIN32;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Lib>
++ <OutputFile>$(OutDir)nbase.lib</OutputFile>
++ </Lib>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <AdditionalOptions>/D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions)</AdditionalOptions>
+@@ -89,6 +143,19 @@
+ <OutputFile>$(OutDir)nbase.lib</OutputFile>
+ </Lib>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <ClCompile>
++ <AdditionalOptions>/D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions)</AdditionalOptions>
++ <PreprocessorDefinitions>WIN32;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Lib>
++ <OutputFile>$(OutDir)nbase.lib</OutputFile>
++ </Lib>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
+ <ClCompile>
+ <AdditionalOptions>/D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions)</AdditionalOptions>
+@@ -103,6 +170,20 @@
+ <OutputFile>$(OutDir)nbase.lib</OutputFile>
+ </Lib>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'">
++ <ClCompile>
++ <AdditionalOptions>/D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions)</AdditionalOptions>
++ <PreprocessorDefinitions>WIN32;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ </ClCompile>
++ <Lib>
++ <OutputFile>$(OutDir)nbase.lib</OutputFile>
++ </Lib>
++ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="getopt.c" />
+ <ClCompile Include="inet_ntop.c" />
+diff --git a/ncat/ncat.vcxproj b/ncat/ncat.vcxproj
+index fc44dfa..e066b29 100644
+--- a/ncat/ncat.vcxproj
++++ b/ncat/ncat.vcxproj
+@@ -5,14 +5,26 @@
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
+ <ProjectConfiguration Include="Static|Win32">
+ <Configuration>Static</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Static|x64">
++ <Configuration>Static</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{C1E04411-E021-468B-83F1-CB624BBA7589}</ProjectGuid>
+@@ -25,18 +37,36 @@
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+@@ -44,26 +74,41 @@
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
++ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">.\Release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">.\Release\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</LinkIncremental>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</LinkIncremental>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">true</LinkIncremental>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Static|x64'">true</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Midl>
+@@ -111,6 +156,51 @@
+ <Command>xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(Configuration)\" /y</Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TypeLibraryName>.\Debug/ncat.tlb</TypeLibraryName>
++ <HeaderFileName>
++ </HeaderFileName>
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>.;..;../nbase;..\nsock\include;..\mswin32\pcap-include;..\..\nmap-mswin32-aux\OpenSSL\include;..\liblua;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <PrecompiledHeaderOutputFile>.\Debug/ncat.pch</PrecompiledHeaderOutputFile>
++ <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
++ <ObjectFileName>.\Debug/</ObjectFileName>
++ <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
++ <WarningLevel>Level2</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsCpp</CompileAs>
++ </ClCompile>
++ <ResourceCompile>
++ <ResourceOutputFileName>
++ </ResourceOutputFileName>
++ </ResourceCompile>
++ <Link>
++ <AdditionalDependencies>nbase.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;nsock.lib;advapi32.lib;libeay32.lib;ssleay32.lib;liblua.lib</AdditionalDependencies>
++ <OutputFile>.\Debug\ncat.exe</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <AdditionalLibraryDirectories>..\mswin32\lib;..\nsock;..\nbase;..\..\nmap-mswin32-aux\OpenSSL\lib;..\liblua;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
++ <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <DelayLoadDLLs>wpcap.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <ProgramDatabaseFile>.\Debug/ncat.pdb</ProgramDatabaseFile>
++ <SubSystem>Console</SubSystem>
++ <RandomizedBaseAddress>false</RandomizedBaseAddress>
++ <DataExecutionPrevention>
++ </DataExecutionPrevention>
++ </Link>
++ <PostBuildEvent>
++ <Command>xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(Configuration)\" /y</Command>
++ </PostBuildEvent>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Midl>
+ <TypeLibraryName>.\Release/ncat.tlb</TypeLibraryName>
+@@ -151,6 +241,45 @@
+ <Command>xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(Configuration)\" /y</Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TypeLibraryName>.\Release/ncat.tlb</TypeLibraryName>
++ <HeaderFileName>
++ </HeaderFileName>
++ </Midl>
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <AdditionalIncludeDirectories>.;..;../nbase;..\nsock\include;..\mswin32\pcap-include;..\..\nmap-mswin32-aux\OpenSSL\include;..\liblua;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <PrecompiledHeaderOutputFile>.\Release/ncat.pch</PrecompiledHeaderOutputFile>
++ <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
++ <ObjectFileName>.\Release/</ObjectFileName>
++ <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
++ <WarningLevel>Level2</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <CompileAs>CompileAsCpp</CompileAs>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>nsock.lib;nbase.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;advapi32.lib;libeay32.lib;ssleay32.lib</AdditionalDependencies>
++ <OutputFile>.\Release/ncat.exe</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <AdditionalLibraryDirectories>..\mswin32\lib;..\nsock;..\nbase;..\..\nmap-mswin32-aux\OpenSSL\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
++ <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <DelayLoadDLLs>wpcap.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
++ <ProgramDatabaseFile>.\Release/ncat.pdb</ProgramDatabaseFile>
++ <SubSystem>Console</SubSystem>
++ <RandomizedBaseAddress>true</RandomizedBaseAddress>
++ <DataExecutionPrevention>true</DataExecutionPrevention>
++ </Link>
++ <PostBuildEvent>
++ <Command>xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(Configuration)\" /y</Command>
++ </PostBuildEvent>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
+ <Midl>
+ <TypeLibraryName>.\Release/ncat.tlb</TypeLibraryName>
+@@ -193,6 +322,47 @@
+ </Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'">
++ <Midl>
++ <TypeLibraryName>.\Release/ncat.tlb</TypeLibraryName>
++ <HeaderFileName>
++ </HeaderFileName>
++ </Midl>
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <AdditionalIncludeDirectories>.;..;../nbase;..\nsock\include;..\mswin32\pcap-include;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <PrecompiledHeaderOutputFile>.\Release/ncat.pch</PrecompiledHeaderOutputFile>
++ <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
++ <ObjectFileName>.\Release/</ObjectFileName>
++ <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
++ <WarningLevel>Level2</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <CompileAs>CompileAsCpp</CompileAs>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>nsock.lib;nbase.lib;ws2_32.lib;IPHlpAPI.Lib;advapi32.lib;libeay32.lib;ssleay32.lib;user32.lib;gdi32.lib</AdditionalDependencies>
++ <OutputFile>.\Release/ncat.exe</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <AdditionalLibraryDirectories>..\mswin32\lib;..\nsock;..\nbase;..\..\nmap-mswin32-aux\OpenSSL\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
++ <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
++ <ProgramDatabaseFile>.\Release/ncat.pdb</ProgramDatabaseFile>
++ <SubSystem>Console</SubSystem>
++ <RandomizedBaseAddress>true</RandomizedBaseAddress>
++ <DataExecutionPrevention>true</DataExecutionPrevention>
++ </Link>
++ <PostBuildEvent>
++ <Command>
++ </Command>
++ </PostBuildEvent>
++ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="base64.c" />
+ <ClCompile Include="http.c" />
+@@ -230,17 +400,29 @@
+ <ItemGroup>
+ <CustomBuild Include="certs\ca-bundle.crt">
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Copying %(Filename).crt to output directory...</Message>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Copying %(Filename).crt to output directory...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">copy /y "%(FullPath)" "$(TargetDir)%(Filename).crt" &gt; nul
++</Command>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">copy /y "%(FullPath)" "$(TargetDir)%(Filename).crt" &gt; nul
+ </Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(TargetDir)%(Filename).crt;%(Outputs)</Outputs>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(TargetDir)%(Filename).crt;%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Copying %(Filename).crt to output directory...</Message>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Copying %(Filename).crt to output directory...</Message>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">Copying %(Filename).crt to output directory...</Message>
++ <Message Condition="'$(Configuration)|$(Platform)'=='Static|x64'">Copying %(Filename).crt to output directory...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">copy /y "%(FullPath)" "$(TargetDir)%(Filename).crt" &gt; nul
++</Command>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">copy /y "%(FullPath)" "$(TargetDir)%(Filename).crt" &gt; nul
+ </Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">copy /y "%(FullPath)" "$(TargetDir)%(Filename).crt" &gt; nul
++</Command>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Static|x64'">copy /y "%(FullPath)" "$(TargetDir)%(Filename).crt" &gt; nul
+ </Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(TargetDir)%(Filename).crt;%(Outputs)</Outputs>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(TargetDir)%(Filename).crt;%(Outputs)</Outputs>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">$(TargetDir)%(Filename).crt;%(Outputs)</Outputs>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Static|x64'">$(TargetDir)%(Filename).crt;%(Outputs)</Outputs>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+diff --git a/nping/nping.vcxproj b/nping/nping.vcxproj
+index 57bd4ed..fa7a604 100644
+--- a/nping/nping.vcxproj
++++ b/nping/nping.vcxproj
+@@ -5,10 +5,18 @@
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
+ <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">
+ <ProjectGuid>{CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}</ProjectGuid>
+@@ -21,12 +29,24 @@
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+@@ -34,19 +54,29 @@
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
++ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</LinkIncremental>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Midl>
+@@ -93,6 +123,50 @@
+ <Command>xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(SolutionDir)\$(Configuration)\" /y </Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TypeLibraryName>.\Debug/nmap.tlb</TypeLibraryName>
++ <HeaderFileName>
++ </HeaderFileName>
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>.;..;..\mswin32;../nbase;..\nsock\include;..\mswin32\pcap-include;..\libdnet-stripped\include;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CONSOLE;BPF_MAJOR_VERSION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <PreprocessToFile>false</PreprocessToFile>
++ <PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
++ <PreprocessKeepComments>false</PreprocessKeepComments>
++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <PrecompiledHeaderOutputFile>.\Debug/nmap.pch</PrecompiledHeaderOutputFile>
++ <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
++ <ObjectFileName>.\Debug/</ObjectFileName>
++ <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
++ <WarningLevel>Level2</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsCpp</CompileAs>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>nsock.lib;nbase.lib;libdnet-stripped.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libeay32.lib;ssleay32.lib;shell32.lib;libnetutil.lib</AdditionalDependencies>
++ <OutputFile>.\Debug\nping.exe</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <AdditionalLibraryDirectories>..\mswin32\lib;..\nsock;..\nbase;..\libdnet-stripped;../libnetutil;..\..\nmap-mswin32-aux\OpenSSL\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
++ <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <DelayLoadDLLs>packet.dll;wpcap.dll;iphlpapi.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <ProgramDatabaseFile>.\Debug/nmap.pdb</ProgramDatabaseFile>
++ <SubSystem>Console</SubSystem>
++ <RandomizedBaseAddress>false</RandomizedBaseAddress>
++ <DataExecutionPrevention>
++ </DataExecutionPrevention>
++ </Link>
++ <PostBuildEvent>
++ <Command>xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(SolutionDir)\$(Configuration)\" /y </Command>
++ </PostBuildEvent>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Midl>
+ <TypeLibraryName>.\Release/nmap.tlb</TypeLibraryName>
+@@ -132,6 +206,44 @@
+ <Command>xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(SolutionDir)\$(Configuration)\" /y </Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TypeLibraryName>.\Release/nmap.tlb</TypeLibraryName>
++ <HeaderFileName>
++ </HeaderFileName>
++ </Midl>
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <AdditionalIncludeDirectories>.;..;..\mswin32;../nbase;..\nsock\include;..\mswin32\pcap-include;..\libdnet-stripped\include;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_CONSOLE;BPF_MAJOR_VERSION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <PrecompiledHeaderOutputFile>.\Release/nping.pch</PrecompiledHeaderOutputFile>
++ <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
++ <ObjectFileName>.\Release/</ObjectFileName>
++ <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <CompileAs>CompileAsCpp</CompileAs>
++ </ClCompile>
++ <Link>
++ <AdditionalDependencies>nsock.lib;nbase.lib;libdnet-stripped.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;packet.lib;advapi32.lib;libeay32.lib;ssleay32.lib;shell32.lib;libnetutil.lib</AdditionalDependencies>
++ <OutputFile>.\Release/nping.exe</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <AdditionalLibraryDirectories>..\mswin32\lib;..\nsock;..\nbase;..\libdnet-stripped;../libnetutil;..\..\nmap-mswin32-aux\OpenSSL\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
++ <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <DelayLoadDLLs>packet.dll;wpcap.dll;iphlpapi.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
++ <ProgramDatabaseFile>.\Release/nping.pdb</ProgramDatabaseFile>
++ <SubSystem>Console</SubSystem>
++ <RandomizedBaseAddress>true</RandomizedBaseAddress>
++ <DataExecutionPrevention>true</DataExecutionPrevention>
++ </Link>
++ <PostBuildEvent>
++ <Command>xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(SolutionDir)\$(Configuration)\" /y </Command>
++ </PostBuildEvent>
++ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="ArgParser.cc" />
+ <ClCompile Include="common.cc" />
+diff --git a/nsock/nsock.vcxproj b/nsock/nsock.vcxproj
+index 36feb48..f720258 100644
+--- a/nsock/nsock.vcxproj
++++ b/nsock/nsock.vcxproj
+@@ -5,22 +5,42 @@
+ <Configuration>DebugNoPcap</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="DebugNoPcap|x64">
++ <Configuration>DebugNoPcap</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
+ <ProjectConfiguration Include="ReleaseNoPcap|Win32">
+ <Configuration>ReleaseNoPcap</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="ReleaseNoPcap|x64">
++ <Configuration>ReleaseNoPcap</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
+ <ProjectConfiguration Include="Static|Win32">
+ <Configuration>Static</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
++ <ProjectConfiguration Include="Static|x64">
++ <Configuration>Static</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}</ProjectGuid>
+@@ -33,26 +53,51 @@
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNoPcap|x64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugNoPcap|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugNoPcap|x64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>StaticLibrary</ConfigurationType>
++ <CharacterSet>MultiByte</CharacterSet>
++ <PlatformToolset>v120</PlatformToolset>
++ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+@@ -60,22 +105,42 @@
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNoPcap|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugNoPcap|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugNoPcap|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
++ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
++ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+@@ -110,6 +175,25 @@
+ <OutputFile>$(OutDir)nsock.lib</OutputFile>
+ </Lib>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>..\nbase\;include;..\mswin32\pcap-include;..\mswin32;..\;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsCpp</CompileAs>
++ </ClCompile>
++ <Lib>
++ <OutputFile>$(OutDir)nsock.lib</OutputFile>
++ </Lib>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <AdditionalOptions>/D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions)</AdditionalOptions>
+@@ -127,6 +211,23 @@
+ <OutputFile>$(OutDir)nsock.lib</OutputFile>
+ </Lib>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <ClCompile>
++ <AdditionalOptions>/D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions)</AdditionalOptions>
++ <AdditionalIncludeDirectories>..\nbase\;include;..\mswin32\pcap-include;..\mswin32;..\;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsCpp</CompileAs>
++ </ClCompile>
++ <Lib>
++ <OutputFile>$(OutDir)nsock.lib</OutputFile>
++ </Lib>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
+ <ClCompile>
+ <AdditionalOptions>/D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions)</AdditionalOptions>
+@@ -145,6 +246,24 @@
+ <OutputFile>$(OutDir)nsock.lib</OutputFile>
+ </Lib>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'">
++ <ClCompile>
++ <AdditionalOptions>/D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions)</AdditionalOptions>
++ <AdditionalIncludeDirectories>..\nbase\;include;..\mswin32\pcap-include;..\mswin32;..\;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_LIB;%(PreprocessorDefinitions);DISABLE_NSOCK_PCAP</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsCpp</CompileAs>
++ </ClCompile>
++ <Lib>
++ <OutputFile>$(OutDir)nsock.lib</OutputFile>
++ </Lib>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugNoPcap|Win32'">
+ <ClCompile>
+ <AdditionalOptions>/D "DISABLE_NSOCK_PCAP" %(AdditionalOptions)</AdditionalOptions>
+@@ -166,9 +285,47 @@
+ <OutputFile>$(OutDir)nsock.lib</OutputFile>
+ </Lib>
+ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugNoPcap|x64'">
++ <ClCompile>
++ <AdditionalOptions>/D "DISABLE_NSOCK_PCAP" %(AdditionalOptions)</AdditionalOptions>
++ <Optimization>Disabled</Optimization>
++ <AdditionalIncludeDirectories>..\nbase\;include;..\mswin32\pcap-include;..\mswin32;..\;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsCpp</CompileAs>
++ </ClCompile>
++ <Lib>
++ <OutputFile>$(OutDir)nsock.lib</OutputFile>
++ </Lib>
++ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNoPcap|Win32'">
+ <ClCompile>
+ <AdditionalOptions>/D "_CRT_SECURE_NO_DEPRECATE"
++/D "DISABLE_NSOCK_PCAP" %(AdditionalOptions)</AdditionalOptions>
++ <AdditionalIncludeDirectories>..\nbase\;include;..\mswin32\pcap-include;..\mswin32;..\;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>WIN32;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <PrecompiledHeader>
++ </PrecompiledHeader>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>CompileAsCpp</CompileAs>
++ </ClCompile>
++ <Lib>
++ <OutputFile>$(OutDir)nsock.lib</OutputFile>
++ </Lib>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNoPcap|x64'">
++ <ClCompile>
++ <AdditionalOptions>/D "_CRT_SECURE_NO_DEPRECATE"
+ /D "DISABLE_NSOCK_PCAP" %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalIncludeDirectories>..\nbase\;include;..\mswin32\pcap-include;..\mswin32;..\;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/ports/nmap/fix-snprintf.patch b/ports/nmap/fix-snprintf.patch
new file mode 100644
index 000000000..aafd1cfe9
--- /dev/null
+++ b/ports/nmap/fix-snprintf.patch
@@ -0,0 +1,39 @@
+diff --git a/libdnet-stripped/include/dnet_winconfig.h b/libdnet-stripped/include/dnet_winconfig.h
+index e41907c..82bc595 100644
+--- a/libdnet-stripped/include/dnet_winconfig.h
++++ b/libdnet-stripped/include/dnet_winconfig.h
+@@ -277,7 +277,7 @@ int strlcpy(char *, const char *, int);
+ char *strsep(char **, const char *);
+ #endif
+
+-#define snprintf _snprintf
++//#define snprintf _snprintf
+
+ /* Without this, Windows will give us all sorts of crap about using functions
+ like strcpy() even if they are done safely */
+diff --git a/nbase/nbase.h b/nbase/nbase.h
+index 0ecd9bc..c0eb395 100644
+--- a/nbase/nbase.h
++++ b/nbase/nbase.h
+@@ -359,7 +359,7 @@ extern "C" int vsnprintf (char *, size_t, const char *, va_list);
+ #define putenv _putenv
+
+ #if !defined(__GNUC__)
+-#define snprintf _snprintf
++//#define snprintf _snprintf
+ #endif
+
+ #define strcasecmp _stricmp
+diff --git a/nse_libssh2.cc b/nse_libssh2.cc
+index bf721b6..1fafe7f 100644
+--- a/nse_libssh2.cc
++++ b/nse_libssh2.cc
+@@ -58,7 +58,7 @@ struct ssh_userdata {
+
+
+ #if defined(_MSC_VER) && _MSC_VER < 1900
+-#define snprintf c99_snprintf
++//#define snprintf c99_snprintf
+ #define vsnprintf c99_vsnprintf
+
+ __inline int c99_vsnprintf(char *outBuf, size_t size, const char *format, va_list ap) {
diff --git a/ports/nmap/fix-ssize_t.patch b/ports/nmap/fix-ssize_t.patch
new file mode 100644
index 000000000..36103a8c2
--- /dev/null
+++ b/ports/nmap/fix-ssize_t.patch
@@ -0,0 +1,16 @@
+diff --git a/libdnet-stripped/include/dnet/os.h b/libdnet-stripped/include/dnet/os.h
+index 55a21b9..544ebd8 100644
+--- a/libdnet-stripped/include/dnet/os.h
++++ b/libdnet-stripped/include/dnet/os.h
+@@ -23,7 +23,11 @@
+ typedef u_short uint16_t;
+ typedef u_int uint32_t;
+ # ifndef __CYGWIN__
++#ifdef _WIN64
++ typedef __int64 ssize_t;
++#else
+ typedef long ssize_t;
++#endif
+ # endif
+ #else
+ # include <sys/param.h>
diff --git a/ports/nmap/portfile.cmake b/ports/nmap/portfile.cmake
index 5e2e05787..3554fb9ad 100644
--- a/ports/nmap/portfile.cmake
+++ b/ports/nmap/portfile.cmake
@@ -1,134 +1,117 @@
include(vcpkg_common_functions)
+# nmap is a tools, so ignor POST_CHECK
+SET(VCPKG_POLICY_EMPTY_PACKAGE enabled)
+
vcpkg_download_distfile(ARCHIVE
URLS "https://nmap.org/dist/nmap-7.70.tar.bz2"
FILENAME "nmap-7.70.tar.bz2"
SHA512 084c148b022ff6550e269d976d0077f7932a10e2ef218236fe13aa3a70b4eb6506df03329868fc68cb3ce78e4360b200f5a7a491d3145028fed679ef1c9ecae5
)
-vcpkg_extract_source_archive_ex(
- OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
- REF ${SQLITE_VERSION}
-)
-
-vcpkg_extract_source_archive(${ARCHIVE})
-
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/detect-crypto-library.patch
-)
-
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
- vcpkg_acquire_msys(MSYS_ROOT PACKAGES perl gcc diffutils make)
-else()
- vcpkg_acquire_msys(MSYS_ROOT PACKAGES diffutils make)
-endif()
-set(BASH ${MSYS_ROOT}/usr/bin/bash.exe)
-set(ENV{INCLUDE} "${CURRENT_INSTALLED_DIR}/include;$ENV{INCLUDE}")
-set(ENV{LIB} "${CURRENT_INSTALLED_DIR}/lib;$ENV{LIB}")
-
-set(_csc_PROJECT_PATH nmap)
-file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
-
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- set(ENV{LIBPATH} "$ENV{LIBPATH};$ENV{_WKITS10}references\\windows.foundation.foundationcontract\\2.0.0.0\\;$ENV{_WKITS10}references\\windows.foundation.universalapicontract\\3.0.0.0\\")
- set(OPTIONS "${OPTIONS} --disable-programs --enable-cross-compile --target-os=win32 --arch=${VCPKG_TARGET_ARCHITECTURE}")
- set(OPTIONS "${OPTIONS} --extra-cflags=-DWINAPI_FAMILY=WINAPI_FAMILY_APP --extra-cflags=-D_WIN32_WINNT=0x0A00")
-
- if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
- vcpkg_find_acquire_program(GASPREPROCESSOR)
- foreach(GAS_PATH ${GASPREPROCESSOR})
- get_filename_component(GAS_ITEM_PATH ${GAS_PATH} DIRECTORY)
- set(ENV{PATH} "$ENV{PATH};${GAS_ITEM_PATH}")
- endforeach(GAS_PATH)
- elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
- elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
- else()
- message(FATAL_ERROR "Unsupported architecture")
+if(VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+ PATCHES
+ fix-snprintf.patch
+ fix-ssize_t.patch
+ fix-msvc-prj.patch
+ )
+ list(APPEND DEL_PROJS "libpcap" "libpcre" "libssh2" "libz")
+ foreach (DEL_PROJ ${DEL_PROJS})
+ file(REMOVE_RECURSE ${SOURCE_PATH}/${DEL_PROJ})
+ endforeach()
+
+ # Clear
+ vcpkg_execute_required_process(
+ COMMAND "devenv.exe"
+ "nmap.sln"
+ /Clean
+ WORKING_DIRECTORY ${SOURCE_PATH}/mswin32
+ )
+
+ # Uprade
+ message(STATUS "Upgrade solution...")
+ vcpkg_execute_required_process(
+ COMMAND "devenv.exe"
+ "nmap.sln"
+ /Upgrade
+ WORKING_DIRECTORY ${SOURCE_PATH}/mswin32
+ LOGNAME upgrade-Packet-${TARGET_TRIPLET}
+ )
+ # Build
+ vcpkg_build_msbuild(
+ PROJECT_PATH ${SOURCE_PATH}/mswin32/nmap.vcxproj
+ PLATFORM ${MSBUILD_PLATFORM}
+ USE_VCPKG_INTEGRATION
+ )
+
+ # Install
+ if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL Release)
+ file(INSTALL ${SOURCE_PATH}/mswin32/Release/nmap.exe
+ ${SOURCE_PATH}/mswin32/Release/nmap.pdb
+ DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
endif()
-endif()
-
-
-set(OPTIONS "--with-openssl=${VCPKG_ROOT_DIR}/installed/x64-windows/bin/ --with-libssh2=${VCPKG_ROOT_DIR}/installed/x64-windows/bin/")
-
-message(STATUS "Building Options: ${OPTIONS}")
-
-set(OPTIONS_DEBUG "") # Note: --disable-optimizations can't be used due to http://ffmpeg.org/pipermail/libav-user/2013-March/003945.html
-set(OPTIONS_RELEASE "")
-
-if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
- set(OPTIONS "${OPTIONS} --disable-static --enable-shared")
- if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- set(OPTIONS "${OPTIONS} --extra-ldflags=-APPCONTAINER --extra-ldflags=WindowsApp.lib")
+ if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL Debug)
+ file(INSTALL ${SOURCE_PATH}/mswin32/Debug/nmap.exe
+ ${SOURCE_PATH}/mswin32/Debug/nmap.pdb
+ DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
endif()
-endif()
-
-message(STATUS "Building Options: ${OPTIONS}")
-
-message(STATUS "Building ${_csc_PROJECT_PATH} for Release")
-file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
-vcpkg_execute_required_process(
- COMMAND ${BASH} --noprofile --norc "${CMAKE_CURRENT_LIST_DIR}\\build.sh"
- "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" # BUILD DIR
- "${SOURCE_PATH}" # SOURCE DIR
- "${CURRENT_PACKAGES_DIR}" # PACKAGE DIR
- "${OPTIONS} ${OPTIONS_RELEASE}"
- WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
- LOGNAME build-${TARGET_TRIPLET}-rel
-)
-
-message(STATUS "Building ${_csc_PROJECT_PATH} for Debug")
-file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
-vcpkg_execute_required_process(
- COMMAND ${BASH} --noprofile --norc "${CMAKE_CURRENT_LIST_DIR}\\build.sh"
- "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" # BUILD DIR
- "${SOURCE_PATH}" # SOURCE DIR
- "${CURRENT_PACKAGES_DIR}/debug" # PACKAGE DIR
- "${OPTIONS} ${OPTIONS_DEBUG}"
- WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
- LOGNAME build-${TARGET_TRIPLET}-dbg
-)
-
-file(GLOB DEF_FILES ${CURRENT_PACKAGES_DIR}/lib/*.def ${CURRENT_PACKAGES_DIR}/debug/lib/*.def)
-
-if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
- set(LIB_MACHINE_ARG /machine:ARM)
-elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
- set(LIB_MACHINE_ARG /machine:x86)
-elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
- set(LIB_MACHINE_ARG /machine:x64)
else()
- message(FATAL_ERROR "Unsupported target architecture")
-endif()
-
-foreach(DEF_FILE ${DEF_FILES})
- get_filename_component(DEF_FILE_DIR "${DEF_FILE}" DIRECTORY)
- get_filename_component(DEF_FILE_NAME "${DEF_FILE}" NAME)
- string(REGEX REPLACE "-[0-9]*\\.def" ".lib" OUT_FILE_NAME "${DEF_FILE_NAME}")
- file(TO_NATIVE_PATH "${DEF_FILE}" DEF_FILE_NATIVE)
- file(TO_NATIVE_PATH "${DEF_FILE_DIR}/${OUT_FILE_NAME}" OUT_FILE_NATIVE)
- message(STATUS "Generating ${OUT_FILE_NATIVE}")
- vcpkg_execute_required_process(
- COMMAND lib.exe /def:${DEF_FILE_NATIVE} /out:${OUT_FILE_NATIVE} ${LIB_MACHINE_ARG}
- WORKING_DIRECTORY ${CURRENT_PACKAGES_DIR}
- LOGNAME libconvert-${TARGET_TRIPLET}
- )
-endforeach()
-
-file(GLOB EXP_FILES ${CURRENT_PACKAGES_DIR}/lib/*.exp ${CURRENT_PACKAGES_DIR}/debug/lib/*.exp)
-file(GLOB LIB_FILES ${CURRENT_PACKAGES_DIR}/bin/*.lib ${CURRENT_PACKAGES_DIR}/debug/bin/*.lib)
-file(GLOB EXE_FILES ${CURRENT_PACKAGES_DIR}/bin/*.exe ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
-set(FILES_TO_REMOVE ${EXP_FILES} ${LIB_FILES} ${DEF_FILES} ${EXE_FILES})
-list(LENGTH FILES_TO_REMOVE FILES_TO_REMOVE_LEN)
-if(FILES_TO_REMOVE_LEN GREATER 0)
- file(REMOVE ${FILES_TO_REMOVE})
+ foreach(BUILD_TYPE rel dbg)
+ file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BUILD_TYPE})
+ file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BUILD_TYPE})
+ # Since nmap makefile has strong relationshop with codes, copy codes to obj path
+ vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BUILD_TYPE})
+ endforeach()
+ set(OPTIONS --without-nmap-update --with-openssl=${CURRENT_INSTALLED_DIR} --with-libssh2=${CURRENT_INSTALLED_DIR} --with-libz=${CURRENT_INSTALLED_DIR} --with-libpcre=${CURRENT_INSTALLED_DIR})
+ message(STATUS "Building Options: ${OPTIONS}")
+
+ if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL Release)
+ message(STATUS "Configuring ${TARGET_TRIPLET}-rel")
+ set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/nmap-7.70)
+ vcpkg_execute_required_process(
+ COMMAND "./configure" ${OPTIONS}
+ WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
+ LOGNAME config-${TARGET_TRIPLET}-rel
+ )
+
+ message(STATUS "Building ${TARGET_TRIPLET}-rel")
+ vcpkg_execute_required_process(
+ COMMAND make
+ WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
+ LOGNAME build-${TARGET_TRIPLET}-rel
+ )
+
+ message(STATUS "Installing ${TARGET_TRIPLET}-rel")
+ file(INSTALL ${SOURCE_PATH_RELEASE}/nmap DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
+ endif()
+
+ if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL Debug)
+ message(STATUS "Configuring ${TARGET_TRIPLET}-dbg")
+ set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/nmap-7.70)
+ vcpkg_execute_required_process(
+ COMMAND "./configure" ${OPTIONS}
+ WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
+ LOGNAME config-${TARGET_TRIPLET}-dbg
+ )
+
+ message(STATUS "Building ${TARGET_TRIPLET}-dbg")
+ vcpkg_execute_required_process(
+ COMMAND make
+ WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
+ LOGNAME build-${TARGET_TRIPLET}-dbg
+ )
+
+ message(STATUS "Installing ${TARGET_TRIPLET}-dbg")
+ file(INSTALL ${SOURCE_PATH_RELEASE}/nmap DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools)
+ endif()
+
+ set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/nmap-7.70)
endif()
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
vcpkg_copy_pdbs()
# Handle copyright
-# TODO: Examine build log and confirm that this license matches the build output
-file(RENAME ${CURRENT_PACKAGES_DIR}/COPYING ${CURRENT_PACKAGES_DIR}/copyright)
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/nmslib/CONTROL b/ports/nmslib/CONTROL
index 5f61fa1f9..f57463d95 100644
--- a/ports/nmslib/CONTROL
+++ b/ports/nmslib/CONTROL
@@ -1,5 +1,5 @@
Source: nmslib
-Version: 1.7.3.6-1
+Version: 1.8.1
Homepage: https://github.com/searchivarius/nmslib
Description: Non-Metric Space Library (NMSLIB) is an efficient similarity search library and a toolkit for evaluation of k-NN methods for generic non-metric spaces.
#
diff --git a/ports/nmslib/portfile.cmake b/ports/nmslib/portfile.cmake
index ed5d902ba..9b8adc231 100644
--- a/ports/nmslib/portfile.cmake
+++ b/ports/nmslib/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO nmslib/nmslib
- REF 1eda05dccd5ed34df50a243dfc64c5e9187388f8
- SHA512 e4518c8dd84867bd0ac5dbc5d3b57d8053d1f73588fc0cf1d7c91cc4819f22dc7888d6be587691ebc1fd12b67de16de63b5e0a24847b6f7b49b57d1e6b457ebd
+ REF c9fc0b862f09260b558cf81e94e0d58aca15d9e9
+ SHA512 ac9c79e3ac991dd58f239f7e0b2bd6c3185907aa283bc42098aadddac87b361867f002664cc14853822f92a491d95269578bea01aa00477e39a40424320000a1
HEAD_REF master
)
diff --git a/ports/nuklear/CONTROL b/ports/nuklear/CONTROL
index 1a923c857..e3de49f20 100644
--- a/ports/nuklear/CONTROL
+++ b/ports/nuklear/CONTROL
@@ -1,4 +1,4 @@
Source: nuklear
-Version: 2019-03-29
+Version: 2019-07-11
Homepage: https://github.com/vurtun/nuklear
Description: This is a minimal state immediate mode graphical user interface toolkit written in ANSI C and licensed under public domain
diff --git a/ports/nuklear/portfile.cmake b/ports/nuklear/portfile.cmake
index a6ef9e34f..7da7c77ca 100644
--- a/ports/nuklear/portfile.cmake
+++ b/ports/nuklear/portfile.cmake
@@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO vurtun/nuklear
- REF 509c75b086351e82865f26a507235b60a63e1538
- SHA512 d86fe93a8da8db955ccd28b353c19ea92aeb54efcf7a47ca160a576f4d52dbedc3abf7d547387a066851928c4f43c961b1daff097b3677a118c89f247042336a
+ REF 5fa99df235e50aef82e7757002099ead7a1395fe
+ SHA512 d0be03e891e4efbc54ef97e2fd8721071227b8aed17d4a57cc4aab4023975f7bf33710a864041a60d2375e3eb8f65cb2ea6255d83db874dcd21e0450ff2f5e5c
HEAD_REF master
)
file(INSTALL ${SOURCE_PATH}/nuklear.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
diff --git a/ports/ode/CONTROL b/ports/ode/CONTROL
index 605db9d18..4d0a0b724 100644
--- a/ports/ode/CONTROL
+++ b/ports/ode/CONTROL
@@ -1,4 +1,4 @@
Source: ode
-Version: 0.15.1-1
+Version: 0.15.1-2
Homepage: https://bitbucket.org/odedevs/ode/src/default/
Description: Open Dynamics Engine
diff --git a/ports/ode/portfile.cmake b/ports/ode/portfile.cmake
index a1f617fe3..13a31e335 100644
--- a/ports/ode/portfile.cmake
+++ b/ports/ode/portfile.cmake
@@ -1,15 +1,3 @@
-# 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_VERSION 0.15.1)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/ode-${SOURCE_VERSION})
@@ -25,7 +13,6 @@ vcpkg_apply_patches(
PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-add-static-runtime-option.patch"
)
-
if (TRIPLET_SYSTEM_ARCH MATCHES "arm")
message(FATAL_ERROR "ARM is currently not supported.")
elseif (TRIPLET_SYSTEM_ARCH MATCHES "x86")
@@ -100,8 +87,4 @@ if (DEFINED VCPKG_LIBRARY_LINKAGE AND VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
endif ()
-
-
-# Handle copyright
-file(COPY ${SOURCE_PATH}/LICENSE-BSD.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/ode)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/ode/LICENSE-BSD.TXT ${CURRENT_PACKAGES_DIR}/share/ode/copyright)
+file(INSTALL ${SOURCE_PATH}/LICENSE-BSD.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/ogdf/CONTROL b/ports/ogdf/CONTROL
index fe2cf909c..f13c58507 100644
--- a/ports/ogdf/CONTROL
+++ b/ports/ogdf/CONTROL
@@ -1,3 +1,4 @@
Source: ogdf
-Version: 2018-03-28-2
+Version: 2019-08-23
+Homepage: https://github.com/ogdf/ogdf
Description: Open Graph Drawing Framework
diff --git a/ports/ogdf/portfile.cmake b/ports/ogdf/portfile.cmake
index 5ad5e72ca..b74295b35 100644
--- a/ports/ogdf/portfile.cmake
+++ b/ports/ogdf/portfile.cmake
@@ -1,11 +1,12 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/2018-03-28/OGDF-snapshot)
-vcpkg_download_distfile(ARCHIVE
- URLS "http://www.ogdf.net/lib/exe/fetch.php/tech%3aogdf-snapshot-2018-03-28.zip"
- FILENAME "ogdf-2018-03-28.zip"
- SHA512 a6ddb33bc51dca4d59fcac65ff66459043b11ce5303e9d40e4fc1756adf84a0af7d0ac7debab670111e7a145dcdd9373c0e350d5b7e831b169811f246b6e19b6
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ogdf/ogdf
+ REF 8a103cf3a7dfff87fe8b7534575604bc53c0870c
+ SHA512 264e8586be7a18640f253eb7b289dd99f1f2fc42c4d2304ab12f7c6aa9c5754b710642e7296038aea0cd9368d732d0106501fefed800743b403adafff7e3f0b2
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}/src/2018-03-28)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
diff --git a/ports/ogre/CONTROL b/ports/ogre/CONTROL
index 2d870641e..3522ff8c5 100644
--- a/ports/ogre/CONTROL
+++ b/ports/ogre/CONTROL
@@ -1,5 +1,5 @@
Source: ogre
-Version: 1.12.0-2
+Version: 1.12.1
Build-Depends: freeimage, freetype, zlib, zziplib
Homepage: https://github.com/OGRECave/ogre
Description: 3D Object-Oriented Graphics Rendering Engine
diff --git a/ports/ogre/portfile.cmake b/ports/ogre/portfile.cmake
index 9f21e1f53..898077c1e 100644
--- a/ports/ogre/portfile.cmake
+++ b/ports/ogre/portfile.cmake
@@ -7,8 +7,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO OGRECave/ogre
- REF c14f8847f743f4dc1b3abc947b1725c87d8b10ce
- SHA512 a2fd7ffd653c1578bc860b58cf4c899f27cc967f75e2254dc3e372044f118d5951e42b35bfc711aa8996e1885f372d3cfa5a768b8674e0b3d844811990eb87fc
+ REF 8083067c1835147de5d82015347d95c710e36bc0
+ SHA512 0690aaff0bea74c38598894939396cab8077b84bda166deb4790fba87566114bc5267660e8efc4de9babeb1b8bddf73530e1a1dbbc63c7e24b14bc012b033bc8
HEAD_REF master
PATCHES
toolchain_fixes.patch
diff --git a/ports/ogre/toolchain_fixes.patch b/ports/ogre/toolchain_fixes.patch
index 22b2e69c7..9ff2d87df 100644
--- a/ports/ogre/toolchain_fixes.patch
+++ b/ports/ogre/toolchain_fixes.patch
@@ -1,101 +1,49 @@
diff --git a/CMake/CMakeLists.txt b/CMake/CMakeLists.txt
-index a7a3796..7e41f57 100755
+index a7a3796..2e21403 100644
--- a/CMake/CMakeLists.txt
+++ b/CMake/CMakeLists.txt
-@@ -13,13 +13,15 @@
+@@ -13,10 +13,12 @@
# directory, but can also be used for custom projects.
#############################################################
+-if(WIN32 OR APPLE)
+- set(OGRE_CMAKE_DIR "CMake")
+-else()
+- set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake")
+if(NOT DEFINED OGRE_CMAKE_DIR)
- if(WIN32 OR APPLE)
- set(OGRE_CMAKE_DIR "CMake")
- else()
- set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake")
- endif()
-+endif()
-
--set(INST_FILES Utils/FindPkgMacros.cmake)
-+set(INST_FILES Utils/FindPkgMacros.cmake)
-
- if (OGRE_CONFIG_THREAD_PROVIDER STREQUAL "poco")
- set(INST_FILES ${INST_FILES} Packages/FindPOCO.cmake)
-diff --git a/CMake/ConfigureBuild.cmake b/CMake/ConfigureBuild.cmake
-index 26c384f..131e238 100644
---- a/CMake/ConfigureBuild.cmake
-+++ b/CMake/ConfigureBuild.cmake
-@@ -68,7 +68,7 @@ if (OGRE_CONFIG_THREADS)
-
++ if(WIN32 OR APPLE)
++ set(OGRE_CMAKE_DIR "CMake")
++ else()
++ set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake")
++ endif()
endif()
--set(OGRE_ASSERT_MODE 1 CACHE STRING
-+set(OGRE_ASSERT_MODE 1 CACHE STRING
- "Enable Ogre asserts and exceptions. Possible values:
- 0 - Standard asserts in debug builds, nothing in release builds.
- 1 - Standard asserts in debug builds, exceptions in release builds.
-@@ -197,7 +197,7 @@ if (UNIX)
- configure_file(${OGRE_TEMPLATES_DIR}/OGRE-MeshLodGenerator.pc.in ${PROJECT_BINARY_DIR}/pkgconfig/OGRE-MeshLodGenerator.pc @ONLY)
- install(FILES ${PROJECT_BINARY_DIR}/pkgconfig/OGRE-MeshLodGenerator.pc DESTINATION ${OGRE_LIB_DIRECTORY}/pkgconfig)
- endif ()
--
-+
- if (OGRE_BUILD_COMPONENT_TERRAIN)
- if (OGRE_BUILD_COMPONENT_PAGING)
- set(OGRE_PAGING_ADDITIONAL_PACKAGES ", OGRE-Paging = ${OGRE_VERSION}")
+ set(INST_FILES Utils/FindPkgMacros.cmake)
diff --git a/CMake/InstallResources.cmake b/CMake/InstallResources.cmake
-index 783755e..bd7fd3d 100644
+index 783755e..79f7514 100644
--- a/CMake/InstallResources.cmake
+++ b/CMake/InstallResources.cmake
-@@ -131,7 +131,7 @@ configure_file(${OGRE_TEMPLATES_DIR}/tests.cfg.in ${PROJECT_BINARY_DIR}/inst/bin
-
-
- # install resource files
--install(FILES
-+install(FILES
- ${PROJECT_BINARY_DIR}/inst/bin/resources.cfg
- ${PROJECT_BINARY_DIR}/inst/bin/plugins.cfg
- ${PROJECT_BINARY_DIR}/inst/bin/samples.cfg
-@@ -208,17 +208,19 @@ endif ()
+@@ -208,10 +208,12 @@ endif ()
# Create the CMake package files
include(CMakePackageConfigHelpers)
+-if(WIN32 OR APPLE)
+- set(OGRE_CMAKE_DIR "CMake")
+-else()
+- set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake")
+if(NOT DEFINED OGRE_CMAKE_DIR)
- if(WIN32 OR APPLE)
- set(OGRE_CMAKE_DIR "CMake")
- else()
- set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake")
++ if(WIN32 OR APPLE)
++ set(OGRE_CMAKE_DIR "CMake")
++ else()
++ set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake")
++ endif()
endif()
-+endif()
configure_package_config_file(${OGRE_TEMPLATES_DIR}/OGREConfig.cmake.in ${PROJECT_BINARY_DIR}/cmake/OGREConfig.cmake
INSTALL_DESTINATION ${OGRE_CMAKE_DIR}
- PATH_VARS CMAKE_INSTALL_PREFIX)
- write_basic_package_version_file(
-- ${PROJECT_BINARY_DIR}/cmake/OGREConfigVersion.cmake
-- VERSION ${OGRE_VERSION}
-+ ${PROJECT_BINARY_DIR}/cmake/OGREConfigVersion.cmake
-+ VERSION ${OGRE_VERSION}
- COMPATIBILITY SameMajorVersion)
- install(FILES
- ${PROJECT_BINARY_DIR}/cmake/OGREConfig.cmake
-@@ -228,4 +230,4 @@ install(FILES
- install(EXPORT OgreTargetsRelease CONFIGURATIONS Release None "" DESTINATION ${OGRE_CMAKE_DIR} FILE OgreTargets.cmake)
- install(EXPORT OgreTargetsRelWithDebInfo CONFIGURATIONS RelWithDebInfo DESTINATION ${OGRE_CMAKE_DIR} FILE OgreTargets.cmake)
- install(EXPORT OgreTargetsMinSizeRel CONFIGURATIONS MinSizeRel DESTINATION ${OGRE_CMAKE_DIR} FILE OgreTargets.cmake)
--install(EXPORT OgreTargetsDebug CONFIGURATIONS Debug DESTINATION ${OGRE_CMAKE_DIR} FILE OgreTargets.cmake)
-\ No newline at end of file
-+install(EXPORT OgreTargetsDebug CONFIGURATIONS Debug DESTINATION ${OGRE_CMAKE_DIR} FILE OgreTargets.cmake)
diff --git a/CMake/Packages/FindCg.cmake b/CMake/Packages/FindCg.cmake
-index 4501cf9..e91bfd0 100644
+index 4501cf9..7eb57c3 100644
--- a/CMake/Packages/FindCg.cmake
+++ b/CMake/Packages/FindCg.cmake
-@@ -11,7 +11,7 @@
- # Once done, this will define
- #
- # Cg_FOUND - system has Cg
--# Cg_INCLUDE_DIRS - the Cg include directories
-+# Cg_INCLUDE_DIRS - the Cg include directories
- # Cg_LIBRARIES - link these to use Cg
-
- include(FindPkgMacros)
@@ -56,7 +56,7 @@ endif()
find_library(Cg_LIBRARY_REL NAMES ${Cg_LIBRARY_NAMES} HINTS ${Cg_LIB_SEARCH_PATH} ${Cg_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel)
@@ -106,19 +54,10 @@ index 4501cf9..e91bfd0 100644
if (WIN32)
if (CMAKE_CL_64)
diff --git a/CMake/Packages/FindFreeImage.cmake b/CMake/Packages/FindFreeImage.cmake
-index 7c89ec5..445d86a 100644
+index 7c89ec5..d8314f0 100644
--- a/CMake/Packages/FindFreeImage.cmake
+++ b/CMake/Packages/FindFreeImage.cmake
-@@ -11,7 +11,7 @@
- # Once done, this will define
- #
- # FreeImage_FOUND - system has FreeImage
--# FreeImage_INCLUDE_DIRS - the FreeImage include directories
-+# FreeImage_INCLUDE_DIRS - the FreeImage include directories
- # FreeImage_LIBRARIES - link these to use FreeImage
-
- include(FindPkgMacros)
-@@ -43,7 +43,6 @@ find_path(FreeImage_INCLUDE_DIR NAMES FreeImage.h HINTS ${FreeImage_INC_SEARCH_P
+@@ -43,7 +43,7 @@ find_path(FreeImage_INCLUDE_DIR NAMES FreeImage.h HINTS ${FreeImage_INC_SEARCH_P
find_library(FreeImage_LIBRARY_REL NAMES ${FreeImage_LIBRARY_NAMES} HINTS ${FreeImage_LIB_SEARCH_PATH} ${FreeImage_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel)
find_library(FreeImage_LIBRARY_DBG NAMES ${FreeImage_LIBRARY_NAMES_DBG} HINTS ${FreeImage_LIB_SEARCH_PATH} ${FreeImage_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug)
@@ -126,21 +65,12 @@ index 7c89ec5..445d86a 100644
+make_library_set(FreeImage)
findpkg_finish(FreeImage)
--
+
diff --git a/CMake/Packages/FindGLSLOptimizer.cmake b/CMake/Packages/FindGLSLOptimizer.cmake
-index dd4b179..8e51d2f 100644
+index dd4b179..6f158fc 100644
--- a/CMake/Packages/FindGLSLOptimizer.cmake
+++ b/CMake/Packages/FindGLSLOptimizer.cmake
-@@ -11,7 +11,7 @@
- # Once done, this will define
- #
- # GLSL_Optimizer_FOUND - system has GLSL_Optimizer
--# GLSL_Optimizer_INCLUDE_DIRS - the GLSL_Optimizer include directories
-+# GLSL_Optimizer_INCLUDE_DIRS - the GLSL_Optimizer include directories
- # GLSL_Optimizer_LIBRARIES - link these to use GLSL_Optimizer
-
- include(FindPkgMacros)
-@@ -38,8 +38,7 @@ findpkg_framework(GLSL_Optimizer)
+@@ -38,7 +38,7 @@ findpkg_framework(GLSL_Optimizer)
find_path(GLSL_Optimizer_INCLUDE_DIR NAMES glsl_optimizer.h HINTS ${GLSL_Optimizer_INC_SEARCH_PATH} ${GLSL_Optimizer_PKGC_INCLUDE_DIRS} PATH_SUFFIXES GLSL_Optimizer)
find_library(GLSL_Optimizer_LIBRARY_REL NAMES ${GLSL_Optimizer_LIBRARY_NAMES} HINTS ${GLSL_Optimizer_LIB_SEARCH_PATH} ${GLSL_Optimizer_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel)
find_library(GLSL_Optimizer_LIBRARY_DBG NAMES ${GLSL_Optimizer_LIBRARY_NAMES_DBG} HINTS ${GLSL_Optimizer_LIB_SEARCH_PATH} ${GLSL_Optimizer_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug)
@@ -149,21 +79,11 @@ index dd4b179..8e51d2f 100644
findpkg_finish(GLSL_Optimizer)
add_parent_dir(GLSL_Optimizer_INCLUDE_DIRS GLSL_Optimizer_INCLUDE_DIR)
--
diff --git a/CMake/Packages/FindHLSL2GLSL.cmake b/CMake/Packages/FindHLSL2GLSL.cmake
-index 7125895..f73c928 100644
+index 7125895..13a306f 100644
--- a/CMake/Packages/FindHLSL2GLSL.cmake
+++ b/CMake/Packages/FindHLSL2GLSL.cmake
-@@ -11,7 +11,7 @@
- # Once done, this will define
- #
- # HLSL2GLSL_FOUND - system has HLSL2GLSL
--# HLSL2GLSL_INCLUDE_DIRS - the HLSL2GLSL include directories
-+# HLSL2GLSL_INCLUDE_DIRS - the HLSL2GLSL include directories
- # HLSL2GLSL_LIBRARIES - link these to use HLSL2GLSL
-
- include(FindPkgMacros)
-@@ -38,8 +38,7 @@ findpkg_framework(HLSL2GLSL)
+@@ -38,7 +38,7 @@ findpkg_framework(HLSL2GLSL)
find_path(HLSL2GLSL_INCLUDE_DIR NAMES hlsl2glsl.h HINTS ${HLSL2GLSL_INC_SEARCH_PATH} ${HLSL2GLSL_PKGC_INCLUDE_DIRS} PATH_SUFFIXES HLSL2GLSL)
find_library(HLSL2GLSL_LIBRARY_REL NAMES ${HLSL2GLSL_LIBRARY_NAMES} HINTS ${HLSL2GLSL_LIB_SEARCH_PATH} ${HLSL2GLSL_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel)
find_library(HLSL2GLSL_LIBRARY_DBG NAMES ${HLSL2GLSL_LIBRARY_NAMES_DBG} HINTS ${HLSL2GLSL_LIB_SEARCH_PATH} ${HLSL2GLSL_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug)
@@ -172,55 +92,24 @@ index 7125895..f73c928 100644
findpkg_finish(HLSL2GLSL)
add_parent_dir(HLSL2GLSL_INCLUDE_DIRS HLSL2GLSL_INCLUDE_DIR)
--
diff --git a/CMake/Packages/FindNVAPI.cmake b/CMake/Packages/FindNVAPI.cmake
-index 2b9deba..6d8fb37 100644
+index 2b9deba..f33a298 100644
--- a/CMake/Packages/FindNVAPI.cmake
+++ b/CMake/Packages/FindNVAPI.cmake
-@@ -11,7 +11,7 @@
- # Once done, this will define
- #
- # NVAPI_FOUND - system has NVAPI
--# NVAPI_INCLUDE_DIRS - the NVAPI include directories
-+# NVAPI_INCLUDE_DIRS - the NVAPI include directories
- # NVAPI_LIBRARIES - link these to use NVAPI
-
- include(FindPkgMacros)
@@ -44,7 +44,7 @@ findpkg_framework(NVAPI)
- find_path(NVAPI_INCLUDE_DIR NAMES nvapi.h HINTS ${NVAPI_FRAMEWORK_INCLUDES} ${NVAPI_INC_SEARCH_PATH} ${NVAPI_PKGC_INCLUDE_DIRS} PATH_SUFFIXES NVAPI)
- find_library(NVAPI_LIBRARY_REL NAMES ${NVAPI_LIBRARY_NAMES} HINTS ${NVAPI_LIB_SEARCH_PATH} ${NVAPI_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" release relwithdebinfo minsizerel)
- find_library(NVAPI_LIBRARY_DBG NAMES ${NVAPI_LIBRARY_NAMES_DBG} HINTS ${NVAPI_LIB_SEARCH_PATH} ${NVAPI_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" debug)
--make_library_set(NVAPI_LIBRARY)
-+make_library_set(NVAPI)
-
- findpkg_finish(NVAPI)
--add_parent_dir(NVAPI_INCLUDE_DIRS NVAPI_INCLUDE_DIR)
+ find_path(NVAPI_INCLUDE_DIR NAMES nvapi.h HINTS ${NVAPI_FRAMEWORK_INCLUDES} ${NVAPI_INC_SEARCH_PATH} ${NVAPI_PKGC_INCLUDE_DIRS} PATH_SUFFIXES NVAPI)
+ find_library(NVAPI_LIBRARY_REL NAMES ${NVAPI_LIBRARY_NAMES} HINTS ${NVAPI_LIB_SEARCH_PATH} ${NVAPI_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" release relwithdebinfo minsizerel)
+ find_library(NVAPI_LIBRARY_DBG NAMES ${NVAPI_LIBRARY_NAMES_DBG} HINTS ${NVAPI_LIB_SEARCH_PATH} ${NVAPI_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" debug)
+-make_library_set(NVAPI_LIBRARY)
++make_library_set(NVAPI)
+
+ findpkg_finish(NVAPI)
+ add_parent_dir(NVAPI_INCLUDE_DIRS NVAPI_INCLUDE_DIR)
\ No newline at end of file
-+add_parent_dir(NVAPI_INCLUDE_DIRS NVAPI_INCLUDE_DIR)
diff --git a/CMake/Packages/FindPOCO.cmake b/CMake/Packages/FindPOCO.cmake
-index 6b6d7fa..c2cb80e 100644
+index 6b6d7fa..3667b8b 100644
--- a/CMake/Packages/FindPOCO.cmake
+++ b/CMake/Packages/FindPOCO.cmake
-@@ -11,7 +11,7 @@
- # Once done, this will define
- #
- # POCO_FOUND - system has POCO
--# POCO_INCLUDE_DIRS - the POCO include directories
-+# POCO_INCLUDE_DIRS - the POCO include directories
- # POCO_LIBRARIES - link these to use POCO
-
- include(FindPkgMacros)
-@@ -23,8 +23,8 @@ getenv_path(POCO_ROOT)
- getenv_path(POCO_BASE)
-
- # construct search paths
--set(POCO_PREFIX_PATH
-- ${POCO_HOME} ${ENV_POCO_HOME}
-+set(POCO_PREFIX_PATH
-+ ${POCO_HOME} ${ENV_POCO_HOME}
- ${POCO_ROOT} ${ENV_POCO_ROOT}
- ${POCO_BASE} ${ENV_POCO_BASE}
- )
@@ -50,7 +50,7 @@ findpkg_framework(POCO)
find_path(POCO_INCLUDE_DIR NAMES Poco/Foundation.h HINTS ${POCO_INC_SEARCH_PATH} ${POCO_PKGC_INCLUDE_DIRS} PATH_SUFFIXES Foundation/include)
find_library(POCO_LIBRARY_REL NAMES ${POCO_LIBRARY_NAMES} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686)
@@ -257,52 +146,18 @@ index 6b6d7fa..c2cb80e 100644
findpkg_finish(POCO_NetSSL)
# Look for Poco's XML package
-@@ -96,6 +96,5 @@ get_debug_names(POCO_XML_LIBRARY_NAMES)
+@@ -96,6 +96,6 @@ get_debug_names(POCO_XML_LIBRARY_NAMES)
find_path(POCO_XML_INCLUDE_DIR NAMES Poco/XML/XML.h HINTS ${POCO_INCLUDE_DIR} ${POCO_INC_SEARCH_PATH} ${POCO_PKGC_INCLUDE_DIRS} PATH_SUFFIXES XML/include)
find_library(POCO_XML_LIBRARY_REL NAMES ${POCO_XML_LIBRARY_NAMES} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686)
find_library(POCO_XML_LIBRARY_DBG NAMES ${POCO_XML_LIBRARY_NAMES_DBG} HINTS ${POCO_LIB_SEARCH_PATH} ${POCO_PKGC_LIBRARY_DIRS} PATH_SUFFIXES Linux/i686)
-make_library_set(POCO_XML_LIBRARY)
+make_library_set(POCO_XML)
findpkg_finish(POCO_XML)
--
+
diff --git a/CMake/Packages/FindTBB.cmake b/CMake/Packages/FindTBB.cmake
-index 0c48510..7f0c8f6 100644
+index 0c48510..c121966 100644
--- a/CMake/Packages/FindTBB.cmake
+++ b/CMake/Packages/FindTBB.cmake
-@@ -11,7 +11,7 @@
- # Once done, this will define
- #
- # TBB_FOUND - system has TBB
--# TBB_INCLUDE_DIRS - the TBB include directories
-+# TBB_INCLUDE_DIRS - the TBB include directories
- # TBB_LIBRARIES - link these to use TBB
-
- include(FindPkgMacros)
-@@ -23,8 +23,8 @@ getenv_path(TBB_ROOT)
- getenv_path(TBB_BASE)
-
- # construct search paths
--set(TBB_PREFIX_PATH
-- ${TBB_HOME} ${ENV_TBB_HOME}
-+set(TBB_PREFIX_PATH
-+ ${TBB_HOME} ${ENV_TBB_HOME}
- ${TBB_ROOT} ${ENV_TBB_ROOT}
- ${TBB_BASE} ${ENV_TBB_BASE}
- )
-@@ -68,11 +68,11 @@ if (WIN32 AND MSVC)
- endif ()
- if (MSVC_VERSION EQUAL 1900)
- set(COMPILER_PREFIX "vc13")
-- endif ()
-+ endif ()
- if (MSVC_VERSION EQUAL 1911)
- set(COMPILER_PREFIX "vc14")
- endif ()
--
-+
- # for each prefix path, add ia32/64\${COMPILER_PREFIX}\lib to the lib search path
- foreach (dir ${TBB_PREFIX_PATH})
- if (CMAKE_CL_64)
@@ -104,7 +104,7 @@ findpkg_framework(TBB)
find_path(TBB_INCLUDE_DIR NAMES tbb/tbb.h HINTS ${TBB_INC_SEARCH_PATH} ${TBB_PKGC_INCLUDE_DIRS})
find_library(TBB_LIBRARY_REL NAMES ${TBB_LIBRARY_NAMES} HINTS ${TBB_LIB_SEARCH_PATH} ${TBB_PKGC_LIBRARY_DIRS})
@@ -329,19 +184,10 @@ index 0c48510..7f0c8f6 100644
+make_library_set(TBB_MALLOC_PROXY)
findpkg_finish(TBB_MALLOC_PROXY)
diff --git a/CMake/Packages/FindZZip.cmake b/CMake/Packages/FindZZip.cmake
-index e97951e..1c7cf00 100644
+index e97951e..54c2567 100644
--- a/CMake/Packages/FindZZip.cmake
+++ b/CMake/Packages/FindZZip.cmake
-@@ -11,7 +11,7 @@
- # Once done, this will define
- #
- # ZZip_FOUND - system has ZZip
--# ZZip_INCLUDE_DIRS - the ZZip include directories
-+# ZZip_INCLUDE_DIRS - the ZZip include directories
- # ZZip_LIBRARIES - link these to use ZZip
-
- include(FindPkgMacros)
-@@ -39,12 +39,11 @@ use_pkgconfig(ZZip_PKGC zziplib)
+@@ -39,12 +39,12 @@ use_pkgconfig(ZZip_PKGC zziplib)
findpkg_framework(ZZip)
@@ -355,66 +201,6 @@ index e97951e..1c7cf00 100644
+make_library_set(ZZip)
findpkg_finish(ZZip)
--
-diff --git a/CMake/Templates/OGREConfig.cmake.in b/CMake/Templates/OGREConfig.cmake.in
-index 79c5394..7b22a0d 100644
---- a/CMake/Templates/OGREConfig.cmake.in
-+++ b/CMake/Templates/OGREConfig.cmake.in
-@@ -10,12 +10,12 @@
- # Find OGRE includes and library
- #
- # This module defines
--# OGRE_INCLUDE_DIRS - the OGRE include directories
-+# OGRE_INCLUDE_DIRS - the OGRE include directories
- # OGRE_LIBRARIES - link these to use the OGRE
- # OGRE_LIBRARY_DIRS, the location of the libraries
- # OGRE_STATIC - whther ogre was build as static lib
- # OGRE_${COMPONENT}_FOUND - ${COMPONENT} is available
--# OGRE_${COMPONENT}_LIBRARIES - link these to only use ${COMPONENT}
-+# OGRE_${COMPONENT}_LIBRARIES - link these to only use ${COMPONENT}
- # OGRE_PLUGIN_DIR - The directory where the OGRE plugins are located
- # OGRE_MEDIA_DIR - The directory where the OGRE sample media is located
- # OGRE_CONFIG_DIR - The directory where the OGRE config files are located
-@@ -25,7 +25,7 @@
- set(OGRE_STATIC @OGRE_STATIC@)
- set(OGRE_MEDIA_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@/@OGRE_MEDIA_PATH@")
- set(OGRE_PLUGIN_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@/lib/OGRE")
--set(OGRE_CONFIG_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@/@OGRE_CFG_INSTALL_PATH@")
-+set(OGRE_CONFIG_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@/@OGRE_CFG_INSTALL_PATH@")
-
- set(OGRE_PREFIX_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@")
- get_filename_component(OGRE_LIBRARY_DIRS "${OGRE_PREFIX_DIR}/lib" ABSOLUTE)
-@@ -47,7 +47,7 @@ set(OGRE_PLUGINS)
- macro(ogre_declare_component COMPONENT)
- set(OGRE_${COMPONENT}_FOUND TRUE)
- set(OGRE_${COMPONENT}_LIBRARIES Ogre${COMPONENT}) # backwards compatibility
--
-+
- list(APPEND OGRE_COMPONENTS ${COMPONENT})
- list(APPEND OGRE_LIBRARIES Ogre${COMPONENT})
- endmacro()
-@@ -55,11 +55,11 @@ endmacro()
- macro(ogre_declare_plugin TYPE COMPONENT)
- set(OGRE_${TYPE}_${COMPONENT}_FOUND TRUE)
- set(OGRE_${TYPE}_${COMPONENT}_LIBRARIES ${TYPE}_${COMPONENT})
--
-+
- if(@OGRE_STATIC@)
- list(APPEND OGRE_LIBRARIES ${TYPE}_${COMPONENT})
- endif()
--
-+
- list(APPEND OGRE_PLUGINS ${TYPE}_${COMPONENT})
- endmacro()
-
-@@ -149,7 +149,7 @@ endif()
- cmake_policy(POP)
-
- if(@OGRE_STATIC@)
-- list(APPEND OGRE_LIBRARIES OgreGLSupport@OGRE_LIB_SUFFIX@ @CMAKE_DL_LIBS@) # glXXw uses dlopen
-+ list(APPEND OGRE_LIBRARIES OgreGLSupport @CMAKE_DL_LIBS@) # glXXw uses dlopen
- list(APPEND OGRE_LIBRARY_DIRS "${OGRE_LIBRARY_DIRS}/OGRE") # plugins folder
- endif()
diff --git a/CMake/Utils/FindPkgMacros.cmake b/CMake/Utils/FindPkgMacros.cmake
index 374f84b..dc7066d 100644
@@ -452,150 +238,50 @@ index 374f84b..dc7066d 100644
# Generate debug names from given release names
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d2819f0..f40239f 100644
+index 3e09d2d..58968f0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -142,7 +142,7 @@ if (MSVC)
- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /bigobj")
- endif ()
-
-- if (OGRE_PROJECT_FOLDERS)
-+ if (OGRE_PROJECT_FOLDERS)
- # Turn on the ability to create folders to organize projects (.vcproj)
- # It creates "CMakePredefinedTargets" folder by default and adds CMake
- # defined projects like INSTALL.vcproj and ZERO_CHECK.vcproj
-@@ -274,12 +274,8 @@ elseif(EMSCRIPTEN)
+@@ -274,7 +274,7 @@ elseif(EMSCRIPTEN)
elseif (APPLE AND NOT APPLE_IOS)
set(XCODE_ATTRIBUTE_SDKROOT macosx)
- if(CMAKE_GENERATOR STREQUAL "Unix Makefiles")
++ if(1)
execute_process(COMMAND xcodebuild -version -sdk "${XCODE_ATTRIBUTE_SDKROOT}" Path | head -n 1 OUTPUT_VARIABLE CMAKE_OSX_SYSROOT)
string(REGEX REPLACE "(\r?\n)+$" "" CMAKE_OSX_SYSROOT "${CMAKE_OSX_SYSROOT}")
-- else()
-- set(CMAKE_OSX_SYSROOT macosx)
-- endif()
-
- # Make sure that the OpenGL render system is selected for non-iOS Apple builds
- set(OGRE_BUILD_RENDERSYSTEM_GLES2 FALSE)
-@@ -310,7 +306,7 @@ include(Dependencies)
- # Customise what to build
- option(OGRE_STATIC "Static build" FALSE)
- option(OGRE_ENABLE_PRECOMPILED_HEADERS "Use precompiled headers to speed up build" TRUE)
--set(OGRE_RESOURCEMANAGER_STRICT "2" CACHE STRING
-+set(OGRE_RESOURCEMANAGER_STRICT "2" CACHE STRING
- "Make ResourceManager strict for faster operation. Possible values:
- 0 - OFF search in all groups twice - for case sensitive and insensitive lookup [DEPRECATED]
- 1 - PEDANTIC require an explicit resource group. Case sensitive lookup.
-@@ -352,7 +348,7 @@ cmake_dependent_option(OGRE_BUILD_LIBS_AS_FRAMEWORKS "Build frameworks for libra
- option(OGRE_BUILD_TESTS "Build the unit tests & PlayPen" FALSE)
- option(OGRE_CONFIG_DOUBLE "Use doubles instead of floats in Ogre" FALSE)
- option(OGRE_CONFIG_NODE_INHERIT_TRANSFORM "Tells the node whether it should inherit full transform from it's parent node or derived position, orientation and scale" FALSE)
--set(OGRE_CONFIG_THREADS "3" CACHE STRING
-+set(OGRE_CONFIG_THREADS "3" CACHE STRING
- "Enable Ogre thread safety support for multithreading. Possible values:
- 0 - no thread safety. DefaultWorkQueue is not threaded.
- 1 - background resource preparation and loading is thread safe. Threaded DefaultWorkQueue. [DEPRECATED]
+ else()
diff --git a/Components/Overlay/CMakeLists.txt b/Components/Overlay/CMakeLists.txt
-index bdb303d..e8031d1 100644
+index bdb303d..d9cc221 100644
--- a/Components/Overlay/CMakeLists.txt
+++ b/Components/Overlay/CMakeLists.txt
-@@ -13,7 +13,7 @@
-
- # define header and source files for the library
- file(GLOB HEADER_FILES "${CMAKE_CURRENT_SOURCE_DIR}/include/*.h")
--list(APPEND HEADER_FILES
-+list(APPEND HEADER_FILES
- ${PROJECT_BINARY_DIR}/include/OgreOverlayPrerequisites.h
- ${CMAKE_CURRENT_SOURCE_DIR}/include/OgreOverlay.i)
- file(GLOB SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp")
-@@ -21,17 +21,17 @@ file(GLOB SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp")
+@@ -21,7 +21,7 @@ file(GLOB SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp")
# setup target
add_library(OgreOverlay ${OGRE_COMP_LIB_TYPE} ${HEADER_FILES} ${SOURCE_FILES} ${PLATFORM_HEADER_FILES} ${PLATFORM_SOURCE_FILES})
set_target_properties(OgreOverlay PROPERTIES VERSION ${OGRE_SOVERSION} SOVERSION ${OGRE_SOVERSION})
-target_link_libraries(OgreOverlay PUBLIC OgreMain PRIVATE "${FREETYPE_LIBRARIES}" ZLIB::ZLIB)
--target_include_directories(OgreOverlay PUBLIC
+target_link_libraries(OgreOverlay PUBLIC OgreMain PRIVATE ${FREETYPE_LIBRARIES} ZLIB::ZLIB)
-+target_include_directories(OgreOverlay PUBLIC
+ target_include_directories(OgreOverlay PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
$<INSTALL_INTERFACE:include/OGRE/Overlay>
- PRIVATE ${FREETYPE_INCLUDE_DIRS})
-
--generate_export_header(OgreOverlay
-+generate_export_header(OgreOverlay
- EXPORT_MACRO_NAME _OgreOverlayExport
- EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/include/OgreOverlayPrerequisites.h)
-
--# install
-+# install
- ogre_config_framework(OgreOverlay)
- ogre_config_component(OgreOverlay)
-
-@@ -40,4 +40,4 @@ install(FILES ${HEADER_FILES}
- )
- install(FILES "${PROJECT_SOURCE_DIR}/Media/packs/profiler.zip"
- DESTINATION "${OGRE_MEDIA_PATH}/packs/"
--)
-\ No newline at end of file
-+)
diff --git a/OgreMain/CMakeLists.txt b/OgreMain/CMakeLists.txt
-index 6ec4e34..2803a8a 100644
+index 6ec4e34..cc9cb9d 100644
--- a/OgreMain/CMakeLists.txt
+++ b/OgreMain/CMakeLists.txt
-@@ -188,21 +188,21 @@ if (WINDOWS_STORE OR WINDOWS_PHONE)
- set_target_properties(OgreMain PROPERTIES VS_WINRT_COMPONENT "true")
- endif ()
-
--generate_export_header(OgreMain
-+generate_export_header(OgreMain
- EXPORT_MACRO_NAME _OgreExport
- NO_EXPORT_MACRO_NAME _OgrePrivate
- DEPRECATED_MACRO_NAME OGRE_DEPRECATED
- EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/include/OgreExports.h)
-
--target_include_directories(OgreMain PUBLIC
-- "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
-+target_include_directories(OgreMain PUBLIC
-+ "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
- "$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include>"
- $<INSTALL_INTERFACE:include/OGRE>
- PRIVATE "${OGRE_PROFILING_REMOTERY_PATH}")
-
- # In visual studio 2010 - 64 bit we get this error: "LINK : fatal error LNK1210: exceeded internal ILK size limit; link with /INCREMENTAL:NO"
- if(WIN32 AND MSVC10 AND CMAKE_CL_64)
-- set_target_properties(OgreMain PROPERTIES
-+ set_target_properties(OgreMain PROPERTIES
- VERSION ${OGRE_SOVERSION}
- LINK_FLAGS "/INCREMENTAL:NO"
- )
-@@ -211,7 +211,7 @@ else()
- endif()
-
- if(OGRE_GCC_VERSION VERSION_EQUAL 4.8 OR OGRE_GCC_VERSION VERSION_GREATER 4.8)
-- if(CMAKE_SYSTEM_NAME STREQUAL "Android")
-+ if(CMAKE_SYSTEM_NAME STREQUAL "Android")
- list(APPEND LIBRARIES "atomic")
- else()
- list(APPEND LIBRARIES "-latomic")
-@@ -226,8 +226,7 @@ if (APPLE)
+@@ -225,8 +225,6 @@ if (APPLE)
+ set_target_properties(OgreMain PROPERTIES
LINK_FLAGS "-framework IOKit -framework Cocoa -framework Carbon -framework OpenGL -framework CoreVideo"
)
-
+-
- set(OGRE_OSX_BUILD_CONFIGURATION "$(PLATFORM_NAME)/$(CONFIGURATION)")
--
-+
+
if(OGRE_BUILD_LIBS_AS_FRAMEWORKS)
add_custom_command(TARGET OgreMain POST_BUILD
- COMMAND mkdir ARGS -p ${PROJECT_BINARY_DIR}/lib/${OGRE_OSX_BUILD_CONFIGURATION}/Ogre.framework/Headers/Threading
diff --git a/PlugIns/EXRCodec/CMakeLists.txt b/PlugIns/EXRCodec/CMakeLists.txt
-index e9c936a..a83d793 100644
+index e9c936a..bb8747e 100644
--- a/PlugIns/EXRCodec/CMakeLists.txt
+++ b/PlugIns/EXRCodec/CMakeLists.txt
-@@ -13,14 +13,14 @@ file(GLOB SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp")
-
- add_library(Codec_EXR ${OGRE_LIB_TYPE} ${HEADER_FILES} ${SOURCE_FILES})
- target_link_libraries(Codec_EXR OgreMain ${OPENEXR_LIBRARIES})
--target_include_directories(Codec_EXR PUBLIC
-+target_include_directories(Codec_EXR PUBLIC
+@@ -16,7 +16,7 @@ target_link_libraries(Codec_EXR OgreMain ${OPENEXR_LIBRARIES})
+ target_include_directories(Codec_EXR PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
$<INSTALL_INTERFACE:include/OGRE/Plugins/EXRCodec>)
-target_include_directories(Codec_EXR SYSTEM PRIVATE "${OPENEXR_INCLUDE_DIR}/OpenEXR")
@@ -603,33 +289,3 @@ index e9c936a..a83d793 100644
ogre_config_framework(Codec_EXR)
ogre_config_plugin(Codec_EXR)
--generate_export_header(Codec_EXR
-+generate_export_header(Codec_EXR
- EXPORT_MACRO_NAME _OgreEXRPluginExport
- EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/include/OgreEXRCodecExports.h)
- install(FILES ${HEADER_FILES} DESTINATION include/OGRE/Plugins/EXRCodec)
-diff --git a/RenderSystems/GL3Plus/CMakeLists.txt b/RenderSystems/GL3Plus/CMakeLists.txt
-index ba55b43..66c2758 100644
---- a/RenderSystems/GL3Plus/CMakeLists.txt
-+++ b/RenderSystems/GL3Plus/CMakeLists.txt
-@@ -21,12 +21,12 @@ set(HEADER_FILES ${HEADER_FILES} ${GLSL_HEADERS})
- add_definitions(${OGRE_VISIBILITY_FLAGS})
-
- if(OGRE_CONFIG_ENABLE_GL_STATE_CACHE_SUPPORT)
-- set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/src/OgreGL3PlusStateCacheManager.cpp
-+ set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/src/OgreGL3PlusStateCacheManager.cpp
- PROPERTIES COMPILE_DEFINITIONS OGRE_ENABLE_STATE_CACHE)
- endif()
- add_library(RenderSystem_GL3Plus ${OGRE_LIB_TYPE} ${HEADER_FILES} ${GLSL_SOURCE} ${SOURCE_FILES})
- target_link_libraries(RenderSystem_GL3Plus OgreMain OgreGLSupport ${OPENGL_gl_LIBRARY} ${CMAKE_DL_LIBS})
--target_include_directories(RenderSystem_GL3Plus PUBLIC
-+target_include_directories(RenderSystem_GL3Plus PUBLIC
- "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
- "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include/GLSL>"
- $<INSTALL_INTERFACE:include/OGRE/RenderSystems/GL3Plus>
-@@ -44,4 +44,4 @@ ogre_config_plugin(RenderSystem_GL3Plus)
-
- install(FILES ${HEADER_FILES} ${GLSUPPORT_HEADERS} DESTINATION include/OGRE/RenderSystems/GL3Plus)
- install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/GL DESTINATION include/OGRE/RenderSystems/GL3Plus)
--install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/GLSL/ DESTINATION include/OGRE/RenderSystems/GL3Plus)
-+install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/GLSL DESTINATION include/OGRE/RenderSystems/GL3Plus)
diff --git a/ports/openal-soft/cmake-3-11.patch b/ports/openal-soft/cmake-3-11.patch
deleted file mode 100644
index 07f7e6936..000000000
--- a/ports/openal-soft/cmake-3-11.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a871f4c..f9f6b34 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -965,7 +965,8 @@ OPTION(ALSOFT_REQUIRE_DSOUND "Require DirectSound backend" OFF)
- OPTION(ALSOFT_REQUIRE_MMDEVAPI "Require MMDevApi backend" OFF)
- IF(HAVE_WINDOWS_H)
- # Check MMSystem backend
-- CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H -D_WIN32_WINNT=0x0502)
-+ set(CMAKE_REQUIRED_DEFINITIONS -D_WIN32_WINNT=0x0502)
-+ CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H)
- IF(HAVE_MMSYSTEM_H)
- CHECK_SHARED_FUNCTION_EXISTS(waveOutOpen "windows.h;mmsystem.h" winmm "" HAVE_LIBWINMM)
- IF(HAVE_LIBWINMM)
diff --git a/ports/openal-soft/portfile.cmake b/ports/openal-soft/portfile.cmake
index a753030c8..2de4f646f 100644
--- a/ports/openal-soft/portfile.cmake
+++ b/ports/openal-soft/portfile.cmake
@@ -11,7 +11,6 @@ vcpkg_from_github(
HEAD_REF master
PATCHES
dont-export-symbols-in-static-build.patch
- cmake-3-11.patch
fix-arm-builds.patch
)
diff --git a/ports/openblas/CONTROL b/ports/openblas/CONTROL
index 47b9430a9..14efa12f9 100644
--- a/ports/openblas/CONTROL
+++ b/ports/openblas/CONTROL
@@ -1,5 +1,5 @@
Source: openblas
-Version: 0.3.6-5
+Version: 0.3.6-6
Homepage: https://github.com/xianyi/OpenBLAS
Build-Depends: pthread (linux)
Description: OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
diff --git a/ports/openblas/fix-redefinition-function.patch b/ports/openblas/fix-redefinition-function.patch
new file mode 100644
index 000000000..176a29ff3
--- /dev/null
+++ b/ports/openblas/fix-redefinition-function.patch
@@ -0,0 +1,28 @@
+diff --git a/openblas_config_template.h b/openblas_config_template.h
+index 52dd49d..239219d 100644
+--- a/openblas_config_template.h
++++ b/openblas_config_template.h
+@@ -64,6 +64,7 @@ typedef int blasint;
+ #ifndef __cplusplus
+ #include <complex.h>
+ #endif
++ #ifndef OPENBLAS_COMPLEX_STRUCT
+ typedef float _Complex openblas_complex_float;
+ typedef double _Complex openblas_complex_double;
+ typedef xdouble _Complex openblas_complex_xdouble;
+@@ -76,7 +77,9 @@ typedef int blasint;
+ #define openblas_complex_double_imag(z) (cimag(z))
+ #define openblas_complex_xdouble_real(z) (creal(z))
+ #define openblas_complex_xdouble_imag(z) (cimag(z))
++ #endif
+ #else
++ #ifndef OPENBLAS_COMPLEX_STRUCT
+ #define OPENBLAS_COMPLEX_STRUCT
+ typedef struct { float real, imag; } openblas_complex_float;
+ typedef struct { double real, imag; } openblas_complex_double;
+@@ -90,4 +93,5 @@ typedef int blasint;
+ #define openblas_complex_double_imag(z) ((z).imag)
+ #define openblas_complex_xdouble_real(z) ((z).real)
+ #define openblas_complex_xdouble_imag(z) ((z).imag)
++ #endif
+ #endif
diff --git a/ports/openblas/openblas_common.h b/ports/openblas/openblas_common.h
index 10b25d4c7..6652a17e9 100644
--- a/ports/openblas/openblas_common.h
+++ b/ports/openblas/openblas_common.h
@@ -1,5 +1,5 @@
#pragma once
-#include "openblas_config.h"
+#include "openblas/openblas_config.h"
#if defined(OPENBLAS_OS_WINNT) || defined(OPENBLAS_OS_CYGWIN_NT) || defined(OPENBLAS_OS_INTERIX)
#define OPENBLAS_WINDOWS_ABI
@@ -57,6 +57,7 @@ typedef int blasint;
predefined macros with some compilers (e.g. GCC 4.7 on Linux). This occurs
as a side effect of including either <features.h> or <stdc-predef.h>. */
#include <stdio.h>
+#ifndef OPENBLAS_COMPLEX_STRUCT
#define OPENBLAS_COMPLEX_STRUCT
typedef struct { float real, imag; } openblas_complex_float;
typedef struct { double real, imag; } openblas_complex_double;
@@ -70,3 +71,4 @@ typedef struct { xdouble real, imag; } openblas_complex_xdouble;
#define openblas_complex_double_imag(z) ((z).imag)
#define openblas_complex_xdouble_real(z) ((z).real)
#define openblas_complex_xdouble_imag(z) ((z).imag)
+#endif \ No newline at end of file
diff --git a/ports/openblas/portfile.cmake b/ports/openblas/portfile.cmake
index 179491cc4..907ec751a 100644
--- a/ports/openblas/portfile.cmake
+++ b/ports/openblas/portfile.cmake
@@ -1,9 +1,5 @@
include(vcpkg_common_functions)
-if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
- message(FATAL_ERROR "openblas can only be built for x64 currently")
-endif()
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO xianyi/OpenBLAS
@@ -13,6 +9,7 @@ vcpkg_from_github(
PATCHES
uwp.patch
fix-space-path.patch
+ fix-redefinition-function.patch
)
find_program(GIT NAMES git git.cmd)
diff --git a/ports/opencl/CONTROL b/ports/opencl/CONTROL
index 32308ad5d..a07242b15 100644
--- a/ports/opencl/CONTROL
+++ b/ports/opencl/CONTROL
@@ -1,4 +1,7 @@
-Source: opencl
-Version: 2.2 (2017.07.18)-1
-Homepage: https://github.com/KhronosGroup/OpenCL-Headers
-Description: C/C++ headers and ICD loader (Installable Client Driver) for OpenCL
+Source: opencl
+Version: 2.2 (2018.08.31)
+Homepage: https://github.com/KhronosGroup/OpenCL-Headers
+Description: C/C++ headers and ICD loader (Installable Client Driver) for OpenCL
+
+Feature: wdk
+Description: Windows Driver Kit support \ No newline at end of file
diff --git a/ports/opencl/portfile.cmake b/ports/opencl/portfile.cmake
index 54096512f..fc58e873f 100644
--- a/ports/opencl/portfile.cmake
+++ b/ports/opencl/portfile.cmake
@@ -1,18 +1,25 @@
include(vcpkg_common_functions)
-vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
+if("wdk" IN_LIST FEATURES)
+ if(NOT VCPKG_TARGET_IS_WINDOWS)
+ message(FATAL_ERROR "Windows Driver Kit support is only available builds targeting Windows")
+ endif()
+ set(WITH_WDK ON)
+else()
+ set(WITH_WDK OFF)
+endif()
# OpenCL C headers
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO KhronosGroup/OpenCL-Headers
- REF f039db6764d52388658ef15c30b2237bbda49803
- SHA512 5909a85f96477d731059528303435f06255e98ed8df9d4cd2b62c744b5fe41408c69c0d4068421a2813eb9ad9d70d7f1bace9ebf0db19cc09e71bb8066127c5f
+ REF 0d5f18c6e7196863bc1557a693f1509adfcee056
+ SHA512 7e8fa6c8e73c660d8e9e31ddea3bfef887ed827fc21a1da559bde9dd4af6c52a91f609401bb718528b5c96d21e4c01aee7b8027bdf3dec4b0aa326270788a4b0
HEAD_REF master
)
file(INSTALL
- "${SOURCE_PATH}/opencl22/CL"
+ "${SOURCE_PATH}/CL"
DESTINATION
${CURRENT_PACKAGES_DIR}/include
)
@@ -21,8 +28,8 @@ file(INSTALL
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO KhronosGroup/OpenCL-CLHPP
- REF 5dd8bb9e32a8e2f72621566b296ac8143a554270
- SHA512 2909fe2b979b52724ef8d285180d8bfd30bdd56cb79da4effc9e03b576ec7edb5497c99a9fa30541fe63037c84ddef21d4a73e7927f3813baab2a2afeecd55ab
+ REF d62a02090625655e5b2d791d6a58618b043c989c
+ SHA512 837bbe914931d2f18a468f21634dbd4d088eda0a2f22eea23304c0323b9ee064c3ee76db7ebf28ba67fbe07c44129241f8dca62512d89bc7a6b35c2b4b316ed7
HEAD_REF master
)
@@ -49,8 +56,8 @@ message(STATUS "Generating OpenCL C++ headers done")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO KhronosGroup/OpenCL-ICD-Loader
- REF 26a38983cbe5824fd5be03eab8d037758fc44360
- SHA512 3029f758ff0c39b57aa10d881af68e73532fd179c54063ed1d4529b7d6e27a5219e3c24b7fb5598d790ebcdc2441e00001a963671dc90fef2fc377c76d724f54
+ REF e6e30ab9c7a61c171cf68d2e7f5c0ce28e2a4eae
+ SHA512 f3563c0a4c094d3795d8386ec0db41189d350ab8136d80ae5de611ee3db87fbb0ab851bad2b33e111eddf135add5dbfef77d96979473ca5a23c036608d443378
HEAD_REF master
)
@@ -58,25 +65,41 @@ vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
- -DOPENCL_INCLUDE_DIRS=${CURRENT_PACKAGES_DIR}/include
+ -DOPENCL_ICD_LOADER_HEADERS_DIR=${CURRENT_PACKAGES_DIR}/include
+ -DOPENCL_ICD_LOADER_REQUIRE_WDK=${WITH_WDK}
)
vcpkg_build_cmake(TARGET OpenCL)
-file(INSTALL
- "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/OpenCL.lib"
- DESTINATION
- ${CURRENT_PACKAGES_DIR}/lib
-)
-
-file(INSTALL
- "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/OpenCL.lib"
- DESTINATION
- ${CURRENT_PACKAGES_DIR}/debug/lib
-)
+if(VCPKG_TARGET_IS_WINDOWS)
+ file(INSTALL
+ "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/OpenCL.lib"
+ DESTINATION
+ ${CURRENT_PACKAGES_DIR}/lib
+ )
+
+ file(INSTALL
+ "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/OpenCL.lib"
+ DESTINATION
+ ${CURRENT_PACKAGES_DIR}/debug/lib
+ )
+endif(VCPKG_TARGET_IS_WINDOWS)
+if(VCPKG_TARGET_IS_LINUX)
+ file(INSTALL
+ "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libOpenCL.a"
+ DESTINATION
+ ${CURRENT_PACKAGES_DIR}/lib
+ )
+
+ file(INSTALL
+ "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libOpenCL.a"
+ DESTINATION
+ ${CURRENT_PACKAGES_DIR}/debug/lib
+ )
+endif(VCPKG_TARGET_IS_LINUX)
file(INSTALL
- "${SOURCE_PATH}/LICENSE.txt"
+ "${SOURCE_PATH}/LICENSE"
DESTINATION
${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright
)
@@ -85,3 +108,9 @@ file(COPY
DESTINATION
${CURRENT_PACKAGES_DIR}/share/${PORT}
)
+
+file(COPY
+ ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake
+ DESTINATION
+ ${CURRENT_PACKAGES_DIR}/share/${PORT}
+)
diff --git a/ports/opencl/usage b/ports/opencl/usage
index 699ff0170..adcd2232f 100644
--- a/ports/opencl/usage
+++ b/ports/opencl/usage
@@ -1,7 +1,16 @@
-The package opencl is compatible with built-in CMake targets:
+The package opencl is compatible with built-in CMake targets via CMake v3.6 and prior syntax
find_package(OpenCL REQUIRED)
target_link_libraries(main PRIVATE ${OpenCL_LIBRARIES})
target_include_directories(main PRIVATE ${OpenCL_INCLUDE_DIRS})
-You will also need to install an appropriate driver package from your CPU/GPU manufacturer.
+and the CMake v3.7 and beyond imported target syntax
+
+ find_package(OpenCL REQUIRED)
+ target_link_libraries(main PRIVATE OpenCL::OpenCL)
+
+This package is only an OpenCL SDK. To actually run OpenCL code you also need to install an implementation.
+
+ WINDOWS: implementations typically ship with the drivers of you CPU/GPU vendors.
+ LINUX: implementations may be installed from your distro's repo or manually. There are too many to count.
+ APPLE: consult your distribution vendor on the state of OpenCL support: https://support.apple.com/en-us/HT202823
diff --git a/ports/opencl/vcpkg-cmake-wrapper.cmake b/ports/opencl/vcpkg-cmake-wrapper.cmake
new file mode 100644
index 000000000..73c9da576
--- /dev/null
+++ b/ports/opencl/vcpkg-cmake-wrapper.cmake
@@ -0,0 +1,15 @@
+_find_package(${ARGS})
+if(NOT BUILD_SHARED_LIBS AND (NOT CMAKE_SYSTEM_NAME MATCHES "Darwin"))
+ find_package(Threads REQUIRED)
+ set(OpenCL_Extra_Libs ${CMAKE_DL_LIBS} ${CMAKE_THREAD_LIBS_INIT})
+ if(CMAKE_SYSTEM_NAME MATCHES "Windows")
+ list(APPEND OpenCL_Extra_Libs cfgmgr32)
+ endif(CMAKE_SYSTEM_NAME MATCHES "Windows")
+
+ if(TARGET OpenCL::OpenCL)
+ set_property(TARGET OpenCL::OpenCL APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${OpenCL_Extra_Libs})
+ endif()
+ if(OpenCL_LIBRARIES)
+ list(APPEND OpenCL_LIBRARIES ${OpenCL_Extra_Libs})
+ endif()
+endif() \ No newline at end of file
diff --git a/ports/opencolorio/0001-lcms-dependency-search.patch b/ports/opencolorio/0001-lcms-dependency-search.patch
new file mode 100644
index 000000000..27edc73f1
--- /dev/null
+++ b/ports/opencolorio/0001-lcms-dependency-search.patch
@@ -0,0 +1,39 @@
+diff --git a/src/apps/ociobakelut/CMakeLists.txt b/src/apps/ociobakelut/CMakeLists.txt
+index d31b4e3..778b631 100644
+--- a/src/apps/ociobakelut/CMakeLists.txt
++++ b/src/apps/ociobakelut/CMakeLists.txt
+@@ -5,6 +5,34 @@ if(LCMS_FOUND AND (LCMS_VERSION VERSION_EQUAL 2.1 OR LCMS_VERSION VERSION_GREATE
+ FIND_PACKAGE_MESSAGE(LCMS "Found lcms: ${LCMS_LIBRARIES}"
+ "${LCMS_INCLUDE_DIR}")
+ else()
++ find_path(LCMS_INCLUDE_DIRS
++ NAMES
++ lcms2.h
++ lcms2_plugin.h
++ HINTS
++ ${LCMS_INCLUDEDIR}
++ ${LCMS_INCLUDE_DIRS}
++ )
++
++ find_library(LCMS_LIBRARIES
++ LIBRARY_NAMES
++ lcms2
++ HINTS
++ ${LCMS_LIBRARY_DIRS}
++ )
++
++ get_filename_component(LCMS_LIBRARY_DIRS ${LCMS_LIBRARIES} DIRECTORY)
++
++ find_package_handle_standard_args(LCMS
++ REQUIRED_VARS
++ LCMS_LIBRARIES
++ LCMS_LIBRARY_DIRS
++ LCMS_INCLUDE_DIRS
++ )
++ mark_as_advanced(LCMS_LIBRARIES LCMS_INCLUDE_DIRS LCMS_LIBRARY_DIRS LCMS_FOUND)
++endif()
++
++if(NOT LCMS_FOUND)
+ find_package(Git)
+ if(NOT GIT_EXECUTABLE)
+ message("Git not found, could not build external LCMS as we cannot apply patch")
diff --git a/ports/opencolorio/0002-msvc-cpluscplus.patch b/ports/opencolorio/0002-msvc-cpluscplus.patch
new file mode 100644
index 000000000..c4349ea12
--- /dev/null
+++ b/ports/opencolorio/0002-msvc-cpluscplus.patch
@@ -0,0 +1,84 @@
+diff --git a/src/apps/ocioconvert/CMakeLists.txt b/src/apps/ocioconvert/CMakeLists.txt
+index 82b0792..7d16bdf 100644
+--- a/src/apps/ocioconvert/CMakeLists.txt
++++ b/src/apps/ocioconvert/CMakeLists.txt
+@@ -6,16 +6,23 @@ if (OIIO_FOUND)
+ ${OIIO_INCLUDES}
+ ${ILMBASE_INCLUDES}
+ )
+-
++
+ file(GLOB_RECURSE share_src_files "${CMAKE_SOURCE_DIR}/src/apps/share/*.cpp")
+-
++
+ add_executable(ocioconvert ${share_src_files} main.cpp)
+-
++
++ target_compile_options(ocioconvert
++ PRIVATE
++ $<$<CXX_COMPILER_ID:MSVC>:
++ /Zc:__cplusplus # Enable updated __cplusplus macro
++ >
++ )
++
+ set_target_properties(ocioconvert PROPERTIES COMPILE_FLAGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
+
+ target_link_libraries(ocioconvert ${OIIO_LIBRARIES} ${CMAKE_DL_LIBS})
+-
++
+ target_link_OCIO(ocioconvert)
+-
++
+ install(TARGETS ocioconvert EXPORT OpenColorIO DESTINATION ${CMAKE_INSTALL_EXEC_PREFIX}/bin)
+ endif()
+diff --git a/src/apps/ociodisplay/CMakeLists.txt b/src/apps/ociodisplay/CMakeLists.txt
+index d11b9e1..0f27d86 100644
+--- a/src/apps/ociodisplay/CMakeLists.txt
++++ b/src/apps/ociodisplay/CMakeLists.txt
+@@ -11,6 +11,13 @@ if (OIIO_FOUND)
+
+ add_executable(ociodisplay main.cpp)
+
++ target_compile_options(ociodisplay
++ PRIVATE
++ $<$<CXX_COMPILER_ID:MSVC>:
++ /Zc:__cplusplus # Enable updated __cplusplus macro
++ >
++ )
++
+ # set_target_properties(ociodisplay PROPERTIES INSTALL_RPATH ${OIIO_LIBRARIES} )
+ set_target_properties(ociodisplay PROPERTIES COMPILE_FLAGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
+ target_link_libraries(ociodisplay ${GLEW_LIBRARIES} ${GLUT_LIBRARY} ${OPENGL_LIBRARY} ${OIIO_LIBRARIES})
+diff --git a/src/apps/ociolutimage/CMakeLists.txt b/src/apps/ociolutimage/CMakeLists.txt
+index 528333f..821155d 100644
+--- a/src/apps/ociolutimage/CMakeLists.txt
++++ b/src/apps/ociolutimage/CMakeLists.txt
+@@ -6,16 +6,23 @@ if (OIIO_FOUND)
+ ${OIIO_INCLUDES}
+ ${ILMBASE_INCLUDES}
+ )
+-
++
+ file(GLOB_RECURSE share_src_files "${CMAKE_SOURCE_DIR}/src/apps/share/*.cpp")
+-
++
+ add_executable(ociolutimage ${share_src_files} main.cpp)
+-
++
++ target_compile_options(ociolutimage
++ PRIVATE
++ $<$<CXX_COMPILER_ID:MSVC>:
++ /Zc:__cplusplus # Enable updated __cplusplus macro
++ >
++ )
++
+ set_target_properties(ociolutimage PROPERTIES COMPILE_FLAGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
+
+ target_link_libraries(ociolutimage ${OIIO_LIBRARIES} ${CMAKE_DL_LIBS})
+-
++
+ target_link_OCIO(ociolutimage)
+-
++
+ install(TARGETS ociolutimage EXPORT OpenColorIO DESTINATION ${CMAKE_INSTALL_EXEC_PREFIX}/bin)
+ endif()
diff --git a/ports/opencolorio/0003-osx-self-assign-field.patch b/ports/opencolorio/0003-osx-self-assign-field.patch
new file mode 100644
index 000000000..18947bbbd
--- /dev/null
+++ b/ports/opencolorio/0003-osx-self-assign-field.patch
@@ -0,0 +1,13 @@
+diff --git a/src/core/Config.cpp b/src/core/Config.cpp
+index f5cb379..5ea178e 100644
+--- a/src/core/Config.cpp
++++ b/src/core/Config.cpp
+@@ -330,7 +330,7 @@ OCIO_NAMESPACE_ENTER
+ sanitytext_ = rhs.sanitytext_;
+
+ cacheids_ = rhs.cacheids_;
+- cacheidnocontext_ = cacheidnocontext_;
++ cacheidnocontext_ = rhs.cacheidnocontext_;
+ }
+ return *this;
+ }
diff --git a/ports/opencolorio/0004-yaml-dependency-search.patch b/ports/opencolorio/0004-yaml-dependency-search.patch
new file mode 100644
index 000000000..30c01d41a
--- /dev/null
+++ b/ports/opencolorio/0004-yaml-dependency-search.patch
@@ -0,0 +1,108 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e4f3119..5cfa601 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -244,34 +244,49 @@ else(USE_EXTERNAL_TINYXML)
+ endif()
+ set_target_properties(TINYXML_LIB PROPERTIES FOLDER External)
+ endif(USE_EXTERNAL_TINYXML)
+-
++
+ ###############################################################################
+ ### YAML ###
+
+ if(USE_EXTERNAL_YAML)
+- # Set minimum yaml version for non-patched sources.
+- set(YAML_VERSION_MIN "0.3.0")
+- include(FindPkgConfig)
+- pkg_check_modules(PC_YAML_CPP REQUIRED QUIET yaml-cpp)
+- find_path(YAML_CPP_INCLUDE_DIR yaml-cpp/yaml.h
+- HINTS ${PC_YAML_CPP_INCLUDEDIR} ${PC_YAML_CPP_INCLUDE_DIRS} )
+- find_library(YAML_CPP_LIBRARY LIBRARY_NAMES yaml-cpp libyaml-cpp
+- HINTS ${PC_YAML_CPP_LIBRARY_DIRS} )
+- set(YAML_CPP_LIBRARIES ${YAML_CPP_LIBRARY})
+- set(YAML_CPP_INCLUDE_DIRS ${YAML_CPP_INCLUDE_DIR})
+- set(YAML_CPP_VERSION ${PC_YAML_CPP_VERSION})
+-
+- if(YAML_CPP_VERSION VERSION_LESS ${YAML_VERSION_MIN})
+- message(FATAL_ERROR "ERROR: yaml-cpp ${YAML_VERSION_MIN} or greater is required.")
+- endif()
++ find_package(yaml-cpp 0.3.0)
++ if(yaml-cpp_FOUND)
++ include(FindPackageMessage)
++
++ set(YAML_CPP_FOUND ${yaml-cpp_FOUND})
++ set(YAML_CPP_INCLUDE_DIRS ${YAML_CPP_INCLUDE_DIR})
++ set(YAML_CPP_VERSION ${yaml-cpp_VERSION})
++ set(YAML_CPP_LIBRARIES yaml-cpp)
++
++ find_package_message(yaml-cpp
++ "Found yaml ${YAML_CPP_VERSION}: ${YAML_CPP_INCLUDE_DIRS}"
++ "${YAML_CPP_INCLUDE_DIRS}:${YAML_CPP_LIBRARIES}"
++ )
++ else()
++ # Set minimum yaml version for non-patched sources.
++ set(YAML_VERSION_MIN "0.3.0")
++ include(FindPkgConfig)
++ pkg_check_modules(PC_YAML_CPP REQUIRED QUIET yaml-cpp)
++ find_path(YAML_CPP_INCLUDE_DIR yaml-cpp/yaml.h
++ HINTS ${PC_YAML_CPP_INCLUDEDIR} ${PC_YAML_CPP_INCLUDE_DIRS} )
++ find_library(YAML_CPP_LIBRARY LIBRARY_NAMES yaml-cpp libyaml-cpp
++ HINTS ${PC_YAML_CPP_LIBRARY_DIRS} )
++ set(YAML_CPP_LIBRARIES ${YAML_CPP_LIBRARY})
++ set(YAML_CPP_INCLUDE_DIRS ${YAML_CPP_INCLUDE_DIR})
++ set(YAML_CPP_VERSION ${PC_YAML_CPP_VERSION})
++
++ if(YAML_CPP_VERSION VERSION_LESS ${YAML_VERSION_MIN})
++ message(FATAL_ERROR "ERROR: yaml-cpp ${YAML_VERSION_MIN} or greater is required.")
++ endif()
+
+- find_package_handle_standard_args(yaml-cpp
+- REQUIRED_VARS YAML_CPP_LIBRARIES YAML_CPP_INCLUDE_DIRS )
+- set(YAML_CPP_FOUND ${YAML-CPP_FOUND})
+- mark_as_advanced(YAML_CPP_INCLUDE_DIR YAML_CPP_LIBRARY YAML-CPP_FOUND)
++ find_package_handle_standard_args(yaml-cpp
++ REQUIRED_VARS YAML_CPP_LIBRARIES YAML_CPP_INCLUDE_DIRS )
++ set(YAML_CPP_FOUND ${YAML-CPP_FOUND})
++ mark_as_advanced(YAML_CPP_INCLUDE_DIR YAML_CPP_LIBRARY YAML-CPP_FOUND)
++ endif()
+
+ if(YAML_CPP_FOUND)
+- if(YAML_CPP_VERSION VERSION_GREATER "0.5.0")
++ if(YAML_CPP_VERSION VERSION_GREATER "0.5.0" AND YAML_CPP_VERSION VERSION_LESS "0.6.0")
+ # Need to also get the boost headers here, as yaml-cpp 0.5.0+ requires them.
+ # Don't bother doing this step if we are already including the boost headers for shared_ptr
+ if(NOT OCIO_USE_BOOST_PTR)
+diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
+index 4b931ef..12a1dbf 100644
+--- a/src/core/CMakeLists.txt
++++ b/src/core/CMakeLists.txt
+@@ -77,7 +77,14 @@ endif()
+ if(OCIO_BUILD_STATIC)
+ list(REMOVE_ITEM core_src_files ${CMAKE_SOURCE_DIR}/src/core/UnitTest.cpp)
+ add_library(OpenColorIO_STATIC STATIC ${EXTERNAL_OBJECTS} ${core_src_files})
+- add_dependencies(OpenColorIO_STATIC TINYXML_LIB YAML_CPP_LIB)
++ add_dependencies(OpenColorIO_STATIC TINYXML_LIB)
++
++ if(USE_EXTERNAL_YAML)
++ target_link_libraries(OpenColorIO_STATIC ${YAML_CPP_LIBRARIES})
++ else(USE_EXTERNAL_YAML)
++ add_dependencies(OpenColorIO_STATIC YAML_CPP_LIB)
++ endif()
++
+ if(EXTERNAL_LIBRARIES)
+ target_link_libraries(OpenColorIO_STATIC ${EXTERNAL_LIBRARIES})
+ endif()
+diff --git a/src/core/OCIOYaml.cpp b/src/core/OCIOYaml.cpp
+index aeee4d1..f1c662d 100644
+--- a/src/core/OCIOYaml.cpp
++++ b/src/core/OCIOYaml.cpp
+@@ -69,7 +69,7 @@ namespace YAML {
+
+ #ifdef WIN32
+ #pragma warning( push )
+-#pragma warning( disable: 4146 )
++#pragma warning( disable: 4146 4251 )
+ #endif
+
+ #include <yaml-cpp/yaml.h>
diff --git a/ports/opencolorio/0005-tinyxml-dependency-search.patch b/ports/opencolorio/0005-tinyxml-dependency-search.patch
new file mode 100644
index 000000000..319f88b73
--- /dev/null
+++ b/ports/opencolorio/0005-tinyxml-dependency-search.patch
@@ -0,0 +1,18 @@
+diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
+index 45e55f9..f4b687d 100644
+--- a/src/core/CMakeLists.txt
++++ b/src/core/CMakeLists.txt
+@@ -77,7 +77,12 @@ endif()
+ if(OCIO_BUILD_STATIC)
+ list(REMOVE_ITEM core_src_files ${CMAKE_SOURCE_DIR}/src/core/UnitTest.cpp)
+ add_library(OpenColorIO_STATIC STATIC ${EXTERNAL_OBJECTS} ${core_src_files})
+- add_dependencies(OpenColorIO_STATIC TINYXML_LIB)
++
++ if(USE_EXTERNAL_TINYXML)
++ target_link_libraries(OpenColorIO_STATIC ${TINYXML_LIBRARIES})
++ else(USE_EXTERNAL_TINYXML)
++ add_dependencies(OpenColorIO_STATIC TINYXML_LIB)
++ endif(USE_EXTERNAL_TINYXML)
+
+ if(USE_EXTERNAL_YAML)
+ target_link_libraries(OpenColorIO_STATIC ${YAML_CPP_LIBRARIES})
diff --git a/ports/opencolorio/CONTROL b/ports/opencolorio/CONTROL
new file mode 100644
index 000000000..0d53dd6c6
--- /dev/null
+++ b/ports/opencolorio/CONTROL
@@ -0,0 +1,9 @@
+Source: opencolorio
+Version: 1.1.1
+Homepage: https://opencolorio.org/
+Description: OpenColorIO (OCIO) is a complete color management solution geared towards motion picture production with an emphasis on visual effects and computer animation. OCIO provides a straightforward and consistent user experience across all supporting applications while allowing for sophisticated back-end configuration options suitable for high-end production usage. OCIO is compatible with the Academy Color Encoding Specification (ACES) and is LUT-format agnostic, supporting many popular formats.
+Build-Depends: glew[core], freeglut[core], lcms[core], yaml-cpp[core], tinyxml[core]
+
+Feature: applications
+Description: Enable OpenColorIO tools
+Build-Depends: openimageio[core], openexr[core]
diff --git a/ports/opencolorio/portfile.cmake b/ports/opencolorio/portfile.cmake
new file mode 100644
index 000000000..8246926eb
--- /dev/null
+++ b/ports/opencolorio/portfile.cmake
@@ -0,0 +1,101 @@
+include(vcpkg_common_definitions)
+include(vcpkg_common_functions)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ set(_BUILD_SHARED OFF)
+ set(_BUILD_STATIC ON)
+else()
+ set(_BUILD_SHARED ON)
+ set(_BUILD_STATIC OFF)
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO imageworks/OpenColorIO
+ REF v1.1.1
+ SHA512 bed722f9ddce1887d28aacef2882debccd7c3f3c0c708d2723fea58a097de9f02721af9e85453e089ffda5406aef593ab6536c6886307823c132aa787e492e33
+ HEAD_REF master
+ PATCHES
+ 0001-lcms-dependency-search.patch
+ 0002-msvc-cpluscplus.patch
+ 0003-osx-self-assign-field.patch
+ 0004-yaml-dependency-search.patch
+ 0005-tinyxml-dependency-search.patch
+)
+
+vcpkg_check_features(
+ OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ applications OCIO_BUILD_APPS
+)
+
+vcpkg_find_acquire_program(PYTHON2)
+get_filename_component(PYTHON2_PATH ${PYTHON2} DIRECTORY)
+vcpkg_add_to_path(PREPEND ${PYTHON2_PATH})
+
+# TODO(theblackunknown) build additional targets based on feature
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ ${FEATURE_OPTIONS}
+ -DOCIO_BUILD_SHARED:BOOL=${_BUILD_SHARED}
+ -DOCIO_BUILD_STATIC:BOOL=${_BUILD_STATIC}
+ -DOCIO_BUILD_TRUELIGHT:BOOL=OFF
+ -DOCIO_BUILD_NUKE:BOOL=OFF
+ -DOCIO_BUILD_DOCS:BOOL=OFF
+ -DOCIO_BUILD_TESTS:BOOL=OFF
+ -DOCIO_BUILD_PYGLUE:BOOL=OFF
+ -DOCIO_BUILD_JNIGLUE:BOOL=OFF
+ -DOCIO_STATIC_JNIGLUE:BOOL=OFF
+ -DUSE_EXTERNAL_TINYXML:BOOL=ON
+ -DUSE_EXTERNAL_YAML:BOOL=ON
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake")
+
+vcpkg_copy_pdbs()
+
+if("applications" IN_LIST FEATURES)
+ # port applications to tools
+ file(MAKE_DIRECTORY
+ "${CURRENT_PACKAGES_DIR}/tools/${PORT}"
+ "${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}"
+ )
+
+ file(GLOB_RECURSE _TOOLS
+ "${CURRENT_PACKAGES_DIR}/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX}"
+ )
+ foreach(_TOOL IN LISTS _TOOLS)
+ get_filename_component(_NAME ${_TOOL} NAME)
+ file(RENAME "${_TOOL}" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/${_NAME}")
+ endforeach()
+
+ file(GLOB_RECURSE _TOOLS
+ "${CURRENT_PACKAGES_DIR}/debug/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX}"
+ )
+ foreach(_TOOL IN LISTS _TOOLS)
+ get_filename_component(_NAME ${_TOOL} NAME)
+ file(RENAME "${_TOOL}" "${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/${_NAME}")
+ endforeach()
+
+ vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}")
+ vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}")
+endif()
+
+# Clean redundant files
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+# CMake Configs leftovers
+file(REMOVE
+ ${CURRENT_PACKAGES_DIR}/OpenColorIOConfig.cmake
+ ${CURRENT_PACKAGES_DIR}/debug/OpenColorIOConfig.cmake
+)
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
diff --git a/ports/opencsg/CONTROL b/ports/opencsg/CONTROL
index a2b5b0d7f..f48cff6d3 100644
--- a/ports/opencsg/CONTROL
+++ b/ports/opencsg/CONTROL
@@ -1,4 +1,4 @@
Source: opencsg
-Version: 1.4.2
+Version: 1.4.2-1
Build-Depends: glew
Description: OpenCSG is a library that does image-based CSG rendering using OpenGL. OpenCSG is written in C++ and supports most modern graphics hardware using Microsoft Windows or the Linux operating system.
diff --git a/ports/opencsg/portfile.cmake b/ports/opencsg/portfile.cmake
index e43a89ec5..f47996af5 100644
--- a/ports/opencsg/portfile.cmake
+++ b/ports/opencsg/portfile.cmake
@@ -1,15 +1,3 @@
-# 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_check_linkage(ONLY_STATIC_LIBRARY)
@@ -35,5 +23,4 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
-# Handle copyright
-file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/opencsg RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/opencv3/0003-disable-downloading.patch b/ports/opencv3/0001-disable-downloading.patch
index 28b00251f..7e49fae2a 100644
--- a/ports/opencv3/0003-disable-downloading.patch
+++ b/ports/opencv3/0001-disable-downloading.patch
@@ -1,6 +1,8 @@
+diff --git a/cmake/OpenCVDownload.cmake b/cmake/OpenCVDownload.cmake
+index cdc47ad..175aaf3 100644
--- a/cmake/OpenCVDownload.cmake
+++ b/cmake/OpenCVDownload.cmake
-@@ -151,6 +151,8 @@ function(ocv_download)
+@@ -154,6 +154,8 @@ function(ocv_download)
# Download
if(NOT EXISTS "${CACHE_CANDIDATE}")
ocv_download_log("#cmake_download \"${CACHE_CANDIDATE}\" \"${DL_URL}\"")
diff --git a/ports/opencv3/0002-install-options.patch b/ports/opencv3/0002-install-options.patch
index 0719a7cb9..3d334a0a1 100644
--- a/ports/opencv3/0002-install-options.patch
+++ b/ports/opencv3/0002-install-options.patch
@@ -1,137 +1,69 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6ce583b..e9ea757 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -312,6 +312,10 @@ OCV_OPTION(INSTALL_PYTHON_EXAMPLES "Install Python examples" OFF )
- OCV_OPTION(INSTALL_ANDROID_EXAMPLES "Install Android examples" OFF IF ANDROID )
- OCV_OPTION(INSTALL_TO_MANGLED_PATHS "Enables mangled install paths, that help with side by side installs." OFF IF (UNIX AND NOT ANDROID AND NOT APPLE_FRAMEWORK AND BUILD_SHARED_LIBS) )
- OCV_OPTION(INSTALL_TESTS "Install accuracy and performance test binaries and test data" OFF)
-+OCV_OPTION(INSTALL_HEADERS "Install header files" ON)
-+OCV_OPTION(INSTALL_LICENSE "Install license file" ON)
-+OCV_OPTION(INSTALL_OTHER "Install other files" ON)
-+OCV_OPTION(INSTALL_FORCE_UNIX_PATHS "Force unix-style installation" OFF)
+@@ -665,7 +665,7 @@ endif()
- # OpenCV build options
- # ===================================================
-@@ -378,7 +382,9 @@ else()
- endif()
-
- if(WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
-- if(DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH)
-+ if(DEFINED OpenCV_DISABLE_ARCH_PATH)
-+ ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "")
-+ elseif(DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH)
- ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "${OpenCV_ARCH}/${OpenCV_RUNTIME}/")
- else()
- message(STATUS "Can't detect runtime and/or arch")
-@@ -433,12 +439,8 @@ else()
- ocv_update(3P_LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/3rdparty/lib${LIB_SUFFIX}")
+ if(WIN32)
+ # Postfix of DLLs:
+- set(OPENCV_DLLVERSION "${OPENCV_VERSION_MAJOR}${OPENCV_VERSION_MINOR}${OPENCV_VERSION_PATCH}")
++ set(OPENCV_DLLVERSION "")
+ set(OPENCV_DEBUG_POSTFIX d)
+ else()
+ # Postfix of so's:
+@@ -716,7 +716,7 @@ endif()
+ ocv_cmake_hook(POST_CMAKE_BUILD_OPTIONS)
- if(WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
-- if(OpenCV_STATIC)
-- ocv_update(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}")
-- else()
-- ocv_update(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}")
-- endif()
-- ocv_update(OPENCV_3P_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}")
-+ ocv_update(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}")
-+ ocv_update(OPENCV_3P_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}")
- ocv_update(OPENCV_SAMPLES_SRC_INSTALL_PATH samples)
- ocv_update(OPENCV_JAR_INSTALL_PATH java)
- ocv_update(OPENCV_OTHER_INSTALL_PATH etc)
-@@ -901,7 +903,7 @@ if(NOT OPENCV_LICENSE_FILE)
+ # --- Python Support ---
+-if(NOT IOS)
++if(0)
+ include(cmake/OpenCVDetectPython.cmake)
endif()
- # for UNIX it does not make sense as LICENSE and readme will be part of the package automatically
--if(ANDROID OR NOT UNIX)
-+if(ANDROID OR NOT UNIX AND INSTALL_LICENSE)
- install(FILES ${OPENCV_LICENSE_FILE}
- PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
- DESTINATION ./ COMPONENT libs)
+diff --git a/cmake/OpenCVCompilerOptions.cmake b/cmake/OpenCVCompilerOptions.cmake
+index 0b9d669..142b21b 100644
+--- a/cmake/OpenCVCompilerOptions.cmake
++++ b/cmake/OpenCVCompilerOptions.cmake
+@@ -254,7 +254,6 @@ if(MSVC)
+ #endif()
+
+ if(BUILD_WITH_DEBUG_INFO)
+- set(OPENCV_EXTRA_FLAGS_RELEASE "${OPENCV_EXTRA_FLAGS_RELEASE} /Zi")
+ set(OPENCV_EXTRA_EXE_LINKER_FLAGS_RELEASE "${OPENCV_EXTRA_EXE_LINKER_FLAGS_RELEASE} /debug")
+ set(OPENCV_EXTRA_SHARED_LINKER_FLAGS_RELEASE "${OPENCV_EXTRA_SHARED_LINKER_FLAGS_RELEASE} /debug")
+ endif()
+diff --git a/cmake/OpenCVGenConfig.cmake b/cmake/OpenCVGenConfig.cmake
+index 2c7c42b..e7bc157 100644
--- a/cmake/OpenCVGenConfig.cmake
+++ b/cmake/OpenCVGenConfig.cmake
-@@ -105,7 +105,7 @@ function(ocv_gen_config TMP_DIR NESTED_PATH ROOT_NAME)
+@@ -109,7 +109,7 @@ function(ocv_gen_config TMP_DIR NESTED_PATH ROOT_NAME)
endif()
endfunction()
-if((CMAKE_HOST_SYSTEM_NAME MATCHES "Linux" OR UNIX) AND NOT ANDROID)
-+if(((CMAKE_HOST_SYSTEM_NAME MATCHES "Linux" OR UNIX) AND NOT ANDROID) OR INSTALL_FORCE_UNIX_PATHS)
++if(NOT ANDROID)
ocv_gen_config("${CMAKE_BINARY_DIR}/unix-install" "" "")
endif()
-@@ -117,7 +117,7 @@ endif()
+@@ -121,7 +121,7 @@ endif()
# --------------------------------------------------------------------------------------------
# Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake -> For use within binary installers/packages
# --------------------------------------------------------------------------------------------
-if(WIN32)
-+if(WIN32 AND NOT INSTALL_FORCE_UNIX_PATHS)
++if(0)
if(CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
if(BUILD_SHARED_LIBS)
set(_lib_suffix "lib")
---- a/cmake/OpenCVGenHeaders.cmake
-+++ b/cmake/OpenCVGenHeaders.cmake
-@@ -1,7 +1,9 @@
- # platform-specific config file
- configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/cvconfig.h.in" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/cvconfig.h")
- configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/cvconfig.h.in" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/cvconfig.h")
--install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/cvconfig.h" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev)
-+if(INSTALL_HEADERS)
-+ install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/cvconfig.h" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev)
-+endif()
-
- # platform-specific config file
- ocv_compiler_optimization_fill_cpu_config()
-@@ -29,4 +31,6 @@ set(OPENCV_MODULE_DEFINITIONS_CONFIGMAKE "${OPENCV_MODULE_DEFINITIONS_CONFIGMAKE
- #endforeach()
-
- configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/opencv_modules.hpp.in" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/opencv_modules.hpp")
--install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/opencv_modules.hpp" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev)
-+if(INSTALL_HEADERS)
-+ install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/opencv_modules.hpp" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev)
-+endif()
-\ No newline at end of file
---- a/cmake/OpenCVModule.cmake
-+++ b/cmake/OpenCVModule.cmake
-@@ -1000,7 +1000,9 @@ macro(_ocv_create_module)
- foreach(hdr ${OPENCV_MODULE_${the_module}_HEADERS})
- string(REGEX REPLACE "^.*opencv2/" "opencv2/" hdr2 "${hdr}")
- if(NOT hdr2 MATCHES "private" AND hdr2 MATCHES "^(opencv2/?.*)/[^/]+.h(..)?$" )
-- install(FILES ${hdr} OPTIONAL DESTINATION "${OPENCV_INCLUDE_INSTALL_PATH}/${CMAKE_MATCH_1}" COMPONENT dev)
-+ if(INSTALL_HEADERS)
-+ install(FILES ${hdr} OPTIONAL DESTINATION "${OPENCV_INCLUDE_INSTALL_PATH}/${CMAKE_MATCH_1}" COMPONENT dev)
-+ endif()
- endif()
- endforeach()
- endif()
+diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
+index 1f0d720..0bb1ff7 100644
--- a/data/CMakeLists.txt
+++ b/data/CMakeLists.txt
-@@ -1,8 +1,10 @@
+@@ -1,8 +1,6 @@
file(GLOB HAAR_CASCADES haarcascades/*.xml)
file(GLOB LBP_CASCADES lbpcascades/*.xml)
-install(FILES ${HAAR_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/haarcascades COMPONENT libs)
-install(FILES ${LBP_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/lbpcascades COMPONENT libs)
-+if(INSTALL_OTHER)
-+ install(FILES ${HAAR_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/haarcascades COMPONENT libs)
-+ install(FILES ${LBP_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/lbpcascades COMPONENT libs)
-+endif()
if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH)
install(DIRECTORY "${OPENCV_TEST_DATA_PATH}/" DESTINATION "${OPENCV_TEST_DATA_INSTALL_PATH}" COMPONENT "tests")
---- a/include/CMakeLists.txt
-+++ b/include/CMakeLists.txt
-@@ -1,7 +1,9 @@
--file(GLOB old_hdrs "opencv/*.h*")
--install(FILES ${old_hdrs}
-- DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv
-- COMPONENT dev)
--install(FILES "opencv2/opencv.hpp"
-- DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2
-- COMPONENT dev)
-+if(INSTALL_HEADERS)
-+ file(GLOB old_hdrs "opencv/*.h*")
-+ install(FILES ${old_hdrs}
-+ DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv
-+ COMPONENT dev)
-+ install(FILES "opencv2/opencv.hpp"
-+ DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2
-+ COMPONENT dev)
-+endif()
diff --git a/ports/opencv3/0004-use-find-package-required.patch b/ports/opencv3/0003-force-package-requirements.patch
index 4e1daf659..d43ccf4f6 100644
--- a/ports/opencv3/0004-use-find-package-required.patch
+++ b/ports/opencv3/0003-force-package-requirements.patch
@@ -1,3 +1,5 @@
+diff --git a/cmake/OpenCVFindLibsGrfmt.cmake b/cmake/OpenCVFindLibsGrfmt.cmake
+index fcf716b..bda80e9 100644
--- a/cmake/OpenCVFindLibsGrfmt.cmake
+++ b/cmake/OpenCVFindLibsGrfmt.cmake
@@ -6,7 +6,7 @@
@@ -16,9 +18,9 @@
- include(FindJPEG)
+ find_package(JPEG REQUIRED)
endif()
-
+
if(NOT JPEG_FOUND)
-@@ -51,7 +51,7 @@ if(WITH_TIFF)
+@@ -74,7 +74,7 @@ if(WITH_TIFF)
if(BUILD_TIFF)
ocv_clear_vars(TIFF_FOUND)
else()
@@ -27,7 +29,7 @@
if(TIFF_FOUND)
ocv_parse_header("${TIFF_INCLUDE_DIR}/tiff.h" TIFF_VERSION_LINES TIFF_VERSION_CLASSIC TIFF_VERSION_BIG TIFF_VERSION TIFF_BIGTIFF_VERSION)
endif()
-@@ -94,7 +94,7 @@ if(WITH_WEBP)
+@@ -117,7 +117,7 @@ if(WITH_WEBP)
if(BUILD_WEBP)
ocv_clear_vars(WEBP_FOUND WEBP_LIBRARY WEBP_LIBRARIES WEBP_INCLUDE_DIR)
else()
@@ -36,16 +38,16 @@
if(WEBP_FOUND)
set(HAVE_WEBP 1)
endif()
-@@ -135,7 +135,7 @@ if(WITH_JASPER)
+@@ -158,7 +158,7 @@ if(WITH_JASPER)
if(BUILD_JASPER)
ocv_clear_vars(JASPER_FOUND)
else()
- include(FindJasper)
+ find_package(Jasper REQUIRED)
endif()
-
+
if(NOT JASPER_FOUND)
-@@ -159,7 +159,7 @@ if(WITH_PNG)
+@@ -182,7 +182,7 @@ if(WITH_PNG)
if(BUILD_PNG)
ocv_clear_vars(PNG_FOUND)
else()
@@ -54,27 +56,27 @@
if(PNG_FOUND)
include(CheckIncludeFile)
check_include_file("${PNG_PNG_INCLUDE_DIR}/libpng/png.h" HAVE_LIBPNG_PNG_H)
-@@ -191,7 +191,7 @@ if(WITH_OPENEXR)
- if(BUILD_OPENEXR)
- ocv_clear_vars(OPENEXR_FOUND)
- else()
+@@ -213,7 +213,7 @@ endif()
+ if(WITH_OPENEXR)
+ ocv_clear_vars(HAVE_OPENEXR)
+ if(NOT BUILD_OPENEXR)
- include("${OpenCV_SOURCE_DIR}/cmake/OpenCVFindOpenEXR.cmake")
+ find_package(OpenEXR REQUIRED)
endif()
-
- if(NOT OPENEXR_FOUND)
-@@ -207,7 +207,7 @@ endif()
-
+
+ if(OPENEXR_FOUND)
+@@ -231,7 +231,7 @@ endif()
+
# --- GDAL (optional) ---
if(WITH_GDAL)
- find_package(GDAL QUIET)
+ find_package(GDAL REQUIRED)
-
+
if(NOT GDAL_FOUND)
set(HAVE_GDAL NO)
-@@ -219,7 +219,7 @@ if(WITH_GDAL)
+@@ -243,7 +243,7 @@ if(WITH_GDAL)
endif()
-
+
if (WITH_GDCM)
- find_package(GDCM QUIET)
+ find_package(GDCM REQUIRED)
diff --git a/ports/opencv3/0005-remove-custom-protobuf-find-package.patch b/ports/opencv3/0005-remove-custom-protobuf-find-package.patch
deleted file mode 100644
index 91ac137f9..000000000
--- a/ports/opencv3/0005-remove-custom-protobuf-find-package.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -633,7 +633,10 @@ include(cmake/OpenCVFindLibsGUI.cmake)
- include(cmake/OpenCVFindLibsVideo.cmake)
- include(cmake/OpenCVFindLibsPerf.cmake)
- include(cmake/OpenCVFindLAPACK.cmake)
--include(cmake/OpenCVFindProtobuf.cmake)
-+find_package(protobuf)
-+if(Protobuf_LIBRARIES)
-+ set(HAVE_PROTOBUF TRUE)
-+endif()
-
- # ----------------------------------------------------------------------------
- # Detect other 3rd-party libraries/tools
---- a/modules/dnn/CMakeLists.txt
-+++ b/modules/dnn/CMakeLists.txt
-@@ -78,7 +78,7 @@ endif()
-
- set(include_dirs ${fw_inc})
- set(sources_options "")
--set(libs libprotobuf ${LAPACK_LIBRARIES})
-+set(libs protobuf::libprotobuf ${LAPACK_LIBRARIES})
- if(OPENCV_DNN_OPENCL AND HAVE_OPENCL)
- list(APPEND include_dirs ${OPENCL_INCLUDE_DIRS})
- else()
diff --git a/ports/opencv3/0006-fix-missing-openjp2.patch b/ports/opencv3/0006-fix-missing-openjp2.patch
deleted file mode 100644
index c0afb9952..000000000
--- a/ports/opencv3/0006-fix-missing-openjp2.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/modules/imgcodecs/CMakeLists.txt b/modules/imgcodecs/CMakeLists.txt
-index 434278c..0d8f4d8 100644
---- a/modules/imgcodecs/CMakeLists.txt
-+++ b/modules/imgcodecs/CMakeLists.txt
-@@ -36,6 +36,11 @@ if(HAVE_PNG)
- endif()
-
- if(HAVE_GDCM)
-+ if (CMAKE_BUILD_TYPE STREQUAL "Release")
-+ link_directories("${CURRENT_INSTALLED_DIR}/lib")
-+ else()
-+ link_directories("${CURRENT_INSTALLED_DIR}/debug/lib")
-+ endif()
- ocv_include_directories(${GDCM_INCLUDE_DIRS})
- list(APPEND GRFMT_LIBS ${GDCM_LIBRARIES})
- endif()
diff --git a/ports/opencv3/0001-winrt-fixes.patch b/ports/opencv3/0009-fix-uwp.patch
index b2fe1a021..b57e49ea1 100644
--- a/ports/opencv3/0001-winrt-fixes.patch
+++ b/ports/opencv3/0009-fix-uwp.patch
@@ -1,38 +1,46 @@
+diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake
+index c2fda8f..3f7dfdc 100644
--- a/cmake/OpenCVModule.cmake
+++ b/cmake/OpenCVModule.cmake
-@@ -848,7 +848,7 @@ macro(ocv_create_module)
+@@ -850,7 +850,7 @@ macro(ocv_create_module)
set(the_module_target ${the_module})
endif()
-
+
- if(WINRT)
+ if(WINRT AND BUILD_TESTS)
# 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/include/opencv2/highgui/highgui_winrt.hpp b/modules/highgui/include/opencv2/highgui/highgui_winrt.hpp
+index f4147f3..b92efdd 100644
--- a/modules/highgui/include/opencv2/highgui/highgui_winrt.hpp
+++ b/modules/highgui/include/opencv2/highgui/highgui_winrt.hpp
@@ -24,6 +24,7 @@
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
-
+
+#include "opencv2/core/cvdef.h"
using namespace Windows::UI::Xaml::Controls;
-
+
namespace cv
+diff --git a/modules/highgui/src/window_winrt_bridge.hpp b/modules/highgui/src/window_winrt_bridge.hpp
+index 25f4aef..5429f0b 100644
--- a/modules/highgui/src/window_winrt_bridge.hpp
+++ b/modules/highgui/src/window_winrt_bridge.hpp
@@ -28,6 +28,7 @@
-
+
#include <map>
#include <opencv2\core.hpp>
+#include "opencv2/highgui/highgui_c.h"
-
+
using namespace Windows::UI::Xaml::Controls;
-
+
+diff --git a/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp b/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp
+index 236e227..e2417dc 100644
--- a/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp
+++ b/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp
@@ -94,10 +94,10 @@ Media::CaptureFrameGrabber::~CaptureFrameGrabber()
-
+
void Media::CaptureFrameGrabber::ShowCameraSettings()
{
-#if WINAPI_FAMILY!=WINAPI_FAMILY_PHONE_APP
diff --git a/ports/opencv3/CONTROL b/ports/opencv3/CONTROL
index f70d1d387..16776381d 100644
--- a/ports/opencv3/CONTROL
+++ b/ports/opencv3/CONTROL
@@ -1,86 +1,90 @@
Source: opencv3
-Version: 3.4.3-10
-Build-Depends: zlib
+Version: 3.4.7-1
+Build-Depends: protobuf, zlib
Homepage: https://github.com/opencv/opencv
Description: computer vision library
-Default-Features: opengl, jpeg, png, tiff, eigen, flann
+Default-Features: dnn, jpeg, opengl, png, tiff, webp
-Feature: opengl
-Build-Depends: opengl
-Description: opengl support for opencv
-
-Feature: dnn
-Build-Depends: protobuf
-Description: opencv_dnn module
-
-Feature: ovis
-Build-Depends: ogre
-Description: opencv_ovis module
+Feature: nonfree
+Description: allow nonfree and unredistributable libraries
Feature: flann
Description: opencv_flann module
-Feature: sfm
-Build-Depends: eigen3, glog, gflags, ceres
-Description: opencv_sfm module
-
Feature: contrib
-Build-Depends: opencv3[flann]
+Build-Depends: hdf5 (!uwp)
Description: opencv_contrib module
Feature: cuda
-Build-Depends: cuda
+Build-Depends: opencv3[contrib], cuda
Description: CUDA support for opencv
-Feature: ffmpeg
-Description: prebuilt ffmpeg support for opencv
-
-Feature: ipp
-Description: Enable Intel Integrated Performance Primitives
-
-Feature: tbb
-Build-Depends: tbb
-Description: Enable Intel Threading Building Blocks
+Feature: dnn
+Description: Enable dnn module
-Feature: qt
-Build-Depends: qt5
-Description: Qt GUI support for opencv
+Feature: eigen
+Build-Depends: eigen3
+Description: Eigen support for opencv
-Feature: vtk
-Build-Depends: vtk
-Description: vtk support for opencv
+Feature: ffmpeg
+Build-Depends: ffmpeg
+Description: ffmpeg support for opencv
Feature: gdcm
Build-Depends: gdcm
Description: GDCM support for opencv
-Feature: webp
-Build-Depends: libwebp
-Description: WebP support for opencv
+Feature: ipp
+Description: Enable Intel Integrated Performance Primitives
+
+Feature: jasper
+Build-Depends: jasper
+Description: JPEG 2000 support for opencv
+
+Feature: jpeg
+Build-Depends: libjpeg-turbo
+Description: JPEG support for opencv
Feature: openexr
Build-Depends: openexr
Description: OpenEXR support for opencv
-Feature: tiff
-Build-Depends: tiff
-Description: TIFF support for opencv
+Feature: opengl
+Build-Depends: opengl
+Description: opengl support for opencv
+
+
+Feature: ovis
+Build-Depends: opencv3[contrib], ogre
+Description: opencv_ovis module
Feature: png
Build-Depends: libpng
Description: PNG support for opencv
-Feature: jpeg
-Build-Depends: libjpeg-turbo
-Description: JPEG support for opencv
+Feature: qt
+Build-Depends: qt5
+Description: Qt GUI support for opencv
-Feature: jasper
-Build-Depends: jasper
-Description: JPEG 2000 support for opencv
+Feature: sfm
+Build-Depends: opencv3[contrib], opencv3[flann], eigen3, glog, gflags, ceres
+Description: opencv_sfm module
-Feature: eigen
-Build-Depends: eigen3
-Description: Eigen support for opencv
+Feature: tbb
+Build-Depends: tbb
+Description: Enable Intel Threading Building Blocks
+
+Feature: tiff
+Build-Depends: tiff
+Description: TIFF support for opencv
+
+Feature: vtk
+Build-Depends: vtk
+Description: vtk support for opencv
+
+Feature: webp
+Build-Depends: libwebp
+Description: WebP support for opencv
Feature: halide
Build-Depends: halide, opencv3[core], opencv3[dnn]
@@ -88,6 +92,3 @@ Description: Halide support for opencv
Feature: world
Description: Compile to a single package support for opencv
-
-Feature: nonfree
-Description: allow nonfree and unredistributable libraries
diff --git a/ports/opencv3/portfile.cmake b/ports/opencv3/portfile.cmake
index e4745d336..9f1e4788d 100644
--- a/ports/opencv3/portfile.cmake
+++ b/ports/opencv3/portfile.cmake
@@ -4,65 +4,85 @@ endif()
include(vcpkg_common_functions)
-set(OPENCV_PORT_VERSION "3.4.3")
+set(OPENCV_VERSION "3.4.7")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO opencv/opencv
- REF ${OPENCV_PORT_VERSION}
- SHA512 d653a58eb5e3939b9fdb7438ac35f77cf4385cf72d5d22bfd21722a109e1b3283dbb9407985061b7548114f0d05c9395aac9bb62b4d2bc1f68da770a49987fef
+ REF ${OPENCV_VERSION}
+ SHA512 ba1336ad4e5208748aa09c99770392cc71ef72688560d0b03287ddafd36093ef30cbdf6422f87f8f878663ab8085cc0ff8a8c65fd1ff0ec6800855ea01309beb
HEAD_REF master
PATCHES
- 0001-winrt-fixes.patch
+ 0001-disable-downloading.patch
0002-install-options.patch
- 0003-disable-downloading.patch
- 0004-use-find-package-required.patch
- 0005-remove-custom-protobuf-find-package.patch
- 0006-fix-missing-openjp2.patch
+ 0003-force-package-requirements.patch
+ 0009-fix-uwp.patch
)
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_WITH_STATIC_CRT)
-set(CMAKE_MODULE_PATH)
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ "contrib" WITH_CONTRIB
+ "cuda" WITH_CUDA
+ "cuda" WITH_CUBLAS
+ "dnn" BUILD_opencv_dnn
+ "eigen" WITH_EIGEN
+ "ffmpeg" WITH_FFMPEG
+ "flann" BUILD_opencv_flann
+ "gdcm" WITH_GDCM
+ "halide" WITH_HALIDE
+ "jasper" WITH_JASPER
+ "jpeg" WITH_JPEG
+ "nonfree" OPENCV_ENABLE_NONFREE
+ "openexr" WITH_OPENEXR
+ "opengl" WITH_OPENGL
+ "png" WITH_PNG
+ "qt" WITH_QT
+ "sfm" BUILD_opencv_sfm
+ "tiff" WITH_TIFF
+ "webp" WITH_WEBP
+ "world" BUILD_opencv_world
+)
-set(BUILD_opencv_world OFF)
-if("world" IN_LIST FEATURES)
- set(BUILD_opencv_world ON)
+# Cannot use vcpkg_check_features() for "ipp", "ovis", "tbb", and "vtk".
+# As the respective value of their variables can be unset conditionally.
+set(WITH_IPP OFF)
+if("ipp" IN_LIST FEATURES)
+ set(WITH_IPP ON)
endif()
-set(BUILD_opencv_dnn OFF)
-set(WITH_PROTOBUF OFF)
-if("dnn" IN_LIST FEATURES)
- set(BUILD_opencv_dnn ON)
- set(WITH_PROTOBUF ON)
- set(PROTOBUF_UPDATE_FILES ON)
- set(UPDATE_PROTO_FILES ON)
- vcpkg_download_distfile(TINYDNN_ARCHIVE
- URLS "https://github.com/tiny-dnn/tiny-dnn/archive/v1.0.0a3.tar.gz"
- FILENAME "opencv-cache/tiny_dnn/adb1c512e09ca2c7a6faef36f9c53e59-v1.0.0a3.tar.gz"
- SHA512 5f2c1a161771efa67e85b1fea395953b7744e29f61187ac5a6c54c912fb195b3aef9a5827135c3668bd0eeea5ae04a33cc433e1f6683e2b7955010a2632d168b
- )
+set(BUILD_opencv_ovis OFF)
+if("ovis" IN_LIST FEATURES)
+ set(BUILD_opencv_ovis ON)
endif()
-set(BUILD_opencv_flann OFF)
-if("flann" IN_LIST FEATURES)
- set(BUILD_opencv_flann ON)
+set(WITH_TBB OFF)
+if("tbb" IN_LIST FEATURES)
+ set(WITH_TBB ON)
endif()
-set(BUILD_opencv_ovis OFF)
-if("ovis" IN_LIST FEATURES)
- set(BUILD_opencv_ovis ON)
+set(WITH_VTK OFF)
+if("vtk" IN_LIST FEATURES)
+ set(WITH_VTK ON)
endif()
-set(BUILD_opencv_sfm OFF)
-if("sfm" IN_LIST FEATURES)
- set(BUILD_opencv_sfm ON)
+if("dnn" IN_LIST FEATURES)
+ vcpkg_download_distfile(TINYDNN_ARCHIVE
+ URLS "https://github.com/tiny-dnn/tiny-dnn/archive/v1.0.0a3.tar.gz"
+ FILENAME "opencv-cache/tiny_dnn/adb1c512e09ca2c7a6faef36f9c53e59-v1.0.0a3.tar.gz"
+ SHA512 5f2c1a161771efa67e85b1fea395953b7744e29f61187ac5a6c54c912fb195b3aef9a5827135c3668bd0eeea5ae04a33cc433e1f6683e2b7955010a2632d168b
+ )
endif()
-set(BUILD_opencv_contrib OFF)
if("contrib" IN_LIST FEATURES)
- set(BUILD_opencv_contrib ON)
-
+ vcpkg_from_github(
+ OUT_SOURCE_PATH CONTRIB_SOURCE_PATH
+ REPO opencv/opencv_contrib
+ REF ${OPENCV_VERSION}
+ SHA512 922620f3e8754fc15dedf8993bdc1f00c06b623cbeeb72afb984ddaad6e0e04f46561a0ee4d20f5e260616c1f32c6dc0dd7248355d417873ae72bd03cb5d57fd
+ HEAD_REF master
+ )
+ set(BUILD_WITH_CONTRIB_FLAG "-DOPENCV_EXTRA_MODULES_PATH=${CONTRIB_SOURCE_PATH}/modules")
# Used for opencv's face module
vcpkg_download_distfile(OCV_DOWNLOAD
URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat"
@@ -111,138 +131,63 @@ if("contrib" IN_LIST FEATURES)
)
endif()
-set(WITH_CUDA OFF)
-if("cuda" IN_LIST FEATURES)
- set(WITH_CUDA ON)
-endif()
-
-set(WITH_FFMPEG OFF)
-if("ffmpeg" IN_LIST FEATURES)
- set(WITH_FFMPEG ON)
- vcpkg_download_distfile(OCV_DOWNLOAD
- URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/8041bd6f5ad37045c258904ba3030bb3442e3911/ffmpeg/opencv_ffmpeg.dll"
- FILENAME "opencv-cache/ffmpeg/fa5a2a4e2f37defcb95bde8ed145c2b3-opencv_ffmpeg.dll"
- SHA512 875f922e1d9fc2fe7c8e879ede35b1001b6ad8b3c4d71feb3823421ce861f580df3418c791315b23870fcb0378d297b01e0761d3f65277ff11ec2fef8c0b08b7
- )
- vcpkg_download_distfile(OCV_DOWNLOAD
- URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/8041bd6f5ad37045c258904ba3030bb3442e3911/ffmpeg/opencv_ffmpeg_64.dll"
- FILENAME "opencv-cache/ffmpeg/2cc08fc4fef8199fe80e0f126684834f-opencv_ffmpeg_64.dll"
- SHA512 4e74aa4cb115f103b929f93bbc8dcf675de7d0c7916f8f0a80ac46761134b088634be95f959ce5827753ae9ecb2365ca40440dfbb9a9bf89f22ee11b6c8342b3
- )
- vcpkg_download_distfile(OCV_DOWNLOAD
- URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/8041bd6f5ad37045c258904ba3030bb3442e3911/ffmpeg/ffmpeg_version.cmake"
- FILENAME "opencv-cache/ffmpeg/3b90f67f4b429e77d3da36698cef700c-ffmpeg_version.cmake"
- SHA512 7d0142c30ac6f6260c1bcabc22753030fd25a708477fa28053e8df847c366967d3b93a8ac14af19a2b7b73d9f8241749a431458faf21a0c8efc7d6d99eecfdcf
- )
-endif()
-
-set(WITH_IPP OFF)
-if("ipp" IN_LIST FEATURES)
- set(WITH_IPP ON)
-
- if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
- vcpkg_download_distfile(OCV_DOWNLOAD
- URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/bdb7bb85f34a8cb0d35e40a81f58da431aa1557a/ippicv/ippicv_2017u3_win_intel64_general_20180518.zip"
- FILENAME "opencv-cache/ippicv/915ff92958089ede8ea532d3c4fe7187-ippicv_2017u3_win_intel64_general_20180518.zip"
- SHA512 8aa08292d542d521c042864446e47a7a6bdbf3896d86fc7b43255459c24a2e9f34a4e9b177023d178fed7a2e82a9db410f89d81375a542d049785d263f46c64d
+if(WITH_IPP)
+ if(VCPKG_TARGET_IS_OSX)
+ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ vcpkg_download_distfile(OCV_DOWNLOAD
+ URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_mac_intel64_general_20180723.tgz"
+ FILENAME "opencv-cache/ippicv/fe6b2bb75ae0e3f19ad3ae1a31dfa4a2-ippicv_2019_mac_intel64_general_20180723.tgz"
+ SHA512 266fe3fecf8e95e1f51c09b65330a577743ef72b423b935d4d1fe8d87f1b4f258c282fe6a18fc805d489592f137ebed37c9f1d1b34026590d9f1ba107015132e
)
+ else()
+ message(WARNING "This target architecture is not supported IPPICV")
+ set(WITH_IPP OFF)
+ endif()
+ elseif(VCPKG_TARGET_IS_LINUX)
+ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ vcpkg_download_distfile(OCV_DOWNLOAD
+ URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_lnx_intel64_general_20180723.tgz"
+ FILENAME "opencv-cache/ippicv/c0bd78adb4156bbf552c1dfe90599607-ippicv_2019_lnx_intel64_general_20180723.tgz"
+ SHA512 e4ec6b3b9fc03d7b3ae777c2a26f57913e83329fd2f7be26c259b07477ca2a641050b86979e0c96e25aa4c1f9f251b28727690358a77418e76dd910d0f4845c9
+ )
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ vcpkg_download_distfile(OCV_DOWNLOAD
+ URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_lnx_ia32_general_20180723.tgz"
+ FILENAME "opencv-cache/ippicv/4f38432c30bfd6423164b7a24bbc98a0-ippicv_2019_lnx_ia32_general_20180723.tgz"
+ SHA512 d96d3989928ff11a18e631bf5ecfdedf88fd350162a23fa2c8f7dbc3bf878bf442aff7fb2a07dc56671d7268cc20682055891be75b9834e9694d20173e92b6a3
+ )
+ else()
+ message(WARNING "This target architecture is not supported IPPICV")
+ set(WITH_IPP OFF)
+ endif()
+ elseif(VCPKG_TARGET_IS_WINDOWS)
+ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ vcpkg_download_distfile(OCV_DOWNLOAD
+ URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_win_intel64_20180723_general.zip"
+ FILENAME "opencv-cache/ippicv/1d222685246896fe089f88b8858e4b2f-ippicv_2019_win_intel64_20180723_general.zip"
+ SHA512 b6c4f2696e2004b8f5471efd9bdc6c684b77830e0533d8880310c0b665b450d6f78e10744c937f5592ab900e187c475e46cb49e98701bb4bcbbc7da77723011d
+ )
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ vcpkg_download_distfile(OCV_DOWNLOAD
+ URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_win_ia32_20180723_general.zip"
+ FILENAME "opencv-cache/ippicv/0157251a2eb9cd63a3ebc7eed0f3e59e-ippicv_2019_win_ia32_20180723_general.zip"
+ SHA512 c33fd4019c71b064b153e1b25e0307f9c7ada693af8ec910410edeab471c6f14df9b11bf9f5302ceb0fcd4282f5c0b6c92fb5df0e83eb50ed630c45820d1e184
+ )
+ else()
+ message(WARNING "This target architecture is not supported IPPICV")
+ set(WITH_IPP OFF)
+ endif()
else()
- vcpkg_download_distfile(OCV_DOWNLOAD
- URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/bdb7bb85f34a8cb0d35e40a81f58da431aa1557a/ippicv/ippicv_2017u3_win_ia32_general_20180518.zip"
- FILENAME "opencv-cache/ippicv/928168c2d99ab284047dfcfb7a821d91-ippicv_2017u3_win_ia32_general_20180518.zip"
- SHA512 b89b0fb739152303cafc9fb064fa8b24fd94850697137ccbb5c1e344e0f5094115603a5e3be3a25f85d0faefc5c53429a7d65da0142d012ada41e8db2bcdd6b7
- )
+ message(WARNING "This target architecture is not supported IPPICV")
+ set(WITH_IPP OFF)
endif()
endif()
-set(WITH_TBB OFF)
-if("tbb" IN_LIST FEATURES)
- set(WITH_TBB ON)
-endif()
-
-set(WITH_QT OFF)
-if("qt" IN_LIST FEATURES)
- set(WITH_QT ON)
-endif()
-
-set(WITH_VTK OFF)
-if("vtk" IN_LIST FEATURES)
- set(WITH_VTK ON)
-endif()
-
-set(WITH_WEBP OFF)
-if("webp" IN_LIST FEATURES)
- set(WITH_WEBP ON)
- list(APPEND CMAKE_MODULE_PATH ${CURRENT_INSTALLED_DIR}/share/libwebp)
-endif()
-
-set(WITH_GDCM OFF)
-if("gdcm" IN_LIST FEATURES)
- set(WITH_GDCM ON)
-endif()
-
-set(WITH_OPENGL OFF)
-if("opengl" IN_LIST FEATURES)
- set(WITH_OPENGL ON)
-endif()
-
-set(WITH_OPENEXR OFF)
-if("openexr" IN_LIST FEATURES)
- set(WITH_OPENEXR ON)
- list(APPEND CMAKE_MODULE_PATH ${CURRENT_INSTALLED_DIR}/share/openexr)
-endif()
-
set(WITH_MSMF ON)
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+if(VCPKG_TARGET_IS_UWP)
set(WITH_MSMF OFF)
endif()
-set(WITH_TIFF OFF)
-if("tiff" IN_LIST FEATURES)
- set(WITH_TIFF ON)
-endif()
-
-set(WITH_JPEG OFF)
-if("jpeg" IN_LIST FEATURES)
- set(WITH_JPEG ON)
-endif()
-
-set(WITH_JASPER OFF)
-if("jasper" IN_LIST FEATURES)
- set(WITH_JASPER ON)
-endif()
-
-set(WITH_PNG OFF)
-if("png" IN_LIST FEATURES)
- set(WITH_PNG ON)
-endif()
-
-set(WITH_EIGEN OFF)
-if("eigen" IN_LIST FEATURES)
- set(WITH_EIGEN ON)
-endif()
-
-set(WITH_HALIDE OFF)
-if("halide" IN_LIST FEATURES)
- set(WITH_HALIDE ON)
-endif()
-
-set(OPENCV_ENABLE_NONFREE OFF)
-if("nonfree" IN_LIST FEATURES)
- set(OPENCV_ENABLE_NONFREE ON)
-endif()
-
-if(BUILD_opencv_contrib)
- vcpkg_from_github(
- OUT_SOURCE_PATH CONTRIB_SOURCE_PATH
- REPO opencv/opencv_contrib
- REF ${OPENCV_PORT_VERSION}
- SHA512 456c6f878fb3bd5459f6430405cf05c609431f8d7db743aa699fc75c305d019682ee3a804bf0cf5107597dd1dbbb69b08be3535a0e6c717e4773ed7c05d08e59
- HEAD_REF master
- )
- set(BUILD_WITH_CONTRIB_FLAG "-DOPENCV_EXTRA_MODULES_PATH=${CONTRIB_SOURCE_PATH}/modules")
-endif()
-
set(WITH_ZLIB ON)
set(BUILD_opencv_line_descriptor ON)
set(BUILD_opencv_saliency ON)
@@ -252,14 +197,21 @@ if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm")
set(BUILD_opencv_saliency OFF)
set(BUILD_opencv_bgsegm OFF)
endif()
-
-string(REPLACE ";" "\\\\\;" CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}")
+if (VCPKG_TARGET_IS_UWP)
+ set(BUILD_opencv_quality OFF)
+endif()
vcpkg_configure_cmake(
PREFER_NINJA
SOURCE_PATH ${SOURCE_PATH}
- OPTIONS
- # Ungrouped Entries
+ OPTIONS ${FEATURE_OPTIONS}
+ ###### ocv_options
+ -DOpenCV_INSTALL_BINARIES_PREFIX=
+ -DOPENCV_LIB_INSTALL_PATH=lib
+ -DOPENCV_3P_LIB_INSTALL_PATH=lib
+ -DOPENCV_CONFIG_INSTALL_PATH=share/opencv
+ -DOPENCV_FFMPEG_USE_FIND_PACKAGE=FFMPEG
+ -DCMAKE_DEBUG_POSTFIX=d
-DOpenCV_DISABLE_ARCH_PATH=ON
# Do not build docs/examples
-DBUILD_DOCS=OFF
@@ -281,22 +233,18 @@ vcpkg_configure_cmake(
# Select which OpenCV modules should be built
-DBUILD_opencv_apps=OFF
-DBUILD_opencv_bgsegm=${BUILD_opencv_bgsegm}
- -DBUILD_opencv_dnn=${BUILD_opencv_dnn}
- -DBUILD_opencv_flann=${BUILD_opencv_flann}
-DBUILD_opencv_line_descriptor=${BUILD_opencv_line_descriptor}
-DBUILD_opencv_ovis=${BUILD_opencv_ovis}
-DBUILD_opencv_python2=OFF
-DBUILD_opencv_python3=OFF
-DBUILD_opencv_saliency=${BUILD_opencv_saliency}
- -DBUILD_opencv_sfm=${BUILD_opencv_sfm}
- -DBUILD_opencv_world=${BUILD_opencv_world}
# PROTOBUF
- -DPROTOBUF_UPDATE_FILES=${PROTOBUF_UPDATE_FILES}
- -DUPDATE_PROTO_FILES=${UPDATE_PROTO_FILES}
+ -DPROTOBUF_UPDATE_FILES=ON
+ -DUPDATE_PROTO_FILES=ON
+ -DWITH_PROTOBUF=ON
# CMAKE
-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
-DCMAKE_DISABLE_FIND_PACKAGE_JNI=ON
- "-DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH}"
# ENABLE
-DENABLE_CXX11=ON
-DENABLE_PYLINT=OFF
@@ -306,119 +254,71 @@ vcpkg_configure_cmake(
-DINSTALL_LICENSE=OFF
# OPENCV
-DOPENCV_CONFIG_INSTALL_PATH=share/opencv
+ -DOPENCV_OTHER_INSTALL_PATH=share/opencv
"-DOPENCV_DOWNLOAD_PATH=${DOWNLOADS}/opencv-cache"
${BUILD_WITH_CONTRIB_FLAG}
-DOPENCV_OTHER_INSTALL_PATH=share/opencv
# WITH
- -DWITH_CUBLAS=${WITH_CUDA}
- -DWITH_CUDA=${WITH_CUDA}
- -DWITH_EIGEN=${WITH_EIGEN}
- -DWITH_FFMPEG=${WITH_FFMPEG}
- -DWITH_GDCM=${WITH_GDCM}
- -DWITH_HALIDE=${WITH_HALIDE}
- -DHALIDE_ROOT_DIR=${CURRENT_INSTALLED_DIR}
+ ${FEATURE_OPPTIONS}
-DWITH_IPP=${WITH_IPP}
- -DWITH_JASPER=${WITH_JASPER}
- -DWITH_JPEG=${WITH_JPEG}
-DWITH_LAPACK=OFF
-DWITH_MATLAB=OFF
-DWITH_MSMF=${WITH_MSMF}
-DWITH_OPENCLAMDBLAS=OFF
- -DWITH_OPENEXR=${WITH_OPENEXR}
- -DWITH_OPENGL=${WITH_OPENGL}
- -DWITH_PNG=${WITH_PNG}
- -DWITH_PROTOBUF=${WITH_PROTOBUF}
- -DWITH_QT=${WITH_QT}
-DWITH_TBB=${WITH_TBB}
- -DWITH_TIFF=${WITH_TIFF}
-DWITH_VTK=${WITH_VTK}
- -DWITH_WEBP=${WITH_WEBP}
-DWITH_ZLIB=${WITH_ZLIB}
-DCURRENT_INSTALLED_DIR=${CURRENT_INSTALLED_DIR}
+ -DHALIDE_ROOT_DIR=${CURRENT_INSTALLED_DIR}
OPTIONS_DEBUG
-DINSTALL_HEADERS=OFF
-DINSTALL_OTHER=OFF
)
vcpkg_install_cmake()
-
-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)
-elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
- set(OpenCV_ARCH ARM)
-elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
- set(OpenCV_ARCH ARM64)
-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 "/staticlib/"
- "/lib/" OPENCV_CONFIG "${OPENCV_CONFIG}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVConfig.cmake "${OPENCV_CONFIG}")
-
-file(READ ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules-release.cmake OPENCV_CONFIG_LIB)
-string(REPLACE "/staticlib/"
- "/lib/" OPENCV_CONFIG_LIB "${OPENCV_CONFIG_LIB}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules-release.cmake "${OPENCV_CONFIG_LIB}")
-
-file(READ ${CURRENT_PACKAGES_DIR}/debug/share/opencv/OpenCVModules-debug.cmake OPENCV_CONFIG_LIB)
-string(REPLACE "/staticlib/"
- "/lib/" 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}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules-debug.cmake "${OPENCV_CONFIG_LIB}")
-
-file(RENAME ${CURRENT_PACKAGES_DIR}/debug/share/opencv/OpenCVModules.cmake ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake)
-
-file(READ ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake OPENCV_MODULES)
-string(REPLACE "${CURRENT_INSTALLED_DIR}"
- "\${_VCPKG_INSTALLED_DIR}/\${VCPKG_TARGET_TRIPLET}" OPENCV_MODULES "${OPENCV_MODULES}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake "${OPENCV_MODULES}")
+vcpkg_fixup_cmake_targets(CONFIG_PATH "share/opencv" TARGET_PATH "share/opencv")
+vcpkg_copy_pdbs()
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(READ ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake OPENCV_MODULES)
string(REPLACE "set(CMAKE_IMPORT_FILE_VERSION 1)"
"set(CMAKE_IMPORT_FILE_VERSION 1)
- find_package(TIFF REQUIRED)" OPENCV_MODULES "${OPENCV_MODULES}")
+find_package(Protobuf REQUIRED)
+if(Protobuf_FOUND)
+ if(TARGET protobuf::libprotobuf)
+ add_library(libprotobuf INTERFACE IMPORTED)
+ set_target_properties(libprotobuf PROPERTIES
+ INTERFACE_LINK_LIBRARIES protobuf::libprotobuf
+ )
+ else()
+ add_library(libprotobuf UNKNOWN IMPORTED)
+ set_target_properties(libprotobuf PROPERTIES
+ IMPORTED_LOCATION \"${Protobuf_LIBRARY}\"
+ INTERFACE_INCLUDE_DIRECTORIES \"${Protobuf_INCLUDE_DIR}\"
+ INTERFACE_SYSTEM_INCLUDE_DIRECTORIES \"${Protobuf_INCLUDE_DIR}\"
+ )
+ endif()
+endif()
+find_package(TIFF QUIET)
+find_package(HDF5 QUIET)
+find_package(Freetype QUIET)
+find_package(Ogre QUIET)
+find_package(gflags QUIET)
+find_package(Ceres QUIET)
+find_package(ade QUIET)
+find_package(VTK QUIET)
+find_package(OpenMP QUIET)
+find_package(GDCM QUIET)" OPENCV_MODULES "${OPENCV_MODULES}")
+
file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake "${OPENCV_MODULES}")
+
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/opencv)
-
-vcpkg_copy_pdbs()
-
-file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/opencv3)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/opencv3/LICENSE ${CURRENT_PACKAGES_DIR}/share/opencv3/copyright)
-
-set(VCPKG_POLICY_ALLOW_OBSOLETE_MSVCRT enabled)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/setup_vars_opencv3.cmd)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/setup_vars_opencv3.cmd)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/LICENSE)
+file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/LICENSE)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/opencv3 RENAME copyright)
diff --git a/ports/opencv3/usage b/ports/opencv3/usage
deleted file mode 100644
index 1c30e5fea..000000000
--- a/ports/opencv3/usage
+++ /dev/null
@@ -1,5 +0,0 @@
-The package opencv provides CMake integration:
-
- find_package(OpenCV REQUIRED)
- target_include_directories(main PRIVATE ${OpenCV_INCLUDE_DIRS})
- target_link_libraries(main PRIVATE ${OpenCV_LIBS})
diff --git a/ports/opencv4/CONTROL b/ports/opencv4/CONTROL
index e16540656..29a119e2f 100644
--- a/ports/opencv4/CONTROL
+++ b/ports/opencv4/CONTROL
@@ -1,11 +1,12 @@
Source: opencv4
Version: 4.1.1-1
Build-Depends: protobuf, zlib
+Homepage: https://github.com/opencv/opencv
Description: computer vision library
Default-Features: dnn, jpeg, opengl, png, tiff, webp
Feature: nonfree
-Description: opencv nonfree module
+Description: allow nonfree and unredistributable libraries
Feature: ade
Build-Depends: ade
diff --git a/ports/opencv4/portfile.cmake b/ports/opencv4/portfile.cmake
index ed0b9f1e2..60ba8e5f5 100644
--- a/ports/opencv4/portfile.cmake
+++ b/ports/opencv4/portfile.cmake
@@ -6,10 +6,6 @@ include(vcpkg_common_functions)
set(OPENCV_VERSION "4.1.1")
-if(VCPKG_TARGET_IS_LINUX)
- message("OpenCV currently requires the following library from the system package manager:\n libgtk3\n\nThis can be installed on Ubuntu systems via apt-get install libgtk-3-dev")
-endif()
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO opencv/opencv
@@ -288,14 +284,13 @@ vcpkg_configure_cmake(
-DCURRENT_INSTALLED_DIR=${CURRENT_INSTALLED_DIR}
###### PROTOBUF
-DPROTOBUF_UPDATE_FILES=ON
- -DUPDATE_PROTO_FILES=ON
+ -DUPDATE_PROTO_FILES=ON
###### PYLINT/FLAKE8
-DENABLE_PYLINT=OFF
-DENABLE_FLAKE8=OFF
# CMAKE
-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
-DCMAKE_DISABLE_FIND_PACKAGE_JNI=ON
- -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
# ENABLE
-DENABLE_CXX11=ON
###### OPENCV vars
@@ -323,15 +318,10 @@ vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH "share/opencv" TARGET_PATH "share/opencv")
vcpkg_copy_pdbs()
-# OpenCV does not list TIFF as a dependency.
-# We explicitly add it to the module file,
-# in order to fix unresolved symbols linking problems
-# for downstream projects using OpenCV as static library
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(READ ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake OPENCV_MODULES)
string(REPLACE "set(CMAKE_IMPORT_FILE_VERSION 1)"
"set(CMAKE_IMPORT_FILE_VERSION 1)
-find_package(TIFF REQUIRED)
find_package(Protobuf REQUIRED)
if(Protobuf_FOUND)
if(TARGET protobuf::libprotobuf)
@@ -348,6 +338,7 @@ if(Protobuf_FOUND)
)
endif()
endif()
+find_package(TIFF QUIET)
find_package(HDF5 QUIET)
find_package(Freetype QUIET)
find_package(Ogre QUIET)
diff --git a/ports/opengl-registry/CONTROL b/ports/opengl-registry/CONTROL
index 1a3635c35..3ff6c6e69 100644
--- a/ports/opengl-registry/CONTROL
+++ b/ports/opengl-registry/CONTROL
@@ -1,4 +1,4 @@
Source: opengl-registry
-Version: 2018-06-30-1
+Version: 2019-08-22
Build-Depends: egl-registry
Description: the API and Extension registries for the OpenGL family APIs
diff --git a/ports/opengl-registry/portfile.cmake b/ports/opengl-registry/portfile.cmake
index 7b38b2c07..406ca1c3f 100644
--- a/ports/opengl-registry/portfile.cmake
+++ b/ports/opengl-registry/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO KhronosGroup/OpenGL-Registry
- REF e18e52a14e902a9ee29c5bf87478ac2ca21bb06b
- SHA512 3b883115e138178984a751ee314b0589a7a20db3bc7cff96fa0b886be1779c24031ce65847386aa2d4f42823b1597edccc5a9afc0aef42fea8611a44d2ca5df6
+ REF 3c9ab309994c2baeb5572aa0befd5f405166a275
+ SHA512 f53018fe6dfb926dd6c1ce64ffde19b650a9071a1f6fa0c7a1596237e4ff84c3ff0092fb80811c4fea9b533c4b8607ed51f328d683d8f4aac18f0616f58b56a4
HEAD_REF master
)
diff --git a/ports/opengl/usage b/ports/opengl/usage
new file mode 100644
index 000000000..33e33f6c7
--- /dev/null
+++ b/ports/opengl/usage
@@ -0,0 +1,24 @@
+The package opengl is compatible with built-in CMake targets via CMake v3.7 and prior syntax
+
+ find_package(OpenGL REQUIRED)
+ target_link_libraries(main PRIVATE ${OPENGL_LIBRARIES})
+ target_include_directories(main PRIVATE ${OPENGL_INCLUDE_DIR})
+
+and the CMake v3.8 and beyond imported target syntax
+
+ find_package(OpenGL REQUIRED)
+ target_link_libraries(main PRIVATE OpenGL::GL)
+
+introduction of various components
+
+ find_package(OpenGL REQUIRED COMPONENTS GL # v3.8
+ GLU # v3.8
+ GLX # v3.10
+ EGL # v3.10
+ OpenGL) # v3.10
+
+The OpenGL SDK is highly platform dependent and is usually an OS component. It's not realistic to build from source for every platform.
+
+ WINDOWS: is part of the Windows SDK which this package installs.
+ LINUX: the SDK may be installed from your distro's repo or from 3rd parties manually. There are too many to count.
+ APPLE: consult your distribution vendor on the state of OpenGL support: https://support.apple.com/en-us/HT202823
diff --git a/ports/openimageio/CONTROL b/ports/openimageio/CONTROL
index 30d1fae48..70b2e528f 100644
--- a/ports/openimageio/CONTROL
+++ b/ports/openimageio/CONTROL
@@ -1,5 +1,5 @@
Source: openimageio
-Version: 2019-08-08-2
+Version: 2019-08-08-4
Homepage: https://github.com/OpenImageIO/oiio
Description: A library for reading and writing images, and a bunch of related classes, utilities, and application
Build-Depends: libjpeg-turbo, tiff, libpng, openexr, boost-thread, boost-smart-ptr, boost-foreach, boost-regex, boost-type-traits, boost-static-assert, boost-unordered, boost-config, boost-algorithm, boost-filesystem, boost-system, boost-thread, boost-asio, boost-random, robin-map, boost-stacktrace
@@ -7,3 +7,7 @@ Build-Depends: libjpeg-turbo, tiff, libpng, openexr, boost-thread, boost-smart-p
Feature: libraw
Build-Depends: libraw
Description: Enable RAW image files support
+
+Feature: opencolorio
+Build-Depends: opencolorio
+Description: Enable opencolorio support for openimageio \ No newline at end of file
diff --git a/ports/openimageio/fix_find_openexr.patch b/ports/openimageio/fix_find_openexr.patch
index a2014f3d8..f9bc401d9 100644
--- a/ports/openimageio/fix_find_openexr.patch
+++ b/ports/openimageio/fix_find_openexr.patch
@@ -1,8 +1,8 @@
diff --git a/src/cmake/modules/FindOpenEXR.cmake b/src/cmake/modules/FindOpenEXR.cmake
-index babfffd..8e79925 100644
+index babfffd..3d0bee3 100644
--- a/src/cmake/modules/FindOpenEXR.cmake
+++ b/src/cmake/modules/FindOpenEXR.cmake
-@@ -118,24 +118,25 @@ endif ()
+@@ -118,24 +118,30 @@ endif ()
# headers, we do two finds -- first for custom locations, then for default.
# This is complicated because the OpenEXR libraries may or may not be
# built with version numbers embedded.
@@ -24,24 +24,29 @@ index babfffd..8e79925 100644
- # One more time, with no restrictions
- find_library (OPENEXR_${UPPERCOMPONENT}_LIBRARY ${FULL_COMPONENT_NAME})
-endforeach ()
++if (WIN32)
++ set(OPENEXR_DEBUG_SUFFIX "_d")
++else()
++ set(OPENEXR_DEBUG_SUFFIX "")
++endif()
+find_library(ILMTHREAD_LIBRARY_RELEASE NAMES IlmThread-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR})
-+find_library(ILMTHREAD_LIBRARY_DEBUG NAMES IlmThread-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR}_d)
++find_library(ILMTHREAD_LIBRARY_DEBUG NAMES IlmThread-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR}${OPENEXR_DEBUG_SUFFIX})
+select_library_configurations(ILMTHREAD)
+
+find_library(OPENEXR_ILMIMF_LIBRARY_RELEASE NAMES IlmImf-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR})
-+find_library(OPENEXR_ILMIMF_LIBRARY_DEBUG NAMES IlmImf-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR}_d)
++find_library(OPENEXR_ILMIMF_LIBRARY_DEBUG NAMES IlmImf-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR}${OPENEXR_DEBUG_SUFFIX})
+select_library_configurations(OPENEXR_ILMIMF)
+
+find_library(OPENEXR_IMATH_LIBRARY_RELEASE NAMES Imath-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR})
-+find_library(OPENEXR_IMATH_LIBRARY_DEBUG NAMES Imath-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR}_d)
++find_library(OPENEXR_IMATH_LIBRARY_DEBUG NAMES Imath-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR}${OPENEXR_DEBUG_SUFFIX})
+select_library_configurations(OPENEXR_IMATH)
+
+find_library(OPENEXR_IEX_LIBRARY_RELEASE NAMES Iex-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR})
-+find_library(OPENEXR_IEX_LIBRARY_DEBUG NAMES Iex-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR}_d)
++find_library(OPENEXR_IEX_LIBRARY_DEBUG NAMES Iex-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR}${OPENEXR_DEBUG_SUFFIX})
+select_library_configurations(OPENEXR_IEX)
+
+find_library(OPENEXR_HALF_LIBRARY_RELEASE NAMES Half-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR})
-+find_library(OPENEXR_HALF_LIBRARY_DEBUG NAMES Half-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR}_d)
++find_library(OPENEXR_HALF_LIBRARY_DEBUG NAMES Half-${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR}${OPENEXR_DEBUG_SUFFIX})
+select_library_configurations(OPENEXR_HALF)
# Set the FOUND, INCLUDE_DIR, and LIBRARIES variables.
diff --git a/ports/openimageio/portfile.cmake b/ports/openimageio/portfile.cmake
index 09ac52960..6d14e580c 100644
--- a/ports/openimageio/portfile.cmake
+++ b/ports/openimageio/portfile.cmake
@@ -24,16 +24,15 @@ else()
set(LINKSTATIC OFF)
endif()
-# Features
-set(USE_LIBRAW OFF)
-if("libraw" IN_LIST FEATURES)
- set(USE_LIBRAW ON)
-endif()
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ libraw USE_LIBRAW
+ opencolorio USE_OCIO
+)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
- OPTIONS
+ OPTIONS ${FEATURE_OPTIONS}
-DOIIO_BUILD_TOOLS=OFF
-DOIIO_BUILD_TESTS=OFF
-DHIDE_SYMBOLS=ON
@@ -42,9 +41,7 @@ vcpkg_configure_cmake(
-DUSE_FIELD3D=OFF
-DUSE_FREETYPE=OFF
-DUSE_GIF=OFF
- -DUSE_LIBRAW=${USE_LIBRAW}
-DUSE_NUKE=OFF
- -DUSE_OCIO=OFF
-DUSE_OPENCV=OFF
-DUSE_OPENJPEG=OFF
-DUSE_OPENSSL=OFF
diff --git a/ports/openni2/CONTROL b/ports/openni2/CONTROL
index 9dca0b47a..a68d575ba 100644
--- a/ports/openni2/CONTROL
+++ b/ports/openni2/CONTROL
@@ -1,5 +1,5 @@
Source: openni2
-Version: 2.2.0.33-9
+Version: 2.2.0.33-10
Build-Depends: kinectsdk1
Homepage: https://github.com/OpenNI/OpenNI2
Description: OpenNI is open source library for access to Natural Interaction (NI) devices such as RGB-D camera.
diff --git a/ports/openni2/portfile.cmake b/ports/openni2/portfile.cmake
index d5be0e3d4..b7064a12c 100644
--- a/ports/openni2/portfile.cmake
+++ b/ports/openni2/portfile.cmake
@@ -1,8 +1,15 @@
include(vcpkg_common_functions)
+
if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
message(FATAL_ERROR "Error: UWP builds are currently not supported.")
endif()
+find_path(COR_H_PATH cor.h)
+if(COR_H_PATH MATCHES "NOTFOUND")
+ message(FATAL_ERROR "Could not find <cor.h>. Ensure the NETFXSDK is installed.")
+endif()
+get_filename_component(NETFXSDK_PATH "${COR_H_PATH}/../.." ABSOLUTE)
+
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT)
vcpkg_from_github(
@@ -11,13 +18,9 @@ vcpkg_from_github(
REF 2.2-beta2
SHA512 60a3a3043679f3069aea869e92dc5881328ce4393d4140ea8d089027321ac501ae27d283657214e2834d216d0d49bf4f29a4b3d3e43df27a6ed21f889cd0083f
HEAD_REF master
-)
-
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES "${CMAKE_CURRENT_LIST_DIR}/upgrade_projects.patch"
- "${CMAKE_CURRENT_LIST_DIR}/inherit_from_parent_or_project_defaults.patch"
- "${CMAKE_CURRENT_LIST_DIR}/replace_environment_variable.patch"
+ PATCHES upgrade_projects.patch
+ inherit_from_parent_or_project_defaults.patch
+ replace_environment_variable.patch
)
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET})
@@ -34,6 +37,7 @@ configure_file("${SOURCE_PATH}/Source/Drivers/Kinect/Kinect.vcxproj" "${SOURCE_P
# Build OpenNI2
vcpkg_build_msbuild(
PROJECT_PATH "${SOURCE_PATH}/OpenNI.sln"
+ OPTIONS "/p:DotNetSdkRoot=${NETFXSDK_PATH}/"
)
# Install OpenNI2
diff --git a/ports/openvr/CONTROL b/ports/openvr/CONTROL
index 6e43972bf..440cd2092 100644
--- a/ports/openvr/CONTROL
+++ b/ports/openvr/CONTROL
@@ -1,4 +1,4 @@
Source: openvr
-Version: 1.4.18
+Version: 1.5.17
Homepage: https://github.com/ValveSoftware/openvr
Description: an API and runtime that allows access to VR hardware from multiple vendors without requiring that applications have specific knowledge of the hardware they are targeting.
diff --git a/ports/openvr/portfile.cmake b/ports/openvr/portfile.cmake
index ca2902f50..14666c44c 100644
--- a/ports/openvr/portfile.cmake
+++ b/ports/openvr/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ValveSoftware/openvr
- REF 02bc73b9bcfe9cc2d2802bd5fdc91f724de8ef10
- SHA512 5b0b954b09570dcf72f0340d6bcc0a5ba9e754babf33aaee35c9d45ce08f5256643692705b014b8c94b098b554e7882a837cf6a2c25e946e6bc69ba3b9db0ede
+ REF cdaf2b330c8df58986391b253cd8f04328139823
+ SHA512 4ed4e7760d45b2b456e2e8b3b59eb394784225c1fade1fffae87110a5f29bcfc2585fcc6f05e220f064982d67101d0d1a76017f071f4d2f65663795d691fc523
HEAD_REF master
)
diff --git a/ports/openxr-loader/CONTROL b/ports/openxr-loader/CONTROL
index cff29cb1b..7d1639de5 100644
--- a/ports/openxr-loader/CONTROL
+++ b/ports/openxr-loader/CONTROL
@@ -1,5 +1,5 @@
Source: openxr-loader
-Version: 1.0.0-2
+Version: 1.0.2-0
Description: Khronos API for abstracting VR/MR/AR hardware
Feature: vulkan
diff --git a/ports/openxr-loader/portfile.cmake b/ports/openxr-loader/portfile.cmake
index efb57b0c3..1af11f088 100644
--- a/ports/openxr-loader/portfile.cmake
+++ b/ports/openxr-loader/portfile.cmake
@@ -12,8 +12,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO KhronosGroup/OpenXR-SDK
- REF release-1.0.0
- SHA512 423079b841a01f3b51283839c565cfa1b8ff38348c3f3d6f62e9120569d4ad540d8d6bfe8010e74d9bbb76aeaedcf273e5e3b1717bb0b424898793fb4712aa58
+ REF release-1.0.2
+ SHA512 a3eb61d76e5b6658376870633cf067ddf43d68758d8eaa29dce97fe25d1959f7166f31840dffdae6f1c2f9ef6546e0e90f26b2c84afede6dc702e16a23d0676e
HEAD_REF master
)
@@ -44,19 +44,6 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
-function(COPY_BINARIES SOURCE DEST)
- # hack, because CMAKE_SHARED_LIBRARY_SUFFIX seems to be unpopulated
- if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- set(SHARED_LIB_SUFFIX ".dll")
- else()
- set(SHARED_LIB_SUFFIX ".so")
- endif()
- file(MAKE_DIRECTORY ${DEST})
- file(GLOB_RECURSE SHARED_BINARIES ${SOURCE}/*${SHARED_LIB_SUFFIX})
- file(COPY ${SHARED_BINARIES} DESTINATION ${DEST})
- file(REMOVE_RECURSE ${SHARED_BINARIES})
-endfunction()
-
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
# No CMake files are contained in /share only docs
@@ -64,9 +51,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share)
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openxr-loader RENAME copyright)
-if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- COPY_BINARIES(${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/bin)
- COPY_BINARIES(${CURRENT_PACKAGES_DIR}/debug/lib ${CURRENT_PACKAGES_DIR}/debug/bin)
-endif()
-
vcpkg_copy_pdbs()
diff --git a/ports/orc/0003-dependencies-from-vcpkg.patch b/ports/orc/0003-dependencies-from-vcpkg.patch
index ae62d9fb0..f9cc44b99 100644
--- a/ports/orc/0003-dependencies-from-vcpkg.patch
+++ b/ports/orc/0003-dependencies-from-vcpkg.patch
@@ -1,65 +1,44 @@
diff --git a/c++/src/CMakeLists.txt b/c++/src/CMakeLists.txt
-index 235ced8..0042a88 100644
+index fae9be0..35cfb5f 100644
--- a/c++/src/CMakeLists.txt
+++ b/c++/src/CMakeLists.txt
-@@ -218,12 +218,13 @@ endif(BUILD_LIBHDFSPP)
+@@ -215,11 +215,12 @@ endif(ORC_CXX_HAS_THREAD_LOCAL AND BUILD_LIBHDFSPP)
add_library (orc STATIC ${SOURCE_FILES})
-
+
target_link_libraries (orc
- protobuf
- zlib
- snappy
- lz4
-- zstd
- ${LIBHDFSPP_LIBRARIES}
+ PRIVATE
+ protobuf::libprotobuf
+ ZLIB::ZLIB
+ Snappy::snappy
+ ${LZ4_STATIC_LIB}
-+ ${ZSTD_STATIC_LIB}
+ ${LIBHDFSPP_LIBRARIES}
)
-
+
install(TARGETS orc DESTINATION lib)
-diff --git a/c++/test/CMakeLists.txt b/c++/test/CMakeLists.txt
-index db68578..709ad07 100644
---- a/c++/test/CMakeLists.txt
-+++ b/c++/test/CMakeLists.txt
-@@ -50,10 +50,10 @@ add_executable (orc-test
-
- target_link_libraries (orc-test
- orc
-- lz4
-- protobuf
-- snappy
-- zlib
-+ protobuf::libprotobuf
-+ ZLIB::ZLIB
-+ Snappy::snappy
-+ ${LZ4_STATIC_LIB}
- ${GTEST_LIBRARIES}
- )
-
diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake
-index 1a28b1a..89f57d8 100644
+index f8584c0..fe48340 100644
--- a/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cmake_modules/ThirdpartyToolchain.cmake
-@@ -59,8 +59,8 @@ endif ()
+@@ -51,8 +51,8 @@ endif ()
# ----------------------------------------------------------------------
# Snappy
-
+
-if (NOT "${SNAPPY_HOME}" STREQUAL "")
- find_package (Snappy REQUIRED)
-+if (NOT "${SNAPPY_HOME}" STREQUAL "" OR 1)
++if (1)
+ find_package (Snappy CONFIG REQUIRED)
set(SNAPPY_VENDORED FALSE)
else ()
set(SNAPPY_HOME "${THIRDPARTY_DIR}/snappy_ep-install")
-@@ -78,10 +78,6 @@ else ()
+@@ -70,10 +70,6 @@ else ()
set(SNAPPY_VENDORED TRUE)
endif ()
-
+
-include_directories (SYSTEM ${SNAPPY_INCLUDE_DIR})
-add_library (snappy STATIC IMPORTED)
-set_target_properties (snappy PROPERTIES IMPORTED_LOCATION ${SNAPPY_STATIC_LIB})
@@ -67,20 +46,19 @@ index 1a28b1a..89f57d8 100644
if (SNAPPY_VENDORED)
add_dependencies (snappy snappy_ep)
if (INSTALL_VENDORED_LIBS)
-@@ -93,7 +89,8 @@ endif ()
+@@ -85,7 +81,7 @@ endif ()
# ----------------------------------------------------------------------
# ZLIB
-
+
-if (NOT "${ZLIB_HOME}" STREQUAL "")
-+
-+if (NOT "${ZLIB_HOME}" STREQUAL "" OR 1)
++if (1)
find_package (ZLIB REQUIRED)
set(ZLIB_VENDORED FALSE)
else ()
-@@ -120,10 +117,6 @@ else ()
+@@ -112,10 +108,6 @@ else ()
set(ZLIB_VENDORED TRUE)
endif ()
-
+
-include_directories (SYSTEM ${ZLIB_INCLUDE_DIR})
-add_library (zlib STATIC IMPORTED)
-set_target_properties (zlib PROPERTIES IMPORTED_LOCATION ${ZLIB_STATIC_LIB})
@@ -88,45 +66,21 @@ index 1a28b1a..89f57d8 100644
if (ZLIB_VENDORED)
add_dependencies (zlib zlib_ep)
if (INSTALL_VENDORED_LIBS)
-@@ -134,9 +127,8 @@ endif ()
-
- # ----------------------------------------------------------------------
- # Zstd
--
--if (NOT "${ZSTD_HOME}" STREQUAL "")
-- find_package (zstd REQUIRED)
-+if (NOT "${ZSTD_HOME}" STREQUAL "" OR 1)
-+ find_library(ZSTD_STATIC_LIB NAMES zstd zstd_static)
- set(ZSTD_VENDORED FALSE)
- else ()
- set(ZSTD_HOME "${THIRDPARTY_DIR}/zstd_ep-install")
-@@ -169,10 +161,6 @@ else ()
- set(ZSTD_VENDORED TRUE)
- endif ()
-
--include_directories (SYSTEM ${ZSTD_INCLUDE_DIR})
--add_library (zstd STATIC IMPORTED)
--set_target_properties (zstd PROPERTIES IMPORTED_LOCATION ${ZSTD_STATIC_LIB})
--
- if (ZSTD_VENDORED)
- add_dependencies (zstd zstd_ep)
- if (INSTALL_VENDORED_LIBS)
-@@ -183,9 +171,8 @@ endif ()
-
+@@ -127,8 +119,8 @@ endif ()
# ----------------------------------------------------------------------
# LZ4
--
+
-if (NOT "${LZ4_HOME}" STREQUAL "")
- find_package (LZ4 REQUIRED)
-+if (NOT "${LZ4_HOME}" STREQUAL "" OR 1)
-+ find_library(LZ4_STATIC_LIB NAMES lz4d lz4)
++if (1)
++ find_library (LZ4_STATIC_LIB NAMES lz4d lz4)
set(LZ4_VENDORED FALSE)
else ()
set(LZ4_PREFIX "${THIRDPARTY_DIR}/lz4_ep-install")
-@@ -211,10 +198,6 @@ else ()
+@@ -154,10 +146,6 @@ else ()
set(LZ4_VENDORED TRUE)
endif ()
-
+
-include_directories (SYSTEM ${LZ4_INCLUDE_DIR})
-add_library (lz4 STATIC IMPORTED)
-set_target_properties (lz4 PROPERTIES IMPORTED_LOCATION ${LZ4_STATIC_LIB})
@@ -134,22 +88,21 @@ index 1a28b1a..89f57d8 100644
if (LZ4_VENDORED)
add_dependencies (lz4 lz4_ep)
if (INSTALL_VENDORED_LIBS)
-@@ -287,9 +270,8 @@ endif ()
-
+@@ -231,8 +219,8 @@ endif ()
# ----------------------------------------------------------------------
# Protobuf
--
+
-if (NOT "${PROTOBUF_HOME}" STREQUAL "")
- find_package (Protobuf REQUIRED)
-+if (NOT "${PROTOBUF_HOME}" STREQUAL "" OR 1)
-+ find_package (protobuf CONFIG REQUIRED)
++if (1)
++ find_package (Protobuf CONFIG REQUIRED)
set(PROTOBUF_VENDORED FALSE)
else ()
set(PROTOBUF_PREFIX "${THIRDPARTY_DIR}/protobuf_ep-install")
-@@ -325,14 +307,6 @@ else ()
+@@ -268,14 +256,6 @@ else ()
set(PROTOBUF_VENDORED TRUE)
endif ()
-
+
-include_directories (SYSTEM ${PROTOBUF_INCLUDE_DIR})
-
-add_library (protobuf STATIC IMPORTED)
@@ -162,18 +115,18 @@ index 1a28b1a..89f57d8 100644
add_dependencies (protoc protobuf_ep)
add_dependencies (protobuf protobuf_ep)
diff --git a/tools/src/CMakeLists.txt b/tools/src/CMakeLists.txt
-index f5a53ca..15391bf 100644
+index 667fab4..7745fe0 100644
--- a/tools/src/CMakeLists.txt
+++ b/tools/src/CMakeLists.txt
-@@ -51,7 +51,6 @@ add_executable (orc-metadata
-
+@@ -49,7 +49,6 @@ add_executable (orc-metadata
+
target_link_libraries (orc-metadata
orc
- protobuf
- ${CMAKE_THREAD_LIBS_INIT}
)
-
-@@ -95,4 +94,7 @@ install(TARGETS
+
+ add_executable (orc-statistics
+@@ -88,4 +87,7 @@ install(TARGETS
orc-contents
orc-metadata
orc-statistics
diff --git a/ports/orc/0004-update-tzdata.patch b/ports/orc/0004-update-tzdata.patch
new file mode 100644
index 000000000..fa9ae2fad
--- /dev/null
+++ b/ports/orc/0004-update-tzdata.patch
@@ -0,0 +1,15 @@
+diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake
+index 1a28b1ae..74f0e61c 100644
+--- a/cmake_modules/ThirdpartyToolchain.cmake
++++ b/cmake_modules/ThirdpartyToolchain.cmake
+@@ -228,8 +228,8 @@ endif ()
+
+ if (WIN32)
+ ExternalProject_Add(tzdata_ep
+- URL "ftp://cygwin.osuosl.org/pub/cygwin/noarch/release/tzdata/tzdata-2018c-1.tar.xz"
+- URL_HASH MD5=F69FCA5C906FAFF02462D3D06F28267C
++ URL "ftp://cygwin.osuosl.org/pub/cygwin/noarch/release/tzdata/tzdata-2019b-1.tar.xz"
++ URL_HASH MD5=17D8AB346BB1009D4EB35BC08040E51D
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND ""
+ INSTALL_COMMAND "")
diff --git a/ports/orc/CONTROL b/ports/orc/CONTROL
index 4cb08a814..3ab0d5903 100644
--- a/ports/orc/CONTROL
+++ b/ports/orc/CONTROL
@@ -1,4 +1,5 @@
Source: orc
-Version: 1.5.5-1
+Version: 1.5.6
+Homepage: https://orc.apache.org/
Build-Depends: zlib, protobuf, lz4, snappy, zstd, gtest
Description: The smallest, fastest columnar storage for Hadoop workloads.
diff --git a/ports/orc/portfile.cmake b/ports/orc/portfile.cmake
index f993755e9..b3f52729f 100644
--- a/ports/orc/portfile.cmake
+++ b/ports/orc/portfile.cmake
@@ -3,11 +3,12 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO apache/orc
- REF 47a490f083bd411bf04bfed8131eef42606d7789
- SHA512 c2650d9fd367a5ec04c79c16434728e5c20608131f21bfc89d412cbaf8dd4ae5900b03e59df21d3617d8c6a9504e4b14b1f788157afa90b57d733499d2995e39
+ REF 8a8e471f6a7064e9538374374e57c9e5b4be520d
+ SHA512 c10d6f56965abde585607473142cedea25e2085147e5c66e1991cbbb313543a919d93f9a830c76ae1331f97fafe4e9a47157062b05d80746869bc3f73772e3bc
HEAD_REF master
PATCHES
0003-dependencies-from-vcpkg.patch
+ 0004-update-tzdata.patch
no-werror.patch
)
diff --git a/ports/orocos-kdl/CONTROL b/ports/orocos-kdl/CONTROL
index 983219ca0..edef89076 100644
--- a/ports/orocos-kdl/CONTROL
+++ b/ports/orocos-kdl/CONTROL
@@ -1,4 +1,5 @@
Source: orocos-kdl
-Version: 1.4-1
+Version: 1.4-2
+Homepage: https://github.com/orocos/orocos_kinematics_dynamics
Description: Kinematics and Dynamics Library
Build-Depends: eigen3
diff --git a/ports/orocos-kdl/portfile.cmake b/ports/orocos-kdl/portfile.cmake
index 58e28a045..f0549d145 100644
--- a/ports/orocos-kdl/portfile.cmake
+++ b/ports/orocos-kdl/portfile.cmake
@@ -1,15 +1,3 @@
-# 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(
@@ -38,10 +26,7 @@ file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/share/doc
${CURRENT_PACKAGES_DIR}/doc/liborocos-kdl)
-
-
-# Handle copyright
-file(INSTALL ${SOURCE_PATH}/orocos_kdl/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/orocos-kdl RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/orocos_kdl/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
# Post-build test for cmake libraries
# vcpkg_test_cmake(PACKAGE_NAME orocos-kdl)
diff --git a/ports/otl/CONTROL b/ports/otl/CONTROL
index c3950ec25..809586035 100644
--- a/ports/otl/CONTROL
+++ b/ports/otl/CONTROL
@@ -1,4 +1,4 @@
Source: otl
-Version: 4.0.442
+Version: 4.0.443
Description: Oracle, Odbc and DB2-CLI Template Library
Homepage: http://otl.sourceforge.net/
diff --git a/ports/otl/portfile.cmake b/ports/otl/portfile.cmake
index eeaa6f225..f577641dc 100644
--- a/ports/otl/portfile.cmake
+++ b/ports/otl/portfile.cmake
@@ -1,16 +1,18 @@
include(vcpkg_common_functions)
vcpkg_download_distfile(ARCHIVE
+ # This URL is not stable becuase they use the same name for minor releases which changes the hash below.
+ # if you know a stable download URL then please update it.
URLS "http://otl.sourceforge.net/otlv4_h2.zip"
- FILENAME "otl-4.0.442.zip"
- SHA512 2f4005c2351021c92b86411e9c5847757b3596c485c34aa6a7228d86c446b0d9f1dcbfd228e9262d10c7460b77af0709b8ba9d5c7599ae54442efd88ccdbb96d
+ FILENAME "otl-4.0.443.zip"
+ SHA512 7f1e9080f097da648050dcc60e5e54f7801bbdcbd5e4609dc14424a1881995c06f045e92bdabfca754461324dbf0e882c8542816799c4ec3c0a1a7fc6c150fa4
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
NO_REMOVE_ONE_LEVEL
- REF 4.0.422
+ REF 4.0.443
)
file(INSTALL ${SOURCE_PATH}/otlv4.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/otl)
diff --git a/ports/outcome/CONTROL b/ports/outcome/CONTROL
new file mode 100644
index 000000000..a90346b67
--- /dev/null
+++ b/ports/outcome/CONTROL
@@ -0,0 +1,4 @@
+Source: outcome
+Version: 2.1
+Homepage: https://github.com/ned14/outcome
+Description: Provides very lightweight outcome<T> and result<T> (non-Boost edition) \ No newline at end of file
diff --git a/ports/outcome/portfile.cmake b/ports/outcome/portfile.cmake
new file mode 100644
index 000000000..a9686b31c
--- /dev/null
+++ b/ports/outcome/portfile.cmake
@@ -0,0 +1,16 @@
+# single header file
+
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ned14/outcome
+ REF 525478ed519d7c3400d60110649c315d705a07ad #v2.1
+ SHA512 cf05f7c09ced02fa5fe3d9ad6533358a2fb63e31b5d5be81c16c285250cd275467217b8f9364b4ff1947d8c4aa6a86e10cef310d8475dcd9f7a0a713f1a01c8e
+ HEAD_REF develop
+)
+
+file(GLOB_RECURSE OUTCOME_HEADERS "${SOURCE_PATH}/single-header/*.hpp")
+file(INSTALL ${OUTCOME_HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+
+file(INSTALL ${SOURCE_PATH}/Licence.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file
diff --git a/ports/pangomm/CONTROL b/ports/pangomm/CONTROL
index 8109a5889..7ebd7433e 100644
--- a/ports/pangomm/CONTROL
+++ b/ports/pangomm/CONTROL
@@ -1,5 +1,5 @@
Source: pangomm
-Version: 2.40.1
+Version: 2.40.1-1
Homepage: https://ftp.gnome.org/pub/GNOME/sources/pangomm
Description: pangomm is the official C++ interface for the Pango font layout library. See, for instance, the Pango::Layout class.
Build-Depends: glib, gettext, cairo, fontconfig, freetype, harfbuzz, pango, cairomm, glibmm
diff --git a/ports/pangomm/portfile.cmake b/ports/pangomm/portfile.cmake
index e3409fe15..aecbcdaf4 100644
--- a/ports/pangomm/portfile.cmake
+++ b/ports/pangomm/portfile.cmake
@@ -1,15 +1,3 @@
-# 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/pangomm-2.40.1)
vcpkg_download_distfile(ARCHIVE
diff --git a/ports/parallelstl/CONTROL b/ports/parallelstl/CONTROL
new file mode 100644
index 000000000..6361e1bd9
--- /dev/null
+++ b/ports/parallelstl/CONTROL
@@ -0,0 +1,5 @@
+Source: parallelstl
+Version: 20190522-1
+Homepage: https://github.com/intel/parallelstl
+Description: Parallel STL is an implementation of the C++ standard library algorithms with support for execution policies, as specified in ISO/IEC 14882:2017 standard, commonly called C++17.
+Build-Depends: tbb \ No newline at end of file
diff --git a/ports/parallelstl/fix-install-header.patch b/ports/parallelstl/fix-install-header.patch
new file mode 100644
index 000000000..cf2e11618
--- /dev/null
+++ b/ports/parallelstl/fix-install-header.patch
@@ -0,0 +1,12 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c20a5c3..1ba8583 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -74,3 +74,6 @@ configure_file(
+
+ export(TARGETS ParallelSTL NAMESPACE pstl:: FILE ParallelSTLTargets.cmake)
+ export(PACKAGE ParallelSTL)
++
++#Install headers
++install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include DESTINATION include)
+\ No newline at end of file
diff --git a/ports/parallelstl/portfile.cmake b/ports/parallelstl/portfile.cmake
new file mode 100644
index 000000000..8c906fee2
--- /dev/null
+++ b/ports/parallelstl/portfile.cmake
@@ -0,0 +1,27 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO intel/parallelstl
+ REF 20190522
+ SHA512 ad1b820ff4c2ce45ea3d6069dc8d5219449baca44d0bce86482aca247db7a4191e2bce10ab8365056ca278322809fdbb096519436e850cf95f2bb98fa7bc1ab1
+ HEAD_REF master
+ PATCHES fix-install-header.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DPARALLELSTL_USE_PARALLEL_POLICIES=ON
+)
+
+vcpkg_install_cmake()
+
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) \ No newline at end of file
diff --git a/ports/parson/CONTROL b/ports/parson/CONTROL
index e97403221..278cdc28d 100644
--- a/ports/parson/CONTROL
+++ b/ports/parson/CONTROL
@@ -1,3 +1,3 @@
Source: parson
-Version: 2019-04-19
+Version: 2019-07-11
Description: a lighweight json library written in C
diff --git a/ports/parson/portfile.cmake b/ports/parson/portfile.cmake
index 579c44678..3438043a7 100644
--- a/ports/parson/portfile.cmake
+++ b/ports/parson/portfile.cmake
@@ -8,8 +8,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO kgabis/parson
- REF 809ef4b7d829d3929223387661b8e229e7191340
- SHA512 ba29478c7603a50c825f90e7d6d1fcb3f80a3ee0091fba07320544fc5a735653259cb1bb207e3124a36553569493e352f8a1d3233fc2d5dc4a9ec55a74e95b54
+ REF 33e5519d0ae68784c91c92af2f48a5b07dc14490
+ SHA512 b4477fe1038465edb210d1d02c8241ba02c44a01fa7838fb6217b36659eae3c5eaf450ec559bd609dfdc2417b4948eacc4a643ed7f1684f9b4bbaded421d7b80
HEAD_REF master
)
diff --git a/ports/pcl/CONTROL b/ports/pcl/CONTROL
index 7d9e3a8db..631aeebe0 100644
--- a/ports/pcl/CONTROL
+++ b/ports/pcl/CONTROL
@@ -1,5 +1,5 @@
Source: pcl
-Version: 1.9.1-8
+Version: 1.9.1-9
Homepage: https://github.com/PointCloudLibrary/pcl
Description: Point Cloud Library (PCL) is open source library for 2D/3D image and point cloud processing.
Build-Depends: eigen3, flann, qhull, vtk, libpng, boost-system, boost-filesystem, boost-thread, boost-date-time, boost-iostreams, boost-random, boost-foreach, boost-dynamic-bitset, boost-property-map, boost-graph, boost-multi-array, boost-signals2, boost-ptr-container, boost-uuid, boost-interprocess, boost-asio
diff --git a/ports/pcl/portfile.cmake b/ports/pcl/portfile.cmake
index aa4435dd5..b0dcd3ff9 100644
--- a/ports/pcl/portfile.cmake
+++ b/ports/pcl/portfile.cmake
@@ -12,6 +12,8 @@ vcpkg_from_github(
use_flann_targets.patch
boost-1.70.patch
cuda_10_1.patch
+ # Patch for https://github.com/microsoft/vcpkg/issues/7660
+ use_target_link_libraries_in_pclconfig.patch
)
file(REMOVE ${SOURCE_PATH}/cmake/Modules/FindFLANN.cmake)
diff --git a/ports/pcl/use_target_link_libraries_in_pclconfig.patch b/ports/pcl/use_target_link_libraries_in_pclconfig.patch
new file mode 100644
index 000000000..65f622e6f
--- /dev/null
+++ b/ports/pcl/use_target_link_libraries_in_pclconfig.patch
@@ -0,0 +1,31 @@
+diff --git a/PCLConfig.cmake.in b/PCLConfig.cmake.in
+index f1c2ca5..d28cb63 100644
+--- a/PCLConfig.cmake.in
++++ b/PCLConfig.cmake.in
+@@ -609,7 +609,7 @@ foreach(component ${PCL_TO_FIND_COMPONENTS})
+ INTERFACE_INCLUDE_DIRECTORIES "${PCL_${COMPONENT}_INCLUDE_DIRS}"
+ INTERFACE_LINK_LIBRARIES "${PCL_${COMPONENT}_LINK_LIBRARIES}"
+ )
+- else()
++ elseif(CMAKE_VERSION VERSION_LESS 3.11)
+ set_target_properties(${pcl_component}
+ PROPERTIES
+ INTERFACE_COMPILE_DEFINITIONS "${definitions}"
+@@ -617,6 +617,17 @@ foreach(component ${PCL_TO_FIND_COMPONENTS})
+ INTERFACE_INCLUDE_DIRECTORIES "${PCL_${COMPONENT}_INCLUDE_DIRS}"
+ INTERFACE_LINK_LIBRARIES "${PCL_${COMPONENT}_LINK_LIBRARIES}"
+ )
++ else()
++ set_target_properties(${pcl_component}
++ PROPERTIES
++ INTERFACE_COMPILE_DEFINITIONS "${definitions}"
++ INTERFACE_COMPILE_OPTIONS "$<$<COMPILE_LANGUAGE:CXX>:${PCL_COMPILE_OPTIONS}>"
++ INTERFACE_INCLUDE_DIRECTORIES "${PCL_${COMPONENT}_INCLUDE_DIRS}"
++ )
++ # If possible, we use target_link_libraries to avoid problems with link-type keywords,
++ # see https://github.com/PointCloudLibrary/pcl/issues/2989
++ # target_link_libraries on imported libraries is supported only since CMake 3.11
++ target_link_libraries(${pcl_component} INTERFACE ${PCL_${COMPONENT}_LINK_LIBRARIES})
+ endif()
+ set(PCL_${COMPONENT}_LIBRARIES ${pcl_component})
+ endif()
diff --git a/ports/pcre/CONTROL b/ports/pcre/CONTROL
index 46e041be2..e12915711 100644
--- a/ports/pcre/CONTROL
+++ b/ports/pcre/CONTROL
@@ -1,3 +1,4 @@
Source: pcre
-Version: 8.41-2
-Description: Perl Compatible Regular Expresions
+Version: 8.41-3
+Homepage: https://www.pcre.org/
+Description: Perl Compatible Regular Expressions
diff --git a/ports/pcre/portfile.cmake b/ports/pcre/portfile.cmake
index ac99a478b..35f37e33b 100644
--- a/ports/pcre/portfile.cmake
+++ b/ports/pcre/portfile.cmake
@@ -1,16 +1,8 @@
-# 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}
-#
-
set(PCRE_VERSION 8.41)
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/pcre-${PCRE_VERSION})
vcpkg_download_distfile(ARCHIVE
- URLS "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${PCRE_VERSION}.zip"
+ URLS "https://ftp.pcre.org/pub/pcre/pcre-${PCRE_VERSION}.zip"
"https://downloads.sourceforge.net/project/pcre/pcre/${PCRE_VERSION}/pcre-${PCRE_VERSION}.zip"
FILENAME "pcre-${PCRE_VERSION}.zip"
SHA512 a3fd57090a5d9ce9d608aeecd59f42f04deea5b86a5c5899bdb25b18d8ec3a89b2b52b62e325c6485a87411eb65f1421604f80c3eaa653bd7dbab05ad22795ea
@@ -62,8 +54,6 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/man)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/man)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/doc)
-# Handle copyright
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/pcre)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/pcre/COPYING ${CURRENT_PACKAGES_DIR}/share/pcre/copyright)
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
vcpkg_copy_pdbs() \ No newline at end of file
diff --git a/ports/pcre2/CONTROL b/ports/pcre2/CONTROL
index 3d7824a27..462916ef1 100644
--- a/ports/pcre2/CONTROL
+++ b/ports/pcre2/CONTROL
@@ -1,4 +1,4 @@
Source: pcre2
-Version: 10.30-4
+Version: 10.30-5
Homepage: https://pcre.org/
Description: PCRE2 is a re-working of the original Perl Compatible Regular Expressions library
diff --git a/ports/pcre2/portfile.cmake b/ports/pcre2/portfile.cmake
index 82b9014d1..f5f81b818 100644
--- a/ports/pcre2/portfile.cmake
+++ b/ports/pcre2/portfile.cmake
@@ -12,6 +12,12 @@ vcpkg_extract_source_archive_ex(
PATCHES fix-space.patch
fix-arm64-config.patch)
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
+ set(JIT OFF)
+else()
+ set(JIT ON)
+endif()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
@@ -19,7 +25,7 @@ vcpkg_configure_cmake(
-DPCRE2_BUILD_PCRE2_8=ON
-DPCRE2_BUILD_PCRE2_16=ON
-DPCRE2_BUILD_PCRE2_32=ON
- -DPCRE2_SUPPORT_JIT=ON
+ -DPCRE2_SUPPORT_JIT=${JIT}
-DPCRE2_SUPPORT_UNICODE=ON
-DPCRE2_BUILD_TESTS=OFF
-DPCRE2_BUILD_PCRE2GREP=OFF)
diff --git a/ports/piex/CONTROL b/ports/piex/CONTROL
index 3f257fa20..2ff82df97 100644
--- a/ports/piex/CONTROL
+++ b/ports/piex/CONTROL
@@ -1,4 +1,4 @@
Source: piex
-Version: 2018-03-13-1
+Version: 2019-07-11
Homepage: https://github.com/google/piex
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
index 3238c013c..a05fe837e 100644
--- a/ports/piex/portfile.cmake
+++ b/ports/piex/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/piex
- REF 2aa74c2dd295758ef4562906a5525300972821fc
- SHA512 4fbea41e8f21c2f4a75d899aa28e2d2e92201d429eb8504515466187befc1eac6c9b31d91b039f2aebe2101bbde6b87adce9bae578a536f264d207fe29e4bd8f
+ REF 256bd102be288c19b4165e0ecc7097a18c004e92
+ SHA512 ae948588a99d586593788c995c3d65a488faaf99b2ab6c51ec39df7e11a42c89454dd505117e90b1f152f6abfc2e3e11f61b0af97e42ecdff0d978934e20f582
HEAD_REF master
)
diff --git a/ports/plplot/portfile.cmake b/ports/plplot/portfile.cmake
index c98c8253b..1efd8f5a4 100644
--- a/ports/plplot/portfile.cmake
+++ b/ports/plplot/portfile.cmake
@@ -17,6 +17,7 @@ vcpkg_extract_source_archive_ex(
"${CMAKE_CURRENT_LIST_DIR}/0001-findwxwidgets-fixes.patch"
"${CMAKE_CURRENT_LIST_DIR}/0002-wxwidgets-dev-fixes.patch"
"${CMAKE_CURRENT_LIST_DIR}/install-interface-include-directories.patch"
+ "${CMAKE_CURRENT_LIST_DIR}/use-math-h-nan.patch"
)
set(BUILD_with_wxwidgets OFF)
diff --git a/ports/plplot/use-math-h-nan.patch b/ports/plplot/use-math-h-nan.patch
new file mode 100644
index 000000000..1f3987730
--- /dev/null
+++ b/ports/plplot/use-math-h-nan.patch
@@ -0,0 +1,28 @@
+diff --git "a/lib/csa/nan.h" "b/lib/csa/nan.h"
+index 29fd3d2f..7f16e8c8 100644
+--- "a/lib/csa/nan.h"
++++ "b/lib/csa/nan.h"
+@@ -19,6 +19,16 @@
+ #if !defined ( _NAN_H )
+ #define _NAN_H
+
++// Try to use the implementation-provided NAN constant:
++
++#include <math.h>
++
++#if defined(NAN)
++
++#define NaN ((double)NAN)
++
++#else // ^^^ implementation provides NAN // implementation does not provide NAN vvv
++
+ #if ( defined ( __GNUC__ ) && !defined ( __ICC ) ) || defined ( __BORLANDC__ )
+
+ static const double NaN = 0.0 / 0.0;
+@@ -63,4 +73,6 @@ static const long long lNaN = ( (unsigned long long) 1 << 63 ) - 1;
+
+ #endif
+
++#endif // defined(NAN)
++
+ #endif
diff --git a/ports/poco/CONTROL b/ports/poco/CONTROL
index e7e1656bb..9ea94f496 100644
--- a/ports/poco/CONTROL
+++ b/ports/poco/CONTROL
@@ -1,5 +1,5 @@
Source: poco
-Version: 1.9.2
+Version: 1.9.2-1
Build-Depends: expat, libpq, pcre, sqlite3, zlib, libpng
Description: Modern, powerful open source C++ class libraries for building network and internet-based applications that run on desktop, server, mobile and embedded systems.
Homepage: https://github.com/pocoproject/poco
@@ -15,3 +15,7 @@ Description: MariaDB support for POCO
Feature: postgresql
Build-Depends: libpqxx
Description: PostgreSQL support for POCO
+
+Feature: pdf
+Build-Depends: libharu
+Description: Haru support for POCO
diff --git a/ports/poco/portfile.cmake b/ports/poco/portfile.cmake
index 6d53a0048..4e7995a49 100644
--- a/ports/poco/portfile.cmake
+++ b/ports/poco/portfile.cmake
@@ -13,8 +13,8 @@ vcpkg_from_github(
include_pcre.patch
# Fix embedded copy of pcre in static linking mode
static_pcre.patch
- # Fix source path of PDF
- unbundled_pdf.patch
+ # Use vcpkg installed libharu for feature pdf
+ use-vcpkg-libharu.patch
# Add the support of arm64-windows
arm64_pcre.patch
fix_foundation_link.patch
@@ -24,6 +24,10 @@ vcpkg_from_github(
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" POCO_STATIC)
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" POCO_MT)
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ pdf ENABLE_PDF
+)
+
# MySQL / MariaDDB feature
if("mysql" IN_LIST FEATURES OR "mariadb" IN_LIST FEATURES)
if("mysql" IN_LIST FEATURES)
@@ -43,7 +47,7 @@ endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
#PREFER_NINJA
- OPTIONS
+ OPTIONS ${FEATURE_OPTIONS}
# Set to OFF|ON (default is OFF) to control linking dependencies as external
-DPOCO_UNBUNDLED=ON
# Define linking feature
@@ -63,7 +67,6 @@ vcpkg_configure_cmake(
-DENABLE_MONGODB=ON
# -DPOCO_ENABLE_SQL_SQLITE=ON # SQLITE are not supported.
-DENABLE_REDIS=ON
- -DENABLE_PDF=ON
-DENABLE_UTIL=ON
-DENABLE_NET=ON
-DENABLE_SEVENZIP=ON
@@ -118,7 +121,7 @@ endif()
#
-if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
+if (VCPKG_LIBRARY_LINKAGE STREQUAL static OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/bin
${CURRENT_PACKAGES_DIR}/debug/bin)
diff --git a/ports/poco/unbundled_pdf.patch b/ports/poco/unbundled_pdf.patch
deleted file mode 100644
index e7f88f035..000000000
--- a/ports/poco/unbundled_pdf.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/PDF/CMakeLists.txt b/PDF/CMakeLists.txt
-index 3e44906..ae8fe6e 100644
---- a/PDF/CMakeLists.txt
-+++ b/PDF/CMakeLists.txt
-@@ -97,6 +97,8 @@ POCO_SOURCES(SRCS hpdf
-
- # TODO: Currently only bundled is supported, in future this should also be possible
- # with an unbundled version of libpng
-+find_package(PNG REQUIRED)
-+if (0)
- POCO_SOURCES( SRCS libpng
- src/png.c
- src/pngerror.c
-@@ -117,6 +119,7 @@ POCO_SOURCES( SRCS libpng
- src/pngwtran.c
- src/pngwutil.c
- )
-+endif(0)
-
- # Version Resource
- if(MSVC AND NOT POCO_STATIC)
-@@ -136,7 +139,7 @@ set_target_properties( "${LIBNAME}"
- DEFINE_SYMBOL PDF_EXPORTS
- )
-
--target_link_libraries( "${LIBNAME}" ${SYSLIBS} XML Util Foundation )
-+target_link_libraries( "${LIBNAME}" ${SYSLIBS} XML Util Foundation ${PNG_LIBRARIES})
- target_include_directories( "${LIBNAME}"
- PUBLIC
- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
diff --git a/ports/poco/use-vcpkg-libharu.patch b/ports/poco/use-vcpkg-libharu.patch
new file mode 100644
index 000000000..e43b3c9cd
--- /dev/null
+++ b/ports/poco/use-vcpkg-libharu.patch
@@ -0,0 +1,18 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5f8a2a6..1ffd0a0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -195,8 +195,11 @@ if(EXISTS ${PROJECT_SOURCE_DIR}/Redis AND ENABLE_REDIS)
+ add_subdirectory(Redis)
+ list(APPEND Poco_COMPONENTS "Redis")
+ endif()
+-if(EXISTS ${PROJECT_SOURCE_DIR}/PDF AND ENABLE_PDF)
+-add_subdirectory(PDF)
++if(ENABLE_PDF)
++include(SelectLibraryConfigurations)
++find_library(PocoPDF_LIBRARY_RELEASE NAMES libhpdf)
++find_library(PocoPDF_LIBRARY_DEBUG NAMES libhpdfd)
++select_library_configurations(PocoPDF)
+ list(APPEND Poco_COMPONENTS "PDF")
+ endif()
+
diff --git a/ports/ptex/CONTROL b/ports/ptex/CONTROL
index 17e2bbe5e..069f2e628 100644
--- a/ports/ptex/CONTROL
+++ b/ports/ptex/CONTROL
@@ -1,5 +1,5 @@
Source: ptex
-Version: 2.1.28-1
+Version: 2.3.2
Homepage: https://github.com/wdas/ptex
Description: Per-Face Texture Mapping for Production Rendering.
Build-Depends: zlib
diff --git a/ports/ptex/fix-build.patch b/ports/ptex/fix-build.patch
index 6d6484d60..9c74eeda8 100644
--- a/ports/ptex/fix-build.patch
+++ b/ports/ptex/fix-build.patch
@@ -1,35 +1,40 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index dd327d0..5043452 100644
+index c708153..0e004da 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -6,15 +6,6 @@ include(CTest)
- include(FindZLIB)
+@@ -60,10 +60,11 @@ include(GNUInstallDirs)
+ include(CTest)
include(FindThreads)
--enable_testing()
++find_package(ZLIB REQUIRED)
++if (0)
+ # Use pkg-config to create a PkgConfig::Ptex_ZLIB imported target
+ find_package(PkgConfig REQUIRED)
+ pkg_checK_modules(Ptex_ZLIB REQUIRED zlib IMPORTED_TARGET)
-
--# Detect the build type from the $FLAVOR environment variable
--if ("$ENV{FLAVOR}" MATCHES "debug")
-- set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "type of build" FORCE)
--else ()
-- set(CMAKE_BUILD_TYPE "Release" CACHE STRING "type of build" FORCE)
--endif ()
--
- if (NOT WIN32)
- set(CMAKE_CXX_FLAGS "-std=c++98 -Wall -Wextra -pedantic")
+ enable_testing()
+
+ if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
+@@ -77,6 +78,7 @@ if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
+ set(CMAKE_BUILD_TYPE "Release" CACHE STRING "type of build" FORCE)
+ endif ()
endif ()
-@@ -40,6 +31,6 @@ include_directories(src/ptex)
- include_directories(${ZLIB_INCLUDE_DIR})
++endif()
+
+ if (NOT WIN32)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic")
+@@ -99,7 +101,9 @@ endif ()
+ include_directories(src/ptex)
add_subdirectory(src/ptex)
--add_subdirectory(src/utils)
--add_subdirectory(src/tests)
--add_subdirectory(src/doc)
-+#add_subdirectory(src/utils)
-+#add_subdirectory(src/tests)
-+#add_subdirectory(src/doc)
++if (0)
+ add_subdirectory(src/utils)
+ add_subdirectory(src/tests)
+ add_subdirectory(src/doc)
++endif()
+ add_subdirectory(src/build)
diff --git a/src/ptex/CMakeLists.txt b/src/ptex/CMakeLists.txt
-index c926d98..ac2c71d 100644
+index ba3a3cc..1619ff1 100644
--- a/src/ptex/CMakeLists.txt
+++ b/src/ptex/CMakeLists.txt
@@ -1,6 +1,8 @@
@@ -42,24 +47,53 @@ index c926d98..ac2c71d 100644
+ add_definitions(-DPTEX_STATIC)
+endif ()
- set(SRCS
- PtexCache.cpp
-@@ -14,15 +16,11 @@ set(SRCS
- PtexUtils.cpp
+ configure_file(PtexVersion.h.in
+ ${CMAKE_CURRENT_SOURCE_DIR}/PtexVersion.h @ONLY)
+@@ -18,29 +20,35 @@ set(SRCS
PtexWriter.cpp)
--add_library(Ptex_static STATIC ${SRCS})
--set_target_properties(Ptex_static PROPERTIES OUTPUT_NAME Ptex)
-+add_library(Ptex ${SRCS})
-
--add_library(Ptex_dynamic SHARED ${SRCS})
--set_target_properties(Ptex_dynamic PROPERTIES OUTPUT_NAME Ptex)
-+target_link_libraries(Ptex ${CMAKE_THREAD_LIBS_INIT} ${ZLIB_LIBRARIES})
+ if(PTEX_BUILD_STATIC_LIBS)
+- add_library(Ptex_static STATIC ${SRCS})
+- set_target_properties(Ptex_static PROPERTIES OUTPUT_NAME Ptex)
+- target_include_directories(Ptex_static
++ add_library(Ptex STATIC ${SRCS})
++ target_include_directories(Ptex
+ PUBLIC
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+ PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR})
+- target_link_libraries(Ptex_static
+- PUBLIC ${CMAKE_THREAD_LIBS_INIT} PkgConfig::Ptex_ZLIB)
+- install(TARGETS Ptex_static EXPORT Ptex DESTINATION ${CMAKE_INSTALL_LIBDIR})
++ target_link_libraries(Ptex
++ PUBLIC ${CMAKE_THREAD_LIBS_INIT} ZLIB::ZLIB)
++ install(TARGETS Ptex EXPORT Ptex
++ RUNTIME DESTINATION bin
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib
++ )
+ endif()
--target_link_libraries(Ptex_dynamic ${CMAKE_THREAD_LIBS_INIT} ${ZLIB_LIBRARIES})
--
--install(TARGETS Ptex_static Ptex_dynamic DESTINATION ${CMAKE_INSTALL_LIBDIR})
-+install(TARGETS Ptex RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ if(PTEX_BUILD_SHARED_LIBS)
+- add_library(Ptex_dynamic SHARED ${SRCS})
+- set_target_properties(Ptex_dynamic PROPERTIES OUTPUT_NAME Ptex)
+- target_include_directories(Ptex_dynamic
++ add_library(Ptex SHARED ${SRCS})
++ target_include_directories(Ptex
+ PUBLIC
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+ PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR})
+- target_link_libraries(Ptex_dynamic
+- PUBLIC ${CMAKE_THREAD_LIBS_INIT} PkgConfig::Ptex_ZLIB)
+- install(TARGETS Ptex_dynamic EXPORT Ptex DESTINATION ${CMAKE_INSTALL_LIBDIR})
++ target_link_libraries(Ptex
++ PUBLIC ${CMAKE_THREAD_LIBS_INIT} ZLIB::ZLIB)
++ install(TARGETS Ptex EXPORT Ptex
++ RUNTIME DESTINATION bin
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib
++ )
+ endif()
install(FILES
- PtexHalf.h
diff --git a/ports/ptex/portfile.cmake b/ports/ptex/portfile.cmake
index 52d77096b..94a626a34 100644
--- a/ports/ptex/portfile.cmake
+++ b/ports/ptex/portfile.cmake
@@ -1,23 +1,39 @@
+include(vcpkg_common_functions)
+
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore)
message(FATAL_ERROR "UWP build not supported")
endif()
-include(vcpkg_common_functions)
+set(PTEX_VER 2.3.2)
+
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO wdas/ptex
- REF v2.1.28
- SHA512 ddce3c79f14d196e550c1e8a5b371482f88190cd667a2e2aa84601de1639f7cabb8571c1b3a49b48df46ce550d27088a00a67b1403c3bfec2ed73437c3dca3e8
- HEAD_REF master)
+ REF 1b8bc985a71143317ae9e4969fa08e164da7c2e5
+ SHA512 37f2df9ec195f3d69d9526d0dea6a93ef49d69287bfae6ccd9671477491502ea760ed14e3b206b4f488831ab728dc749847b7d176c9b8439fb58b0a0466fe6c5
+ HEAD_REF master
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-build.patch
+)
-vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH}
- PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-build.patch)
+if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ set(BUILD_SHARED_LIB ON)
+ set(BUILD_STATIC_LIB OFF)
+else()
+ set(BUILD_SHARED_LIB OFF)
+ set(BUILD_STATIC_LIB ON)
+endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA)
+ PREFER_NINJA
+ OPTIONS
+ -DPTEX_VER="v${PTEX_VER}"
+ -DPTEX_BUILD_SHARED_LIBS=${BUILD_SHARED_LIB}
+ -DPTEX_BUILD_STATIC_LIBS=${BUILD_STATIC_LIB}
+)
vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/Ptex)
vcpkg_copy_pdbs()
foreach(HEADER PtexHalf.h Ptexture.h)
@@ -30,6 +46,6 @@ foreach(HEADER PtexHalf.h Ptexture.h)
file(WRITE ${CURRENT_PACKAGES_DIR}/include/${HEADER} "${PTEX_HEADER}")
endforeach()
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
file(COPY ${SOURCE_PATH}/src/doc/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/ptex)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/ptex/license.txt ${CURRENT_PACKAGES_DIR}/share/ptex/copyright)
diff --git a/ports/pybind11/CONTROL b/ports/pybind11/CONTROL
index 634afca38..acaedef63 100644
--- a/ports/pybind11/CONTROL
+++ b/ports/pybind11/CONTROL
@@ -1,5 +1,5 @@
Source: pybind11
-Version: 2.2.4
+Version: 2.3.0
Homepage: https://github.com/pybind/pybind11
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 (windows) \ No newline at end of file
diff --git a/ports/pybind11/portfile.cmake b/ports/pybind11/portfile.cmake
index 55cfb1fa1..71786016d 100644
--- a/ports/pybind11/portfile.cmake
+++ b/ports/pybind11/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO pybind/pybind11
- REF v2.2.4
- SHA512 6bddf5c885ff92a3e373bcedc6574dfefe8be9ebb6176c6c96d475457466c76bfb982c6df4066cb0fbead4b867f87dbc4fbc1605c80852635016f614330ce041
+ REF e43e1cc01ae6d4e4e5ba10557a057d7f3d5ece0d
+ SHA512 546a0501c420cbbb21fb458192bae6c8d34bdd4bdbfe47fed22869e09429d6404b4e399e30c36c6d658bf8002339d051efde33685b03a00797b9cfe476cfb98e
HEAD_REF master
PATCHES
${CMAKE_CURRENT_LIST_DIR}/aliastemplates.patch
diff --git a/ports/qscintilla/portfile.cmake b/ports/qscintilla/portfile.cmake
index 8e241cfef..111001f12 100644
--- a/ports/qscintilla/portfile.cmake
+++ b/ports/qscintilla/portfile.cmake
@@ -27,7 +27,7 @@ vcpkg_configure_qmake(
DEFINES+=SCI_NAMESPACE
)
-if(CMAKE_HOST_WIN32)
+if(VCPKG_TARGET_IS_WINDOWS)
vcpkg_build_qmake(
RELEASE_TARGETS release
DEBUG_TARGETS debug
@@ -39,7 +39,7 @@ endif()
file(GLOB HEADER_FILES ${SOURCE_PATH}/Qt4Qt5/Qsci/*)
file(COPY ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/Qsci)
-if(CMAKE_HOST_WIN32)
+if(VCPKG_TARGET_IS_WINDOWS)
configure_file(${RELEASE_DIR}/release/qscintilla2_qt5.lib ${CURRENT_PACKAGES_DIR}/lib/qscintilla2.lib COPYONLY)
configure_file(${DEBUG_DIR}/debug/qscintilla2_qt5.lib ${CURRENT_PACKAGES_DIR}/debug/lib/qscintilla2.lib COPYONLY)
@@ -47,7 +47,7 @@ if(CMAKE_HOST_WIN32)
file(COPY ${RELEASE_DIR}/release/qscintilla2_qt5.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
file(COPY ${DEBUG_DIR}/debug/qscintilla2_qt5.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
-elseif(CMAKE_HOST_APPLE)
+elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX)
configure_file(${RELEASE_DIR}/libqscintilla2_qt5.a ${CURRENT_PACKAGES_DIR}/lib/libqscintilla2.a COPYONLY)
configure_file(${DEBUG_DIR}/libqscintilla2_qt5.a ${CURRENT_PACKAGES_DIR}/debug/lib/libqscintilla2.a COPYONLY)
endif()
diff --git a/ports/qt5-3d/CONTROL b/ports/qt5-3d/CONTROL
index 0dfbdb027..0c5a508bc 100644
--- a/ports/qt5-3d/CONTROL
+++ b/ports/qt5-3d/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-3d
-Version: 5.12.3-1
-Description: Qt5 3d Module - Functionality for near-realtime simulation systems with support for 2D and 3D rendering
-Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative
+Source: qt5-3d
+Version: 5.12.5
+Description: Qt5 3d Module - Functionality for near-realtime simulation systems with support for 2D and 3D rendering
+Build-Depends: qt5-base, qt5-declarative
diff --git a/ports/qt5-3d/portfile.cmake b/ports/qt5-3d/portfile.cmake
index 444fbbcf2..214726759 100644
--- a/ports/qt5-3d/portfile.cmake
+++ b/ports/qt5-3d/portfile.cmake
@@ -1,5 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qt3d 679c2dbc60fc53c1c5469369f25244bd844c2e6e723a1b451f7cbb50bfa018e6fb715214e5a5df6fb32d7c7936bb6c99d85e299fe2b76344bcf774c93ed0acd0)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-activeqt/CONTROL b/ports/qt5-activeqt/CONTROL
index e2084f046..4ec2594b3 100644
--- a/ports/qt5-activeqt/CONTROL
+++ b/ports/qt5-activeqt/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-activeqt
-Version: 5.12.3-1
-Description: Qt5 ActiveQt Module - ActiveX components
-Build-Depends: qt5-modularscripts, qt5-base
+Source: qt5-activeqt
+Version: 5.12.5
+Description: Qt5 ActiveQt Module - ActiveX components
+Build-Depends: qt5-base
diff --git a/ports/qt5-activeqt/portfile.cmake b/ports/qt5-activeqt/portfile.cmake
index 40c4875d9..a73a60551 100644
--- a/ports/qt5-activeqt/portfile.cmake
+++ b/ports/qt5-activeqt/portfile.cmake
@@ -1,11 +1,6 @@
-include(vcpkg_common_functions)
-
if (NOT VCPKG_TARGET_IS_WINDOWS)
message(FATAL_ERROR "qt5-activeqt only support Windows.")
endif()
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtactiveqt 477c42653a59739aeeb17ab54bdd5cc50bc72a117250926e940c34d3f81d1b92356074056fb49f3cd811a88840377836b2d97cea8cbc62ae1d895168e7860753)
-
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools/qt5-activeqt/plugins/platforminputcontexts)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-base/CONTROL b/ports/qt5-base/CONTROL
index 853215dc4..b9357f9d5 100644
--- a/ports/qt5-base/CONTROL
+++ b/ports/qt5-base/CONTROL
@@ -1,5 +1,5 @@
Source: qt5-base
-Version: 5.12.3-3
+Version: 5.12.5
Homepage: https://www.qt.io/
Description: Qt5 Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components.
Build-Depends: zlib, libjpeg-turbo, libpng, freetype, pcre2, harfbuzz, sqlite3, libpq, double-conversion, openssl
diff --git a/ports/qt5-base/cmake/configure_qt.cmake b/ports/qt5-base/cmake/configure_qt.cmake
new file mode 100644
index 000000000..623924d71
--- /dev/null
+++ b/ports/qt5-base/cmake/configure_qt.cmake
@@ -0,0 +1,132 @@
+function(configure_qt)
+ cmake_parse_arguments(_csc "" "SOURCE_PATH;TARGET_PLATFORM;HOST_PLATFORM;HOST_TOOLS_ROOT" "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE" ${ARGN})
+
+ if(NOT _csc_TARGET_PLATFORM)
+ message(FATAL_ERROR "configure_qt requires a TARGET_PLATFORM argument.")
+ endif()
+
+ if(DEFINED _csc_HOST_PLATFORM)
+ list(APPEND _csc_OPTIONS -platform ${_csc_HOST_PLATFORM})
+ endif()
+
+ if(DEFINED _csc_HOST_TOOLS_ROOT)
+ ## vcpkg internal file struture assumed here!
+ message(STATUS "Building Qt with prepared host tools from ${_csc_HOST_TOOLS_ROOT}!")
+ vcpkg_add_to_path("${_csc_HOST_TOOLS_ROOT}/bin")
+ vcpkg_add_to_path("${_csc_HOST_TOOLS_ROOT}")
+ set(EXT_BIN_DIR -external-hostbindir ${_csc_HOST_TOOLS_ROOT}/bin) # we only use release binaries for building
+ find_program(QMAKE_COMMAND NAMES qmake PATHS ${_csc_HOST_TOOLS_ROOT}/bin NO_DEFAULT_PATH)
+ set(INVOKE "${QMAKE_COMMAND}" )
+ else()
+ if(CMAKE_HOST_WIN32)
+ set(CONFIGURE_BAT "configure.bat")
+ else()
+ set(CONFIGURE_BAT "configure")
+ endif()
+ set(INVOKE "${_csc_SOURCE_PATH}/${CONFIGURE_BAT}")
+ endif()
+
+ #Cleanup previous build folders
+ file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
+
+ #Find and ad Perl to PATH
+ vcpkg_find_acquire_program(PERL)
+ get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY)
+ vcpkg_add_to_path("${PERL_EXE_PATH}")
+
+ if("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static")
+ list(APPEND _csc_OPTIONS -static)
+ else()
+ #list(APPEND _csc_OPTIONS_DEBUG -separate-debug-info)
+ endif()
+
+ if(VCPKG_TARGET_IS_WINDOWS AND "${VCPKG_CRT_LINKAGE}" STREQUAL "static")
+ list(APPEND _csc_OPTIONS -static-runtime)
+ endif()
+
+ list(APPEND _csc_OPTIONS_RELEASE -release)
+ list(APPEND _csc_OPTIONS_DEBUG -debug)
+
+ #Replace with VCPKG variables if PR #7733 is merged
+ unset(BUILDTYPES)
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR "${VCPKG_BUILD_TYPE}" STREQUAL "debug")
+ set(_buildname "DEBUG")
+ list(APPEND BUILDTYPES ${_buildname})
+ set(_short_name_${_buildname} "dbg")
+ set(_path_suffix_${_buildname} "/debug")
+ set(_build_type_${_buildname} "debug")
+ endif()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR "${VCPKG_BUILD_TYPE}" STREQUAL "release")
+ set(_buildname "RELEASE")
+ list(APPEND BUILDTYPES ${_buildname})
+ set(_short_name_${_buildname} "rel")
+ set(_path_suffix_${_buildname} "")
+ set(_build_type_${_buildname} "release")
+ endif()
+ unset(_buildname)
+
+ foreach(_buildname ${BUILDTYPES})
+ set(_build_triplet ${TARGET_TRIPLET}-${_short_name_${_buildname}})
+ message(STATUS "Configuring ${_build_triplet}")
+ set(_build_dir "${CURRENT_BUILDTREES_DIR}/${_build_triplet}")
+ file(MAKE_DIRECTORY ${_build_dir})
+ # These paths get hardcoded into qmake. So point them into the CURRENT_INSTALLED_DIR instead of CURRENT_PACKAGES_DIR
+ # makefiles will be fixed to install into CURRENT_PACKAGES_DIR in install_qt
+ set(BUILD_OPTIONS ${_csc_OPTIONS} ${_csc_OPTIONS_${_buildname}}
+ -prefix ${CURRENT_INSTALLED_DIR}
+ -extprefix ${CURRENT_INSTALLED_DIR}
+ ${EXT_BIN_DIR}
+ -hostprefix ${CURRENT_INSTALLED_DIR}/tools/qt5${_path_suffix_${_buildname}}
+ -hostlibdir ${CURRENT_INSTALLED_DIR}/tools/qt5${_path_suffix_${_buildname}}/lib # could probably be move to manual-link
+ -hostbindir ${CURRENT_INSTALLED_DIR}/tools/qt5${_path_suffix_${_buildname}}/bin
+ # Qt VS Plugin requires a /bin subfolder with the executables in the root dir. But to use the wizard a correctly setup lib folder is also required
+ # So with the vcpkg layout there is no way to make it work unless all dll are are copied to tools/qt5/bin and all libs to tools/qt5/lib
+ -archdatadir ${CURRENT_INSTALLED_DIR}/tools/qt5${_path_suffix_${_buildname}}
+ -datadir ${CURRENT_INSTALLED_DIR}${_path_suffix}/share/qt5${_path_suffix_${_buildname}}
+ -plugindir ${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/plugins
+ -qmldir ${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/qml
+ -headerdir ${CURRENT_INSTALLED_DIR}/include
+ -libexecdir ${CURRENT_INSTALLED_DIR}/tools/qt5${_path_suffix_${_buildname}}
+ -bindir ${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/bin
+ -libdir ${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/lib
+ -I ${CURRENT_INSTALLED_DIR}/include
+ -L ${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/lib
+ -L ${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/lib/manual-link
+ -xplatform ${_csc_TARGET_PLATFORM}
+ )
+
+ if(DEFINED _csc_HOST_TOOLS_ROOT) #use qmake
+ if(WIN32)
+ set(INVOKE_OPTIONS "QMAKE_CXX.QMAKE_MSC_VER=1911" "QMAKE_MSC_VER=1911")
+ endif()
+ vcpkg_execute_required_process(
+ COMMAND ${INVOKE} "${_csc_SOURCE_PATH}" "${INVOKE_OPTIONS}" -- ${BUILD_OPTIONS}
+ WORKING_DIRECTORY ${_build_dir}
+ LOGNAME config-${_build_triplet}
+ )
+ else()# call configure (builds qmake for triplet and calls it like above)
+ vcpkg_execute_required_process(
+ COMMAND "${INVOKE}" ${BUILD_OPTIONS}
+ WORKING_DIRECTORY ${_build_dir}
+ LOGNAME config-${_build_triplet}
+ )
+ endif()
+
+ # Note archdatadir and datadir are required to be prefixed with the hostprefix?
+ message(STATUS "Configuring ${_build_triplet} done")
+
+ # Copy configuration dependent qt.conf
+ file(TO_CMAKE_PATH "${CURRENT_PACKAGES_DIR}" CMAKE_CURRENT_PACKAGES_DIR_PATH)
+ file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}" CMAKE_CURRENT_INSTALLED_DIR_PATH)
+ file(READ "${CURRENT_BUILDTREES_DIR}/${_build_triplet}/bin/qt.conf" _contents)
+ string(REPLACE "${CMAKE_CURRENT_PACKAGES_DIR_PATH}" "\${CURRENT_INSTALLED_DIR}" _contents ${_contents})
+ string(REPLACE "${CMAKE_CURRENT_INSTALLED_DIR_PATH}" "\${CURRENT_INSTALLED_DIR}" _contents ${_contents})
+ #string(REPLACE "HostPrefix=\${CURRENT_PACKAGES_DIR}" "HostPrefix=\${CURRENT_INSTALLED_DIR}" _contents ${_contents})
+ string(REPLACE "[EffectivePaths]\nPrefix=..\n" "" _contents ${_contents})
+ string(REPLACE "[EffectiveSourcePaths]\nPrefix=${_csc_SOURCE_PATH}\n" "" _contents ${_contents})
+ string(REPLACE "Sysroot=\n" "" _contents ${_contents})
+ string(REPLACE "SysrootifyPrefix=false\n" "" _contents ${_contents})
+ file(WRITE "${CURRENT_PACKAGES_DIR}/tools/qt5/qt_${_build_type_${_buildname}}.conf" "${_contents}")
+ endforeach()
+
+endfunction()
diff --git a/ports/qt5-base/cmake/find_qt_mkspec.cmake b/ports/qt5-base/cmake/find_qt_mkspec.cmake
new file mode 100644
index 000000000..035aec1ad
--- /dev/null
+++ b/ports/qt5-base/cmake/find_qt_mkspec.cmake
@@ -0,0 +1,101 @@
+function(find_qt_mkspec TARGET_PLATFORM_MKSPEC_OUT HOST_PLATFORM_MKSPEC_OUT EXT_HOST_TOOLS_OUT)
+ ## Figure out QTs target mkspec
+ if(NOT DEFINED VCPKG_QT_TARGET_MKSPEC)
+ message(STATUS "Figuring out qt target mkspec. Target arch ${VCPKG_TARGET_ARCHITECTURE}")
+ if(VCPKG_TARGET_IS_WINDOWS)
+ if(VCPKG_TARGET_IS_UWP)
+ if(VCPKG_PLATFORM_TOOLSET STREQUAL "v140")
+ set(msvc_year "2015")
+ elseif(VCPKG_PLATFORM_TOOLSET STREQUAL "v141")
+ set(msvc_year "2017")
+ elseif(VCPKG_PLATFORM_TOOLSET STREQUAL "v142")
+ set(msvc_year "2019")
+ else()
+ message(FATAL_ERROR "No target mkspec found!")
+ endif()
+ set(_tmp_targ_out "winrt-${VCPKG_TARGET_ARCHITECTURE}-msvc${msvc_year}")
+ else()
+ if("${VCPKG_TARGET_ARCHITECTURE}" MATCHES "arm64")
+ message(STATUS "Figuring out arm64")
+ set(_tmp_targ_out "win32-arm64-msvc2017") #mkspec does not have anything defined related to msvc2017 so this should work
+ else()
+ set(_tmp_targ_out "win32-msvc")
+ endif()
+ endif()
+ elseif(VCPKG_TARGET_IS_LINUX)
+ set(_tmp_targ_out "linux-g++" )
+ elseif(VCPKG_TARGET_IS_OSX)
+ set(_tmp_targ_out "macx-clang") # switch to macx-g++ since vcpkg requires g++ to compile any way?
+ endif()
+ else()
+ set(_tmp_targ_out ${VCPKG_QT_TARGET_MKSPEC})
+ endif()
+ message(STATUS "Target mkspec set to: ${_tmp_targ_out}")
+ set(${TARGET_PLATFORM_MKSPEC_OUT} ${_tmp_targ_out} PARENT_SCOPE)
+
+ ## Figure out QTs host mkspec
+ if(NOT DEFINED VCPKG_QT_HOST_MKSPEC)
+ #if(WIN32)
+ # set(_tmp_host_out "win32-msvc")
+ #elseif("${CMAKE_HOST_SYSTEM}" STREQUAL "Linux")
+ # set(_tmp_host_out "linux-g++")
+ #elseif("${CMAKE_HOST_SYSTEM}" STREQUAL "Darwin")
+ # set(_tmp_host_out "macx-clang")
+ #endif()
+ if(DEFINED _tmp_host_out)
+ message(STATUS "Host mkspec set to: ${_tmp_host_out}")
+ else()
+ message(STATUS "Host mkspec not set. Qt's own buildsystem will try to figure out the host system")
+ endif()
+ else()
+ set(_tmp_host_out ${VCPKG_QT_HOST_MKSPEC})
+ endif()
+
+ if(DEFINED _tmp_host_out)
+ set(${HOST_PLATFORM_MKSPEC_OUT} ${_tmp_host_out} PARENT_SCOPE)
+ endif()
+
+ ## Figure out VCPKG qt-tools directory for the port.
+ if(NOT DEFINED VCPKG_QT_HOST_TOOLS_ROOT AND DEFINED VCPKG_QT_HOST_PLATFORM) ## Root dir of the required host tools
+ if(NOT "${_tmp_host_out}" MATCHES "${_tmp_host_out}")
+ if(CMAKE_HOST_WIN32)
+
+ if($ENV{PROCESSOR_ARCHITECTURE} MATCHES "[aA][rR][mM]64")
+ list(APPEND _test_triplets arm64-windows)
+ elseif($ENV{PROCESSOR_ARCHITECTURE} MATCHES "[aA][mM][dD]64")
+ list(APPEND _test_triplets x64-windows x64-windows-static)
+ list(APPEND _test_triplets x86-windows x86-windows-static)
+ elseif($ENV{PROCESSOR_ARCHITECTURE} MATCHES "x86")
+ list(APPEND _test_triplets x86-windows x86-windows-static)
+ else()
+ message(FATAL_ERROR "Unknown host processor! Host Processor $ENV{PROCESSOR_ARCHITECTURE}")
+ endif()
+ elseif(CMAKE_HOST_SYSTEM STREQUAL "Linux")
+ list(APPEND _test_triplets "x64-linux")
+ elseif(CMAKE_HOST_SYSTEM STREQUAL "Darwin")
+ list(APPEND _test_triplets "x64-osx")
+ else()
+ endif()
+ foreach(_triplet ${_test_triplets})
+ find_program(QMAKE_PATH qmake PATHS ${VCPKG_ROOT_DIR}/installed/${_triplet}/tools/qt5/bin NO_DEFAULT_PATHS)
+ message(STATUS "Checking: ${VCPKG_ROOT_DIR}/installed/${_triplet}/tools/qt5/bin. ${QMAKE_PATH}")
+ if(QMAKE_PATH)
+ set(_tmp_host_root "${VCPKG_ROOT_DIR}/installed/${_triplet}/tools/qt5")
+ set(_tmp_host_qmake ${QMAKE_PATH} PARENT_SCOPE)
+ message(STATUS "Qt host tools root dir within vcpkg: ${_tmp_host_root}")
+ break()
+ endif()
+ endforeach()
+ if(NOT DEFINED _tmp_host_root)
+ message(FATAL_ERROR "Unable to locate required host tools. Please define VCPKG_QT_HOST_TOOLS_ROOT to the required root dir of the host tools")
+ endif()
+ endif()
+ else()
+ set(_tmp_host_root ${VCPKG_QT_HOST_TOOLS_ROOT})
+ endif()
+
+ if(DEFINED _tmp_host_root)
+ set(${EXT_HOST_TOOLS_OUT} ${_tmp_host_root} PARENT_SCOPE)
+ endif()
+
+endfunction() \ No newline at end of file
diff --git a/ports/qt5-base/cmake/install_qt.cmake b/ports/qt5-base/cmake/install_qt.cmake
new file mode 100644
index 000000000..ebe2dc833
--- /dev/null
+++ b/ports/qt5-base/cmake/install_qt.cmake
@@ -0,0 +1,121 @@
+include(qt_fix_makefile_install)
+
+function(install_qt)
+ cmake_parse_arguments(_bc "DISABLE_PARALLEL" "" "" ${ARGN})
+
+ if (_bc_DISABLE_PARALLEL)
+ set(NUMBER_OF_PROCESSORS "1")
+ else()
+ if(DEFINED ENV{NUMBER_OF_PROCESSORS})
+ set(NUMBER_OF_PROCESSORS $ENV{NUMBER_OF_PROCESSORS})
+ elseif(VCPKG_TARGET_IS_OSX)
+ execute_process(
+ COMMAND sysctl -n hw.ncpu
+ OUTPUT_VARIABLE NUMBER_OF_PROCESSORS
+ )
+ string(REPLACE "\n" "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}")
+ string(REPLACE " " "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}")
+ else()
+ execute_process(
+ COMMAND nproc
+ OUTPUT_VARIABLE NUMBER_OF_PROCESSORS
+ )
+ string(REPLACE "\n" "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}")
+ string(REPLACE " " "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}")
+ endif()
+ endif()
+
+ message(STATUS "NUMBER_OF_PROCESSORS is ${NUMBER_OF_PROCESSORS}")
+
+ if(CMAKE_HOST_WIN32)
+ vcpkg_find_acquire_program(JOM)
+ set(INVOKE "${JOM}" /J ${NUMBER_OF_PROCESSORS})
+ else()
+ find_program(MAKE make)
+ set(INVOKE "${MAKE}" -j${NUMBER_OF_PROCESSORS})
+ set(INVOKE_SINGLE "${MAKE}" -j1)
+ endif()
+ vcpkg_find_acquire_program(PYTHON3)
+ get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY)
+ vcpkg_add_to_path(PREPEND "${PYTHON3_EXE_PATH}")
+
+ if (CMAKE_HOST_WIN32)
+ # flex and bison for ANGLE library
+ vcpkg_find_acquire_program(FLEX)
+ get_filename_component(FLEX_EXE_PATH ${FLEX} DIRECTORY)
+ get_filename_component(FLEX_DIR ${FLEX_EXE_PATH} NAME)
+
+ file(COPY ${FLEX_EXE_PATH} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-tools" )
+ set(FLEX_TEMP "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-tools/${FLEX_DIR}")
+ file(RENAME "${FLEX_TEMP}/win_bison.exe" "${FLEX_TEMP}/bison.exe")
+ file(RENAME "${FLEX_TEMP}/win_flex.exe" "${FLEX_TEMP}/flex.exe")
+ vcpkg_add_to_path("${FLEX_TEMP}")
+ endif()
+
+ set(_path "$ENV{PATH}")
+
+ #Replace with VCPKG variables if PR #7733 is merged
+ unset(BUILDTYPES)
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ set(_buildname "DEBUG")
+ list(APPEND BUILDTYPES ${_buildname})
+ set(_short_name_${_buildname} "dbg")
+ set(_path_suffix_${_buildname} "/debug")
+ set(_build_type_${_buildname} "debug")
+ endif()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ set(_buildname "RELEASE")
+ list(APPEND BUILDTYPES ${_buildname})
+ set(_short_name_${_buildname} "rel")
+ set(_path_suffix_${_buildname} "")
+ set(_build_type_${_buildname} "release")
+ endif()
+ unset(_buildname)
+
+ foreach(_buildname ${BUILDTYPES})
+ set(_build_triplet ${TARGET_TRIPLET}-${_short_name_${_buildname}})
+
+ vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/bin")
+
+ if(VCPKG_TARGET_IS_OSX)
+ # For some reason there will be an error on MacOSX without this clean!
+ message(STATUS "Cleaning before build ${_build_triplet}")
+ vcpkg_execute_required_process(
+ COMMAND ${INVOKE_SINGLE} clean
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${_build_triplet}
+ LOGNAME cleaning-1-${_build_triplet}
+ )
+ endif()
+
+ message(STATUS "Building ${_build_triplet}")
+ vcpkg_execute_required_process(
+ COMMAND ${INVOKE}
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${_build_triplet}
+ LOGNAME build-${_build_triplet}
+ )
+
+ if(VCPKG_TARGET_IS_OSX)
+ # For some reason there will be an error on MacOSX without this clean!
+ message(STATUS "Cleaning after build before install ${_build_triplet}")
+ vcpkg_execute_required_process(
+ COMMAND ${INVOKE_SINGLE} clean
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${_build_triplet}
+ LOGNAME cleaning-2-${_build_triplet}
+ )
+ endif()
+
+ message(STATUS "Fixig makefile installation path ${_build_triplet}")
+ qt_fix_makefile_install("${CURRENT_BUILDTREES_DIR}/${_build_triplet}")
+ message(STATUS "Installing ${_build_triplet}")
+ vcpkg_execute_required_process(
+ COMMAND ${INVOKE} install
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${_build_triplet}
+ LOGNAME package-${_build_triplet}
+ )
+ message(STATUS "Package ${_build_triplet} done")
+ set(ENV{PATH} "${_path}")
+ endforeach()
+
+
+
+endfunction()
diff --git a/ports/qt5-base/cmake/qt_build_submodule.cmake b/ports/qt5-base/cmake/qt_build_submodule.cmake
new file mode 100644
index 000000000..f850ad551
--- /dev/null
+++ b/ports/qt5-base/cmake/qt_build_submodule.cmake
@@ -0,0 +1,83 @@
+
+function(qt_build_submodule SOURCE_PATH)
+ # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings
+ set(ENV{_CL_} "/utf-8")
+
+ vcpkg_find_acquire_program(PYTHON2)
+ get_filename_component(PYTHON2_EXE_PATH ${PYTHON2} DIRECTORY)
+ vcpkg_add_to_path("${PYTHON2_EXE_PATH}")
+
+ vcpkg_configure_qmake(SOURCE_PATH ${SOURCE_PATH})
+
+ vcpkg_build_qmake(SKIP_MAKEFILES)
+
+ #Fix the installation location within the makefiles
+ qt_fix_makefile_install("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/")
+ qt_fix_makefile_install("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/")
+
+ #Install the module files
+ vcpkg_build_qmake(TARGETS install SKIP_MAKEFILES BUILD_LOGNAME install)
+
+ qt_fix_cmake(${CURRENT_PACKAGES_DIR} ${PORT})
+
+ #Replace with VCPKG variables if PR #7733 is merged
+ unset(BUILDTYPES)
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ set(_buildname "DEBUG")
+ list(APPEND BUILDTYPES ${_buildname})
+ set(_short_name_${_buildname} "dbg")
+ set(_path_suffix_${_buildname} "/debug")
+ endif()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ set(_buildname "RELEASE")
+ list(APPEND BUILDTYPES ${_buildname})
+ set(_short_name_${_buildname} "rel")
+ set(_path_suffix_${_buildname} "")
+ endif()
+ unset(_buildname)
+
+ foreach(_buildname ${BUILDTYPES})
+ set(CURRENT_BUILD_PACKAGE_DIR "${CURRENT_PACKAGES_DIR}${_path_suffix_${_buildname}}")
+ #Fix PRL files
+ file(GLOB_RECURSE PRL_FILES "${CURRENT_BUILD_PACKAGE_DIR}/lib/*.prl" "${CURRENT_PACKAGES_DIR}/tools/qt5${_path_suffix_${_buildname}}/lib/*.prl"
+ "${CURRENT_PACKAGES_DIR}/tools/qt5${_path_suffix_${_buildname}}/mkspecs/*.pri")
+ qt_fix_prl("${CURRENT_BUILD_PACKAGE_DIR}" "${PRL_FILES}")
+
+ # This makes it impossible to use the build tools in any meaningful way. qt5 assumes they are all in one folder!
+ # So does the Qt VS Plugin which even assumes all of the in a bin folder
+ #Move tools to the correct directory
+ #if(EXISTS ${CURRENT_BUILD_PACKAGE_DIR}/tools/qt5)
+ # file(RENAME ${CURRENT_BUILD_PACKAGE_DIR}/tools/qt5 ${CURRENT_PACKAGES_DIR}/tools/${PORT})
+ #endif()
+
+ # Move executables in bin to tools
+ # This is ok since those are not build tools.
+ file(GLOB PACKAGE_EXE ${CURRENT_BUILD_PACKAGE_DIR}/bin/*.exe)
+ if(PACKAGE_EXE)
+ file(INSTALL ${PACKAGE_EXE} DESTINATION "${CURRENT_BUILD_PACKAGE_DIR}/tools/${PORT}")
+ file(REMOVE ${PACKAGE_EXE})
+ foreach(_exe ${PACKAGE_EXE})
+ string(REPLACE ".exe" ".pdb" _prb_file ${_exe})
+ if(EXISTS ${_prb_file})
+ file(INSTALL ${_prb_file} DESTINATION "${CURRENT_BUILD_PACKAGE_DIR}/tools/${PORT}")
+ file(REMOVE ${_prb_file})
+ endif()
+ endforeach()
+ endif()
+
+ #cleanup empty folders
+ file(GLOB PACKAGE_LIBS "${CURRENT_BUILD_PACKAGE_DIR}/lib/*")
+ if(NOT PACKAGE_LIBS)
+ file(REMOVE_RECURSE "${CURRENT_BUILD_PACKAGE_DIR}/lib")
+ endif()
+
+ file(GLOB PACKAGE_BINS "${CURRENT_BUILD_PACKAGE_DIR}/bin/*")
+ if(NOT PACKAGE_BINS)
+ file(REMOVE_RECURSE "${CURRENT_BUILD_PACKAGE_DIR}/bin")
+ endif()
+ endforeach()
+ if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/qt5/bin")
+ file(COPY "${CURRENT_PACKAGES_DIR}/tools/qt5/bin" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}")
+ vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin")
+ endif()
+endfunction() \ No newline at end of file
diff --git a/ports/qt5-base/cmake/qt_download_submodule.cmake b/ports/qt5-base/cmake/qt_download_submodule.cmake
new file mode 100644
index 000000000..4241b6635
--- /dev/null
+++ b/ports/qt5-base/cmake/qt_download_submodule.cmake
@@ -0,0 +1,39 @@
+function(qt_get_submodule_name OUT_NAME)
+ string(REPLACE "5-" "" _tmp_name ${PORT})
+ set(${OUT_NAME} ${_tmp_name} PARENT_SCOPE)
+endfunction()
+
+function(qt_download_submodule)
+ cmake_parse_arguments(_csc "" "OUT_SOURCE_PATH" "PATCHES" ${ARGN})
+
+ if(NOT DEFINED _csc_OUT_SOURCE_PATH)
+ message(FATAL_ERROR "qt_download_module requires parameter OUT_SOURCE_PATH to be set! Please correct the portfile!")
+ endif()
+
+ vcpkg_buildpath_length_warning(37)
+ qt_get_submodule_name(NAME)
+
+ set(FULL_VERSION "${QT_MAJOR_MINOR_VER}.${QT_PATCH_VER}")
+ set(ARCHIVE_NAME "${NAME}-everywhere-src-${FULL_VERSION}.tar.xz")
+
+ vcpkg_download_distfile(ARCHIVE_FILE
+ URLS "http://download.qt.io/official_releases/qt/${QT_MAJOR_MINOR_VER}/${FULL_VERSION}/submodules/${ARCHIVE_NAME}"
+ FILENAME ${ARCHIVE_NAME}
+ SHA512 ${QT_HASH_${PORT}}
+ )
+
+ if(QT_UPDATE_VERSION)
+ file(SHA512 "${ARCHIVE_FILE}" ARCHIVE_HASH)
+ message(STATUS "${PORT} new hash is ${ARCHIVE_HASH}")
+ file(APPEND "${VCPKG_ROOT_DIR}/ports/qt5-base/cmake/qt_new_hashes.cmake" "set(QT_HASH_${PORT} ${ARCHIVE_HASH})\n")
+ else()
+ vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE "${ARCHIVE_FILE}"
+ REF ${FULL_VERSION}
+ PATCHES ${_csc_PATCHES}
+ )
+ endif()
+
+ set(${_csc_OUT_SOURCE_PATH} ${SOURCE_PATH} PARENT_SCOPE)
+endfunction() \ No newline at end of file
diff --git a/ports/qt5-base/cmake/qt_fix_cmake.cmake b/ports/qt5-base/cmake/qt_fix_cmake.cmake
new file mode 100644
index 000000000..6da5deb8e
--- /dev/null
+++ b/ports/qt5-base/cmake/qt_fix_cmake.cmake
@@ -0,0 +1,27 @@
+function(qt_fix_cmake PACKAGE_DIR_TO_FIX PORT_TO_FIX)
+ set(BACKUP_PATH "$ENV{PATH}")
+ #Find Python and add it to the path
+ vcpkg_find_acquire_program(PYTHON2)
+ get_filename_component(PYTHON2_EXE_PATH ${PYTHON2} DIRECTORY)
+ vcpkg_add_to_path("${PYTHON2_EXE_PATH}")
+
+ #Fix the cmake files if they exist
+ if(EXISTS ${PACKAGE_DIR_TO_FIX}/lib/cmake)
+ vcpkg_execute_required_process(
+ COMMAND ${PYTHON2} ${CURRENT_INSTALLED_DIR}/share/qt5/fixcmake.py ${PORT_TO_FIX}
+ WORKING_DIRECTORY ${PACKAGE_DIR_TO_FIX}/lib/cmake
+ LOGNAME fix-cmake
+ )
+ endif()
+
+ #Install cmake files
+ if(EXISTS ${PACKAGE_DIR_TO_FIX}/lib/cmake)
+ file(MAKE_DIRECTORY ${PACKAGE_DIR_TO_FIX}/share)
+ file(RENAME ${PACKAGE_DIR_TO_FIX}/lib/cmake ${PACKAGE_DIR_TO_FIX}/share/cmake)
+ endif()
+ #Remove extra cmake files
+ if(EXISTS ${PACKAGE_DIR_TO_FIX}/debug/lib/cmake)
+ file(REMOVE_RECURSE ${PACKAGE_DIR_TO_FIX}/debug/lib/cmake)
+ endif()
+ set(ENV{PATH} "${BACKUP_PATH}")
+endfunction() \ No newline at end of file
diff --git a/ports/qt5-base/cmake/qt_fix_makefile_install.cmake b/ports/qt5-base/cmake/qt_fix_makefile_install.cmake
new file mode 100644
index 000000000..95831d29f
--- /dev/null
+++ b/ports/qt5-base/cmake/qt_fix_makefile_install.cmake
@@ -0,0 +1,26 @@
+#Could probably be a vcpkg_fix_makefile_install for other ports?
+function(qt_fix_makefile_install BUILD_DIR)
+ #Fix the installation location
+ file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR)
+ file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR)
+
+ if(WIN32)
+ string(SUBSTRING "${NATIVE_INSTALLED_DIR}" 2 -1 INSTALLED_DIR_WITHOUT_DRIVE)
+ string(SUBSTRING "${NATIVE_PACKAGES_DIR}" 2 -1 PACKAGES_DIR_WITHOUT_DRIVE)
+ else()
+ set(INSTALLED_DIR_WITHOUT_DRIVE ${NATIVE_INSTALLED_DIR})
+ set(PACKAGES_DIR_WITHOUT_DRIVE ${NATIVE_PACKAGES_DIR})
+ endif()
+
+ file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR)
+ file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR)
+
+ file(GLOB_RECURSE MAKEFILES "${BUILD_DIR}/*Makefile*")
+
+ foreach(MAKEFILE ${MAKEFILES})
+ file(READ "${MAKEFILE}" _contents)
+ #Set the correct install directory to packages
+ string(REPLACE "(INSTALL_ROOT)${INSTALLED_DIR_WITHOUT_DRIVE}" "(INSTALL_ROOT)${PACKAGES_DIR_WITHOUT_DRIVE}" _contents "${_contents}")
+ file(WRITE "${MAKEFILE}" "${_contents}")
+ endforeach()
+endfunction() \ No newline at end of file
diff --git a/ports/qt5-base/cmake/qt_fix_prl.cmake b/ports/qt5-base/cmake/qt_fix_prl.cmake
new file mode 100644
index 000000000..214f7cdb4
--- /dev/null
+++ b/ports/qt5-base/cmake/qt_fix_prl.cmake
@@ -0,0 +1,10 @@
+function(qt_fix_prl PACKAGE_DIR PRL_FILES)
+ file(TO_CMAKE_PATH "${PACKAGE_DIR}/lib" CMAKE_LIB_PATH)
+ file(TO_CMAKE_PATH "${PACKAGE_DIR}/include" CMAKE_INCLUDE_PATH)
+ foreach(PRL_FILE IN LISTS PRL_FILES)
+ file(READ "${PRL_FILE}" _contents)
+ string(REPLACE "${CMAKE_LIB_PATH}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}")
+ string(REPLACE "${CMAKE_INCLUDE_PATH}" "\$\$[QT_INSTALL_HEADERS]" _contents "${_contents}")
+ file(WRITE "${PRL_FILE}" "${_contents}")
+ endforeach()
+endfunction() \ No newline at end of file
diff --git a/ports/qt5-base/cmake/qt_install_copyright.cmake b/ports/qt5-base/cmake/qt_install_copyright.cmake
new file mode 100644
index 000000000..0f7e60cc7
--- /dev/null
+++ b/ports/qt5-base/cmake/qt_install_copyright.cmake
@@ -0,0 +1,16 @@
+#Could probably be the beginning of a vcpkg_install_copyright?
+function(qt_install_copyright SOURCE_PATH)
+ #Find the relevant license file and install it
+ if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3")
+ set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3")
+ elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3")
+ set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3")
+ elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3")
+ set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3")
+ elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3")
+ set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3")
+ elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3-EXCEPT")
+ set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3-EXCEPT")
+ endif()
+ file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+endfunction() \ No newline at end of file
diff --git a/ports/qt5-base/cmake/qt_port_functions.cmake b/ports/qt5-base/cmake/qt_port_functions.cmake
new file mode 100644
index 000000000..19f53f98b
--- /dev/null
+++ b/ports/qt5-base/cmake/qt_port_functions.cmake
@@ -0,0 +1,14 @@
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
+
+#Basic setup
+include(qt_port_hashes)
+#Fixup scripts
+include(qt_fix_makefile_install)
+include(qt_fix_cmake)
+include(qt_fix_prl)
+#Helper functions
+include(qt_download_submodule)
+include(qt_build_submodule)
+include(qt_install_copyright)
+
+include(qt_submodule_installation)
diff --git a/ports/qt5-base/cmake/qt_port_hashes.cmake b/ports/qt5-base/cmake/qt_port_hashes.cmake
new file mode 100644
index 000000000..d3ad2a0ee
--- /dev/null
+++ b/ports/qt5-base/cmake/qt_port_hashes.cmake
@@ -0,0 +1,57 @@
+#Every update requires an update of these hashes and the version within the control file of each of the 32 ports.
+#So it is probably better to have a central location for these hashes and let the ports update via a script
+set(QT_MAJOR_MINOR_VER 5.12)
+set(QT_PATCH_VER 5)
+set(QT_UPDATE_VERSION 0) # Switch to update qt and not build qt. Creates a file cmake/qt_new_hashes.cmake in qt5-base with the new hashes.
+
+set(QT_PORT_LIST base 3d activeqt charts connectivity datavis3d declarative gamepad graphicaleffects imageformats location macextras mqtt multimedia networkauth
+ purchasing quickcontrols quickcontrols2 remoteobjects script scxml sensors serialport speech svg tools virtualkeyboard webchannel websockets
+ webview winextras xmlpatterns)
+
+set(QT_HASH_qt5-base 9a95060318cadfcd6dace6b28353fa868a8dcfe9def0bd884edf7d9f72606bae625de0269323a94b81d594a6c398106c266304106329b79c7dae4e5b88269660)
+set(QT_HASH_qt5-3d 8cc23417b4a41bf9d19052e05c7e3be8773be062f1f5998a7784573ef9c35a04da50ce67a65b3709065bb3cf243aac8ede4bea60f0420a5400cbe6c9c7bdf05b)
+set(QT_HASH_qt5-activeqt 6233bb64ca45b6b0065afa50a3082c6df7e4e20d36040dfaf391e02876f50c41ec293db79a13636aeae9469deefad35ced42902548f9fcd78476359ad4450bee)
+set(QT_HASH_qt5-charts a3ba8c6a606430cd87f85661116dbb2692e0bb472f0a73310aca1950f4437563d04ee950437a48a399b1a4881dd264cd1e6fdd4f30b6c3110704ec48d1467da1)
+set(QT_HASH_qt5-connectivity 96cdb27aa0e439094e3f1de0c7a680973c3ce2c65bbbff38affe25a3708c9e4e3c1c6a403d698303f77a5f261b44ac657e01a769b62a1565e0a8c64c8ac80bd5)
+set(QT_HASH_qt5-datavis3d 7911d911678827ca4a704b824b8841c8e8508484fb83265d4d05e64787ac1184387b9ed0870090b3233c736f5e484adc7776ba12a1173da0fceeaac46845c6f4)
+set(QT_HASH_qt5-declarative 026c5024c06e44b6e91099d1ee912f38017f314ae0125227010d25d733447c692299cc7c47edc1a4bf39366a9c9c9fe77d3a249905f2ae982d0725317d824b9b)
+set(QT_HASH_qt5-gamepad bc4148bb75de53dd0885fc25ce7d679d7a5426a23ce9c93482fd11e8d6003cebe4c958fc07f17817a43f1d4449756deff24c0350fd33e100aeb2c302c650ae33)
+set(QT_HASH_qt5-graphicaleffects 489a308af5f56ff2b023375ddf705f8a1b15c0e1fb1ec3bc6e5f66a80b5863d63aa0e57a3aef025ab965694add8d71424123bca120ce8d8b8448e7218f7fc640)
+set(QT_HASH_qt5-imageformats 9fa76b7eec083596c45f68642b49dc88c2759a28cb9359935c3a64604082acea9adecee49bb0828cc587b86d469aec7169f8f72f83a15194c4fc10f0ca25fae0)
+set(QT_HASH_qt5-location fe82194e4e6bc2a2e6e3c55e3360afdfd56a6495a8d87bfbdceb29255430954d4c1adc62f1f82e63b23778f0bf03b0a50d6f5d2a963bd786f2cf2fbed7450ccc)
+set(QT_HASH_qt5-macextras 80779bf9c49ff89b866327a3358cede9308c41d6a49d8d6aa29661f4ad98d191c2f68d9af0d89be36fe54d094972f7a7689ecc26bc2bfcf53e9be1305e107178)
+set(QT_HASH_qt5-mqtt 3167de873dc3d42607440237c7b341c270079a1edd72588ebe95082ab209bbd24496d60d41c87ade166b595fda924a52cb2ff0efd05b48aa4c77c7b51b125f36)
+set(QT_HASH_qt5-multimedia a59983d887c8de462399fd53beb640c1b865c17f8b1a83635c2e1d27903861dd588eb64935d7c02d733c51c9a21174065e70a5fc1aa78600e5540c489b7695a3)
+set(QT_HASH_qt5-networkauth d7849518614a7bdb2ddbcf92b773f5e7c26f1af4ba07f0304b4634ed69bf3c17798509d28af2c49aba0cfad35a1cad5bda27acdbde3aa8d86038efeb9f5001e0)
+set(QT_HASH_qt5-purchasing b9f7e43cf4a8e23bc167d2473fa6f8af47455f066b584daf18d97d4a67dd766aaf17c7b897b2bae20cf636253174430be664815e1e86aeb07ed870bb2969ad0d)
+set(QT_HASH_qt5-quickcontrols 4539a6ce1ee20f71f6bf48271bc3fe1125bd21899cf36142d1c3d41a68ba56211f27d6e4403c69e86bd4698c7c7c79bc60f2a78ef1b19c5eab5b8690d1a01037)
+set(QT_HASH_qt5-quickcontrols2 afbd742783d83eabf182031e218c2f611709cd66f2b4886317bd356ffff2afabe820e1f552f478a0c3f74daf6fd1f5256900448f5445b84792d6a71b42ccd20a)
+set(QT_HASH_qt5-remoteobjects ed3314b1c66f9375bdc101029eaf730a630157ee41c094de2ff9cc5340c3c92a781dcb2b2cf0b8bbad8b19e566fb80f2d3b76e58624e990f90f23b8cdd21bd54)
+set(QT_HASH_qt5-script a422e47873ddf4c84adf00f51b721465acedfac535b0daeede63eac0d41c6f4f07d5a5f86513c86e981f3a0024020be03730670befab2a20cd4d6564c98d6c90)
+set(QT_HASH_qt5-scxml 23d340994af3e217ae58698dd0cd38f30d67d74a042d58cabbd0f38a6c13a8d64d6238cd6dee246ce0f99d5206bc210749941b88e5f745d3b92207eab06730b1)
+set(QT_HASH_qt5-sensors 81ac74e4c0a3d1942393c9267bbcc50af0e04a6f163d566010d6053dc4c69a67395c3f4b7564a50ec84ac88a715edd002920be4e145e6bd23d082a021dee1e5a)
+set(QT_HASH_qt5-serialport f3a5fb8c9a9513c16f52bd22b4fd4c6400819863237762f459d9f612ef2457447733cc8ed2bd645f182ab9eab6ddb5bcdbca2fbd67745def1a5fad1392087f4e)
+set(QT_HASH_qt5-speech 2a1a2c86ee3b5501623bb0c2c8e5b6f96b353707fe0eb804629187899eca5952c665ef037c4257f635edf34ddea03bc686f472a4a346d9f8e2adc7479f640482)
+set(QT_HASH_qt5-svg 3d7f89d106b36c8a0fd04c6e6f0ccde0c50ced7192980ea7d9330ba73d9307559e60ed2b10c28481a419d19aaae6609bde9e1dd74ccedf340dacf0194a60429d)
+set(QT_HASH_qt5-tools e88af049ad9261720bc44ff9030113179d9429eaf073bed45115decd520ecf5d3ca860983f012bac189310ce9f3826b1fcb484faadb4f6d0b16c67c0d998f34c)
+set(QT_HASH_qt5-virtualkeyboard e4581673451c40bf39b9793b0131bbad29e8a3f9db2d42adb23b48847bd674b6820717c051b76e506d4fd52e87c79b042533be85285a0cce9bcdc49cca964e66)
+set(QT_HASH_qt5-webchannel 8ea543f29e8f686961b033c1246714b1535d0be730026bef4b4ee172ce602c706d8a16b8391510a302df7be6545007a2f42311eb1aea4da326c3addde16ca2b2)
+set(QT_HASH_qt5-websockets 970ad232ad1258630404d5e7347721505a780497e1775f88591098f11bca48cbf62c4f02491b133d31e4304eb9e16f923292c5b778e22d530d7a5a4e95d422ba)
+set(QT_HASH_qt5-webview 310beedf88cefc05458e99838e7cb71971aa24ba6c460ff3da804c2ab7f56167ca1067ddca71ee29ced32ea974fe405261f24c8bbcac0c7b69063d7c4e38a4de)
+set(QT_HASH_qt5-winextras 053ca5f60c7946f6409ef34094b4a7d1431039407a5195e539e8edfda795da20fc695ceec58ae0df15e4dcc597047518d06a424d11fb4aaf6ae82f1d4badab33)
+set(QT_HASH_qt5-xmlpatterns 30b25e152970bfe51fcdeffa43d11dd51496e5ea6a5da644b13fa0ce4835302ebec651c1ecdcf9590c6689598cea9bd63748aab4ee0ec69f9155dc310a7c04c3)
+
+if(QT_UPDATE_VERSION)
+ message(STATUS "Running Qt in automatic version port update mode!")
+ set(_VCPKG_INTERNAL_NO_HASH_CHECK 1)
+ if("${PORT}" MATCHES "qt5-base")
+ foreach(_current_qt_port ${QT_PORT_LIST})
+ set(_current_control "${VCPKG_ROOT_DIR}/ports/qt5-${_current_qt_port}/CONTROL")
+ file(READ ${_current_control} _control_contents)
+ #message(STATUS "Before: \n${_control_contents}")
+ string(REGEX REPLACE "Version:[^0-9]+[0-9]\.[0-9]+\.[0-9]+[^\n]*\n" "Version: ${QT_MAJOR_MINOR_VER}.${QT_PATCH_VER}\n" _control_contents "${_control_contents}")
+ #message(STATUS "After: \n${_control_contents}")
+ file(WRITE ${_current_control} "${_control_contents}")
+ endforeach()
+ endif()
+endif() \ No newline at end of file
diff --git a/ports/qt5-base/cmake/qt_submodule_installation.cmake b/ports/qt5-base/cmake/qt_submodule_installation.cmake
new file mode 100644
index 000000000..a76e1bcbd
--- /dev/null
+++ b/ports/qt5-base/cmake/qt_submodule_installation.cmake
@@ -0,0 +1,11 @@
+
+
+function(qt_submodule_installation)
+ qt_download_submodule(OUT_SOURCE_PATH TARGET_SOURCE_PATH ${ARGV})
+ if(QT_UPDATE_VERSION)
+ SET(VCPKG_POLICY_EMPTY_PACKAGE enabled PARENT_SCOPE)
+ else()
+ qt_build_submodule(${TARGET_SOURCE_PATH})
+ qt_install_copyright(${TARGET_SOURCE_PATH})
+ endif()
+endfunction() \ No newline at end of file
diff --git a/ports/qt5-base/configure_qt.cmake b/ports/qt5-base/configure_qt.cmake
deleted file mode 100644
index c39623562..000000000
--- a/ports/qt5-base/configure_qt.cmake
+++ /dev/null
@@ -1,72 +0,0 @@
-function(configure_qt)
- cmake_parse_arguments(_csc "" "SOURCE_PATH;PLATFORM" "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE" ${ARGN})
-
- if(NOT _csc_PLATFORM)
- message(FATAL_ERROR "configure_qt requires a PLATFORM argument.")
- endif()
-
- vcpkg_find_acquire_program(PERL)
- get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY)
-
- file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
- vcpkg_add_to_path("${PERL_EXE_PATH}")
-
- if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
- list(APPEND _csc_OPTIONS "-static")
- endif()
-
- if(VCPKG_CRT_LINKAGE STREQUAL "static")
- list(APPEND _csc_OPTIONS "-static-runtime")
- endif()
-
- if(CMAKE_HOST_WIN32)
- set(CONFIGURE_BAT "configure.bat")
- else()
- set(CONFIGURE_BAT "configure")
- endif()
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- message(STATUS "Configuring ${TARGET_TRIPLET}-dbg")
- file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
- vcpkg_execute_required_process(
- COMMAND "${_csc_SOURCE_PATH}/${CONFIGURE_BAT}" ${_csc_OPTIONS} ${_csc_OPTIONS_DEBUG}
- -debug
- -prefix ${CURRENT_INSTALLED_DIR}/debug
- -extprefix ${CURRENT_PACKAGES_DIR}/debug
- -hostbindir ${CURRENT_PACKAGES_DIR}/debug/tools/qt5
- -archdatadir ${CURRENT_PACKAGES_DIR}/share/qt5/debug
- -datadir ${CURRENT_PACKAGES_DIR}/share/qt5/debug
- -plugindir ${CURRENT_INSTALLED_DIR}/debug/plugins
- -qmldir ${CURRENT_INSTALLED_DIR}/debug/qml
- -headerdir ${CURRENT_PACKAGES_DIR}/include
- -I ${CURRENT_INSTALLED_DIR}/include
- -L ${CURRENT_INSTALLED_DIR}/debug/lib
- -platform ${_csc_PLATFORM}
- WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
- LOGNAME config-${TARGET_TRIPLET}-dbg
- )
- message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done")
- endif()
-
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- message(STATUS "Configuring ${TARGET_TRIPLET}-rel")
- file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
- vcpkg_execute_required_process(
- COMMAND "${_csc_SOURCE_PATH}/${CONFIGURE_BAT}" ${_csc_OPTIONS} ${_csc_OPTIONS_RELEASE}
- -release
- -prefix ${CURRENT_INSTALLED_DIR}
- -extprefix ${CURRENT_PACKAGES_DIR}
- -hostbindir ${CURRENT_PACKAGES_DIR}/tools/qt5
- -archdatadir ${CURRENT_INSTALLED_DIR}/share/qt5
- -datadir ${CURRENT_INSTALLED_DIR}/share/qt5
- -plugindir ${CURRENT_INSTALLED_DIR}/plugins
- -qmldir ${CURRENT_INSTALLED_DIR}/qml
- -I ${CURRENT_INSTALLED_DIR}/include
- -L ${CURRENT_INSTALLED_DIR}/lib
- -platform ${_csc_PLATFORM}
- WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
- LOGNAME config-${TARGET_TRIPLET}-rel
- )
- message(STATUS "Configuring ${TARGET_TRIPLET}-rel done")
- endif()
-
-endfunction()
diff --git a/ports/qt5-base/fix-system-freetype.patch b/ports/qt5-base/fix-system-freetype.patch
deleted file mode 100644
index d83fc9891..000000000
--- a/ports/qt5-base/fix-system-freetype.patch
+++ /dev/null
@@ -1,18 +0,0 @@
----
- src/gui/configure.json | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/src/gui/configure.json b/src/gui/configure.json
-index 0332631e..bd64b7b1 100644
---- a/src/gui/configure.json
-+++ b/src/gui/configure.json
-@@ -164,8 +164,7 @@
- },
- "sources": [
- { "type": "pkgConfig", "args": "freetype2" },
-- { "type": "freetype", "libs": "-lfreetype", "condition": "!config.wasm" },
-- { "type": "freetype", "libs": "-s USE_FREETYPE=1", "condition": "config.wasm" }
-+ { "libs": "-lfreetype" }
- ]
- },
- "fontconfig": {
diff --git a/ports/qt5-base/fix-system-pcre2-linux.patch b/ports/qt5-base/fix-system-pcre2-linux.patch
deleted file mode 100644
index 92bdf04ce..000000000
--- a/ports/qt5-base/fix-system-pcre2-linux.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -Naur a/src/corelib/configure.json b/src/corelib/configure.json
---- a/src/corelib/configure.json 2018-08-23 02:58:54.544949500 -0400
-+++ b/src/corelib/configure.json 2018-08-23 02:59:31.481175300 -0400
-@@ -181,8 +181,10 @@
- "builds": {
- "debug": "-lpcre2-16d",
- "release": "-lpcre2-16"
-- }
-- }
-+ },
-+ "condition": "config.win32"
-+ },
-+ { "libs": "-lpcre2-16", "condition": "!config.win32" }
- ]
- },
- "pps": {
diff --git a/ports/qt5-base/fix-system-pcre2.patch b/ports/qt5-base/fix-system-pcre2.patch
deleted file mode 100644
index 5e8d4616e..000000000
--- a/ports/qt5-base/fix-system-pcre2.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -Naur a/src/corelib/configure.json b/src/corelib/configure.json
---- a/src/corelib/configure.json 2018-06-15 03:29:31.000000000 -0400
-+++ b/src/corelib/configure.json 2018-08-23 00:46:04.380187100 -0400
-@@ -177,7 +177,12 @@
- },
- "sources": [
- { "type": "pkgConfig", "args": "libpcre2-16" },
-- "-lpcre2-16"
-+ {
-+ "builds": {
-+ "debug": "-lpcre2-16d",
-+ "release": "-lpcre2-16"
-+ }
-+ }
- ]
- },
- "pps": {
diff --git a/ports/qt5-base/fixcmake.py b/ports/qt5-base/fixcmake.py
index bcfb12ac5..afb127560 100644
--- a/ports/qt5-base/fixcmake.py
+++ b/ports/qt5-base/fixcmake.py
@@ -1,22 +1,29 @@
import os
import re
+import sys
from glob import glob
+port="qt5"
+if len(sys.argv) > 1:
+ port=sys.argv[1]
+
files = [y for x in os.walk('.') for y in glob(os.path.join(x[0], '*.cmake'))]
+tooldir="/tools/"+port+"/bin/"
for f in files:
openedfile = open(f, "r")
builder = ""
- dllpattern = re.compile("_install_prefix}/bin/Qt5.*d.dll")
- libpattern = re.compile("_install_prefix}/lib/Qt5.*d.lib")
- exepattern = re.compile("_install_prefix}/bin/[a-z]+.exe")
- tooldllpattern = re.compile("_install_prefix}/tools/qt5/Qt5.*d.dll")
+ dllpattern = re.compile("_install_prefix}/bin/Qt5.*d+(.dll|.so)")
+ libpattern = re.compile("_install_prefix}/lib/Qt5.*d+(.lib|.a)")
+ exepattern = re.compile("_install_prefix}/bin/[a-z]+(.exe|)")
+ toolexepattern = re.compile("_install_prefix}/tools/qt5/bin/[a-z]+(.exe|)")
+ tooldllpattern = re.compile("_install_prefix}/tools/qt5/bin/Qt5.*d+(.dll|.so)")
for line in openedfile:
if "_install_prefix}/tools/qt5/${LIB_LOCATION}" in line:
builder += " if (${Configuration} STREQUAL \"RELEASE\")"
- builder += "\n " + line.replace("/tools/qt5/", "/bin/")
+ builder += "\n " + line.replace("/tools/qt5/bin", "/bin/")
builder += " else()"
- builder += "\n " + line.replace("/tools/qt5/", "/debug/bin/")
+ builder += "\n " + line.replace("/tools/qt5/debug/bin", "/debug/bin/")
builder += " endif()\n"
elif "_install_prefix}/bin/${LIB_LOCATION}" in line:
builder += " if (${Configuration} STREQUAL \"RELEASE\")"
@@ -58,11 +65,13 @@ for f in files:
elif libpattern.search(line) != None:
builder += line.replace("/lib/", "/debug/lib/")
elif tooldllpattern.search(line) != None:
- builder += line.replace("/tools/qt5/", "/debug/bin/")
+ builder += line.replace("/tools/qt5/bin", "/debug/bin/")
elif exepattern.search(line) != None:
- builder += line.replace("/bin/", "/tools/qt5/")
+ builder += line.replace("/bin/", tooldir)
+ elif toolexepattern.search(line) != None:
+ builder += line.replace("/tools/qt5/bin/",tooldir)
else:
builder += line
new_file = open(f, "w")
new_file.write(builder)
- new_file.close() \ No newline at end of file
+ new_file.close()
diff --git a/ports/qt5-base/install_qt.cmake b/ports/qt5-base/install_qt.cmake
deleted file mode 100644
index 4eed6cbe5..000000000
--- a/ports/qt5-base/install_qt.cmake
+++ /dev/null
@@ -1,80 +0,0 @@
-function(install_qt)
- cmake_parse_arguments(_bc "DISABLE_PARALLEL" "" "" ${ARGN})
-
- if (_bc_DISABLE_PARALLEL)
- set(NUMBER_OF_PROCESSORS "1")
- else()
- if(DEFINED ENV{NUMBER_OF_PROCESSORS})
- set(NUMBER_OF_PROCESSORS $ENV{NUMBER_OF_PROCESSORS})
- else()
- execute_process(
- COMMAND nproc
- OUTPUT_VARIABLE NUMBER_OF_PROCESSORS
- )
- string(REPLACE "\n" "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}")
- string(REPLACE " " "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}")
- endif()
- endif()
-
- if(CMAKE_HOST_WIN32)
- vcpkg_find_acquire_program(JOM)
- set(INVOKE "${JOM}" /J ${NUMBER_OF_PROCESSORS})
- else()
- find_program(MAKE make)
- set(INVOKE "${MAKE}" -j${NUMBER_OF_PROCESSORS})
- endif()
- vcpkg_find_acquire_program(PYTHON3)
- get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY)
- vcpkg_add_to_path(PREPEND "${PYTHON3_EXE_PATH}")
-
- if (CMAKE_HOST_WIN32)
- # flex and bison for ANGLE library
- vcpkg_find_acquire_program(FLEX)
- get_filename_component(FLEX_EXE_PATH ${FLEX} DIRECTORY)
- get_filename_component(FLEX_DIR ${FLEX_EXE_PATH} NAME)
-
- file(COPY ${FLEX_EXE_PATH} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-tools" )
- set(FLEX_TEMP "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-tools/${FLEX_DIR}")
- file(RENAME "${FLEX_TEMP}/win_bison.exe" "${FLEX_TEMP}/bison.exe")
- file(RENAME "${FLEX_TEMP}/win_flex.exe" "${FLEX_TEMP}/flex.exe")
- vcpkg_add_to_path("${FLEX_TEMP}")
- endif()
-
- set(_path "$ENV{PATH}")
-
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- message(STATUS "Package ${TARGET_TRIPLET}-dbg")
- vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/debug/bin")
- vcpkg_execute_required_process(
- COMMAND ${INVOKE}
- WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
- LOGNAME build-${TARGET_TRIPLET}-dbg
- )
- vcpkg_execute_required_process(
- COMMAND ${INVOKE} install
- WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
- LOGNAME package-${TARGET_TRIPLET}-dbg
- )
- message(STATUS "Package ${TARGET_TRIPLET}-dbg done")
- endif()
-
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- message(STATUS "Package ${TARGET_TRIPLET}-rel")
- set(ENV{PATH} "${_path}")
- vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/bin")
- vcpkg_execute_required_process(
- COMMAND ${INVOKE}
- WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
- LOGNAME build-${TARGET_TRIPLET}-rel
- )
- vcpkg_execute_required_process(
- COMMAND ${INVOKE} install
- WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
- LOGNAME package-${TARGET_TRIPLET}-rel
- )
- message(STATUS "Package ${TARGET_TRIPLET}-rel done")
- endif()
-
- set(ENV{PATH} "${_path}")
-
-endfunction()
diff --git a/ports/qt5-base/patches/gui_configure.patch b/ports/qt5-base/patches/gui_configure.patch
new file mode 100644
index 000000000..31c29dbeb
--- /dev/null
+++ b/ports/qt5-base/patches/gui_configure.patch
@@ -0,0 +1,16 @@
+diff --git a/src/gui/configure.json b/src/gui/configure.json
+index c51e3ceee..7f7e206b6 100644
+--- a/src/gui/configure.json
++++ b/src/gui/configure.json
+@@ -239,9 +239,9 @@
+ "headers": "ft2build.h",
+ "sources": [
+ { "type": "pkgConfig", "args": "freetype2" },
+- { "type": "freetype", "libs": "-lfreetype", "condition": "!config.wasm" },
++ { "type": "freetype", "libs": "-lbreakfreetypeautofind", "condition": "!config.wasm" },
+ { "libs": "-s USE_FREETYPE=1", "condition": "config.wasm" },
+- { "libs": "-lfreetype" }
++ { "libs": "-lbreakfreetypeautofind" }
+ ],
+ "use": [
+ { "lib": "zlib", "condition": "features.system-zlib" }
diff --git a/ports/qt5-base/patches/qt_app.patch b/ports/qt5-base/patches/qt_app.patch
new file mode 100644
index 000000000..e04446bf2
--- /dev/null
+++ b/ports/qt5-base/patches/qt_app.patch
@@ -0,0 +1,17 @@
+diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf
+index 8354f30e..8f24b72e 100644
+--- a/mkspecs/features/qt_app.prf
++++ b/mkspecs/features/qt_app.prf
+@@ -27,10 +27,11 @@ host_build:force_bootstrap {
+ QT -= core core-private xml
+ QT += bootstrap-private
+ }
+ target.path = $$[QT_HOST_BINS]
++ CONFIG += relative_qt_rpath # Qt's tools and apps should be relocatable
+ } else {
+ !build_pass:qtConfig(debug_and_release): CONFIG += release
+- target.path = $$[QT_INSTALL_BINS]
++ target.path = $$[QT_HOST_BINS]
+ CONFIG += relative_qt_rpath # Qt's tools and apps should be relocatable
+ }
+ INSTALLS += target
diff --git a/ports/qt5-base/patches/static_opengl.patch b/ports/qt5-base/patches/static_opengl.patch
new file mode 100644
index 000000000..51818b8b7
--- /dev/null
+++ b/ports/qt5-base/patches/static_opengl.patch
@@ -0,0 +1,62 @@
+diff --git a/mkspecs/features/win32/opengl.prf b/mkspecs/features/win32/opengl.prf
+index f21848f94..202c49688 100644
+--- a/mkspecs/features/win32/opengl.prf
++++ b/mkspecs/features/win32/opengl.prf
+@@ -30,7 +30,7 @@ qtConfig(opengles2) {
+ LIBS += $$QMAKE_LIBS_OPENGL_ES2
+ QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL_ES2_RELEASE
+ }
+- qtConfig(static): DEFINES += GL_APICALL= EGLAPI=
++ qtConfig(static): DEFINES += _GDI32_ GL_APICALL= EGLAPI= ANGLE_EXPORT= ANGLE_PLATFORM_EXPORT=
+ } else {
+ !qtConfig(dynamicgl) {
+ QMAKE_LIBS += $$QMAKE_LIBS_OPENGL
+diff --git a/src/angle/src/common/gles_common.pri b/src/angle/src/common/gles_common.pri
+index 70b65dd4c..1dcc96af5 100644
+--- a/src/angle/src/common/gles_common.pri
++++ b/src/angle/src/common/gles_common.pri
+@@ -23,7 +23,8 @@ for(libname, STATICLIBS) {
+ PRE_TARGETDEPS += $$staticlib
+ }
+
+-DEFINES += LIBANGLE_IMPLEMENTATION LIBGLESV2_IMPLEMENTATION GL_APICALL= GL_GLEXT_PROTOTYPES= EGLAPI=
++!qtConfig(static): DEFINES += LIBANGLE_IMPLEMENTATION LIBGLESV2_IMPLEMENTATION
++qtConfig(static): DEFINES += GL_APICALL= EGLAPI= ANGLE_EXPORT= ANGLE_PLATFORM_EXPORT=
+ !winrt: DEFINES += ANGLE_ENABLE_D3D9 ANGLE_SKIP_DXGI_1_2_CHECK
+
+ QT_FOR_CONFIG += gui-private
+diff --git a/src/3rdparty/angle/include/platform/Platform.h b/src/3rdparty/angle/include/platform/Platform.h
+index aa1221a86..a49ee4f6d 100644
+--- a/src/3rdparty/angle/include/platform/Platform.h
++++ b/src/3rdparty/angle/include/platform/Platform.h
+@@ -12,7 +12,7 @@
+ #include <stdint.h>
+ #include <array>
+
+-#if defined(_WIN32)
++#if defined(_WIN32) && !defined(ANGLE_PLATFORM_EXPORT)
+ # if !defined(LIBANGLE_IMPLEMENTATION)
+ # define ANGLE_PLATFORM_EXPORT __declspec(dllimport)
+ # else
+diff --git a/src/3rdparty/angle/src/libGLESv2/entry_points_gles_2_0_ext.cpp b/src/3rdparty/angle/src/libGLESv2/entry_points_gles_2_0_ext.cpp
+index d4459ec28..d1416041e 100644
+--- a/src/3rdparty/angle/src/libGLESv2/entry_points_gles_2_0_ext.cpp
++++ b/src/3rdparty/angle/src/libGLESv2/entry_points_gles_2_0_ext.cpp
+@@ -3505,7 +3505,7 @@ ANGLE_EXPORT void GL_APIENTRY GetQueryObjectui64vRobustANGLE(GLuint id,
+ }
+ }
+
+-GL_APICALL void GL_APIENTRY FramebufferTextureMultiviewLayeredANGLE(GLenum target,
++ANGLE_EXPORT void GL_APIENTRY FramebufferTextureMultiviewLayeredANGLE(GLenum target,
+ GLenum attachment,
+ GLuint texture,
+ GLint level,
+@@ -3530,7 +3530,7 @@ GL_APICALL void GL_APIENTRY FramebufferTextureMultiviewLayeredANGLE(GLenum targe
+ }
+ }
+
+-GL_APICALL void GL_APIENTRY FramebufferTextureMultiviewSideBySideANGLE(GLenum target,
++ANGLE_EXPORT void GL_APIENTRY FramebufferTextureMultiviewSideBySideANGLE(GLenum target,
+ GLenum attachment,
+ GLuint texture,
+ GLint level,
diff --git a/ports/qt5-base/patches/windows_prf.patch b/ports/qt5-base/patches/windows_prf.patch
new file mode 100644
index 000000000..6051daae8
--- /dev/null
+++ b/ports/qt5-base/patches/windows_prf.patch
@@ -0,0 +1,13 @@
+diff --git a/mkspecs/features/win32/windows.prf b/mkspecs/features/win32/windows.prf
+index 272170d4..70b8ea2e 100644
+--- a/mkspecs/features/win32/windows.prf
++++ b/mkspecs/features/win32/windows.prf
+@@ -6,7 +6,7 @@ contains(TEMPLATE, ".*app") {
+
+ qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) {
+ isEqual(entryLib, -lqtmain) {
+- lib = $$QT.core.libs/$${QMAKE_PREFIX_STATICLIB}qtmain$$QT_LIBINFIX$$qtPlatformTargetSuffix().$$QMAKE_EXTENSION_STATICLIB
++ lib = $$QT.core.libs/manual-link/$${QMAKE_PREFIX_STATICLIB}qtmain$$QT_LIBINFIX$$qtPlatformTargetSuffix().$$QMAKE_EXTENSION_STATICLIB
+ PRE_TARGETDEPS += $$lib
+ QMAKE_LIBS += $$lib
+ } else {
diff --git a/ports/qt5-base/patches/winmain_pro.patch b/ports/qt5-base/patches/winmain_pro.patch
new file mode 100644
index 000000000..66460ccd6
--- /dev/null
+++ b/ports/qt5-base/patches/winmain_pro.patch
@@ -0,0 +1,27 @@
+diff --git a/src/winmain/winmain.pro b/src/winmain/winmain.pro
+index 9cb6ab0c..52c7876e 100644
+--- a/src/winmain/winmain.pro
++++ b/src/winmain/winmain.pro
+@@ -3,7 +3,7 @@
+
+ TEMPLATE = lib
+ TARGET = qtmain
+-DESTDIR = $$QT.core.libs
++DESTDIR = $$QT.core.libs/manual-link
+
+ CONFIG += static
+ QT = core
+@@ -27,7 +27,12 @@ winrt {
+ }
+
+ load(qt_installs)
+-
++!qt_no_install_library {
++ host_build: \
++ target.path = $$[QT_HOST_LIBS]/manual-link
++ else: \
++ target.path = $$[QT_INSTALL_LIBS]/manual-link
++}
+ TARGET = $$qtLibraryTarget($$TARGET$$QT_LIBINFIX) #do this towards the end
+
+ load(qt_targets)
diff --git a/ports/qt5-base/portfile.cmake b/ports/qt5-base/portfile.cmake
index c53d30e5b..b734f3e12 100644
--- a/ports/qt5-base/portfile.cmake
+++ b/ports/qt5-base/portfile.cmake
@@ -1,258 +1,271 @@
-include(vcpkg_common_functions)
-
-string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH)
-if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32)
- message(WARNING "${PORT}'s buildsystem uses very long paths and may fail on your system.\n"
- "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command."
- )
-endif()
+vcpkg_buildpath_length_warning(37)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
+list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake)
+
+include(qt_port_functions)
include(configure_qt)
include(install_qt)
-set(MAJOR_MINOR 5.12)
-set(FULL_VERSION ${MAJOR_MINOR}.3)
-set(ARCHIVE_NAME "qtbase-everywhere-src-${FULL_VERSION}.tar.xz")
+#########################
+## Find Host and Target mkspec name for configure
+include(find_qt_mkspec)
+find_qt_mkspec(TARGET_MKSPEC HOST_MKSPEC HOST_TOOLS)
+set(QT_PLATFORM_CONFIGURE_OPTIONS TARGET_PLATFORM ${TARGET_MKSPEC})
+if(DEFINED HOST_MKSPEC)
+ list(APPEND QT_PLATFORM_CONFIGURE_OPTIONS HOST_PLATFORM ${HOST_MKSPEC})
+endif()
+if(DEFINED HOST_TOOLS)
+ list(APPEND QT_PLATFORM_CONFIGURE_OPTIONS HOST_TOOLS_ROOT ${HOST_TOOLS})
+endif()
-vcpkg_download_distfile(ARCHIVE_FILE
- URLS "http://download.qt.io/official_releases/qt/${MAJOR_MINOR}/${FULL_VERSION}/submodules/${ARCHIVE_NAME}"
- FILENAME ${ARCHIVE_NAME}
- SHA512 1dab927573eb22b1ae772de3a418f7d3999ea78d6e667a7f2494390dd1f0981ea93f4f892cb6e124ac18812c780ee71da3021b485c61eaf1ef2234a5c12b7fe2
-)
-vcpkg_extract_source_archive_ex(
- OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE "${ARCHIVE_FILE}"
- REF ${FULL_VERSION}
-)
+#########################
+## Downloading Qt5-Base
+
+qt_download_submodule( OUT_SOURCE_PATH SOURCE_PATH
+ PATCHES
+ patches/winmain_pro.patch #Moves qtmain to manual-link
+ patches/windows_prf.patch #fixes the qtmain dependency due to the above move
+ patches/qt_app.patch #Moves the target location of qt5 host apps to always install into the host dir.
+ patches/gui_configure.patch #Patches the gui configure.json to break freetype autodetection because it does not include its dependencies.
+ #patches/static_opengl.patch #Use this patch if you really want to statically link angle on windows (e.g. using -opengl es2 and -static).
+ #Be carefull since it requires definining _GDI32_ for all dependent projects due to redefinition errors in the
+ #the windows supplied gl.h header and the angle gl.h otherwise.
+ )
# Remove vendored dependencies to ensure they are not picked up by the build
-foreach(DEPENDENCY freetype zlib harfbuzzng libjpeg libpng double-conversion sqlite)
+foreach(DEPENDENCY freetype zlib harfbuzz-ng libjpeg libpng double-conversion sqlite pcre2)
if(EXISTS ${SOURCE_PATH}/src/3rdparty/${DEPENDENCY})
file(REMOVE_RECURSE ${SOURCE_PATH}/src/3rdparty/${DEPENDENCY})
endif()
endforeach()
-
file(REMOVE_RECURSE ${SOURCE_PATH}/include/QtZlib)
+#########################
+## Setup Configure options
+
# This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings
set(ENV{_CL_} "/utf-8")
set(CORE_OPTIONS
-confirm-license
-opensource
+ #-no-fontconfig
+ #-simulator_and_device
+ #-ltcg
+ #-combined-angle-lib
+ # ENV ANGLE_DIR to external angle source dir. (Will always be compiled with Qt)
+ #-optimized-tools
+ #-force-debug-info
+ #-verbose
+)
+
+## 3rd Party Libs
+list(APPEND CORE_OPTIONS
-system-zlib
-system-libjpeg
-system-libpng
- -system-freetype
+ -system-freetype # static builds require to also link its dependent bzip!
-system-pcre
-system-doubleconversion
-system-sqlite
- -system-harfbuzz
- -no-fontconfig
- -nomake examples
- -nomake tests
-)
+ -system-harfbuzz)
-if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
- list(APPEND CORE_OPTIONS
- -static
- )
-endif()
+find_library(ZLIB_RELEASE NAMES z zlib PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
+find_library(ZLIB_DEBUG NAMES z zlib zd zlibd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
+find_library(JPEG_RELEASE NAMES jpeg jpeg-static PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
+find_library(JPEG_DEBUG NAMES jpeg jpeg-static jpegd jpeg-staticd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
+find_library(LIBPNG_RELEASE NAMES png16 libpng16 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) #Depends on zlib
+find_library(LIBPNG_DEBUG NAMES png16 png16d libpng16 libpng16d PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
+find_library(PSQL_RELEASE NAMES pq libpq PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) # Depends on openssl and zlib(linux)
+find_library(PSQL_DEBUG NAMES pq libpq pqd libpqd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
+find_library(PCRE2_RELEASE NAMES pcre2-16 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
+find_library(PCRE2_DEBUG NAMES pcre2-16 pcre2-16d PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
+find_library(FREETYPE_RELEASE NAMES freetype PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) #zlib, bzip2, libpng
+find_library(FREETYPE_DEBUG NAMES freetype freetyped PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
+find_library(DOUBLECONVERSION_RELEASE NAMES double-conversion PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
+find_library(DOUBLECONVERSION_DEBUG NAMES double-conversion PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
+find_library(HARFBUZZ_RELEASE NAMES harfbuzz PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
+find_library(HARFBUZZ_DEBUG NAMES harfbuzz PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
+find_library(SQLITE_RELEASE NAMES sqlite3 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) # Depends on openssl and zlib(linux)
+find_library(SQLITE_DEBUG NAMES sqlite3 sqlite3d PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
+#Dependent libraries
+find_library(BZ2_RELEASE bz2 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
+find_library(BZ2_DEBUG bz2 bz2d PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
+find_library(SSL_RELEASE ssl ssleay32 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
+find_library(SSL_DEBUG ssl ssleay32 ssld ssleay32d PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
+find_library(EAY_RELEASE libeay32 crypto libcrypto PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH)
+find_library(EAY_DEBUG libeay32 crypto libcrypto libeay32d cryptod libcryptod PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH)
-if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- set(PLATFORM "win32-msvc")
+set(RELEASE_OPTIONS
+ "LIBJPEG_LIBS=${JPEG_RELEASE}"
+ "ZLIB_LIBS=${ZLIB_RELEASE}"
+ "LIBPNG_LIBS=${LIBPNG_RELEASE} ${ZLIB_RELEASE}"
+ "PCRE2_LIBS=${PCRE2_RELEASE}"
+ "FREETYPE_LIBS=${FREETYPE_RELEASE} ${BZ2_RELEASE} ${LIBPNG_RELEASE} ${ZLIB_RELEASE}"
+ "QMAKE_LIBS_PRIVATE+=${BZ2_RELEASE}"
+ "QMAKE_LIBS_PRIVATE+=${LIBPNG_RELEASE}"
+ )
+set(DEBUG_OPTIONS
+ "LIBJPEG_LIBS=${JPEG_DEBUG}"
+ "ZLIB_LIBS=${ZLIB_DEBUG}"
+ "LIBPNG_LIBS=${LIBPNG_DEBUG} ${ZLIB_DEBUG}"
+ "PCRE2_LIBS=${PCRE2_DEBUG}"
+ "FREETYPE_LIBS=${FREETYPE_DEBUG} ${BZ2_DEBUG} ${LIBPNG_DEBUG} ${ZLIB_DEBUG}"
+ "QMAKE_LIBS_PRIVATE+=${BZ2_DEBUG}"
+ "QMAKE_LIBS_PRIVATE+=${LIBPNG_DEBUG}"
+ )
- configure_qt(
- SOURCE_PATH ${SOURCE_PATH}
- PLATFORM ${PLATFORM}
- OPTIONS
- ${CORE_OPTIONS}
- -mp
- -opengl dynamic # other options are "-no-opengl", "-opengl angle", and "-opengl desktop"
- OPTIONS_RELEASE
- LIBJPEG_LIBS="-ljpeg"
- ZLIB_LIBS="-lzlib"
- LIBPNG_LIBS="-llibpng16"
- PSQL_LIBS="-llibpq"
- PCRE2_LIBS="-lpcre2-16"
- FREETYPE_LIBS="-lfreetype"
- OPTIONS_DEBUG
- LIBJPEG_LIBS="-ljpegd"
- ZLIB_LIBS="-lzlibd"
- LIBPNG_LIBS="-llibpng16d"
- PSQL_LIBS="-llibpqd"
- PCRE2_LIBS="-lpcre2-16d"
- FREETYPE_LIBS="-lfreetyped"
- )
-elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
+if(VCPKG_TARGET_IS_WINDOWS)
+ if(VCPKG_TARGET_IS_UWP)
+ list(APPEND CORE_OPTIONS -appstore-compliant)
+ endif()
+ if(NOT ${VCPKG_LIBRARY_LINKAGE} STREQUAL "static")
+ list(APPEND CORE_OPTIONS -opengl dynamic) # other options are "-no-opengl", "-opengl angle", and "-opengl desktop" and "-opengel es2"
+ else()
+ list(APPEND CORE_OPTIONS -opengl dynamic) # other possible option without moving angle dlls: "-opengl desktop". "-opengel es2" only works with commented patch
+ endif()
+ list(APPEND RELEASE_OPTIONS
+ "PSQL_LIBS=${PSQL_RELEASE} ${SSL_RELEASE} ${EAY_RELEASE} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib"
+ "SQLITE_LIBS=${SQLITE_RELEASE}"
+ "HARFBUZZ_LIBS=${HARFBUZZ_RELEASE}"
+ )
+
+ list(APPEND DEBUG_OPTIONS
+ "PSQL_LIBS=${PSQL_DEBUG} ${SSL_DEBUG} ${EAY_DEBUG} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib"
+ "SQLITE_LIBS=${SQLITE_DEBUG}"
+ "HARFBUZZ_LIBS=${HARFBUZZ_DEBUG}"
+ )
+elseif(VCPKG_TARGET_IS_LINUX)
if (NOT EXISTS "/usr/include/GL/glu.h")
- message(FATAL_ERROR "qt5 requires libgl1-mesa-dev and libglu1-mesa-dev, please use your distribution's package manager to install them.\nExample: \"apt-get install libgl1-mesa-dev\" and \"apt-get install libglu1-mesa-dev\"")
+ message(FATAL_ERROR "qt5 requires libgl1-mesa-dev and libglu1-mesa-dev, please use your distribution's package manager to install them.\nExample: \"apt-get install libgl1-mesa-dev libglu1-mesa-dev\"")
endif()
+ list(APPEND RELEASE_OPTIONS
+ "PSQL_LIBS=${PSQL_RELEASE} ${SSL_RELEASE} ${EAY_RELEASE} -ldl -lpthread"
+ "SQLITE_LIBS=${SQLITE_RELEASE} -ldl -lpthread"
+ "HARFBUZZ_LIBS=${HARFBUZZ_RELEASE}"
+ )
+ list(APPEND DEBUG_OPTIONS
+ "PSQL_LIBS=${PSQL_DEBUG} ${SSL_DEBUG} ${EAY_DEBUG} -ldl -lpthread"
+ "SQLITE_LIBS=${SQLITE_DEBUG} -ldl -lpthread"
+ "HARFBUZZ_LIBS=${HARFBUZZ_DEBUG}"
+ )
+elseif(VCPKG_TARGET_IS_OSX)
+ if(DEFINED VCPKG_OSX_DEPLOYMENT_TARGET)
+ set(ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET} ${VCPKG_OSX_DEPLOYMENT_TARGET})
+ else()
+ execute_process(COMMAND xcrun --show-sdk-version
+ OUTPUT_FILE OSX_SDK_VER.txt
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR})
+ FILE(STRINGS "${CURRENT_BUILDTREES_DIR}/OSX_SDK_VER.txt" VCPKG_OSX_DEPLOYMENT_TARGET REGEX "^[0-9][0-9]\.[0-9][0-9]*")
+ message(STATUS "Detected OSX SDK Version: ${VCPKG_OSX_DEPLOYMENT_TARGET}")
+ string(REGEX MATCH "^[0-9][0-9]\.[0-9][0-9]*" VCPKG_OSX_DEPLOYMENT_TARGET ${VCPKG_OSX_DEPLOYMENT_TARGET})
+ message(STATUS "Major.Minor OSX SDK Version: ${VCPKG_OSX_DEPLOYMENT_TARGET}")
+ set(ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET} ${VCPKG_OSX_DEPLOYMENT_TARGET})
+ if(${VCPKG_OSX_DEPLOYMENT_TARGET} GREATER "10.15") # Max Version supported by QT. This version is defined in mkspecs/common/macx.conf as QT_MAC_SDK_VERSION_MAX
+ message(STATUS "Qt ${QT_MAJOR_MINOR_VER}.${QT_PATCH_VER} only support OSX_DEPLOYMENT_TARGET up to 10.15")
+ set(VCPKG_OSX_DEPLOYMENT_TARGET "10.15")
+ endif()
+ set(ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET} ${VCPKG_OSX_DEPLOYMENT_TARGET})
+ message(STATUS "Enviromnent OSX SDK Version: $ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET}")
+ FILE(READ "${SOURCE_PATH}/mkspecs/common/macx.conf" _tmp_contents)
+ string(REPLACE "QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.12" "QMAKE_MACOSX_DEPLOYMENT_TARGET = ${VCPKG_OSX_DEPLOYMENT_TARGET}" _tmp_contents ${_tmp_contents})
+ FILE(WRITE "${SOURCE_PATH}/mkspecs/common/macx.conf" ${_tmp_contents})
+ endif()
+ #list(APPEND QT_PLATFORM_CONFIGURE_OPTIONS HOST_PLATFORM ${TARGET_MKSPEC})
+ list(APPEND RELEASE_OPTIONS
+ "PSQL_LIBS=${PSQL_RELEASE} ${SSL_RELEASE} ${EAY_RELEASE} -ldl -lpthread"
+ "SQLITE_LIBS=${SQLITE_RELEASE} -ldl -lpthread"
+ "HARFBUZZ_LIBS=${HARFBUZZ_RELEASE} -framework ApplicationServices"
+ )
+ list(APPEND DEBUG_OPTIONS
+ "PSQL_LIBS=${PSQL_DEBUG} ${SSL_DEBUG} ${EAY_DEBUG} -ldl -lpthread"
+ "SQLITE_LIBS=${SQLITE_DEBUG} -ldl -lpthread"
+ "HARFBUZZ_LIBS=${HARFBUZZ_DEBUG} -framework ApplicationServices"
+ )
+endif()
+## Do not build tests or examples
+list(APPEND CORE_OPTIONS
+ -nomake examples
+ -nomake tests)
+
+if(QT_UPDATE_VERSION)
+ SET(VCPKG_POLICY_EMPTY_PACKAGE enabled)
+else()
configure_qt(
SOURCE_PATH ${SOURCE_PATH}
- PLATFORM "linux-g++"
- OPTIONS
- ${CORE_OPTIONS}
- OPTIONS_RELEASE
- "LIBJPEG_LIBS=${CURRENT_INSTALLED_DIR}/lib/libjpeg.a"
- "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/lib/libpng16.a"
- "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/lib/libz.a"
- "ZLIB_LIBS=${CURRENT_INSTALLED_DIR}/lib/libz.a"
- "LIBPNG_LIBS=${CURRENT_INSTALLED_DIR}/lib/libpng16.a"
- "FREETYPE_LIBS=${CURRENT_INSTALLED_DIR}/lib/libfreetype.a"
- "PSQL_LIBS=${CURRENT_INSTALLED_DIR}/lib/libpq.a ${CURRENT_INSTALLED_DIR}/lib/libssl.a ${CURRENT_INSTALLED_DIR}/lib/libcrypto.a -ldl -lpthread"
- "SQLITE_LIBS=${CURRENT_INSTALLED_DIR}/lib/libsqlite3.a -ldl -lpthread"
- OPTIONS_DEBUG
- "LIBJPEG_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libjpeg.a"
- "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.a"
- "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/debug/lib/libz.a"
- "ZLIB_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libz.a"
- "LIBPNG_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.a"
- "FREETYPE_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libfreetyped.a"
- "PSQL_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libpqd.a ${CURRENT_INSTALLED_DIR}/debug/lib/libssl.a ${CURRENT_INSTALLED_DIR}/debug/lib/libcrypto.a -ldl -lpthread"
- "SQLITE_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libsqlite3.a -ldl -lpthread"
- )
+ ${QT_PLATFORM_CONFIGURE_OPTIONS}
+ OPTIONS ${CORE_OPTIONS}
+ OPTIONS_RELEASE ${RELEASE_OPTIONS}
+ OPTIONS_DEBUG ${DEBUG_OPTIONS}
+ )
-elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
-configure_qt(
- SOURCE_PATH ${SOURCE_PATH}
- PLATFORM "macx-clang"
- OPTIONS
- ${CORE_OPTIONS}
- OPTIONS_RELEASE
- "LIBJPEG_LIBS=${CURRENT_INSTALLED_DIR}/lib/libjpeg.a"
- "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/lib/libpng16.a"
- "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/lib/libz.a"
- "ZLIB_LIBS=${CURRENT_INSTALLED_DIR}/lib/libz.a"
- "LIBPNG_LIBS=${CURRENT_INSTALLED_DIR}/lib/libpng16.a"
- "FREETYPE_LIBS=${CURRENT_INSTALLED_DIR}/lib/libfreetype.a"
- "PSQL_LIBS=${CURRENT_INSTALLED_DIR}/lib/libpq.a ${CURRENT_INSTALLED_DIR}/lib/libssl.a ${CURRENT_INSTALLED_DIR}/lib/libcrypto.a -ldl -lpthread"
- "SQLITE_LIBS=${CURRENT_INSTALLED_DIR}/lib/libsqlite3.a -ldl -lpthread"
- "HARFBUZZ_LIBS=${CURRENT_INSTALLED_DIR}/lib/libharfbuzz.a -framework ApplicationServices"
- OPTIONS_DEBUG
- "LIBJPEG_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libjpeg.a"
- "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.a"
- "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/debug/lib/libz.a"
- "ZLIB_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libz.a"
- "LIBPNG_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.a"
- "FREETYPE_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libfreetyped.a"
- "PSQL_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libpqd.a ${CURRENT_INSTALLED_DIR}/debug/lib/libssl.a ${CURRENT_INSTALLED_DIR}/debug/lib/libcrypto.a -ldl -lpthread"
- "SQLITE_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libsqlite3.a -ldl -lpthread"
- "HARFBUZZ_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libharfbuzz.a -framework ApplicationServices"
-)
-endif()
-
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
- install_qt(DISABLE_PARALLEL) # prevent race condition on Mac
-else()
install_qt()
-endif()
-
-file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake)
-
-if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- file(GLOB BINARY_TOOLS "${CURRENT_PACKAGES_DIR}/bin/*")
- list(FILTER BINARY_TOOLS EXCLUDE REGEX "\\.dll\$")
- file(INSTALL ${BINARY_TOOLS}
- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
- DESTINATION ${CURRENT_PACKAGES_DIR}/tools/qt5)
- file(REMOVE ${BINARY_TOOLS})
-
- file(COPY ${CMAKE_CURRENT_LIST_DIR}/qt_release.conf DESTINATION ${CURRENT_PACKAGES_DIR}/tools/qt5)
-endif()
-if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- file(GLOB BINARY_TOOLS "${CURRENT_PACKAGES_DIR}/debug/bin/*")
- list(FILTER BINARY_TOOLS EXCLUDE REGEX "\\.dll\$")
- file(REMOVE ${BINARY_TOOLS})
- if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
- file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
- endif()
-
- file(COPY ${CMAKE_CURRENT_LIST_DIR}/qt_debug.conf DESTINATION ${CURRENT_PACKAGES_DIR}/tools/qt5)
-endif()
-vcpkg_execute_required_process(
- COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py
- WORKING_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/cmake
- LOGNAME fix-cmake
-)
+ #########################
+ #TODO: Make this a function since it is also done by modular scripts!
+ # e.g. by patching mkspecs/features/qt_tools.prf somehow
+ file(GLOB_RECURSE PRL_FILES "${CURRENT_PACKAGES_DIR}/lib/*.prl" "${CURRENT_PACKAGES_DIR}/tools/qt5/lib/*.prl" "${CURRENT_PACKAGES_DIR}/tools/qt5/mkspecs/*.pri"
+ "${CURRENT_PACKAGES_DIR}/debug/lib/*.prl" "${CURRENT_PACKAGES_DIR}/tools/qt5/debug/lib/*.prl" "${CURRENT_PACKAGES_DIR}/tools/qt5/debug/mkspecs/*.pri")
-vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})
-vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/qt5)
+ file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}/include" CMAKE_INCLUDE_PATH)
-if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/qtmain.lib)
- #---------------------------------------------------------------------------
- # 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:
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link)
- endif()
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
- endif()
- #
- # Either have users explicitly link against qtmain.lib, qtmaind.lib:
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- 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)
- endif()
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- 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)
+ qt_fix_prl("${CURRENT_INSTALLED_DIR}" "${PRL_FILES}")
+ file(COPY ${CMAKE_CURRENT_LIST_DIR}/qtdeploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/plugins)
endif()
- #---------------------------------------------------------------------------
- # Qt5Bootstrap: only used to bootstrap qmake dependencies
- #---------------------------------------------------------------------------
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/Qt5Bootstrap.lib)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/Qt5Bootstrap.prl)
- endif()
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- file(RENAME ${CURRENT_PACKAGES_DIR}/lib/Qt5Bootstrap.lib ${CURRENT_PACKAGES_DIR}/tools/qt5/Qt5Bootstrap.lib)
- file(RENAME ${CURRENT_PACKAGES_DIR}/lib/Qt5Bootstrap.prl ${CURRENT_PACKAGES_DIR}/tools/qt5/Qt5Bootstrap.prl)
+ qt_fix_prl("${CURRENT_INSTALLED_DIR}/debug" "${PRL_FILES}")
+ file(COPY ${CMAKE_CURRENT_LIST_DIR}/qtdeploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/debug/plugins)
endif()
- #---------------------------------------------------------------------------
-endif()
-file(GLOB_RECURSE PRL_FILES "${CURRENT_PACKAGES_DIR}/lib/*.prl" "${CURRENT_PACKAGES_DIR}/debug/lib/*.prl")
-if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}/lib" CMAKE_RELEASE_LIB_PATH)
-endif()
-if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib" CMAKE_DEBUG_LIB_PATH)
-endif()
-foreach(PRL_FILE IN LISTS PRL_FILES)
- file(READ "${PRL_FILE}" _contents)
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- string(REPLACE "${CMAKE_RELEASE_LIB_PATH}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}")
- endif()
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- string(REPLACE "${CMAKE_DEBUG_LIB_PATH}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}")
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) # TODO: check if important debug information for cmake is lost
+
+ #This needs a new VCPKG policy.
+ if(VCPKG_TARGET_IS_WINDOWS AND ${VCPKG_LIBRARY_LINKAGE} MATCHES "static") # Move angle dll libraries
+ message(STATUS "Moving ANGLE dlls from /bin to /tools/qt5-angle/bin. In static builds dlls are not allowed in /bin")
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/qt5-angle)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/tools/qt5-angle/bin)
+ if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/qt5-angle/debug)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/tools/qt5-angle/debug/bin)
+ endif()
endif()
- file(WRITE "${PRL_FILE}" "${_contents}")
-endforeach()
-if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- file(COPY ${CMAKE_CURRENT_LIST_DIR}/qtdeploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/plugins)
-endif()
-if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- file(COPY ${CMAKE_CURRENT_LIST_DIR}/qtdeploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/debug/plugins)
-endif()
+ #TODO: Replace python script with cmake script
+ vcpkg_execute_required_process(
+ COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py
+ WORKING_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/cmake
+ LOGNAME fix-cmake
+ )
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5core)
+ file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5core)
-file(INSTALL ${SOURCE_PATH}/LICENSE.LGPLv3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
-#
+ if(EXISTS ${CURRENT_PACKAGES_DIR}/tools/qt5/bin)
+ file(COPY ${CURRENT_PACKAGES_DIR}/tools/qt5/bin DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
+ vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin)
+ vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/qt5/bin)
+ endif()
+
+ qt_install_copyright(${SOURCE_PATH})
+endif()
+#install scripts for other qt ports
+file(COPY
+ ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py
+ ${CMAKE_CURRENT_LIST_DIR}/cmake/qt_port_hashes.cmake
+ ${CMAKE_CURRENT_LIST_DIR}/cmake/qt_port_functions.cmake
+ ${CMAKE_CURRENT_LIST_DIR}/cmake/qt_fix_makefile_install.cmake
+ ${CMAKE_CURRENT_LIST_DIR}/cmake/qt_fix_cmake.cmake
+ ${CMAKE_CURRENT_LIST_DIR}/cmake/qt_fix_prl.cmake
+ ${CMAKE_CURRENT_LIST_DIR}/cmake/qt_download_submodule.cmake
+ ${CMAKE_CURRENT_LIST_DIR}/cmake/qt_build_submodule.cmake
+ ${CMAKE_CURRENT_LIST_DIR}/cmake/qt_install_copyright.cmake
+ ${CMAKE_CURRENT_LIST_DIR}/cmake/qt_submodule_installation.cmake
+ DESTINATION
+ ${CURRENT_PACKAGES_DIR}/share/qt5
+)
diff --git a/ports/qt5-base/qt_debug.conf b/ports/qt5-base/qt_debug.conf
deleted file mode 100644
index d0b178661..000000000
--- a/ports/qt5-base/qt_debug.conf
+++ /dev/null
@@ -1,13 +0,0 @@
-[Paths]
-Prefix = ${CURRENT_INSTALLED_DIR}
-Documentation = share/qt5/doc
-Headers = include
-Libraries = debug/lib
-Binaries = debug/tools/qt5
-LibraryExecutables = debug/tools/qt5
-Plugins = debug/plugins
-Qml2Imports = debug/qml
-Data = share/qt5/debug
-ArchData = share/qt5/debug
-HostData = share/qt5/debug
-HostBinaries = tools/qt5 \ No newline at end of file
diff --git a/ports/qt5-base/qt_release.conf b/ports/qt5-base/qt_release.conf
deleted file mode 100644
index a04aef525..000000000
--- a/ports/qt5-base/qt_release.conf
+++ /dev/null
@@ -1,13 +0,0 @@
-[Paths]
-Prefix = ${CURRENT_INSTALLED_DIR}
-Documentation = share/qt5/doc
-Headers = include
-Libraries = lib
-Binaries = tools/qt5
-LibraryExecutables = tools/qt5
-Plugins = plugins
-Qml2Imports = qml
-Data = share/qt5
-ArchData = share/qt5
-HostData = share/qt5
-HostBinaries = tools/qt5 \ No newline at end of file
diff --git a/ports/qt5-base/vcpkg-cmake-wrapper.cmake b/ports/qt5-base/vcpkg-cmake-wrapper.cmake
index 8e00aaca7..81a434ffd 100644
--- a/ports/qt5-base/vcpkg-cmake-wrapper.cmake
+++ b/ports/qt5-base/vcpkg-cmake-wrapper.cmake
@@ -23,11 +23,12 @@ if("${_target_type}" STREQUAL "STATIC_LIBRARY")
set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_LINK_LIBRARIES
ZLIB::ZLIB JPEG::JPEG PNG::PNG Freetype::Freetype sqlite3 harfbuzz::harfbuzz
- ${PostgreSQL_LIBRARY} double-conversion::double-conversion OpenSSL::SSL OpenSSL::Crypto
+ double-conversion::double-conversion OpenSSL::SSL OpenSSL::Crypto
)
add_qt_library(Qt5::Core
pcre2-16
+ libpq
Qt5ThemeSupport
Qt5EventDispatcherSupport
Qt5PlatformCompositorSupport
diff --git a/ports/qt5-charts/CONTROL b/ports/qt5-charts/CONTROL
index 849ee2af6..ea9a185c9 100644
--- a/ports/qt5-charts/CONTROL
+++ b/ports/qt5-charts/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-charts
-Version: 5.12.3-1
-Description: Qt5 Charts Module - UI components for displaying charts, driven by static or dynamic data models
-Build-Depends: qt5-modularscripts, qt5-base
+Source: qt5-charts
+Version: 5.12.5
+Description: Qt5 Charts Module - UI components for displaying charts, driven by static or dynamic data models
+Build-Depends: qt5-base
diff --git a/ports/qt5-charts/portfile.cmake b/ports/qt5-charts/portfile.cmake
index 0d7b7f170..214726759 100644
--- a/ports/qt5-charts/portfile.cmake
+++ b/ports/qt5-charts/portfile.cmake
@@ -1,5 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtcharts f5940589c7a2dc5fcd3484397613f13ab41311c8ffb70a3484e64dc5bad24e18c94c9ebbe6716c1ec7c81b7863113ebfdb593f2d194608b2e3fb0b0b5c9c9102)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-connectivity/CONTROL b/ports/qt5-connectivity/CONTROL
index bd169d40d..c04a6d64f 100644
--- a/ports/qt5-connectivity/CONTROL
+++ b/ports/qt5-connectivity/CONTROL
@@ -1,4 +1,4 @@
Source: qt5-connectivity
-Version: 5.12.3-1
+Version: 5.12.5
Description: Qt5 Connectivity module - Provides access to Bluetooth and NFC hardware
-Build-Depends: qt5-modularscripts, qt5-base
+Build-Depends: qt5-base
diff --git a/ports/qt5-connectivity/portfile.cmake b/ports/qt5-connectivity/portfile.cmake
index 5cc8777e5..2cd1cf479 100644
--- a/ports/qt5-connectivity/portfile.cmake
+++ b/ports/qt5-connectivity/portfile.cmake
@@ -1,5 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtconnectivity 4da406d88c3cf216d53c524d3896f50b19dae124baec904233dbb67163a30a955dee29148b5f5b71c35cb28638912423bb1cf4d38c62aeefa7353bd29e97a269)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-datavis3d/CONTROL b/ports/qt5-datavis3d/CONTROL
index 0957b7d2c..6612392a4 100644
--- a/ports/qt5-datavis3d/CONTROL
+++ b/ports/qt5-datavis3d/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-datavis3d
-Version: 5.12.3-1
-Description: Qt5 Data Visualization 3d Module - UI Components for creating 3D data visualizations
-Build-Depends: qt5-modularscripts, qt5-base
+Source: qt5-datavis3d
+Version: 5.12.5
+Description: Qt5 Data Visualization 3d Module - UI Components for creating 3D data visualizations
+Build-Depends: qt5-base
diff --git a/ports/qt5-datavis3d/portfile.cmake b/ports/qt5-datavis3d/portfile.cmake
index cc9df8c4a..214726759 100644
--- a/ports/qt5-datavis3d/portfile.cmake
+++ b/ports/qt5-datavis3d/portfile.cmake
@@ -1,5 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtdatavis3d cb295deb9aa33132294d7d7f4daaa53dd9ab4815e2d3a2c916d88e1882e018a49d8d66db9088f69375d8da759a3f3566f251802aaba82d74cad2eb45d9bbbcff)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-declarative/CONTROL b/ports/qt5-declarative/CONTROL
index 9b9c79e62..373d704aa 100644
--- a/ports/qt5-declarative/CONTROL
+++ b/ports/qt5-declarative/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-declarative
-Version: 5.12.3-2
-Description: Qt5 Declarative (Quick 2) Module. Includes QtQuick, QtQuickParticles, QtQuickWidgets, QtQml, and QtPacketProtocol.
-Build-Depends: qt5-modularscripts, qt5-base
+Source: qt5-declarative
+Version: 5.12.5
+Description: Qt5 Declarative (Quick 2) Module. Includes QtQuick, QtQuickParticles, QtQuickWidgets, QtQml, and QtPacketProtocol.
+Build-Depends: qt5-base
diff --git a/ports/qt5-declarative/portfile.cmake b/ports/qt5-declarative/portfile.cmake
index 4c1a11b24..2cd1cf479 100644
--- a/ports/qt5-declarative/portfile.cmake
+++ b/ports/qt5-declarative/portfile.cmake
@@ -1,25 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtdeclarative 0caddcfee36cbf52bacd3a400d304511255715e2b5a58c1621ca8120610427c57511785457a9e7fa55975b86e7924a3cffddeb7e2e8e6622af85b7ebac35dd20)
-
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools/qt5-declarative/plugins/platforminputcontexts)
-
-if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- set(qt5decpath ${CURRENT_PACKAGES_DIR}/share/qt5/debug/mkspecs/modules/qt_lib_qmldevtools_private.pri)
- file(READ "${qt5decpath}" _contents)
- string(REPLACE [[QT.qmldevtools_private.libs = $$QT_MODULE_HOST_LIB_BASE]] [[QT.qmldevtools_private.libs = $$QT_MODULE_LIB_BASE]] _contents "${_contents}")
- file(WRITE "${qt5decpath}" "${_contents}")
-endif()
-
-# Copy qt5-declarative tools
-# This is a temporary workaround and hope to fix and remove it after the version update.
-if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
- if (EXISTS ${CURRENT_PACKAGES_DIR}/tools/qt5-declarative/)
- file(RENAME ${CURRENT_PACKAGES_DIR}/tools/qt5-declarative/ ${CURRENT_PACKAGES_DIR}/tools/qt5/)
- endif()
- if (EXISTS ${CURRENT_PACKAGES_DIR}/lib/libQt5QmlDevTools.a)
- file(COPY ${CURRENT_PACKAGES_DIR}/lib/libQt5QmlDevTools.a DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/)
- endif()
-endif() \ No newline at end of file
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-gamepad/CONTROL b/ports/qt5-gamepad/CONTROL
index 105e2f5dd..f8ad036f6 100644
--- a/ports/qt5-gamepad/CONTROL
+++ b/ports/qt5-gamepad/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-gamepad
-Version: 5.12.3-1
-Description: Qt5 Gamepad Module - Enables Qt applications to support the use of gamepad hardware
-Build-Depends: qt5-modularscripts, qt5-base
+Source: qt5-gamepad
+Version: 5.12.5
+Description: Qt5 Gamepad Module - Enables Qt applications to support the use of gamepad hardware
+Build-Depends: qt5-base
diff --git a/ports/qt5-gamepad/portfile.cmake b/ports/qt5-gamepad/portfile.cmake
index 71bc35517..214726759 100644
--- a/ports/qt5-gamepad/portfile.cmake
+++ b/ports/qt5-gamepad/portfile.cmake
@@ -1,5 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtgamepad fd4902b11021eb6b28b5d6e31e9857ddaace6de05106c665fa429223033e28f187ede5deaec6a7e27588c5db4fb1cc250a936f2ee2cadb24f1df31ddfc4b3123)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-graphicaleffects/CONTROL b/ports/qt5-graphicaleffects/CONTROL
index 80730b0fe..12cfc4775 100644
--- a/ports/qt5-graphicaleffects/CONTROL
+++ b/ports/qt5-graphicaleffects/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-graphicaleffects
-Version: 5.12.3-1
-Description: Qt5 GraphicalEffects Module.
-Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative
+Source: qt5-graphicaleffects
+Version: 5.12.5
+Description: Qt5 GraphicalEffects Module.
+Build-Depends: qt5-base, qt5-declarative
diff --git a/ports/qt5-graphicaleffects/portfile.cmake b/ports/qt5-graphicaleffects/portfile.cmake
index c639e4668..d473c5625 100644
--- a/ports/qt5-graphicaleffects/portfile.cmake
+++ b/ports/qt5-graphicaleffects/portfile.cmake
@@ -1,7 +1,3 @@
-SET(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
-
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtgraphicaleffects 3c5e6d7dc51a92d48cce8424ab1fe60ee75b71ebe2e6bb22e719a35bdaf2210b03f90ac066569f5c086ed67ed1463510625307328299310fad7c587e9fd8b385)
+set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-imageformats/CONTROL b/ports/qt5-imageformats/CONTROL
index 40df95dbe..687eb563f 100644
--- a/ports/qt5-imageformats/CONTROL
+++ b/ports/qt5-imageformats/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-imageformats
-Version: 5.12.3-1
-Description: Qt5 Image Formats Module - Plugins for additional image formats: TIFF, MNG, TGA, WBMP
-Build-Depends: qt5-modularscripts, qt5-base
+Source: qt5-imageformats
+Version: 5.12.5
+Description: Qt5 Image Formats Module - Plugins for additional image formats: TIFF, MNG, TGA, WBMP
+Build-Depends: qt5-base
diff --git a/ports/qt5-imageformats/portfile.cmake b/ports/qt5-imageformats/portfile.cmake
index 1d66c9a23..d473c5625 100644
--- a/ports/qt5-imageformats/portfile.cmake
+++ b/ports/qt5-imageformats/portfile.cmake
@@ -1,7 +1,3 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtimageformats 59cc9df597e6ac31b10ff7440b0793af13ee84a1b363db631a7aeea7413e650a99a42e8c3f4633926ec93d4ac4c2532674ea27df325ba98132bea83c81d6e6cc)
-
-set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
+set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-location/CONTROL b/ports/qt5-location/CONTROL
index a6f469fc8..f6ab4c22d 100644
--- a/ports/qt5-location/CONTROL
+++ b/ports/qt5-location/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-location
-Version: 5.12.3-1
-Description: Qt5 Location Module - Displays map, navigation, and place content in a QML application.
-Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative
+Source: qt5-location
+Version: 5.12.5
+Description: Qt5 Location Module - Displays map, navigation, and place content in a QML application.
+Build-Depends: qt5-base, qt5-declarative
diff --git a/ports/qt5-location/portfile.cmake b/ports/qt5-location/portfile.cmake
index 55e7b23ce..214726759 100644
--- a/ports/qt5-location/portfile.cmake
+++ b/ports/qt5-location/portfile.cmake
@@ -1,5 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtlocation 91b21e5bc78b960f15c60ae02827cd35292ab1a5dd5a47488d25ce6758177f0ce15545aef3ff9bd1456c6fd84f65cb74d385b726239e2f0be66de0f6fb9a7082)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-macextras/CONTROL b/ports/qt5-macextras/CONTROL
index 7489191f3..21b0ad5fa 100644
--- a/ports/qt5-macextras/CONTROL
+++ b/ports/qt5-macextras/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-macextras
-Version: 5.12.3-1
-Description: Qt5 Mac Extras Module. Provides platform-specific APIs for mac.
-Build-Depends: qt5-modularscripts, qt5-base
+Source: qt5-macextras
+Version: 5.12.5
+Description: Qt5 Mac Extras Module. Provides platform-specific APIs for mac.
+Build-Depends: qt5-base
diff --git a/ports/qt5-macextras/portfile.cmake b/ports/qt5-macextras/portfile.cmake
index 676f0b23e..9af7a2aac 100644
--- a/ports/qt5-macextras/portfile.cmake
+++ b/ports/qt5-macextras/portfile.cmake
@@ -1,9 +1,5 @@
-include(vcpkg_common_functions)
-
if (NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
message(FATAL_ERROR "qt5-macextras only support OSX.")
endif()
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtmacextras 56887c2a2d20c41a133af87aec8975e17c6335ffc51093f23a904e02a78f59a8117c7932827ca5dd33f538360e6fd9cfc9d0091c6f4c1e0b96528b5324c74033)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-modularscripts/CONTROL b/ports/qt5-modularscripts/CONTROL
index a3751b61b..cff6939e6 100644
--- a/ports/qt5-modularscripts/CONTROL
+++ b/ports/qt5-modularscripts/CONTROL
@@ -1,3 +1,3 @@
Source: qt5-modularscripts
-Version: 2019-04-30-1
-Description: Vcpkg helpers to package qt5 modules
+Version: deprecated
+Description: now part of qt5-base, formerly vcpkg helpers to package qt5 modules \ No newline at end of file
diff --git a/ports/qt5-modularscripts/fixcmake.py b/ports/qt5-modularscripts/fixcmake.py
deleted file mode 100644
index 83a40ec6c..000000000
--- a/ports/qt5-modularscripts/fixcmake.py
+++ /dev/null
@@ -1,66 +0,0 @@
-import os
-import re
-import sys
-from glob import glob
-
-port="qt5"
-if len(sys.argv) > 1:
- port=sys.argv[1]
-
-files = [y for x in os.walk('.') for y in glob(os.path.join(x[0], '*.cmake'))]
-tooldir="/tools/"+port+"/"
-
-for f in files:
- openedfile = open(f, "r")
- builder = ""
- dllpattern = re.compile("_install_prefix}/bin/Qt5.*d.dll")
- libpattern = re.compile("_install_prefix}/lib/Qt5.*d.lib")
- exepattern = re.compile("_install_prefix}/bin/[a-z]+.exe")
- toolexepattern = re.compile("_install_prefix}/tools/qt5/[a-z]+.exe")
- tooldllpattern = re.compile("_install_prefix}/tools/qt5/Qt5.*d.dll")
- for line in openedfile:
- if "_install_prefix}/tools/qt5/${LIB_LOCATION}" in line:
- builder += " if (${Configuration} STREQUAL \"RELEASE\")"
- builder += "\n " + line.replace("/tools/qt5/", "/bin/")
- builder += " else()"
- builder += "\n " + line.replace("/tools/qt5/", "/debug/bin/")
- builder += " endif()\n"
- elif "_install_prefix}/bin/${LIB_LOCATION}" in line:
- builder += " if (${Configuration} STREQUAL \"RELEASE\")"
- builder += "\n " + line
- builder += " else()"
- builder += "\n " + line.replace("/bin/", "/debug/bin/")
- builder += " endif()\n"
- elif "_install_prefix}/lib/${LIB_LOCATION}" in line:
- builder += " if (${Configuration} STREQUAL \"RELEASE\")"
- builder += "\n " + line
- builder += " else()"
- builder += "\n " + line.replace("/lib/", "/debug/lib/")
- builder += " endif()\n"
- elif "_install_prefix}/lib/${IMPLIB_LOCATION}" in line:
- builder += " if (${Configuration} STREQUAL \"RELEASE\")"
- builder += "\n " + line
- builder += " else()"
- builder += "\n " + line.replace("/lib/", "/debug/lib/")
- builder += " endif()\n"
- elif "_install_prefix}/plugins/${PLUGIN_LOCATION}" in line:
- builder += " if (${Configuration} STREQUAL \"RELEASE\")"
- builder += "\n " + line
- builder += " else()"
- builder += "\n " + line.replace("/plugins/", "/debug/plugins/")
- builder += " endif()\n"
- elif dllpattern.search(line) != None:
- builder += line.replace("/bin/", "/debug/bin/")
- elif libpattern.search(line) != None:
- builder += line.replace("/lib/", "/debug/lib/")
- elif tooldllpattern.search(line) != None:
- builder += line.replace("/tools/qt5/", "/debug/bin/")
- elif exepattern.search(line) != None:
- builder += line.replace("/bin/", tooldir)
- elif toolexepattern.search(line) != None:
- builder += line.replace("/tools/qt5/",tooldir)
- else:
- builder += line
- new_file = open(f, "w")
- new_file.write(builder)
- new_file.close()
diff --git a/ports/qt5-modularscripts/portfile.cmake b/ports/qt5-modularscripts/portfile.cmake
index e7149adfc..0015715fb 100644
--- a/ports/qt5-modularscripts/portfile.cmake
+++ b/ports/qt5-modularscripts/portfile.cmake
@@ -1,9 +1 @@
-file(COPY
- ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py
- ${CMAKE_CURRENT_LIST_DIR}/qt_modular_library.cmake
- DESTINATION
- ${CURRENT_PACKAGES_DIR}/share/qt5modularscripts
-)
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/qt5modularscripts/copyright "")
-
-set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
+set(VCPKG_POLICY_EMPTY_PACKAGE enabled) \ No newline at end of file
diff --git a/ports/qt5-modularscripts/qt_modular_library.cmake b/ports/qt5-modularscripts/qt_modular_library.cmake
deleted file mode 100644
index e58d0bf91..000000000
--- a/ports/qt5-modularscripts/qt_modular_library.cmake
+++ /dev/null
@@ -1,166 +0,0 @@
-set(_qt5base_port_dir "${CMAKE_CURRENT_LIST_DIR}")
-
-function(qt_modular_fetch_library NAME HASH TARGET_SOURCE_PATH)
- string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH)
- if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32)
- message(WARNING "${PORT}'s buildsystem uses very long paths and may fail on your system.\n"
- "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command."
- )
- endif()
-
- set(MAJOR_MINOR 5.12)
- set(FULL_VERSION ${MAJOR_MINOR}.3)
- set(ARCHIVE_NAME "${NAME}-everywhere-src-${FULL_VERSION}.tar.xz")
-
- vcpkg_download_distfile(ARCHIVE_FILE
- URLS "http://download.qt.io/official_releases/qt/${MAJOR_MINOR}/${FULL_VERSION}/submodules/${ARCHIVE_NAME}"
- FILENAME ${ARCHIVE_NAME}
- SHA512 ${HASH}
- )
- vcpkg_extract_source_archive_ex(
- OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE "${ARCHIVE_FILE}"
- REF ${FULL_VERSION}
- )
-
- set(${TARGET_SOURCE_PATH} ${SOURCE_PATH} PARENT_SCOPE)
-endfunction()
-
-function(qt_modular_build_library SOURCE_PATH)
- # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings
- set(ENV{_CL_} "/utf-8")
-
- #Store build paths
- set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
- set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
-
- #Find Python and add it to the path
- vcpkg_find_acquire_program(PYTHON2)
- get_filename_component(PYTHON2_EXE_PATH ${PYTHON2} DIRECTORY)
- vcpkg_add_to_path("${PYTHON2_EXE_PATH}")
-
- file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR)
- file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR)
-
- if(WIN32)
- string(SUBSTRING "${NATIVE_INSTALLED_DIR}" 2 -1 INSTALLED_DIR_WITHOUT_DRIVE)
- string(SUBSTRING "${NATIVE_PACKAGES_DIR}" 2 -1 PACKAGES_DIR_WITHOUT_DRIVE)
- else()
- set(INSTALLED_DIR_WITHOUT_DRIVE ${NATIVE_INSTALLED_DIR})
- set(PACKAGES_DIR_WITHOUT_DRIVE ${NATIVE_PACKAGES_DIR})
- endif()
-
- #Configure debug+release
- vcpkg_configure_qmake(SOURCE_PATH ${SOURCE_PATH})
- #Build debug+release
- if (CMAKE_HOST_WIN32)
- vcpkg_build_qmake()
- else()
- vcpkg_build_qmake(SKIP_MAKEFILES)
- endif()
-
- #Fix the cmake files if they exist
- if(EXISTS ${RELEASE_DIR}/lib/cmake)
- vcpkg_execute_required_process(
- COMMAND ${PYTHON2} ${_qt5base_port_dir}/fixcmake.py ${PORT}
- WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake
- LOGNAME fix-cmake
- )
- endif()
-
- file(GLOB_RECURSE MAKEFILES ${DEBUG_DIR}/*Makefile* ${RELEASE_DIR}/*Makefile*)
-
- foreach(MAKEFILE ${MAKEFILES})
- file(READ "${MAKEFILE}" _contents)
- #Set the correct install directory to packages
- string(REPLACE "(INSTALL_ROOT)${INSTALLED_DIR_WITHOUT_DRIVE}" "(INSTALL_ROOT)${PACKAGES_DIR_WITHOUT_DRIVE}" _contents "${_contents}")
- file(WRITE "${MAKEFILE}" "${_contents}")
- endforeach()
-
- #Install the module files
- vcpkg_build_qmake(TARGETS install SKIP_MAKEFILES BUILD_LOGNAME install)
-
- #Install cmake files
- if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake)
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share)
- file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake)
- endif()
- #Remove extra cmake files
- if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/cmake)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake)
- endif()
-
- file(GLOB_RECURSE PRL_FILES "${CURRENT_PACKAGES_DIR}/lib/*.prl" "${CURRENT_PACKAGES_DIR}/debug/lib/*.prl")
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}/lib" CMAKE_RELEASE_LIB_PATH)
- endif()
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib" CMAKE_DEBUG_LIB_PATH)
- endif()
- foreach(PRL_FILE IN LISTS PRL_FILES)
- file(READ "${PRL_FILE}" _contents)
- string(REPLACE "${CMAKE_RELEASE_LIB_PATH}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}")
- string(REPLACE "${CMAKE_DEBUG_LIB_PATH}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}")
- file(WRITE "${PRL_FILE}" "${_contents}")
- endforeach()
-
- file(GLOB RELEASE_LIBS "${CURRENT_PACKAGES_DIR}/lib/*")
- if(NOT RELEASE_LIBS)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib)
- endif()
- file(GLOB DEBUG_FILES "${CURRENT_PACKAGES_DIR}/debug/lib/*")
- if(NOT DEBUG_FILES)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib)
- endif()
-
- #Move release and debug dlls to the correct directory
- if(EXISTS ${CURRENT_PACKAGES_DIR}/tools/qt5)
- file(RENAME ${CURRENT_PACKAGES_DIR}/tools/qt5 ${CURRENT_PACKAGES_DIR}/tools/${PORT})
- endif()
- if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5)
- file(RENAME ${CURRENT_PACKAGES_DIR}/debug/tools/qt5 ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT})
- endif()
-
- file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/tools/${PORT}/*.dll)
- file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/*.dll)
- if (RELEASE_DLLS)
- file(INSTALL ${RELEASE_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
- file(REMOVE ${RELEASE_DLLS})
- #Check if there are any binaries left over; if not - delete the directory
- file(GLOB RELEASE_BINS ${CURRENT_PACKAGES_DIR}/tools/${PORT}/*)
- if(NOT RELEASE_BINS)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools)
- endif()
- endif()
- if(DEBUG_DLLS)
- file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools)
- endif()
-
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/qt5/debug/include)
- endif()
-
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})
- endif()
-
- #Find the relevant license file and install it
- if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3")
- set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3")
- elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3")
- set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3")
- elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3")
- set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3")
- elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3")
- set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3")
- elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3-EXCEPT")
- set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3-EXCEPT")
- endif()
- file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
-endfunction()
-
-function(qt_modular_library NAME HASH)
- qt_modular_fetch_library(${NAME} ${HASH} TARGET_SOURCE_PATH)
- qt_modular_build_library(${TARGET_SOURCE_PATH})
-endfunction()
diff --git a/ports/qt5-mqtt/CONTROL b/ports/qt5-mqtt/CONTROL
index 0e424dad9..1c7cc8740 100644
--- a/ports/qt5-mqtt/CONTROL
+++ b/ports/qt5-mqtt/CONTROL
@@ -1,4 +1,4 @@
Source: qt5-mqtt
-Version: 5.12.3-1
+Version: 5.12.5
Description: Qt5 MQTT module.
-Build-Depends: qt5-modularscripts, qt5-base
+Build-Depends: qt5-base
diff --git a/ports/qt5-mqtt/portfile.cmake b/ports/qt5-mqtt/portfile.cmake
index 7ccdf913f..069860e21 100644
--- a/ports/qt5-mqtt/portfile.cmake
+++ b/ports/qt5-mqtt/portfile.cmake
@@ -1,21 +1,20 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+#qt_submodule_installation() No binary package for this port.
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO qt/qtmqtt
- REF cf41d84738f0ed0c779f75db94d413ad938fb901
- SHA512 e9a818999e4befb0b945d609a1ee28a3e2d7e3b6d8c12ab82ae827fdb8f6bf5e8b82114c1850438d634fa24c9ac608ebae1d461385bd4e088f8cabf7eec0182c
- HEAD_REF dev
+ REF v${QT_MAJOR_MINOR_VER}.${QT_PATCH_VER}
+ SHA512 ${QT_HASH_${PORT}}
)
-# Qt module builds from a git repository require a .git entry to invoke syncqt
+# qt module builds from a git repository require a .git entry to invoke syncqt
file(WRITE "${SOURCE_PATH}/.git" "repocontent")
-# syncqt is a PERL script
+# syncqt is a perl script
vcpkg_find_acquire_program(PERL)
-get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY)
-vcpkg_add_to_path("${PERL_EXE_PATH}")
+get_filename_component(perl_exe_path ${PERL} DIRECTORY)
+vcpkg_add_to_path("${perl_exe_path}")
-qt_modular_build_library(${SOURCE_PATH})
+qt_build_submodule(${SOURCE_PATH})
+qt_install_copyright(${SOURCE_PATH})
diff --git a/ports/qt5-multimedia/CONTROL b/ports/qt5-multimedia/CONTROL
index 9e41198a6..e6ef57693 100644
--- a/ports/qt5-multimedia/CONTROL
+++ b/ports/qt5-multimedia/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-multimedia
-Version: 5.12.3-1
-Description: Qt5 Multimedia Module - Classes and widgets for audio, video, radio and camera functionality
-Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative
+Source: qt5-multimedia
+Version: 5.12.5
+Description: Qt5 Multimedia Module - Classes and widgets for audio, video, radio and camera functionality
+Build-Depends: qt5-base, qt5-declarative
diff --git a/ports/qt5-multimedia/portfile.cmake b/ports/qt5-multimedia/portfile.cmake
index d6292a1ba..214726759 100644
--- a/ports/qt5-multimedia/portfile.cmake
+++ b/ports/qt5-multimedia/portfile.cmake
@@ -1,5 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtmultimedia 4f10e40aaf73dda2d70502e6a1441149c2b4389e9c7de72245c850d926c3ecb57ca6b09c63d208eff4b9ec63b7f9845eb2740cd0df4e4b7eee8f51746a6d3963)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-networkauth/CONTROL b/ports/qt5-networkauth/CONTROL
index 34f5d82a2..9115290bf 100644
--- a/ports/qt5-networkauth/CONTROL
+++ b/ports/qt5-networkauth/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-networkauth
-Version: 5.12.3-1
-Description: Qt5 Network Authorization Module
-Build-Depends: qt5-modularscripts, qt5-base
+Source: qt5-networkauth
+Version: 5.12.5
+Description: Qt5 Network Authorization Module
+Build-Depends: qt5-base
diff --git a/ports/qt5-networkauth/portfile.cmake b/ports/qt5-networkauth/portfile.cmake
index ef4e63989..214726759 100644
--- a/ports/qt5-networkauth/portfile.cmake
+++ b/ports/qt5-networkauth/portfile.cmake
@@ -1,5 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtnetworkauth 07bf159360fe126c23387c6ed5b955218771ac37848ddb83542733c786b415f9aa5c22fd4a965fff591869d2d819bba420b69718e487df3cce382f411f493142)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-purchasing/CONTROL b/ports/qt5-purchasing/CONTROL
index bd8596571..394afefa9 100644
--- a/ports/qt5-purchasing/CONTROL
+++ b/ports/qt5-purchasing/CONTROL
@@ -1,4 +1,4 @@
Source: qt5-purchasing
-Version: 5.12.3-1
+Version: 5.12.5
Description: Qt5 Purchasing Module - Enables in-app purchase of products in Qt applications.
-Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative
+Build-Depends: qt5-base, qt5-declarative
diff --git a/ports/qt5-purchasing/portfile.cmake b/ports/qt5-purchasing/portfile.cmake
index c172817df..2cd1cf479 100644
--- a/ports/qt5-purchasing/portfile.cmake
+++ b/ports/qt5-purchasing/portfile.cmake
@@ -1,5 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtpurchasing 3069ece2083d0661a3599c631cf0832a80e01262b5858ffd407bc0d80e35711f2f973b2c085b6dd5539f3ec26004c684df99d477e58ab62da63d705a8a5616c9)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-quickcontrols/CONTROL b/ports/qt5-quickcontrols/CONTROL
index b7360350d..c31f1da48 100644
--- a/ports/qt5-quickcontrols/CONTROL
+++ b/ports/qt5-quickcontrols/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-quickcontrols
-Version: 5.12.3-1
-Description: Qt5 QuickControls Module.
-Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative
+Source: qt5-quickcontrols
+Version: 5.12.5
+Description: Qt5 QuickControls Module.
+Build-Depends: qt5-base, qt5-declarative
diff --git a/ports/qt5-quickcontrols/portfile.cmake b/ports/qt5-quickcontrols/portfile.cmake
index bb4aa8a66..d473c5625 100644
--- a/ports/qt5-quickcontrols/portfile.cmake
+++ b/ports/qt5-quickcontrols/portfile.cmake
@@ -1,7 +1,3 @@
-SET(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
-
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtquickcontrols 23410fb82088591a8bed7e8e4127d13929a03adc0dfd18f7e2f906acdac21f7dcbb15cb2257272b893d937bbb54860992667c11aa0c6157d4a3b871616c4641c)
+set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-quickcontrols2/CONTROL b/ports/qt5-quickcontrols2/CONTROL
index 88358dd16..2b3d0d322 100644
--- a/ports/qt5-quickcontrols2/CONTROL
+++ b/ports/qt5-quickcontrols2/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-quickcontrols2
-Version: 5.12.3-1
-Description: Qt5 QuickControls2 Module.
-Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative
+Source: qt5-quickcontrols2
+Version: 5.12.5
+Description: Qt5 QuickControls2 Module.
+Build-Depends: qt5-base, qt5-declarative
diff --git a/ports/qt5-quickcontrols2/portfile.cmake b/ports/qt5-quickcontrols2/portfile.cmake
index 6b65b022f..214726759 100644
--- a/ports/qt5-quickcontrols2/portfile.cmake
+++ b/ports/qt5-quickcontrols2/portfile.cmake
@@ -1,5 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtquickcontrols2 afc1ae9a5a046845b085d5cf0019b79d99914a2d285676bd4d8966f1302513078c8279b71134281c03b2c1209295bca438b9e255774574520498b0b5385bad27)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-remoteobjects/CONTROL b/ports/qt5-remoteobjects/CONTROL
index ffe6095a5..687b4e682 100644
--- a/ports/qt5-remoteobjects/CONTROL
+++ b/ports/qt5-remoteobjects/CONTROL
@@ -1,4 +1,4 @@
Source: qt5-remoteobjects
-Version: 5.12.3-1
+Version: 5.12.5
Description: Qt5 Remoteobjects module - Provides an easy to use mechanism for sharing a QObject's API (Properties/Signals/Slots) between processes or devices.
-Build-Depends: qt5-modularscripts, qt5-base
+Build-Depends: qt5-base
diff --git a/ports/qt5-remoteobjects/portfile.cmake b/ports/qt5-remoteobjects/portfile.cmake
index 8d2d45a6e..2cd1cf479 100644
--- a/ports/qt5-remoteobjects/portfile.cmake
+++ b/ports/qt5-remoteobjects/portfile.cmake
@@ -1,5 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtremoteobjects f01b9497dab7e5db24f090d227fca5703a50b5065ad6c0798b78e83b41c374a04eb2857ffaf0225071791c9bb6b8703e37e47d31bf905fa819395b4d69819178)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-script/CONTROL b/ports/qt5-script/CONTROL
index 4fe0bb028..1115d8766 100755
--- a/ports/qt5-script/CONTROL
+++ b/ports/qt5-script/CONTROL
@@ -1,4 +1,4 @@
Source: qt5-script
-Version: 5.12.3-1
-Build-Depends: qt5-base, qt5-modularscripts
+Version: 5.12.5
+Build-Depends: qt5-base
Description:Qt5 Script Module.
diff --git a/ports/qt5-script/portfile.cmake b/ports/qt5-script/portfile.cmake
index 0d2a8418d..2cd1cf479 100755
--- a/ports/qt5-script/portfile.cmake
+++ b/ports/qt5-script/portfile.cmake
@@ -1,5 +1,2 @@
-
-include(vcpkg_common_functions)
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtscript 4c4498acb39536bdc03643fb1717c7a47c82b1734cf67d17d40bc216084f01e837648d261f7f69e317387f9c6efa9aaa6b0df8f5532f55615252c95b1089ca1a)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-scxml/CONTROL b/ports/qt5-scxml/CONTROL
index accc5100a..c2f22a15b 100644
--- a/ports/qt5-scxml/CONTROL
+++ b/ports/qt5-scxml/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-scxml
-Version: 5.12.3-1
-Description: Qt5 SCXML Module - Provides classes and tools for creating state machines from SCXML files and embedding them in applications
-Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative
+Source: qt5-scxml
+Version: 5.12.5
+Description: Qt5 SCXML Module - Provides classes and tools for creating state machines from SCXML files and embedding them in applications
+Build-Depends: qt5-base, qt5-declarative
diff --git a/ports/qt5-scxml/portfile.cmake b/ports/qt5-scxml/portfile.cmake
index 860e25246..214726759 100644
--- a/ports/qt5-scxml/portfile.cmake
+++ b/ports/qt5-scxml/portfile.cmake
@@ -1,5 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtscxml d515506d90ace5eedfe8bf3439dad0853dbbdbd36dfb509dfa13e3358838353de66d5f6245afe4eeebd19dd3f0ab0ce5e4c3e6fe5d40e5ab46763c453a562a49)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-sensors/CONTROL b/ports/qt5-sensors/CONTROL
index a69df5531..c0252b87d 100644
--- a/ports/qt5-sensors/CONTROL
+++ b/ports/qt5-sensors/CONTROL
@@ -1,4 +1,4 @@
Source: qt5-sensors
-Version: 5.12.3-1
+Version: 5.12.5
Description: Qt5 Sensors module - Provides access to sensor hardware and motion gesture recognition.
-Build-Depends: qt5-modularscripts, qt5-base
+Build-Depends: qt5-base
diff --git a/ports/qt5-sensors/portfile.cmake b/ports/qt5-sensors/portfile.cmake
index 3af798117..2cd1cf479 100644
--- a/ports/qt5-sensors/portfile.cmake
+++ b/ports/qt5-sensors/portfile.cmake
@@ -1,5 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtsensors cf0c8c58bbb84debd6b464bd9b91af7e79a301031613b8a2d0715fa276573dafea0a1c8e472fa2a2d4debd9b26f86a5e6efa9a8d57f7ab9102b1314d609579e5)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-serialport/CONTROL b/ports/qt5-serialport/CONTROL
index e9613f235..732f6a7da 100644
--- a/ports/qt5-serialport/CONTROL
+++ b/ports/qt5-serialport/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-serialport
-Version: 5.12.3-1
-Description: Qt5 Serial Port - provides access to hardware and virtual serial ports
-Build-Depends: qt5-modularscripts, qt5-base
+Source: qt5-serialport
+Version: 5.12.5
+Description: Qt5 Serial Port - provides access to hardware and virtual serial ports
+Build-Depends: qt5-base
diff --git a/ports/qt5-serialport/portfile.cmake b/ports/qt5-serialport/portfile.cmake
index 0c2a0f116..214726759 100644
--- a/ports/qt5-serialport/portfile.cmake
+++ b/ports/qt5-serialport/portfile.cmake
@@ -1,5 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtserialport 42551b74abe1fcaa1972fb1134215987d7c1d0fe73874a4c6ad5b9aadad71a2066a1846c297569bb1562f94e54a406e8074d444deca510a566e27cd386b47ecf)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-speech/CONTROL b/ports/qt5-speech/CONTROL
index ee1606cbd..4b0d87939 100644
--- a/ports/qt5-speech/CONTROL
+++ b/ports/qt5-speech/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-speech
-Version: 5.12.3-1
-Description: Qt5 Speech Module
-Build-Depends: qt5-modularscripts, qt5-base, atlmfc (windows)
+Source: qt5-speech
+Version: 5.12.5
+Description: Qt5 Speech Module
+Build-Depends: qt5-base, atlmfc (windows)
diff --git a/ports/qt5-speech/portfile.cmake b/ports/qt5-speech/portfile.cmake
index f4402508d..214726759 100644
--- a/ports/qt5-speech/portfile.cmake
+++ b/ports/qt5-speech/portfile.cmake
@@ -1,5 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtspeech 9623a83cdfbed07dffcd8f0808c2a514c97fda72b68827d917f1a8ee3072286ef8bce06b114db94d7a0c3fc79425c2540fa5cadc6551367fd4431e5396395932)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-svg/CONTROL b/ports/qt5-svg/CONTROL
index 8f7f95737..cbc01727a 100644
--- a/ports/qt5-svg/CONTROL
+++ b/ports/qt5-svg/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-svg
-Version: 5.12.3-1
-Description: Qt5 SVG Module - provides classes for displaying the contents of SVG files
-Build-Depends: qt5-modularscripts, qt5-base
+Source: qt5-svg
+Version: 5.12.5
+Description: Qt5 SVG Module - provides classes for displaying the contents of SVG files
+Build-Depends: qt5-base
diff --git a/ports/qt5-svg/portfile.cmake b/ports/qt5-svg/portfile.cmake
index a8379b131..214726759 100644
--- a/ports/qt5-svg/portfile.cmake
+++ b/ports/qt5-svg/portfile.cmake
@@ -1,5 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtsvg 23517dbdc30d7128fcbeb12a301eeeb300424bb17bc0d156d5e9298c092d3d3afd2cba45768f2512e58977ee2408450f50c385e03a47ccaf3ff6bc7e4fddf61a)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-tools/CONTROL b/ports/qt5-tools/CONTROL
index c64f3536c..100c5e5b6 100644
--- a/ports/qt5-tools/CONTROL
+++ b/ports/qt5-tools/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-tools
-Version: 5.12.3-1
-Description: Qt5 Tools Module; Includes deployment tools and helpers, Qt Designer, Assistant, and other applications
-Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative
+Source: qt5-tools
+Version: 5.12.5
+Description: Qt5 Tools Module; Includes deployment tools and helpers, Qt Designer, Assistant, and other applications
+Build-Depends: qt5-base, qt5-declarative
diff --git a/ports/qt5-tools/portfile.cmake b/ports/qt5-tools/portfile.cmake
index a563767da..214726759 100644
--- a/ports/qt5-tools/portfile.cmake
+++ b/ports/qt5-tools/portfile.cmake
@@ -1,7 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qttools d37c0e11a26a21aa60f29f3b17ddc9895385d848692956e4481e49003cbe9c227daf8fda1c40a2ab70ac8e7e56d3771c1b2964524589eb77ac1f2362c269162e)
-
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools/qt5-tools/plugins/platforminputcontexts) \ No newline at end of file
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-virtualkeyboard/CONTROL b/ports/qt5-virtualkeyboard/CONTROL
index de343f928..ccda8edec 100644
--- a/ports/qt5-virtualkeyboard/CONTROL
+++ b/ports/qt5-virtualkeyboard/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-virtualkeyboard
-Version: 5.12.3-1
-Description: Qt5 Virtual Keyboard Module - A framework for implementing different input methods. Supports localized keyboard layouts and custom visual themes
-Build-Depends: qt5-modularscripts, qt5-base
+Source: qt5-virtualkeyboard
+Version: 5.12.5
+Description: Qt5 Virtual Keyboard Module - A framework for implementing different input methods. Supports localized keyboard layouts and custom visual themes
+Build-Depends: qt5-svg, qt5-quickcontrols
diff --git a/ports/qt5-virtualkeyboard/portfile.cmake b/ports/qt5-virtualkeyboard/portfile.cmake
index 4d8310f7a..214726759 100644
--- a/ports/qt5-virtualkeyboard/portfile.cmake
+++ b/ports/qt5-virtualkeyboard/portfile.cmake
@@ -1,7 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtvirtualkeyboard 1aa00fec7e333e4fd52891b82c239b532cf41657d9c3f44c6cc1c211a1412dbf5584823511e54f3feb33b3fed9c6e0171b55afde2df9f0a358e2e4885e1b2686)
-
-set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-webchannel/CONTROL b/ports/qt5-webchannel/CONTROL
index 93b47e0e0..6d94af9fa 100644
--- a/ports/qt5-webchannel/CONTROL
+++ b/ports/qt5-webchannel/CONTROL
@@ -1,4 +1,4 @@
Source: qt5-webchannel
-Version: 5.12.3-1
+Version: 5.12.5
Description: Qt5 Web Channel module - Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients.
-Build-Depends: qt5-modularscripts, qt5-base
+Build-Depends: qt5-base
diff --git a/ports/qt5-webchannel/portfile.cmake b/ports/qt5-webchannel/portfile.cmake
index a453326c5..2cd1cf479 100644
--- a/ports/qt5-webchannel/portfile.cmake
+++ b/ports/qt5-webchannel/portfile.cmake
@@ -1,5 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtwebchannel 2dda4351f5f3a5895a955d0ee77e55f758233672005a068d3e840a01d379727f99287fc6c8fb96516f23a5a8c4ebcb61098690fd3351e79be608e28657534006)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-websockets/CONTROL b/ports/qt5-websockets/CONTROL
index 4fbf6c19a..ae7b3c7a6 100644
--- a/ports/qt5-websockets/CONTROL
+++ b/ports/qt5-websockets/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-websockets
-Version: 5.12.3-1
-Description: Qt5 Web Sockets Module - provides WebSocket communication compliant with RFC 6455
-Build-Depends: qt5-modularscripts, qt5-base
+Source: qt5-websockets
+Version: 5.12.5
+Description: Qt5 Web Sockets Module - provides WebSocket communication compliant with RFC 6455
+Build-Depends: qt5-base
diff --git a/ports/qt5-websockets/portfile.cmake b/ports/qt5-websockets/portfile.cmake
index 88cc1fd9a..214726759 100644
--- a/ports/qt5-websockets/portfile.cmake
+++ b/ports/qt5-websockets/portfile.cmake
@@ -1,5 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtwebsockets 212a98d987b4fd16216ac9a1c98e061be6a5bd2e2c4ec8be80424d6f23afeace790fe666abe8a11e2116dc20f17a41ad0c817fceacdfa5f766b93068ac614817)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-webview/CONTROL b/ports/qt5-webview/CONTROL
index b82afd8ef..f23a6b259 100644
--- a/ports/qt5-webview/CONTROL
+++ b/ports/qt5-webview/CONTROL
@@ -1,4 +1,4 @@
Source: qt5-webview
-Version: 5.12.3-1
+Version: 5.12.5
Description: Qt5 WebView module - Provides a way to display web content in a QML application without necessarily including a full web browser stack by using native APIs where it makes sense.
-Build-Depends: qt5-base, qt5-modularscripts, qt5-declarative
+Build-Depends: qt5-base, qt5-declarative
diff --git a/ports/qt5-webview/portfile.cmake b/ports/qt5-webview/portfile.cmake
index 813c5601b..2cd1cf479 100644
--- a/ports/qt5-webview/portfile.cmake
+++ b/ports/qt5-webview/portfile.cmake
@@ -1,5 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtwebview 426227b9b4cb61c0e88958dbaab21e842a25989098a0e94a06fe3efc8a2b9d4a5d3216296c8228da977ef52cd5844b66048bcb84019da4f06de1b1009dfdffa5)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-winextras/CONTROL b/ports/qt5-winextras/CONTROL
index cbb4a71c6..1b497e389 100644
--- a/ports/qt5-winextras/CONTROL
+++ b/ports/qt5-winextras/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-winextras
-Version: 5.12.3-1
-Description: Qt5 Windows Extras Module. Provides platform-specific APIs for Windows.
-Build-Depends: qt5-modularscripts, qt5-base, atlmfc (windows)
+Source: qt5-winextras
+Version: 5.12.5
+Description: Qt5 Windows Extras Module. Provides platform-specific APIs for Windows.
+Build-Depends: qt5-base, atlmfc (windows)
diff --git a/ports/qt5-winextras/portfile.cmake b/ports/qt5-winextras/portfile.cmake
index 90adb16c0..54153bed7 100644
--- a/ports/qt5-winextras/portfile.cmake
+++ b/ports/qt5-winextras/portfile.cmake
@@ -1,9 +1,5 @@
-include(vcpkg_common_functions)
-
if (NOT VCPKG_TARGET_IS_WINDOWS)
message(FATAL_ERROR "qt5-winextras only support Windows.")
endif()
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtwinextras e50cb237359ce7a3bde6989ec4349fe67be3b4999092516e891bba12f0fb4acb9954de8e2f0171db0e849b7d3ef94bd80f77f81162afb239e49c6e2e0760343b)
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5-xmlpatterns/CONTROL b/ports/qt5-xmlpatterns/CONTROL
index a2e394f3d..323f8acc3 100644
--- a/ports/qt5-xmlpatterns/CONTROL
+++ b/ports/qt5-xmlpatterns/CONTROL
@@ -1,4 +1,4 @@
-Source: qt5-xmlpatterns
-Version: 5.12.3-1
-Description: Qt5 XML Patterns Module - Support for XPath, XQuery, XSLT and XML schema validation
-Build-Depends: qt5-modularscripts, qt5-base
+Source: qt5-xmlpatterns
+Version: 5.12.5
+Description: Qt5 XML Patterns Module - Support for XPath, XQuery, XSLT and XML schema validation
+Build-Depends: qt5-base
diff --git a/ports/qt5-xmlpatterns/portfile.cmake b/ports/qt5-xmlpatterns/portfile.cmake
index c92a6057b..214726759 100644
--- a/ports/qt5-xmlpatterns/portfile.cmake
+++ b/ports/qt5-xmlpatterns/portfile.cmake
@@ -1,5 +1,2 @@
-include(vcpkg_common_functions)
-
-include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake)
-
-qt_modular_library(qtxmlpatterns 4e421f0c78ca74f726f758bd95b33915297922f3b5a4fff84dde2600969f54f3914828fdb7903c7171e192f81966680b6c6bb4750de0be72728124470e7c798d) \ No newline at end of file
+include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
+qt_submodule_installation() \ No newline at end of file
diff --git a/ports/qt5/CONTROL b/ports/qt5/CONTROL
index 03fcaa8b0..f9a93f25b 100644
--- a/ports/qt5/CONTROL
+++ b/ports/qt5/CONTROL
@@ -1,5 +1,6 @@
Source: qt5
-Version: 5.12.3-1
+Version: 5.12.5
Homepage: https://www.qt.io/
Description: Qt5 Application Framework
Build-Depends: qt5-3d, qt5-activeqt (windows), qt5-base, qt5-charts, qt5-datavis3d, qt5-declarative, qt5-gamepad, qt5-graphicaleffects, qt5-imageformats, qt5-location, qt5-multimedia, qt5-mqtt, qt5-networkauth, qt5-purchasing, qt5-quickcontrols, qt5-quickcontrols2, qt5-script, qt5-scxml, qt5-sensors, qt5-serialport, qt5-speech, qt5-svg, qt5-tools, qt5-virtualkeyboard, qt5-webchannel, qt5-websockets, qt5-winextras (windows), qt5-macextras (osx), qt5-xmlpatterns
+
diff --git a/ports/quantlib/CONTROL b/ports/quantlib/CONTROL
new file mode 100644
index 000000000..50c006335
--- /dev/null
+++ b/ports/quantlib/CONTROL
@@ -0,0 +1,5 @@
+Source: quantlib
+Version: 2019-09-02
+Description: The QuantLib C++ library
+Homepage: https://www.quantlib.org/
+Build-Depends: boost-accumulators, boost-algorithm, boost-any, boost-array, boost-assert, boost-assign, boost-atomic, boost-bind, boost-config, boost-core, boost-date-time, boost-dynamic-bitset, boost-format, boost-function, boost-functional, boost-iterator, boost-lexical-cast, boost-math, boost-multi-array, boost-multiprecision, boost-optional, boost-preprocessor, boost-random, boost-serialization, boost-signals2, boost-smart-ptr, boost-thread, boost-tuple, boost-type-traits, boost-ublas, boost-unordered, boost-utility
diff --git a/ports/quantlib/disable-examples-tests.patch b/ports/quantlib/disable-examples-tests.patch
new file mode 100644
index 000000000..b42e0bc25
--- /dev/null
+++ b/ports/quantlib/disable-examples-tests.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d046251cc..d8201bf6a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -44,8 +44,6 @@ if (Boost_FOUND)
+ endif (Boost_FOUND)
+
+ add_subdirectory(ql)
+-add_subdirectory(Examples)
+-add_subdirectory(test-suite)
+
+ #
+ # Copy across the ANSI config file into the build directory. Users
diff --git a/ports/quantlib/portfile.cmake b/ports/quantlib/portfile.cmake
new file mode 100644
index 000000000..7894bbba7
--- /dev/null
+++ b/ports/quantlib/portfile.cmake
@@ -0,0 +1,41 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO lballabio/QuantLib
+ REF f09141b5cce9134c0bcdbaf36e81359e6ba30705
+ SHA512 d4b19d33594a7072a0d90b7eac3d74fb27c526269713a9223b84c0451b1e06a58f0c98350305d68a55086d1971260ff249049112aaadea59397ec195a3291490
+ HEAD_REF master
+ PATCHES
+ disable-examples-tests.patch
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" USE_BOOST_DYNAMIC_LIBRARIES)
+
+set(QL_MSVC_RUNTIME ${VCPKG_LIBRARY_LINKAGE})
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+# TODO: Fix it in the upstream
+vcpkg_replace_string(
+ "${SOURCE_PATH}/ql/userconfig.hpp"
+ "//# define QL_USE_STD_UNIQUE_PTR"
+ "# define QL_USE_STD_UNIQUE_PTR"
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DUSE_BOOST_DYNAMIC_LIBRARIES=${USE_BOOST_DYNAMIC_LIBRARIES}
+ -DMSVC_RUNTIME=${QL_MSVC_RUNTIME}
+)
+
+vcpkg_install_cmake()
+
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+configure_file(${SOURCE_PATH}/LICENSE.TXT ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
diff --git a/ports/quickfix/00001-fix-build.patch b/ports/quickfix/00001-fix-build.patch
new file mode 100644
index 000000000..aa14d7b5c
--- /dev/null
+++ b/ports/quickfix/00001-fix-build.patch
@@ -0,0 +1,98 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 48908ead..5022a019 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -96,9 +96,12 @@ add_subdirectory(UnitTest++)
+ endif()
+
+ add_subdirectory(src)
+-add_subdirectory(examples)
++#add_subdirectory(examples)
+ if( WIN32)
+-add_subdirectory(test)
++#add_subdirectory(test)
++target_compile_definitions(TestUnitTest++ PRIVATE _CRT_SECURE_NO_WARNINGS)
++target_compile_definitions(UnitTest++ PRIVATE _CRT_SECURE_NO_WARNINGS)
++target_compile_definitions(ut PRIVATE _WINSOCK_DEPRECATED_NO_WARNINGS)
+ endif()
+
+ install(DIRECTORY ${CMAKE_SOURCE_DIR}/spec/ DESTINATION share/quickfix
+diff --git a/src/C++/CMakeLists.txt b/src/C++/CMakeLists.txt
+index 07774c97..27692631 100644
+--- a/src/C++/CMakeLists.txt
++++ b/src/C++/CMakeLists.txt
+@@ -1,3 +1,4 @@
++project(quickfix)
+ set(quickfix_VERSION_MAJOR 16)
+ set(quickfix_VERSION_MINOR 0)
+ set(quickfix_VERSION_PATCH 1)
+@@ -64,19 +65,22 @@ endif()
+
+ if (WIN32)
+ add_library(${PROJECT_NAME} STATIC ${quickfix_SOURCES})
+- set_target_properties (${PROJECT_NAME} PROPERTIES DEBUG_POSTFIX d)
+ target_link_libraries(${PROJECT_NAME} ${OPENSSL_LIBRARIES} ${MYSQL_CLIENT_LIBS} ${PostgreSQL_LIBRARIES} ws2_32)
++ target_compile_definitions(${PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_DEPRECATE)
+ else()
+- add_library(${PROJECT_NAME} SHARED ${quickfix_SOURCES})
++ add_library(${PROJECT_NAME} STATIC ${quickfix_SOURCES})
+ target_link_libraries(${PROJECT_NAME} ${OPENSSL_LIBRARIES} ${MYSQL_CLIENT_LIBS} ${PostgreSQL_LIBRARIES} pthread)
+ endif()
+
+ target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/C++)
++target_include_directories(${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:include>)
+
+ set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${quickfix_VERSION} SOVERSION ${quickfix_VERSION_MAJOR} )
++target_compile_definitions(${PROJECT_NAME} PUBLIC HAVE_STD_UNIQUE_PTR HAVE_STD_SHARED_PTR HAVE_SSL=1)
+
+-install(TARGETS ${PROJECT_NAME} DESTINATION lib)
++install(TARGETS ${PROJECT_NAME} EXPORT quickfix-config DESTINATION lib)
+ install(DIRECTORY ${CMAKE_SOURCE_DIR}/src/C++/ DESTINATION include/quickfix
+ FILES_MATCHING PATTERN "*.h"
+ PATTERN double-conversion EXCLUDE
+ PATTERN test EXCLUDE)
++install(EXPORT quickfix-config DESTINATION share/cmake/quickfix)
+diff --git a/src/C++/Utility.h b/src/C++/Utility.h
+index 0aa2cd3e..2829e110 100644
+--- a/src/C++/Utility.h
++++ b/src/C++/Utility.h
+@@ -242,4 +242,10 @@ using std::strtol;
+ using std::strerror;
+ #endif
+
++#ifdef __cpp_noexcept_function_type
++#define QUICKFIX_THROW(...) noexcept(false)
++#else
++#define QUICKFIX_THROW(...) throw(__VA_ARGS__)
++#endif
++
+ #endif
+diff --git a/src/C++/UtilitySSL.cpp b/src/C++/UtilitySSL.cpp
+index a01606ac..aee41bbf 100644
+--- a/src/C++/UtilitySSL.cpp
++++ b/src/C++/UtilitySSL.cpp
+@@ -498,7 +498,11 @@ static void ssl_rand_seed(void)
+ /*
+ * seed in the current process id (usually just 4 bytes)
+ */
++#ifdef _MSC_VER
++ pid = GetCurrentProcessId();
++#else
+ pid = getpid();
++#endif
+ l = sizeof(pid);
+ RAND_seed((unsigned char *)&pid, l);
+ /*
+diff --git a/src/C++/double-conversion/utils.h b/src/C++/double-conversion/utils.h
+index aef2f166..779b8ab7 100644
+--- a/src/C++/double-conversion/utils.h
++++ b/src/C++/double-conversion/utils.h
+@@ -61,7 +61,7 @@
+ // disabled.)
+ // On Linux,x86 89255e-22 != Div_double(89255.0/1e22)
+ #if defined(_M_X64) || defined(__x86_64__) || \
+- defined(__ARMEL__) || defined(__avr32__) || \
++ defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \
+ defined(__hppa__) || defined(__ia64__) || \
+ defined(__mips__) || \
+ defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
diff --git a/ports/quickfix/CONTROL b/ports/quickfix/CONTROL
new file mode 100644
index 000000000..b0d8e7d6b
--- /dev/null
+++ b/ports/quickfix/CONTROL
@@ -0,0 +1,5 @@
+Source: quickfix
+Version: 1.15.1
+Build-Depends: openssl
+Homepage: https://github.com/quickfix/quickfix
+Description: QuickFIX is a free and open source implementation of the FIX protocol.
diff --git a/ports/quickfix/portfile.cmake b/ports/quickfix/portfile.cmake
new file mode 100644
index 000000000..e560bed94
--- /dev/null
+++ b/ports/quickfix/portfile.cmake
@@ -0,0 +1,50 @@
+include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO quickfix/quickfix
+ REF v1.15.1
+ SHA512 6c3dc53f25932c9b7516ab9228f634511ae0f399719f87f0ec2b38c380c0a7d1c808f0f9a14a70a063e1956118550d1121222283a9139f23cd4f8f038f595f70
+ HEAD_REF master
+ PATCHES 00001-fix-build.patch
+)
+
+file(GLOB_RECURSE SRC_FILES RELATIVE ${SOURCE_PATH}
+ "${SOURCE_PATH}/src/*.cpp"
+ "${SOURCE_PATH}/src/*.h"
+)
+
+list(REMOVE_ITEM SRC_FILES "src/C++/Utility.h")
+list(REMOVE_ITEM SRC_FILES "src/C++/pugixml.cpp")
+
+foreach(SRC_FILE IN LISTS SRC_FILES)
+ file(READ "${SOURCE_PATH}/${SRC_FILE}" _contents)
+ string(REPLACE "throw(" "QUICKFIX_THROW(" _contents "${_contents}")
+ string(REPLACE "throw (" "QUICKFIX_THROW(" _contents "${_contents}")
+ file(WRITE "${SOURCE_PATH}/${SRC_FILE}" "${_contents}")
+endforeach()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DHAVE_EMX=OFF
+ -DHAVE_MYSQL=OFF
+ -DHAVE_POSTGRESQL=OFF
+ -DHAVE_PYTHON=OFF
+ -DHAVE_PYTHON2=OFF
+ -DHAVE_PYTHON3=OFF
+ -DHAVE_SSL=ON
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/quickfix)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/quickfix/copyright COPYONLY)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/quickfix)
diff --git a/ports/quickfix/usage b/ports/quickfix/usage
new file mode 100644
index 000000000..2bed80460
--- /dev/null
+++ b/ports/quickfix/usage
@@ -0,0 +1,4 @@
+The package quickfix provides CMake targets:
+
+ find_package(quickfix CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE quickfix)
diff --git a/ports/qwt/CONTROL b/ports/qwt/CONTROL
index c1271a72f..62235f3c3 100644
--- a/ports/qwt/CONTROL
+++ b/ports/qwt/CONTROL
@@ -1,5 +1,5 @@
Source: qwt
-Version: 6.1.3-7
+Version: 6.1.3-8
Homepage: https://sourceforge.net/projects/qwt
Description: Qt widgets library for technical applications
Build-Depends: qt5-base, qt5-svg, qt5-tools
diff --git a/ports/qwt/portfile.cmake b/ports/qwt/portfile.cmake
index 002272e24..ca5762d42 100644
--- a/ports/qwt/portfile.cmake
+++ b/ports/qwt/portfile.cmake
@@ -21,10 +21,17 @@ vcpkg_configure_qmake(
CONFIG+=${VCPKG_LIBRARY_LINKAGE}
)
-vcpkg_build_qmake(
- RELEASE_TARGETS sub-src-release_ordered
- DEBUG_TARGETS sub-src-debug_ordered
-)
+if (CMAKE_HOST_WIN32)
+ vcpkg_build_qmake(
+ RELEASE_TARGETS sub-src-release_ordered
+ DEBUG_TARGETS sub-src-debug_ordered
+ )
+elseif (CMAKE_HOST_UNIX OR CMAKE_HOST_APPLE) # Build in UNIX
+ vcpkg_build_qmake(
+ RELEASE_TARGETS sub-src-all-ordered
+ DEBUG_TARGETS sub-src-all-ordered
+ )
+endif()
#Set the correct install directory to packages
foreach(MAKEFILE ${RELEASE_MAKEFILES} ${DEBUG_MAKEFILES})
@@ -36,30 +43,21 @@ file(GLOB HEADER_FILES ${SOURCE_PATH}/src/*.h)
file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/qwt)
#Install the module files
-file(INSTALL
- ${RELEASE_DIR}/lib/qwt.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/lib
-)
-
-file(INSTALL
- ${DEBUG_DIR}/lib/qwtd.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
-)
-
-if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
- file(INSTALL
- ${RELEASE_DIR}/lib/qwt.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/bin
- )
-
- file(INSTALL
- ${DEBUG_DIR}/lib/qwtd.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
- )
+if (CMAKE_HOST_WIN32)
+ file(INSTALL ${RELEASE_DIR}/lib/qwt.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(INSTALL ${DEBUG_DIR}/lib/qwtd.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ file(INSTALL ${RELEASE_DIR}/lib/qwt.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ file(INSTALL ${DEBUG_DIR}/lib/qwtd.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+ endif()
+ vcpkg_copy_pdbs()
+elseif (CMAKE_HOST_UNIX OR CMAKE_HOST_APPLE) # Build in UNIX
+ file(INSTALL ${RELEASE_DIR}/lib/libqwt.a DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(INSTALL ${DEBUG_DIR}/lib/libqwt.a DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
endif()
-vcpkg_copy_pdbs()
# Handle copyright
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/qwt)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/qwt/COPYING ${CURRENT_PACKAGES_DIR}/share/qwt/copyright)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/qwt/COPYING ${CURRENT_PACKAGES_DIR}/share/qwt/copyright) \ No newline at end of file
diff --git a/ports/rabit/CONTROL b/ports/rabit/CONTROL
index 7ad9bcfdb..7b07cba7b 100644
--- a/ports/rabit/CONTROL
+++ b/ports/rabit/CONTROL
@@ -1,4 +1,6 @@
-Source: rabit
-Version: 0.1
+Source: rabit
+Version: 0.1-2
Homepage: https://github.com/dmlc/rabit
-Description: rabit is a light weight library that provides a fault tolerant interface of Allreduce and Broadcast. It is designed to support easy implementations of distributed machine learning programs, many of which fall naturally under the Allreduce abstraction. \ No newline at end of file
+Description: rabit is a light weight library that provides a fault tolerant interface of Allreduce and Broadcast. It is designed to support easy implementations of distributed machine learning programs, many of which fall naturally under the Allreduce abstraction.
+Build-Depends: dmlc
+
diff --git a/ports/rabit/fix-file-conflict.patch b/ports/rabit/fix-file-conflict.patch
new file mode 100644
index 000000000..665695305
--- /dev/null
+++ b/ports/rabit/fix-file-conflict.patch
@@ -0,0 +1,52 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 08330d9..a58d669 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -5,10 +5,16 @@ project(rabit VERSION 0.0.0)
+ option(RABIT_BUILD_TESTS "Build rabit tests" OFF)
+ option(RABIT_BUILD_MPI "Build MPI" OFF)
+
++find_package(dmlc CONFIG REQUIRED)
++
+ add_library(rabit src/allreduce_base.cc src/allreduce_robust.cc src/engine.cc src/c_api.cc)
+ add_library(rabit_base src/allreduce_base.cc src/engine_base.cc src/c_api.cc)
+ add_library(rabit_empty src/engine_empty.cc src/c_api.cc)
+
++target_link_libraries(rabit dmlc::dmlc)
++target_link_libraries(rabit_base dmlc::dmlc)
++target_link_libraries(rabit_empty dmlc::dmlc)
++
+ set(rabit_libs rabit rabit_base rabit_empty)
+ if(RABIT_BUILD_MPI)
+ find_package(MPI REQUIRED)
+@@ -22,7 +28,6 @@ if(RABIT_BUILD_TESTS)
+ add_library(rabit_mock STATIC src/allreduce_base.cc src/allreduce_robust.cc src/engine_mock.cc src/c_api.cc)
+ list(APPEND rabit_libs rabit_mock) # add to list to apply build settings, then remove
+ endif()
+-
+ foreach(lib ${rabit_libs})
+ #include "./internal/utils.h"
+ target_include_directories(${lib} PUBLIC
+@@ -42,7 +47,8 @@ if(RABIT_BUILD_TESTS)
+ if(RABIT_BUILD_MPI)
+ add_executable(speed_test_mpi test/speed_test.cc)
+ target_link_libraries(speed_test_mpi rabit_mpi)
+- install(TARGETS speed_test_mpi DESTINATION bin)
++ install(TARGETS speed_test_mpi DESTINATION bin)
++ message("IN MPI ")
+ endif()
+ endif()
+
+diff --git a/include/rabit/serializable.h b/include/rabit/serializable.h
+index 4a3c2a1..0fd4154 100644
+--- a/include/rabit/serializable.h
++++ b/include/rabit/serializable.h
+@@ -9,7 +9,7 @@
+ #include <vector>
+ #include <string>
+ #include "./internal/utils.h"
+-#include "../dmlc/io.h"
++#include <dmlc/io.h>
+
+ namespace rabit {
+ /*!
diff --git a/ports/rabit/portfile.cmake b/ports/rabit/portfile.cmake
index cd009150f..80ad0554c 100644
--- a/ports/rabit/portfile.cmake
+++ b/ports/rabit/portfile.cmake
@@ -10,22 +10,27 @@ vcpkg_from_github(
REF v0.1
SHA512 145fd839898cb95eaab9a88ad3301a0ccac0c8b672419ee2b8eb6ba273cc9a26e069e5ecbc37a3078e46dc64d11efb3e5ab10e5f8fed714e7add85b9e6ac2ec7
HEAD_REF master
+ PATCHES fix-file-conflict.patch
)
+file(REMOVE_RECURSE ${SOURCE_PATH}/include/dmlc)
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
+ PREFER_NINJA
+ OPTIONS
+ -DRABIT_BUILD_TESTS=OFF
+ -DRABIT_BUILD_MPI=OFF
)
vcpkg_install_cmake()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake)
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
vcpkg_copy_pdbs()
# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
-
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
diff --git a/ports/range-v3/CONTROL b/ports/range-v3/CONTROL
index 1e1274d4b..45e81281e 100644
--- a/ports/range-v3/CONTROL
+++ b/ports/range-v3/CONTROL
@@ -1,4 +1,4 @@
Source: range-v3
-Version: 0.5.0
+Version: 0.9.0-20190822
Homepage: https://github.com/ericniebler/range-v3
Description: Range library for C++11/14/17.
diff --git a/ports/range-v3/portfile.cmake b/ports/range-v3/portfile.cmake
index 625d6dd48..c208a55f8 100644
--- a/ports/range-v3/portfile.cmake
+++ b/ports/range-v3/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ericniebler/range-v3
- REF 0.5.0
- SHA512 076be03b0f4113acb5fb4db83ed5e755bed60ff8df9a7b982b144949cce40f0bb0579ecca38c1f33643b63037b8d311afa6d613b50811e1191b63e2c42a0d4bf
+ REF 94f95160f23ab3ee5089b58eb2d9e66a4429d358
+ SHA512 e4669076fff12e5c48c97cbc67c9d5ee98ac30ea14beba35c9882d05f741a3de9f0125d3f5a27854f56919c61a473dbcfe1f92d6266cb632b7fe38f2d49194db
HEAD_REF master
)
diff --git a/ports/raylib/CONTROL b/ports/raylib/CONTROL
index 3be7c5eac..8d50803e6 100644
--- a/ports/raylib/CONTROL
+++ b/ports/raylib/CONTROL
@@ -1,5 +1,5 @@
Source: raylib
-Version: 2019-04-27-2
+Version: 2.5.0
Description: A simple and easy-to-use library to enjoy videogames programming
#Build-Depends: glfw3
diff --git a/ports/raylib/portfile.cmake b/ports/raylib/portfile.cmake
index 82c79a44c..523cbb2b7 100644
--- a/ports/raylib/portfile.cmake
+++ b/ports/raylib/portfile.cmake
@@ -20,8 +20,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO raysan5/raylib
- REF f37e55a77bd6177dbaea4d7f484961c09104e104
- SHA512 57146ebc7ab22a4e60c1d9eecd4c7a8f1930d6709f45761af809da9ea4f161e9fd450fa1042252a80bd7952ed9571a5d8dee4d454c8903a778e3e1328300b2bd
+ REF a9f33c9a8962735fed5dd1857709d159bc4056fc # 2.5.0
+ SHA512 36ee474d5f1791385a6841e20632e078c0d3a591076faed0a648533513a3218e2817b0bbf7a921cc003c9aaf6a07024fd48830697d9d85eba307be27bd884ad8
HEAD_REF master
)
diff --git a/ports/re2/CONTROL b/ports/re2/CONTROL
index 06ee164a1..a9a8a2fee 100644
--- a/ports/re2/CONTROL
+++ b/ports/re2/CONTROL
@@ -1,4 +1,4 @@
Source: re2
-Version: 2019-08-01
+Version: 2019-09-01
Homepage: https://github.com/google/re2
Description: RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library.
diff --git a/ports/re2/portfile.cmake b/ports/re2/portfile.cmake
index 127e00f5d..0b1ba3536 100644
--- a/ports/re2/portfile.cmake
+++ b/ports/re2/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/re2
- REF 2019-08-01
- SHA512 e2b8f121f29b9afa5ae3c8f29811a010289279a9edb3761e27b44d903a85b80720a3a59388a4ad75fb687ee1343d25b5a59cdee42282eed30f5fc48b59c70c97
+ REF 2019-09-01
+ SHA512 df446a7a00f3e8cd3f09c746ad41a6f58af3da88ab31cf8e2498d26e240bbe1f557f462fb6b10a818c3e00e02ec19dc60ce29eb6c4d61781aeb9b96b4c4e5af9
HEAD_REF master
)
diff --git a/ports/restinio/CONTROL b/ports/restinio/CONTROL
index fc536c2fe..78d31a23b 100644
--- a/ports/restinio/CONTROL
+++ b/ports/restinio/CONTROL
@@ -1,4 +1,4 @@
Source: restinio
-Version: 0.5.1.1
+Version: 0.6.0
Description: A header-only C++14 library that gives you an embedded HTTP/Websocket server targeted primarily for asynchronous processing of HTTP-requests.
Build-Depends: asio, fmt, http-parser
diff --git a/ports/restinio/portfile.cmake b/ports/restinio/portfile.cmake
index fa329a9bd..d0c843eb3 100644
--- a/ports/restinio/portfile.cmake
+++ b/ports/restinio/portfile.cmake
@@ -1,10 +1,10 @@
include(vcpkg_common_functions)
-vcpkg_from_bitbucket(
+vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
- REPO sobjectizerteam/restinio
- REF v.0.5.1.1
- SHA512 f5eedd53f4459936d4b32a4243c703a350a611bfc7b0c17c2bb047944cc054f8a93f9fd4904f76d601eb2ce0c9b078c33a6a545b5698ddaf63c3f5327dabd5f6
+ REPO stiffstream/restinio
+ REF v.0.6.0
+ SHA512 70c37a9b88db5eef0591baf0adc8227c1103a4f272c8fcd332410b9481854f5ae8f2385c8070c7eab17e8a75e699cded528fc655fbdef3553203914abb379b3a
)
vcpkg_configure_cmake(
diff --git a/ports/riffcpp/CONTROL b/ports/riffcpp/CONTROL
index 3667dd786..2a872faa5 100644
--- a/ports/riffcpp/CONTROL
+++ b/ports/riffcpp/CONTROL
@@ -1,4 +1,4 @@
Source: riffcpp
-Version: 2.1.0
+Version: 2.2.4
Homepage: https://github.com/libdmusic/riffcpp
Description: Simple library for reading RIFF files
diff --git a/ports/riffcpp/portfile.cmake b/ports/riffcpp/portfile.cmake
index 85b623cb8..057fe2092 100644
--- a/ports/riffcpp/portfile.cmake
+++ b/ports/riffcpp/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libdmusic/riffcpp
- REF v2.2.1
- SHA512 646a98e6f6cd3995081a6242a866effab2968e20b2700248e3d19036bed426236e3844ad09d4b542e023f5f280d74575c47abe5e5e94ce0d77536f4f0a33b8c1
+ REF v2.2.4
+ SHA512 abceba02441305267c444ed724ca769fa08369302eb74b7729b700883b9354f3db95d8c68ee15f25844a75f1609edd2bcf7482fc639b9e2d3ee3b8caf5e9585f
HEAD_REF master
)
diff --git a/ports/rocksdb/portfile.cmake b/ports/rocksdb/portfile.cmake
index e50a306fc..b7eb5c78f 100644
--- a/ports/rocksdb/portfile.cmake
+++ b/ports/rocksdb/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebook/rocksdb
- REF v6.1.2
- SHA512 3d9e994b202c9f1c1c188e37a4f781bb97af5ba72f2f3f59091b79f402b819c9765dcd1e7d0851b5119c0bf510aa3f5bed44a542798ee81795a8328d71554b38
+ REF 2b38e2dd6602a17a2010308580fd5d8c91dea650
+ SHA512 82e9c2417bd0325b2402a64a56cfff25346e277a8174a33727517ada59502fee4bdeea40b0d20f9c6a86c52b66d57340b898096e39ad91bccc4f3a2245bd49b0
HEAD_REF master
PATCHES
0001-disable-gtest.patch
diff --git a/ports/rs-core-lib/CONTROL b/ports/rs-core-lib/CONTROL
index 1a766286b..c633c0bcf 100644
--- a/ports/rs-core-lib/CONTROL
+++ b/ports/rs-core-lib/CONTROL
@@ -1,5 +1,5 @@
Source: rs-core-lib
-Version: 2019-05-07
+Version: 2019-07-11
Homepage: https://github.com/CaptainCrowbar/rs-core-lib
Description: Minimal common utilities by Ross Smith
diff --git a/ports/rs-core-lib/portfile.cmake b/ports/rs-core-lib/portfile.cmake
index 239d61126..718b9961f 100644
--- a/ports/rs-core-lib/portfile.cmake
+++ b/ports/rs-core-lib/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO CaptainCrowbar/rs-core-lib
- REF 4828e0dc8b7e7ed76935865cfe99181da0da211b
- SHA512 97298d94c1cc4cd4cb580bde6c1413a2f429544dc80cae58bc436aad25e385d9ced611a2512a45f1e3d10fd613f26958fc5d3a03ea9bfaefd5170a4b2d1ac124
+ REF fda88535dff2193e75bb9d306e4aa38a957b2c91
+ SHA512 e1842e2d92b5e935a8d867797d26f998cec628b3030077b8694cc3932546efeac81634e7f6d14189248a945fceb329e24aa39cf830384c04c0d67d2aa6255e57
HEAD_REF master
)
diff --git a/ports/sdformat6/CONTROL b/ports/sdformat6/CONTROL
new file mode 100644
index 000000000..5733c129d
--- /dev/null
+++ b/ports/sdformat6/CONTROL
@@ -0,0 +1,5 @@
+Source: sdformat6
+Version: 6.2.0
+Homepage: http://sdformat.org/
+Build-Depends: boost-any, boost-variant, ignition-math4, urdfdom, tinyxml
+Description: Simulation Description Format (SDF) parser and description files.
diff --git a/ports/sdformat6/portfile.cmake b/ports/sdformat6/portfile.cmake
new file mode 100644
index 000000000..39e4e5bb0
--- /dev/null
+++ b/ports/sdformat6/portfile.cmake
@@ -0,0 +1,55 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_bitbucket(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO osrf/sdformat
+ REF sdformat6_6.2.0
+ SHA512 3e3934010438bffbf10c1df29bd486c098e3c1bdf2b0349b69a53fb6f4d2bd3b3c8c4b4a8dfb413da13a638c0794f41c1bff4adb11a889b1552d90ba8b94c495
+ HEAD_REF sdf6
+)
+
+# Ruby is required by the sdformat build process
+vcpkg_find_acquire_program(RUBY)
+get_filename_component(RUBY_PATH ${RUBY} DIRECTORY)
+set(_path $ENV{PATH})
+vcpkg_add_to_path(${RUBY_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS -DBUILD_TESTING=OFF
+ -DUSE_EXTERNAL_URDF=ON
+ -DUSE_EXTERNAL_TINYXML=ON
+)
+
+vcpkg_install_cmake()
+
+# Restore original path
+set(ENV{PATH} ${_path})
+
+# Move location of sdformat.dll from lib to bin
+if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/sdformat.dll)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/sdformat.dll
+ ${CURRENT_PACKAGES_DIR}/bin/sdformat.dll)
+endif()
+
+if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/sdformat.dll)
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/sdformat.dll
+ ${CURRENT_PACKAGES_DIR}/debug/bin/sdformat.dll)
+endif()
+
+# Fix cmake targets location
+vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/sdformat")
+
+# Remove debug files
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include
+ ${CURRENT_PACKAGES_DIR}/debug/lib/cmake
+ ${CURRENT_PACKAGES_DIR}/debug/share)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdformat6 RENAME copyright)
+
+# Post-build test for cmake libraries
+vcpkg_test_cmake(PACKAGE_NAME SDFormat)
diff --git a/ports/sdl1/CONTROL b/ports/sdl1/CONTROL
index 59606dcb0..0b9310633 100644
--- a/ports/sdl1/CONTROL
+++ b/ports/sdl1/CONTROL
@@ -1,3 +1,3 @@
Source: sdl1
-Version: 1.2.15-6
+Version: 1.2.15-7
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/sdl1/fix-linux-build.patch b/ports/sdl1/fix-linux-build.patch
new file mode 100644
index 000000000..f6ad36c2d
--- /dev/null
+++ b/ports/sdl1/fix-linux-build.patch
@@ -0,0 +1,13 @@
+diff --git a/src/video/x11/SDL_x11sym.h b/src/video/x11/SDL_x11sym.h
+index 4875b98..10bf365 100644
+--- a/src/video/x11/SDL_x11sym.h
++++ b/src/video/x11/SDL_x11sym.h
+@@ -165,7 +165,7 @@ SDL_X11_SYM(Bool,XShmQueryExtension,(Display* a),(a),return)
+ */
+ #ifdef LONG64
+ SDL_X11_MODULE(IO_32BIT)
+-SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
++SDL_X11_SYM(int,_XData32,(Display *dpy,_Xconst register long *data,unsigned len),(dpy,data,len),return)
+ SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),)
+ #endif
+
diff --git a/ports/sdl1/portfile.cmake b/ports/sdl1/portfile.cmake
index 4e8d512df..e68e00e6d 100644
--- a/ports/sdl1/portfile.cmake
+++ b/ports/sdl1/portfile.cmake
@@ -6,45 +6,109 @@ vcpkg_from_github(
REF release-1.2.15
SHA512 38b94a650ec205377ae1503d0ec8a5254ef6d50ed0acac8d985b57b64bc16ea042cfa41e19e5ef8317980c4afb83186829f5bc3da9433d0a649dfd10554801b5
HEAD_REF master
- PATCHES export-symbols-only-in-shared-build.patch
+ PATCHES
+ export-symbols-only-in-shared-build.patch
+ fix-linux-build.patch
)
configure_file(${SOURCE_PATH}/include/SDL_config.h.default ${SOURCE_PATH}/include/SDL_config.h COPYONLY)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/SDL1_2017.sln DESTINATION ${SOURCE_PATH}/VisualC/ )
-if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
- file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/SDL_static.vcxproj DESTINATION ${SOURCE_PATH}/VisualC/SDL RENAME SDL.vcxproj)
- file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/SDLmain_static.vcxproj DESTINATION ${SOURCE_PATH}/VisualC/SDLmain RENAME SDLmain.vcxproj)
+if (VCPKG_TARGET_IS_WINDOWS)
+ file(COPY ${CMAKE_CURRENT_LIST_DIR}/SDL1_2017.sln DESTINATION ${SOURCE_PATH}/VisualC/ )
+
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/SDL_static.vcxproj DESTINATION ${SOURCE_PATH}/VisualC/SDL RENAME SDL.vcxproj)
+ file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/SDLmain_static.vcxproj DESTINATION ${SOURCE_PATH}/VisualC/SDLmain RENAME SDLmain.vcxproj)
+ else()
+ file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/SDL_dynamic.vcxproj DESTINATION ${SOURCE_PATH}/VisualC/SDL RENAME SDL.vcxproj)
+ file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/SDLmain_dynamic.vcxproj DESTINATION ${SOURCE_PATH}/VisualC/SDLmain RENAME SDLmain.vcxproj)
+ endif()
+
+ # This text file gets copied as a library, and included as one in the package
+ file(REMOVE_RECURSE ${SOURCE_PATH}/src/hermes/COPYING.LIB)
+
+ vcpkg_install_msbuild(
+ SOURCE_PATH ${SOURCE_PATH}
+ PROJECT_SUBPATH VisualC/SDL1_2017.sln
+ INCLUDES_SUBPATH include
+ LICENSE_SUBPATH COPYING
+ ALLOW_ROOT_INCLUDES
+ )
+
+ #Take all the fils into include/SDL to sovle conflict with SDL2 port
+ file(GLOB files ${CURRENT_PACKAGES_DIR}/include/*)
+ foreach(file ${files})
+ file(COPY ${file} DESTINATION ${CURRENT_PACKAGES_DIR}/include/SDL)
+ file(REMOVE ${file})
+ endforeach()
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/SDL/doxyfile)
+
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/lib/SDLmain.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/SDLmain.lib)
+ endif()
+ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/SDLmain.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/SDLmaind.lib)
+ endif()
else()
- file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/SDL_dynamic.vcxproj DESTINATION ${SOURCE_PATH}/VisualC/SDL RENAME SDL.vcxproj)
- file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/SDLmain_dynamic.vcxproj DESTINATION ${SOURCE_PATH}/VisualC/SDLmain RENAME SDLmain.vcxproj)
-endif()
+ find_program(autoreconf autoreconf)
+ if (NOT autoreconf OR NOT EXISTS "/usr/share/doc/libgles2/copyright")
+ message(FATAL_ERROR "autoreconf and libgles2-mesa-dev must be installed before libepoxy can build. Install them with \"apt-get dh-autoreconf libgles2-mesa-dev\".")
+ endif()
+
+ find_program(MAKE make)
+ if (NOT MAKE)
+ message(FATAL_ERROR "MAKE not found")
+ endif()
-# This text file gets copied as a library, and included as one in the package
-file(REMOVE_RECURSE ${SOURCE_PATH}/src/hermes/COPYING.LIB)
-
-vcpkg_install_msbuild(
- SOURCE_PATH ${SOURCE_PATH}
- PROJECT_SUBPATH VisualC/SDL1_2017.sln
- INCLUDES_SUBPATH include
- LICENSE_SUBPATH COPYING
- ALLOW_ROOT_INCLUDES
-)
-
-#Take all the fils into include/SDL to sovle conflict with SDL2 port
-file(GLOB files ${CURRENT_PACKAGES_DIR}/include/*)
-foreach(file ${files})
- file(COPY ${file} DESTINATION ${CURRENT_PACKAGES_DIR}/include/SDL)
- file(REMOVE ${file})
-endforeach()
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/SDL/doxyfile)
-
-if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link)
- file(RENAME ${CURRENT_PACKAGES_DIR}/lib/SDLmain.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/SDLmain.lib)
-endif()
-if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link)
- file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/SDLmain.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/SDLmaind.lib)
-endif()
+ file(REMOVE_RECURSE ${SOURCE_PATH}/m4)
+ file(MAKE_DIRECTORY ${SOURCE_PATH}/m4)
+
+ vcpkg_execute_required_process(
+ COMMAND "./autogen.sh"
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME autoreconf-${TARGET_TRIPLET}
+ )
+
+ message(STATUS "Configuring ${TARGET_TRIPLET}")
+ set(OUT_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/make-build-${TARGET_TRIPLET}-release)
+
+ file(REMOVE_RECURSE ${OUT_PATH_RELEASE})
+ file(MAKE_DIRECTORY ${OUT_PATH_RELEASE})
+
+ vcpkg_execute_required_process(
+ COMMAND "./configure" --prefix=${OUT_PATH_RELEASE}
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME config-${TARGET_TRIPLET}
+ )
+
+ message(STATUS "Building ${TARGET_TRIPLET}")
+ vcpkg_execute_build_process(
+ COMMAND "make -j ${VCPKG_CONCURRENCY}"
+ NO_PARALLEL_COMMAND "make"
+ WORKING_DIRECTORY "${SOURCE_PATH}"
+ LOGNAME "build-${TARGET_TRIPLET}-release"
+ )
+
+ message(STATUS "Installing ${TARGET_TRIPLET}")
+ vcpkg_execute_required_process(
+ COMMAND "make install"
+ WORKING_DIRECTORY "${SOURCE_PATH}"
+ LOGNAME "install-${TARGET_TRIPLET}-release"
+ )
+
+ file(INSTALL ${OUT_PATH_RELEASE}/include DESTINATION ${CURRENT_PACKAGES_DIR})
+ file(INSTALL ${OUT_PATH_RELEASE}/lib DESTINATION ${CURRENT_PACKAGES_DIR})
+ file(INSTALL ${OUT_PATH_RELEASE}/share DESTINATION ${CURRENT_PACKAGES_DIR})
+
+ file(GLOB DYNAMIC_LIBS ${CURRENT_PACKAGES_DIR}/lib *.so*)
+
+ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ file(COPY ${DYNAMIC_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
+ endif()
+ file(REMOVE ${DYNAMIC_LIBS})
+
+ file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+endif() \ No newline at end of file
diff --git a/ports/sdl2-mixer/CMakeLists.txt b/ports/sdl2-mixer/CMakeLists.txt
index 1265145fa..bc864cf29 100644
--- a/ports/sdl2-mixer/CMakeLists.txt
+++ b/ports/sdl2-mixer/CMakeLists.txt
@@ -10,53 +10,6 @@ set(SDL_MIXER_LIBRARIES SDL2::SDL2)
# builtin formats
set(SDL_MIXER_DEFINES MUSIC_WAV)
-# MP3 support
-if(SDL_MIXER_ENABLE_MP3)
- find_path(MPG123_INCLUDE_DIR mpg123.h)
- find_library(MPG123_LIBRARY NAMES libmpg123 mpg123)
- list(APPEND SDL_MIXER_INCLUDES ${MPG123_INCLUDE_DIR})
- list(APPEND SDL_MIXER_LIBRARIES ${MPG123_LIBRARY})
- list(APPEND SDL_MIXER_DEFINES MUSIC_MP3_MPG123)
-endif()
-
-# FLAC support
-if(SDL_MIXER_ENABLE_FLAC)
- find_path(FLAC_INCLUDE_DIR FLAC/all.h)
- find_library(FLAC_LIBRARY FLAC)
- list(APPEND SDL_MIXER_INCLUDES ${FLAC_INCLUDE_DIR})
- list(APPEND SDL_MIXER_LIBRARIES ${FLAC_LIBRARY})
- list(APPEND SDL_MIXER_DEFINES MUSIC_FLAC)
-endif()
-
-# MOD support
-if(SDL_MIXER_ENABLE_MOD)
- find_path(MODPLUG_INCLUDE_DIR libmodplug/modplug.h)
- find_library(MODPLUG_LIBRARY modplug)
- list(APPEND SDL_MIXER_INCLUDES ${MODPLUG_INCLUDE_DIR})
- list(APPEND SDL_MIXER_LIBRARIES ${MODPLUG_LIBRARY})
- list(APPEND SDL_MIXER_DEFINES MUSIC_MOD_MODPLUG)
-endif()
-
-# Ogg-Vorbis support
-if(SDL_MIXER_ENABLE_OGGVORBIS)
- find_path(VORBIS_INCLUDE_DIR vorbis/codec.h)
- find_library(VORBISFILE_LIBRARY vorbisfile)
- list(APPEND SDL_MIXER_INCLUDES ${VORBIS_INCLUDE_DIR})
- list(APPEND SDL_MIXER_LIBRARIES ${VORBISFILE_LIBRARY})
- list(APPEND SDL_MIXER_DEFINES MUSIC_OGG)
-endif()
-
-# Opus support
-if(SDL_MIXER_ENABLE_OPUS)
- find_path(OPUS_INCLUDE_DIR opus/opusfile.h)
- find_package(ogg CONFIG REQUIRED)
- find_package(Opus CONFIG REQUIRED)
- find_library(OPUSFILE_LIBRARY opusfile)
- list(APPEND SDL_MIXER_INCLUDES ${OPUS_INCLUDE_DIR})
- list(APPEND SDL_MIXER_LIBRARIES ${OPUSFILE_LIBRARY} Ogg::ogg Opus::opus)
- list(APPEND SDL_MIXER_DEFINES MUSIC_OPUS)
-endif()
-
add_library(SDL2_mixer
effect_position.c
effect_stereoreverse.c
diff --git a/ports/sdl2-mixer/CONTROL b/ports/sdl2-mixer/CONTROL
index 2c76639dc..9e1bd1e80 100644
--- a/ports/sdl2-mixer/CONTROL
+++ b/ports/sdl2-mixer/CONTROL
@@ -1,5 +1,5 @@
Source: sdl2-mixer
-Version: 2.0.4-3
+Version: 2.0.4-4
Homepage: https://www.libsdl.org/projects/SDL_mixer
Description: Multi-channel audio mixer library for SDL.
Build-Depends: sdl2
diff --git a/ports/sdl2-mixer/portfile.cmake b/ports/sdl2-mixer/portfile.cmake
index 977062a19..e844c5ba5 100644
--- a/ports/sdl2-mixer/portfile.cmake
+++ b/ports/sdl2-mixer/portfile.cmake
@@ -13,40 +13,9 @@ vcpkg_extract_source_archive_ex(
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-set(USE_MP3 OFF)
-if("mpg123" IN_LIST FEATURES)
- set(USE_MP3 ON)
-endif()
-
-set(USE_FLAC OFF)
-if("libflac" IN_LIST FEATURES)
- set(USE_FLAC ON)
-endif()
-
-set(USE_MOD OFF)
-if("libmodplug" IN_LIST FEATURES)
- set(USE_MOD ON)
-endif()
-
-set(USE_OGGVORBIS OFF)
-if("libvorbis" IN_LIST FEATURES)
- set(USE_OGGVORBIS ON)
-endif()
-
-set(USE_OPUS OFF)
-if("opusfile" IN_LIST FEATURES)
- set(USE_OPUS ON)
-endif()
-
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
- OPTIONS
- -DSDL_MIXER_ENABLE_MP3=${USE_MP3} # mpg123
- -DSDL_MIXER_ENABLE_FLAC=${USE_FLAC} # libflac
- -DSDL_MIXER_ENABLE_MOD=${USE_MOD} # libmodplug
- -DSDL_MIXER_ENABLE_OGGVORBIS=${USE_OGGVORBIS} # libvorbis
- -DSDL_MIXER_ENABLE_OPUS=${USE_OPUS} # opusfile
OPTIONS_DEBUG
-DSDL_MIXER_SKIP_HEADERS=ON
)
diff --git a/ports/shogun/CONTROL b/ports/shogun/CONTROL
index e57f129fe..b9f99fbb0 100644
--- a/ports/shogun/CONTROL
+++ b/ports/shogun/CONTROL
@@ -1,4 +1,4 @@
Source: shogun
-Version: 6.1.3-3
+Version: 6.1.4
Build-Depends: bzip2, eigen3, liblzma, libxml2, openblas (x64&!osx), nlopt, rxcpp, snappy, zlib, protobuf, curl, lzo, dirent
Description: Unified and efficient Machine Learning
diff --git a/ports/shogun/portfile.cmake b/ports/shogun/portfile.cmake
index 37a755894..d77ef5cf9 100644
--- a/ports/shogun/portfile.cmake
+++ b/ports/shogun/portfile.cmake
@@ -11,8 +11,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO shogun-toolbox/shogun
- REF shogun_6.1.3
- SHA512 11aeed456b13720099ca820ab9742c90ce4af2dc049602a425f8c44d2fa155327c7f1d3af2ec840666f600a91e75902d914ffe784d76ed35810da4f3a5815673
+ REF ab274e7ab6bf24dd598c1daf1e626cb686d6e1cc
+ SHA512 fb90e5bf802c6fd59bf35ab7bbde5e8cfcdc5d46c69c52097140b30c6b29e28b8341dd1ece7f8a1f9d9123f4bc06d44d288584ce7dfddccf3d33fe05106884ae
HEAD_REF master
PATCHES
cmake.patch
diff --git a/ports/simpleini/CONTROL b/ports/simpleini/CONTROL
index b0c70335f..589928579 100644
--- a/ports/simpleini/CONTROL
+++ b/ports/simpleini/CONTROL
@@ -1,3 +1,3 @@
Source: simpleini
-Version: 2018-08-31-1
+Version: 2018-08-31-2
Description: Cross-platform C++ library providing a simple API to read and write INI-style configuration files
diff --git a/ports/simpleini/portfile.cmake b/ports/simpleini/portfile.cmake
index 508043cd1..806729908 100644
--- a/ports/simpleini/portfile.cmake
+++ b/ports/simpleini/portfile.cmake
@@ -9,6 +9,6 @@ vcpkg_from_github(
HEAD_REF master
)
-file(COPY ${SOURCE_PATH}/simpleini.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+file(COPY ${SOURCE_PATH}/Simpleini.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
file(INSTALL ${SOURCE_PATH}/LICENCE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/simpleini RENAME copyright)
diff --git a/ports/sobjectizer/CONTROL b/ports/sobjectizer/CONTROL
index f5bfe31c0..b965a8464 100644
--- a/ports/sobjectizer/CONTROL
+++ b/ports/sobjectizer/CONTROL
@@ -1,4 +1,4 @@
Source: sobjectizer
-Version: 5.6.0.2
-Homepage: https://sourceforge.net/projects/sobjectizer
+Version: 5.6.1
+Homepage: https://github.com/Stiffstream/sobjectizer
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/sobjectizer/portfile.cmake b/ports/sobjectizer/portfile.cmake
index 8231f372e..537f64d9d 100644
--- a/ports/sobjectizer/portfile.cmake
+++ b/ports/sobjectizer/portfile.cmake
@@ -1,12 +1,12 @@
include(vcpkg_common_functions)
-set(VERSION 5.6.0.2)
+set(VERSION 5.6.1)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/so-${VERSION}/dev)
vcpkg_download_distfile(ARCHIVE
URLS "https://sourceforge.net/projects/sobjectizer/files/sobjectizer/SObjectizer%20Core%20v.5.6/so-${VERSION}.tar.bz2"
FILENAME "so-${VERSION}.tar.bz2"
- SHA512 8f330c757fe401d715584da224925158d97ab5bba59e442af29ac64cb6feeae00434bd9bf11601f0796737f901a4f8ada1728b60d5706294d607d4d365c2d6da
+ SHA512 f043a2d9025fe98d407023291100a79c2fbbd9d61e7c24602311e7383607b0fc1ec6108bfaea5f98021ebb942b3494f0380a2357bcaed01f92ede5dba0ab9cf0
)
vcpkg_extract_source_archive(${ARCHIVE})
diff --git a/ports/sokol/CONTROL b/ports/sokol/CONTROL
new file mode 100644
index 000000000..4caa796cc
--- /dev/null
+++ b/ports/sokol/CONTROL
@@ -0,0 +1,4 @@
+Source: sokol
+Version: 2019-09-09
+Description: Minimal cross-platform standalone C headers
+Homepage: https://github.com/floooh/sokol
diff --git a/ports/sokol/portfile.cmake b/ports/sokol/portfile.cmake
new file mode 100644
index 000000000..92eee036d
--- /dev/null
+++ b/ports/sokol/portfile.cmake
@@ -0,0 +1,20 @@
+# header-only library
+
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO floooh/sokol
+ REF 425e906d2af8c976c30f7e925a303fea9f0bf879
+ SHA512 4606735b9466637f3b676402cc2d7ef96e4152836c901d7a84039c52951aec27922726de21a537e0fef2d2218f48e3a9a3c32c3bc67076c10d199f067f50dad9
+ HEAD_REF master
+)
+
+file(GLOB SOKOL_INCLUDE_FILES ${SOURCE_PATH}/*.h)
+file(COPY ${SOKOL_INCLUDE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+
+file(GLOB SOKOL_UTIL_INCLUDE_FILES ${SOURCE_PATH}/util/*.h)
+file(COPY ${SOKOL_UTIL_INCLUDE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/util)
+
+# Handle copyright
+configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
diff --git a/ports/speexdsp/CMakeLists.txt b/ports/speexdsp/CMakeLists.txt
index 0708faa2d..dd0edfe09 100644
--- a/ports/speexdsp/CMakeLists.txt
+++ b/ports/speexdsp/CMakeLists.txt
@@ -5,10 +5,7 @@ option(USE_SSE "Use SSE")
project (libspeexdsp)
file(GLOB_RECURSE LIBSPEEXDSP_SOURCES "${SOURCE_PATH}/libspeexdsp/*.c")
-list(REMOVE_ITEM LIBSPEEXDSP_SOURCES "${SOURCE_PATH}/libspeexdsp/testdenoise.c"
- "${SOURCE_PATH}/libspeexdsp/testecho.c"
- "${SOURCE_PATH}/libspeexdsp/testjitter.c"
- "${SOURCE_PATH}/libspeexdsp/testresample.c")
+list(FILTER LIBSPEEXDSP_SOURCES EXCLUDE REGEX "${SOURCE_PATH}/libspeexdsp/test.*\\.c")
file(GLOB_RECURSE LIBSPEEXDSP_HEADERS "${SOURCE_PATH}/libspeexdsp/*.h")
file(GLOB_RECURSE LIBSPEEXDSP_HEADERS_PUBLIC "${SOURCE_PATH}/include/**/*.h")
diff --git a/ports/speexdsp/CONTROL b/ports/speexdsp/CONTROL
index 793281d41..ce181ae58 100644
--- a/ports/speexdsp/CONTROL
+++ b/ports/speexdsp/CONTROL
@@ -1,5 +1,5 @@
Source: speexdsp
-Version: 1.2rc3-3
+Version: 1.2.0
Homepage: https://ftp.osuosl.org/pub/xiph/releases/speex/
Description: A patent-free, Open Source/Free Software DSP library.
Build-Depends:
diff --git a/ports/speexdsp/portfile.cmake b/ports/speexdsp/portfile.cmake
index 0cc6ac71c..44d340d1e 100644
--- a/ports/speexdsp/portfile.cmake
+++ b/ports/speexdsp/portfile.cmake
@@ -1,10 +1,10 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/speexdsp-1.2rc3)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/speexdsp-1.2.0)
set(CMAKE_PATH ${CMAKE_CURRENT_LIST_DIR})
vcpkg_download_distfile(ARCHIVE_FILE
- URLS "http://downloads.xiph.org/releases/speex/speexdsp-1.2rc3.tar.gz"
- FILENAME "speexdsp-1.2rc3.tar.xz"
- SHA512 29dfa8345df025eeb076561648a9b5c0485692be699b6da3c2a3734b4329187a1c2eb181252f4df12b21f1309ecdf59797437dfb123d160fd723491ab216e858
+ URLS "http://downloads.xiph.org/releases/speex/speexdsp-1.2.0.tar.gz"
+ FILENAME "speexdsp-1.2.0.tar.gz"
+ SHA512 e357cd5377415ea66c862302c7cf8bf6a10063cacd903f0846478975b87974cf5bdf00e2c6759d8f4f453c4c869cf284e9dc948a84a83d7b2ab96bd5405c05ec
)
vcpkg_extract_source_archive(${ARCHIVE_FILE})
diff --git a/ports/status-value-lite/CONTROL b/ports/status-value-lite/CONTROL
new file mode 100644
index 000000000..bc7fa02cd
--- /dev/null
+++ b/ports/status-value-lite/CONTROL
@@ -0,0 +1,7 @@
+Source: status-value-lite
+Version: 1.1.0
+Homepage: https://github.com/martinmoene/status-value-lite
+Description: status_value is a single-file header-only library for objects that represent a status and an optional value. It is intended for use with C++11 and later.
+
+Feature: test
+Description: Build with test
diff --git a/ports/status-value-lite/portfile.cmake b/ports/status-value-lite/portfile.cmake
new file mode 100644
index 000000000..d3b1dc899
--- /dev/null
+++ b/ports/status-value-lite/portfile.cmake
@@ -0,0 +1,32 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO martinmoene/status-value-lite
+ REF v1.1.0
+ SHA512 09cad9f40f2b1592316b374e0d1a206e3a79a1c560a2ae3be3bdae9045fa026435cc29f1eee08e26e29a5499f8dc60e485adc50517a827977678d3a5a6e220d2
+ HEAD_REF master
+)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ test BUILD_TESTS
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DNSSV_OPT_BUILD_TESTS=${BUILD_TESTS}
+ -DNSSV_OPT_BUILD_EXAMPLES=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/status_value-lite)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib)
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
diff --git a/ports/stb/CONTROL b/ports/stb/CONTROL
index ff7778020..b0bb16b13 100644
--- a/ports/stb/CONTROL
+++ b/ports/stb/CONTROL
@@ -1,4 +1,4 @@
Source: stb
-Version: 2019-05-07
+Version: 2019-07-11
Homepage: https://github.com/nothings/stb
Description: stb single-file public domain libraries for C/C++
diff --git a/ports/stb/portfile.cmake b/ports/stb/portfile.cmake
index 0a0f2397b..5b500f229 100644
--- a/ports/stb/portfile.cmake
+++ b/ports/stb/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO nothings/stb
- REF 1034f5e5c4809ea0a7f4387e0cd37c5184de3cdd
- SHA512 efc3deedd687615a6706b0d315ded8d76edb28fcd6726531956fde9bba81cc62f25df0a1f998b56e16ab0c62989687c7d5b58875789470c2bf7fd457b1ff6535
+ REF c72a95d766b8cbf5514e68d3ddbf6437ac9425b1
+ SHA512 2be9b2d7848fca133d5733ebb0fdd1f357195f38a2f2b471af3657468f00a75cc94f029ace6127e748da80e0f86933c16a554593a21d8a9057b7691d39facf4b
HEAD_REF master
)
diff --git a/ports/tacopie/CONTROL b/ports/tacopie/CONTROL
index a800a26be..1707cc9ef 100644
--- a/ports/tacopie/CONTROL
+++ b/ports/tacopie/CONTROL
@@ -1,4 +1,4 @@
Source: tacopie
-Version: 3.2.0-1
-Homepage: https://github.com/Cylix/tacopie
+Version: 3.2.0-2
+Homepage: https://github.com/cpp-redis/tacopie
Description: Tacopie is a TCP Client & Server C++11 library
diff --git a/ports/tacopie/portfile.cmake b/ports/tacopie/portfile.cmake
index e814418d4..25ba4cf16 100644
--- a/ports/tacopie/portfile.cmake
+++ b/ports/tacopie/portfile.cmake
@@ -4,7 +4,7 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
- REPO Cylix/tacopie
+ REPO cpp-redis/tacopie
REF 3.2.0
SHA512 079b294b537aaffe3bcf43a485c3be5b15f633c3f7c70140032d60cb010d35b76e76ef4ddd7596f6bfaf3f7edca7cb086c67552efffbf65846e725d7be54ce72
HEAD_REF master
@@ -40,6 +40,6 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
-file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/tacopie RENAME copyright)
-
vcpkg_copy_pdbs()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/taocpp-json/CONTROL b/ports/taocpp-json/CONTROL
index e3f90f461..267dfa01e 100644
--- a/ports/taocpp-json/CONTROL
+++ b/ports/taocpp-json/CONTROL
@@ -1,3 +1,3 @@
Source: taocpp-json
-Version: 2019-05-08
+Version: 2019-07-11
Description: C++ header-only JSON library
diff --git a/ports/taocpp-json/portfile.cmake b/ports/taocpp-json/portfile.cmake
index 3e6c19f1e..1050b419b 100644
--- a/ports/taocpp-json/portfile.cmake
+++ b/ports/taocpp-json/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO taocpp/json
- REF 6adce3b8e55c16e25b22ec0e33348eefa6aa4533
- SHA512 078af33eed0bae7671f31a010ba19088d07ac4f78b834bc7565562ee75199e90338dfd450a1d592c4f4ae58eddb3a26018b571381099d22dfc7d3c4143911390
+ REF 2ce7f742f8c47e8871f3052c56f13b237b68b18d
+ SHA512 22492cf87a008ae37fb46490ed5b688b195099a932c2dffaca029927fd9f9dff813ad21135edadf3c11bb0af75f78d00cfb92d875fe5579966e76d2039085eae
HEAD_REF master
)
diff --git a/ports/tbb/CONTROL b/ports/tbb/CONTROL
index 39c34d784..da29e4879 100644
--- a/ports/tbb/CONTROL
+++ b/ports/tbb/CONTROL
@@ -1,4 +1,4 @@
Source: tbb
-Version: 2019_U7-1
+Version: 2019_U8-1
Homepage: https://github.com/01org/tbb
Description: Intel's Threading Building Blocks.
diff --git a/ports/tbb/fix-static-build.patch b/ports/tbb/fix-static-build.patch
new file mode 100644
index 000000000..18f3e2b49
--- /dev/null
+++ b/ports/tbb/fix-static-build.patch
@@ -0,0 +1,13 @@
+diff --git a/src/tbb/cilk-tbb-interop.h b/src/tbb/cilk-tbb-interop.h
+index 295734b..f35531e 100644
+--- a/src/tbb/cilk-tbb-interop.h
++++ b/src/tbb/cilk-tbb-interop.h
+@@ -29,6 +29,8 @@
+ #else
+ #ifdef IN_CILK_RUNTIME
+ #define CILK_EXPORT __declspec(dllexport)
++#elif defined(IN_CILK_STATIC)
++#define CILK_EXPORT /* nothing */
+ #else
+ #define CILK_EXPORT __declspec(dllimport)
+ #endif // IN_CILK_RUNTIME
diff --git a/ports/tbb/portfile.cmake b/ports/tbb/portfile.cmake
index 4030bec4b..1d543b317 100644
--- a/ports/tbb/portfile.cmake
+++ b/ports/tbb/portfile.cmake
@@ -1,20 +1,17 @@
include(vcpkg_common_functions)
-if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
-endif()
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO intel/tbb
- REF 4233fef583b4f8cbf9f781311717600feaaa0694
- SHA512 6eb239f16e0ecacb825264869aafad7fb39aa1b1f8a3c03c92344c4255d1c1a34ca0a47a366c471fd2da808f3be14262c7e2305294677f2f490c1a48f6f76ec3
+ REF 4bdba61bafc6ba2d636f31564f1de5702d365cf7
+ SHA512 0b00c9deefdac5dc1f4fbae314e91eb3513b54b47ff6dec08ed2460486fc7d211ab36d6130e5787bfd50523cb613c65f03f9217d967292ca9056e2d3f5010bf8
HEAD_REF tbb_2019
+ PATCHES fix-static-build.patch
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+if (NOT VCPKG_TARGET_IS_WINDOWS)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
@@ -33,6 +30,32 @@ else()
set(RELEASE_CONFIGURATION Release)
set(DEBUG_CONFIGURATION Debug)
endif()
+
+ macro(CONFIGURE_PROJ_FILE arg)
+ set(CONFIGURE_FILE_NAME ${arg})
+ set(CONFIGURE_BAK_FILE_NAME ${arg}.bak)
+ if (NOT EXISTS ${CONFIGURE_BAK_FILE_NAME})
+ configure_file(${CONFIGURE_FILE_NAME} ${CONFIGURE_BAK_FILE_NAME} COPYONLY)
+ endif()
+ configure_file(${CONFIGURE_BAK_FILE_NAME} ${CONFIGURE_FILE_NAME} COPYONLY)
+ if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(READ ${CONFIGURE_FILE_NAME} SLN_CONFIGURE)
+ string(REPLACE "<ConfigurationType>DynamicLibrary<\/ConfigurationType>"
+ "<ConfigurationType>StaticLibrary<\/ConfigurationType>" SLN_CONFIGURE "${SLN_CONFIGURE}")
+ string(REPLACE "\/D_CRT_SECURE_NO_DEPRECATE"
+ "\/D_CRT_SECURE_NO_DEPRECATE \/DIN_CILK_STATIC" SLN_CONFIGURE "${SLN_CONFIGURE}")
+ file(WRITE ${CONFIGURE_FILE_NAME} "${SLN_CONFIGURE}")
+ else()
+ file(READ ${CONFIGURE_FILE_NAME} SLN_CONFIGURE)
+ string(REPLACE "\/D_CRT_SECURE_NO_DEPRECATE"
+ "\/D_CRT_SECURE_NO_DEPRECATE \/DIN_CILK_RUNTIME" SLN_CONFIGURE "${SLN_CONFIGURE}")
+ file(WRITE ${CONFIGURE_FILE_NAME} "${SLN_CONFIGURE}")
+ endif()
+ endmacro()
+
+ CONFIGURE_PROJ_FILE(${SOURCE_PATH}/build/vs2013/tbb.vcxproj)
+ CONFIGURE_PROJ_FILE(${SOURCE_PATH}/build/vs2013/tbbmalloc.vcxproj)
+ CONFIGURE_PROJ_FILE(${SOURCE_PATH}/build/vs2013/tbbmalloc_proxy.vcxproj)
vcpkg_install_msbuild(
SOURCE_PATH ${SOURCE_PATH}
diff --git a/ports/telnetpp/CONTROL b/ports/telnetpp/CONTROL
index 563a12f56..0b27e1320 100644
--- a/ports/telnetpp/CONTROL
+++ b/ports/telnetpp/CONTROL
@@ -1,5 +1,10 @@
Source: telnetpp
-Version: 1.2.4-1
+Version: 2.0
Homepage: https://github.com/KazDragon/telnetpp
Description: Telnet++ is an implementation of the Telnet Session Layer protocol using C++14
-Build-Depends: boost, gtest, zlib
+Build-Depends: boost-container, boost-signals2, boost-variant, gtest, gsl-lite
+Default-Features: zlib
+
+Feature: zlib
+Description: Zlib support
+Build-Depends: zlib \ No newline at end of file
diff --git a/ports/telnetpp/fix-build-error.patch b/ports/telnetpp/fix-build-error.patch
new file mode 100644
index 000000000..92ad5bd29
--- /dev/null
+++ b/ports/telnetpp/fix-build-error.patch
@@ -0,0 +1,152 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 09b4f9b..feb3746 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -22,9 +22,6 @@ message("Building Telnet++ with zlib: ${TELNETPP_WITH_ZLIB}")
+ message("Building Telnet++ with code coverage: ${TELNETPP_COVERAGE}")
+ message("Building Telnet++ with sanitizers: ${TELNETPP_SANITIZE}")
+
+-include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
+-conan_basic_setup(TARGETS NO_OUTPUT_DIRS)
+-
+ # The required C++ Standard for Telnet++ is C++14.
+ set(CMAKE_CXX_STANDARD 14)
+
+@@ -154,18 +151,24 @@ add_library(telnetpp
+ ${TELNETPP_PRIVATE_INCLUDE_FILES}
+ )
+
++if (BUILD_SHARED_LIBS)
++ add_definitions(-Dtelnetpp_EXPORTS)
++else()
++ add_definitions(-DTELNETPP_STATIC_DEFINE)
++endif()
++
+ target_link_libraries(telnetpp
+ PUBLIC
+- CONAN_PKG::gsl-lite
+- CONAN_PKG::boost_container
+- CONAN_PKG::boost_signals2
+- CONAN_PKG::boost_variant
++ ${BOOST_CONTAINER_LIBRARY}
++ ${BOOST_SIGNALS2_LIBRARY}
++ ${BOOST_VARIANT_LIBRARY}
+ )
+
+ if (TELNETPP_WITH_ZLIB)
++ find_package(ZLIB REQUIRED)
+ target_link_libraries(telnetpp
+ PRIVATE
+- CONAN_PKG::zlib
++ ${ZLIB_LIBRARIES}
+ )
+ endif()
+
+@@ -180,7 +183,8 @@ target_include_directories(telnetpp
+ PUBLIC
+ $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
+ $<INSTALL_INTERFACE:include/telnetpp-${TELNETPP_VERSION}>
+- "${Boost_INCLUDE_DIRS}"
++ $<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
++ $<BUILD_INTERFACE:${GSL_INCLUDE_PATH}>
+ )
+
+ generate_export_header(telnetpp
+@@ -197,17 +201,19 @@ install(
+ telnetpp
+ EXPORT
+ telnetpp-config
++ RUNTIME DESTINATION
++ bin
+ ARCHIVE DESTINATION
+- lib/telnetpp-${TELNETPP_VERSION}
++ lib
+ LIBRARY DESTINATION
+- lib/telnetpp-${TELNETPP_VERSION}
++ lib
+ )
+
+ install(
+ DIRECTORY
+ include/
+ DESTINATION
+- include/telnetpp-${TELNETPP_VERSION}
++ include
+ )
+
+ export(
+@@ -221,7 +227,7 @@ install(
+ EXPORT
+ telnetpp-config
+ DESTINATION
+- lib/telnetpp-${TELNETPP_VERSION}
++ share/telnetpp
+ )
+
+ include(CMakePackageConfigHelpers)
+@@ -236,7 +242,7 @@ install(
+ FILES
+ "${CMAKE_CURRENT_BINARY_DIR}/telnetpp-config-version.cmake"
+ DESTINATION
+- lib/telnetpp-${TELNETPP_VERSION}
++ share/telnetpp
+ )
+
+ if (TELNETPP_WITH_TESTS)
+@@ -299,13 +305,13 @@ if (TELNETPP_WITH_TESTS)
+ target_link_libraries(telnetpp_tester
+ PRIVATE
+ telnetpp
+- CONAN_PKG::gtest
++ GTest::GTest GTest::Main
+ )
+
+ if (TELNETPP_WITH_ZLIB)
+ target_link_libraries(telnetpp_tester
+ PRIVATE
+- CONAN_PKG::zlib
++ ${ZLIB_LIBRARIES}
+ )
+ endif()
+
+diff --git a/include/telnetpp/core.hpp b/include/telnetpp/core.hpp
+index 2362fac..48d340e 100644
+--- a/include/telnetpp/core.hpp
++++ b/include/telnetpp/core.hpp
+@@ -1,7 +1,7 @@
+ #pragma once
+
+ #include "telnetpp/detail/export.hpp"
+-#include <gsl-lite.h>
++#include <gsl-lite.hpp>
+ #include <string>
+ #include <cstdint>
+
+diff --git a/include/telnetpp/subnegotiation.hpp b/include/telnetpp/subnegotiation.hpp
+index a209b72..1f24fc9 100644
+--- a/include/telnetpp/subnegotiation.hpp
++++ b/include/telnetpp/subnegotiation.hpp
+@@ -15,7 +15,11 @@ public:
+ //* =====================================================================
+ /// \brief Constructor
+ //* =====================================================================
++#if _WIN32
++ const subnegotiation(option_type option, bytes content) noexcept
++#else
+ constexpr subnegotiation(option_type option, bytes content) noexcept
++#endif
+ : option_(std::move(option)),
+ content_(std::move(content))
+ {
+@@ -32,7 +36,11 @@ public:
+ //* =====================================================================
+ /// \brief Returns the content for this subnegotiation.
+ //* =====================================================================
++#if _WIN32
++ const bytes content() const noexcept
++#else
+ constexpr bytes content() const noexcept
++#endif
+ {
+ return content_;
+ }
diff --git a/ports/telnetpp/portfile.cmake b/ports/telnetpp/portfile.cmake
index 7af2342e1..8243beebb 100644
--- a/ports/telnetpp/portfile.cmake
+++ b/ports/telnetpp/portfile.cmake
@@ -7,41 +7,34 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO KazDragon/telnetpp
- REF v1.2.4
- SHA512 16879fd377a7d13aac497bc9989c026acc1ed5b4eb9338d151d3d827c7c4c44fab84dd06c5fe55be4efe49a98ea46e62e80bbc51c8503d6ba1bf5534fee16c84
+ REF 8dc780579293153ad2ae9ad6943815c050d4c659
+ SHA512 280a8e6c0392f5822b05968520d176d1510f00c12a2502f6039f4f1f78a558e61f825a231fb70b7de6fd21a18b24734eea3ba36a24b29f2a7e9856b1f4de5217
HEAD_REF master
+ PATCHES fix-build-error.patch
)
+set(USE_ZLIB OFF)
+if("zlib" IN_LIST FEATURES)
+ set(USE_ZLIB ON)
+endif()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
+ OPTIONS
+ -DGSL_INCLUDE_PATH=${CURRENT_INSTALLED_DIR}/include
+ -DTELNETPP_WITH_ZLIB=${USE_ZLIB}
+ -DTELNETPP_WITH_TESTS=OFF
)
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_fixup_cmake_targets(CONFIG_PATH share/telnetpp)
vcpkg_copy_pdbs()
+# 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)
# Handle copyright
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/telnetpp RENAME copyright)
diff --git a/ports/tensorflow-cc/CONTROL b/ports/tensorflow-cc/CONTROL
index 05e336e53..29f15a376 100644
--- a/ports/tensorflow-cc/CONTROL
+++ b/ports/tensorflow-cc/CONTROL
@@ -1,4 +1,4 @@
Source: tensorflow-cc
-Version: 1.14
+Version: 1.14-1
Description: Library for computation using data flow graphs for scalable machine learning
Build-Depends: c-ares
diff --git a/ports/tensorflow-cc/fix-build-error.patch b/ports/tensorflow-cc/fix-build-error.patch
new file mode 100644
index 000000000..89a15f17a
--- /dev/null
+++ b/ports/tensorflow-cc/fix-build-error.patch
@@ -0,0 +1,22 @@
+diff --git a/tensorflow/core/platform/default/logging.h b/tensorflow/core/platform/default/logging.h
+index 99dd6de..3cbe8ed 100644
+--- a/tensorflow/core/platform/default/logging.h
++++ b/tensorflow/core/platform/default/logging.h
+@@ -82,13 +82,13 @@ class LogMessageFatal : public LogMessage {
+ };
+
+ #define _TF_LOG_INFO \
+- ::tensorflow::internal::LogMessage(__FILE__, __LINE__, ::tensorflow::INFO)
++ tensorflow::internal::LogMessage(__FILE__, __LINE__, tensorflow::INFO)
+ #define _TF_LOG_WARNING \
+- ::tensorflow::internal::LogMessage(__FILE__, __LINE__, ::tensorflow::WARNING)
++ tensorflow::internal::LogMessage(__FILE__, __LINE__, tensorflow::WARNING)
+ #define _TF_LOG_ERROR \
+- ::tensorflow::internal::LogMessage(__FILE__, __LINE__, ::tensorflow::ERROR)
++ tensorflow::internal::LogMessage(__FILE__, __LINE__, tensorflow::ERROR)
+ #define _TF_LOG_FATAL \
+- ::tensorflow::internal::LogMessageFatal(__FILE__, __LINE__)
++ tensorflow::internal::LogMessageFatal(__FILE__, __LINE__)
+
+ #define _TF_LOG_QFATAL _TF_LOG_FATAL
+
diff --git a/ports/tensorflow-cc/portfile.cmake b/ports/tensorflow-cc/portfile.cmake
index 0e40f859b..aebdf8d65 100644
--- a/ports/tensorflow-cc/portfile.cmake
+++ b/ports/tensorflow-cc/portfile.cmake
@@ -2,6 +2,10 @@ include(vcpkg_common_functions)
message(WARNING "This tensorflow port currently is experimental on Windows and Linux platforms.")
+if (VCPKG_TARGET_ARCHITECTURE STREQUAL x86)
+ message(FATAL_ERROR "TensorFlow does not support 32bit system.")
+endif()
+
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO tensorflow/tensorflow
@@ -10,6 +14,7 @@ vcpkg_from_github(
HEAD_REF master
PATCHES
file-exists.patch # required or otherwise it cant find python lib path on windows
+ fix-build-error.patch # Fix namespace error
)
# due to https://github.com/bazelbuild/bazel/issues/8028, bazel must be version 25.0 or higher
diff --git a/ports/tidy-html5/CONTROL b/ports/tidy-html5/CONTROL
index af8276ee5..e2fc58b1d 100644
--- a/ports/tidy-html5/CONTROL
+++ b/ports/tidy-html5/CONTROL
@@ -1,4 +1,4 @@
Source: tidy-html5
-Version: 5.6.0-1
+Version: 5.7.28
Homepage: https://github.com/htacg/tidy-html5
Description: Tidy tidies HTML and XML. It can tidy your documents by itself, and developers can easily integrate its features into even more powerful tools.
diff --git a/ports/tidy-html5/portfile.cmake b/ports/tidy-html5/portfile.cmake
index e59904923..0d6e695ae 100644
--- a/ports/tidy-html5/portfile.cmake
+++ b/ports/tidy-html5/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO htacg/tidy-html5
- REF 5.6.0
- SHA512 179088a6dbd29bb0e4f0219222f755b186145495f7414f6d0e178803ab67140391283d35352d946f9790c6b1b5b462ee6e24f1cc84f19391cb9b65e73979ffd1
+ REF d1b906991a7587688d384b648c55731f9be52506
+ SHA512 ac1229f95db9ab6367d7650e27b87e76a0874e01c9d404e8c5fb75ba2761318218b658a4f7522188fda8008974393a333a8a5fbed8e3a472c98445f13e459ad5
HEAD_REF master
PATCHES
remove_execution_character_set.patch
diff --git a/ports/tinkerforge/CMakeLists.txt b/ports/tinkerforge/CMakeLists.txt
index 671f7d145..3cd991650 100644
--- a/ports/tinkerforge/CMakeLists.txt
+++ b/ports/tinkerforge/CMakeLists.txt
@@ -5,19 +5,18 @@ if(WIN32)
set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}")
endif()
-if(NOT TARGET_INSTALL_DIR)
- set(TARGET_INSTALL_DIR "share/${PROJECT_NAME}")
-endif()
+project(tinkerforge LANGUAGES C VERSION 2.1.25)
if(NOT CONFIG_INSTALL_DIR)
- set(CONFIG_INSTALL_DIR "share/${PROJECT_NAME}")
+ set(CONFIG_INSTALL_DIR "share/${PROJECT_NAME}/")
endif()
-
if(NOT INCLUDE_INSTALL_DIR)
set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}")
endif()
+if(NOT TARGET_INSTALL_DIR)
+ set(TARGET_INSTALL_DIR "share/${PROJECT_NAME}")
+endif()
-project(tinkerforge LANGUAGES C VERSION 2.1.25)
file(GLOB CPP_FILES source/*.c)
file(GLOB H_FILES source/*.h)
@@ -27,7 +26,13 @@ add_library(${PROJECT_NAME} ${CPP_FILES} ${H_FILES} ${DEF_FILE})
target_include_directories(${PROJECT_NAME} PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/source>
$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}/${PROJECT_NAME}>)
-target_link_libraries(${PROJECT_NAME} PUBLIC Ws2_32)
+
+find_package(Threads)
+target_link_libraries(${PROJECT_NAME} PUBLIC Threads::Threads)
+
+if("${CMAKE_SYSTEM_NAME}" MATCHES "Windows")
+ target_link_libraries(${PROJECT_NAME} PUBLIC Ws2_32 advapi32)
+endif()
##---------------------------------------------------------------------------------------##
##----- Package definition.
##---------------------------------------------------------------------------------------##
diff --git a/ports/tinkerforge/portfile.cmake b/ports/tinkerforge/portfile.cmake
index 128f72e32..cfc5c3989 100644
--- a/ports/tinkerforge/portfile.cmake
+++ b/ports/tinkerforge/portfile.cmake
@@ -24,7 +24,7 @@ vcpkg_configure_cmake(
)
vcpkg_install_cmake()
-vcpkg_fixup_cmake_targets(CONFIG_PATH share)
+vcpkg_fixup_cmake_targets()
file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/debug/include
diff --git a/ports/tinkerforge/tinkerforgeConfig.cmake.in b/ports/tinkerforge/tinkerforgeConfig.cmake.in
index 440db8a6c..07b771c65 100644
--- a/ports/tinkerforge/tinkerforgeConfig.cmake.in
+++ b/ports/tinkerforge/tinkerforgeConfig.cmake.in
@@ -1,5 +1,5 @@
@PACKAGE_INIT@
-include ("@PACKAGE_TARGET_INSTALL_DIR@@PROJECT_NAME@Targets.cmake")
-set_and_check(REFL_ENUM_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@")
+include ("@PACKAGE_TARGET_INSTALL_DIR@/@PROJECT_NAME@Targets.cmake")
+set_and_check(TINKERFORGE_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@")
check_required_components("@PROJECT_NAME@")
diff --git a/ports/tinyutf8/CONTROL b/ports/tinyutf8/CONTROL
index 107d4bd66..f07665f87 100644
--- a/ports/tinyutf8/CONTROL
+++ b/ports/tinyutf8/CONTROL
@@ -1,3 +1,3 @@
Source: tinyutf8
-Version: 3
+Version: 3.0.1
Description: TINYUTF8 is a library for extremely easy integration of Unicode into an arbitrary C++11 project.
diff --git a/ports/tinyutf8/portfile.cmake b/ports/tinyutf8/portfile.cmake
index 5444310ce..ad4fad352 100644
--- a/ports/tinyutf8/portfile.cmake
+++ b/ports/tinyutf8/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO DuffsDevice/tinyutf8
- REF v3
- SHA512 a11e7e7728afec7b2d9b6ed58ca20f29ca71823854a42b99b622e42b42389290f49ce7dd3bb6c5596e15fa369266a47364887bb253643440882d31f7689affec
+ REF 8dc06049d8bc4455145eaf647ce7a4733ba26557
+ SHA512 00a11febc36f7bc7c6af60c7d43e558ea145ec9f3ef85cfe4bc53ef4d51e233e85c15159825aa684b5a003f04c48d3453256ebb572e810a75206e79c5c87f2d6
HEAD_REF master
PATCHES fixbuild.patch
)
diff --git a/ports/type-lite/CONTROL b/ports/type-lite/CONTROL
new file mode 100644
index 000000000..79f1e9fd6
--- /dev/null
+++ b/ports/type-lite/CONTROL
@@ -0,0 +1,9 @@
+Source: type-lite
+Version: 0.1.0
+Homepage: https://github.com/martinmoene/type-lite
+Description: Strong types for C++98, C++11 and later in a single-file header-only library.
+
+Feature: test
+Description: Build with test
+
+
diff --git a/ports/type-lite/portfile.cmake b/ports/type-lite/portfile.cmake
new file mode 100644
index 000000000..27cec8aab
--- /dev/null
+++ b/ports/type-lite/portfile.cmake
@@ -0,0 +1,32 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO martinmoene/type-lite
+ REF v0.1.0
+ SHA512 5a5ea623890af9c88c7f82869278af743e08b3dbda3c48c4523737244a7da76d2509501b4502efc2226aaef5df72b6ff69cd6b5b36c8cfc282b8c8406525016b
+ HEAD_REF master
+)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ test BUILD_TESTS
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DTYPE_LITE_OPT_BUILD_TESTS=${BUILD_TESTS}
+ -DTYPE_LITE_OPT_BUILD_EXAMPLES=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib)
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
diff --git a/ports/unicorn-lib/CONTROL b/ports/unicorn-lib/CONTROL
index 9da8c56e9..ff66a2925 100644
--- a/ports/unicorn-lib/CONTROL
+++ b/ports/unicorn-lib/CONTROL
@@ -1,5 +1,5 @@
Source: unicorn-lib
-Version: 2019-05-07-1
+Version: 2019-07-11
Homepage: https://github.com/CaptainCrowbar/unicorn-lib
Description: Unicode library for C++ by Ross Smith
Build-Depends: rs-core-lib, pcre2, zlib, libiconv
diff --git a/ports/unicorn-lib/portfile.cmake b/ports/unicorn-lib/portfile.cmake
index 305d659ac..6584a4d22 100644
--- a/ports/unicorn-lib/portfile.cmake
+++ b/ports/unicorn-lib/portfile.cmake
@@ -8,8 +8,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO CaptainCrowbar/unicorn-lib
- REF 3e4e014bbf6fe24721a14c63f2a4f7ebfa401e7c
- SHA512 f73f288fb50f9f727edfc84810a15f1fdde76df9030c4b0d5292351e84ec8cd6c8a7e670b2a62301a77521bf60ebcf1bf7c8c9d97ddb77385ed945b55075c927
+ REF ba11f5930dbeb5f8e04b2ee727b6dd3932fd6b03
+ SHA512 2b1c8f12c3d29bfcff7209763000f2b9db612cefd384d9f015cc07a1ebeb498ba3e8b13dba4d94a86828d3f7eafc17eede21be9926080426f0417d3ad2cee396
HEAD_REF master
)
diff --git a/ports/unicorn/CONTROL b/ports/unicorn/CONTROL
index 71a3bd18c..74d581487 100644
--- a/ports/unicorn/CONTROL
+++ b/ports/unicorn/CONTROL
@@ -1,4 +1,4 @@
Source: unicorn
-Version: 2019-04-19
+Version: 2019-07-11
Homepage: https://github.com/unicorn-engine/unicorn
Description: Unicorn is a lightweight multi-platform, multi-architecture CPU emulator framework
diff --git a/ports/unicorn/portfile.cmake b/ports/unicorn/portfile.cmake
index 37120935c..f00f565d7 100644
--- a/ports/unicorn/portfile.cmake
+++ b/ports/unicorn/portfile.cmake
@@ -14,8 +14,8 @@ set(VCPKG_CRT_LINKAGE "static")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO unicorn-engine/unicorn
- REF 778171fc9546c1fc3d1341ff1151eab379848ea0
- SHA512 cad25326259d054718c8e338278374ba6b5dffbc84598023c14b64218139b106e8004dc9f6e2cd679638258da3de2f3cc5974e07639eda346d7e4ebcf44bd00e
+ REF 24f55a7973278f20f0de21b904851d99d4716263
+ SHA512 5ef71bbab8480783cba01bc58c6444ee933dbdca86ad452a70ccc0991d9cc2466e4e89f1818589d20199d9ce14b7fe9018b4e8331c26f14ceaa9185cfe9cd5fc
HEAD_REF master
)
diff --git a/ports/unrar/CONTROL b/ports/unrar/CONTROL
index f105d84bc..26a52bd1d 100644
--- a/ports/unrar/CONTROL
+++ b/ports/unrar/CONTROL
@@ -1,4 +1,4 @@
Source: unrar
-Version: 5.5.8-2
+Version: 5.8.1
Homepage: https://www.rarlab.com
Description: rarlab's unrar libary
diff --git a/ports/unrar/msbuild-use-default-sma.patch b/ports/unrar/msbuild-use-default-sma.patch
new file mode 100644
index 000000000..928f5a377
--- /dev/null
+++ b/ports/unrar/msbuild-use-default-sma.patch
@@ -0,0 +1,52 @@
+diff --git a/UnRARDll.vcxproj b/UnRARDll.vcxproj
+index ec5c17b00..7d3d91bc6 100644
+--- a/UnRARDll.vcxproj
++++ b/UnRARDll.vcxproj
+@@ -138,7 +138,6 @@
+ <ExceptionHandling>Sync</ExceptionHandling>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+- <StructMemberAlignment>4Bytes</StructMemberAlignment>
+ <RuntimeTypeInfo>false</RuntimeTypeInfo>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <PrecompiledHeaderFile>rar.hpp</PrecompiledHeaderFile>
+@@ -168,7 +167,6 @@
+ <ExceptionHandling>Sync</ExceptionHandling>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+- <StructMemberAlignment>4Bytes</StructMemberAlignment>
+ <RuntimeTypeInfo>false</RuntimeTypeInfo>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <PrecompiledHeaderFile>rar.hpp</PrecompiledHeaderFile>
+@@ -198,7 +196,6 @@
+ <MinimalRebuild>false</MinimalRebuild>
+ <ExceptionHandling>Sync</ExceptionHandling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+- <StructMemberAlignment>4Bytes</StructMemberAlignment>
+ <BufferSecurityCheck>true</BufferSecurityCheck>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet>
+@@ -239,7 +236,6 @@
+ <MinimalRebuild>false</MinimalRebuild>
+ <ExceptionHandling>Sync</ExceptionHandling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+- <StructMemberAlignment>4Bytes</StructMemberAlignment>
+ <BufferSecurityCheck>true</BufferSecurityCheck>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <RuntimeTypeInfo>false</RuntimeTypeInfo>
+@@ -274,7 +270,6 @@
+ <MinimalRebuild>false</MinimalRebuild>
+ <ExceptionHandling>Sync</ExceptionHandling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+- <StructMemberAlignment>4Bytes</StructMemberAlignment>
+ <BufferSecurityCheck>true</BufferSecurityCheck>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet>
+@@ -315,7 +310,6 @@
+ <MinimalRebuild>false</MinimalRebuild>
+ <ExceptionHandling>Sync</ExceptionHandling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+- <StructMemberAlignment>4Bytes</StructMemberAlignment>
+ <BufferSecurityCheck>true</BufferSecurityCheck>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <RuntimeTypeInfo>false</RuntimeTypeInfo>
diff --git a/ports/unrar/portfile.cmake b/ports/unrar/portfile.cmake
index 458d51783..46657946a 100644
--- a/ports/unrar/portfile.cmake
+++ b/ports/unrar/portfile.cmake
@@ -1,9 +1,8 @@
include(vcpkg_common_functions)
-set(UNRAR_VERSION "5.5.8")
-set(UNRAR_SHA512 9eac83707fa47a03925e5f3e8adf47889064d748304b732d12a2d379ab525b441f1aa33216377d4ef445f45c4e8ad73d2cd0b560601ceac344c60571b77fd6aa)
+set(UNRAR_VERSION "5.8.1")
+set(UNRAR_SHA512 31303df575e8a5ed9fc03e20d0482306536c3496894a39788052c5c9dfde61eb7f5ca29b8c48354581622a020aa446f108af956ab43024a48731a12233155612)
set(UNRAR_FILENAME unrarsrc-${UNRAR_VERSION}.tar.gz)
-set(UNRAR_URL http://www.rarlab.com/rar/${UNRAR_FILENAME})
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/unrar)
+set(UNRAR_URL https://www.rarlab.com/rar/${UNRAR_FILENAME})
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
@@ -13,7 +12,12 @@ vcpkg_download_distfile(ARCHIVE
FILENAME ${UNRAR_FILENAME}
SHA512 ${UNRAR_SHA512}
)
-vcpkg_extract_source_archive(${ARCHIVE})
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+ REF ${UNRAR_VERSION}
+ PATCHES msbuild-use-default-sma.patch
+)
vcpkg_build_msbuild(
PROJECT_PATH "${SOURCE_PATH}/UnRARDll.vcxproj"
diff --git a/ports/uvw/CONTROL b/ports/uvw/CONTROL
index a3507632b..3268b0daa 100644
--- a/ports/uvw/CONTROL
+++ b/ports/uvw/CONTROL
@@ -1,5 +1,5 @@
Source: uvw
-Version: 1.17.0_libuv-v1.29-1
+Version: 1.18.0
Description: Header-only, event based, tiny and easy to use libuv wrapper in modern C++.
Homepage: https://github.com/skypjack/uvw
Build-Depends: libuv
diff --git a/ports/uvw/portfile.cmake b/ports/uvw/portfile.cmake
index ba640b597..cc08a7a82 100644
--- a/ports/uvw/portfile.cmake
+++ b/ports/uvw/portfile.cmake
@@ -4,8 +4,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO skypjack/uvw
- REF v1.17.0_libuv-v1.29
- SHA512 2e3ee6e55950185e1889c99b07d63d811d89ad20705253ad699a828073f5ea7860616e0ae980232c7819d3fd21a4cb7a2e9d084fd8c4f40b19951106f08b9ad0
+ REF 6ce60d4088bddce4d38a0aa81f99b03879d2f471
+ SHA512 125b517a68f7804ea895fe7f1ca9c63139a3855ef47d16de631ccfda9a2cb8217b5f7f489ed463f72267c6f55718045c60da52e97936ce39d9f1ebe7232b4ea4
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
diff --git a/ports/uwebsockets/CONTROL b/ports/uwebsockets/CONTROL
index 663538f96..aab615564 100644
--- a/ports/uwebsockets/CONTROL
+++ b/ports/uwebsockets/CONTROL
@@ -1,5 +1,5 @@
Source: uwebsockets
-Version: 0.15.6
+Version: 0.15.7
Build-Depends: zlib, usockets
Homepage: https://github.com/uWebSockets/uWebSockets
Description: Simple, secure & standards compliant web I/O for the most demanding of applications
diff --git a/ports/uwebsockets/portfile.cmake b/ports/uwebsockets/portfile.cmake
index dc8f5255e..350cc2f1a 100644
--- a/ports/uwebsockets/portfile.cmake
+++ b/ports/uwebsockets/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO uNetworking/uWebSockets
- REF v0.15.6
- SHA512 ba5dc18412ecceadb48e3c0f9b6f6d9ea920b76c36b12456bc96198346149010257c0f7807a1e1cc262ae0eca07e1994d3f1e3be0b3c815ce455d778c5375311
+ REF bc6ea664b17fb3736e1330e908aee00c4f3a750b
+ SHA512 a629c0a3d6ca3c6e7681cb8632076940c81de1493e1fcdfb7cdfb7eab4c4a05ccf3b5d53c4c325548e770176ce36fb4e67f212f65713d2dacb679da570930380
HEAD_REF master
)
diff --git a/ports/value-ptr-lite/CONTROL b/ports/value-ptr-lite/CONTROL
new file mode 100644
index 000000000..0891d31fd
--- /dev/null
+++ b/ports/value-ptr-lite/CONTROL
@@ -0,0 +1,7 @@
+Source: value-ptr-lite
+Version: 0.2.1
+Homepage: https://github.com/martinmoene/value-ptr-lite
+Description: A C++ smart-pointer with value semantics for C++98, C++11 and later in a single-file header-only library.
+
+Feature: test
+Description: Build with test \ No newline at end of file
diff --git a/ports/value-ptr-lite/portfile.cmake b/ports/value-ptr-lite/portfile.cmake
new file mode 100644
index 000000000..a0e429b33
--- /dev/null
+++ b/ports/value-ptr-lite/portfile.cmake
@@ -0,0 +1,32 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO martinmoene/value-ptr-lite
+ REF v0.2.1
+ SHA512 96bea32310b3b3f91d19706d8ae9bdfa9a6ba485f529562e3b7cf89311d1e9b99fd24c0c6f23d169c5a7c84ebd9bd7b8ace972ee279b38c4c1caa398a3dd1590
+ HEAD_REF master
+)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ test BUILD_TESTS
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DVALUE_PTR_LITE_OPT_BUILD_TESTS=${BUILD_TESTS}
+ -DVALUE_PTR_LITE_OPT_BUILD_EXAMPLES=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/value_ptr-lite)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib)
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
diff --git a/ports/vectorclass/CMakeLists.txt b/ports/vectorclass/CMakeLists.txt
new file mode 100644
index 000000000..54b83b267
--- /dev/null
+++ b/ports/vectorclass/CMakeLists.txt
@@ -0,0 +1,24 @@
+cmake_minimum_required(VERSION 3.8.0)
+project(vectorclass VERSION 2.00.01 LANGUAGES CXX)
+
+add_library(${PROJECT_NAME} STATIC instrset_detect.cpp)
+
+target_include_directories(${PROJECT_NAME} INTERFACE
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+ $<INSTALL_INTERFACE:include/${PROJECT_NAME}>)
+
+target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_17)
+
+include(CMakePackageConfigHelpers)
+write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake"
+ VERSION ${${PROJECT_NAME}_VERSION}
+ COMPATIBILITY SameMajorVersion)
+
+install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}-config)
+install(
+ EXPORT ${PROJECT_NAME}-config DESTINATION lib/cmake/${PROJECT_NAME}
+ NAMESPACE ${PROJECT_NAME}::)
+install(
+ FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake"
+ DESTINATION lib/cmake/${PROJECT_NAME})
+install(DIRECTORY . DESTINATION include/${PROJECT_NAME} FILES_MATCHING PATTERN *.h) \ No newline at end of file
diff --git a/ports/vectorclass/CONTROL b/ports/vectorclass/CONTROL
new file mode 100644
index 000000000..cc3471358
--- /dev/null
+++ b/ports/vectorclass/CONTROL
@@ -0,0 +1,4 @@
+Source: vectorclass
+Version: 2.00.01
+Homepage: https://github.com/vectorclass/version2
+Description: C++ class library for using the Single Instruction Multiple Data (SIMD) instructions in modern Microprocessors
diff --git a/ports/vectorclass/portfile.cmake b/ports/vectorclass/portfile.cmake
new file mode 100644
index 000000000..2ec273262
--- /dev/null
+++ b/ports/vectorclass/portfile.cmake
@@ -0,0 +1,24 @@
+vcpkg_fail_port_install(ON_ARCH "arm" "arm64")
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO vectorclass/version2
+ REF v2.00.01
+ SHA512 2e1f714cf0e23cf7986f0e78b4c1eeab4da6434ac92449b81990931e19ae189df6fbbef50f11e9532a41dc6eaff0a4fea840349a3747621ff537bbd7519f2c3d
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake TARGET_PATH share)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Put the licence file where vcpkg expects it
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
diff --git a/ports/volk/CONTROL b/ports/volk/CONTROL
new file mode 100644
index 000000000..30fe2c5c2
--- /dev/null
+++ b/ports/volk/CONTROL
@@ -0,0 +1,5 @@
+Source: volk
+Version: 2019-09-03
+Description: Meta loader for Vulkan API
+Homepage: https://github.com/zeux/volk
+Build-Depends: vulkan \ No newline at end of file
diff --git a/ports/volk/portfile.cmake b/ports/volk/portfile.cmake
new file mode 100644
index 000000000..1a0e33680
--- /dev/null
+++ b/ports/volk/portfile.cmake
@@ -0,0 +1,26 @@
+include(vcpkg_common_functions)
+
+# volk is not prepared to be a DLL.
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO zeux/volk
+ REF d6c2bde94f70506240eac22763cf3adf930cedf5
+ SHA512 ef82e00883d873cf895e71539b26bb5f650c0ad6888171177e72323e69a80d3b6767b73bae086b93f2bec144c1d95cc169b5bb8faf4ad0bca600a6ad623942dc
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/volk)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Put the file containing the license where vcpkg expects it
+file(COPY ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/volk/)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/volk/README.md ${CURRENT_PACKAGES_DIR}/share/volk/copyright)
diff --git a/ports/vtk-dicom/CONTROL b/ports/vtk-dicom/CONTROL
index 4d6a1df30..8971de588 100644
--- a/ports/vtk-dicom/CONTROL
+++ b/ports/vtk-dicom/CONTROL
@@ -1,5 +1,5 @@
Source: vtk-dicom
-Version: 0.8.9
+Version: 0.8.10
Description: DICOM for VTK
Build-Depends: vtk, zlib
diff --git a/ports/vtk-dicom/portfile.cmake b/ports/vtk-dicom/portfile.cmake
index dd890ec26..3ee254d42 100644
--- a/ports/vtk-dicom/portfile.cmake
+++ b/ports/vtk-dicom/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO dgobbi/vtk-dicom
- REF v0.8.9
- SHA512 f75295a25896b4d571e9d9bb04fbedbd8bcf5e12637d17b6eadceda296fc105decb44c6cb09f1d69daf17093bb61cdb8909fcde347137f30eb6b8b2b298ff065
+ REF faf41f35652fcdd66038e623dff5fbc748ccf15b
+ SHA512 8e03e24e28420e48046f15305ea4b8120ac6a4e34eef2f6d1f38e4ebde16e037e7383ff53c3091e939167fadccbbcbe6471bb8ac8c56c9232d3992c56489a102
HEAD_REF master
)
diff --git a/ports/vtk/CONTROL b/ports/vtk/CONTROL
index c44c77880..5b95fede8 100644
--- a/ports/vtk/CONTROL
+++ b/ports/vtk/CONTROL
@@ -1,5 +1,5 @@
Source: vtk
-Version: 8.2.0-5
+Version: 8.2.0-6
Description: Software system for 3D computer graphics, image processing, and visualization
Homepage: https://github.com/Kitware/VTK
Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora, atlmfc (windows), eigen3, double-conversion, pugixml, libharu, sqlite3, netcdf-c
diff --git a/ports/vtk/fix-find-lzma.patch b/ports/vtk/fix-find-lzma.patch
new file mode 100644
index 000000000..a194b6f9b
--- /dev/null
+++ b/ports/vtk/fix-find-lzma.patch
@@ -0,0 +1,16 @@
+diff --git a/CMake/FindLZMA.cmake b/CMake/FindLZMA.cmake
+index 213ab18df1..1e290da4cb 100644
+--- a/CMake/FindLZMA.cmake
++++ b/CMake/FindLZMA.cmake
+@@ -1,7 +1,10 @@
+
+-find_library(LZMA_LIBRARIES NAMES lzma)
++find_library(LZMA_LIBRARY_RELEASE NAMES lzma PATH_SUFFIXES lib)
++find_library(LZMA_LIBRARY_DEBUG NAME lzmad PATH_SUFFIXES debug/lib)
+ find_path(LZMA_INCLUDE_DIRS NAMES lzma.h)
+
++select_library_configurations(LZMA)
++
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(LZMA
+ DEFAULT_MSG
diff --git a/ports/vtk/portfile.cmake b/ports/vtk/portfile.cmake
index 69d2ddd2a..a7181ca98 100644
--- a/ports/vtk/portfile.cmake
+++ b/ports/vtk/portfile.cmake
@@ -49,6 +49,7 @@ vcpkg_from_github(
fix_ogg_linkage.patch
fix-pugixml-link.patch
hdf5_static.patch
+ fix-find-lzma.patch
)
# Remove the FindGLEW.cmake and FindPythonLibs.cmake that are distributed with VTK,
diff --git a/ports/vulkan/usage b/ports/vulkan/usage
index 7924cf3cd..62130b840 100644
--- a/ports/vulkan/usage
+++ b/ports/vulkan/usage
@@ -2,7 +2,7 @@ The package vulkan does not provide cmake or visual studio integration directly.
However, it can still easily be used.
Visual Studio:
- Include ${VULKAN_SDK}/include to your include path.
+ Include $(VULKAN_SDK)/include to your include path.
CMake:
find_package(Vulkan REQUIRED)
diff --git a/ports/wampcc/CONTROL b/ports/wampcc/CONTROL
new file mode 100644
index 000000000..52311079d
--- /dev/null
+++ b/ports/wampcc/CONTROL
@@ -0,0 +1,10 @@
+Source: wampcc
+Build-Depends: openssl, libuv, jansson
+Version: 2019-09-04
+Description: Wampcc is C++ library that implements the Web Application Messaging Protocol (WAMP) protocol.
+
+Feature: utils
+Description: Build utility apps
+
+Feature: examples
+Description: Build example apps \ No newline at end of file
diff --git a/ports/wampcc/portfile.cmake b/ports/wampcc/portfile.cmake
new file mode 100644
index 000000000..b9e4e1d60
--- /dev/null
+++ b/ports/wampcc/portfile.cmake
@@ -0,0 +1,53 @@
+include(vcpkg_common_functions)
+
+if (VCPKG_TARGET_IS_WINDOWS)
+ message("Shared build is broken under Windows. See https://github.com/darrenjs/wampcc/issues/57")
+ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+endif()
+
+if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ set(BUILD_ARCH "Win32")
+elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ set(BUILD_ARCH "x64")
+elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
+ set(BUILD_ARCH "ARM")
+else()
+ message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO darrenjs/wampcc
+ REF 43d10a7ccf37ec1b895742712dd4a05577b73ff1
+ SHA512 e830d26de00e8f5f378145f06691cb16121c40d3bd2cd663fad9a97db37251a11b56053178b619e3a2627f0cd518b6290a8381b26e517a9f16f0246d2f91958e
+ HEAD_REF master
+)
+
+# Utils build is broken under Windows
+if ("utils" IN_LIST FEATURES)
+ if (VCPKG_TARGET_IS_WINDOWS)
+ message(FATAL_ERROR "'utils' build is broken under Windows")
+ endif()
+
+ set(ENABLE_UTILS ON)
+else()
+ set(ENABLE_UTILS OFF)
+endif()
+
+if ("examples" IN_LIST FEATURES)
+ set(ENABLE_EXAMPLES ON)
+else()
+ set(ENABLE_EXAMPLES OFF)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DBUILD_UTILS:BOOL=${ENABLE_UTILS}
+ -DBUILD_EXAMPLES:BOOL=${ENABLE_EXAMPLES}
+ -DBUILD_TESTS:BOOL=OFF # Tests build is broken
+)
+vcpkg_install_cmake()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/wampcc RENAME copyright)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
diff --git a/ports/wangle/CONTROL b/ports/wangle/CONTROL
index 2597d8afd..62ba7c578 100644
--- a/ports/wangle/CONTROL
+++ b/ports/wangle/CONTROL
@@ -1,4 +1,4 @@
Source: wangle
-Version: 2019.05.20.00-1
+Version: 2019.07.08.00
Build-Depends: fizz, folly, openssl, glog, libevent, double-conversion, boost-system, boost-thread, boost-filesystem, boost-regex, boost-context
Description: Wangle is a framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way.
diff --git a/ports/wangle/portfile.cmake b/ports/wangle/portfile.cmake
index 2ae73025a..f28d89b58 100644
--- a/ports/wangle/portfile.cmake
+++ b/ports/wangle/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebook/wangle
- REF 19300a75c27759339c44cf06ecedf7ab00703e8b
- SHA512 cc9a5a956862e9d4321df7c0394fbb877c5f0b0f8eae1da6aad88239a2cc0b4cd694bd25e0f70f3da8a24c34f4f035bcfb53919fd99634219e0816c78477cee2
+ REF dd8db335004ed094ab52645ca7174abc1be075ec
+ SHA512 8a83c5bb708b433e0a4be493c31f66276cb742c0782d2c9d34c2337a3e998fe909f977df2581823c0e3618e26999c0bfc2dd019186c40906948004a29a2a082d
HEAD_REF master
PATCHES
build.patch
diff --git a/ports/wavpack/CONTROL b/ports/wavpack/CONTROL
index 7b169e060..d823de39d 100644
--- a/ports/wavpack/CONTROL
+++ b/ports/wavpack/CONTROL
@@ -1,3 +1,4 @@
Source: wavpack
-Version: 5.1.0-00d9a4a-1
+Version: 5.1.0-2
+Homepage: https://github.com/dbry/WavPack
Description: WavPack encode/decode library, command-line programs, and several plugins
diff --git a/ports/wavpack/portfile.cmake b/ports/wavpack/portfile.cmake
index db2df1cde..c23efa1cb 100644
--- a/ports/wavpack/portfile.cmake
+++ b/ports/wavpack/portfile.cmake
@@ -1,15 +1,3 @@
-# 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/00d9a4ac58a52b52495736be614cb06ba102663c)
@@ -43,8 +31,7 @@ vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-# Handle copyright
-file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/wavpack RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
# Post-build test for cmake libraries
# vcpkg_test_cmake(PACKAGE_NAME wavpack)
diff --git a/ports/winreg/CONTROL b/ports/winreg/CONTROL
new file mode 100644
index 000000000..665adb1a7
--- /dev/null
+++ b/ports/winreg/CONTROL
@@ -0,0 +1,4 @@
+Source: winreg
+Version: 1.2.1
+Homepage: https://github.com/GiovanniDicanio/WinReg
+Description: High-level C++ wrapper around the Windows Registry C API. \ No newline at end of file
diff --git a/ports/winreg/portfile.cmake b/ports/winreg/portfile.cmake
new file mode 100644
index 000000000..d23410cd0
--- /dev/null
+++ b/ports/winreg/portfile.cmake
@@ -0,0 +1,21 @@
+# WinReg - Header-only library
+
+include(vcpkg_common_functions)
+
+if(NOT VCPKG_TARGET_IS_WINDOWS)
+ message("winreg only support windows.")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO GiovanniDicanio/WinReg
+ REF v1.2.1
+ SHA512 c919f91bf37b2fd7c30f6463430e07f3b8d1a01b8d4c84591b56299faf9d5b651d7c3b35a2adc22e3b0aa471627060a45e179f98f309242683b17d4d0d81cb7b
+ HEAD_REF master
+)
+
+# Copy the single reusable library header
+file(COPY ${SOURCE_PATH}/WinReg/WinReg/WinReg.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT})
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) \ No newline at end of file
diff --git a/ports/wpilib/CONTROL b/ports/wpilib/CONTROL
index a7542e8b8..b37784225 100644
--- a/ports/wpilib/CONTROL
+++ b/ports/wpilib/CONTROL
@@ -1,6 +1,6 @@
Source: wpilib
-Version: 2019.5.1
-Build-Depends: libuv
+Version: 2019.6.1
+Build-Depends: eigen3, libuv
Description: WPILib is the software library package for the FIRST Robotics Competition. The core install includes wpiutil, a common utilies library, and ntcore, the base NetworkTables library.
Feature: cameraserver
@@ -8,5 +8,5 @@ Build-Depends: opencv
Description: Enables the CameraServer and CSCore libraries for manipulating USB Cameras and HTTP Camera Streams
Feature: allwpilib
-Build-Depends: wpilib[cameraserver] opencv
+Build-Depends: wpilib[cameraserver], opencv
Description: Enables the simulation HAL, and the high level wpilibc library.
diff --git a/ports/wpilib/portfile.cmake b/ports/wpilib/portfile.cmake
index 314f0111b..4500400c7 100644
--- a/ports/wpilib/portfile.cmake
+++ b/ports/wpilib/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO wpilibsuite/allwpilib
- REF 3dfb01d45b971ffdfeea50ce58653eff592807d9
- SHA512 188923cbe166f5812a24a06d8af56bda289aaed38231d45583d423e51e9cd23bb257ade02fdc26e8d0fdd6cdcb793282c04ac80ebad76f29fdbd0a3c1a10f05c
+ REF d10a1a797720014197c21dee38fdced73454dca4
+ SHA512 a76e8652b6d6a921d466e08bcf162ee1b28c06af031b616b2333f8a9479ffd12d1c301182dac86e5d7d59909a21cbee4e551028393df80671336546c14ecf606
)
set(WITHOUT_JAVA ON)
@@ -28,6 +28,7 @@ vcpkg_configure_cmake(
-DWITHOUT_CSCORE=${WITHOUT_CSCORE}
-DWITHOUT_ALLWPILIB=${WITHOUT_ALLWPILIB}
-DUSE_VCPKG_LIBUV=ON
+ -DUSE_VCPKG_EIGEN=ON
-DFLAT_INSTALL_WPILIB=ON
)
vcpkg_install_cmake()
diff --git a/ports/wren/CMakeLists.txt b/ports/wren/CMakeLists.txt
new file mode 100644
index 000000000..b57a6a907
--- /dev/null
+++ b/ports/wren/CMakeLists.txt
@@ -0,0 +1,50 @@
+# CMake taken from https://github.com/walterschell/wren/blob/cmake/CMakeLists.txt
+
+# Need transitive dependencies introduced in 2.8.12
+cmake_minimum_required(VERSION 2.8.12)
+
+project(Wren LANGUAGES "C")
+
+set(wren_warning_flags "-Wall" "-Wextra" "-Werror" "-Wno-unused-parameter")
+
+IF (WIN32)
+ ADD_DEFINITIONS (-D_CRT_SECURE_NO_WARNINGS )
+ENDIF ()
+
+set(opt_DIR "src/optional")
+set(vm_DIR "src/vm")
+
+# TODO: Don't glob
+file(GLOB opt_SRCS ${opt_DIR}/*.c)
+file(GLOB vm_SRCS ${vm_DIR}/*.c)
+
+set(wren_SRCS ${vm_SRCS} ${opt_SRCS})
+
+add_library(wren ${wren_SRCS})
+
+target_include_directories(wren PUBLIC src/include PRIVATE src/vm src/optional)
+
+target_link_libraries(wren INTERFACE m)
+
+target_compile_options(wren PRIVATE "-Wall")
+
+if (CMAKE_BUILD_TYPE STREQUAL "Debug")
+ target_compile_options(wren PUBLIC -DDEBUG)
+endif()
+
+
+INSTALL (TARGETS wren
+ RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
+ LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
+)
+
+
+IF (NOT DEFINED SKIP_INSTALL_HEADERS)
+ INSTALL(
+ FILES
+ src/include/wren.h
+ src/include/wren.hpp
+ DESTINATION include
+ )
+ENDIF ()
diff --git a/ports/wren/CONTROL b/ports/wren/CONTROL
new file mode 100644
index 000000000..7ea85e165
--- /dev/null
+++ b/ports/wren/CONTROL
@@ -0,0 +1,4 @@
+Source: wren
+Version: 2019-07-01
+Homepage: https://github.com/wren-lang/wren
+Description: Wren is a small, fast, class-based concurrent scripting language.
diff --git a/ports/wren/portfile.cmake b/ports/wren/portfile.cmake
new file mode 100644
index 000000000..dbd71b8df
--- /dev/null
+++ b/ports/wren/portfile.cmake
@@ -0,0 +1,27 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO wren-lang/wren
+ REF d1a0d0682ac072fa20f2dcca356dac06565e93a1
+ SHA512 d6b7555da10ea209d04308467563ec401f699a22ca8524e4ae65fd050b0403c5e70430047dbb6a883b8021ab50525c17bb63d76543e7c59dfe4b521cfde6c413
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DCOMPILE_AS_CPP=OFF
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
+
+vcpkg_copy_pdbs()
diff --git a/ports/wtl/CONTROL b/ports/wtl/CONTROL
index 126b4d768..d56cb1c3b 100644
--- a/ports/wtl/CONTROL
+++ b/ports/wtl/CONTROL
@@ -1,6 +1,6 @@
Source: wtl
Maintainer: jfrederich@gmail.com
-Version: 10.0-2
+Version: 10.0-3
Homepage: https://sourceforge.net/projects/wtl/
Description: Windows Template Library (WTL) is a C++ library for developing Windows applications and UI components.
Build-Depends:
diff --git a/ports/wtl/portfile.cmake b/ports/wtl/portfile.cmake
index 85cbca6e6..dce8e1432 100644
--- a/ports/wtl/portfile.cmake
+++ b/ports/wtl/portfile.cmake
@@ -1,9 +1,9 @@
#header-only library
include(vcpkg_common_functions)
vcpkg_download_distfile(ARCHIVE
- URLS "https://downloads.sourceforge.net/project/wtl/WTL%2010/WTL%2010.0.8356/WTL10_8356.zip"
- FILENAME "WTL10_8356.zip"
- SHA512 4eb24151f4009cdfebc17f08312cae65d46c8ea205ccc7b56f14c46b54d28d8d4e6290de3150e558dc076d7815a9dde2a8952695f46f4402c83b0da2bf65f241
+ URLS "https://downloads.sourceforge.net/project/wtl/WTL%2010/WTL%2010.0.9163/WTL10_9163.zip"
+ FILENAME "WTL10_9163.zip"
+ SHA512 feb7fb1c456e44ad05610f31f8c0f964eb6ce3eadf65a389219051f0ea2547069727666616622631cd90e25ea4a682a7c88c7089a374181870717246ad44e035
)
vcpkg_extract_source_archive(${ARCHIVE})
diff --git a/ports/wxwidgets/CONTROL b/ports/wxwidgets/CONTROL
index 542fdf327..4d6c57e13 100644
--- a/ports/wxwidgets/CONTROL
+++ b/ports/wxwidgets/CONTROL
@@ -1,5 +1,5 @@
Source: wxwidgets
-Version: 3.1.2-1
+Version: 3.1.2-2
Homepage: https://github.com/wxWidgets/wxWidgets
Description: wxWidgets is a widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications.
Build-Depends: zlib, libpng, tiff, expat
diff --git a/ports/wxwidgets/portfile.cmake b/ports/wxwidgets/portfile.cmake
index 7319f9749..0f946d8d7 100644
--- a/ports/wxwidgets/portfile.cmake
+++ b/ports/wxwidgets/portfile.cmake
@@ -13,6 +13,13 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
set(OPTIONS -DCOTIRE_MINIMUM_NUMBER_OF_TARGET_SOURCES=9999)
endif()
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64 OR VCPKG_TARGET_ARCHITECTURE STREQUAL arm)
+ set(OPTIONS
+ -DwxUSE_OPENGL=OFF
+ -DwxUSE_STACKWALKER=OFF
+ )
+endif()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
diff --git a/ports/xalan-c/CONTROL b/ports/xalan-c/CONTROL
index 6a6ead6ad..e29297ed8 100644
--- a/ports/xalan-c/CONTROL
+++ b/ports/xalan-c/CONTROL
@@ -1,5 +1,5 @@
Source: xalan-c
-Version: 1.11-7
+Version: 1.11-8
Homepage: https://github.com/apache/xalan-c
Description: Xalan is an XSLT processor for transforming XML documents into HTML, text, or other XML document types
Build-Depends: xerces-c
diff --git a/ports/xalan-c/portfile.cmake b/ports/xalan-c/portfile.cmake
index 0460c7464..0771f0783 100644
--- a/ports/xalan-c/portfile.cmake
+++ b/ports/xalan-c/portfile.cmake
@@ -7,7 +7,7 @@ vcpkg_from_github(
SHA512 e0f095b7031394c39c8e0fdca1f820c4222466f8c6e9df7bc40a21f9ca0e9291b7b6cdfb0a2d67db275ae97d7a7cdd447637102639e74716f0fb23a946b30ebe
PATCHES
fix-win-deprecated-err.patch
- fix-missing-dll-error.patch
+ fix-missing-dll-error.patch
)
vcpkg_configure_cmake(
@@ -18,9 +18,9 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake)
- vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/xalan-c)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/xalanc)
else()
- vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/XalanC TARGET_PATH share/xalan-c)
+ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/XalanC TARGET_PATH share/xalanc)
endif()
# cleanup
diff --git a/ports/xeus/CONTROL b/ports/xeus/CONTROL
index c85f193c3..931136ae4 100644
--- a/ports/xeus/CONTROL
+++ b/ports/xeus/CONTROL
@@ -1,4 +1,4 @@
Source: xeus
-Version: 0.19.2
+Version: 0.20.0
Description: C++ implementation of the Jupyter kernel protocol
Build-Depends: cppzmq, libuuid (linux), nlohmann-json, openssl, xtl, zeromq
diff --git a/ports/xeus/portfile.cmake b/ports/xeus/portfile.cmake
index f040af0c7..1e77a71cd 100644
--- a/ports/xeus/portfile.cmake
+++ b/ports/xeus/portfile.cmake
@@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO QuantStack/xeus
- REF 4bc3d2017fcf35ee6e69babf9be1e463483cd11c
- SHA512 6f68f564a3dfaab5fdfbf9778602c75c883d761e8dd00a4b19f3f57c16e87b8252d40479abdd8eedb350799479e3213f16010176da286e5c3e6c9b9e76e6793d
+ REF 8408f237f33514610a59d19a5ff045ee70dfa02b
+ SHA512 41282addbe5519b6d357e802c48483834cd951604bfeb8c99d96f02d03dec2fc66ea4c091f40ec09348bb60587e8a6efef5e6eb2bb950ba720fc8ceb7a107960
HEAD_REF master
)
diff --git a/ports/xsimd/CONTROL b/ports/xsimd/CONTROL
index dc442f858..4eb4115b8 100644
--- a/ports/xsimd/CONTROL
+++ b/ports/xsimd/CONTROL
@@ -1,5 +1,5 @@
Source: xsimd
-Version: 7.2.3-2
+Version: 7.2.5
Description: Modern, portable C++ wrappers for SIMD intrinsics
Homepage: https://github.com/QuantStack/xsimd
diff --git a/ports/xsimd/portfile.cmake b/ports/xsimd/portfile.cmake
index ab293c408..b2eb8a251 100644
--- a/ports/xsimd/portfile.cmake
+++ b/ports/xsimd/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO QuantStack/xsimd
- REF 7.2.3
- SHA512 fb34eeb585f6820499734f10f03a4efd0d9a9b4be56f9bee21f3564eb92be56e7abe7682e476fafaff4733939f33f91cb4ab9209140b19f7b740538853433532
+ REF 75702dd2772aebc6afaa1a86530170a5ef2e10cd
+ SHA512 2cf04dbf71818db571919f04a476cc8d45676ea56d88b7543b7f10c9ee5d6f718a6addc586c8a6a882ea0a34b09b83d6e20c3bf49e73d4ec1d14f3c1db47a55c
HEAD_REF master
)
diff --git a/ports/xtensor/CONTROL b/ports/xtensor/CONTROL
index 14df243d9..3f1a1d5fe 100644
--- a/ports/xtensor/CONTROL
+++ b/ports/xtensor/CONTROL
@@ -1,5 +1,5 @@
Source: xtensor
-Version: 0.20.7-2
+Version: 0.20.8
Description: C++ tensors with broadcasting and lazy computing
Homepage: https://quantstack.net/xtensor
Build-Depends: nlohmann-json, xtl
diff --git a/ports/xtensor/portfile.cmake b/ports/xtensor/portfile.cmake
index d30743a40..b8c28727a 100644
--- a/ports/xtensor/portfile.cmake
+++ b/ports/xtensor/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO QuantStack/xtensor
- REF 0.20.7
- SHA512 de09900d0934f9b10453f16e43d1c3af28503f365224f9c6789b88a0cf00db820ca31e12099df1a2e3aafa73d7d83223df82f01b7611c1addb48367f936e5122
+ REF b2d81961ac1b335bf2c362e6b7f792ebacb8abf8
+ SHA512 cfa64ae8163ce5cf7be762d5e67f4b2b15721f7d83cebab78ebf4ff1d85825aa3065769644d0314dd583bfb8dce76659c1a5cb95ecd87d00bb2fb8309623d0ae
HEAD_REF master
)
diff --git a/ports/xtl/CONTROL b/ports/xtl/CONTROL
index 423ee09dc..b0fbdd39c 100644
--- a/ports/xtl/CONTROL
+++ b/ports/xtl/CONTROL
@@ -1,4 +1,4 @@
Source: xtl
-Version: 0.6.4
+Version: 0.6.5
Build-Depends: nlohmann-json
Description: The x template library.
diff --git a/ports/xtl/portfile.cmake b/ports/xtl/portfile.cmake
index 0b3b5dad1..74cbbbc03 100644
--- a/ports/xtl/portfile.cmake
+++ b/ports/xtl/portfile.cmake
@@ -5,8 +5,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO QuantStack/xtl
- REF 0.6.4
- SHA512 92ff932634a88fee9bfd27d092ebdf91752d90be8a4f3fc41aef90c195718c989082e53f1fcfae9d67b153ecd29d3dde6f8e2b540eeec0db1d0d229a9b0d2fe8
+ REF 0d1f896ba90664248279baaea0059699cff5ab9b
+ SHA512 8375dc3c64d49b1722bdb579b397f296ae28042fd41b2e0556b3ad53b8b3615c250096aa09f1997d964285f6969d599d49e3b9204b45877af858c9a463619ab2
HEAD_REF master
)
diff --git a/ports/yaml-cpp/0002-fix-include-path.patch b/ports/yaml-cpp/0002-fix-include-path.patch
new file mode 100644
index 000000000..78c260831
--- /dev/null
+++ b/ports/yaml-cpp/0002-fix-include-path.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d2d8810..c4d4be1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -326,7 +326,7 @@ else()
+ set(INSTALL_CMAKE_DIR ${LIB_INSTALL_DIR}/cmake/yaml-cpp)
+ endif()
+
+-file(RELATIVE_PATH REL_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/${INSTALL_CMAKE_DIR}" "${CMAKE_INSTALL_PREFIX}/${INCLUDE_INSTALL_ROOT_DIR}")
++set(REL_INCLUDE_DIR "../../include")
+ set(CONFIG_INCLUDE_DIRS "\${YAML_CPP_CMAKE_DIR}/${REL_INCLUDE_DIR}")
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/yaml-cpp-config.cmake.in
+ "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/yaml-cpp-config.cmake" @ONLY)
diff --git a/ports/yaml-cpp/0003-cxx-std-features.patch b/ports/yaml-cpp/0003-cxx-std-features.patch
new file mode 100644
index 000000000..ac09c86c1
--- /dev/null
+++ b/ports/yaml-cpp/0003-cxx-std-features.patch
@@ -0,0 +1,16 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c4d4be1..174264d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -279,6 +279,11 @@ set_target_properties(yaml-cpp PROPERTIES
+ COMPILE_FLAGS "${yaml_c_flags} ${yaml_cxx_flags}"
+ )
+
++target_compile_features(yaml-cpp
++ PUBLIC
++ cxx_std_11
++)
++
+ set_target_properties(yaml-cpp PROPERTIES
+ VERSION "${YAML_CPP_VERSION}"
+ SOVERSION "${YAML_CPP_VERSION_MAJOR}.${YAML_CPP_VERSION_MINOR}"
diff --git a/ports/yaml-cpp/CONTROL b/ports/yaml-cpp/CONTROL
index 93988ece9..1e0a781e2 100644
--- a/ports/yaml-cpp/CONTROL
+++ b/ports/yaml-cpp/CONTROL
@@ -1,4 +1,4 @@
Source: yaml-cpp
-Version: 0.6.2-2
+Version: 0.6.2-3
Homepage: https://github.com/jbeder/yaml-cpp
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 6233bc076..380f65aee 100644
--- a/ports/yaml-cpp/portfile.cmake
+++ b/ports/yaml-cpp/portfile.cmake
@@ -6,7 +6,9 @@ vcpkg_from_github(
SHA512 fea8ce0a20a00cbc75023d1db442edfcd32d0ac57a3c41b32ec8d56f87cc1d85d7dd7a923ce662f5d3a315f91a736d6be0d649997acd190915c1d68cc93795e4
HEAD_REF master
PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/0001-noexcept.patch
+ 0001-noexcept.patch
+ 0002-fix-include-path.patch
+ 0003-cxx-std-features.patch
)
vcpkg_configure_cmake(
@@ -26,32 +28,6 @@ if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/yaml-cpp)
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/yaml-cpp)
endif()
-# Adjust paths and remove hardcoded ones from the config files
-file(READ ${CURRENT_PACKAGES_DIR}/share/yaml-cpp/yaml-cpp-config.cmake YAML_CONFIG)
-string(REPLACE "set(YAML_CPP_INCLUDE_DIR \"\${YAML_CPP_CMAKE_DIR}/../include\")"
- "set(YAML_CPP_INCLUDE_DIR \"\${YAML_CPP_CMAKE_DIR}/../../include\")" YAML_CONFIG "${YAML_CONFIG}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/yaml-cpp/yaml-cpp-config.cmake "${YAML_CONFIG}")
-
-file(READ ${CURRENT_PACKAGES_DIR}/share/yaml-cpp/yaml-cpp-targets.cmake YAML_CONFIG)
-string(REPLACE "set(_IMPORT_PREFIX \"${CURRENT_PACKAGES_DIR}\")"
-"get_filename_component(_IMPORT_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)
-get_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)
-get_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)" YAML_CONFIG "${YAML_CONFIG}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/share/yaml-cpp/yaml-cpp-targets.cmake "${YAML_CONFIG}")
-
-set(_targets_cmake_conf)
-if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- list(APPEND _targets_cmake_conf "debug")
-endif()
-if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- list(APPEND _targets_cmake_conf "release")
-endif()
-foreach(CONF ${_targets_cmake_conf})
- file(READ ${CURRENT_PACKAGES_DIR}/share/yaml-cpp/yaml-cpp-targets-${CONF}.cmake YAML_CONFIG)
- string(REPLACE "${CURRENT_PACKAGES_DIR}" "\${_IMPORT_PREFIX}" YAML_CONFIG "${YAML_CONFIG}")
- file(WRITE ${CURRENT_PACKAGES_DIR}/share/yaml-cpp/yaml-cpp-targets-${CONF}.cmake "${YAML_CONFIG}")
-endforeach()
-
# Remove debug include files
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
diff --git a/ports/yara/CMakeLists.txt b/ports/yara/CMakeLists.txt
index 89780ce42..8b9f66113 100644
--- a/ports/yara/CMakeLists.txt
+++ b/ports/yara/CMakeLists.txt
@@ -37,6 +37,7 @@ set(
libyara/ahocorasick.c
libyara/arena.c
libyara/atoms.c
+ libyara/bitmask.c
libyara/compiler.c
libyara/endian.c
libyara/exec.c
@@ -69,7 +70,9 @@ set(
libyara/re_lexer.c
libyara/rules.c
libyara/scan.c
+ libyara/scanner.c
libyara/sizedstr.c
+ libyara/stack.c
libyara/stopwatch.c
libyara/stream.c
libyara/strutils.c
diff --git a/ports/yara/CONTROL b/ports/yara/CONTROL
index b1d90b471..209495ea7 100644
--- a/ports/yara/CONTROL
+++ b/ports/yara/CONTROL
@@ -1,5 +1,5 @@
Source: yara
-Version: e3439e4ead4ed5d3b75a0b46eaf15ddda2110bb9-2
+Version: 3.10.0
Homepage: https://github.com/VirusTotal/yara
Description: The pattern matching swiss knife
Build-Depends: openssl, jansson
diff --git a/ports/yara/portfile.cmake b/ports/yara/portfile.cmake
index d4869df63..d606f0b03 100644
--- a/ports/yara/portfile.cmake
+++ b/ports/yara/portfile.cmake
@@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO VirusTotal/yara
- REF e3439e4ead4ed5d3b75a0b46eaf15ddda2110bb9
- SHA512 2cb837c8e2617e66766b45339a99f3f441f842cb14ce7efe38f5ec2141a51696a400279d98514be4471234c8ef7c99419f56f5b7398af13d771294b2923090aa
+ REF v3.10.0
+ SHA512 034658e835d59a42f03c062e99b40e96906c5a7de4285037c835d211f53062f8e439ade45e3400c4c35ef64502112e8d3b8d4c575e3265c69286cff2ad919ed9
HEAD_REF dev
)
diff --git a/ports/zfp/CONTROL b/ports/zfp/CONTROL
new file mode 100644
index 000000000..eb9505fa4
--- /dev/null
+++ b/ports/zfp/CONTROL
@@ -0,0 +1,19 @@
+Source: zfp
+Version: 0.5.5-1
+Homepage: https://github.com/LLNL/zfp
+Description: Zfp is an open source C/C++ library for compressed numerical arrays that support high throughput read and write random access. zfp also supports streaming compression of integer and floating-point data, e.g., for applications that read and write large data sets to and from disk. zfp is primarily written in C and C++ but also includes Python and Fortran bindings.
+
+Feature: all
+Description: Build all components
+
+Feature: cfp
+Description: cfp support for cfp
+
+Feature: test
+Description: Build test
+
+Feature: example
+Description: Build example
+
+Feature: utility
+Description: Build utility \ No newline at end of file
diff --git a/ports/zfp/fix-build-error.patch b/ports/zfp/fix-build-error.patch
new file mode 100644
index 000000000..0c1e15763
--- /dev/null
+++ b/ports/zfp/fix-build-error.patch
@@ -0,0 +1,11 @@
+diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
+index a960d2c..e6a492d 100644
+--- a/utils/CMakeLists.txt
++++ b/utils/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ add_executable(zfpcmd zfp.c)
+-set_property(TARGET zfpcmd PROPERTY OUTPUT_NAME zfp)
++#set_property(TARGET zfpcmd PROPERTY OUTPUT_NAME zfp)
+ target_link_libraries(zfpcmd zfp)
+ if(HAVE_LIBM_MATH)
+ target_link_libraries(zfpcmd m)
diff --git a/ports/zfp/fix-install-tools.patch b/ports/zfp/fix-install-tools.patch
new file mode 100644
index 000000000..49a511d44
--- /dev/null
+++ b/ports/zfp/fix-install-tools.patch
@@ -0,0 +1,72 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 47179fd..96add54 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -220,8 +220,8 @@ add_subdirectory(src)
+ option(BUILD_ALL "Build all subdirectories" OFF)
+ if(BUILD_ALL)
+ set(BUILD_CFP ON CACHE BOOL "Build CFP arrays library" FORCE)
+- set(BUILD_ZFORP ON CACHE BOOL "Build Fortran library" FORCE)
+- set(BUILD_ZFPY ON CACHE BOOL "Build python bindings for zfp" FORCE)
++ set(BUILD_ZFORP OFF CACHE BOOL "Build Fortran library" FORCE)
++ set(BUILD_ZFPY OFF CACHE BOOL "Build python bindings for zfp" FORCE)
+ set(BUILD_UTILITIES ON CACHE BOOL "Build command line utilities for zfp" FORCE)
+ set(BUILD_EXAMPLES ON CACHE BOOL "Build Examples" FORCE)
+ endif()
+diff --git a/cfp/src/CMakeLists.txt b/cfp/src/CMakeLists.txt
+index 386698c..ecba525 100644
+--- a/cfp/src/CMakeLists.txt
++++ b/cfp/src/CMakeLists.txt
+@@ -36,3 +36,5 @@ install(TARGETS cfp EXPORT cfp-targets
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
++
++install(DIRECTORY ${ZFP_SOURCE_DIR}/cfp/include DESTINATION include)
+diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
+index 7cc7606..6ca1034 100644
+--- a/examples/CMakeLists.txt
++++ b/examples/CMakeLists.txt
+@@ -34,3 +34,20 @@ if(HAVE_LIBM_MATH)
+ target_link_libraries(pgm m)
+ target_link_libraries(simple m)
+ endif()
++
++install(TARGETS diffusion
++ RUNTIME DESTINATION tools)
++ if(BUILD_CFP)
++ install(TARGETS diffusionC
++ RUNTIME DESTINATION tools)
++ endif()
++install(TARGETS inplace
++ RUNTIME DESTINATION tools)
++install(TARGETS iterator
++ RUNTIME DESTINATION tools)
++install(TARGETS pgm
++ RUNTIME DESTINATION tools)
++install(TARGETS simple
++ RUNTIME DESTINATION tools)
++install(TARGETS speed
++ RUNTIME DESTINATION tools)
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index d15246e..7a6c6cb 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -19,3 +19,6 @@ if(ZFP_BUILD_TESTING_LARGE)
+ endforeach()
+ endforeach()
+ endif()
++
++install(TARGETS testzfp
++ RUNTIME DESTINATION tools)
+diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
+index a960d2c..5fcbf87 100644
+--- a/utils/CMakeLists.txt
++++ b/utils/CMakeLists.txt
+@@ -4,3 +4,6 @@ target_link_libraries(zfpcmd zfp)
+ if(HAVE_LIBM_MATH)
+ target_link_libraries(zfpcmd m)
+ endif()
++
++install(TARGETS zfpcmd
++ RUNTIME DESTINATION tools)
diff --git a/ports/zfp/portfile.cmake b/ports/zfp/portfile.cmake
new file mode 100644
index 000000000..7c9af2547
--- /dev/null
+++ b/ports/zfp/portfile.cmake
@@ -0,0 +1,42 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO LLNL/zfp
+ REF 0.5.5
+ SHA512 c043cee73f6e972e047452552ab2ceb9247a6747fdb7e5f863aeab3a05208737c0bcabbe29f3c10e5c1aba961ec47aa6a0abdb395486fa0d5fb16a4ad45733c4
+ HEAD_REF master
+ PATCHES
+ fix-build-error.patch
+ fix-install-tools.patch
+)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ all BUILD_ALL
+ cfp BUILD_CFP
+ test BUILD_TESTING
+ example BUILD_EXAMPLES
+ utility BUILD_UTILITIES
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS ${FEATURE_OPTIONS}
+ -DBUILD_ZFPY=OFF
+ -DBUILD_ZFORP=OFF
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
+
+vcpkg_copy_pdbs()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file
diff --git a/scripts/bootstrap.ps1 b/scripts/bootstrap.ps1
index 6234efaa3..d2632e57b 100644
--- a/scripts/bootstrap.ps1
+++ b/scripts/bootstrap.ps1
@@ -226,8 +226,9 @@ function getWindowsSDK( [Parameter(Mandatory=$False)][switch]$DisableWin10SDK =
$win10sdkVersions = @(Get-ChildItem $folder | Where-Object {$_.Name -match "^10"} | Sort-Object)
[array]::Reverse($win10sdkVersions) # Newest SDK first
- foreach ($win10sdkV in $win10sdkVersions)
+ foreach ($win10sdk in $win10sdkVersions)
{
+ $win10sdkV = $win10sdk.Name
$windowsheader = "$folder\$win10sdkV\um\windows.h"
if (!(Test-Path $windowsheader))
{
diff --git a/scripts/cmake/execute_process.cmake b/scripts/cmake/execute_process.cmake
new file mode 100644
index 000000000..51f6ad160
--- /dev/null
+++ b/scripts/cmake/execute_process.cmake
@@ -0,0 +1,20 @@
+## # execute_process
+##
+## Intercepts all calls to execute_process() inside portfiles and fails when Download Mode
+## is enabled.
+##
+## In order to execute a process in Download Mode call `_execute_process()` instead.
+##
+if (NOT DEFINED OVERRIDEN_EXECUTE_PROCESS)
+ set(OVERRIDEN_EXECUTE_PROCESS ON)
+
+ if (DEFINED VCPKG_DOWNLOAD_MODE)
+ macro(execute_process)
+ message(FATAL_ERROR "This command cannot be executed in Download Mode.\nHalting portfile execution.\n")
+ endmacro()
+ else()
+ macro(execute_process)
+ _execute_process(${ARGV})
+ endmacro()
+ endif()
+endif() \ No newline at end of file
diff --git a/scripts/cmake/vcpkg_acquire_msys.cmake b/scripts/cmake/vcpkg_acquire_msys.cmake
index 09090db68..f1f09dc7e 100644
--- a/scripts/cmake/vcpkg_acquire_msys.cmake
+++ b/scripts/cmake/vcpkg_acquire_msys.cmake
@@ -81,15 +81,15 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT)
file(REMOVE_RECURSE ${TOOLPATH}/${TOOLSUBPATH})
file(MAKE_DIRECTORY ${TOOLPATH})
- execute_process(
+ _execute_process(
COMMAND ${CMAKE_COMMAND} -E tar xzf ${ARCHIVE_PATH}
WORKING_DIRECTORY ${TOOLPATH}
)
- execute_process(
+ _execute_process(
COMMAND ${PATH_TO_ROOT}/usr/bin/bash.exe --noprofile --norc -c "PATH=/usr/bin;pacman-key --init;pacman-key --populate"
WORKING_DIRECTORY ${TOOLPATH}
)
- execute_process(
+ _execute_process(
COMMAND ${PATH_TO_ROOT}/usr/bin/bash.exe --noprofile --norc -c "PATH=/usr/bin;pacman -Syu --noconfirm"
WORKING_DIRECTORY ${TOOLPATH}
)
@@ -104,6 +104,7 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT)
set(_ENV_ORIGINAL $ENV{PATH})
set(ENV{PATH} ${PATH_TO_ROOT}/usr/bin)
vcpkg_execute_required_process(
+ ALLOW_IN_DOWNLOAD_MODE
COMMAND ${PATH_TO_ROOT}/usr/bin/bash.exe --noprofile --norc -c "pacman -Sy --noconfirm --needed ${_am_PACKAGES}"
WORKING_DIRECTORY ${TOOLPATH}
LOGNAME msys-pacman-${TARGET_TRIPLET}
@@ -116,6 +117,7 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT)
# Deal with a stale process created by MSYS
if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
vcpkg_execute_required_process(
+ ALLOW_IN_DOWNLOAD_MODE
COMMAND TASKKILL /F /IM gpg-agent.exe /fi "memusage gt 2"
WORKING_DIRECTORY ${SOURCE_PATH}
)
diff --git a/scripts/cmake/vcpkg_apply_patches.cmake b/scripts/cmake/vcpkg_apply_patches.cmake
index ac0b78e20..9698917de 100644
--- a/scripts/cmake/vcpkg_apply_patches.cmake
+++ b/scripts/cmake/vcpkg_apply_patches.cmake
@@ -40,7 +40,7 @@ function(vcpkg_apply_patches)
get_filename_component(ABSOLUTE_PATCH "${PATCH}" ABSOLUTE BASE_DIR "${CURRENT_PORT_DIR}")
message(STATUS "Applying patch ${PATCH}")
set(LOGNAME patch-${TARGET_TRIPLET}-${PATCHNUM})
- execute_process(
+ _execute_process(
COMMAND ${GIT} --work-tree=. --git-dir=.git apply "${ABSOLUTE_PATCH}" --ignore-whitespace --whitespace=nowarn --verbose
OUTPUT_FILE ${CURRENT_BUILDTREES_DIR}/${LOGNAME}-out.log
ERROR_FILE ${CURRENT_BUILDTREES_DIR}/${LOGNAME}-err.log
diff --git a/scripts/cmake/vcpkg_build_msbuild.cmake b/scripts/cmake/vcpkg_build_msbuild.cmake
index 50432f8fa..cfd429da2 100644
--- a/scripts/cmake/vcpkg_build_msbuild.cmake
+++ b/scripts/cmake/vcpkg_build_msbuild.cmake
@@ -108,7 +108,7 @@ function(vcpkg_build_msbuild)
if(_csc_USE_VCPKG_INTEGRATION)
list(
APPEND _csc_OPTIONS
- /p:ForceImportBeforeCppTargets=${VCPKG_ROOT_DIR}/scripts/buildsystems/msbuild/vcpkg.targets
+ /p:ForceImportBeforeCppTargets=${SCRIPTS}/buildsystems/msbuild/vcpkg.targets
"/p:VcpkgTriplet=${TARGET_TRIPLET}"
)
endif()
diff --git a/scripts/cmake/vcpkg_build_qmake.cmake b/scripts/cmake/vcpkg_build_qmake.cmake
index cf79fe8fc..03c468463 100644
--- a/scripts/cmake/vcpkg_build_qmake.cmake
+++ b/scripts/cmake/vcpkg_build_qmake.cmake
@@ -11,11 +11,9 @@ function(vcpkg_build_qmake)
cmake_parse_arguments(_csc "SKIP_MAKEFILES" "BUILD_LOGNAME" "TARGETS;RELEASE_TARGETS;DEBUG_TARGETS" ${ARGN})
if(CMAKE_HOST_WIN32)
- set(_PATHSEP ";")
vcpkg_find_acquire_program(JOM)
set(INVOKE "${JOM}")
else()
- set(_PATHSEP ":")
find_program(MAKE make)
set(INVOKE "${MAKE}")
endif()
@@ -23,22 +21,8 @@ function(vcpkg_build_qmake)
# Make sure that the linker finds the libraries used
set(ENV_PATH_BACKUP "$ENV{PATH}")
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- set(DEBUG_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
- endif()
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- set(RELEASE_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
- endif()
-
file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR)
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- list(APPEND _csc_RELEASE_TARGETS ${_csc_TARGETS})
- endif()
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- list(APPEND _csc_DEBUG_TARGETS ${_csc_TARGETS})
- endif()
-
if(NOT _csc_BUILD_LOGNAME)
set(_csc_BUILD_LOGNAME build)
endif()
@@ -56,55 +40,33 @@ function(vcpkg_build_qmake)
set(ENV_CL_BACKUP "$ENV{_CL_}")
set(ENV{_CL_} "/utf-8")
- #First generate the makefiles so we can modify them
+ #Replace with VCPKG variables if PR #7733 is merged
+ unset(BUILDTYPES)
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/debug/lib${_PATHSEP}${CURRENT_INSTALLED_DIR}/debug/bin${_PATHSEP}${CURRENT_INSTALLED_DIR}/tools/qt5${_PATHSEP}${ENV_PATH_BACKUP}")
- if(NOT _csc_SKIP_MAKEFILES)
- run_jom(qmake_all makefiles dbg)
-
- #Store debug makefiles path
- file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*)
-
- foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES})
- file(READ "${DEBUG_MAKEFILE}" _contents)
- string(REPLACE "zlib.lib" "zlibd.lib" _contents "${_contents}")
- string(REPLACE "installed\\${TARGET_TRIPLET}\\lib" "installed\\${TARGET_TRIPLET}\\debug\\lib" _contents "${_contents}")
- string(REPLACE "/LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib" "/LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib\\manual-link /LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib shell32.lib" _contents "${_contents}")
- string(REPLACE "tools\\qt5\\qmlcachegen.exe" "tools\\qt5-declarative\\qmlcachegen.exe" _contents "${_contents}")
- string(REPLACE "tools/qt5/qmlcachegen" "tools/qt5-declarative/qmlcachegen" _contents "${_contents}")
- string(REPLACE "debug\\lib\\Qt5Bootstrap.lib" "tools\\qt5\\Qt5Bootstrap.lib" _contents "${_contents}")
- string(REPLACE "lib\\Qt5Bootstrap.lib" "tools\\qt5\\Qt5Bootstrap.lib" _contents "${_contents}")
- string(REPLACE " Qt5Bootstrap.lib " " ${NATIVE_INSTALLED_DIR}\\tools\\qt5\\Qt5Bootstrap.lib Ole32.lib Netapi32.lib Advapi32.lib ${NATIVE_INSTALLED_DIR}\\lib\\zlib.lib Shell32.lib " _contents "${_contents}")
- file(WRITE "${DEBUG_MAKEFILE}" "${_contents}")
- endforeach()
- endif()
-
- run_jom("${_csc_DEBUG_TARGETS}" ${_csc_BUILD_LOGNAME} dbg)
+ set(_buildname "DEBUG")
+ list(APPEND BUILDTYPES ${_buildname})
+ set(_short_name_${_buildname} "dbg")
+ set(_path_suffix_${_buildname} "/debug")
endif()
-
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/lib${_PATHSEP}${CURRENT_INSTALLED_DIR}/bin${_PATHSEP}${CURRENT_INSTALLED_DIR}/tools/qt5${_PATHSEP}${ENV_PATH_BACKUP}")
- if(NOT _csc_SKIP_MAKEFILES)
- run_jom(qmake_all makefiles rel)
-
- #Store release makefile path
- file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*)
-
- foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES})
- file(READ "${RELEASE_MAKEFILE}" _contents)
- string(REPLACE "/LIBPATH:${NATIVE_INSTALLED_DIR}\\lib" "/LIBPATH:${NATIVE_INSTALLED_DIR}\\lib\\manual-link /LIBPATH:${NATIVE_INSTALLED_DIR}\\lib shell32.lib" _contents "${_contents}")
- string(REPLACE "tools\\qt5\\qmlcachegen.exe" "tools\\qt5-declarative\\qmlcachegen.exe" _contents "${_contents}")
- string(REPLACE "tools/qt5/qmlcachegen" "tools/qt5-declarative/qmlcachegen" _contents "${_contents}")
- string(REPLACE "debug\\lib\\Qt5Bootstrap.lib" "tools\\qt5\\Qt5Bootstrap.lib" _contents "${_contents}")
- string(REPLACE "lib\\Qt5Bootstrap.lib" "tools\\qt5\\Qt5Bootstrap.lib" _contents "${_contents}")
- string(REPLACE " Qt5Bootstrap.lib " " ${NATIVE_INSTALLED_DIR}\\tools\\qt5\\Qt5Bootstrap.lib Ole32.lib Netapi32.lib Advapi32.lib ${NATIVE_INSTALLED_DIR}\\lib\\zlib.lib Shell32.lib " _contents "${_contents}")
- file(WRITE "${RELEASE_MAKEFILE}" "${_contents}")
- endforeach()
- endif()
-
- run_jom("${_csc_RELEASE_TARGETS}" ${_csc_BUILD_LOGNAME} rel)
+ set(_buildname "RELEASE")
+ list(APPEND BUILDTYPES ${_buildname})
+ set(_short_name_${_buildname} "rel")
+ set(_path_suffix_${_buildname} "")
endif()
+ unset(_buildname)
+ foreach(_buildname ${BUILDTYPES})
+ set(_BUILD_PREFIX "${_path_suffix_${_buildname}}")
+ vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}${_BUILD_PREFIX}/bin")
+ vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}${_BUILD_PREFIX}/lib")
+ list(APPEND _csc_${_buildname}_TARGETS ${_csc_TARGETS})
+ if(NOT _csc_SKIP_MAKEFILES)
+ run_jom(qmake_all makefiles ${_short_name_${_buildname}})
+ endif()
+ run_jom("${_csc_${_buildname}_TARGETS}" ${_csc_BUILD_LOGNAME} ${_short_name_${_buildname}})
+ endforeach()
+
# Restore the original value of ENV{PATH}
set(ENV{PATH} "${ENV_PATH_BACKUP}")
set(ENV{_CL_} "${ENV_CL_BACKUP}")
diff --git a/scripts/cmake/vcpkg_buildpath_length_warning.cmake b/scripts/cmake/vcpkg_buildpath_length_warning.cmake
new file mode 100644
index 000000000..b7ef10bb8
--- /dev/null
+++ b/scripts/cmake/vcpkg_buildpath_length_warning.cmake
@@ -0,0 +1,8 @@
+function(vcpkg_buildpath_length_warning WARNING_LENGTH)
+ string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH)
+ if(BUILDTREES_PATH_LENGTH GREATER ${WARNING_LENGTH} AND CMAKE_HOST_WIN32)
+ message(WARNING "${PORT}'s buildsystem uses very long paths and may fail on your system.\n"
+ "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command."
+ )
+ endif()
+endfunction() \ No newline at end of file
diff --git a/scripts/cmake/vcpkg_common_definitions.cmake b/scripts/cmake/vcpkg_common_definitions.cmake
index df8c0a06c..75a1e8a9c 100644
--- a/scripts/cmake/vcpkg_common_definitions.cmake
+++ b/scripts/cmake/vcpkg_common_definitions.cmake
@@ -6,17 +6,22 @@
## ```cmake
## VCPKG_TARGET_IS_<target> with <target> being one of the following: WINDOWS, UWP, LINUX, OSX, ANDROID, FREEBSD. only defined if <target>
## VCPKG_HOST_PATH_SEPARATOR Host specific path separator
-## VCPKG_HOST_PATH_SEPARATOR_ESCAPED Escaped version of VCPKG_HOST_PATH_SEPARATOR if necessary (e.g. symbol with special meaning in cmake like ";")
+## VCPKG_HOST_PATH_SEPARATOR_ESCAPED Escaped version of VCPKG_HOST_PATH_SEPARATOR if necessary (set to VCPKG_HOST_PATH_SEPARATOR if not necessary)
## VCPKG_HOST_EXECUTABLE_SUFFIX executable suffix of the host
## VCPKG_TARGET_EXECUTABLE_SUFFIX executable suffix of the target
## VCPKG_TARGET_STATIC_LIBRARY_PREFIX static library prefix for target (same as CMAKE_STATIC_LIBRARY_PREFIX)
## VCPKG_TARGET_STATIC_LIBRARY_SUFFIX static library suffix for target (same as CMAKE_STATIC_LIBRARY_SUFFIX)
## VCPKG_TARGET_SHARED_LIBRARY_PREFIX shared library prefix for target (same as CMAKE_SHARED_LIBRARY_PREFIX)
## VCPKG_TARGET_SHARED_LIBRARY_SUFFIX shared library suffix for target (same as CMAKE_SHARED_LIBRARY_SUFFIX)
+## VCPKG_TARGET_IMPORT_LIBRARY_PREFIX import library prefix for target (same as CMAKE_IMPORT_LIBRARY_PREFIX)
+## VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX import library suffix for target (same as CMAKE_IMPORT_LIBRARY_SUFFIX)
+## VCPKG_FIND_LIBRARY_PREFIXES target dependent prefixes used for find_library calls in portfiles
+## VCPKG_FIND_LIBRARY_SUFFIXES target dependent suffixes used for find_library calls in portfiles
## ```
-##
-## CMAKE_STATIC_LIBRARY_PREFIX, CMAKE_STATIC_LIBRARY_SUFFIX, CMAKE_SHARED_LIBRARY_PREFIX, CMAKE_SHARED_LIBRARY_SUFFIX are defined for the target so that
-## portfiles are able to use find_library calls to discover dependent libraries within the current triplet for ports.
+##
+## CMAKE_STATIC_LIBRARY_(PREFIX|SUFFIX), CMAKE_SHARED_LIBRARY_(PREFIX|SUFFIX) and CMAKE_IMPORT_LIBRARY_(PREFIX|SUFFIX) are defined for the target
+## Furthermore the variables CMAKE_FIND_LIBRARY_(PREFIXES|SUFFIXES) are also defined for the target so that
+## portfiles are able to use find_library calls to discover dependent libraries within the current triplet for ports.
##
#Helper variable to identify the Target system. VCPKG_TARGET_IS_<targetname>
@@ -37,11 +42,12 @@ endif()
#Helper variable to identify the host path separator.
if(CMAKE_HOST_WIN32)
- set(VCPKG_HOST_PATH_SEPARATOR ";")
- set(VCPKG_HOST_PATH_SEPARATOR_ESCAPED "\\;") #sometimes needed to differentiate between the cmake list separator
+ set(VCPKG_HOST_PATH_SEPARATOR "\;") #Is escaped here because else VCPKG_HOST_PATH_SEPARATOR will be a list of two empty elements
+ set(VCPKG_HOST_PATH_SEPARATOR_ESCAPED "\\\;") #Needed if you want to pass around variables with VCPKG_HOST_PATH_SEPARATOR
elseif(CMAKE_HOST_UNIX)
set(VCPKG_HOST_PATH_SEPARATOR ":")
- set(VCPKG_HOST_PATH_SEPARATOR_ESCAPED ":")
+ set(VCPKG_HOST_PATH_SEPARATOR_ESCAPED ${VCPKG_HOST_PATH_SEPARATOR})
+endif()
#Helper variables to identify executables on host/target
if(CMAKE_HOST_WIN32)
@@ -57,25 +63,44 @@ else()
set(VCPKG_TARGET_EXECUTABLE_SUFFIX "")
endif()
-#Helper variables for libraries
+#Helper variables for libraries
if(VCPKG_TARGET_IS_WINDOWS)
set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".lib")
set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".dll")
+ set(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX ".lib")
set(VCPKG_TARGET_STATIC_LIBRARY_PREFIX "")
set(VCPKG_TARGET_SHARED_LIBRARY_PREFIX "")
+ set(VCPKG_TARGET_IMPORT_LIBRARY_PREFIX "")
+ set(VCPKG_FIND_LIBRARY_SUFFIXES ".lib" ".dll") #This is a slight modification to CMakes value which does not include ".dll".
+ set(VCPKG_FIND_LIBRARY_PREFIXES "" "lib") #This is a slight modification to CMakes value which does not include "lib".
+ ## For CYGWIN and Windows GNU, maybe VCPKG will support that in the future?
+ #set(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX ".dll.a")
+ #set(VCPKG_TARGET_IMPORT_LIBRARY_PREFIX "lib")
+ #set(VCPKG_FIND_LIBRARY_SUFFIXES ".dll" ".dll.a" ".a" ".lib")
+ #set(VCPKG_FIND_LIBRARY_PREFIXES "lib" "")
+elseif(VCPKG_TARGET_IS_OSX)
+ set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".a")
+ set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".dylib")
+ set(VCPKG_TARGET_STATIC_LIBRARY_PREFIX "lib")
+ set(VCPKG_TARGET_SHARED_LIBRARY_PREFIX "lib")
+ set(VCPKG_FIND_LIBRARY_SUFFIXES ".tbd" ".dylib" ".so" ".a")
+ set(VCPKG_FIND_LIBRARY_PREFIXES "lib" "")
else()
set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".a")
set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".so")
set(VCPKG_TARGET_STATIC_LIBRARY_PREFIX "lib")
set(VCPKG_TARGET_SHARED_LIBRARY_PREFIX "lib")
+ set(VCPKG_FIND_LIBRARY_SUFFIXES ".so" ".a")
+ set(VCPKG_FIND_LIBRARY_PREFIXES "lib" "")
endif()
#Setting these variables allows find_library to work in script mode and thus in portfiles!
#This allows us scale down on hardcoded target dependent paths in portfiles
-set(CMAKE_STATIC_LIBRARY_SUFFIX ${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX})
-set(CMAKE_SHARED_LIBRARY_SUFFIX ${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX})
-set(CMAKE_STATIC_LIBRARY_PREFIX ${VCPKG_TARGET_STATIC_LIBRARY_PREFIX})
-set(CMAKE_SHARED_LIBRARY_PREFIX ${VCPKG_TARGET_SHARED_LIBRARY_PREFIX})
-set(CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_STATIC_LIBRARY_SUFFIX};${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") # Required by find_library
-set(CMAKE_FIND_LIBRARY_PREFIXES "${CMAKE_STATIC_LIBRARY_PREFIX};${CMAKE_SHARED_LIBRARY_PREFIX}" CACHE INTERNAL "") # Required by find_library
-
+set(CMAKE_STATIC_LIBRARY_SUFFIX "${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}")
+set(CMAKE_SHARED_LIBRARY_SUFFIX "${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}")
+set(CMAKE_IMPORT_LIBRARY_SUFFIX "${VCPKG_TARGET_IMPORT_LIBRARY_PREFIX}")
+set(CMAKE_STATIC_LIBRARY_PREFIX "${VCPKG_TARGET_STATIC_LIBRARY_PREFIX}")
+set(CMAKE_SHARED_LIBRARY_PREFIX "${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}")
+set(CMAKE_IMPORT_LIBRARY_PREFIX "${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}")
+set(CMAKE_FIND_LIBRARY_SUFFIXES "${VCPKG_FIND_LIBRARY_SUFFIXES}" CACHE INTERNAL "") # Required by find_library
+set(CMAKE_FIND_LIBRARY_PREFIXES "${VCPKG_FIND_LIBRARY_PREFIXES}" CACHE INTERNAL "") # Required by find_library
diff --git a/scripts/cmake/vcpkg_common_functions.cmake b/scripts/cmake/vcpkg_common_functions.cmake
index e9e52bad8..d2ea35608 100644
--- a/scripts/cmake/vcpkg_common_functions.cmake
+++ b/scripts/cmake/vcpkg_common_functions.cmake
@@ -1,3 +1,4 @@
+include(execute_process)
include(vcpkg_acquire_msys)
include(vcpkg_add_to_path)
include(vcpkg_check_features)
@@ -34,3 +35,4 @@ include(vcpkg_replace_string)
include(vcpkg_from_git)
include(vcpkg_test_cmake)
include(vcpkg_prettify_command)
+include(vcpkg_buildpath_length_warning)
diff --git a/scripts/cmake/vcpkg_configure_cmake.cmake b/scripts/cmake/vcpkg_configure_cmake.cmake
index 6c392d385..1c3a26a74 100644
--- a/scripts/cmake/vcpkg_configure_cmake.cmake
+++ b/scripts/cmake/vcpkg_configure_cmake.cmake
@@ -198,15 +198,15 @@ function(vcpkg_configure_cmake)
if(NOT VCPKG_CHAINLOAD_TOOLCHAIN_FILE)
if(NOT DEFINED VCPKG_CMAKE_SYSTEM_NAME OR _TARGETTING_UWP)
- set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${VCPKG_ROOT_DIR}/scripts/toolchains/windows.cmake")
+ set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/windows.cmake")
elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
- set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${VCPKG_ROOT_DIR}/scripts/toolchains/linux.cmake")
+ set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/linux.cmake")
elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Android")
- set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${VCPKG_ROOT_DIR}/scripts/toolchains/android.cmake")
+ set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/android.cmake")
elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
- set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${VCPKG_ROOT_DIR}/scripts/toolchains/osx.cmake")
+ set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/osx.cmake")
elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
- set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${VCPKG_ROOT_DIR}/scripts/toolchains/freebsd.cmake")
+ set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/freebsd.cmake")
endif()
endif()
@@ -222,7 +222,7 @@ function(vcpkg_configure_cmake)
"-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE"
"-DCMAKE_VERBOSE_MAKEFILE=ON"
"-DVCPKG_APPLOCAL_DEPS=OFF"
- "-DCMAKE_TOOLCHAIN_FILE=${VCPKG_ROOT_DIR}/scripts/buildsystems/vcpkg.cmake"
+ "-DCMAKE_TOOLCHAIN_FILE=${SCRIPTS}/buildsystems/vcpkg.cmake"
"-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON"
"-DVCPKG_CXX_FLAGS=${VCPKG_CXX_FLAGS}"
"-DVCPKG_CXX_FLAGS_RELEASE=${VCPKG_CXX_FLAGS_RELEASE}"
diff --git a/scripts/cmake/vcpkg_configure_qmake.cmake b/scripts/cmake/vcpkg_configure_qmake.cmake
index d660fedd7..73f554a33 100644
--- a/scripts/cmake/vcpkg_configure_qmake.cmake
+++ b/scripts/cmake/vcpkg_configure_qmake.cmake
@@ -6,37 +6,53 @@
# ::
# vcpkg_configure_qmake(SOURCE_PATH <pro_file_path>
# [OPTIONS arg1 [arg2 ...]]
+# [OPTIONS_RELEASE arg1 [arg2 ...]]
+# [OPTIONS_DEBUG arg1 [arg2 ...]]
# )
#
# ``SOURCE_PATH``
# The path to the *.pro qmake project file.
-# ``OPTIONS``
+# ``OPTIONS[_RELEASE|_DEBUG]``
# The options passed to qmake.
function(vcpkg_configure_qmake)
- cmake_parse_arguments(_csc "" "SOURCE_PATH" "OPTIONS" ${ARGN})
-
+ cmake_parse_arguments(_csc "" "SOURCE_PATH" "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG" ${ARGN})
+
# Find qmake executable
- find_program(QMAKE_COMMAND NAMES qmake PATHS ${CURRENT_INSTALLED_DIR}/tools/qt5)
+ set(_triplet_hostbindir ${CURRENT_INSTALLED_DIR}/tools/qt5/bin)
+ find_program(QMAKE_COMMAND NAMES qmake PATHS ${VCPKG_QT_HOST_TOOLS_ROOT_DIR}/bin ${_triplet_hostbindir})
if(NOT QMAKE_COMMAND)
message(FATAL_ERROR "vcpkg_configure_qmake: unable to find qmake.")
endif()
- if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
- list(APPEND _csc_OPTIONS CONFIG+=staticlib)
+ if(${VCPKG_LIBRARY_LINKAGE} STREQUAL "static")
+ list(APPEND _csc_OPTIONS "CONFIG-=shared")
+ list(APPEND _csc_OPTIONS "CONFIG*=static")
+ else()
+ list(APPEND _csc_OPTIONS "CONFIG-=static")
+ list(APPEND _csc_OPTIONS "CONFIG*=shared")
+ list(APPEND _csc_OPTIONS_DEBUG "CONFIG*=separate_debug_info")
endif()
-
+
+ if(VCPKG_TARGET_IS_WINDOWS AND ${VCPKG_CRT_LINKAGE} STREQUAL "static")
+ list(APPEND _csc_OPTIONS "CONFIG*=static-runtime")
+ endif()
+
# Cleanup build directories
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
+ if(DEFINED VCPKG_OSX_DEPLOYMENT_TARGET)
+ set(ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET} ${VCPKG_OSX_DEPLOYMENT_TARGET})
+ endif()
+
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
configure_file(${CURRENT_INSTALLED_DIR}/tools/qt5/qt_release.conf ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/qt.conf)
message(STATUS "Configuring ${TARGET_TRIPLET}-rel")
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
vcpkg_execute_required_process(
- COMMAND ${QMAKE_COMMAND} CONFIG-=debug CONFIG+=release ${_csc_OPTIONS} ${_csc_SOURCE_PATH} -qtconf "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/qt.conf"
+ COMMAND ${QMAKE_COMMAND} CONFIG-=debug CONFIG+=release ${_csc_OPTIONS} ${_csc_OPTIONS_RELEASE} ${_csc_SOURCE_PATH} -qtconf "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/qt.conf"
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
LOGNAME config-${TARGET_TRIPLET}-rel
)
@@ -49,7 +65,7 @@ function(vcpkg_configure_qmake)
message(STATUS "Configuring ${TARGET_TRIPLET}-dbg")
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
vcpkg_execute_required_process(
- COMMAND ${QMAKE_COMMAND} CONFIG-=release CONFIG+=debug ${_csc_OPTIONS} ${_csc_SOURCE_PATH} -qtconf "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/qt.conf"
+ COMMAND ${QMAKE_COMMAND} CONFIG-=release CONFIG+=debug ${_csc_OPTIONS} ${_csc_OPTIONS_DEBUG} ${_csc_SOURCE_PATH} -qtconf "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/qt.conf"
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
LOGNAME config-${TARGET_TRIPLET}-dbg
)
diff --git a/scripts/cmake/vcpkg_copy_tool_dependencies.cmake b/scripts/cmake/vcpkg_copy_tool_dependencies.cmake
index 165f19ed1..396d20b41 100644
--- a/scripts/cmake/vcpkg_copy_tool_dependencies.cmake
+++ b/scripts/cmake/vcpkg_copy_tool_dependencies.cmake
@@ -21,7 +21,7 @@ function(vcpkg_copy_tool_dependencies TOOL_DIR)
file(GLOB TOOLS ${TOOL_DIR}/*.exe ${TOOL_DIR}/*.dll)
foreach(TOOL ${TOOLS})
execute_process(COMMAND powershell -noprofile -executionpolicy Bypass -nologo
- -file ${VCPKG_ROOT_DIR}/scripts/buildsystems/msbuild/applocal.ps1
+ -file ${SCRIPTS}/buildsystems/msbuild/applocal.ps1
-targetBinary ${TOOL}
-installedDir ${PATH_TO_SEARCH}
OUTPUT_VARIABLE OUT)
diff --git a/scripts/cmake/vcpkg_download_distfile.cmake b/scripts/cmake/vcpkg_download_distfile.cmake
index 72016b8c9..1fbff40e5 100644
--- a/scripts/cmake/vcpkg_download_distfile.cmake
+++ b/scripts/cmake/vcpkg_download_distfile.cmake
@@ -120,7 +120,7 @@ function(vcpkg_download_distfile VAR)
list(APPEND request_headers "--header=${header}")
endforeach()
endif()
- execute_process(
+ _execute_process(
COMMAND ${ARIA2} ${vcpkg_download_distfile_URLS}
-o temp/${vcpkg_download_distfile_FILENAME}
-l download-${vcpkg_download_distfile_FILENAME}-detailed.log
diff --git a/scripts/cmake/vcpkg_execute_required_process.cmake b/scripts/cmake/vcpkg_execute_required_process.cmake
index e65d1970a..f25a5b55e 100644
--- a/scripts/cmake/vcpkg_execute_required_process.cmake
+++ b/scripts/cmake/vcpkg_execute_required_process.cmake
@@ -11,6 +11,10 @@
## )
## ```
## ## Parameters
+## ### ALLOW_IN_DOWNLOAD_MODE
+## Allows the command to execute in Download Mode.
+## [See execute_process() override](../../scripts/cmake/execute_process.cmake).
+##
## ### COMMAND
## The command to be executed, along with its arguments.
##
@@ -30,10 +34,20 @@
## * [qt5](https://github.com/Microsoft/vcpkg/blob/master/ports/qt5/portfile.cmake)
include(vcpkg_prettify_command)
function(vcpkg_execute_required_process)
- cmake_parse_arguments(vcpkg_execute_required_process "" "WORKING_DIRECTORY;LOGNAME" "COMMAND" ${ARGN})
+ cmake_parse_arguments(vcpkg_execute_required_process "ALLOW_IN_DOWNLOAD_MODE" "WORKING_DIRECTORY;LOGNAME" "COMMAND" ${ARGN})
set(LOG_OUT "${CURRENT_BUILDTREES_DIR}/${vcpkg_execute_required_process_LOGNAME}-out.log")
set(LOG_ERR "${CURRENT_BUILDTREES_DIR}/${vcpkg_execute_required_process_LOGNAME}-err.log")
- execute_process(
+
+ set(execute_process_function execute_process)
+ if (DEFINED VCPKG_DOWNLOAD_MODE AND NOT vcpkg_execute_required_process_ALLOW_IN_DOWNLOAD_MODE)
+ message(FATAL_ERROR
+[[
+This command cannot be executed in Download Mode.
+Halting portfile execution.
+]])
+ endif()
+
+ _execute_process(
COMMAND ${vcpkg_execute_required_process_COMMAND}
OUTPUT_FILE ${LOG_OUT}
ERROR_FILE ${LOG_ERR}
diff --git a/scripts/cmake/vcpkg_extract_source_archive.cmake b/scripts/cmake/vcpkg_extract_source_archive.cmake
index a55419b19..fbae94b55 100644
--- a/scripts/cmake/vcpkg_extract_source_archive.cmake
+++ b/scripts/cmake/vcpkg_extract_source_archive.cmake
@@ -41,6 +41,7 @@ function(vcpkg_extract_source_archive ARCHIVE)
message(STATUS "Extracting source ${ARCHIVE}")
file(MAKE_DIRECTORY ${WORKING_DIRECTORY})
vcpkg_execute_required_process(
+ ALLOW_IN_DOWNLOAD_MODE
COMMAND ${CMAKE_COMMAND} -E tar xjf ${ARCHIVE}
WORKING_DIRECTORY ${WORKING_DIRECTORY}
LOGNAME extract
diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake
index fed016c7b..aa8a70026 100644
--- a/scripts/cmake/vcpkg_find_acquire_program.cmake
+++ b/scripts/cmake/vcpkg_find_acquire_program.cmake
@@ -302,12 +302,12 @@ function(vcpkg_find_acquire_program VAR)
if(ARCHIVE_EXTENSION STREQUAL ".msi")
file(TO_NATIVE_PATH "${ARCHIVE_PATH}" ARCHIVE_NATIVE_PATH)
file(TO_NATIVE_PATH "${PROG_PATH_SUBDIR}" DESTINATION_NATIVE_PATH)
- execute_process(
+ _execute_process(
COMMAND msiexec /a ${ARCHIVE_NATIVE_PATH} /qn TARGETDIR=${DESTINATION_NATIVE_PATH}
WORKING_DIRECTORY ${DOWNLOADS}
)
else()
- execute_process(
+ _execute_process(
COMMAND ${CMAKE_COMMAND} -E tar xzf ${ARCHIVE_PATH}
WORKING_DIRECTORY ${PROG_PATH_SUBDIR}
)
@@ -316,6 +316,7 @@ function(vcpkg_find_acquire_program VAR)
if(DEFINED POST_INSTALL_COMMAND)
vcpkg_execute_required_process(
+ ALLOW_IN_DOWNLOAD_MODE
COMMAND ${POST_INSTALL_COMMAND}
WORKING_DIRECTORY ${PROG_PATH_SUBDIR}
LOGNAME ${VAR}-tool-post-install
diff --git a/scripts/cmake/vcpkg_from_git.cmake b/scripts/cmake/vcpkg_from_git.cmake
index 0db818f80..bad5384ca 100644
--- a/scripts/cmake/vcpkg_from_git.cmake
+++ b/scripts/cmake/vcpkg_from_git.cmake
@@ -74,16 +74,18 @@ function(vcpkg_from_git)
find_program(GIT NAMES git git.cmd)
# Note: git init is safe to run multiple times
vcpkg_execute_required_process(
+ ALLOW_IN_DOWNLOAD_MODE
COMMAND ${GIT} init git-tmp
WORKING_DIRECTORY ${DOWNLOADS}
LOGNAME git-init-${TARGET_TRIPLET}
)
vcpkg_execute_required_process(
+ ALLOW_IN_DOWNLOAD_MODE
COMMAND ${GIT} fetch ${_vdud_URL} ${_vdud_REF} --depth 1 -n
WORKING_DIRECTORY ${DOWNLOADS}/git-tmp
LOGNAME git-fetch-${TARGET_TRIPLET}
)
- execute_process(
+ _execute_process(
COMMAND ${GIT} rev-parse FETCH_HEAD
OUTPUT_VARIABLE REV_PARSE_HEAD
ERROR_VARIABLE REV_PARSE_HEAD
@@ -100,6 +102,7 @@ function(vcpkg_from_git)
file(MAKE_DIRECTORY "${DOWNLOADS}/temp")
vcpkg_execute_required_process(
+ ALLOW_IN_DOWNLOAD_MODE
COMMAND ${GIT} archive FETCH_HEAD -o "${TEMP_ARCHIVE}"
WORKING_DIRECTORY ${DOWNLOADS}/git-tmp
LOGNAME git-archive
diff --git a/scripts/cmake/vcpkg_from_gitlab.cmake b/scripts/cmake/vcpkg_from_gitlab.cmake
index 6bbe81ed6..05253289e 100644
--- a/scripts/cmake/vcpkg_from_gitlab.cmake
+++ b/scripts/cmake/vcpkg_from_gitlab.cmake
@@ -150,7 +150,7 @@ function(vcpkg_from_gitlab)
endif()
# There are issues with the Gitlab API project paths being URL-escaped, so we use git here to get the head revision
- execute_process(COMMAND ${GIT} ls-remote
+ _execute_process(COMMAND ${GIT} ls-remote
"${_vdud_GITLAB_URL}/${ORG_NAME}/${REPO_NAME}.git" "${_vdud_HEAD_REF}"
RESULT_VARIABLE _git_result
OUTPUT_VARIABLE _git_output
diff --git a/scripts/cmake/vcpkg_install_msbuild.cmake b/scripts/cmake/vcpkg_install_msbuild.cmake
index 92c84bf0b..7c2fdd836 100644
--- a/scripts/cmake/vcpkg_install_msbuild.cmake
+++ b/scripts/cmake/vcpkg_install_msbuild.cmake
@@ -144,7 +144,7 @@ function(vcpkg_install_msbuild)
endif()
if(_csc_USE_VCPKG_INTEGRATION)
- list(APPEND _csc_OPTIONS /p:ForceImportBeforeCppTargets=${VCPKG_ROOT_DIR}/scripts/buildsystems/msbuild/vcpkg.targets /p:VcpkgApplocalDeps=false)
+ list(APPEND _csc_OPTIONS /p:ForceImportBeforeCppTargets=${SCRIPTS}/buildsystems/msbuild/vcpkg.targets /p:VcpkgApplocalDeps=false)
endif()
get_filename_component(SOURCE_PATH_SUFFIX "${_csc_SOURCE_PATH}" NAME)
diff --git a/scripts/cmake/vcpkg_test_cmake.cmake b/scripts/cmake/vcpkg_test_cmake.cmake
index 20343bf64..eeb27867c 100644
--- a/scripts/cmake/vcpkg_test_cmake.cmake
+++ b/scripts/cmake/vcpkg_test_cmake.cmake
@@ -21,59 +21,4 @@ function(vcpkg_test_cmake)
# 2. Select a generator in the same method as vcpkg_configure_cmake() as though the PREFER_NINJA flag was always passed.
# 3. Fully emulate the toolchain file for the just-built package (just adding it to CMAKE_PREFIX_PATH is not enough).
return()
-
- cmake_parse_arguments(_tc "MODULE" "PACKAGE_NAME" "" ${ARGN})
-
- if(NOT DEFINED _tc_PACKAGE_NAME)
- message(FATAL_ERROR "PACKAGE_NAME must be specified")
- endif()
- if(_tc_MODULE)
- set(PACKAGE_TYPE MODULE)
- else()
- set(PACKAGE_TYPE CONFIG)
- endif()
-
- if(VCPKG_PLATFORM_TOOLSET STREQUAL "v142")
- message(STATUS "Skipping CMake integration test due to v142 / CMake interaction issues")
- return()
- endif()
-
- message(STATUS "Performing CMake integration test")
- file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-test)
- file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-test)
-
- #Generate Dummy source
-# set(VCPKG_TEST_SOURCE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-test/CMakeIntegration.cpp)
-# file(WRITE ${VCPKG_TEST_SOURCE} "int main() \{\n")
-# file(APPEND ${VCPKG_TEST_SOURCE} "return 0;}")
- # Generate test source CMakeLists.txt
- set(VCPKG_TEST_CMAKELIST ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-test/CMakeLists.txt)
- file(WRITE ${VCPKG_TEST_CMAKELIST} "cmake_minimum_required(VERSION 3.10)\n")
- file(APPEND ${VCPKG_TEST_CMAKELIST} "set(CMAKE_PREFIX_PATH \"${CURRENT_PACKAGES_DIR};${CURRENT_INSTALLED_DIR}\")\n")
- file(APPEND ${VCPKG_TEST_CMAKELIST} "\n")
- file(APPEND ${VCPKG_TEST_CMAKELIST} "find_package(${_tc_PACKAGE_NAME} ${PACKAGE_TYPE} REQUIRED)\n")
- #To properly test if the package is actually working haveway correctly we have to link all targets of a package to
- #a test executable and than actually build it. This will not discover if every symbol exported by the library is available/linked
- #but it will doscover if all files which are linked by a target actual exist. Problem is: How to discover all targets?
-# file(APPEND ${VCPKG_TEST_CMAKELIST} "add_executable(${_tc_PACKAGE_NAME}_exe ${VCPKG_TEST_SOURCE})\n")
-# file(APPEND ${VCPKG_TEST_CMAKELIST} "target_link_libraries(${_tc_PACKAGE_NAME}_exe PRIVATE ${_tc_PACKAGE_NAME})\n")
-
- if(DEFINED _VCPKG_CMAKE_GENERATOR)
- set(VCPKG_CMAKE_TEST_GENERATOR "${_VCPKG_CMAKE_GENERATOR}")
- else()
- set(VCPKG_CMAKE_TEST_GENERATOR Ninja)
- endif()
-
- # Run cmake config with a generated CMakeLists.txt
- set(LOGPREFIX "${CURRENT_BUILDTREES_DIR}/test-cmake-${TARGET_TRIPLET}")
- execute_process(
- COMMAND ${CMAKE_COMMAND} -G ${VCPKG_CMAKE_TEST_GENERATOR} .
- OUTPUT_FILE "${LOGPREFIX}-out.log"
- ERROR_FILE "${LOGPREFIX}-err.log"
- RESULT_VARIABLE error_code
- WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-test
- )
- if(error_code)
- message(FATAL_ERROR "CMake integration test failed; unable to find_package(${_tc_PACKAGE_NAME} ${PACKAGE_TYPE} REQUIRED)")
- endif()
endfunction()
diff --git a/scripts/ports.cmake b/scripts/ports.cmake
index 056485568..456434f12 100644
--- a/scripts/ports.cmake
+++ b/scripts/ports.cmake
@@ -7,22 +7,28 @@ macro(debug_message)
endmacro()
#Detect .vcpkg-root to figure VCPKG_ROOT_DIR, starting from triplet folder.
-get_filename_component(TARGET_TRIPLET_DIR ${TARGET_TRIPLET_FILE} DIRECTORY)
-SET(VCPKG_ROOT_DIR_CANDIDATE ${TARGET_TRIPLET_DIR})
-while(IS_DIRECTORY ${VCPKG_ROOT_DIR_CANDIDATE} AND NOT EXISTS "${VCPKG_ROOT_DIR_CANDIDATE}/.vcpkg-root")
- get_filename_component(VCPKG_ROOT_DIR_TEMP ${VCPKG_ROOT_DIR_CANDIDATE} DIRECTORY)
- if (VCPKG_ROOT_DIR_TEMP STREQUAL VCPKG_ROOT_DIR_CANDIDATE) # If unchanged, we have reached the root of the drive
- message(FATAL_ERROR "Could not find .vcpkg-root")
- else()
- SET(VCPKG_ROOT_DIR_CANDIDATE ${VCPKG_ROOT_DIR_TEMP})
- endif()
-endwhile()
+set(VCPKG_ROOT_DIR_CANDIDATE ${CMAKE_CURRENT_LIST_DIR})
+
+if(DEFINED VCPKG_ROOT_PATH)
+ set(VCPKG_ROOT_DIR_CANDIDATE ${VCPKG_ROOT_PATH})
+else()
+ message(FATAL_ERROR [[
+ Your vcpkg executable is outdated and is not compatible with the current CMake scripts.
+ Please re-build vcpkg by running bootstrap-vcpkg.
+ ]])
+endif()
+
+# Validate VCPKG_ROOT_DIR_CANDIDATE
+if (NOT EXISTS "${VCPKG_ROOT_DIR_CANDIDATE}/.vcpkg-root")
+ message(FATAL_ERROR "Could not find .vcpkg-root")
+endif()
set(VCPKG_ROOT_DIR ${VCPKG_ROOT_DIR_CANDIDATE})
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake)
set(CURRENT_INSTALLED_DIR ${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET} CACHE PATH "Location to install final packages")
set(DOWNLOADS ${VCPKG_ROOT_DIR}/downloads CACHE PATH "Location to download sources and tools")
+set(SCRIPTS ${CMAKE_CURRENT_LIST_DIR} CACHE PATH "Location to stored scripts")
set(PACKAGES_DIR ${VCPKG_ROOT_DIR}/packages CACHE PATH "Location to store package images")
set(BUILDTREES_DIR ${VCPKG_ROOT_DIR}/buildtrees CACHE PATH "Location to perform actual extract+config+build")
@@ -80,8 +86,8 @@ if(CMD MATCHES "^BUILD$")
endif()
set(TRIPLET_SYSTEM_ARCH ${VCPKG_TARGET_ARCHITECTURE})
- include(${CMAKE_CURRENT_LIST_DIR}/cmake/vcpkg_common_definitions.cmake)
- include(${CMAKE_CURRENT_LIST_DIR}/cmake/vcpkg_common_functions.cmake)
+ include(${SCRIPTS}/cmake/vcpkg_common_definitions.cmake)
+ include(${SCRIPTS}/cmake/vcpkg_common_functions.cmake)
include(${CURRENT_PORT_DIR}/portfile.cmake)
set(BUILD_INFO_FILE_PATH ${CURRENT_PACKAGES_DIR}/BUILD_INFO)
@@ -131,8 +137,8 @@ elseif(CMD MATCHES "^CREATE$")
file(SHA512 ${DOWNLOADS}/${FILENAME} SHA512)
file(MAKE_DIRECTORY ports/${PORT})
- configure_file(scripts/templates/portfile.in.cmake ports/${PORT}/portfile.cmake @ONLY)
- configure_file(scripts/templates/CONTROL.in ports/${PORT}/CONTROL @ONLY)
+ configure_file(${SCRIPTS}/templates/portfile.in.cmake ports/${PORT}/portfile.cmake @ONLY)
+ configure_file(${SCRIPTS}/templates/CONTROL.in ports/${PORT}/CONTROL @ONLY)
message(STATUS "Generated portfile: ${NATIVE_VCPKG_ROOT_DIR}\\ports\\${PORT}\\portfile.cmake")
message(STATUS "Generated CONTROL: ${NATIVE_VCPKG_ROOT_DIR}\\ports\\${PORT}\\CONTROL")
diff --git a/toolsrc/VERSION.txt b/toolsrc/VERSION.txt
index 43464a247..4d402b96c 100644
--- a/toolsrc/VERSION.txt
+++ b/toolsrc/VERSION.txt
@@ -1 +1 @@
-"2019.08.16"
+"2019.09.12"
diff --git a/toolsrc/include/vcpkg/base/hash.h b/toolsrc/include/vcpkg/base/hash.h
index 9e6f118c0..d62fd3921 100644
--- a/toolsrc/include/vcpkg/base/hash.h
+++ b/toolsrc/include/vcpkg/base/hash.h
@@ -6,6 +6,46 @@
namespace vcpkg::Hash
{
- std::string get_string_hash(const std::string& s, const std::string& hash_type);
- std::string get_file_hash(const Files::Filesystem& fs, const fs::path& path, const std::string& hash_type);
+ enum class Algorithm
+ {
+ Sha1,
+ Sha256,
+ Sha512,
+ };
+
+ const char* to_string(Algorithm algo) noexcept;
+ Optional<Algorithm> algorithm_from_string(StringView sv) noexcept;
+
+ struct Hasher
+ {
+ virtual void add_bytes(const void* start, const void* end) noexcept = 0;
+
+ // one may only call this once before calling `clear()` or the dtor
+ virtual std::string get_hash() noexcept = 0;
+ virtual void clear() noexcept = 0;
+ virtual ~Hasher() = default;
+ };
+
+ std::unique_ptr<Hasher> get_hasher_for(Algorithm algo) noexcept;
+
+ std::string get_bytes_hash(const void* first, const void* last, Algorithm algo) noexcept;
+ std::string get_string_hash(StringView s, Algorithm algo) noexcept;
+ std::string get_file_hash(const Files::Filesystem& fs,
+ const fs::path& path,
+ Algorithm algo,
+ std::error_code& ec) noexcept;
+ inline std::string get_file_hash(LineInfo li,
+ const Files::Filesystem& fs,
+ const fs::path& path,
+ Algorithm algo) noexcept
+ {
+ std::error_code ec;
+ const auto result = get_file_hash(fs, path, algo, ec);
+ if (ec)
+ {
+ Checks::exit_with_message(li, "Failure to read file for hashing: %s", ec.message());
+ }
+
+ return result;
+ }
}
diff --git a/toolsrc/include/vcpkg/base/strings.h b/toolsrc/include/vcpkg/base/strings.h
index 0f25607df..481e686d1 100644
--- a/toolsrc/include/vcpkg/base/strings.h
+++ b/toolsrc/include/vcpkg/base/strings.h
@@ -12,15 +12,25 @@
namespace vcpkg::Strings::details
{
template<class T>
- auto to_printf_arg(const T& t) -> decltype(t.to_string())
+ auto to_string(const T& t) -> decltype(t.to_string())
{
return t.to_string();
}
+ // first looks up to_string on `T` using ADL; then, if that isn't found,
+ // uses the above definition which returns t.to_string()
+ template<class T, class = std::enable_if_t<!std::is_arithmetic<T>::value>>
+ auto to_printf_arg(const T& t) -> decltype(to_string(t))
+ {
+ return to_string(t);
+ }
+
inline const char* to_printf_arg(const std::string& s) { return s.c_str(); }
inline const char* to_printf_arg(const char* s) { return s; }
+ inline const wchar_t* to_printf_arg(const wchar_t* s) { return s; }
+
template<class T, class = std::enable_if_t<std::is_arithmetic<T>::value>>
T to_printf_arg(T s)
{
diff --git a/toolsrc/include/vcpkg/base/stringview.h b/toolsrc/include/vcpkg/base/stringview.h
index fef5bef4e..8503f5f10 100644
--- a/toolsrc/include/vcpkg/base/stringview.h
+++ b/toolsrc/include/vcpkg/base/stringview.h
@@ -40,10 +40,11 @@ namespace vcpkg
std::string to_string() const;
void to_string(std::string& out) const;
- bool operator==(StringView other) const;
-
private:
const char* m_ptr = 0;
size_t m_size = 0;
};
+
+ bool operator==(StringView lhs, StringView rhs) noexcept;
+ bool operator!=(StringView lhs, StringView rhs) noexcept;
}
diff --git a/toolsrc/include/vcpkg/build.h b/toolsrc/include/vcpkg/build.h
index 4f6397662..b535698dc 100644
--- a/toolsrc/include/vcpkg/build.h
+++ b/toolsrc/include/vcpkg/build.h
@@ -39,6 +39,12 @@ namespace vcpkg::Build
YES
};
+ enum class OnlyDownloads
+ {
+ NO = 0,
+ YES
+ };
+
enum class CleanBuildtrees
{
NO = 0,
@@ -86,6 +92,7 @@ namespace vcpkg::Build
{
UseHeadVersion use_head_version;
AllowDownloads allow_downloads;
+ OnlyDownloads only_downloads;
CleanBuildtrees clean_buildtrees;
CleanPackages clean_packages;
CleanDownloads clean_downloads;
@@ -103,6 +110,7 @@ namespace vcpkg::Build
FILE_CONFLICTS,
CASCADED_DUE_TO_MISSING_DEPENDENCIES,
EXCLUDED,
+ DOWNLOADED
};
static constexpr std::array<BuildResult, 6> BUILD_RESULT_VALUES = {
diff --git a/toolsrc/include/vcpkg/commands.h b/toolsrc/include/vcpkg/commands.h
index 8a502122e..e73077e1d 100644
--- a/toolsrc/include/vcpkg/commands.h
+++ b/toolsrc/include/vcpkg/commands.h
@@ -100,6 +100,11 @@ namespace vcpkg::Commands
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths);
}
+ namespace PortHistory
+ {
+ void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths);
+ }
+
namespace Autocomplete
{
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths);
diff --git a/toolsrc/src/vcpkg-test/arguments.cpp b/toolsrc/src/vcpkg-test/arguments.cpp
index 326b07579..c63a31396 100644
--- a/toolsrc/src/vcpkg-test/arguments.cpp
+++ b/toolsrc/src/vcpkg-test/arguments.cpp
@@ -13,7 +13,7 @@ TEST_CASE ("VcpkgCmdArguments from lowercase argument sequence", "[arguments]")
{
std::vector<std::string> t = {"--vcpkg-root",
"C:\\vcpkg",
- "--scripts-root=C:\\scripts",
+ "--x-scripts-root=C:\\scripts",
"--debug",
"--sendmetrics",
"--printmetrics",
@@ -45,7 +45,7 @@ TEST_CASE ("VcpkgCmdArguments from uppercase argument sequence", "[arguments]")
{
std::vector<std::string> t = {"--VCPKG-ROOT",
"C:\\vcpkg",
- "--SCRIPTS-ROOT=C:\\scripts",
+ "--X-SCRIPTS-ROOT=C:\\scripts",
"--DEBUG",
"--SENDMETRICS",
"--PRINTMETRICS",
diff --git a/toolsrc/src/vcpkg-test/hash.cpp b/toolsrc/src/vcpkg-test/hash.cpp
new file mode 100644
index 000000000..9f3ccc25e
--- /dev/null
+++ b/toolsrc/src/vcpkg-test/hash.cpp
@@ -0,0 +1,276 @@
+#include <catch2/catch.hpp>
+
+#include <vcpkg/base/hash.h>
+
+#include <algorithm>
+#include <iostream>
+#include <iterator>
+#include <map>
+
+namespace Hash = vcpkg::Hash;
+using vcpkg::StringView;
+
+// Require algorithm: Hash::Algorithm::Tag to be in scope
+#define CHECK_HASH(size, value, real_hash) \
+ do \
+ { \
+ unsigned char data[size]; \
+ std::fill(std::begin(data), std::end(data), static_cast<unsigned char>(value)); \
+ const auto hash = Hash::get_bytes_hash(data, data + size, algorithm); \
+ REQUIRE(hash == real_hash); \
+ } while (0)
+
+#define CHECK_HASH_OF(data, real_hash) \
+ do \
+ { \
+ const auto hash = Hash::get_bytes_hash(std::begin(data), std::end(data), algorithm); \
+ REQUIRE(hash == real_hash); \
+ } while (0)
+
+#define CHECK_HASH_STRING(data, real_hash) \
+ do \
+ { \
+ const auto hash = Hash::get_string_hash(data, algorithm); \
+ REQUIRE(hash == real_hash); \
+ } while (0)
+
+// Requires hasher: std::unique_ptr<Hash::Hasher> to be in scope
+#define CHECK_HASH_LARGE(size, value, real_hash) \
+ do \
+ { \
+ hasher->clear(); \
+ std::uint64_t remaining = size; \
+ unsigned char buffer[512]; \
+ std::fill(std::begin(buffer), std::end(buffer), static_cast<unsigned char>(value)); \
+ while (remaining) \
+ { \
+ if (remaining < 512) \
+ { \
+ hasher->add_bytes(std::begin(buffer), std::begin(buffer) + remaining); \
+ remaining = 0; \
+ } \
+ else \
+ { \
+ hasher->add_bytes(std::begin(buffer), std::end(buffer)); \
+ remaining -= 512; \
+ } \
+ } \
+ REQUIRE(hasher->get_hash() == real_hash); \
+ } while (0)
+
+TEST_CASE ("SHA1: basic tests", "[hash][sha1]")
+{
+ const auto algorithm = Hash::Algorithm::Sha1;
+
+ CHECK_HASH_STRING("", "da39a3ee5e6b4b0d3255bfef95601890afd80709");
+ CHECK_HASH_STRING(";", "2d14ab97cc3dc294c51c0d6814f4ea45f4b4e312");
+ CHECK_HASH_STRING("asdifasdfnas", "b77eb8a1b4c2ef6716d7d302647e4511b1a638a6");
+ CHECK_HASH_STRING("asdfanvoinaoifawenflawenfiwnofvnasfjvnaslkdfjlkasjdfanm,"
+ "werflawoienfowanevoinwai32910u2740918741o;j;wejfqwioaher9283hrpf;asd",
+ "c69bcd30c196c7050906d212722dd7a7659aad04");
+}
+
+TEST_CASE ("SHA1: NIST test cases (small)", "[hash][sha1]")
+{
+ const auto algorithm = Hash::Algorithm::Sha1;
+
+ CHECK_HASH_STRING("abc", "a9993e364706816aba3e25717850c26c9cd0d89d");
+ CHECK_HASH_STRING("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
+ "84983e441c3bd26ebaae4aa1f95129e5e54670f1");
+}
+
+TEST_CASE ("SHA256: basic tests", "[hash][sha256]")
+{
+ const auto algorithm = Hash::Algorithm::Sha256;
+
+ CHECK_HASH_STRING("", "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855");
+ CHECK_HASH_STRING(";", "41b805ea7ac014e23556e98bb374702a08344268f92489a02f0880849394a1e4");
+ CHECK_HASH_STRING("asdifasdfnas", "2bb1fb910831fdc11d5a3996425a84ace27aeb81c9c20ace9f60ac1b3218b291");
+ CHECK_HASH_STRING("asdfanvoinaoifawenflawenfiwnofvnasfjvnaslkdfjlkasjdfanm,"
+ "werflawoienfowanevoinwai32910u2740918741o;j;wejfqwioaher9283hrpf;asd",
+ "10c98034b424d4e40ca933bc524ea38b4e53290d76e8b38edc4ea2fec7f529aa");
+}
+
+TEST_CASE ("SHA256: NIST test cases (small)", "[hash][sha256]")
+{
+ const auto algorithm = Hash::Algorithm::Sha256;
+
+ CHECK_HASH(1, 0xbd, "68325720aabd7c82f30f554b313d0570c95accbb7dc4b5aae11204c08ffe732b");
+ {
+ const unsigned char data[] = {0xc9, 0x8c, 0x8e, 0x55};
+ CHECK_HASH_OF(data, "7abc22c0ae5af26ce93dbb94433a0e0b2e119d014f8e7f65bd56c61ccccd9504");
+ }
+ CHECK_HASH(55, 0, "02779466cdec163811d078815c633f21901413081449002f24aa3e80f0b88ef7");
+ CHECK_HASH(56, 0, "d4817aa5497628e7c77e6b606107042bbba3130888c5f47a375e6179be789fbb");
+ CHECK_HASH(57, 0, "65a16cb7861335d5ace3c60718b5052e44660726da4cd13bb745381b235a1785");
+ CHECK_HASH(64, 0, "f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b");
+ CHECK_HASH(1000, 0, "541b3e9daa09b20bf85fa273e5cbd3e80185aa4ec298e765db87742b70138a53");
+ CHECK_HASH(1000, 'A', "c2e686823489ced2017f6059b8b239318b6364f6dcd835d0a519105a1eadd6e4");
+ CHECK_HASH(1005, 'U', "f4d62ddec0f3dd90ea1380fa16a5ff8dc4c54b21740650f24afc4120903552b0");
+}
+
+TEST_CASE ("SHA512: NIST test cases (small)", "[hash][sha512]")
+{
+ const auto algorithm = Hash::Algorithm::Sha512;
+
+ CHECK_HASH_STRING("",
+ "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f"
+ "63b931bd47417a81a538327af927da3e");
+
+ CHECK_HASH(111,
+ 0,
+ "77ddd3a542e530fd047b8977c657ba6ce72f1492e360b2b2212cd264e75ec03882e4ff0525517ab4207d14c70c2259ba88d4d33"
+ "5ee0e7e20543d22102ab1788c");
+ CHECK_HASH(112,
+ 0,
+ "2be2e788c8a8adeaa9c89a7f78904cacea6e39297d75e0573a73c756234534d6627ab4156b48a6657b29ab8beb73334040ad39e"
+ "ad81446bb09c70704ec707952");
+ CHECK_HASH(113,
+ 0,
+ "0e67910bcf0f9ccde5464c63b9c850a12a759227d16b040d98986d54253f9f34322318e56b8feb86c5fb2270ed87f31252f7f68"
+ "493ee759743909bd75e4bb544");
+ CHECK_HASH(122,
+ 0,
+ "4f3f095d015be4a7a7cc0b8c04da4aa09e74351e3a97651f744c23716ebd9b3e822e5077a01baa5cc0ed45b9249e88ab343d433"
+ "3539df21ed229da6f4a514e0f");
+ CHECK_HASH(1000,
+ 0,
+ "ca3dff61bb23477aa6087b27508264a6f9126ee3a004f53cb8db942ed345f2f2d229b4b59c859220a1cf1913f34248e3803bab6"
+ "50e849a3d9a709edc09ae4a76");
+ CHECK_HASH(1000,
+ 'A',
+ "329c52ac62d1fe731151f2b895a00475445ef74f50b979c6f7bb7cae349328c1d4cb4f7261a0ab43f936a24b000651d4a824fcd"
+ "d577f211aef8f806b16afe8af");
+ CHECK_HASH(1005,
+ 'U',
+ "59f5e54fe299c6a8764c6b199e44924a37f59e2b56c3ebad939b7289210dc8e4c21b9720165b0f4d4374c90f1bf4fb4a5ace17a"
+ "1161798015052893a48c3d161");
+}
+
+TEST_CASE ("SHA256: NIST test cases (large)", "[.][hash-expensive][sha256-expensive]")
+{
+ auto hasher = Hash::get_hasher_for(Hash::Algorithm::Sha256);
+ CHECK_HASH_LARGE(1'000'000, 0, "d29751f2649b32ff572b5e0a9f541ea660a50f94ff0beedfb0b692b924cc8025");
+ CHECK_HASH_LARGE(0x2000'0000, 'Z', "15a1868c12cc53951e182344277447cd0979536badcc512ad24c67e9b2d4f3dd");
+ CHECK_HASH_LARGE(0x4100'0000, 0, "461c19a93bd4344f9215f5ec64357090342bc66b15a148317d276e31cbc20b53");
+ CHECK_HASH_LARGE(0x6000'003E, 'B', "c23ce8a7895f4b21ec0daf37920ac0a262a220045a03eb2dfed48ef9b05aabea");
+}
+
+TEST_CASE ("SHA512: NIST test cases (large)", "[.][hash-expensive][sha512-expensive]")
+{
+ auto hasher = Hash::get_hasher_for(Hash::Algorithm::Sha512);
+ CHECK_HASH_LARGE(1'000'000,
+ 0,
+ "ce044bc9fd43269d5bbc946cbebc3bb711341115cc4abdf2edbc3ff2c57ad4b15deb699bda257fea5aef9c6e55fcf4cf9"
+ "dc25a8c3ce25f2efe90908379bff7ed");
+ CHECK_HASH_LARGE(0x2000'0000,
+ 'Z',
+ "da172279f3ebbda95f6b6e1e5f0ebec682c25d3d93561a1624c2fa9009d64c7e9923f3b46bcaf11d39a531f43297992ba"
+ "4155c7e827bd0f1e194ae7ed6de4cac");
+ CHECK_HASH_LARGE(0x4100'0000,
+ 0,
+ "14b1be901cb43549b4d831e61e5f9df1c791c85b50e85f9d6bc64135804ad43ce8402750edbe4e5c0fc170b99cf78b9f4"
+ "ecb9c7e02a157911d1bd1832d76784f");
+ CHECK_HASH_LARGE(0x6000'003E,
+ 'B',
+ "fd05e13eb771f05190bd97d62647157ea8f1f6949a52bb6daaedbad5f578ec59b1b8d6c4a7ecb2feca6892b4dc1387716"
+ "70a0f3bd577eea326aed40ab7dd58b1");
+}
+
+#if defined(CATCH_CONFIG_ENABLE_BENCHMARKING)
+using Catch::Benchmark::Chronometer;
+void benchmark_hasher(Chronometer& meter, Hash::Hasher& hasher, std::uint64_t size, unsigned char byte) noexcept
+{
+ unsigned char buffer[1024];
+ std::fill(std::begin(buffer), std::end(buffer), byte);
+
+ meter.measure([&] {
+ hasher.clear();
+ std::uint64_t remaining = size;
+ while (remaining)
+ {
+ if (remaining < 512)
+ {
+ hasher.add_bytes(std::begin(buffer), std::begin(buffer) + remaining);
+ remaining = 0;
+ }
+ else
+ {
+ hasher.add_bytes(std::begin(buffer), std::end(buffer));
+ remaining -= 512;
+ }
+ }
+ hasher.get_hash();
+ });
+}
+
+TEST_CASE ("SHA1: benchmark", "[.][hash][sha256][!benchmark]")
+{
+ using Catch::Benchmark::Chronometer;
+
+ auto hasher = Hash::get_hasher_for(Hash::Algorithm::Sha1);
+
+ BENCHMARK_ADVANCED("0 x 1'000'000")(Catch::Benchmark::Chronometer meter)
+ {
+ benchmark_hasher(meter, *hasher, 1'000'000, 0);
+ };
+ BENCHMARK_ADVANCED("'Z' x 0x2000'0000")(Catch::Benchmark::Chronometer meter)
+ {
+ benchmark_hasher(meter, *hasher, 0x2000'0000, 'Z');
+ };
+ BENCHMARK_ADVANCED("0 x 0x4100'0000")(Catch::Benchmark::Chronometer meter)
+ {
+ benchmark_hasher(meter, *hasher, 0x4100'0000, 0);
+ };
+ BENCHMARK_ADVANCED("'B' x 0x6000'003E")(Catch::Benchmark::Chronometer meter)
+ {
+ benchmark_hasher(meter, *hasher, 0x6000'003E, 'B');
+ };
+}
+
+TEST_CASE ("SHA256: benchmark", "[.][hash][sha256][!benchmark]")
+{
+ using Catch::Benchmark::Chronometer;
+
+ auto hasher = Hash::get_hasher_for(Hash::Algorithm::Sha256);
+
+ BENCHMARK_ADVANCED("0 x 1'000'000")(Catch::Benchmark::Chronometer meter)
+ {
+ benchmark_hasher(meter, *hasher, 1'000'000, 0);
+ };
+ BENCHMARK_ADVANCED("'Z' x 0x2000'0000")(Catch::Benchmark::Chronometer meter)
+ {
+ benchmark_hasher(meter, *hasher, 0x2000'0000, 'Z');
+ };
+ BENCHMARK_ADVANCED("0 x 0x4100'0000")(Catch::Benchmark::Chronometer meter)
+ {
+ benchmark_hasher(meter, *hasher, 0x4100'0000, 0);
+ };
+ BENCHMARK_ADVANCED("'B' x 0x6000'003E")(Catch::Benchmark::Chronometer meter)
+ {
+ benchmark_hasher(meter, *hasher, 0x6000'003E, 'B');
+ };
+}
+
+TEST_CASE ("SHA512: large -- benchmark", "[.][hash][sha512][!benchmark]")
+{
+ auto hasher = Hash::get_hasher_for(Hash::Algorithm::Sha512);
+
+ BENCHMARK_ADVANCED("0 x 1'000'000")(Catch::Benchmark::Chronometer meter)
+ {
+ benchmark_hasher(meter, *hasher, 1'000'000, 0);
+ };
+ BENCHMARK_ADVANCED("'Z' x 0x2000'0000")(Catch::Benchmark::Chronometer meter)
+ {
+ benchmark_hasher(meter, *hasher, 0x2000'0000, 'Z');
+ };
+ BENCHMARK_ADVANCED("0 x 0x4100'0000")(Catch::Benchmark::Chronometer meter)
+ {
+ benchmark_hasher(meter, *hasher, 0x4100'0000, 0);
+ };
+ BENCHMARK_ADVANCED("'B' x 0x6000'003E")(Catch::Benchmark::Chronometer meter)
+ {
+ benchmark_hasher(meter, *hasher, 0x6000'003E, 'B');
+ };
+}
+#endif
diff --git a/toolsrc/src/vcpkg-test/stringview.cpp b/toolsrc/src/vcpkg-test/stringview.cpp
new file mode 100644
index 000000000..4df8e6be5
--- /dev/null
+++ b/toolsrc/src/vcpkg-test/stringview.cpp
@@ -0,0 +1,17 @@
+#include <catch2/catch.hpp>
+
+#include <vcpkg/base/stringview.h>
+
+template <std::size_t N>
+static vcpkg::StringView sv(const char (&cstr)[N]) {
+ return cstr;
+}
+
+TEST_CASE("string view operator==", "[stringview]") {
+ // these are due to a bug in operator==
+ // see commit 782723959399a1a0725ac49
+ REQUIRE(sv("hey") != sv("heys"));
+ REQUIRE(sv("heys") != sv("hey"));
+ REQUIRE(sv("hey") == sv("hey"));
+ REQUIRE(sv("hey") != sv("hex"));
+}
diff --git a/toolsrc/src/vcpkg/base/downloads.cpp b/toolsrc/src/vcpkg/base/downloads.cpp
index 4bb2178e5..df6b1be09 100644
--- a/toolsrc/src/vcpkg/base/downloads.cpp
+++ b/toolsrc/src/vcpkg/base/downloads.cpp
@@ -127,7 +127,7 @@ namespace vcpkg::Downloads
const fs::path& path,
const std::string& sha512)
{
- std::string actual_hash = vcpkg::Hash::get_file_hash(fs, path, "SHA512");
+ std::string actual_hash = vcpkg::Hash::get_file_hash(VCPKG_LINE_INFO, fs, path, Hash::Algorithm::Sha512);
// <HACK to handle NuGet.org changing nupkg hashes.>
// This is the NEW hash for 7zip
diff --git a/toolsrc/src/vcpkg/base/files.cpp b/toolsrc/src/vcpkg/base/files.cpp
index bbf37fd25..3d7df1a68 100644
--- a/toolsrc/src/vcpkg/base/files.cpp
+++ b/toolsrc/src/vcpkg/base/files.cpp
@@ -8,9 +8,8 @@
#include <vcpkg/base/util.h>
#include <vcpkg/base/work_queue.h>
-#if defined(__linux__) || defined(__APPLE__)
+#if !defined(_WIN32)
#include <fcntl.h>
-#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
@@ -186,6 +185,7 @@ namespace vcpkg::Files
if (ec) Checks::exit_with_message(li, "error checking existence of file %s: %s", path.u8string(), ec.message());
return result;
}
+
bool Filesystem::exists(const fs::path& path) const
{
std::error_code ec;
@@ -396,7 +396,7 @@ namespace vcpkg::Files
{
this->rename(oldpath, newpath, ec);
Util::unused(temp_suffix);
-#if defined(__linux__) || defined(__APPLE__)
+#if !defined(_WIN32)
if (ec)
{
auto dst = newpath;
@@ -419,6 +419,33 @@ namespace vcpkg::Files
auto written_bytes = sendfile(o_fd, i_fd, &bytes, info.st_size);
#elif defined(__APPLE__)
auto written_bytes = fcopyfile(i_fd, o_fd, 0, COPYFILE_ALL);
+#else
+ ssize_t written_bytes = 0;
+ {
+ constexpr std::size_t buffer_length = 4096;
+ auto buffer = std::make_unique<unsigned char[]>(buffer_length);
+ while (auto read_bytes = read(i_fd, buffer.get(), buffer_length))
+ {
+ if (read_bytes == -1)
+ {
+ written_bytes = -1;
+ break;
+ }
+ auto remaining = read_bytes;
+ while (remaining > 0) {
+ auto read_result = write(o_fd, buffer.get(), remaining);
+ if (read_result == -1)
+ {
+ written_bytes = -1;
+ // break two loops
+ goto copy_failure;
+ }
+ remaining -= read_result;
+ }
+ }
+
+ copy_failure: ;
+ }
#endif
if (written_bytes == -1)
{
@@ -641,13 +668,14 @@ namespace vcpkg::Files
auto paths = Strings::split(System::get_environment_variable("PATH").value_or_exit(VCPKG_LINE_INFO), ";");
std::vector<fs::path> ret;
+ std::error_code ec;
for (auto&& path : paths)
{
auto base = path + "/" + name;
for (auto&& ext : EXTS)
{
auto p = fs::u8path(base + ext.c_str());
- if (Util::find(ret, p) == ret.end() && this->exists(VCPKG_LINE_INFO, p))
+ if (Util::find(ret, p) == ret.end() && this->exists(p, ec))
{
ret.push_back(p);
Debug::print("Found path: ", p.u8string(), '\n');
diff --git a/toolsrc/src/vcpkg/base/hash.cpp b/toolsrc/src/vcpkg/base/hash.cpp
index 62a01ed17..11df3e329 100644
--- a/toolsrc/src/vcpkg/base/hash.cpp
+++ b/toolsrc/src/vcpkg/base/hash.cpp
@@ -14,238 +14,758 @@
#ifndef NT_SUCCESS
#define NT_SUCCESS(Status) (((NTSTATUS)(Status)) >= 0)
#endif
+
#endif
namespace vcpkg::Hash
{
- static void verify_has_only_allowed_chars(const std::string& s)
+ using uchar = unsigned char;
+
+ Optional<Algorithm> algorithm_from_string(StringView sv) noexcept
+ {
+ if (Strings::case_insensitive_ascii_equals(sv, "SHA1"))
+ {
+ return {Algorithm::Sha1};
+ }
+ if (Strings::case_insensitive_ascii_equals(sv, "SHA256"))
+ {
+ return {Algorithm::Sha256};
+ }
+ if (Strings::case_insensitive_ascii_equals(sv, "SHA512"))
+ {
+ return {Algorithm::Sha512};
+ }
+
+ return {};
+ }
+
+ const char* to_string(Algorithm algo) noexcept
{
- static const std::regex ALLOWED_CHARS{"^[a-zA-Z0-9-]*$"};
- Checks::check_exit(VCPKG_LINE_INFO,
- std::regex_match(s, ALLOWED_CHARS),
- "Only alphanumeric chars and dashes are currently allowed. String was:\n"
- " % s",
- s);
+ switch (algo)
+ {
+ case Algorithm::Sha1: return "SHA1";
+ case Algorithm::Sha256: return "SHA256";
+ case Algorithm::Sha512: return "SHA512";
+ default: vcpkg::Checks::exit_fail(VCPKG_LINE_INFO);
+ }
}
-#if defined(_WIN32)
+
namespace
{
- std::string to_hex(const unsigned char* string, const size_t bytes)
+ struct UInt128
{
- static constexpr char HEX_MAP[] = "0123456789abcdef";
+ std::uint64_t top;
+ std::uint64_t bottom;
- std::string output;
- output.resize(2 * bytes);
+ UInt128() = default;
+ UInt128(std::uint64_t value) : top(0), bottom(value) {}
- size_t current_char = 0;
- for (size_t i = 0; i < bytes; i++)
+ UInt128& operator<<=(int by) noexcept
+ {
+ if (by == 0)
+ {
+ return *this;
+ }
+
+ if (by < 64)
+ {
+ top <<= by;
+ const auto shift_up = bottom >> (64 - by);
+ top |= shift_up;
+ bottom <<= by;
+ }
+ else
+ {
+ top = bottom;
+ top <<= (by - 64);
+ }
+
+ return *this;
+ }
+
+ UInt128& operator>>=(int by) noexcept
+ {
+ if (by == 0)
+ {
+ return *this;
+ }
+
+ if (by < 64)
+ {
+ bottom >>= by;
+ const auto shift_down = top << (64 - by);
+ bottom |= shift_down;
+ top >>= by;
+ }
+ else
+ {
+ bottom = top;
+ bottom >>= (by - 64);
+ }
+
+ return *this;
+ }
+
+ UInt128& operator+=(std::size_t lhs) noexcept
+ {
+ // bottom + lhs > uint64::max
+ if (bottom > std::numeric_limits<std::uint64_t>::max() - lhs)
+ {
+ top += 1;
+ }
+ bottom += lhs;
+ return *this;
+ }
+ };
+
+ }
+ template<class T>
+ void top_bits(T) = delete;
+
+ static constexpr uchar top_bits(uchar x) noexcept { return x; }
+ static constexpr uchar top_bits(std::uint32_t x) noexcept { return (x >> 24) & 0xFF; }
+ static constexpr uchar top_bits(std::uint64_t x) noexcept { return (x >> 56) & 0xFF; }
+ static constexpr uchar top_bits(UInt128 x) noexcept { return top_bits(x.top); }
+
+ // treats UIntTy as big endian for the purpose of this mapping
+ template<class UIntTy>
+ static std::string to_hex(const UIntTy* start, const UIntTy* end) noexcept
+ {
+ static constexpr char HEX_MAP[] = "0123456789abcdef";
+
+ std::string output;
+ output.resize(2 * sizeof(UIntTy) * (end - start));
+
+ std::size_t output_index = 0;
+ for (const UIntTy* it = start; it != end; ++it)
+ {
+ // holds *it in a big-endian buffer, for copying into output
+ uchar buff[sizeof(UIntTy)];
+ UIntTy tmp = *it;
+ for (uchar& ch : buff)
+ {
+ ch = top_bits(tmp);
+ tmp <<= 8;
+ }
+
+ for (const auto byte : buff)
{
// high
- output[current_char] = HEX_MAP[(string[i] & 0xF0) >> 4];
- ++current_char;
+ output[output_index] = HEX_MAP[(byte & 0xF0) >> 4];
+ ++output_index;
// low
- output[current_char] = HEX_MAP[(string[i] & 0x0F)];
- ++current_char;
+ output[output_index] = HEX_MAP[byte & 0x0F];
+ ++output_index;
}
-
- return output;
}
- class BCryptHasher
+ return output;
+ }
+
+ namespace
+ {
+#if defined(_WIN32)
+ BCRYPT_ALG_HANDLE get_alg_handle(LPCWSTR algorithm_identifier) noexcept
{
- struct BCryptAlgorithmHandle : Util::ResourceBase
+ BCRYPT_ALG_HANDLE result;
+ auto error = BCryptOpenAlgorithmProvider(&result, algorithm_identifier, nullptr, 0);
+ if (!NT_SUCCESS(error))
{
- BCRYPT_ALG_HANDLE handle = nullptr;
+ Checks::exit_with_message(VCPKG_LINE_INFO, "Failure to open algorithm: %ls", algorithm_identifier);
+ }
+
+ return result;
+ }
- ~BCryptAlgorithmHandle()
+ struct BCryptHasher : Hasher
+ {
+ static const BCRYPT_ALG_HANDLE sha1_alg_handle;
+ static const BCRYPT_ALG_HANDLE sha256_alg_handle;
+ static const BCRYPT_ALG_HANDLE sha512_alg_handle;
+
+ explicit BCryptHasher(Algorithm algo) noexcept
+ {
+ switch (algo)
{
- if (handle) BCryptCloseAlgorithmProvider(handle, 0);
+ case Algorithm::Sha1: alg_handle = sha1_alg_handle; break;
+ case Algorithm::Sha256: alg_handle = sha256_alg_handle; break;
+ case Algorithm::Sha512: alg_handle = sha512_alg_handle; break;
+ default: Checks::exit_with_message(VCPKG_LINE_INFO, "Unknown algorithm");
}
- };
- struct BCryptHashHandle : Util::ResourceBase
+ clear();
+ }
+
+ virtual void add_bytes(const void* start_, const void* end_) noexcept override
{
- BCRYPT_HASH_HANDLE handle = nullptr;
+ // BCryptHashData takes its input as non-const, but does not modify it
+ uchar* start = const_cast<uchar*>(static_cast<const uchar*>(start_));
+ const uchar* end = static_cast<const uchar*>(end_);
+ Checks::check_exit(VCPKG_LINE_INFO, end - start >= 0);
+
+ // only matters on 64-bit -- BCryptHasher takes an unsigned long
+ // length, so if you have an array bigger than 2**32-1 elements,
+ // you have a problem.
+#if defined(_M_AMD64) || defined(_M_ARM64)
+ constexpr std::ptrdiff_t max = std::numeric_limits<unsigned long>::max();
+ Checks::check_exit(VCPKG_LINE_INFO, end - start <= max);
+#endif
- ~BCryptHashHandle()
- {
- if (handle) BCryptDestroyHash(handle);
- }
- };
+ const auto length = static_cast<unsigned long>(end - start);
+ const NTSTATUS error_code = BCryptHashData(hash_handle, start, length, 0);
+ Checks::check_exit(VCPKG_LINE_INFO, NT_SUCCESS(error_code), "Failed to process a chunk");
+ }
- static void initialize_hash_handle(BCryptHashHandle& hash_handle,
- const BCryptAlgorithmHandle& algorithm_handle)
+ virtual void clear() noexcept override
{
- const NTSTATUS error_code =
- BCryptCreateHash(algorithm_handle.handle, &hash_handle.handle, nullptr, 0, nullptr, 0, 0);
+ if (hash_handle) BCryptDestroyHash(hash_handle);
+ const NTSTATUS error_code = BCryptCreateHash(alg_handle, &hash_handle, nullptr, 0, nullptr, 0, 0);
Checks::check_exit(VCPKG_LINE_INFO, NT_SUCCESS(error_code), "Failed to initialize the hasher");
}
- static void hash_data(BCryptHashHandle& hash_handle, const unsigned char* buffer, const size_t& data_size)
+ virtual std::string get_hash() noexcept override
{
- const NTSTATUS error_code = BCryptHashData(
- hash_handle.handle, const_cast<unsigned char*>(buffer), static_cast<ULONG>(data_size), 0);
- Checks::check_exit(VCPKG_LINE_INFO, NT_SUCCESS(error_code), "Failed to hash data");
+ const auto hash_size = get_hash_buffer_size();
+ const auto buffer = std::make_unique<uchar[]>(hash_size);
+ const auto hash = buffer.get();
+
+ const NTSTATUS error_code = BCryptFinishHash(hash_handle, hash, hash_size, 0);
+ Checks::check_exit(VCPKG_LINE_INFO, NT_SUCCESS(error_code), "Failed to finalize the hash");
+ return to_hex(hash, hash + hash_size);
}
- static std::string finalize_hash_handle(const BCryptHashHandle& hash_handle, const ULONG length_in_bytes)
+ ~BCryptHasher() { BCryptDestroyHash(hash_handle); }
+
+ private:
+ unsigned long get_hash_buffer_size() const
{
- std::unique_ptr<unsigned char[]> hash_buffer = std::make_unique<UCHAR[]>(length_in_bytes);
- const NTSTATUS error_code = BCryptFinishHash(hash_handle.handle, hash_buffer.get(), length_in_bytes, 0);
- Checks::check_exit(VCPKG_LINE_INFO, NT_SUCCESS(error_code), "Failed to finalize the hash");
- return to_hex(hash_buffer.get(), length_in_bytes);
- }
-
- public:
- explicit BCryptHasher(std::string hash_type)
- {
- NTSTATUS error_code = BCryptOpenAlgorithmProvider(
- &this->algorithm_handle.handle,
- Strings::to_utf16(Strings::ascii_to_uppercase(std::move(hash_type))).c_str(),
- nullptr,
- 0);
- Checks::check_exit(VCPKG_LINE_INFO, NT_SUCCESS(error_code), "Failed to open the algorithm provider");
-
- DWORD hash_buffer_bytes;
- DWORD cb_data;
- error_code = BCryptGetProperty(this->algorithm_handle.handle,
- BCRYPT_HASH_LENGTH,
- reinterpret_cast<PUCHAR>(&hash_buffer_bytes),
- sizeof(DWORD),
- &cb_data,
- 0);
+ unsigned long hash_buffer_bytes;
+ unsigned long cb_data;
+ const NTSTATUS error_code = BCryptGetProperty(alg_handle,
+ BCRYPT_HASH_LENGTH,
+ reinterpret_cast<uchar*>(&hash_buffer_bytes),
+ sizeof(hash_buffer_bytes),
+ &cb_data,
+ 0);
Checks::check_exit(VCPKG_LINE_INFO, NT_SUCCESS(error_code), "Failed to get hash length");
- this->length_in_bytes = hash_buffer_bytes;
+
+ return hash_buffer_bytes;
}
- std::string hash_file(const fs::path& path) const
- {
- BCryptHashHandle hash_handle;
- initialize_hash_handle(hash_handle, this->algorithm_handle);
+ BCRYPT_HASH_HANDLE hash_handle = nullptr;
+ BCRYPT_ALG_HANDLE alg_handle = nullptr;
+ };
+
+ const BCRYPT_ALG_HANDLE BCryptHasher::sha1_alg_handle = get_alg_handle(BCRYPT_SHA1_ALGORITHM);
+ const BCRYPT_ALG_HANDLE BCryptHasher::sha256_alg_handle = get_alg_handle(BCRYPT_SHA256_ALGORITHM);
+ const BCRYPT_ALG_HANDLE BCryptHasher::sha512_alg_handle = get_alg_handle(BCRYPT_SHA512_ALGORITHM);
+#else
+
+ template<class WordTy>
+ static WordTy shl(WordTy value, int by) noexcept
+ {
+ return value << by;
+ }
+
+ static std::uint32_t shr32(std::uint32_t value, int by) noexcept { return value >> by; }
+ static std::uint32_t rol32(std::uint32_t value, int by) noexcept
+ {
+ return (value << by) | (value >> (32 - by));
+ }
+ static std::uint32_t ror32(std::uint32_t value, int by) noexcept
+ {
+ return (value >> by) | (value << (32 - by));
+ }
+
+ static std::uint64_t shr64(std::uint64_t value, int by) noexcept { return value >> by; }
+ static std::uint64_t ror64(std::uint64_t value, int by) noexcept
+ {
+ return (value >> by) | (value << (64 - by));
+ }
+
+ template<class ShaAlgorithm>
+ struct ShaHasher final : Hasher
+ {
+ ShaHasher() = default;
- FILE* file = nullptr;
- const auto ec = _wfopen_s(&file, path.c_str(), L"rb");
- Checks::check_exit(VCPKG_LINE_INFO, ec == 0, "Failed to open file: %s", path.u8string());
- if (file != nullptr)
+ virtual void add_bytes(const void* start, const void* end) noexcept override
+ {
+ for (;;)
{
- unsigned char buffer[4096];
- while (const auto actual_size = fread(buffer, 1, sizeof(buffer), file))
+ start = add_to_unprocessed(start, end);
+ if (!start)
{
- hash_data(hash_handle, buffer, actual_size);
+ break; // done
}
- fclose(file);
+
+ m_impl.process_full_chunk(m_chunk);
+ m_current_chunk_size = 0;
}
+ }
+
+ virtual void clear() noexcept override
+ {
+ m_impl.clear();
- return finalize_hash_handle(hash_handle, length_in_bytes);
+ // m_chunk is theoretically uninitialized, so no need to reset it
+ m_current_chunk_size = 0;
+ m_message_length = 0;
}
- std::string hash_string(const std::string& s) const
+ virtual std::string get_hash() noexcept override
{
- BCryptHashHandle hash_handle;
- initialize_hash_handle(hash_handle, this->algorithm_handle);
- hash_data(hash_handle, reinterpret_cast<const unsigned char*>(s.c_str()), s.size());
- return finalize_hash_handle(hash_handle, length_in_bytes);
+ process_last_chunk();
+ return to_hex(m_impl.begin(), m_impl.end());
}
private:
- BCryptAlgorithmHandle algorithm_handle;
- ULONG length_in_bytes;
- };
- }
+ // if unprocessed gets filled,
+ // returns a pointer to the remainder of the block (which might be end)
+ // else, returns nullptr
+ const void* add_to_unprocessed(const void* start_, const void* end_) noexcept
+ {
+ const uchar* start = static_cast<const uchar*>(start_);
+ const uchar* end = static_cast<const uchar*>(end_);
- std::string get_file_hash(const Files::Filesystem& fs, const fs::path& path, const std::string& hash_type)
- {
- Checks::check_exit(VCPKG_LINE_INFO, fs.exists(path), "File %s does not exist", path.u8string());
- return BCryptHasher{hash_type}.hash_file(path);
- }
+ const auto remaining = chunk_size - m_current_chunk_size;
- std::string get_string_hash(const std::string& s, const std::string& hash_type)
- {
- verify_has_only_allowed_chars(s);
- return BCryptHasher{hash_type}.hash_string(s);
- }
+ const std::size_t message_length = end - start;
+ if (message_length >= remaining)
+ {
+ std::copy(start, start + remaining, chunk_begin());
+ m_current_chunk_size += remaining;
+ m_message_length += remaining * 8;
+ return start + remaining;
+ }
+ else
+ {
+ std::copy(start, end, chunk_begin());
+ m_current_chunk_size += message_length;
+ m_message_length += message_length * 8;
+ return nullptr;
+ }
+ }
-#else
- static std::string get_digest_size(const std::string& hash_type)
- {
- if (!Strings::case_insensitive_ascii_starts_with(hash_type, "SHA"))
+ // called before `get_hash`
+ void process_last_chunk() noexcept
+ {
+ const auto message_length = m_message_length;
+
+ // append the bit '1' to the message
+ {
+ const uchar temp = 0x80;
+ add_to_unprocessed(&temp, &temp + 1);
+ }
+
+ // append 0 to the message so that the resulting length is just enough
+ // to add the message length
+ if (chunk_size - m_current_chunk_size < sizeof(m_message_length))
+ {
+ // not enough space to add the message length
+ // just resize and process full chunk
+ std::fill(chunk_begin(), m_chunk.end(), static_cast<uchar>(0));
+ m_impl.process_full_chunk(m_chunk);
+ m_current_chunk_size = 0;
+ }
+
+ const auto before_length = m_chunk.end() - sizeof(m_message_length);
+ std::fill(chunk_begin(), before_length, static_cast<uchar>(0));
+ std::generate(before_length, m_chunk.end(), [length = message_length]() mutable {
+ const auto result = top_bits(length);
+ length <<= 8;
+ return result;
+ });
+
+ m_impl.process_full_chunk(m_chunk);
+ }
+
+ auto chunk_begin() { return m_chunk.begin() + m_current_chunk_size; }
+
+ using underlying_type = typename ShaAlgorithm::underlying_type;
+ using message_length_type = typename ShaAlgorithm::message_length_type;
+ constexpr static std::size_t chunk_size = ShaAlgorithm::chunk_size;
+
+ ShaAlgorithm m_impl{};
+
+ std::array<uchar, chunk_size> m_chunk{};
+ std::size_t m_current_chunk_size = 0;
+ message_length_type m_message_length = 0;
+ };
+ template<class WordTy>
+ inline void sha_fill_initial_words(const uchar* chunk, WordTy* words)
{
- Checks::exit_with_message(
- VCPKG_LINE_INFO, "shasum only supports SHA hashes, but %s was provided", hash_type);
+ // break chunk into 16 N-bit words
+ for (std::size_t word = 0; word < 16; ++word)
+ {
+ words[word] = 0;
+ // big-endian -- so the earliest i becomes the most significant
+ for (std::size_t byte = 0; byte < sizeof(WordTy); ++byte)
+ {
+ const auto bits_to_shift = static_cast<int>(8 * (sizeof(WordTy) - 1 - byte));
+ words[word] |= shl<WordTy>(chunk[word * sizeof(WordTy) + byte], bits_to_shift);
+ }
+ }
}
- return hash_type.substr(3, hash_type.length() - 3);
- }
+ struct Sha1Algorithm
+ {
+ using underlying_type = std::uint32_t;
+ using message_length_type = std::uint64_t;
+ constexpr static std::size_t chunk_size = 64; // = 512 / 8
+ constexpr static std::size_t number_of_rounds = 80;
- static std::string parse_shasum_output(const std::string& shasum_output)
- {
- std::vector<std::string> split = Strings::split(shasum_output, " ");
- // Checking if >= 3 because filenames with spaces will show up as multiple tokens.
- // The hash is the first token so we don't need to parse the filename anyway.
- Checks::check_exit(VCPKG_LINE_INFO,
- split.size() >= 3,
- "Expected output of the form [hash filename\n] (3+ tokens), but got\n"
- "[%s] (%s tokens)",
- shasum_output,
- std::to_string(split.size()));
-
- return split[0];
- }
+ Sha1Algorithm() noexcept { clear(); }
- std::string get_file_hash(const Files::Filesystem& fs, const fs::path& path, const std::string& hash_type)
- {
- const std::string digest_size = get_digest_size(hash_type);
- Checks::check_exit(VCPKG_LINE_INFO, fs.exists(path), "File %s does not exist", path.u8string());
+ void process_full_chunk(const std::array<uchar, chunk_size>& chunk) noexcept
+ {
+ std::uint32_t words[80];
+
+ sha_fill_initial_words(&chunk[0], words);
+ for (std::size_t i = 16; i < number_of_rounds; ++i)
+ {
+ const auto sum = words[i - 3] ^ words[i - 8] ^ words[i - 14] ^ words[i - 16];
+ words[i] = rol32(sum, 1);
+ }
+
+ std::uint32_t a = m_digest[0];
+ std::uint32_t b = m_digest[1];
+ std::uint32_t c = m_digest[2];
+ std::uint32_t d = m_digest[3];
+ std::uint32_t e = m_digest[4];
+
+ for (std::size_t i = 0; i < number_of_rounds; ++i)
+ {
+ std::uint32_t f;
+ std::uint32_t k;
+
+ if (i < 20)
+ {
+ f = (b & c) | (~b & d);
+ k = 0x5A827999;
+ }
+ else if (i < 40)
+ {
+ f = b ^ c ^ d;
+ k = 0x6ED9EBA1;
+ }
+ else if (i < 60)
+ {
+ f = (b & c) | (b & d) | (c & d);
+ k = 0x8F1BBCDC;
+ }
+ else
+ {
+ f = b ^ c ^ d;
+ k = 0xCA62C1D6;
+ }
+
+ auto tmp = rol32(a, 5) + f + e + k + words[i];
+ e = d;
+ d = c;
+ c = rol32(b, 30);
+ b = a;
+ a = tmp;
+ }
+
+ m_digest[0] += a;
+ m_digest[1] += b;
+ m_digest[2] += c;
+ m_digest[3] += d;
+ m_digest[4] += e;
+ }
- // Try hash-specific tools, like sha512sum
+ void clear() noexcept
+ {
+ m_digest[0] = 0x67452301;
+ m_digest[1] = 0xEFCDAB89;
+ m_digest[2] = 0x98BADCFE;
+ m_digest[3] = 0x10325476;
+ m_digest[4] = 0xC3D2E1F0;
+ }
+
+ const std::uint32_t* begin() const noexcept { return &m_digest[0]; }
+ const std::uint32_t* end() const noexcept { return &m_digest[5]; }
+
+ std::uint32_t m_digest[5];
+ };
+
+ struct Sha256Algorithm
{
- const auto ec_data = System::cmd_execute_and_capture_output(
- Strings::format(R"(sha%ssum "%s")", digest_size, path.u8string()));
- if (ec_data.exit_code == 0)
+ using underlying_type = std::uint32_t;
+ using message_length_type = std::uint64_t;
+ constexpr static std::size_t chunk_size = 64;
+
+ constexpr static std::size_t number_of_rounds = 64;
+
+ Sha256Algorithm() noexcept { clear(); }
+
+ void process_full_chunk(const std::array<uchar, chunk_size>& chunk) noexcept
{
- return parse_shasum_output(ec_data.output);
+ std::uint32_t words[64];
+
+ sha_fill_initial_words(&chunk[0], words);
+
+ for (std::size_t i = 16; i < number_of_rounds; ++i)
+ {
+ const auto w0 = words[i - 15];
+ const auto s0 = ror32(w0, 7) ^ ror32(w0, 18) ^ shr32(w0, 3);
+ const auto w1 = words[i - 2];
+ const auto s1 = ror32(w1, 17) ^ ror32(w1, 19) ^ shr32(w1, 10);
+ words[i] = words[i - 16] + s0 + words[i - 7] + s1;
+ }
+
+ std::uint32_t local[8];
+ std::copy(begin(), end(), std::begin(local));
+
+ for (std::size_t i = 0; i < number_of_rounds; ++i)
+ {
+ const auto a = local[0];
+ const auto b = local[1];
+ const auto c = local[2];
+
+ const auto s0 = ror32(a, 2) ^ ror32(a, 13) ^ ror32(a, 22);
+ const auto maj = (a & b) ^ (a & c) ^ (b & c);
+ const auto tmp1 = s0 + maj;
+
+ const auto e = local[4];
+
+ const auto s1 = ror32(e, 6) ^ ror32(e, 11) ^ ror32(e, 25);
+ const auto ch = (e & local[5]) ^ (~e & local[6]);
+ const auto tmp2 = local[7] + s1 + ch + round_constants[i] + words[i];
+
+ for (std::size_t j = 7; j > 0; --j)
+ {
+ local[j] = local[j - 1];
+ }
+ local[4] += tmp2;
+ local[0] = tmp1 + tmp2;
+ }
+
+ for (std::size_t i = 0; i < 8; ++i)
+ {
+ m_digest[i] += local[i];
+ }
}
- }
- // Try shasum
+ void clear() noexcept
+ {
+ m_digest[0] = 0x6a09e667;
+ m_digest[1] = 0xbb67ae85;
+ m_digest[2] = 0x3c6ef372;
+ m_digest[3] = 0xa54ff53a;
+ m_digest[4] = 0x510e527f;
+ m_digest[5] = 0x9b05688c;
+ m_digest[6] = 0x1f83d9ab;
+ m_digest[7] = 0x5be0cd19;
+ }
+
+ constexpr static std::array<std::uint32_t, number_of_rounds> round_constants = {
+ 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
+ 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
+ 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
+ 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
+ 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
+ 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
+ 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
+ 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2};
+
+ std::uint32_t* begin() noexcept { return &m_digest[0]; }
+ std::uint32_t* end() noexcept { return &m_digest[8]; }
+
+ std::uint32_t m_digest[8];
+ };
+
+ struct Sha512Algorithm
{
- const auto ec_data = System::cmd_execute_and_capture_output(
- Strings::format(R"(shasum -a %s "%s")", digest_size, path.u8string()));
- if (ec_data.exit_code == 0)
+ using underlying_type = std::uint64_t;
+ using message_length_type = UInt128;
+ constexpr static std::size_t chunk_size = 128; // = 1024 / 8
+
+ constexpr static std::size_t number_of_rounds = 80;
+
+ Sha512Algorithm() noexcept { clear(); }
+
+ void process_full_chunk(const std::array<uchar, chunk_size>& chunk) noexcept
+ {
+ std::uint64_t words[80];
+
+ sha_fill_initial_words(&chunk[0], words);
+
+ for (std::size_t i = 16; i < number_of_rounds; ++i)
+ {
+ const auto w0 = words[i - 15];
+ const auto s0 = ror64(w0, 1) ^ ror64(w0, 8) ^ shr64(w0, 7);
+ const auto w1 = words[i - 2];
+ const auto s1 = ror64(w1, 19) ^ ror64(w1, 61) ^ shr64(w1, 6);
+ words[i] = words[i - 16] + s0 + words[i - 7] + s1;
+ }
+
+ std::uint64_t local[8];
+ std::copy(begin(), end(), std::begin(local));
+
+ for (std::size_t i = 0; i < number_of_rounds; ++i)
+ {
+ const auto a = local[0];
+ const auto b = local[1];
+ const auto c = local[2];
+
+ const auto s0 = ror64(a, 28) ^ ror64(a, 34) ^ ror64(a, 39);
+ const auto maj = (a & b) ^ (a & c) ^ (b & c);
+ const auto tmp0 = s0 + maj;
+
+ const auto e = local[4];
+
+ const auto s1 = ror64(e, 14) ^ ror64(e, 18) ^ ror64(e, 41);
+ const auto ch = (e & local[5]) ^ (~e & local[6]);
+ const auto tmp1 = local[7] + s1 + ch + round_constants[i] + words[i];
+
+ for (std::size_t j = 7; j > 0; --j)
+ {
+ local[j] = local[j - 1];
+ }
+ local[4] += tmp1;
+ local[0] = tmp0 + tmp1;
+ }
+
+ for (std::size_t i = 0; i < 8; ++i)
+ {
+ m_digest[i] += local[i];
+ }
+ }
+
+ void clear() noexcept
{
- return parse_shasum_output(ec_data.output);
+ m_digest[0] = 0x6a09e667f3bcc908;
+ m_digest[1] = 0xbb67ae8584caa73b;
+ m_digest[2] = 0x3c6ef372fe94f82b;
+ m_digest[3] = 0xa54ff53a5f1d36f1;
+ m_digest[4] = 0x510e527fade682d1;
+ m_digest[5] = 0x9b05688c2b3e6c1f;
+ m_digest[6] = 0x1f83d9abfb41bd6b;
+ m_digest[7] = 0x5be0cd19137e2179;
}
- }
- Checks::exit_with_message(VCPKG_LINE_INFO, "Could not hash file %s with %s", path.u8string(), hash_type);
+ constexpr static std::array<std::uint64_t, number_of_rounds> round_constants = {
+ 0x428a2f98d728ae22, 0x7137449123ef65cd, 0xb5c0fbcfec4d3b2f, 0xe9b5dba58189dbbc, 0x3956c25bf348b538,
+ 0x59f111f1b605d019, 0x923f82a4af194f9b, 0xab1c5ed5da6d8118, 0xd807aa98a3030242, 0x12835b0145706fbe,
+ 0x243185be4ee4b28c, 0x550c7dc3d5ffb4e2, 0x72be5d74f27b896f, 0x80deb1fe3b1696b1, 0x9bdc06a725c71235,
+ 0xc19bf174cf692694, 0xe49b69c19ef14ad2, 0xefbe4786384f25e3, 0x0fc19dc68b8cd5b5, 0x240ca1cc77ac9c65,
+ 0x2de92c6f592b0275, 0x4a7484aa6ea6e483, 0x5cb0a9dcbd41fbd4, 0x76f988da831153b5, 0x983e5152ee66dfab,
+ 0xa831c66d2db43210, 0xb00327c898fb213f, 0xbf597fc7beef0ee4, 0xc6e00bf33da88fc2, 0xd5a79147930aa725,
+ 0x06ca6351e003826f, 0x142929670a0e6e70, 0x27b70a8546d22ffc, 0x2e1b21385c26c926, 0x4d2c6dfc5ac42aed,
+ 0x53380d139d95b3df, 0x650a73548baf63de, 0x766a0abb3c77b2a8, 0x81c2c92e47edaee6, 0x92722c851482353b,
+ 0xa2bfe8a14cf10364, 0xa81a664bbc423001, 0xc24b8b70d0f89791, 0xc76c51a30654be30, 0xd192e819d6ef5218,
+ 0xd69906245565a910, 0xf40e35855771202a, 0x106aa07032bbd1b8, 0x19a4c116b8d2d0c8, 0x1e376c085141ab53,
+ 0x2748774cdf8eeb99, 0x34b0bcb5e19b48a8, 0x391c0cb3c5c95a63, 0x4ed8aa4ae3418acb, 0x5b9cca4f7763e373,
+ 0x682e6ff3d6b2b8a3, 0x748f82ee5defb2fc, 0x78a5636f43172f60, 0x84c87814a1f0ab72, 0x8cc702081a6439ec,
+ 0x90befffa23631e28, 0xa4506cebde82bde9, 0xbef9a3f7b2c67915, 0xc67178f2e372532b, 0xca273eceea26619c,
+ 0xd186b8c721c0c207, 0xeada7dd6cde0eb1e, 0xf57d4f7fee6ed178, 0x06f067aa72176fba, 0x0a637dc5a2c898a6,
+ 0x113f9804bef90dae, 0x1b710b35131c471b, 0x28db77f523047d84, 0x32caab7b40c72493, 0x3c9ebe0a15c9bebc,
+ 0x431d67c49c100d4c, 0x4cc5d4becb3e42b6, 0x597f299cfc657e2a, 0x5fcb6fab3ad6faec, 0x6c44198c4a475817};
+
+ std::uint64_t* begin() noexcept { return &m_digest[0]; }
+ std::uint64_t* end() noexcept { return &m_digest[8]; }
+
+ std::uint64_t m_digest[8];
+ };
+
+ // This is required on older compilers, since it was required in C++14
+ constexpr std::array<std::uint32_t, Sha256Algorithm::number_of_rounds> Sha256Algorithm::round_constants;
+ constexpr std::array<std::uint64_t, Sha512Algorithm::number_of_rounds> Sha512Algorithm::round_constants;
+#endif
}
- std::string get_string_hash(const std::string& s, const std::string& hash_type)
+ std::unique_ptr<Hasher> get_hasher_for(Algorithm algo) noexcept
{
- const std::string digest_size = get_digest_size(hash_type);
- verify_has_only_allowed_chars(s);
+#if defined(_WIN32)
+ return std::make_unique<BCryptHasher>(algo);
+#else
+ switch (algo)
+ {
+ case Algorithm::Sha1: return std::make_unique<ShaHasher<Sha1Algorithm>>();
+ case Algorithm::Sha256: return std::make_unique<ShaHasher<Sha256Algorithm>>();
+ case Algorithm::Sha512: return std::make_unique<ShaHasher<Sha512Algorithm>>();
+ default: vcpkg::Checks::exit_with_message(VCPKG_LINE_INFO, "Unknown hashing algorithm: %s", algo);
+ }
+#endif
+ }
- // Try hash-specific tools, like sha512sum
+ template<class F>
+ static std::string do_hash(Algorithm algo, const F& f) noexcept
+ {
+#if defined(_WIN32)
+ auto hasher = BCryptHasher(algo);
+ return f(hasher);
+#else
+ switch (algo)
{
- const auto ec_data =
- System::cmd_execute_and_capture_output(Strings::format(R"(echo -n "%s" | sha%ssum)", s, digest_size));
- if (ec_data.exit_code == 0)
+ case Algorithm::Sha1:
+ {
+ auto hasher = ShaHasher<Sha1Algorithm>();
+ return f(hasher);
+ }
+ case Algorithm::Sha256:
+ {
+ auto hasher = ShaHasher<Sha256Algorithm>();
+ return f(hasher);
+ }
+ case Algorithm::Sha512:
{
- return parse_shasum_output(ec_data.output);
+ auto hasher = ShaHasher<Sha512Algorithm>();
+ return f(hasher);
}
+ default: vcpkg::Checks::exit_with_message(VCPKG_LINE_INFO, "Unknown hashing algorithm: %s", algo);
}
+#endif
+ }
+
+ std::string get_bytes_hash(const void* first, const void* last, Algorithm algo) noexcept
+ {
+ return do_hash(algo, [first, last](Hasher& hasher) {
+ hasher.add_bytes(first, last);
+ return hasher.get_hash();
+ });
+ }
- // Try shasum
+ std::string get_string_hash(StringView sv, Algorithm algo) noexcept
+ {
+ return get_bytes_hash(sv.data(), sv.data() + sv.size(), algo);
+ }
+
+ // TODO: use Files::Filesystem to open a file
+ std::string get_file_hash(const Files::Filesystem&,
+ const fs::path& path,
+ Algorithm algo,
+ std::error_code& ec) noexcept
+ {
+ auto file = std::fstream(path.c_str(), std::ios_base::in | std::ios_base::binary);
+ if (!file)
{
- const auto ec_data = System::cmd_execute_and_capture_output(
- Strings::format(R"(echo -n "%s" | shasum -a %s)", s, digest_size));
- if (ec_data.exit_code == 0)
- {
- return parse_shasum_output(ec_data.output);
- }
+ ec.assign(ENOENT, std::system_category());
+ return {};
}
- Checks::exit_with_message(VCPKG_LINE_INFO, "Could not hash input string with %s", hash_type);
+ return do_hash(algo, [&file, &ec](Hasher& hasher) {
+ constexpr std::size_t buffer_size = 4096;
+ auto buffer = std::make_unique<char[]>(buffer_size);
+ for (;;)
+ {
+ file.read(buffer.get(), buffer_size);
+ if (file.eof())
+ {
+ hasher.add_bytes(buffer.get(), buffer.get() + file.gcount());
+ return hasher.get_hash();
+ }
+ else if (file)
+ {
+ hasher.add_bytes(buffer.get(), buffer.get() + buffer_size);
+ }
+ else
+ {
+ ec = std::io_errc::stream;
+ return std::string();
+ }
+ }
+ });
}
-#endif
}
diff --git a/toolsrc/src/vcpkg/base/stringview.cpp b/toolsrc/src/vcpkg/base/stringview.cpp
index d0b2cd43a..6b159db48 100644
--- a/toolsrc/src/vcpkg/base/stringview.cpp
+++ b/toolsrc/src/vcpkg/base/stringview.cpp
@@ -76,8 +76,10 @@ namespace vcpkg
std::string StringView::to_string() const { return std::string(m_ptr, m_size); }
void StringView::to_string(std::string& s) const { s.append(m_ptr, m_size); }
- bool StringView::operator==(StringView other) const
+ bool operator==(StringView lhs, StringView rhs) noexcept
{
- return other.size() == size() && memcmp(data(), other.data(), size()) == 0;
+ return lhs.size() == rhs.size() && memcmp(lhs.data(), rhs.data(), lhs.size()) == 0;
}
+
+ bool operator!=(StringView lhs, StringView rhs) noexcept { return !(lhs == rhs); }
}
diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp
index aeb01b27d..618e4126b 100644
--- a/toolsrc/src/vcpkg/build.cpp
+++ b/toolsrc/src/vcpkg/build.cpp
@@ -53,6 +53,7 @@ namespace vcpkg::Build::Command
const Build::BuildPackageOptions build_package_options{
Build::UseHeadVersion::NO,
Build::AllowDownloads::YES,
+ Build::OnlyDownloads::NO,
Build::CleanBuildtrees::NO,
Build::CleanPackages::NO,
Build::CleanDownloads::NO,
@@ -395,6 +396,7 @@ namespace vcpkg::Build
{"CMD", "BUILD"},
{"PORT", config.scf.core_paragraph->name},
{"CURRENT_PORT_DIR", config.port_dir},
+ {"VCPKG_ROOT_PATH", paths.root},
{"TARGET_TRIPLET", triplet.canonical_name()},
{"TARGET_TRIPLET_FILE", paths.get_triplet_file_path(triplet).u8string()},
{"VCPKG_PLATFORM_TOOLSET", toolset.version.c_str()},
@@ -407,6 +409,11 @@ namespace vcpkg::Build
{"VCPKG_CONCURRENCY", std::to_string(get_concurrency())},
};
+ if (Util::Enum::to_bool(config.build_package_options.only_downloads))
+ {
+ variables.push_back({"VCPKG_DOWNLOAD_MODE", "true"});
+ }
+
if (!System::get_environment_variable("VCPKG_FORCE_SYSTEM_BINARIES").has_value())
{
variables.push_back({"GIT", git_exe_path});
@@ -486,32 +493,33 @@ namespace vcpkg::Build
}
else
{
- hash = Hash::get_file_hash(fs, triplet_file_path, "SHA1");
+ const auto algo = Hash::Algorithm::Sha1;
+ hash = Hash::get_file_hash(VCPKG_LINE_INFO, fs, triplet_file_path, algo);
if (auto p = pre_build_info.external_toolchain_file.get())
{
hash += "-";
- hash += Hash::get_file_hash(fs, *p, "SHA1");
+ hash += Hash::get_file_hash(VCPKG_LINE_INFO, fs, *p, algo);
}
else if (pre_build_info.cmake_system_name == "Linux")
{
hash += "-";
- hash += Hash::get_file_hash(fs, paths.scripts / "toolchains" / "linux.cmake", "SHA1");
+ hash += Hash::get_file_hash(VCPKG_LINE_INFO, fs, paths.scripts / "toolchains" / "linux.cmake", algo);
}
else if (pre_build_info.cmake_system_name == "Darwin")
{
hash += "-";
- hash += Hash::get_file_hash(fs, paths.scripts / "toolchains" / "osx.cmake", "SHA1");
+ hash += Hash::get_file_hash(VCPKG_LINE_INFO, fs, paths.scripts / "toolchains" / "osx.cmake", algo);
}
else if (pre_build_info.cmake_system_name == "FreeBSD")
{
hash += "-";
- hash += Hash::get_file_hash(fs, paths.scripts / "toolchains" / "freebsd.cmake", "SHA1");
+ hash += Hash::get_file_hash(VCPKG_LINE_INFO, fs, paths.scripts / "toolchains" / "freebsd.cmake", algo);
}
else if (pre_build_info.cmake_system_name == "Android")
{
hash += "-";
- hash += Hash::get_file_hash(fs, paths.scripts / "toolchains" / "android.cmake", "SHA1");
+ hash += Hash::get_file_hash(VCPKG_LINE_INFO, fs, paths.scripts / "toolchains" / "android.cmake", algo);
}
s_hash_cache.emplace(triplet_file_path, hash);
@@ -527,6 +535,7 @@ namespace vcpkg::Build
const BuildPackageConfig& config)
{
auto& fs = paths.get_filesystem();
+
#if defined(_WIN32)
const fs::path& powershell_exe_path = paths.get_tool_exe("powershell-core");
if (!fs.exists(powershell_exe_path.parent_path() / "powershell.exe"))
@@ -558,6 +567,14 @@ namespace vcpkg::Build
#else
const int return_code = System::cmd_execute_clean(command, env);
#endif
+ // With the exception of empty packages, builds in "Download Mode" always result in failure.
+ if (config.build_package_options.only_downloads == Build::OnlyDownloads::YES)
+ {
+ // TODO: Capture executed command output and evaluate whether the failure was intended.
+ // If an unintended error occurs then return a BuildResult::DOWNLOAD_FAILURE status.
+ return BuildResult::DOWNLOADED;
+ }
+
const auto buildtimeus = timer.microseconds();
const auto spec_string = spec.to_string();
@@ -651,8 +668,9 @@ namespace vcpkg::Build
{
if (fs::is_regular_file(fs.status(VCPKG_LINE_INFO, port_file)))
{
- port_files.emplace_back(port_file.path().filename().u8string(),
- vcpkg::Hash::get_file_hash(fs, port_file, "SHA1"));
+ port_files.emplace_back(
+ port_file.path().filename().u8string(),
+ vcpkg::Hash::get_file_hash(VCPKG_LINE_INFO, fs, port_file, Hash::Algorithm::Sha1));
if (port_files.size() > max_port_file_count)
{
@@ -679,7 +697,10 @@ namespace vcpkg::Build
abi_tag_entries.emplace_back(
"vcpkg_fixup_cmake_targets",
- vcpkg::Hash::get_file_hash(fs, paths.scripts / "cmake" / "vcpkg_fixup_cmake_targets.cmake", "SHA1"));
+ vcpkg::Hash::get_file_hash(VCPKG_LINE_INFO,
+ fs,
+ paths.scripts / "cmake" / "vcpkg_fixup_cmake_targets.cmake",
+ Hash::Algorithm::Sha1));
abi_tag_entries.emplace_back("triplet", pre_build_info.triplet_abi_tag);
abi_tag_entries.emplace_back("features", Strings::join(";", config.feature_list));
@@ -688,7 +709,8 @@ namespace vcpkg::Build
{
abi_tag_entries.emplace_back(
"public_abi_override",
- Hash::get_string_hash(pre_build_info.public_abi_override.value_or_exit(VCPKG_LINE_INFO), "SHA1"));
+ Hash::get_string_hash(pre_build_info.public_abi_override.value_or_exit(VCPKG_LINE_INFO),
+ Hash::Algorithm::Sha1));
}
if (config.build_package_options.use_head_version == UseHeadVersion::YES)
@@ -717,7 +739,8 @@ namespace vcpkg::Build
const auto abi_file_path = paths.buildtrees / name / (triplet.canonical_name() + ".vcpkg_abi_info.txt");
fs.write_contents(abi_file_path, full_abi_info, VCPKG_LINE_INFO);
- return AbiTagAndFile{Hash::get_file_hash(fs, abi_file_path, "SHA1"), abi_file_path};
+ return AbiTagAndFile{Hash::get_file_hash(VCPKG_LINE_INFO, fs, abi_file_path, Hash::Algorithm::Sha1),
+ abi_file_path};
}
System::print2(
@@ -786,20 +809,23 @@ namespace vcpkg::Build
const std::string& name = config.scf.core_paragraph->name;
std::vector<FeatureSpec> required_fspecs = compute_required_feature_specs(config, status_db);
- std::vector<FeatureSpec> required_fspecs_copy = required_fspecs;
// extract out the actual package ids
auto dep_pspecs = Util::fmap(required_fspecs, [](FeatureSpec const& fspec) { return fspec.spec(); });
Util::sort_unique_erase(dep_pspecs);
// Find all features that aren't installed. This mutates required_fspecs.
- Util::erase_remove_if(required_fspecs, [&](FeatureSpec const& fspec) {
- return status_db.is_installed(fspec) || fspec.name() == name;
- });
-
- if (!required_fspecs.empty())
+ // Skip this validation when running in Download Mode.
+ if (config.build_package_options.only_downloads != Build::OnlyDownloads::YES)
{
- return {BuildResult::CASCADED_DUE_TO_MISSING_DEPENDENCIES, std::move(required_fspecs)};
+ Util::erase_remove_if(required_fspecs, [&](FeatureSpec const& fspec) {
+ return status_db.is_installed(fspec) || fspec.name() == name;
+ });
+
+ if (!required_fspecs.empty())
+ {
+ return {BuildResult::CASCADED_DUE_TO_MISSING_DEPENDENCIES, std::move(required_fspecs)};
+ }
}
const PackageSpec spec =
@@ -810,7 +836,10 @@ namespace vcpkg::Build
// dep_pspecs was not destroyed
for (auto&& pspec : dep_pspecs)
{
- if (pspec == spec) continue;
+ if (pspec == spec || Util::Enum::to_bool(config.build_package_options.only_downloads))
+ {
+ continue;
+ }
const auto status_it = status_db.find_installed(pspec);
Checks::check_exit(VCPKG_LINE_INFO, status_it != status_db.end());
dependency_abis.emplace_back(
@@ -872,14 +901,14 @@ namespace vcpkg::Build
System::printf("Could not locate cached archive: %s\n", archive_path.u8string());
}
+ ExtendedBuildResult result = do_build_package_and_clean_buildtrees(
+ paths, pre_build_info, spec, pre_build_info.public_abi_override.value_or(abi_tag_and_file->tag), config);
+
fs.create_directories(abi_package_dir, ec);
Checks::check_exit(VCPKG_LINE_INFO, !ec, "Coud not create directory %s", abi_package_dir.u8string());
fs.copy_file(abi_tag_and_file->tag_file, abi_file_in_package, fs::stdfs::copy_options::none, ec);
Checks::check_exit(VCPKG_LINE_INFO, !ec, "Could not copy into file: %s", abi_file_in_package.u8string());
- ExtendedBuildResult result = do_build_package_and_clean_buildtrees(
- paths, pre_build_info, spec, pre_build_info.public_abi_override.value_or(abi_tag_and_file->tag), config);
-
if (config.build_package_options.binary_caching == BinaryCaching::YES && result.code == BuildResult::SUCCEEDED)
{
const auto tmp_archive_path = paths.buildtrees / spec.name() / (spec.triplet().to_string() + ".zip");
@@ -942,6 +971,7 @@ namespace vcpkg::Build
static const std::string POST_BUILD_CHECKS_FAILED_STRING = "POST_BUILD_CHECKS_FAILED";
static const std::string CASCADED_DUE_TO_MISSING_DEPENDENCIES_STRING = "CASCADED_DUE_TO_MISSING_DEPENDENCIES";
static const std::string EXCLUDED_STRING = "EXCLUDED";
+ static const std::string DOWNLOADED_STRING = "DOWNLOADED";
switch (build_result)
{
@@ -952,6 +982,7 @@ namespace vcpkg::Build
case BuildResult::FILE_CONFLICTS: return FILE_CONFLICTS_STRING;
case BuildResult::CASCADED_DUE_TO_MISSING_DEPENDENCIES: return CASCADED_DUE_TO_MISSING_DEPENDENCIES_STRING;
case BuildResult::EXCLUDED: return EXCLUDED_STRING;
+ case BuildResult::DOWNLOADED: return DOWNLOADED_STRING;
default: Checks::unreachable(VCPKG_LINE_INFO);
}
}
diff --git a/toolsrc/src/vcpkg/commands.ci.cpp b/toolsrc/src/vcpkg/commands.ci.cpp
index f0f162f5c..6e0a71adf 100644
--- a/toolsrc/src/vcpkg/commands.ci.cpp
+++ b/toolsrc/src/vcpkg/commands.ci.cpp
@@ -212,6 +212,7 @@ namespace vcpkg::Commands::CI
const Build::BuildPackageOptions build_options = {
Build::UseHeadVersion::NO,
Build::AllowDownloads::YES,
+ Build::OnlyDownloads::NO,
Build::CleanBuildtrees::YES,
Build::CleanPackages::YES,
Build::CleanDownloads::NO,
@@ -356,6 +357,7 @@ namespace vcpkg::Commands::CI
const Build::BuildPackageOptions install_plan_options = {
Build::UseHeadVersion::NO,
Build::AllowDownloads::YES,
+ Build::OnlyDownloads::NO,
Build::CleanBuildtrees::YES,
Build::CleanPackages::YES,
Build::CleanDownloads::NO,
diff --git a/toolsrc/src/vcpkg/commands.cpp b/toolsrc/src/vcpkg/commands.cpp
index 3ac568979..1f424a559 100644
--- a/toolsrc/src/vcpkg/commands.cpp
+++ b/toolsrc/src/vcpkg/commands.cpp
@@ -47,6 +47,7 @@ namespace vcpkg::Commands
{"autocomplete", &Autocomplete::perform_and_exit},
{"hash", &Hash::perform_and_exit},
{"fetch", &Fetch::perform_and_exit},
+ {"x-history", &PortHistory::perform_and_exit},
{"x-vsinstances", &X_VSInstances::perform_and_exit},
};
return t;
@@ -99,8 +100,15 @@ namespace vcpkg::Commands::Hash
Util::unused(args.parse_arguments(COMMAND_STRUCTURE));
const fs::path file_to_hash = args.command_arguments[0];
- const std::string algorithm = args.command_arguments.size() == 2 ? args.command_arguments[1] : "SHA512";
- const std::string hash = vcpkg::Hash::get_file_hash(paths.get_filesystem(), file_to_hash, algorithm);
+
+ auto algorithm = vcpkg::Hash::Algorithm::Sha512;
+ if (args.command_arguments.size() == 2)
+ {
+ algorithm = vcpkg::Hash::algorithm_from_string(args.command_arguments[1]).value_or_exit(VCPKG_LINE_INFO);
+ }
+
+ const std::string hash =
+ vcpkg::Hash::get_file_hash(VCPKG_LINE_INFO, paths.get_filesystem(), file_to_hash, algorithm);
System::print2(hash, '\n');
Checks::exit_success(VCPKG_LINE_INFO);
}
diff --git a/toolsrc/src/vcpkg/commands.create.cpp b/toolsrc/src/vcpkg/commands.create.cpp
index 31bf97f30..e04599dfe 100644
--- a/toolsrc/src/vcpkg/commands.create.cpp
+++ b/toolsrc/src/vcpkg/commands.create.cpp
@@ -24,7 +24,7 @@ namespace vcpkg::Commands::Create
const fs::path& cmake_exe = paths.get_tool_exe(Tools::CMAKE);
- std::vector<System::CMakeVariable> cmake_args{{"CMD", "CREATE"}, {"PORT", port_name}, {"URL", url}};
+ std::vector<System::CMakeVariable> cmake_args{{"CMD", "CREATE"}, {"PORT", port_name}, {"URL", url}, {"VCPKG_ROOT_PATH", paths.root}};
if (args.command_arguments.size() >= 3)
{
diff --git a/toolsrc/src/vcpkg/commands.dependinfo.cpp b/toolsrc/src/vcpkg/commands.dependinfo.cpp
index faf207980..79cbba590 100644
--- a/toolsrc/src/vcpkg/commands.dependinfo.cpp
+++ b/toolsrc/src/vcpkg/commands.dependinfo.cpp
@@ -228,8 +228,8 @@ namespace vcpkg::Commands::DependInfo
const CommandStructure COMMAND_STRUCTURE = {
Help::create_example_string("depend-info sqlite3"),
- 0,
- SIZE_MAX,
+ 1,
+ 1,
{DEPEND_SWITCHES, DEPEND_SETTINGS},
nullptr,
};
diff --git a/toolsrc/src/vcpkg/commands.porthistory.cpp b/toolsrc/src/vcpkg/commands.porthistory.cpp
new file mode 100644
index 000000000..44fccbb7f
--- /dev/null
+++ b/toolsrc/src/vcpkg/commands.porthistory.cpp
@@ -0,0 +1,91 @@
+#include "pch.h"
+
+#include <vcpkg/commands.h>
+#include <vcpkg/help.h>
+
+#include <vcpkg/base/system.print.h>
+#include <vcpkg/base/system.process.h>
+#include <vcpkg/base/util.h>
+
+namespace vcpkg::Commands::PortHistory
+{
+ struct PortControlVersion
+ {
+ std::string commit_id;
+ std::string version;
+ std::string date;
+ };
+
+ static System::ExitCodeAndOutput run_git_command(const VcpkgPaths& paths, const std::string& cmd)
+ {
+ const fs::path& git_exe = paths.get_tool_exe(Tools::GIT);
+ const fs::path dot_git_dir = paths.root / ".git";
+
+ const std::string full_cmd =
+ Strings::format(R"("%s" --git-dir="%s" %s)", git_exe.u8string(), dot_git_dir.u8string(), cmd);
+
+ auto output = System::cmd_execute_and_capture_output(full_cmd);
+ Checks::check_exit(VCPKG_LINE_INFO, output.exit_code == 0, "Failed to run command: %s", full_cmd);
+ return output;
+ }
+
+ static std::string get_version_from_commit(const VcpkgPaths& paths,
+ const std::string& commit_id,
+ const std::string& port_name)
+ {
+ const std::string cmd = Strings::format(R"(show %s:ports/%s/CONTROL)", commit_id, port_name);
+ auto output = run_git_command(paths, cmd);
+
+ const auto version = Strings::find_at_most_one_enclosed(output.output, "Version: ", "\n");
+ Checks::check_exit(VCPKG_LINE_INFO, version.has_value(), "CONTROL file does not have a 'Version' field");
+ return version.get()->to_string();
+ }
+
+ static std::vector<PortControlVersion> read_versions_from_log(const VcpkgPaths& paths, const std::string& port_name)
+ {
+ const std::string cmd =
+ Strings::format(R"(log --format="%%H %%cd" --date=short --left-only -- ports/%s/.)", port_name);
+ auto output = run_git_command(paths, cmd);
+
+ auto commits = Util::fmap(
+ Strings::split(output.output, "\n"), [](const std::string& line) -> auto {
+ auto parts = Strings::split(line, " ");
+ return std::make_pair(parts[0], parts[1]);
+ });
+
+ std::vector<PortControlVersion> ret;
+ std::string last_version;
+ for (auto&& commit_date_pair : commits)
+ {
+ const std::string version = get_version_from_commit(paths, commit_date_pair.first, port_name);
+ if (last_version != version)
+ {
+ ret.emplace_back(PortControlVersion{commit_date_pair.first, version, commit_date_pair.second});
+ last_version = version;
+ }
+ }
+ return ret;
+ }
+
+ const CommandStructure COMMAND_STRUCTURE = {
+ Help::create_example_string("history <port>"),
+ 1,
+ 1,
+ {},
+ nullptr,
+ };
+
+ void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths)
+ {
+ Util::unused(args.parse_arguments(COMMAND_STRUCTURE));
+
+ std::string port_name = args.command_arguments.at(0);
+ std::vector<PortControlVersion> versions = read_versions_from_log(paths, port_name);
+ System::print2(" version date vcpkg commit\n");
+ for (auto&& version : versions)
+ {
+ System::printf("%20.20s %s %s\n", version.version, version.date, version.commit_id);
+ }
+ Checks::exit_success(VCPKG_LINE_INFO);
+ }
+}
diff --git a/toolsrc/src/vcpkg/commands.upgrade.cpp b/toolsrc/src/vcpkg/commands.upgrade.cpp
index 1e64b2eb6..b1dbf6194 100644
--- a/toolsrc/src/vcpkg/commands.upgrade.cpp
+++ b/toolsrc/src/vcpkg/commands.upgrade.cpp
@@ -154,6 +154,7 @@ namespace vcpkg::Commands::Upgrade
const Build::BuildPackageOptions install_plan_options = {
Build::UseHeadVersion::NO,
Build::AllowDownloads::YES,
+ Build::OnlyDownloads::NO,
Build::CleanBuildtrees::NO,
Build::CleanPackages::NO,
Build::CleanDownloads::NO,
diff --git a/toolsrc/src/vcpkg/export.cpp b/toolsrc/src/vcpkg/export.cpp
index 5ceb47adf..349d9aefd 100644
--- a/toolsrc/src/vcpkg/export.cpp
+++ b/toolsrc/src/vcpkg/export.cpp
@@ -73,6 +73,7 @@ namespace vcpkg::Export
static constexpr Build::BuildPackageOptions BUILD_OPTIONS = {
Build::UseHeadVersion::NO,
Build::AllowDownloads::YES,
+ Build::OnlyDownloads::NO,
Build::CleanBuildtrees::NO,
Build::CleanPackages::NO,
Build::CleanDownloads::NO,
diff --git a/toolsrc/src/vcpkg/help.cpp b/toolsrc/src/vcpkg/help.cpp
index 9b2751739..0c53536fb 100644
--- a/toolsrc/src/vcpkg/help.cpp
+++ b/toolsrc/src/vcpkg/help.cpp
@@ -91,6 +91,7 @@ namespace vcpkg::Help
" vcpkg list List installed packages\n"
" vcpkg update Display list of packages for updating\n"
" vcpkg upgrade Rebuild all outdated packages\n"
+ " vcpkg x-history <pkg> Shows the history of CONTROL versions of a package\n"
" vcpkg hash <file> [alg] Hash a file by specific algorithm, default SHA512\n"
" vcpkg help topics Display the list of help topics\n"
" vcpkg help <topic> Display help for a specific topic\n"
@@ -124,7 +125,7 @@ namespace vcpkg::Help
" (default: " ENVVAR(VCPKG_ROOT) //
")\n"
"\n"
- " --scripts-root=<path> Specify the scripts root directory\n"
+ " --x-scripts-root=<path> (Experimental) Specify the scripts root directory\n"
"\n"
" @response_file Specify a "
"response file to provide additional parameters\n"
diff --git a/toolsrc/src/vcpkg/install.cpp b/toolsrc/src/vcpkg/install.cpp
index 1812f1624..009965887 100644
--- a/toolsrc/src/vcpkg/install.cpp
+++ b/toolsrc/src/vcpkg/install.cpp
@@ -342,6 +342,13 @@ namespace vcpkg::Install
return Build::build_package(paths, build_config, status_db);
}();
+ if (BuildResult::DOWNLOADED == result.code)
+ {
+ System::print2(
+ System::Color::success, "Downloaded sources for package ", display_name_with_features, "\n");
+ return result;
+ }
+
if (result.code != Build::BuildResult::SUCCEEDED)
{
System::print2(System::Color::error, Build::create_error_message(result.code, action.spec), "\n");
@@ -467,16 +474,18 @@ namespace vcpkg::Install
static constexpr StringLiteral OPTION_DRY_RUN = "--dry-run";
static constexpr StringLiteral OPTION_USE_HEAD_VERSION = "--head";
static constexpr StringLiteral OPTION_NO_DOWNLOADS = "--no-downloads";
+ static constexpr StringLiteral OPTION_ONLY_DOWNLOADS = "--only-downloads";
static constexpr StringLiteral OPTION_RECURSE = "--recurse";
static constexpr StringLiteral OPTION_KEEP_GOING = "--keep-going";
static constexpr StringLiteral OPTION_XUNIT = "--x-xunit";
static constexpr StringLiteral OPTION_USE_ARIA2 = "--x-use-aria2";
static constexpr StringLiteral OPTION_CLEAN_AFTER_BUILD = "--clean-after-build";
- static constexpr std::array<CommandSwitch, 7> INSTALL_SWITCHES = {{
+ static constexpr std::array<CommandSwitch, 8> INSTALL_SWITCHES = {{
{OPTION_DRY_RUN, "Do not actually build or install"},
{OPTION_USE_HEAD_VERSION, "Install the libraries on the command line using the latest upstream sources"},
{OPTION_NO_DOWNLOADS, "Do not download new sources"},
+ {OPTION_ONLY_DOWNLOADS, "Download sources but don't build packages"},
{OPTION_RECURSE, "Allow removal of packages as part of installation"},
{OPTION_KEEP_GOING, "Continue installing packages on failure"},
{OPTION_USE_ARIA2, "Use aria2 to perform download tasks"},
@@ -631,10 +640,12 @@ namespace vcpkg::Install
const bool dry_run = Util::Sets::contains(options.switches, OPTION_DRY_RUN);
const bool use_head_version = Util::Sets::contains(options.switches, (OPTION_USE_HEAD_VERSION));
const bool no_downloads = Util::Sets::contains(options.switches, (OPTION_NO_DOWNLOADS));
+ const bool only_downloads = Util::Sets::contains(options.switches, (OPTION_ONLY_DOWNLOADS));
const bool is_recursive = Util::Sets::contains(options.switches, (OPTION_RECURSE));
const bool use_aria2 = Util::Sets::contains(options.switches, (OPTION_USE_ARIA2));
const bool clean_after_build = Util::Sets::contains(options.switches, (OPTION_CLEAN_AFTER_BUILD));
- const KeepGoing keep_going = to_keep_going(Util::Sets::contains(options.switches, OPTION_KEEP_GOING));
+ const KeepGoing keep_going =
+ to_keep_going(Util::Sets::contains(options.switches, OPTION_KEEP_GOING) || only_downloads);
auto& fs = paths.get_filesystem();
@@ -647,11 +658,12 @@ namespace vcpkg::Install
const Build::BuildPackageOptions install_plan_options = {
Util::Enum::to_enum<Build::UseHeadVersion>(use_head_version),
Util::Enum::to_enum<Build::AllowDownloads>(!no_downloads),
+ Util::Enum::to_enum<Build::OnlyDownloads>(only_downloads),
clean_after_build ? Build::CleanBuildtrees::YES : Build::CleanBuildtrees::NO,
clean_after_build ? Build::CleanPackages::YES : Build::CleanPackages::NO,
clean_after_build ? Build::CleanDownloads::YES : Build::CleanDownloads::NO,
download_tool,
- GlobalState::g_binary_caching ? Build::BinaryCaching::YES : Build::BinaryCaching::NO,
+ (GlobalState::g_binary_caching && !only_downloads) ? Build::BinaryCaching::YES : Build::BinaryCaching::NO,
Build::FailOnTombstone::NO,
};
diff --git a/toolsrc/src/vcpkg/metrics.cpp b/toolsrc/src/vcpkg/metrics.cpp
index 11f613830..b8c55919e 100644
--- a/toolsrc/src/vcpkg/metrics.cpp
+++ b/toolsrc/src/vcpkg/metrics.cpp
@@ -266,7 +266,7 @@ namespace vcpkg::Metrics
const auto match = *next;
if (match[0] != "00-00-00-00-00-00")
{
- return vcpkg::Hash::get_string_hash(match[0], "SHA256");
+ return vcpkg::Hash::get_string_hash(match[0].str(), Hash::Algorithm::Sha256);
}
++next;
}
diff --git a/toolsrc/src/vcpkg/parse.cpp b/toolsrc/src/vcpkg/parse.cpp
index 0509339c5..6015d9927 100644
--- a/toolsrc/src/vcpkg/parse.cpp
+++ b/toolsrc/src/vcpkg/parse.cpp
@@ -2,6 +2,7 @@
#include <vcpkg/parse.h>
+#include <vcpkg/base/system.print.h>
#include <vcpkg/base/util.h>
namespace vcpkg::Parse
@@ -44,6 +45,8 @@ namespace vcpkg::Parse
return nullptr;
}
+ static bool is_whitespace(char c) { return c == ' ' || c == '\t' || c == '\n' || c == '\r'; }
+
std::vector<std::string> parse_comma_list(const std::string& str)
{
if (str.empty())
@@ -53,26 +56,93 @@ namespace vcpkg::Parse
std::vector<std::string> out;
- size_t cur = 0;
+ auto iter = str.cbegin();
+
do
{
- auto pos = str.find(',', cur);
- if (pos == std::string::npos)
+ // Trim leading whitespace of each element
+ while (iter != str.cend() && is_whitespace(*iter))
+ {
+ ++iter;
+ }
+
+ // Allow commas inside of [].
+ bool bracket_nesting = false;
+
+ auto element_begin = iter;
+ auto element_end = iter;
+ while (iter != str.cend() && (*iter != ',' || bracket_nesting))
+ {
+ char value = *iter;
+
+ // do not support nested []
+ if (value == '[')
+ {
+ if (bracket_nesting)
+ {
+ Checks::exit_with_message(VCPKG_LINE_INFO,
+ "Lists do not support nested brackets, Did you forget a ']'?\n"
+ "> '%s'\n"
+ "> %s^\n",
+ str,
+ std::string(static_cast<int>(iter - str.cbegin()), ' '));
+ }
+ bracket_nesting = true;
+ }
+ else if (value == ']')
+ {
+ if (!bracket_nesting)
+ {
+ Checks::exit_with_message(VCPKG_LINE_INFO,
+ "Found unmatched ']'. Did you forget a '['?\n"
+ "> '%s'\n"
+ "> %s^\n",
+ str,
+ std::string(static_cast<int>(iter - str.cbegin()), ' '));
+ }
+ bracket_nesting = false;
+ }
+
+ ++iter;
+
+ // Trim ending whitespace
+ if (!is_whitespace(value))
+ {
+ // Update element_end after iter is incremented so it will be one past.
+ element_end = iter;
+ }
+ }
+
+ if (element_begin == element_end)
{
- out.push_back(str.substr(cur));
- break;
+ Checks::exit_with_message(VCPKG_LINE_INFO,
+ "Empty element in list\n"
+ "> '%s'\n"
+ "> %s^\n",
+ str,
+ std::string(static_cast<int>(element_begin - str.cbegin()), ' '));
}
- out.push_back(str.substr(cur, pos - cur));
+ out.push_back({element_begin, element_end});
- // skip comma and space
- ++pos;
- while (str[pos] == ' ')
+ if (iter != str.cend())
{
- ++pos;
+ Checks::check_exit(VCPKG_LINE_INFO, *iter == ',', "Internal parsing error - expected comma");
+
+ // Not at the end, must be at a comma that needs to be stepped over
+ ++iter;
+
+ if (iter == str.end())
+ {
+ Checks::exit_with_message(VCPKG_LINE_INFO,
+ "Empty element in list\n"
+ "> '%s'\n"
+ "> %s^\n",
+ str,
+ std::string(str.length(), ' '));
+ }
}
- cur = pos;
- } while (cur != std::string::npos);
+ } while (iter != str.cend());
return out;
}
diff --git a/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp b/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp
index e48340df7..5f99b85e5 100644
--- a/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp
+++ b/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp
@@ -146,10 +146,10 @@ namespace vcpkg
parse_value(arg_begin, arg_end, "--vcpkg-root", args.vcpkg_root_dir);
continue;
}
- if (Strings::starts_with(arg, "--scripts-root="))
+ if (Strings::starts_with(arg, "--x-scripts-root="))
{
parse_cojoined_value(
- arg.substr(sizeof("--scripts-root=") - 1), "--scripts-root", args.scripts_root_dir);
+ arg.substr(sizeof("--x-scripts-root=") - 1), "--x-scripts-root", args.scripts_root_dir);
continue;
}
if (arg == "--triplet")
@@ -430,7 +430,7 @@ namespace vcpkg
"--vcpkg-root <path>",
"Specify the vcpkg directory to use instead of current directory or tool directory");
System::printf(" %-40s %s\n",
- "--scripts-root=<path>",
- "Specify the scripts directory to use instead of default vcpkg scripts directory");
+ "--x-scripts-root=<path>",
+ "(Experimental) Specify the scripts directory to use instead of default vcpkg scripts directory");
}
}
diff --git a/toolsrc/src/vcpkg/vcpkgpaths.cpp b/toolsrc/src/vcpkg/vcpkgpaths.cpp
index 4f01ed03b..078121fcc 100644
--- a/toolsrc/src/vcpkg/vcpkgpaths.cpp
+++ b/toolsrc/src/vcpkg/vcpkgpaths.cpp
@@ -76,7 +76,7 @@ namespace vcpkg
Checks::exit_with_message(
VCPKG_LINE_INFO,
"Invalid scripts override directory: %s; "
- "create that directory or unset --scripts-root to use the default scripts location.",
+ "create that directory or unset --x-scripts-root to use the default scripts location.",
scripts_dir->u8string());
}
diff --git a/toolsrc/vcpkglib/vcpkglib.vcxproj b/toolsrc/vcpkglib/vcpkglib.vcxproj
index 568d316c6..ebbac85a6 100644
--- a/toolsrc/vcpkglib/vcpkglib.vcxproj
+++ b/toolsrc/vcpkglib/vcpkglib.vcxproj
@@ -238,6 +238,7 @@
<ClCompile Include="..\src\vcpkg\commands.integrate.cpp" />
<ClCompile Include="..\src\vcpkg\commands.list.cpp" />
<ClCompile Include="..\src\vcpkg\commands.owns.cpp" />
+ <ClCompile Include="..\src\vcpkg\commands.porthistory.cpp" />
<ClCompile Include="..\src\vcpkg\commands.portsdiff.cpp" />
<ClCompile Include="..\src\vcpkg\commands.search.cpp" />
<ClCompile Include="..\src\vcpkg\commands.upgrade.cpp" />
diff --git a/toolsrc/vcpkglib/vcpkglib.vcxproj.filters b/toolsrc/vcpkglib/vcpkglib.vcxproj.filters
index 1074a5116..beefedd78 100644
--- a/toolsrc/vcpkglib/vcpkglib.vcxproj.filters
+++ b/toolsrc/vcpkglib/vcpkglib.vcxproj.filters
@@ -219,6 +219,9 @@
<ClCompile Include="..\src\vcpkg\base\system.print.cpp">
<Filter>Source Files\vcpkg\base</Filter>
</ClCompile>
+ <ClCompile Include="..\src\vcpkg\commands.porthistory.cpp">
+ <Filter>Source Files\vcpkg</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\include\pch.h">