aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-10-13 18:50:12 -0700
committerRobert Schumacher <roschuma@microsoft.com>2017-10-13 18:50:12 -0700
commita790820e8cdf9adca3e5cf066b8a563a3beaacd1 (patch)
tree293a786398d109ca316fc89d2f128fd80d7d5f56
parente17de99599a2f114faab1bb4821fbaad4d266c95 (diff)
parent2397cc044ee56160757aeb402dc7adaec6b00894 (diff)
downloadvcpkg-a790820e8cdf9adca3e5cf066b8a563a3beaacd1.tar.gz
vcpkg-a790820e8cdf9adca3e5cf066b8a563a3beaacd1.zip
[vcpkg] Merge from master into refactor-includes
-rw-r--r--ports/antlr4/portfile.cmake4
-rw-r--r--ports/bond/portfile.cmake4
-rw-r--r--ports/celero/CONTROL3
-rw-r--r--ports/celero/portfile.cmake29
-rw-r--r--ports/freeimage/CMakeLists.txt6
-rw-r--r--ports/gdal/0001-Add-support-for-MSVC1900-backported-from-GDAL2.patch70
-rw-r--r--ports/gdal/0001-Add-variable-CXX_CRT_FLAGS-to-allow-for-selection-of.patch (renamed from ports/gdal/0002-Add-variable-CXX_CRT_FLAGS-to-allow-for-selection-of.patch)25
-rw-r--r--ports/gdal/0002-Ensures-inclusion-of-PDB-in-release-dll-if-so-reques.patch14
-rw-r--r--ports/gdal/0003-Ensures-inclusion-of-PDB-in-release-dll-if-so-reques.patch26
-rw-r--r--ports/gdal/0003-Fix-openjpeg-include.patch20
-rw-r--r--ports/gdal/0004-Fix-openjpeg-include.patch19
-rw-r--r--ports/gdal/CONTROL2
-rw-r--r--ports/gdal/portfile.cmake23
-rw-r--r--ports/libnice/CMakeLists.txt2
-rw-r--r--ports/libtheora/CMakeLists.txt2
-rw-r--r--ports/mpfr/CONTROL2
-rw-r--r--ports/mpfr/portfile.cmake8
-rw-r--r--ports/msmpi/portfile.cmake10
-rw-r--r--ports/openni2/CONTROL2
-rw-r--r--ports/openni2/portfile.cmake38
-rw-r--r--ports/openni2/replace_environment_variable.patch (renamed from ports/openni2/replace_environment_variable.patch.in)16
-rw-r--r--ports/pcl/CONTROL4
-rw-r--r--ports/pcl/portfile.cmake2
-rw-r--r--ports/sciter/CONTROL2
-rw-r--r--ports/sciter/portfile.cmake6
-rw-r--r--ports/shaderc/CMakeLists.txt2
-rw-r--r--ports/shaderc/CMakeLists_spirv.txt2
-rw-r--r--ports/spatialite-tools/CONTROL4
-rw-r--r--ports/spatialite-tools/fix-makefiles.patch128
-rw-r--r--ports/spatialite-tools/portfile.cmake118
-rw-r--r--ports/string-theory/CONTROL3
-rw-r--r--ports/string-theory/portfile.cmake42
-rw-r--r--ports/tiny-dnn/CONTROL3
-rw-r--r--ports/tiny-dnn/portfile.cmake15
-rw-r--r--ports/vtk/CONTROL4
-rw-r--r--ports/vtk/FindGDAL.cmake127
-rw-r--r--ports/vtk/fix-find-libharu.patch18
-rw-r--r--ports/vtk/fix-find-mysql.patch10
-rw-r--r--ports/vtk/fix-find-odbc.patch11
-rw-r--r--ports/vtk/portfile.cmake162
-rw-r--r--ports/zziplib/CMakeLists.txt2
-rw-r--r--scripts/cmake/vcpkg_acquire_depot_tools.cmake2
-rw-r--r--scripts/cmake/vcpkg_configure_cmake.cmake16
-rw-r--r--scripts/cmake/vcpkg_download_distfile.cmake2
-rw-r--r--scripts/cmake/vcpkg_find_acquire_program.cmake9
-rw-r--r--scripts/fetchDependency.ps128
-rw-r--r--scripts/findVisualStudioInstallationInstances.ps12
-rw-r--r--toolsrc/include/vcpkg/vcpkgpaths.h4
-rw-r--r--toolsrc/src/vcpkg/base/system.cpp2
-rw-r--r--toolsrc/src/vcpkg/commands.autocomplete.cpp77
-rw-r--r--toolsrc/src/vcpkg/commands.exportifw.cpp10
-rw-r--r--toolsrc/src/vcpkg/install.cpp3
-rw-r--r--toolsrc/src/vcpkg/postbuildlint.cpp1
-rw-r--r--toolsrc/src/vcpkg/vcpkgpaths.cpp4
-rw-r--r--triplets/arm64-uwp.cmake6
55 files changed, 879 insertions, 277 deletions
diff --git a/ports/antlr4/portfile.cmake b/ports/antlr4/portfile.cmake
index 78266b6eb..868efcdbe 100644
--- a/ports/antlr4/portfile.cmake
+++ b/ports/antlr4/portfile.cmake
@@ -24,7 +24,7 @@ vcpkg_apply_patches(
${CMAKE_CURRENT_LIST_DIR}/Fix-building-in-Visual-Studio-2017.patch
)
-if (${VCPKG_LIBRARY_LINKAGE} STREQUAL static)
+if (VCPKG_LIBRARY_LINKAGE STREQUAL "static")
set(DEBUG_CONFIG "Debug Static")
set(RELEASE_CONFIG "Release Static")
else()
@@ -53,7 +53,7 @@ file(COPY ${SOURCE_PATH}/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${DEBUG_CONFIG
file(COPY ${SOURCE_PATH}/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${RELEASE_CONFIG}/antlr4-runtime.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
-if (${VCPKG_LIBRARY_LINKAGE} STREQUAL static)
+if (VCPKG_LIBRARY_LINKAGE STREQUAL "static")
vcpkg_apply_patches(
SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include
PATCHES ${CMAKE_CURRENT_LIST_DIR}/static.patch
diff --git a/ports/bond/portfile.cmake b/ports/bond/portfile.cmake
index f3664da8c..147ebeea8 100644
--- a/ports/bond/portfile.cmake
+++ b/ports/bond/portfile.cmake
@@ -1,4 +1,4 @@
-if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
message(STATUS "Warning: Dynamic building not supported yet. Building static.")
set(VCPKG_LIBRARY_LINKAGE static)
endif()
@@ -23,7 +23,7 @@ vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_extract_source_archive(${GBC_ARCHIVE} ${CURRENT_BUILDTREES_DIR}/tools/)
set(FETCHED_GBC_PATH ${CURRENT_BUILDTREES_DIR}/tools/gbc-6.0.0-amd64.exe)
-if (NOT EXISTS ${FETCHED_GBC_PATH})
+if (NOT EXISTS "${FETCHED_GBC_PATH}")
message(FATAL_ERROR "Fetching GBC failed. Expected '${FETCHED_GBC_PATH}' to exists, but it doesn't.")
endif()
diff --git a/ports/celero/CONTROL b/ports/celero/CONTROL
new file mode 100644
index 000000000..d40c93783
--- /dev/null
+++ b/ports/celero/CONTROL
@@ -0,0 +1,3 @@
+Source: celero
+Version: 2.1.0-1
+Description: Celero is a modern cross-platform (Windows, Linux, MacOS) Microbenchmarking library for C++.
diff --git a/ports/celero/portfile.cmake b/ports/celero/portfile.cmake
new file mode 100644
index 000000000..c942ca5d8
--- /dev/null
+++ b/ports/celero/portfile.cmake
@@ -0,0 +1,29 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ message(STATUS "Celero currently can only be built statically")
+ set(VCPKG_LIBRARY_LINKAGE static)
+endif()
+
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO DigitalInBlue/Celero
+ REF v2.1.0
+ SHA512 30563567255b09a2c810d97896839589ed99d45b6c8d075fd16d1a0068457d70195a199f5c982c84784c2e03284c1eaac565253fa72b81d9e2d4102721b80221
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA # Disable this option if project cannot be built with Ninja
+ OPTIONS
+ -DCELERO_ENABLE_EXPERIMENTS=OFF
+ -DCELERO_ENABLE_TESTS=OFF
+ -DCELERO_RUN_EXAMPLE_ON_BUILD=OFF
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/celero RENAME copyright)
diff --git a/ports/freeimage/CMakeLists.txt b/ports/freeimage/CMakeLists.txt
index f385f508c..9f4f1677b 100644
--- a/ports/freeimage/CMakeLists.txt
+++ b/ports/freeimage/CMakeLists.txt
@@ -72,7 +72,7 @@ set(SRCS ${DEPRECATION_SRCS}
# define (to nothing instead of _declspec(dllimport) ) the DLL_API macro.
# For this purpouse we include (depending on the BUILD_SHARED_LIBS )
# the appropriate FreeImageConfig.h .
-if(${BUILD_SHARED_LIBS})
+if(BUILD_SHARED_LIBS)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/FreeImageConfig-dynamic.h ${CMAKE_CURRENT_BINARY_DIR}/FreeImageConfig.h)
else()
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/FreeImageConfig-static.h ${CMAKE_CURRENT_BINARY_DIR}/FreeImageConfig.h)
@@ -81,7 +81,7 @@ list(APPEND PUBLIC_HEADERS ${CMAKE_CURRENT_BINARY_DIR}/FreeImageConfig.h)
add_library(FreeImage ${SRCS} ${PRIVATE_HEADERS} ${PUBLIC_HEADERS})
-if(${BUILD_SHARED_LIBS})
+if(BUILD_SHARED_LIBS)
target_compile_definitions(FreeImage PRIVATE -DFREEIMAGE_EXPORTS)
else()
target_compile_definitions(FreeImage PRIVATE -DFREEIMAGE_LIB)
@@ -119,7 +119,7 @@ add_library(FreeImagePlus
${CMAKE_CURRENT_SOURCE_DIR}/Wrapper/FreeImagePlus/FreeImagePlus.h
${CMAKE_CURRENT_SOURCE_DIR}/Wrapper/FreeImagePlus/FreeImagePlus.rc)
-if(${BUILD_SHARED_LIBS})
+if(BUILD_SHARED_LIBS)
target_compile_definitions(FreeImagePlus PRIVATE -DFIP_EXPORTS)
else()
target_compile_definitions(FreeImagePlus PRIVATE -DFREEIMAGE_LIB)
diff --git a/ports/gdal/0001-Add-support-for-MSVC1900-backported-from-GDAL2.patch b/ports/gdal/0001-Add-support-for-MSVC1900-backported-from-GDAL2.patch
deleted file mode 100644
index e29cc5b8e..000000000
--- a/ports/gdal/0001-Add-support-for-MSVC1900-backported-from-GDAL2.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 823171a129401d226ac4821fb997ce585045170c Mon Sep 17 00:00:00 2001
-From: Manuel Massing <m.massing@warped-space.de>
-Date: Wed, 23 Nov 2016 23:50:12 +0100
-Subject: [PATCH] Add support for MSVC1900 (backported from GDAL2)
-
----
- nmake.opt | 6 ++++++
- port/cpl_config.h.vc | 8 +++++---
- 2 files changed, 11 insertions(+), 3 deletions(-)
-
-diff --git a/nmake.opt b/nmake.opt
-index 8900135..4d1c4fa 100644
---- a/nmake.opt
-+++ b/nmake.opt
-@@ -31,6 +31,7 @@
- # Check version of Visual C++ compiler:
- # nmake -f makefile.vc MSVC_VER=xxxx
- # where xxxx is one of following:
-+# 1900 = 14.0(2015)
- # 1800 = 12.0(2013)
- # 1700 = 11.0(2012)
- # 1600 = 10.0(2010)
-@@ -627,8 +628,13 @@ GDALLIB = $(GDAL_ROOT)/gdal.lib
- !ENDIF
-
- !IFDEF ODBC_SUPPORTED
-+!IF $(MSVC_VER) >= 1900
-+# legacy_stdio_definitions.lib : https://connect.microsoft.com/VisualStudio/feedback/details/1134693/vs-2015-ctp-5-c-vsnwprintf-s-and-other-functions-are-not-exported-in-appcrt140-dll-breaking-linkage-of-static-libraries
-+ODBCLIB = legacy_stdio_definitions.lib odbc32.lib odbccp32.lib user32.lib
-+!ELSE
- ODBCLIB = odbc32.lib odbccp32.lib user32.lib
- !ENDIF
-+!ENDIF
-
- !IF DEFINED(MRSID_DIR) || DEFINED(MRSID_RASTER_DIR) || DEFINED(MRSID_LIDAR_DIR)
- !IF "$(MRSID_PLUGIN)" != "YES"
-diff --git a/port/cpl_config.h.vc b/port/cpl_config.h.vc
-index bfff8f6..fe7b82a 100644
---- a/port/cpl_config.h.vc
-+++ b/port/cpl_config.h.vc
-@@ -1,5 +1,5 @@
-
--/* We define this here in general so that a VC++ build will publically
-+/* We define this here in general so that a VC++ build will publicly
- declare STDCALL interfaces even if an application is built against it
- using MinGW */
-
-@@ -17,7 +17,9 @@
- #if defined(_MSC_VER) && (_MSC_VER < 1500)
- # define vsnprintf _vsnprintf
- #endif
--#define snprintf _snprintf
-+#if defined(_MSC_VER) && (_MSC_VER < 1900)
-+# define snprintf _snprintf
-+#endif
-
- #define HAVE_GETCWD 1
- /* gmt_notunix.h from GMT project also redefines getcwd. See #3138 */
-@@ -86,7 +88,7 @@
- /* Set the native cpu bit order */
- #define HOST_FILLORDER FILLORDER_LSB2MSB
-
--/* Define as 0 or 1 according to the floating point format suported by the
-+/* Define as 0 or 1 according to the floating point format supported by the
- machine */
- #define HAVE_IEEEFP 1
-
---
-2.10.1.windows.1
-
diff --git a/ports/gdal/0002-Add-variable-CXX_CRT_FLAGS-to-allow-for-selection-of.patch b/ports/gdal/0001-Add-variable-CXX_CRT_FLAGS-to-allow-for-selection-of.patch
index 0ffcac5fb..7817c4a38 100644
--- a/ports/gdal/0002-Add-variable-CXX_CRT_FLAGS-to-allow-for-selection-of.patch
+++ b/ports/gdal/0001-Add-variable-CXX_CRT_FLAGS-to-allow-for-selection-of.patch
@@ -1,18 +1,8 @@
-From b25c3dc49ca1bcf9a789cf64c9fa8694e35127f0 Mon Sep 17 00:00:00 2001
-From: Manuel Massing <m.massing@warped-space.de>
-Date: Sun, 27 Nov 2016 09:57:04 +0100
-Subject: [PATCH 2/2] Add variable CXX_CRT_FLAGS to allow for selection of C
- runtime linkage in nmake build.
-
----
- nmake.opt | 18 ++++++++++++++----
- 1 file changed, 14 insertions(+), 4 deletions(-)
-
diff --git a/nmake.opt b/nmake.opt
-index 4d1c4fa..47c2df8 100644
+index bd5719c2d1..f6101ccd59 100644
--- a/nmake.opt
+++ b/nmake.opt
-@@ -125,18 +125,28 @@ CXX_PDB_FLAGS=/Zi /Fd$(GDAL_ROOT)\gdal$(VERSION).pdb
+@@ -127,18 +127,28 @@ CXX_PDB_FLAGS=/Zi /Fd$(GDAL_ROOT)\gdal$(VERSION).pdb
CXX_PDB_FLAGS=
!ENDIF
@@ -29,22 +19,19 @@ index 4d1c4fa..47c2df8 100644
!IFNDEF OPTFLAGS
!IF $(MSVC_VER) >= 1400
!IFNDEF DEBUG
--OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo /MD /EHsc /Ox /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DNDEBUG
+-OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo /MP /MD /EHsc /Ox /FC /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DNDEBUG
+OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo $(CXX_CRT_FLAGS) /EHsc /Ox /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DNDEBUG
!ELSE
--OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo /MD /EHsc /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DDEBUG
+-OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo /MP /MD /EHsc /FC /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DDEBUG
+OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo $(CXX_CRT_FLAGS) /EHsc /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DDEBUG
!ENDIF
!ELSE
!IFNDEF DEBUG
--OPTFLAGS= $(CXX_PDB_FLAGS) /nologo /MD /EHsc /GR /Ox /DNDEBUG
+-OPTFLAGS= $(CXX_PDB_FLAGS) /nologo /MD /EHsc /GR /Ox /FC /DNDEBUG
+OPTFLAGS= $(CXX_PDB_FLAGS) /nologo $(CXX_CRT_FLAGS) /EHsc /GR /Ox /DNDEBUG
!ELSE
--OPTFLAGS= $(CXX_PDB_FLAGS) /nologo /MD /EHsc /GR /DDEBUG
+-OPTFLAGS= $(CXX_PDB_FLAGS) /nologo /MD /EHsc /GR /FC /DDEBUG
+OPTFLAGS= $(CXX_PDB_FLAGS) /nologo $(CXX_CRT_FLAGS) /EHsc /GR /DDEBUG
!ENDIF
!ENDIF #MSVC_VER
!ENDIF # OPTFLAGS
---
-2.10.1.windows.1
-
diff --git a/ports/gdal/0002-Ensures-inclusion-of-PDB-in-release-dll-if-so-reques.patch b/ports/gdal/0002-Ensures-inclusion-of-PDB-in-release-dll-if-so-reques.patch
new file mode 100644
index 000000000..57030b99b
--- /dev/null
+++ b/ports/gdal/0002-Ensures-inclusion-of-PDB-in-release-dll-if-so-reques.patch
@@ -0,0 +1,14 @@
+diff --git a/nmake.opt b/nmake.opt
+index bd5719c2d1..c0ca442cbe 100644
+--- a/nmake.opt
++++ b/nmake.opt
+@@ -195,6 +205,9 @@ SOFTWARNFLAGS= /wd4244 /wd4702 /wd4701 /wd4013 /wd4706 /wd4057 /wd4210 /wd4305
+ # Linker debug options
+ !IFDEF DEBUG
+ LDEBUG= /debug
++!ELSEIFDEF WITH_PDB
++# Ensures that PDB is included in release DLL if so requested
++LDEBUG= /debug /opt:ref /opt:icf
+ !ENDIF
+
+ # Uncomment the following if you are building for 64-bit windows
diff --git a/ports/gdal/0003-Ensures-inclusion-of-PDB-in-release-dll-if-so-reques.patch b/ports/gdal/0003-Ensures-inclusion-of-PDB-in-release-dll-if-so-reques.patch
deleted file mode 100644
index 1065a2982..000000000
--- a/ports/gdal/0003-Ensures-inclusion-of-PDB-in-release-dll-if-so-reques.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 9da0cb6eed442ebf3eea232cd85e26c155c963ef Mon Sep 17 00:00:00 2001
-From: Manuel Massing <m.massing@warped-space.de>
-Date: Tue, 29 Nov 2016 12:43:58 +0100
-Subject: [PATCH 3/4] - Ensures inclusion of PDB in release dll if so requested
-
----
- gdal/nmake.opt | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/nmake.opt b/nmake.opt
-index 47c2df8..4844d22 100644
---- a/nmake.opt
-+++ b/nmake.opt
-@@ -174,6 +174,9 @@ SOFTWARNFLAGS= /wd4244 /wd4702 /wd4701 /wd4013 /wd4706 /wd4057 /wd4210 /wd4305
- # Linker debug options
- !IFDEF DEBUG
- LDEBUG= /debug
-+!ELSEIFDEF WITH_PDB
-+# Ensures that PDB is included in release DLL if so requested
-+LDEBUG= /debug /opt:ref /opt:icf
- !ENDIF
-
- # Uncomment the following if you are building for 64-bit windows
---
-2.10.1.windows.1
-
diff --git a/ports/gdal/0003-Fix-openjpeg-include.patch b/ports/gdal/0003-Fix-openjpeg-include.patch
new file mode 100644
index 000000000..4ea72690c
--- /dev/null
+++ b/ports/gdal/0003-Fix-openjpeg-include.patch
@@ -0,0 +1,20 @@
+diff --git a/frmts/openjpeg/openjpegdataset.cpp b/frmts/openjpeg/openjpegdataset.cpp
+index 5978882bc9..72cc7b9559 100644
+--- a/frmts/openjpeg/openjpegdataset.cpp
++++ b/frmts/openjpeg/openjpegdataset.cpp
+@@ -34,14 +34,8 @@
+ #pragma clang diagnostic ignored "-Wdocumentation"
+ #endif
+
+-#if defined(OPENJPEG_VERSION) && OPENJPEG_VERSION >= 20200
+-#include <openjpeg-2.2/openjpeg.h>
+-#elif defined(OPENJPEG_VERSION) && OPENJPEG_VERSION >= 20100
+-#include <openjpeg-2.1/openjpeg.h>
+-#else
+ #include <stdio.h> /* openjpeg.h needs FILE* */
+-#include <openjpeg-2.0/openjpeg.h>
+-#endif
++#include <openjpeg.h>
+
+ #ifdef __clang__
+ #pragma clang diagnostic pop
diff --git a/ports/gdal/0004-Fix-openjpeg-include.patch b/ports/gdal/0004-Fix-openjpeg-include.patch
deleted file mode 100644
index 2865455d8..000000000
--- a/ports/gdal/0004-Fix-openjpeg-include.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/frmts/openjpeg/openjpegdataset.cpp b/frmts/openjpeg/openjpegdataset.cpp
-index 1fd4f4f..417f7a8 100644
---- a/frmts/openjpeg/openjpegdataset.cpp
-+++ b/frmts/openjpeg/openjpegdataset.cpp
-@@ -29,12 +29,8 @@
-
- /* This file is to be used with openjpeg 2.0 */
-
--#if defined(OPENJPEG_VERSION) && OPENJPEG_VERSION >= 20100
--#include <openjpeg-2.1/openjpeg.h>
--#else
--#include <stdio.h> /* openjpeg.h needs FILE* */
--#include <openjpeg-2.0/openjpeg.h>
--#endif
-+#include <stdio.h>
-+#include <openjpeg.h>
- #include <vector>
-
- #include "gdaljp2abstractdataset.h"
diff --git a/ports/gdal/CONTROL b/ports/gdal/CONTROL
index 083a52800..b84dc29e1 100644
--- a/ports/gdal/CONTROL
+++ b/ports/gdal/CONTROL
@@ -1,4 +1,4 @@
Source: gdal
-Version: 1.11.3-5
+Version: 2.2.2
Description: The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data.
Build-Depends: proj4, libpng, geos, sqlite3, curl, expat, libpq, libmysql, openjpeg, libwebp, libxml2, liblzma
diff --git a/ports/gdal/portfile.cmake b/ports/gdal/portfile.cmake
index 214ec2024..9bfb92362 100644
--- a/ports/gdal/portfile.cmake
+++ b/ports/gdal/portfile.cmake
@@ -5,25 +5,24 @@ endif()
include(vcpkg_common_functions)
vcpkg_download_distfile(ARCHIVE
- URLS "http://download.osgeo.org/gdal/1.11.3/gdal1113.zip"
- FILENAME "gdal1113.zip"
- SHA512 42feb98a54019d3b6ac54f598f299a57e117db500c662d39faa9d5f5090f03c1b8d7680242e1abd8035738edc4fc3197ae118a0ce50733691a76a5cf377bcd46
-)
+ URLS "http://download.osgeo.org/gdal/2.2.2/gdal222.zip"
+ FILENAME "gdal222.zip"
+ SHA512 b886238a7915c97f4acec5920dabe959d1ab15a8be0bc31ba0d05ad69d1d7d96f864faf0aa82921fa1a1b40b733744202b86f2f45ff63d6518cd18a53f3544a8
+ )
# Extract source into archictecture specific directory, because GDALs' nmake based build currently does not
# support out of source builds.
-set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-debug/gdal-1.11.3)
-set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-release/gdal-1.11.3)
+set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-debug/gdal-2.2.2)
+set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-release/gdal-2.2.2)
foreach(BUILD_TYPE debug release)
vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE})
vcpkg_apply_patches(
- SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}/gdal-1.11.3
+ SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}/gdal-2.2.2
PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/0001-Add-support-for-MSVC1900-backported-from-GDAL2.patch
- ${CMAKE_CURRENT_LIST_DIR}/0002-Add-variable-CXX_CRT_FLAGS-to-allow-for-selection-of.patch
- ${CMAKE_CURRENT_LIST_DIR}/0003-Ensures-inclusion-of-PDB-in-release-dll-if-so-reques.patch
- ${CMAKE_CURRENT_LIST_DIR}/0004-Fix-openjpeg-include.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0001-Add-variable-CXX_CRT_FLAGS-to-allow-for-selection-of.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0002-Ensures-inclusion-of-PDB-in-release-dll-if-so-reques.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0003-Fix-openjpeg-include.patch
)
endforeach()
@@ -211,7 +210,7 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
else()
file(GLOB EXE_FILES ${CURRENT_PACKAGES_DIR}/bin/*.exe)
file(REMOVE ${EXE_FILES} ${CURRENT_PACKAGES_DIR}/lib/gdal.lib)
- file(COPY ${SOURCE_PATH_DEBUG}/gdal111.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
+ file(COPY ${SOURCE_PATH_DEBUG}/gdal202.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
file(COPY ${SOURCE_PATH_DEBUG}/gdal_i.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gdal_i.lib ${CURRENT_PACKAGES_DIR}/lib/gdal.lib)
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gdal_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gdald.lib)
diff --git a/ports/libnice/CMakeLists.txt b/ports/libnice/CMakeLists.txt
index c631d3317..7454a0046 100644
--- a/ports/libnice/CMakeLists.txt
+++ b/ports/libnice/CMakeLists.txt
@@ -119,7 +119,7 @@ RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib)
-if (${CMAKE_BUILD_TYPE} STREQUAL "Release")
+if (CMAKE_BUILD_TYPE STREQUAL "Release")
install(FILES agent/address.h DESTINATION include/nice)
install(FILES agent/agent.h DESTINATION include/nice)
install(FILES agent/candidate.h DESTINATION include/nice)
diff --git a/ports/libtheora/CMakeLists.txt b/ports/libtheora/CMakeLists.txt
index 24ecbccf4..cf8799e5d 100644
--- a/ports/libtheora/CMakeLists.txt
+++ b/ports/libtheora/CMakeLists.txt
@@ -66,7 +66,7 @@ if(USE_X86)
add_definitions(-DOC_X86_ASM)
endif()
-if (${BUILD_SHARED_LIBS})
+if (BUILD_SHARED_LIBS)
add_definitions(-DLIBTHEORA_EXPORTS)
endif()
diff --git a/ports/mpfr/CONTROL b/ports/mpfr/CONTROL
index 2d5d4fedd..bec54417d 100644
--- a/ports/mpfr/CONTROL
+++ b/ports/mpfr/CONTROL
@@ -1,4 +1,4 @@
Source: mpfr
-Version: 3.1.5-1
+Version: 3.1.6
Description: The MPFR library is a C library for multiple-precision floating-point computations with correct rounding
Build-Depends: mpir
diff --git a/ports/mpfr/portfile.cmake b/ports/mpfr/portfile.cmake
index 6a61d4038..b71aa0505 100644
--- a/ports/mpfr/portfile.cmake
+++ b/ports/mpfr/portfile.cmake
@@ -1,9 +1,9 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mpfr-3.1.5)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mpfr-3.1.6)
vcpkg_download_distfile(ARCHIVE
- URLS "http://www.mpfr.org/mpfr-current/mpfr-3.1.5.tar.xz"
- FILENAME "mpfr-3.1.5.tar.xz"
- SHA512 3643469b9099b31e41d6ec9158196cd1c30894030c8864ee5b1b1e91b488bccbf7c263c951b03fe9f4ae6f9d29279e157a7dfed0885467d875f107a3d964f032
+ URLS "http://www.mpfr.org/mpfr-current/mpfr-3.1.6.tar.xz"
+ FILENAME "mpfr-3.1.6.tar.xz"
+ SHA512 746ee74d5026f267f74ab352d850ed30ff627d530aa840c71b24793e44875f8503946bd7399905dea2b2dd5744326254d7889337fe94cfe58d03c4066e9d8054
)
vcpkg_extract_source_archive(${ARCHIVE})
diff --git a/ports/msmpi/portfile.cmake b/ports/msmpi/portfile.cmake
index ca841313e..893e6f124 100644
--- a/ports/msmpi/portfile.cmake
+++ b/ports/msmpi/portfile.cmake
@@ -22,7 +22,7 @@ vcpkg_get_program_files_platform_bitness(PROGRAM_FILES_PLATFORM_BITNESS)
set(SYSTEM_MPIEXEC_FILEPATH "${PROGRAM_FILES_PLATFORM_BITNESS}/Microsoft MPI/Bin/mpiexec.exe")
set(MSMPI_EXPECTED_FULL_VERSION "8.1.12438.1084")
-if(EXISTS ${SYSTEM_MPIEXEC_FILEPATH})
+if(EXISTS "${SYSTEM_MPIEXEC_FILEPATH}")
set(MPIEXEC_VERSION_LOGNAME "mpiexec-version")
vcpkg_execute_required_process(
COMMAND ${SYSTEM_MPIEXEC_FILEPATH}
@@ -31,8 +31,8 @@ if(EXISTS ${SYSTEM_MPIEXEC_FILEPATH})
)
file(READ ${CURRENT_BUILDTREES_DIR}/${MPIEXEC_VERSION_LOGNAME}-out.log MPIEXEC_OUTPUT)
- if(${MPIEXEC_OUTPUT} MATCHES "\\[Version ([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)\\]")
- if(NOT ${CMAKE_MATCH_1} STREQUAL ${MSMPI_EXPECTED_FULL_VERSION})
+ if(MPIEXEC_OUTPUT MATCHES "\\[Version ([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)\\]")
+ if(NOT CMAKE_MATCH_1 STREQUAL MSMPI_EXPECTED_FULL_VERSION)
download_msmpi_redistributable_package()
message(FATAL_ERROR
@@ -102,7 +102,7 @@ file(INSTALL
DESTINATION
${CURRENT_PACKAGES_DIR}/lib
)
-if(${TRIPLET_SYSTEM_ARCH} STREQUAL "x86")
+if(TRIPLET_SYSTEM_ARCH STREQUAL "x86")
file(INSTALL
"${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifes.lib"
"${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifms.lib"
@@ -121,7 +121,7 @@ file(INSTALL
DESTINATION
${CURRENT_PACKAGES_DIR}/debug/lib
)
-if(${TRIPLET_SYSTEM_ARCH} STREQUAL "x86")
+if(TRIPLET_SYSTEM_ARCH STREQUAL "x86")
file(INSTALL
"${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifes.lib"
"${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifms.lib"
diff --git a/ports/openni2/CONTROL b/ports/openni2/CONTROL
index 72de4e877..b1d60d860 100644
--- a/ports/openni2/CONTROL
+++ b/ports/openni2/CONTROL
@@ -1,4 +1,4 @@
Source: openni2
-Version: 2.2.0.33-2
+Version: 2.2.0.33-4
Build-Depends: kinectsdk1
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 2e91bac3f..cc428ddb7 100644
--- a/ports/openni2/portfile.cmake
+++ b/ports/openni2/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)
-#
-
# UWP Not Support
if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
message(FATAL_ERROR "Error: UWP builds are currently not supported.")
@@ -28,16 +16,13 @@ endif()
# Download Source Code
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/OpenNI2-2.2-beta2)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/OpenNI/OpenNI2/archive/2.2-beta2.zip"
- FILENAME "OpenNI2-2.2-beta.zip"
- SHA512 9779161493114265745c9eb8b15db95a3ed2322cd75504931d0fb7b6214d7abc8a9eb2ea5f35e309bc4d2748f015eee27ada4974a2e9568b5ecb9d98099c84e9
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO OpenNI/OpenNI2
+ REF 2.2-beta2
+ SHA512 60a3a3043679f3069aea869e92dc5881328ce4393d4140ea8d089027321ac501ae27d283657214e2834d216d0d49bf4f29a4b3d3e43df27a6ed21f889cd0083f
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE})
-
-file(TO_NATIVE_PATH ${VCPKG_ROOT_DIR} NATIVE_VCPKG_ROOT_DIR)
-configure_file("${CMAKE_CURRENT_LIST_DIR}/replace_environment_variable.patch.in" "${CMAKE_CURRENT_LIST_DIR}/replace_environment_variable.patch" @ONLY)
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
@@ -46,6 +31,17 @@ vcpkg_apply_patches(
"${CMAKE_CURRENT_LIST_DIR}/replace_environment_variable.patch"
)
+file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET})
+file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET})
+file(COPY ${SOURCE_PATH} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET})
+get_filename_component(SOURCE_DIR_NAME "${SOURCE_PATH}" NAME)
+
+# Use fresh copy of sources for building and modification
+set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${SOURCE_DIR_NAME}")
+
+file(TO_NATIVE_PATH ${CURRENT_INSTALLED_DIR} NATIVE_INSTALLED_DIR)
+configure_file("${SOURCE_PATH}/Source/Drivers/Kinect/Kinect.vcxproj" "${SOURCE_PATH}/Source/Drivers/Kinect/Kinect.vcxproj" @ONLY)
+
# Build OpenNI2
vcpkg_build_msbuild(
PROJECT_PATH "${SOURCE_PATH}/OpenNI.sln"
diff --git a/ports/openni2/replace_environment_variable.patch.in b/ports/openni2/replace_environment_variable.patch
index ac5cf017c..48978e869 100644
--- a/ports/openni2/replace_environment_variable.patch.in
+++ b/ports/openni2/replace_environment_variable.patch
@@ -7,7 +7,7 @@ index 08a49fe..7fd8620 100644
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\..\..\Include;..\..\..\ThirdParty\PSCommon\XnLib\Include;$(KINECTSDK10_DIR)\inc;</AdditionalIncludeDirectories>
-+ <AdditionalIncludeDirectories>..\..\..\Include;..\..\..\ThirdParty\PSCommon\XnLib\Include;@NATIVE_VCPKG_ROOT_DIR@\packages\kinectsdk1_x86-windows\include</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>..\..\..\Include;..\..\..\ThirdParty\PSCommon\XnLib\Include;@NATIVE_INSTALLED_DIR@\include</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_WINDLL;%(PreprocessorDefinitions);_WINDOWS</PreprocessorDefinitions>
<DisableLanguageExtensions>false</DisableLanguageExtensions>
<TreatWarningAsError>false</TreatWarningAsError>
@@ -16,7 +16,7 @@ index 08a49fe..7fd8620 100644
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>Kinect10.lib;XnLib.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(SolutionDir)Bin\$(Platform)-$(Configuration)\;$(KINECTSDK10_DIR)\lib\x86;</AdditionalLibraryDirectories>
-+ <AdditionalLibraryDirectories>$(SolutionDir)Bin\$(Platform)-$(Configuration)\;@NATIVE_VCPKG_ROOT_DIR@\packages\kinectsdk1_x86-windows\debug\lib</AdditionalLibraryDirectories>
++ <AdditionalLibraryDirectories>$(SolutionDir)Bin\$(Platform)-$(Configuration)\;@NATIVE_INSTALLED_DIR@\debug\lib</AdditionalLibraryDirectories>
<TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
</Link>
</ItemDefinitionGroup>
@@ -25,7 +25,7 @@ index 08a49fe..7fd8620 100644
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\..\..\Include;..\..\..\ThirdParty\PSCommon\XnLib\Include;$(KINECTSDK10_DIR)\inc;</AdditionalIncludeDirectories>
-+ <AdditionalIncludeDirectories>..\..\..\Include;..\..\..\ThirdParty\PSCommon\XnLib\Include;@NATIVE_VCPKG_ROOT_DIR@\packages\kinectsdk1_x64-windows\include</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>..\..\..\Include;..\..\..\ThirdParty\PSCommon\XnLib\Include;@NATIVE_INSTALLED_DIR@\include</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_WINDLL;%(PreprocessorDefinitions);_WINDOWS</PreprocessorDefinitions>
<DisableLanguageExtensions>false</DisableLanguageExtensions>
<TreatWarningAsError>false</TreatWarningAsError>
@@ -34,7 +34,7 @@ index 08a49fe..7fd8620 100644
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>Kinect10.lib;XnLib.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(SolutionDir)Bin\$(Platform)-$(Configuration)\;$(KINECTSDK10_DIR)\lib\amd64;</AdditionalLibraryDirectories>
-+ <AdditionalLibraryDirectories>$(SolutionDir)Bin\$(Platform)-$(Configuration)\;@NATIVE_VCPKG_ROOT_DIR@\packages\kinectsdk1_x64-windows\debug\lib</AdditionalLibraryDirectories>
++ <AdditionalLibraryDirectories>$(SolutionDir)Bin\$(Platform)-$(Configuration)\;@NATIVE_INSTALLED_DIR@\debug\lib</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>
</IgnoreSpecificDefaultLibraries>
<IgnoreAllDefaultLibraries>
@@ -43,7 +43,7 @@ index 08a49fe..7fd8620 100644
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <AdditionalIncludeDirectories>..\..\..\Include;..\..\..\ThirdParty\PSCommon\XnLib\Include;$(KINECTSDK10_DIR)\inc;</AdditionalIncludeDirectories>
-+ <AdditionalIncludeDirectories>..\..\..\Include;..\..\..\ThirdParty\PSCommon\XnLib\Include;@NATIVE_VCPKG_ROOT_DIR@\packages\kinectsdk1_x86-windows\include</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>..\..\..\Include;..\..\..\ThirdParty\PSCommon\XnLib\Include;@NATIVE_INSTALLED_DIR@\include</AdditionalIncludeDirectories>
<TreatWarningAsError>false</TreatWarningAsError>
</ClCompile>
<Link>
@@ -52,7 +52,7 @@ index 08a49fe..7fd8620 100644
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>Kinect10.lib;XnLib.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(SolutionDir)Bin\$(Platform)-$(Configuration)\;$(KINECTSDK10_DIR)\lib\x86;</AdditionalLibraryDirectories>
-+ <AdditionalLibraryDirectories>$(SolutionDir)Bin\$(Platform)-$(Configuration)\;@NATIVE_VCPKG_ROOT_DIR@\packages\kinectsdk1_x86-windows\lib</AdditionalLibraryDirectories>
++ <AdditionalLibraryDirectories>$(SolutionDir)Bin\$(Platform)-$(Configuration)\;@NATIVE_INSTALLED_DIR@\lib</AdditionalLibraryDirectories>
<TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
</Link>
</ItemDefinitionGroup>
@@ -61,7 +61,7 @@ index 08a49fe..7fd8620 100644
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <AdditionalIncludeDirectories>..\..\..\Include;..\..\..\ThirdParty\PSCommon\XnLib\Include;$(KINECTSDK10_DIR)\inc;</AdditionalIncludeDirectories>
-+ <AdditionalIncludeDirectories>..\..\..\Include;..\..\..\ThirdParty\PSCommon\XnLib\Include;@NATIVE_VCPKG_ROOT_DIR@\packages\kinectsdk1_x64-windows\include</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>..\..\..\Include;..\..\..\ThirdParty\PSCommon\XnLib\Include;@NATIVE_INSTALLED_DIR@\include</AdditionalIncludeDirectories>
<TreatWarningAsError>false</TreatWarningAsError>
</ClCompile>
<Link>
@@ -70,7 +70,7 @@ index 08a49fe..7fd8620 100644
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>Kinect10.lib;XnLib.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(SolutionDir)Bin\$(Platform)-$(Configuration)\;$(KINECTSDK10_DIR)\lib\amd64;</AdditionalLibraryDirectories>
-+ <AdditionalLibraryDirectories>$(SolutionDir)Bin\$(Platform)-$(Configuration)\;@NATIVE_VCPKG_ROOT_DIR@\packages\kinectsdk1_x64-windows\lib</AdditionalLibraryDirectories>
++ <AdditionalLibraryDirectories>$(SolutionDir)Bin\$(Platform)-$(Configuration)\;@NATIVE_INSTALLED_DIR@\lib</AdditionalLibraryDirectories>
<TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
</Link>
</ItemDefinitionGroup>
diff --git a/ports/pcl/CONTROL b/ports/pcl/CONTROL
index e9547c8cb..d8c38a363 100644
--- a/ports/pcl/CONTROL
+++ b/ports/pcl/CONTROL
@@ -1,4 +1,4 @@
Source: pcl
-Version: 1.8.1-1
-Build-Depends: boost, eigen3, flann, qhull, vtk, openni2, qt5
+Version: 1.8.1-2
+Build-Depends: boost, eigen3, flann, qhull, vtk, openni2, qt5, winpcap
Description: Point Cloud Library (PCL) is open source library for 2D/3D image and point cloud processing.
diff --git a/ports/pcl/portfile.cmake b/ports/pcl/portfile.cmake
index 8010d9c70..cd5c5bedc 100644
--- a/ports/pcl/portfile.cmake
+++ b/ports/pcl/portfile.cmake
@@ -50,7 +50,7 @@ vcpkg_configure_cmake(
-DWITH_CUDA=OFF
-DWITH_LIBUSB=OFF
-DWITH_OPENNI2=ON
- -DWITH_PCAP=OFF
+ -DWITH_PCAP=ON
-DWITH_PNG=OFF
-DWITH_QHULL=ON
-DWITH_QT=ON
diff --git a/ports/sciter/CONTROL b/ports/sciter/CONTROL
index 54d72ec3c..5583c626d 100644
--- a/ports/sciter/CONTROL
+++ b/ports/sciter/CONTROL
@@ -1,4 +1,4 @@
Source: sciter
-Version: 4.0.3
+Version: 4.0.4
Description: Sciter is an embeddable HTML/CSS/scripting engine.
Maintainer: andrew.fedoniouk@gmail.com, ehysta@gmail.com
diff --git a/ports/sciter/portfile.cmake b/ports/sciter/portfile.cmake
index 063b318e3..ac3020144 100644
--- a/ports/sciter/portfile.cmake
+++ b/ports/sciter/portfile.cmake
@@ -12,9 +12,9 @@ include(vcpkg_common_functions)
# header-only library
set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled)
-set(SCITER_VERSION 4.0.3)
-set(SCITER_REVISION 1209528289b8c8369352d648f4ba0c67826cbd8b)
-set(SCITER_SHA 9fc72dd44b22c69715b4b08c5af7a65e0bb48d849191002b2ae45ca6f5ea058fb8c64cc7f6c176215afce682af6166a1579efd8cc2ca0fb9e844ceba1160f10f)
+set(SCITER_VERSION 4.0.4)
+set(SCITER_REVISION 9b5954df34ac0094e6037ac8aa6e00fb883185f9)
+set(SCITER_SHA a87b05aec6c99f56926b005eb1303b2b68f901fe2658433ca11d704b50308e6d291026404b86320fae0f1b12ca257a35338464f21d94ebeaa6e40cfec64a9201)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL x64)
set(SCITER_ARCH 64)
diff --git a/ports/shaderc/CMakeLists.txt b/ports/shaderc/CMakeLists.txt
index f4e0830c6..580ffa1d1 100644
--- a/ports/shaderc/CMakeLists.txt
+++ b/ports/shaderc/CMakeLists.txt
@@ -1,5 +1,5 @@
option(SUFFIX_D "Add d Suffix to lib" ${SUFFIX_D})
-if(NOT ${SUFFIX_D})
+if(NOT SUFFIX_D)
find_library(GLSLANG glslang)
find_library(OSDEPENDENT OSDependent)
find_library(OGLCOMPILER OGLCompiler)
diff --git a/ports/shaderc/CMakeLists_spirv.txt b/ports/shaderc/CMakeLists_spirv.txt
index 6aa738b1f..618177fa6 100644
--- a/ports/shaderc/CMakeLists_spirv.txt
+++ b/ports/shaderc/CMakeLists_spirv.txt
@@ -1,5 +1,5 @@
option(SUFFIX_D "Add d Suffix to lib" ${SUFFIX_D})
-if(NOT ${SUFFIX_D})
+if(NOT SUFFIX_D)
find_library(SPIRVTOOLSOPT spirv-tools-opt)
find_library(SPIRVTOOLS spirv-tools)
ELSE()
diff --git a/ports/spatialite-tools/CONTROL b/ports/spatialite-tools/CONTROL
new file mode 100644
index 000000000..ecbf681c6
--- /dev/null
+++ b/ports/spatialite-tools/CONTROL
@@ -0,0 +1,4 @@
+Source: spatialite-tools
+Version: 4.3.0
+Description: Contains spatialite.exe and other command line tools to work with SpatiaLite databases (import, export, SQL queries)
+Build-Depends: sqlite3, libspatialite, geos, readosm, proj4, zlib, libiconv, expat
diff --git a/ports/spatialite-tools/fix-makefiles.patch b/ports/spatialite-tools/fix-makefiles.patch
new file mode 100644
index 000000000..ff6e0ad0d
--- /dev/null
+++ b/ports/spatialite-tools/fix-makefiles.patch
@@ -0,0 +1,128 @@
+diff --git a/makefile.vc b/makefile.vc
+index 33c85d2..c811e7d 100644
+--- a/makefile.vc
++++ b/makefile.vc
+@@ -15,7 +15,7 @@ SPATIALITE_OSM_RAW_EXE = spatialite_osm_raw.exe
+ SPATIALITE_OSM_FILTER_EXE = spatialite_osm_filter.exe
+ SPATIALITE_GML_EXE = spatialite_gml.exe
+
+-CFLAGS = /nologo -IC:\OSGeo4W\include $(OPTFLAGS)
++CFLAGS = /nologo -I$(INSTALLED_ROOT)\include $(OPTFLAGS)
+
+ default: all
+
+@@ -26,89 +26,58 @@ all: $(SPATIALITE_EXE) $(SHP_DOCTOR_EXE) $(SPATIALITE_TOOL_EXE) \
+ $(SPATIALITE_OSM_FILTER_EXE)
+
+ $(SPATIALITE_EXE): shell.obj
+- cl shell.obj C:\OSGeo4W\lib\proj_i.lib \
+- C:\OSGeo4W\lib\iconv.lib C:\OSGeo4W\lib\geos_c.lib \
+- C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib \
+- /Fe$(SPATIALITE_EXE)
++ cl shell.obj $(LIBS_ALL) /Fe$(SPATIALITE_EXE)
+ if exist $(SPATIALITE_EXE).manifest mt -manifest \
+ $(SPATIALITE_EXE).manifest -outputresource:$(SPATIALITE_EXE);1
+
+ $(EXIF_LOADER_EXE): exif_loader.obj
+- cl exif_loader.obj C:\OSGeo4W\lib\proj_i.lib \
+- C:\OSGeo4W\lib\iconv.lib C:\OSGeo4W\lib\geos_c.lib \
+- C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib
++ cl exif_loader.obj $(LIBS_ALL)
+ if exist $(EXIF_LOADER_EXE).manifest mt -manifest \
+ $(EXIF_LOADER_EXE).manifest -outputresource:$(EXIF_LOADER_EXE);1
+
+ $(SHP_DOCTOR_EXE): shp_doctor.obj
+- cl shp_doctor.obj C:\OSGeo4W\lib\proj_i.lib \
+- C:\OSGeo4W\lib\iconv.lib C:\OSGeo4W\lib\geos_c.lib \
+- C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib
++ cl shp_doctor.obj $(LIBS_ALL)
+ if exist $(SHP_DOCTOR_EXE).manifest mt -manifest \
+ $(SHP_DOCTOR_EXE).manifest -outputresource:$(SHP_DOCTOR_EXE);1
+
+ $(SPATIALITE_NETWORK_EXE): spatialite_network.obj
+- cl spatialite_network.obj C:\OSGeo4W\lib\proj_i.lib \
+- C:\OSGeo4W\lib\iconv.lib \
+- C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib
++ cl spatialite_network.obj $(LIBS_ALL)
+ if exist $(SPATIALITE_NETWORK_EXE).manifest mt -manifest \
+ $(SPATIALITE_TOOL_EXE).manifest \
+ -outputresource:$(SPATIALITE_TOOL_EXE);1
+
+ $(SPATIALITE_TOOL_EXE): spatialite_tool.obj
+- cl spatialite_tool.obj C:\OSGeo4W\lib\proj_i.lib \
+- C:\OSGeo4W\lib\iconv.lib C:\OSGeo4W\lib\geos_c.lib \
+- C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib
++ cl spatialite_tool.obj $(LIBS_ALL)
+ if exist $(SPATIALITE_TOOL_EXE).manifest mt -manifest \
+ $(SPATIALITE_TOOL_EXE).manifest \
+ -outputresource:$(SPATIALITE_TOOL_EXE);1
+
+ $(SPATIALITE_OSM_NET_EXE): spatialite_osm_net.obj
+- cl spatialite_osm_net.obj C:\OSGeo4W\lib\proj_i.lib \
+- C:\OSGeo4W\lib\iconv.lib \
+- C:\OSGeo4W\lib\readosm_i.lib \
+- C:\OSGeo4W\lib\libexpat.lib \
+- C:\OSGeo4W\lib\zlib.lib \
+- C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib
++ cl spatialite_osm_net.obj $(LIBS_ALL)
+ if exist $(SPATIALITE_OSM_EXE).manifest mt -manifest \
+ $(SPATIALITE_OSM_EXE).manifest \
+ -outputresource:$(SPATIALITE_OSM_NET_EXE);1
+
+ $(SPATIALITE_OSM_MAP_EXE): spatialite_osm_map.obj
+- cl spatialite_osm_map.obj C:\OSGeo4W\lib\proj_i.lib \
+- C:\OSGeo4W\lib\iconv.lib \
+- C:\OSGeo4W\lib\readosm_i.lib \
+- C:\OSGeo4W\lib\libexpat.lib \
+- C:\OSGeo4W\lib\zlib.lib \
+- C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib
++ cl spatialite_osm_map.obj $(LIBS_ALL)
+ if exist $(SPATIALITE_OSM_MAP_EXE).manifest mt -manifest \
+ $(SPATIALITE_OSM_MAP_EXE).manifest \
+ -outputresource:$(SPATIALITE_OSM_MAP_EXE);1
+
+ $(SPATIALITE_GML_EXE): spatialite_gml.obj
+- cl spatialite_gml.obj C:\OSGeo4W\lib\proj_i.lib \
+- C:\OSGeo4W\lib\iconv.lib \
+- C:\OSGeo4W\lib\libexpat.lib \
+- C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib
++ cl spatialite_gml.obj $(LIBS_ALL)
+ if exist $(SPATIALITE_GML_EXE).manifest mt -manifest \
+ $(SPATIALITE_GML_EXE).manifest \
+ -outputresource:$(SPATIALITE_GML_EXE);1
+
+ $(SPATIALITE_OSM_RAW_EXE): spatialite_osm_raw.obj
+- cl spatialite_osm_raw.obj C:\OSGeo4W\lib\proj_i.lib \
+- C:\OSGeo4W\lib\iconv.lib \
+- C:\OSGeo4W\lib\readosm_i.lib \
+- C:\OSGeo4W\lib\libexpat.lib \
+- C:\OSGeo4W\lib\zlib.lib \
+- C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib
++ cl spatialite_osm_raw.obj $(LIBS_ALL)
+ if exist $(SPATIALITE_OSM_RAW_EXE).manifest mt -manifest \
+ $(SPATIALITE_OSM_RAW_EXE).manifest \
+ -outputresource:$(SPATIALITE_OSM_RAW_EXE);1
+
+ $(SPATIALITE_OSM_FILTER_EXE): spatialite_osm_filter.obj
+- cl spatialite_osm_filter.obj C:\OSGeo4W\lib\proj_i.lib \
+- C:\OSGeo4W\lib\iconv.lib \
+- C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib
++ cl spatialite_osm_filter.obj $(LIBS_ALL)
+ if exist $(SPATIALITE_OSM_FILTER_EXE).manifest mt -manifest \
+ $(SPATIALITE_OSM_FILTER_EXE).manifest \
+ -outputresource:$(SPATIALITE_OSM_FILTER_EXE);1
+diff --git a/nmake.opt b/nmake.opt
+index 4f4a953..d9efecf 100644
+--- a/nmake.opt
++++ b/nmake.opt
+@@ -1,8 +1,8 @@
+ # Directory tree where SpatiaLite will be installed.
+-INSTDIR=C:\OSGeo4W
++INSTDIR=$(INST_DIR)
+
+ # Uncomment the first for an optimized build, or the second for debug.
+-OPTFLAGS= /nologo /Ox /fp:precise /W3 /MD /D_CRT_SECURE_NO_WARNINGS \
++OPTFLAGS= /nologo /fp:precise /W3 $(CL_FLAGS) /D_CRT_SECURE_NO_WARNINGS \
+ /D_LARGE_FILE=1 /D_FILE_OFFSET_BITS=64 /D_LARGEFILE_SOURCE=1
+ #OPTFLAGS= /nologo /Zi /MD /Fdspatialite.pdb
+
diff --git a/ports/spatialite-tools/portfile.cmake b/ports/spatialite-tools/portfile.cmake
new file mode 100644
index 000000000..f42227a12
--- /dev/null
+++ b/ports/spatialite-tools/portfile.cmake
@@ -0,0 +1,118 @@
+include(vcpkg_common_functions)
+
+option(BUILD_DEBUG_TOOLS "Build debug version of tools" OFF)
+
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/spatialite-tools-4.3.0)
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://www.gaia-gis.it/gaia-sins/spatialite-tools-4.3.0.tar.gz"
+ FILENAME "spatialite-tools-4.3.0.tar.gz"
+ SHA512 e1de27c1c65ff2ff0b08583113517bea74edf33fff59ad6e9c77492ea3ae87d9c0f17d7670ee6602b32eea73ad3678bb5410ef2c6fac6e213bf2e341a907db88
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+find_program(NMAKE nmake)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-makefiles.patch
+)
+
+set(LDIR "\"${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 "${LDIR}/lib/geos_c.lib")
+ set(GEOS_LIBS_DBG "${LDIR}/debug/lib/geos_c.lib")
+ set(LIBXML2_LIBS_REL "${LDIR}/lib/libxml2.lib")
+ set(LIBXML2_LIBS_DBG "${LDIR}/debug/lib/libxml2.lib")
+ set(SPATIALITE_LIBS_REL "${LDIR}/lib/spatialite.lib")
+ set(SPATIALITE_LIBS_DBG "${LDIR}/debug/lib/spatialite.lib")
+ set(ICONV_LIBS_REL "${LDIR}/lib/libiconv.lib")
+ set(ICONV_LIBS_DBG "${LDIR}/debug/lib/libiconv.lib")
+else()
+ set(CL_FLAGS_DBG "/MTd /Zi")
+ set(CL_FLAGS_REL "/MT /Ox")
+ set(GEOS_LIBS_REL "${LDIR}/lib/libgeos_c.lib ${LDIR}/lib/libgeos.lib")
+ set(GEOS_LIBS_DBG "${LDIR}/debug/lib/libgeos_c.lib ${LDIR}/debug/lib/libgeos.lib")
+ set(LIBXML2_LIBS_REL "${LDIR}/lib/libxml2.lib ${LDIR}/lib/lzma.lib ws2_32.lib")
+ set(LIBXML2_LIBS_DBG "${LDIR}/debug/lib/libxml2.lib ${LDIR}/debug/lib/lzma.lib ws2_32.lib")
+ set(SPATIALITE_LIBS_REL "${LDIR}/lib/spatialite.lib ${LDIR}/lib/freexl.lib")
+ set(SPATIALITE_LIBS_DBG "${LDIR}/debug/lib/spatialite.lib ${LDIR}/debug/lib/freexl.lib")
+ set(ICONV_LIBS_REL "${LDIR}/lib/libiconv.lib ${LDIR}/lib/libcharset.lib")
+ set(ICONV_LIBS_DBG "${LDIR}/debug/lib/libiconv.lib ${LDIR}/debug/lib/libcharset.lib ")
+endif()
+
+set(LIBS_ALL_DBG
+ "${ICONV_LIBS_DBG} \
+ ${LDIR}/debug/lib/sqlite3.lib \
+ ${SPATIALITE_LIBS_DBG} \
+ ${LIBXML2_LIBS_DBG} \
+ ${GEOS_LIBS_DBG} \
+ ${LDIR}/debug/lib/readosm.lib \
+ ${LDIR}/debug/lib/expat.lib \
+ ${LDIR}/debug/lib/zlibd.lib \
+ ${LDIR}/debug/lib/projd.lib"
+ )
+set(LIBS_ALL_REL
+ "${ICONV_LIBS_REL} \
+ ${LDIR}/lib/sqlite3.lib \
+ ${SPATIALITE_LIBS_REL} \
+ ${LIBXML2_LIBS_REL} \
+ ${GEOS_LIBS_REL} \
+ ${LDIR}/lib/readosm.lib \
+ ${LDIR}/lib/expat.lib \
+ ${LDIR}/lib/zlib.lib \
+ ${LDIR}/lib/proj.lib"
+ )
+
+if(BUILD_DEBUG_TOOLS)
+ ################
+ # Debug build
+ ################
+ message(STATUS "Building ${TARGET_TRIPLET}-dgb")
+
+ 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=${LDIR}" "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")
+ set(EXE_FOLDER ${CURRENT_PACKAGES_DIR}/bin/)
+else()
+ ################
+ # Release build
+ ################
+ message(STATUS "Building ${TARGET_TRIPLET}-rel")
+
+ file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR_REL)
+ vcpkg_execute_required_process(
+ COMMAND ${NMAKE} -f makefile.vc clean install
+ "INST_DIR=\"${INST_DIR_REL}\"" "INSTALLED_ROOT=${LDIR}" "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")
+ set(EXE_FOLDER ${CURRENT_PACKAGES_DIR}/bin/)
+endif()
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT}/)
+file(GLOB EXES "${EXE_FOLDER}/*.exe")
+file(COPY ${EXES} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
+file(REMOVE ${EXES})
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include)
+
+if(NOT BUILD_DEBUG_TOOLS AND VCPKG_CRT_LINKAGE STREQUAL dynamic)
+ vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})
+endif()
+
+message(STATUS "Packaging ${TARGET_TRIPLET} done")
+
+# Allow empty include directory
+set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
diff --git a/ports/string-theory/CONTROL b/ports/string-theory/CONTROL
new file mode 100644
index 000000000..63bc5b656
--- /dev/null
+++ b/ports/string-theory/CONTROL
@@ -0,0 +1,3 @@
+Source: string-theory
+Version: 1.6
+Description: Flexible C++11 string library with type-safe formatting.
diff --git a/ports/string-theory/portfile.cmake b/ports/string-theory/portfile.cmake
new file mode 100644
index 000000000..8a6cb1fd1
--- /dev/null
+++ b/ports/string-theory/portfile.cmake
@@ -0,0 +1,42 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO zrax/string_theory
+ REF 1.6
+ SHA512 5bc99b6dfc2ab43d2812ee47dfbbeeb68106da39b2349799ab924f009270166ebb5508f87a37e634fbfa5495dd263697a582404650eedc5393722761c5ce2028
+ HEAD_REF master
+)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ set(ST_BUILD_STATIC ON)
+else()
+ set(ST_BUILD_STATIC OFF)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DST_BUILD_STATIC=${ST_BUILD_STATIC}
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/string_theory")
+
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/string-theory ${CURRENT_PACKAGES_DIR}/share/string_theory)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/string-theory)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/string-theory/LICENSE ${CURRENT_PACKAGES_DIR}/share/string-theory/copyright)
+file(COPY ${CURRENT_PACKAGES_DIR}/share/string-theory/copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/string_theory/copyright)
diff --git a/ports/tiny-dnn/CONTROL b/ports/tiny-dnn/CONTROL
new file mode 100644
index 000000000..f12cc076f
--- /dev/null
+++ b/ports/tiny-dnn/CONTROL
@@ -0,0 +1,3 @@
+Source: tiny-dnn
+Version: 2017-10-09-dd906fed8c8aff8dc837657c42f9d55f8b793b0e
+Description: A C++14 implementation of deep learning. It is suitable for deep learning on limited computational resource.
diff --git a/ports/tiny-dnn/portfile.cmake b/ports/tiny-dnn/portfile.cmake
new file mode 100644
index 000000000..7e3baa92a
--- /dev/null
+++ b/ports/tiny-dnn/portfile.cmake
@@ -0,0 +1,15 @@
+#header-only library
+include(vcpkg_common_functions)
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO tiny-dnn/tiny-dnn
+ REF dd906fed8c8aff8dc837657c42f9d55f8b793b0e
+ SHA512 d853db7f49af1bece55337b93631c41191f3abd8287969f230330662fecc612e4e53ab789535fc6f9770ae0c8623d8e020e6036c2c804783d08f176a08c05d1b
+ HEAD_REF master
+)
+
+file(INSTALL ${SOURCE_PATH}/tiny_dnn DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+
+
+file(COPY ${CURRENT_BUILDTREES_DIR}/src/tiny-dnn-dd906fed8c8aff8dc837657c42f9d55f8b793b0e/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/tiny-dnn)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/share/tiny-dnn/LICENSE ${CURRENT_PACKAGES_DIR}/share/tiny-dnn/copyright) \ No newline at end of file
diff --git a/ports/vtk/CONTROL b/ports/vtk/CONTROL
index 284ccecd3..22d1b1376 100644
--- a/ports/vtk/CONTROL
+++ b/ports/vtk/CONTROL
@@ -1,4 +1,4 @@
Source: vtk
-Version: 8.0.0-2
+Version: 8.0.0-3
Description: Software system for 3D computer graphics, image processing, and visualization
-Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, qt5, msmpi, libjpeg-turbo, proj4, lz4, libtheora
+Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, qt5, msmpi, libjpeg-turbo, proj4, lz4, libtheora, libharu
diff --git a/ports/vtk/FindGDAL.cmake b/ports/vtk/FindGDAL.cmake
new file mode 100644
index 000000000..e4f2f303b
--- /dev/null
+++ b/ports/vtk/FindGDAL.cmake
@@ -0,0 +1,127 @@
+# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#.rst:
+# FindGDAL
+# --------
+#
+#
+#
+# Locate gdal
+#
+# This module accepts the following environment variables:
+#
+# ::
+#
+# GDAL_DIR or GDAL_ROOT - Specify the location of GDAL
+#
+#
+#
+# This module defines the following CMake variables:
+#
+# ::
+#
+# GDAL_FOUND - True if libgdal is found
+# GDAL_LIBRARY - A variable pointing to the GDAL library
+# GDAL_INCLUDE_DIR - Where to find the headers
+
+#
+# $GDALDIR is an environment variable that would
+# correspond to the ./configure --prefix=$GDAL_DIR
+# used in building gdal.
+#
+# Created by Eric Wing. I'm not a gdal user, but OpenSceneGraph uses it
+# for osgTerrain so I whipped this module together for completeness.
+# I actually don't know the conventions or where files are typically
+# placed in distros.
+# Any real gdal users are encouraged to correct this (but please don't
+# break the OS X framework stuff when doing so which is what usually seems
+# to happen).
+
+# This makes the presumption that you are include gdal.h like
+#
+#include "gdal.h"
+
+find_path(GDAL_INCLUDE_DIR gdal.h
+ HINTS
+ ENV GDAL_DIR
+ ENV GDAL_ROOT
+ PATH_SUFFIXES
+ include/gdal
+ include/GDAL
+ include
+ PATHS
+ ~/Library/Frameworks/gdal.framework/Headers
+ /Library/Frameworks/gdal.framework/Headers
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+ /opt
+)
+
+if(UNIX)
+ # Use gdal-config to obtain the library version (this should hopefully
+ # allow us to -lgdal1.x.y where x.y are correct version)
+ # For some reason, libgdal development packages do not contain
+ # libgdal.so...
+ find_program(GDAL_CONFIG gdal-config
+ HINTS
+ ENV GDAL_DIR
+ ENV GDAL_ROOT
+ PATH_SUFFIXES bin
+ PATHS
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+ /opt
+ )
+
+ if(GDAL_CONFIG)
+ exec_program(${GDAL_CONFIG} ARGS --libs OUTPUT_VARIABLE GDAL_CONFIG_LIBS)
+ if(GDAL_CONFIG_LIBS)
+ string(REGEX MATCHALL "-l[^ ]+" _gdal_dashl ${GDAL_CONFIG_LIBS})
+ string(REPLACE "-l" "" _gdal_lib "${_gdal_dashl}")
+ string(REGEX MATCHALL "-L[^ ]+" _gdal_dashL ${GDAL_CONFIG_LIBS})
+ string(REPLACE "-L" "" _gdal_libpath "${_gdal_dashL}")
+ endif()
+ endif()
+endif()
+
+find_library(GDAL_LIBRARY_RELEASE
+ NAMES ${_gdal_lib} gdal gdal_i gdal1.5.0 gdal1.4.0 gdal1.3.2 GDAL
+ HINTS
+ ENV GDAL_DIR
+ ENV GDAL_ROOT
+ ${_gdal_libpath}
+ PATH_SUFFIXES lib
+ PATHS
+ /sw
+ /opt/local
+ /opt/csw
+ /opt
+ /usr/freeware
+)
+
+find_library(GDAL_LIBRARY_DEBUG
+ NAMES ${_gdal_lib} gdald gdald_i gdald1.5.0 gdald1.4.0 gdald1.3.2 GDALD
+ HINTS
+ ENV GDAL_DIR
+ ENV GDAL_ROOT
+ ${_gdal_libpath}
+ PATH_SUFFIXES lib
+ PATHS
+ /sw
+ /opt/local
+ /opt/csw
+ /opt
+ /usr/freeware
+)
+
+include(SelectLibraryConfigurations)
+select_library_configurations(GDAL)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GDAL DEFAULT_MSG GDAL_LIBRARY GDAL_INCLUDE_DIR)
+
+set(GDAL_LIBRARIES ${GDAL_LIBRARY})
+set(GDAL_INCLUDE_DIRS ${GDAL_INCLUDE_DIR})
diff --git a/ports/vtk/fix-find-libharu.patch b/ports/vtk/fix-find-libharu.patch
new file mode 100644
index 000000000..683f7bae6
--- /dev/null
+++ b/ports/vtk/fix-find-libharu.patch
@@ -0,0 +1,18 @@
+--- a/CMake/FindLibHaru.cmake Mon Jun 26 15:29:04 2017
++++ b/CMake/FindLibHaru.cmake Wed Aug 16 09:30:12 2017
+@@ -19,9 +19,13 @@
+
+ find_path(LIBHARU_INCLUDE_DIR hpdf.h)
+
+-find_library(LIBHARU_LIBRARY NAMES hpdf)
++find_library(LIBHARU_LIBRARY_RELEASE NAMES hpdf libhpdf)
++find_library(LIBHARU_LIBRARY_DEBUG NAMES hpdfd libhpdfd)
+
+-# handle the QUIETLY and REQUIRED arguments and set FONTCONFIG_FOUND to TRUE if
++include(SelectLibraryConfigurations)
++select_library_configurations(LIBHARU)
++
++# handle the QUIETLY and REQUIRED arguments and set LIBHARU_FOUND to TRUE if
+ # all listed variables are TRUE
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(LibHaru DEFAULT_MSG
diff --git a/ports/vtk/fix-find-mysql.patch b/ports/vtk/fix-find-mysql.patch
new file mode 100644
index 000000000..d2f984cd5
--- /dev/null
+++ b/ports/vtk/fix-find-mysql.patch
@@ -0,0 +1,10 @@
+--- a/CMake/FindMySQL.cmake Mon Jun 26 15:29:04 2017
++++ b/CMake/FindMySQL.cmake Wed Aug 16 11:21:58 2017
+@@ -28,6 +28,7 @@
+ "C:/MySQL/include"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.0;Location]/include"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.0;Location]/include"
++ PATH_SUFFIXES mysql
+ DOC "Specify the directory containing mysql.h."
+ )
+
diff --git a/ports/vtk/fix-find-odbc.patch b/ports/vtk/fix-find-odbc.patch
new file mode 100644
index 000000000..0690ed0a9
--- /dev/null
+++ b/ports/vtk/fix-find-odbc.patch
@@ -0,0 +1,11 @@
+--- a/CMake/FindODBC.cmake Mon Jun 26 15:29:04 2017
++++ b/CMake/FindODBC.cmake Wed Aug 16 12:58:11 2017
+@@ -30,7 +30,7 @@
+ )
+
+ FIND_LIBRARY( ODBC_LIBRARY
+- NAMES odbc iodbc unixodbc
++ NAMES odbc iodbc unixodbc odbc32
+ PATHS
+ /usr/lib
+ /usr/lib/odbc
diff --git a/ports/vtk/portfile.cmake b/ports/vtk/portfile.cmake
index ff9d457f1..c5ea4c387 100644
--- a/ports/vtk/portfile.cmake
+++ b/ports/vtk/portfile.cmake
@@ -1,13 +1,26 @@
include(vcpkg_common_functions)
+set(VTK_SHORT_VERSION "8.0")
+set(VTK_LONG_VERSION "${VTK_SHORT_VERSION}.0")
+
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO "Kitware/VTK"
- REF "v8.0.0"
+ REF "v${VTK_LONG_VERSION}"
SHA512 1a328f24df0b1c40c623ae80c9d49f8b27570144b10af02aeed41b90b50b8d4e0dd83d1341961f6818cde36e2cd793c578ebc95a46950cebfc518f486f249791
HEAD_REF "master"
)
+# =============================================================================
+# Options: These should be set by feature-packages when they become available
+set(VTK_WITH_QT ON ) # IMPORTANT: if ON make sure `qt5` is listed as dependency in the CONTROL file
+set(VTK_WITH_MPI ON ) # IMPORTANT: if ON make sure `mpi` is listed as dependency in the CONTROL file
+set(VTK_WITH_PYTHON OFF) # IMPORTANT: if ON make sure `python3` is listed as dependency in the CONTROL file
+set(VTK_WITH_ALL_MODULES OFF) # IMPORTANT: if ON make sure `qt5`, `mpi`, `python3`, `ffmpeg`, `gdal`, `fontconfig`,
+ # `libmysql` and `atlmfc` are listed as dependency in the CONTROL file
+
+# =============================================================================
+# Apply patches to the source code
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
@@ -28,33 +41,78 @@ vcpkg_apply_patches(
${CMAKE_CURRENT_LIST_DIR}/disable-workaround-findhdf5.patch
${CMAKE_CURRENT_LIST_DIR}/fix-find-libproj4.patch
+ ${CMAKE_CURRENT_LIST_DIR}/fix-find-libharu.patch
+ ${CMAKE_CURRENT_LIST_DIR}/fix-find-mysql.patch
+ ${CMAKE_CURRENT_LIST_DIR}/fix-find-odbc.patch
)
-# Remove the FindGLEW.cmake that is distributed with VTK, since it does not
-# detect the debug libraries correctly.
-# The default file distributed with CMake should be superior by all means.
+# Remove the FindGLEW.cmake and FindPythonLibs.cmake that are distributed with VTK,
+# since they do not detect the debug libraries correctly.
+# The default files distributed with CMake (>= 3.9) should be superior by all means.
+# For GDAL, the one distributed with CMake does not detect the debug libraries correctly,
+# so we provide an own one.
file(REMOVE ${SOURCE_PATH}/CMake/FindGLEW.cmake)
+file(REMOVE ${SOURCE_PATH}/CMake/FindPythonLibs.cmake)
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindGDAL.cmake DESTINATION ${SOURCE_PATH}/CMake)
+
+# =============================================================================
+# Collect CMake options for optional components
+if(VTK_WITH_QT)
+ list(APPEND ADDITIONAL_OPTIONS
+ -DVTK_Group_Qt=ON
+ -DVTK_QT_VERSION=5
+ -DVTK_BUILD_QT_DESIGNER_PLUGIN=OFF
+ )
+endif()
+
+if(VTK_WITH_MPI)
+ list(APPEND ADDITIONAL_OPTIONS
+ -DVTK_Group_MPI=ON
+ )
+endif()
+
+if(VTK_WITH_PYTHON)
+ list(APPEND ADDITIONAL_OPTIONS
+ -DVTK_WRAP_PYTHON=ON
+ -DVTK_PYTHON_VERSION=3
+ )
+endif()
+
+if(VTK_WITH_ALL_MODULES)
+ list(APPEND ADDITIONAL_OPTIONS
+ -DVTK_BUILD_ALL_MODULES=ON
+ -DVTK_USE_TK=OFF # TCL/TK currently not included in vcpkg
+ # -DVTK_USE_SYSTEM_AUTOBAHN=ON
+ # -DVTK_USE_SYSTEM_SIX=ON
+ # -DVTK_USE_SYSTEM_MPI4PY=ON
+ # -DVTK_USE_SYSTEM_CONSTANTLY=ON
+ # -DVTK_USE_SYSTEM_INCREMENTAL=ON
+ # -DVTK_USE_SYSTEM_TWISTED=ON
+ # -DVTK_USE_SYSTEM_XDMF2=ON
+ # -DVTK_USE_SYSTEM_XDMF3=ON
+ # -DVTK_USE_SYSTEM_ZFP=ON
+ # -DVTK_USE_SYSTEM_ZOPE=ON
+ )
+endif()
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
list(APPEND ADDITIONAL_OPTIONS "-DVTK_EXTERNAL_HDF5_IS_SHARED=ON")
endif()
+# =============================================================================
+# Configure & Install
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
+ -DVTK_Group_Imaging=ON
+ -DVTK_Group_Views=ON
-DBUILD_TESTING=OFF
-DBUILD_EXAMPLES=OFF
- -DVTK_Group_MPI=ON
- -DVTK_Group_Qt=ON
- -DVTK_QT_VERSION=5
- -DVTK_BUILD_QT_DESIGNER_PLUGIN=OFF
- # -DVTK_WRAP_PYTHON=ON
- # -DVTK_PYTHON_VERSION=3
-DVTK_USE_SYSTEM_EXPAT=ON
-DVTK_USE_SYSTEM_FREETYPE=ON
# -DVTK_USE_SYSTEM_GL2PS=ON
- # -DVTK_USE_SYSTEM_LIBHARU=ON
+ -DVTK_USE_SYSTEM_LIBHARU=ON
-DVTK_USE_SYSTEM_JPEG=ON
-DVTK_USE_SYSTEM_GLEW=ON
-DVTK_USE_SYSTEM_HDF5=ON
@@ -85,9 +143,29 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_copy_pdbs()
+# =============================================================================
+# Fixup target files
vcpkg_fixup_cmake_targets()
-# For VTK vcpkg_fixup_cmake_targets is not enough:
+# For some reason the references to the XDMF libraries in the target files do not end up
+# correctly, so we fix them here.
+if(VTK_WITH_ALL_MODULES)
+ file(READ ${CURRENT_PACKAGES_DIR}/share/vtk/VTKTargets-release.cmake VTK_TARGETS_RELEASE_CONTENT)
+ string(REPLACE "lib/../XdmfCore.lib" "lib/XdmfCore.lib" VTK_TARGETS_RELEASE_CONTENT "${VTK_TARGETS_RELEASE_CONTENT}")
+ string(REPLACE "bin/../XdmfCore.dll" "bin/XdmfCore.dll" VTK_TARGETS_RELEASE_CONTENT "${VTK_TARGETS_RELEASE_CONTENT}")
+ string(REPLACE "lib/../vtkxdmf3.lib" "lib/vtkxdmf3.lib" VTK_TARGETS_RELEASE_CONTENT "${VTK_TARGETS_RELEASE_CONTENT}")
+ string(REPLACE "bin/../vtkxdmf3.dll" "bin/vtkxdmf3.dll" VTK_TARGETS_RELEASE_CONTENT "${VTK_TARGETS_RELEASE_CONTENT}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/share/vtk/VTKTargets-release.cmake "${VTK_TARGETS_RELEASE_CONTENT}")
+
+ file(READ ${CURRENT_PACKAGES_DIR}/share/vtk/VTKTargets-debug.cmake VTK_TARGETS_DEBUG_CONTENT)
+ string(REPLACE "lib/../XdmfCore.lib" "lib/XdmfCore.lib" VTK_TARGETS_DEBUG_CONTENT "${VTK_TARGETS_DEBUG_CONTENT}")
+ string(REPLACE "bin/../XdmfCore.dll" "bin/XdmfCore.dll" VTK_TARGETS_DEBUG_CONTENT "${VTK_TARGETS_DEBUG_CONTENT}")
+ string(REPLACE "lib/../vtkxdmf3.lib" "lib/vtkxdmf3.lib" VTK_TARGETS_DEBUG_CONTENT "${VTK_TARGETS_DEBUG_CONTENT}")
+ string(REPLACE "bin/../vtkxdmf3.dll" "bin/vtkxdmf3.dll" VTK_TARGETS_DEBUG_CONTENT "${VTK_TARGETS_DEBUG_CONTENT}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/share/vtk/VTKTargets-debug.cmake "${VTK_TARGETS_DEBUG_CONTENT}")
+endif()
+
+# For VTK `vcpkg_fixup_cmake_targets` is not enough:
# Files for system third party dependencies are written to modules that
# are located in the paths `share/vtk/Modules` and `debug/share/vtk/Modules`.
# In the release folder, only the release libraries are referenced (e.g. "C:/vcpkg/installed/x64-windows/lib/zlib.lib").
@@ -158,8 +236,22 @@ set(SYSTEM_THIRD_PARTY_MODULES
vtkpng
vtktiff
vtkzlib
+ # vtkgl2ps
+ vtklibharu
)
+if(VTK_WITH_PYTHON OR VTK_WITH_ALL_MODULES)
+ list(APPEND SYSTEM_THIRD_PARTY_MODULES
+ vtkPython
+ )
+endif()
+
+if(VTK_WITH_ALL_MODULES)
+ list(APPEND SYSTEM_THIRD_PARTY_MODULES
+ AutobahnPython
+ )
+endif()
+
foreach(MODULE IN LISTS SYSTEM_THIRD_PARTY_MODULES)
_vtk_combine_third_party_libraries("${MODULE}")
endforeach()
@@ -172,16 +264,45 @@ file(READ "${CURRENT_PACKAGES_DIR}/share/vtk/VTKTargets.cmake" VTK_TARGETS_CONTE
string(REGEX REPLACE "${CURRENT_INSTALLED_DIR}/lib/[^\\.]*\\.lib" "" VTK_TARGETS_CONTENT "${VTK_TARGETS_CONTENT}")
file(WRITE "${CURRENT_PACKAGES_DIR}/share/vtk/VTKTargets.cmake" "${VTK_TARGETS_CONTENT}")
-# Move executable to tools directory
+# =============================================================================
+# Move executable to tools directory and clean-up other directories
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/vtk)
-file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vtkEncodeString-8.0.exe ${CURRENT_PACKAGES_DIR}/tools/vtk/vtkEncodeString-8.0.exe)
-file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vtkHashSource-8.0.exe ${CURRENT_PACKAGES_DIR}/tools/vtk/vtkHashSource-8.0.exe)
-if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vtkEncodeString-8.0.exe)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vtkHashSource-8.0.exe)
-else()
- # On static builds there should be no bin directory at all
+function(_vtk_move_tool TOOL_NAME)
+ if(EXISTS ${CURRENT_PACKAGES_DIR}/bin/${TOOL_NAME}.exe)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/${TOOL_NAME}.exe ${CURRENT_PACKAGES_DIR}/tools/vtk/${TOOL_NAME}.exe)
+ endif()
+
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/${TOOL_NAME}.exe)
+endfunction()
+
+set(VTK_TOOLS
+ vtkEncodeString-${VTK_SHORT_VERSION}
+ vtkHashSource-${VTK_SHORT_VERSION}
+ vtkWrapTclInit-${VTK_SHORT_VERSION}
+ vtkWrapTcl-${VTK_SHORT_VERSION}
+ vtkWrapPythonInit-${VTK_SHORT_VERSION}
+ vtkWrapPython-${VTK_SHORT_VERSION}
+ vtkWrapJava-${VTK_SHORT_VERSION}
+ vtkWrapHierarchy-${VTK_SHORT_VERSION}
+ vtkParseJava-${VTK_SHORT_VERSION}
+ vtkParseOGLExt-${VTK_SHORT_VERSION}
+ vtkpython
+ pvtkpython
+)
+
+foreach(TOOL_NAME IN LISTS VTK_TOOLS)
+ _vtk_move_tool("${TOOL_NAME}")
+endforeach()
+
+# =============================================================================
+# Remove other files and directories that are not valid for vcpkg
+if(VTK_WITH_ALL_MODULES)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/XdmfConfig.cmake)
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/XdmfConfig.cmake)
+endif()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
@@ -189,6 +310,7 @@ endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+# =============================================================================
# Handle copyright
file(COPY ${SOURCE_PATH}/Copyright.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/vtk)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/vtk/Copyright.txt ${CURRENT_PACKAGES_DIR}/share/vtk/copyright)
diff --git a/ports/zziplib/CMakeLists.txt b/ports/zziplib/CMakeLists.txt
index 7f46079e9..c99bc0ddd 100644
--- a/ports/zziplib/CMakeLists.txt
+++ b/ports/zziplib/CMakeLists.txt
@@ -55,7 +55,7 @@ set(SRCS zzip/dir.c
add_library(zziplib ${SRCS} ${HEADERS})
-if(${BUILD_SHARED_LIBS})
+if(BUILD_SHARED_LIBS)
target_compile_definitions(zziplib PRIVATE -DZZIPLIB_EXPORTS)
endif()
diff --git a/scripts/cmake/vcpkg_acquire_depot_tools.cmake b/scripts/cmake/vcpkg_acquire_depot_tools.cmake
index 1cc375725..009ba40f1 100644
--- a/scripts/cmake/vcpkg_acquire_depot_tools.cmake
+++ b/scripts/cmake/vcpkg_acquire_depot_tools.cmake
@@ -26,7 +26,7 @@ function(vcpkg_acquire_depot_tools PATH_TO_ROOT_OUT)
set(download_success 1)
endif()
- if (NOT ${download_success})
+ if (NOT download_success)
message(FATAL_ERROR
"\n"
" Failed to download file.\n"
diff --git a/scripts/cmake/vcpkg_configure_cmake.cmake b/scripts/cmake/vcpkg_configure_cmake.cmake
index fe8c97c52..bfb6a19fd 100644
--- a/scripts/cmake/vcpkg_configure_cmake.cmake
+++ b/scripts/cmake/vcpkg_configure_cmake.cmake
@@ -78,14 +78,20 @@ function(vcpkg_configure_cmake)
set(GENERATOR "Visual Studio 15 2017")
elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND TRIPLET_SYSTEM_ARCH MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141")
set(GENERATOR "Visual Studio 15 2017 Win64")
- elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND TRIPLET_SYSTEM_ARCH MATCHES "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141")
+ elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND TRIPLET_SYSTEM_ARCH STREQUAL "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141")
set(GENERATOR "Visual Studio 15 2017 ARM")
+ elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND TRIPLET_SYSTEM_ARCH STREQUAL "arm64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141")
+ set(GENERATOR "Visual Studio 15 2017")
+ set(ARCH "ARM64")
elseif(TRIPLET_SYSTEM_ARCH MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141")
set(GENERATOR "Visual Studio 15 2017")
elseif(TRIPLET_SYSTEM_ARCH MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141")
set(GENERATOR "Visual Studio 15 2017 Win64")
- elseif(TRIPLET_SYSTEM_ARCH MATCHES "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141")
+ elseif(TRIPLET_SYSTEM_ARCH STREQUAL "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141")
set(GENERATOR "Visual Studio 15 2017 ARM")
+ elseif(TRIPLET_SYSTEM_ARCH STREQUAL "arm64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141")
+ set(GENERATOR "Visual Studio 15 2017")
+ set(ARCH "ARM64")
endif()
# If we use Ninja, make sure it's on PATH
@@ -139,6 +145,12 @@ function(vcpkg_configure_cmake)
"-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON"
)
+ if(DEFINED ARCH)
+ list(APPEND _csc_OPTIONS
+ "-A${ARCH}"
+ )
+ endif()
+
if(DEFINED VCPKG_CRT_LINKAGE AND VCPKG_CRT_LINKAGE STREQUAL dynamic)
list(APPEND _csc_OPTIONS_DEBUG
"-DCMAKE_CXX_FLAGS_DEBUG=/D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 ${VCPKG_CXX_FLAGS_DEBUG}"
diff --git a/scripts/cmake/vcpkg_download_distfile.cmake b/scripts/cmake/vcpkg_download_distfile.cmake
index 006570195..b8acfc823 100644
--- a/scripts/cmake/vcpkg_download_distfile.cmake
+++ b/scripts/cmake/vcpkg_download_distfile.cmake
@@ -78,7 +78,7 @@ function(vcpkg_download_distfile VAR)
endif()
endforeach(url)
- if (NOT ${download_success})
+ if (NOT download_success)
message(FATAL_ERROR
"\n"
" Failed to download file.\n"
diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake
index 3c6dfae08..51e394bf1 100644
--- a/scripts/cmake/vcpkg_find_acquire_program.cmake
+++ b/scripts/cmake/vcpkg_find_acquire_program.cmake
@@ -34,7 +34,8 @@
## * [openssl](https://github.com/Microsoft/vcpkg/blob/master/ports/openssl/portfile.cmake)
## * [qt5](https://github.com/Microsoft/vcpkg/blob/master/ports/qt5/portfile.cmake)
function(vcpkg_find_acquire_program VAR)
- if(${VAR} AND NOT ${VAR} MATCHES "-NOTFOUND")
+ set(EXPANDED_VAR ${${VAR}})
+ if(EXPANDED_VAR)
return()
endif()
@@ -162,7 +163,7 @@ function(vcpkg_find_acquire_program VAR)
endmacro()
do_find()
- if(${VAR} MATCHES "-NOTFOUND")
+ if("${${VAR}}" MATCHES "-NOTFOUND")
file(DOWNLOAD ${URL} ${DOWNLOADS}/${ARCHIVE}
EXPECTED_HASH SHA512=${HASH}
SHOW_PROGRESS
@@ -173,7 +174,7 @@ function(vcpkg_find_acquire_program VAR)
else()
get_filename_component(ARCHIVE_EXTENSION ${ARCHIVE} EXT)
string(TOLOWER "${ARCHIVE_EXTENSION}" ARCHIVE_EXTENSION)
- if(${ARCHIVE_EXTENSION} STREQUAL ".msi")
+ if(ARCHIVE_EXTENSION STREQUAL ".msi")
file(TO_NATIVE_PATH "${DOWNLOADS}/${ARCHIVE}" ARCHIVE_NATIVE_PATH)
file(TO_NATIVE_PATH "${DOWNLOADS}/tools/${PROGNAME}/${SUBDIR}" DESTINATION_NATIVE_PATH)
execute_process(
@@ -191,5 +192,5 @@ function(vcpkg_find_acquire_program VAR)
do_find()
endif()
- set(${VAR} ${${VAR}} PARENT_SCOPE)
+ set(${VAR} "${${VAR}}" PARENT_SCOPE)
endfunction()
diff --git a/scripts/fetchDependency.ps1 b/scripts/fetchDependency.ps1
index 665376baf..773ebeac4 100644
--- a/scripts/fetchDependency.ps1
+++ b/scripts/fetchDependency.ps1
@@ -36,17 +36,19 @@ function SelectProgram([Parameter(Mandatory=$true)][string]$Dependency)
New-Item -ItemType directory -Path $downloadDir | Out-Null
}
+ $WC = New-Object System.Net.WebClient
+ $ProxyAuth = !$WC.Proxy.IsBypassed($url)
+ if ($ProxyAuth)
+ {
+ $ProxyCred = Get-Credential -Message "Enter credentials for Proxy Authentication"
+ $PSDefaultParameterValues.Add("Start-BitsTransfer:ProxyAuthentication","Basic")
+ $PSDefaultParameterValues.Add("Start-BitsTransfer:ProxyCredential",$ProxyCred)
+ $WC.Proxy.Credentials=$ProxyCred
+ }
+
if (($PSVersionTable.PSEdition -ne "Core") -and ($Dependency -ne "git")) # git fails with BITS
{
try {
- $WC = New-Object System.Net.WebClient
- $ProxyAuth = !$WC.Proxy.IsBypassed($url)
- If($ProxyAuth){
- $ProxyCred = Get-Credential -Message "Enter credentials for Proxy Authentication"
- $PSDefaultParameterValues.Add("Start-BitsTransfer:ProxyAuthentication","Basic")
- $PSDefaultParameterValues.Add("Start-BitsTransfer:ProxyCredential",$ProxyCred)
- }
-
Start-BitsTransfer -Source $url -Destination $downloadPath -ErrorAction Stop
}
catch [System.Exception] {
@@ -60,7 +62,7 @@ function SelectProgram([Parameter(Mandatory=$true)][string]$Dependency)
if (!(Test-Path $downloadPath))
{
Write-Verbose("Downloading $Dependency...")
- (New-Object System.Net.WebClient).DownloadFile($url, $downloadPath)
+ $WC.DownloadFile($url, $downloadPath)
}
}
@@ -126,11 +128,11 @@ function SelectProgram([Parameter(Mandatory=$true)][string]$Dependency)
}
elseif($Dependency -eq "vswhere")
{
- $requiredVersion = "2.1.4"
- $downloadVersion = "2.1.4"
- $url = "https://github.com/Microsoft/vswhere/releases/download/2.1.4/vswhere.exe"
+ $requiredVersion = "2.2.3"
+ $downloadVersion = "2.2.3"
+ $url = "https://github.com/Microsoft/vswhere/releases/download/2.2.3/vswhere.exe"
$downloadPath = "$downloadsDir\vswhere-$downloadVersion\vswhere.exe"
- $expectedDownloadedFileHash = "548fb9dfeed59bc4ddcce739a5729e9c8dd5932cd60ff6f74727ee069e7da458"
+ $expectedDownloadedFileHash = "5f19066ac91635ad17d33fe0f79fc63c672a46f98c0358589a90163bcb2733e8"
$executableFromDownload = $downloadPath
$extractionType = $ExtractionType_NO_EXTRACTION_REQUIRED
}
diff --git a/scripts/findVisualStudioInstallationInstances.ps1 b/scripts/findVisualStudioInstallationInstances.ps1
index 8c67ef6d6..b2f186478 100644
--- a/scripts/findVisualStudioInstallationInstances.ps1
+++ b/scripts/findVisualStudioInstallationInstances.ps1
@@ -6,7 +6,7 @@ param(
$scriptsDir = split-path -parent $MyInvocation.MyCommand.Definition
$vswhereExe = & $scriptsDir\fetchDependency.ps1 "vswhere"
-$output = & $vswhereExe -prerelease -legacy -format xml
+$output = & $vswhereExe -prerelease -legacy -products * -format xml
[xml]$asXml = $output
$results = New-Object System.Collections.ArrayList
diff --git a/toolsrc/include/vcpkg/vcpkgpaths.h b/toolsrc/include/vcpkg/vcpkgpaths.h
index df4adfd83..fb9285a84 100644
--- a/toolsrc/include/vcpkg/vcpkgpaths.h
+++ b/toolsrc/include/vcpkg/vcpkgpaths.h
@@ -68,8 +68,8 @@ namespace vcpkg
/// <remarks>
/// Valid version strings are "v140", "v141", and "". Empty string gets the latest.
/// </remarks>
- const Toolset& VcpkgPaths::get_toolset(const Optional<std::string>& toolset_version,
- const Optional<fs::path>& visual_studio_path) const;
+ const Toolset& get_toolset(const Optional<std::string>& toolset_version,
+ const Optional<fs::path>& visual_studio_path) const;
Files::Filesystem& get_filesystem() const;
diff --git a/toolsrc/src/vcpkg/base/system.cpp b/toolsrc/src/vcpkg/base/system.cpp
index 716c2a6a6..d5d39461c 100644
--- a/toolsrc/src/vcpkg/base/system.cpp
+++ b/toolsrc/src/vcpkg/base/system.cpp
@@ -107,6 +107,8 @@ namespace vcpkg::System
L"HTTPS_PROXY",
// Enables find_package(CUDA) in CMake
L"CUDA_PATH",
+ // Environmental variable generated automatically by CUDA after installation
+ L"NVCUDASAMPLES_ROOT",
};
// Flush stdout before launching external process
diff --git a/toolsrc/src/vcpkg/commands.autocomplete.cpp b/toolsrc/src/vcpkg/commands.autocomplete.cpp
index ad2a5b227..b8c633142 100644
--- a/toolsrc/src/vcpkg/commands.autocomplete.cpp
+++ b/toolsrc/src/vcpkg/commands.autocomplete.cpp
@@ -1,9 +1,8 @@
#include "pch.h"
-#include <vcpkg/base/sortedvector.h>
#include <vcpkg/base/system.h>
#include <vcpkg/commands.h>
-#include <vcpkg/help.h>
+#include <vcpkg/metrics.h>
#include <vcpkg/paragraphs.h>
#include <vcpkg/vcpkglib.h>
@@ -13,13 +12,12 @@ namespace vcpkg::Commands::Autocomplete
const std::vector<std::unique_ptr<SourceControlFile>>& source_paragraphs, const std::string& start_with)
{
std::vector<std::string> results;
- const auto& istartswith = Strings::case_insensitive_ascii_starts_with;
for (const auto& source_control_file : source_paragraphs)
{
auto&& sp = *source_control_file->core_paragraph;
- if (istartswith(sp.name, start_with))
+ if (Strings::case_insensitive_ascii_starts_with(sp.name, start_with))
{
results.push_back(sp.name);
}
@@ -31,13 +29,12 @@ namespace vcpkg::Commands::Autocomplete
const std::string& start_with)
{
std::vector<std::string> results;
- const auto& istartswith = Strings::case_insensitive_ascii_starts_with;
for (const auto& installed_package : installed_packages)
{
- auto sp = installed_package->package.displayname();
+ const auto sp = installed_package->package.displayname();
- if (istartswith(sp, start_with))
+ if (Strings::case_insensitive_ascii_starts_with(sp, start_with))
{
results.push_back(sp);
}
@@ -45,34 +42,68 @@ namespace vcpkg::Commands::Autocomplete
return results;
}
+ [[noreturn]] static void output_sorted_results_and_exit(const LineInfo& line_info,
+ std::vector<std::string>&& results)
+ {
+ const SortedVector<std::string> sorted_results(results);
+ System::println(Strings::join("\n", sorted_results));
+ Checks::exit_success(line_info);
+ }
+
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths)
{
- static const std::string EXAMPLE = Strings::format("The argument should be a command line to autocomplete.\n%s",
- Help::create_example_string("autocomplete install z"));
+ Metrics::g_metrics.lock()->set_send_metrics(false);
+ const std::string to_autocomplete = Strings::join(" ", args.command_arguments);
+ const std::vector<std::string> tokens = Strings::split(to_autocomplete, " ");
- args.check_min_arg_count(1, EXAMPLE);
- args.check_max_arg_count(2, EXAMPLE);
- args.check_and_get_optional_command_arguments({});
+ std::smatch match;
- const std::string requested_command = args.command_arguments.at(0);
- const std::string start_with =
- args.command_arguments.size() > 1 ? args.command_arguments.at(1) : Strings::EMPTY;
- std::vector<std::string> results;
- if (requested_command == "install")
+ // Handles vcpkg <command>
+ if (std::regex_match(to_autocomplete, match, std::regex{R"###(^(\S*)$)###"}))
+ {
+ const std::string requested_command = match[1].str();
+
+ std::vector<std::string> valid_commands = {"install",
+ "search",
+ "remove",
+ "list",
+ "update",
+ "hash",
+ "help",
+ "integrate",
+ "export",
+ "edit",
+ "create",
+ "owns",
+ "cache",
+ "version",
+ "contact"};
+
+ Util::unstable_keep_if(valid_commands, [&](const std::string& s) {
+ return Strings::case_insensitive_ascii_starts_with(s, requested_command);
+ });
+
+ output_sorted_results_and_exit(VCPKG_LINE_INFO, std::move(valid_commands));
+ }
+
+ // Handles vcpkg install <package>
+ if (std::regex_match(to_autocomplete, match, std::regex{R"###(^install.* (\S*)$)###"}))
{
+ const std::string start_with = match[1].str();
auto sources_and_errors = Paragraphs::try_load_all_ports(paths.get_filesystem(), paths.ports);
auto& source_paragraphs = sources_and_errors.paragraphs;
-
- results = autocomplete_install(source_paragraphs, start_with);
+ output_sorted_results_and_exit(VCPKG_LINE_INFO, autocomplete_install(source_paragraphs, start_with));
}
- else if (requested_command == "remove")
+
+ // Handles vcpkg remove <package>
+ if (std::regex_match(to_autocomplete, match, std::regex{R"###(^remove.* (\S*)$)###"}))
{
+ const std::string start_with = match[1].str();
const StatusParagraphs status_db = database_load_check(paths);
- std::vector<StatusParagraph*> installed_packages = get_installed_ports(status_db);
- results = autocomplete_remove(installed_packages, start_with);
+ const std::vector<StatusParagraph*> installed_packages = get_installed_ports(status_db);
+ output_sorted_results_and_exit(VCPKG_LINE_INFO, autocomplete_remove(installed_packages, start_with));
}
- System::println(Strings::join(" ", results));
Checks::exit_success(VCPKG_LINE_INFO);
}
}
diff --git a/toolsrc/src/vcpkg/commands.exportifw.cpp b/toolsrc/src/vcpkg/commands.exportifw.cpp
index 35a3c97a7..fbf3beb8c 100644
--- a/toolsrc/src/vcpkg/commands.exportifw.cpp
+++ b/toolsrc/src/vcpkg/commands.exportifw.cpp
@@ -27,6 +27,14 @@ namespace vcpkg::Export::IFW
return date_time_as_string;
}
+ std::string safe_rich_from_plain_text(const std::string& text)
+ {
+ // match standalone ampersand, no HTML number or name
+ std::regex standalone_ampersand(R"###(&(?!(#[0-9]+|\w+);))###");
+
+ return std::regex_replace(text, standalone_ampersand, "&amp;");
+ }
+
fs::path get_packages_dir_path(const std::string& export_id, const Options& ifw_options, const VcpkgPaths& paths)
{
return ifw_options.maybe_packages_dir_path.has_value()
@@ -157,7 +165,7 @@ namespace vcpkg::Export::IFW
</Package>
)###",
action.spec.name(),
- binary_paragraph.description,
+ safe_rich_from_plain_text(binary_paragraph.description),
binary_paragraph.version,
create_release_date()));
}
diff --git a/toolsrc/src/vcpkg/install.cpp b/toolsrc/src/vcpkg/install.cpp
index 74bea0d5f..28d6d1cc6 100644
--- a/toolsrc/src/vcpkg/install.cpp
+++ b/toolsrc/src/vcpkg/install.cpp
@@ -558,6 +558,7 @@ namespace vcpkg::Install
const bool no_downloads = options.find(OPTION_NO_DOWNLOADS) != options.cend();
const bool is_recursive = options.find(OPTION_RECURSE) != options.cend();
const KeepGoing keep_going = to_keep_going(options.find(OPTION_KEEP_GOING) != options.cend());
+ const PrintSummary print_summary = to_print_summary(keep_going == KeepGoing::YES);
// create the plan
StatusParagraphs status_db = database_load_check(paths);
@@ -608,7 +609,7 @@ namespace vcpkg::Install
Checks::exit_success(VCPKG_LINE_INFO);
}
- perform_and_exit_ex(action_plan, install_plan_options, keep_going, PrintSummary::NO, paths, status_db);
+ perform_and_exit_ex(action_plan, install_plan_options, keep_going, print_summary, paths, status_db);
Checks::exit_success(VCPKG_LINE_INFO);
}
diff --git a/toolsrc/src/vcpkg/postbuildlint.cpp b/toolsrc/src/vcpkg/postbuildlint.cpp
index 5f55249df..22cf67e86 100644
--- a/toolsrc/src/vcpkg/postbuildlint.cpp
+++ b/toolsrc/src/vcpkg/postbuildlint.cpp
@@ -361,6 +361,7 @@ namespace vcpkg::PostBuildLint
case MachineType::I386: return "x86";
case MachineType::ARM:
case MachineType::ARMNT: return "arm";
+ case MachineType::ARM64: return "arm64";
default: return "Machine Type Code = " + std::to_string(static_cast<uint16_t>(machine_type));
}
}
diff --git a/toolsrc/src/vcpkg/vcpkgpaths.cpp b/toolsrc/src/vcpkg/vcpkgpaths.cpp
index e1a4acd69..07ce5c961 100644
--- a/toolsrc/src/vcpkg/vcpkgpaths.cpp
+++ b/toolsrc/src/vcpkg/vcpkgpaths.cpp
@@ -370,10 +370,14 @@ namespace vcpkg
supported_architectures.push_back({L"x86_amd64", CPU::X86, CPU::X64});
if (fs.exists(vcvarsall_dir / "vcvarsx86_arm.bat"))
supported_architectures.push_back({L"x86_arm", CPU::X86, CPU::ARM});
+ if (fs.exists(vcvarsall_dir / "vcvarsx86_arm64.bat"))
+ supported_architectures.push_back({L"x86_arm64", CPU::X86, CPU::ARM64});
if (fs.exists(vcvarsall_dir / "vcvarsamd64_x86.bat"))
supported_architectures.push_back({L"amd64_x86", CPU::X64, CPU::X86});
if (fs.exists(vcvarsall_dir / "vcvarsamd64_arm.bat"))
supported_architectures.push_back({L"amd64_arm", CPU::X64, CPU::ARM});
+ if (fs.exists(vcvarsall_dir / "vcvarsamd64_arm64.bat"))
+ supported_architectures.push_back({L"amd64_arm64", CPU::X64, CPU::ARM64});
// Locate the "best" MSVC toolchain version
const fs::path msvc_path = vc_dir / "Tools" / "MSVC";
diff --git a/triplets/arm64-uwp.cmake b/triplets/arm64-uwp.cmake
new file mode 100644
index 000000000..b37c34e87
--- /dev/null
+++ b/triplets/arm64-uwp.cmake
@@ -0,0 +1,6 @@
+set(VCPKG_TARGET_ARCHITECTURE arm64)
+set(VCPKG_CRT_LINKAGE dynamic)
+set(VCPKG_LIBRARY_LINKAGE dynamic)
+
+set(VCPKG_CMAKE_SYSTEM_NAME WindowsStore)
+set(VCPKG_CMAKE_SYSTEM_VERSION 10.0)