aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Gruzdev <alex.gruzdev@hotmail.com>2018-04-30 19:31:00 +0100
committerAlexey Gruzdev <alex.gruzdev@hotmail.com>2018-04-30 19:31:00 +0100
commitc72e6326dd4df3096144fe5cd510dc525ec39c9a (patch)
tree60b0d79153a484f6879ac4cf53d31c01950d1b5d
parent5897e96f9328584177fe9c13ce6b2db64d089962 (diff)
parenta9d989ec056246ea320a56ca7d02b161a6fee387 (diff)
downloadvcpkg-c72e6326dd4df3096144fe5cd510dc525ec39c9a.tar.gz
vcpkg-c72e6326dd4df3096144fe5cd510dc525ec39c9a.zip
Merge remote-tracking branch 'remotes/origin/master' into dev/agruzdev/yato
-rw-r--r--.gitignore3
-rw-r--r--README.md34
-rwxr-xr-xbootstrap-vcpkg.sh4
-rw-r--r--ports/azure-storage-cpp/portfile.cmake6
-rw-r--r--ports/bigint/CMakeLists.txt3
-rw-r--r--ports/bigint/CONTROL2
-rw-r--r--ports/clblas/portfile.cmake7
-rw-r--r--ports/folly/portfile.cmake4
-rw-r--r--ports/gainput/CONTROL2
-rw-r--r--ports/http-parser/CMakeLists.txt30
-rw-r--r--ports/http-parser/CONTROL2
-rw-r--r--ports/http-parser/portfile.cmake28
-rw-r--r--ports/ismrmrd/CONTROL2
-rw-r--r--ports/ismrmrd/portfile.cmake2
-rw-r--r--ports/leveldb/CONTROL2
-rw-r--r--ports/leveldb/portfile.cmake19
-rw-r--r--ports/libqrencode/CONTROL2
-rw-r--r--ports/libqrencode/portfile.cmake2
-rw-r--r--ports/libxmlpp/CONTROL2
-rw-r--r--ports/libxmlpp/fixAutoPtrExpired.patch114
-rw-r--r--ports/libxmlpp/portfile.cmake5
-rw-r--r--ports/llvm/CONTROL2
-rw-r--r--ports/llvm/portfile.cmake1
-rw-r--r--ports/openssl/vcpkg-cmake-wrapper.cmake9
-rw-r--r--ports/python3/CONTROL2
-rw-r--r--ports/python3/portfile.cmake11
-rw-r--r--ports/qt5-base/portfile.cmake2
-rw-r--r--ports/quirc/CONTROL2
-rw-r--r--ports/quirc/portfile.cmake2
-rw-r--r--ports/rapidjson/CONTROL2
-rw-r--r--ports/rapidjson/portfile.cmake23
-rw-r--r--ports/rapidjson/usage4
-rw-r--r--ports/realsense2/CONTROL5
-rw-r--r--ports/realsense2/build_with_static_crt.patch67
-rw-r--r--ports/realsense2/fix_rgb_using_avx2.patch12
-rw-r--r--ports/realsense2/portfile.cmake33
-rw-r--r--ports/rhash/CONTROL2
-rw-r--r--ports/rhash/portfile.cmake4
-rw-r--r--ports/sciter/CONTROL2
-rw-r--r--ports/sciter/portfile.cmake4
-rw-r--r--ports/sobjectizer/CONTROL2
-rw-r--r--ports/sobjectizer/portfile.cmake4
-rw-r--r--ports/sqlite3/CMakeLists.txt8
-rw-r--r--ports/sqlite3/CONTROL2
-rw-r--r--ports/sqlite3/portfile.cmake4
-rw-r--r--ports/uwebsockets/CONTROL2
-rw-r--r--ports/uwebsockets/portfile.cmake4
-rw-r--r--[-rwxr-xr-x]scripts/bootstrap.sh11
-rw-r--r--scripts/cmake/vcpkg_from_github.cmake73
-rw-r--r--scripts/vcpkgTools.xml8
-rw-r--r--toolsrc/include/tests.utils.h40
-rw-r--r--toolsrc/include/vcpkg/userconfig.h2
-rw-r--r--toolsrc/src/tests.paragraph.cpp9
-rw-r--r--toolsrc/src/tests.utils.cpp30
-rw-r--r--toolsrc/src/vcpkg/commands.ci.cpp6
-rw-r--r--toolsrc/src/vcpkg/commands.integrate.cpp87
-rw-r--r--toolsrc/src/vcpkg/userconfig.cpp11
57 files changed, 456 insertions, 311 deletions
diff --git a/.gitignore b/.gitignore
index d105fd368..aa272483c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,6 +25,7 @@ bld/
[Bb]in/
[Oo]bj/
[Ll]og/
+vcpkg
# Visual Studio 2015 cache/options directory
.vs/
@@ -299,4 +300,4 @@ triplets/*
############################################################
# vcpkg - End
-############################################################ \ No newline at end of file
+############################################################
diff --git a/README.md b/README.md
index 4983508a4..c35c597d9 100644
--- a/README.md
+++ b/README.md
@@ -1,36 +1,48 @@
# Vcpkg <a href="#">![](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/8476/badge)</a>
## Overview
-Vcpkg helps you get C and C++ libraries on Windows. This tool and ecosystem are currently in a preview state; your involvement is vital to its success.
+Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This tool and ecosystem are currently in a preview state; your involvement is vital to its success!
For short description of available commands, run `vcpkg help`.
## Quick Start
Prerequisites:
-- Windows 10, 8.1, or 7
-- Visual Studio 2017 or Visual Studio 2015 Update 3
+- Windows 10, 8.1, 7, Linux, or MacOS
+- Visual Studio 2017 or Visual Studio 2015 Update 3 (on Windows)
- Git
- *Optional: CMake 3.10.2*
-Clone this repository, then run
+To get started:
```
-C:\src\vcpkg> .\bootstrap-vcpkg.bat
+> git clone https://github.com/Microsoft/vcpkg
+> cd vcpkg
+
+PS> .\bootstrap-vcpkg.bat
+Ubuntu:~/$ ./bootstrap-vcpkg.sh
```
+
Then, to hook up user-wide integration, run (note: requires admin on first use)
```
-C:\src\vcpkg> .\vcpkg integrate install
+PS> .\vcpkg integrate install
+Ubuntu:~/$ ./vcpkg integrate install
```
+
Install any packages with
```
-C:\src\vcpkg> .\vcpkg install sdl2 curl
+PS> .\vcpkg install sdl2 curl
+Ubuntu:~/$ ./vcpkg install sdl2 curl
```
-Finally, create a New Project (or open an existing one) in Visual Studio 2017 or 2015. All installed libraries are immediately ready to be `#include`'d and used in your project.
-The best way to use installed libraries with cmake is via the toolchain file `scripts\buildsystems\vcpkg.cmake`. To use this file, you simply need to add it onto your CMake command line as `-DCMAKE_TOOLCHAIN_FILE=D:\src\vcpkg\scripts\buildsystems\vcpkg.cmake`.
-For more information, see our [using a package](docs/examples/using-sqlite.md) example for the specifics.
+The best way to use installed libraries with CMake is via the toolchain file `scripts\buildsystems\vcpkg.cmake`. To use this file, you simply need to add it onto your CMake command line as `-DCMAKE_TOOLCHAIN_FILE=[vcpkg root]\scripts\buildsystems\vcpkg.cmake`.
+
+In Visual Studio, you can create a New Project (or open an existing one). All installed libraries are immediately ready to be `#include`'d and used in your project without additional configuration.
+
+For more information, see our [using a package](docs/examples/using-sqlite.md) example for the specifics.
+
+Additional notes on macOS and Linux support can be found in the [official announcement](https://blogs.msdn.microsoft.com/vcblog/2018/04/24/announcing-a-single-c-library-manager-for-linux-macos-and-windows-vcpkg/).
## Tab-Completion / Auto-Completion
-`Vcpkg` supports auto-completion of commands, package names, options etc. To enable tab-completion in Powershell, use
+`vcpkg` supports auto-completion of commands, package names, options etc. To enable tab-completion in Powershell, use
```
.\vcpkg integrate powershell
```
diff --git a/bootstrap-vcpkg.sh b/bootstrap-vcpkg.sh
index 4bfb17308..b77b74890 100755
--- a/bootstrap-vcpkg.sh
+++ b/bootstrap-vcpkg.sh
@@ -1,2 +1,4 @@
+#!/bin/sh
+
vcpkgRootDir=$(X= cd -- "$(dirname -- "$0")" && pwd -P)
-$vcpkgRootDir/scripts/bootstrap.sh \ No newline at end of file
+. $vcpkgRootDir/scripts/bootstrap.sh
diff --git a/ports/azure-storage-cpp/portfile.cmake b/ports/azure-storage-cpp/portfile.cmake
index 2f8e921a5..56dbc2ca3 100644
--- a/ports/azure-storage-cpp/portfile.cmake
+++ b/ports/azure-storage-cpp/portfile.cmake
@@ -10,10 +10,6 @@ vcpkg_from_github(
REF v3.2.1
SHA512 8d1e8de439e52f53eb28b77e8adf394468f4861c2c4c1f79ec1437c72e3fc0bc871e4e2662ee58090748915b0f12ce6736a7cc6ede619d332686b9fb6a026c9f
HEAD_REF master
-)
-
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
PATCHES
${CMAKE_CURRENT_LIST_DIR}/cmake.patch
${CMAKE_CURRENT_LIST_DIR}/static-builds.patch
@@ -35,7 +31,7 @@ vcpkg_install_cmake()
file(INSTALL
${SOURCE_PATH}/LICENSE.txt
DESTINATION ${CURRENT_PACKAGES_DIR}/share/azure-storage-cpp RENAME copyright)
-file(REMOVE_RECURSE
+file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/debug/include)
vcpkg_copy_pdbs()
diff --git a/ports/bigint/CMakeLists.txt b/ports/bigint/CMakeLists.txt
index cb62597ef..e4cccbe12 100644
--- a/ports/bigint/CMakeLists.txt
+++ b/ports/bigint/CMakeLists.txt
@@ -13,7 +13,7 @@ set(
BigInteger.cc
BigIntegerAlgorithms.cc
BigUnsignedInABase.cc
- BigIntegerUtils.cc
+ BigIntegerUtils.cc
)
set(
@@ -24,6 +24,7 @@ set(
BigIntegerAlgorithms.hh
BigUnsignedInABase.hh
BigIntegerLibrary.hh
+ BigIntegerUtils.hh
)
add_library(bigint ${bigint_srcs})
diff --git a/ports/bigint/CONTROL b/ports/bigint/CONTROL
index 4079363f1..5247cbf81 100644
--- a/ports/bigint/CONTROL
+++ b/ports/bigint/CONTROL
@@ -1,3 +1,3 @@
Source: bigint
-Version: 2010.04.30-1
+Version: 2010.04.30-2
Description: C++ Big Integer Library
diff --git a/ports/clblas/portfile.cmake b/ports/clblas/portfile.cmake
index b18377cdf..9088fc2e9 100644
--- a/ports/clblas/portfile.cmake
+++ b/ports/clblas/portfile.cmake
@@ -9,7 +9,7 @@ vcpkg_from_github(
)
# v2.12 has a very old FindOpenCL.cmake using OPENCL_ vs. OpenCL_ var names
-# conflicting with the built-in, more modern FindOpenCL.cmake
+# conflicting with the built-in, more modern FindOpenCL.cmake
file(
REMOVE ${SOURCE_PATH}/src/FindOpenCL.cmake
)
@@ -32,7 +32,9 @@ vcpkg_configure_cmake(
)
vcpkg_install_cmake()
-
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(INSTALL
@@ -43,6 +45,7 @@ file(INSTALL
)
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
diff --git a/ports/folly/portfile.cmake b/ports/folly/portfile.cmake
index fabfd0085..2a35561d1 100644
--- a/ports/folly/portfile.cmake
+++ b/ports/folly/portfile.cmake
@@ -20,10 +20,6 @@ vcpkg_from_github(
REF v2018.04.16.00
SHA512 1f14da6eece3a490bd134a40550c2a3f78356789090e19933b8f10bc356837ee774a21e6f0b88c45831a968587049092b9d0d77617f040ab8e177de224400408
HEAD_REF master
-)
-
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
PATCHES
${CMAKE_CURRENT_LIST_DIR}/find-gflags.patch
)
diff --git a/ports/gainput/CONTROL b/ports/gainput/CONTROL
index 45b7b6afb..29ac472c5 100644
--- a/ports/gainput/CONTROL
+++ b/ports/gainput/CONTROL
@@ -1,3 +1,3 @@
Source: gainput
-Version: 1.0.0
+Version: 1.0.0-1
Description: Gainput is a multiplatform C++ input library, supporting mouse, keyboard and controllers
diff --git a/ports/http-parser/CMakeLists.txt b/ports/http-parser/CMakeLists.txt
index d959fff79..284c8e903 100644
--- a/ports/http-parser/CMakeLists.txt
+++ b/ports/http-parser/CMakeLists.txt
@@ -1,8 +1,8 @@
-cmake_minimum_required (VERSION 3.4)
-project (http-parser)
+cmake_minimum_required(VERSION 3.4)
+project(http-parser C)
-if (BUILD_SHARED_LIBS)
- SET(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
+if(BUILD_SHARED_LIBS)
+ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
endif()
if(CMAKE_BUILD_TYPE MATCHES "Release")
@@ -11,11 +11,21 @@ endif()
add_library(http_parser http_parser.c http_parser.h)
-install(TARGETS http_parser
- RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin"
- ARCHIVE DESTINATION "${CMAKE_INSTALL_PREFIX}/lib"
+target_include_directories(http_parser PUBLIC $<INSTALL_INTERFACE:include>)
+
+install(
+ TARGETS http_parser
+ EXPORT NODEJS_HTTP_PARSER_ALL_TARGETS
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ RUNTIME DESTINATION bin
+)
+
+install(
+ EXPORT NODEJS_HTTP_PARSER_ALL_TARGETS
+ NAMESPACE unofficial::http_parser::
+ FILE unofficial-http-parser-config.cmake
+ DESTINATION share/unofficial-http-parser
)
-if (NOT SKIP_INSTALL_HEADERS)
- install(FILES http_parser.h DESTINATION "${CMAKE_INSTALL_PREFIX}/include")
-endif() \ No newline at end of file
+install(FILES http_parser.h DESTINATION include)
diff --git a/ports/http-parser/CONTROL b/ports/http-parser/CONTROL
index a9edf4071..26b9f8d34 100644
--- a/ports/http-parser/CONTROL
+++ b/ports/http-parser/CONTROL
@@ -1,3 +1,3 @@
Source: http-parser
-Version: 2.7.1-2
+Version: 2.7.1-3
Description: HTTP Parser.
diff --git a/ports/http-parser/portfile.cmake b/ports/http-parser/portfile.cmake
index 728293eed..49f829a53 100644
--- a/ports/http-parser/portfile.cmake
+++ b/ports/http-parser/portfile.cmake
@@ -1,29 +1,25 @@
-# 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/http-parser-2.7.1)
-vcpkg_download_distfile(ARCHIVE_FILE
- URLS "https://github.com/nodejs/http-parser/archive/v2.7.1.zip"
- FILENAME "http-parser-2.7.1.zip"
- SHA512 9fb8b855ba7edb47628c91ac062d7ffce9c4bb8d6b8237d861d7926af989fb3e354c113821bdab1b8ac910f5f1064ca1339947aa20d56f6806b919b0cd6b6eae
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO nodejs/http-parser
+ REF v2.7.1
+ SHA512 c0fe86455db1a563a5c668f118dfa9a27b9a637ee1c0e2f2f18a5b816352436ed90435ea978e3f3d85b037d3c630234e47d609dc3b7086b898286c4e54d9f031
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE_FILE})
+
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- OPTIONS_DEBUG
- -DSKIP_INSTALL_HEADERS=ON
+ PREFER_NINJA
)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+vcpkg_fixup_cmake_targets(CONFIG_PATH "share/unofficial-http-parser" TARGET_PATH "share/unofficial-http-parser")
+
# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE-MIT DESTINATION ${CURRENT_PACKAGES_DIR}/share/http-parser)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/http-parser/LICENSE-MIT ${CURRENT_PACKAGES_DIR}/share/http-parser/copyright) \ No newline at end of file
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/http-parser/LICENSE-MIT ${CURRENT_PACKAGES_DIR}/share/http-parser/copyright)
diff --git a/ports/ismrmrd/CONTROL b/ports/ismrmrd/CONTROL
index 7aaa5a42b..3fe989da9 100644
--- a/ports/ismrmrd/CONTROL
+++ b/ports/ismrmrd/CONTROL
@@ -1,4 +1,4 @@
Source: ismrmrd
-Version: 1.3.2-1
+Version: 1.3.2-2
Description: ISMRM Raw Data Format
Build-Depends: pugixml
diff --git a/ports/ismrmrd/portfile.cmake b/ports/ismrmrd/portfile.cmake
index a3557f0d2..1fda781b2 100644
--- a/ports/ismrmrd/portfile.cmake
+++ b/ports/ismrmrd/portfile.cmake
@@ -41,7 +41,7 @@ file(COPY ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_info.exe DESTINATION ${CURRENT_PAC
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_info.exe)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_info.exe)
-file(COPY ${CURRENT_BUILDTREES_DIR}/src/ismrmrd-1.3.2/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/ismrmrd)
+file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/ismrmrd)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/ismrmrd/LICENSE ${CURRENT_PACKAGES_DIR}/share/ismrmrd/copyright)
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/ismrmrd)
diff --git a/ports/leveldb/CONTROL b/ports/leveldb/CONTROL
index 5953bc35d..515d7dfea 100644
--- a/ports/leveldb/CONTROL
+++ b/ports/leveldb/CONTROL
@@ -1,3 +1,3 @@
Source: leveldb
-Version: 2017-10-25-8b1cd3753b184341e837b30383832645135d3d73-1
+Version: 2017-10-25-8b1cd3753b184341e837b30383832645135d3d73-2
Description: LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
diff --git a/ports/leveldb/portfile.cmake b/ports/leveldb/portfile.cmake
index 387cfd96e..9d6892977 100644
--- a/ports/leveldb/portfile.cmake
+++ b/ports/leveldb/portfile.cmake
@@ -1,23 +1,20 @@
include(vcpkg_common_functions)
-set(VCPKG_LIBRARY_LINKAGE static)
-
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/leveldb-8b1cd3753b184341e837b30383832645135d3d73)
+if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ message(STATUS "Warning: Dynamic building not supported yet. Building static.")
+ set(VCPKG_LIBRARY_LINKAGE static)
+endif()
vcpkg_from_github(
- OUT_SOURCE_PATH "leveldb"
- BRANCH "bitcoin-fork"
- REPO "bitcoin-core/leveldb"
- REF "8b1cd3753b184341e837b30383832645135d3d73"
+ OUT_SOURCE_PATH SOURCE_PATH
+ BRANCH "bitcoin-fork"
+ REPO "bitcoin-core/leveldb"
+ REF "8b1cd3753b184341e837b30383832645135d3d73"
SHA512 f5ad5fd21fb28ee052a4f3873abd58dab508c71621bcd482ab9e6ef4b57eca182c81502ddfe59736f5b2a54f2d05b397dd15982b3bd5d9039cd481eae3c7b958
)
-message(STATUS "Patching")
-
vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH}
PATCHES ${CMAKE_CURRENT_LIST_DIR}/msvc_code_fix.diff)
-
-message(STATUS "Building")
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
diff --git a/ports/libqrencode/CONTROL b/ports/libqrencode/CONTROL
index 0e96c99a9..056d6a92b 100644
--- a/ports/libqrencode/CONTROL
+++ b/ports/libqrencode/CONTROL
@@ -1,4 +1,4 @@
Source: libqrencode
-Version: 4.0.0-1
+Version: 4.0.0-2
Build-Depends: libpng, libiconv
Description: libqrencode - a fast and compact QR Code encoding library
diff --git a/ports/libqrencode/portfile.cmake b/ports/libqrencode/portfile.cmake
index ff0c2302b..72af0103e 100644
--- a/ports/libqrencode/portfile.cmake
+++ b/ports/libqrencode/portfile.cmake
@@ -39,7 +39,7 @@ if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/qrencoded.dll)
endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
-file(COPY ${CURRENT_BUILDTREES_DIR}/src/libqrencode-4.0.0/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libqrencode)
+file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libqrencode)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libqrencode/COPYING ${CURRENT_PACKAGES_DIR}/share/libqrencode/copyright)
vcpkg_copy_pdbs()
diff --git a/ports/libxmlpp/CONTROL b/ports/libxmlpp/CONTROL
index 46ec26ea1..890d1471d 100644
--- a/ports/libxmlpp/CONTROL
+++ b/ports/libxmlpp/CONTROL
@@ -1,4 +1,4 @@
Source: libxmlpp
-Version: 2.40.1-1
+Version: 2.40.1-2
Description: a C++ wrapper for the libxml XML parser library.
Build-Depends: libxml2, glibmm
diff --git a/ports/libxmlpp/fixAutoPtrExpired.patch b/ports/libxmlpp/fixAutoPtrExpired.patch
new file mode 100644
index 000000000..98d4df6bc
--- /dev/null
+++ b/ports/libxmlpp/fixAutoPtrExpired.patch
@@ -0,0 +1,114 @@
+diff --git a/libxml++/parsers/saxparser.h b/libxml++/parsers/saxparser.h
+index 1362ca3..0bd36d2 100644
+--- a/libxml++/parsers/saxparser.h
++++ b/libxml++/parsers/saxparser.h
+@@ -221,7 +221,7 @@ private:
+ //TODO: Remove the virtual when we can break ABI?
+ virtual void parse();
+
+- std::auto_ptr<_xmlSAXHandler> sax_handler_;
++ std::unique_ptr<_xmlSAXHandler> sax_handler_;
+
+ // A separate xmlpp::Document that is just used for entity resolution,
+ // and never seen in the API:
+diff --git a/libxml++/parsers/textreader.h b/libxml++/parsers/textreader.h
+index 48901b2..17f0737 100644
+--- a/libxml++/parsers/textreader.h
++++ b/libxml++/parsers/textreader.h
+@@ -257,7 +257,7 @@ class TextReader: NonCopyable
+ void * locator);
+ void check_for_exceptions() const;
+
+- std::auto_ptr<PropertyReader> propertyreader;
++ std::unique_ptr<PropertyReader> propertyreader;
+ _xmlTextReader* impl_;
+ int severity_;
+ Glib::ustring error_;
+diff --git a/libxml++/relaxngschema.h b/libxml++/relaxngschema.h
+index 8df7089..ffe2eaa 100644
+--- a/libxml++/relaxngschema.h
++++ b/libxml++/relaxngschema.h
+@@ -23,7 +23,7 @@
+
+ #include <libxml++/schemabase.h>
+ #include <libxml++/document.h>
+-#include <memory> // std::auto_ptr
++#include <memory> // std::unique_ptr
+
+ #ifndef DOXYGEN_SHOULD_SKIP_THIS
+ extern "C" {
+@@ -105,7 +105,7 @@ protected:
+
+ private:
+ struct Impl;
+- std::auto_ptr<Impl> pimpl_;
++ std::unique_ptr<Impl> pimpl_;
+ };
+
+ } // namespace xmlpp
+diff --git a/libxml++/validators/relaxngvalidator.h b/libxml++/validators/relaxngvalidator.h
+index 5cd5ad7..cd29393 100644
+--- a/libxml++/validators/relaxngvalidator.h
++++ b/libxml++/validators/relaxngvalidator.h
+@@ -22,7 +22,7 @@
+ #define __LIBXMLPP_VALIDATOR_RELAXNGVALIDATOR_H
+
+ #include <libxml++/validators/schemavalidatorbase.h>
+-#include <memory> // std::auto_ptr
++#include <memory> // std::unique_ptr
+
+ namespace Glib
+ {
+@@ -156,7 +156,7 @@ protected:
+
+ private:
+ struct Impl;
+- std::auto_ptr<Impl> pimpl_;
++ std::unique_ptr<Impl> pimpl_;
+ };
+
+ } // namespace xmlpp
+diff --git a/libxml++/validators/xsdvalidator.h b/libxml++/validators/xsdvalidator.h
+index 941d7f1..d64b971 100644
+--- a/libxml++/validators/xsdvalidator.h
++++ b/libxml++/validators/xsdvalidator.h
+@@ -20,7 +20,7 @@
+ #define __LIBXMLPP_VALIDATOR_XSDVALIDATOR_H
+
+ #include <libxml++/validators/schemavalidatorbase.h>
+-#include <memory> // std::auto_ptr
++#include <memory> // std::unique_ptr
+
+ namespace Glib
+ {
+@@ -146,7 +146,7 @@ protected:
+
+ private:
+ struct Impl;
+- std::auto_ptr<Impl> pimpl_;
++ std::unique_ptr<Impl> pimpl_;
+ };
+
+ } // namespace xmlpp
+diff --git a/libxml++/xsdschema.h b/libxml++/xsdschema.h
+index 1333025..8220e4e 100644
+--- a/libxml++/xsdschema.h
++++ b/libxml++/xsdschema.h
+@@ -21,7 +21,7 @@
+
+ #include <libxml++/schemabase.h>
+ #include <libxml++/document.h>
+-#include <memory> // std::auto_ptr
++#include <memory> // std::unique_ptr
+
+ #ifndef DOXYGEN_SHOULD_SKIP_THIS
+ extern "C" {
+@@ -96,7 +96,7 @@ protected:
+
+ private:
+ struct Impl;
+- std::auto_ptr<Impl> pimpl_;
++ std::unique_ptr<Impl> pimpl_;
+ };
+
+ } // namespace xmlpp
diff --git a/ports/libxmlpp/portfile.cmake b/ports/libxmlpp/portfile.cmake
index 8b6c758ac..9c39d6397 100644
--- a/ports/libxmlpp/portfile.cmake
+++ b/ports/libxmlpp/portfile.cmake
@@ -10,6 +10,11 @@ vcpkg_extract_source_archive(${ARCHIVE})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+vcpkg_apply_patches(
+ SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libxml++-${LIBXMLPP_VERSION}
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/fixAutoPtrExpired.patch"
+)
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
diff --git a/ports/llvm/CONTROL b/ports/llvm/CONTROL
index 27604d397..37368dbc7 100644
--- a/ports/llvm/CONTROL
+++ b/ports/llvm/CONTROL
@@ -1,4 +1,4 @@
Source: llvm
-Version: 6.0.0
+Version: 6.0.0-1
Description: The LLVM Compiler Infrastructure
Build-Depends: atlmfc
diff --git a/ports/llvm/portfile.cmake b/ports/llvm/portfile.cmake
index 795d72d31..650e2ae92 100644
--- a/ports/llvm/portfile.cmake
+++ b/ports/llvm/portfile.cmake
@@ -70,6 +70,7 @@ file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/bin
${CURRENT_PACKAGES_DIR}/msbuild-bin
${CURRENT_PACKAGES_DIR}/tools/msbuild-bin
+ ${CURRENT_PACKAGES_DIR}/include/llvm/BinaryFormat/WasmRelocs
)
# Remove one empty include subdirectory if it is indeed empty
diff --git a/ports/openssl/vcpkg-cmake-wrapper.cmake b/ports/openssl/vcpkg-cmake-wrapper.cmake
index 1e0500055..82313bdab 100644
--- a/ports/openssl/vcpkg-cmake-wrapper.cmake
+++ b/ports/openssl/vcpkg-cmake-wrapper.cmake
@@ -1,7 +1,10 @@
_find_package(${ARGS})
if(OPENSSL_FOUND)
- list(APPEND OPENSSL_LIBRARIES "dl")
- if(TARGET OpenSSL::Crypto)
- set_property(TARGET OpenSSL::Crypto APPEND PROPERTY INTERFACE_LINK_LIBRARIES "dl")
+ find_library(OPENSSL_DL_LIBRARY NAMES dl)
+ if(OPENSSL_DL_LIBRARY)
+ list(APPEND OPENSSL_LIBRARIES "dl")
+ if(TARGET OpenSSL::Crypto)
+ set_property(TARGET OpenSSL::Crypto APPEND PROPERTY INTERFACE_LINK_LIBRARIES "dl")
+ endif()
endif()
endif()
diff --git a/ports/python3/CONTROL b/ports/python3/CONTROL
index 0a730e517..c8331f8cf 100644
--- a/ports/python3/CONTROL
+++ b/ports/python3/CONTROL
@@ -1,3 +1,3 @@
Source: python3
-Version: 3.6.4
+Version: 3.6.4-1
Description: The Python programming language as an embeddable library \ No newline at end of file
diff --git a/ports/python3/portfile.cmake b/ports/python3/portfile.cmake
index 6285f9a9b..16b3a3db3 100644
--- a/ports/python3/portfile.cmake
+++ b/ports/python3/portfile.cmake
@@ -9,12 +9,12 @@ set(PYTHON_VERSION_PATCH 4)
set(PYTHON_VERSION ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.${PYTHON_VERSION_PATCH})
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET})
+
vcpkg_from_github(
OUT_SOURCE_PATH TEMP_SOURCE_PATH
REPO python/cpython
REF v${PYTHON_VERSION}
- SHA512 32cca5e344ee66f08712ab5533e5518f724f978ec98d985f7612d0bd8d7f5cac25625363c9eead192faf1806d4ea3393515f72ba962a2a0bed26261e56d8c637
+ SHA512 32cca5e344ee66f08712ab5533e5518f724f978ec98d985f7612d0bd8d7f5cac25625363c9eead192faf1806d4ea3393515f72ba962a2a0bed26261e56d8c637
HEAD_REF master
)
@@ -26,8 +26,9 @@ vcpkg_apply_patches(
# We need per-triplet directories because we need to patch the project files differently based on the linkage
# Because the patches patch the same file, they have to be applied in the correct order
-file(COPY ${TEMP_SOURCE_PATH} DESTINATION ${SOURCE_PATH})
-set(SOURCE_PATH ${SOURCE_PATH}/cpython-${PYTHON_VERSION})
+set(SOURCE_PATH "${TEMP_SOURCE_PATH}-Lib-${VCPKG_LIBRARY_LINKAGE}-crt-${VCPKG_CRT_LINKAGE}")
+file(REMOVE_RECURSE ${SOURCE_PATH})
+file(RENAME "${TEMP_SOURCE_PATH}" ${SOURCE_PATH})
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
vcpkg_apply_patches(
@@ -57,7 +58,7 @@ endif()
vcpkg_build_msbuild(
PROJECT_PATH ${SOURCE_PATH}/PCBuild/pythoncore.vcxproj
PLATFORM ${BUILD_ARCH})
-
+
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
diff --git a/ports/qt5-base/portfile.cmake b/ports/qt5-base/portfile.cmake
index e5bdba8a5..569540213 100644
--- a/ports/qt5-base/portfile.cmake
+++ b/ports/qt5-base/portfile.cmake
@@ -69,6 +69,8 @@ if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore
set(PLATFORM "win32-msvc2015")
elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v141")
set(PLATFORM "win32-msvc2017")
+ elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v120")
+ set(PLATFORM "win32-msvc2013")
endif()
configure_qt(
SOURCE_PATH ${SOURCE_PATH}
diff --git a/ports/quirc/CONTROL b/ports/quirc/CONTROL
index 1ba02d889..d86ea00ae 100644
--- a/ports/quirc/CONTROL
+++ b/ports/quirc/CONTROL
@@ -1,3 +1,3 @@
Source: quirc
-Version: 1.0-1
+Version: 1.0-2
Description: quirc is one of the C library available for scanning QR Codes
diff --git a/ports/quirc/portfile.cmake b/ports/quirc/portfile.cmake
index 976c7bc92..fd05c3db4 100644
--- a/ports/quirc/portfile.cmake
+++ b/ports/quirc/portfile.cmake
@@ -11,7 +11,7 @@ vcpkg_from_github(
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_apply_patches(
- SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/quirc-1.0
+ SOURCE_PATH ${SOURCE_PATH}
PATCHES
${CMAKE_CURRENT_LIST_DIR}/patch-for-msvc.patch
)
diff --git a/ports/rapidjson/CONTROL b/ports/rapidjson/CONTROL
index 0dd6333cf..7646755a5 100644
--- a/ports/rapidjson/CONTROL
+++ b/ports/rapidjson/CONTROL
@@ -1,3 +1,3 @@
Source: rapidjson
-Version: 1.1.0
+Version: 1.1.0-1
Description: A fast JSON parser/generator for C++ with both SAX/DOM style API <http://rapidjson.org/>
diff --git a/ports/rapidjson/portfile.cmake b/ports/rapidjson/portfile.cmake
index 54f1c8eea..4f87ed6f4 100644
--- a/ports/rapidjson/portfile.cmake
+++ b/ports/rapidjson/portfile.cmake
@@ -9,10 +9,23 @@ vcpkg_from_github(
HEAD_REF master
)
+# Use RapidJSON's own build process, skipping examples and tests
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DRAPIDJSON_BUILD_DOC:BOOL=OFF
+ -DRAPIDJSON_BUILD_EXAMPLES:BOOL=OFF
+ -DRAPIDJSON_BUILD_TESTS:BOOL=OFF
+ -DCMAKE_INSTALL_DIR:STRING=cmake
+)
+vcpkg_install_cmake()
+
+# Move CMake config files to the right place
+vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
+
+# Delete redundant directories
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/share/doc)
+
# Put the licence file where vcpkg expects it
-file(COPY ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/rapidjson)
+file(COPY ${SOURCE_PATH}/license.txt ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/rapidjson)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/rapidjson/license.txt ${CURRENT_PACKAGES_DIR}/share/rapidjson/copyright)
-
-# Copy the rapidjson header files
-file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.h")
-vcpkg_copy_pdbs()
diff --git a/ports/rapidjson/usage b/ports/rapidjson/usage
new file mode 100644
index 000000000..81e541e17
--- /dev/null
+++ b/ports/rapidjson/usage
@@ -0,0 +1,4 @@
+The package rapidjson provides CMake integration:
+
+ find_package(RapidJSON REQUIRED)
+ target_include_directories(main PRIVATE ${RAPIDJSON_INCLUDE_DIRS})
diff --git a/ports/realsense2/CONTROL b/ports/realsense2/CONTROL
index 2465fd1a4..f87152bc6 100644
--- a/ports/realsense2/CONTROL
+++ b/ports/realsense2/CONTROL
@@ -1,10 +1,7 @@
Source: realsense2
-Version: 2.10.1-1
+Version: 2.10.4
Description: Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras (D400 series and the SR300).
-Feature: avx2
-Description: rgb image decode using avx2
-
Feature: tools
Build-Depends: opengl
Description: Build Intel® RealSense™ examples and tools
diff --git a/ports/realsense2/build_with_static_crt.patch b/ports/realsense2/build_with_static_crt.patch
deleted file mode 100644
index ab8ec426d..000000000
--- a/ports/realsense2/build_with_static_crt.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 9425b92d..21232504 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -299,6 +299,8 @@ if(BUILD_EASYLOGGINGPP)
- list(APPEND REALSENSE_HPP third-party/easyloggingpp/src/easylogging++.h)
- endif()
-
-+option(BUILD_WITH_STATIC_CRT "Build with static link CRT" ON)
-+
- if(WIN32)
- source_group("Source Files\\Backend" FILES
- src/win/win-helpers.cpp
-@@ -484,15 +486,17 @@ if(WIN32)
- src/proc/disparity-transform.h
- )
-
-- foreach(flag_var
-- CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
-- CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO
-- CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
-- CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
-- if(${flag_var} MATCHES "/MD")
-- string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
-- endif(${flag_var} MATCHES "/MD")
-- endforeach(flag_var)
-+ if(BUILD_WITH_STATIC_CRT)
-+ foreach(flag_var
-+ CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
-+ CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO
-+ CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
-+ CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
-+ if(${flag_var} MATCHES "/MD")
-+ string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
-+ endif(${flag_var} MATCHES "/MD")
-+ endforeach(flag_var)
-+ endif()
- else()
-
- endif()
-@@ -652,15 +656,17 @@ if (BUILD_WITH_TM2)
- list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMake)
- find_package(libtm REQUIRED)
-
-- foreach(flag_var
-- CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
-- CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO
-- CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
-- CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
-- if(${flag_var} MATCHES "/MD")
-- string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
-- endif(${flag_var} MATCHES "/MD")
-- endforeach(flag_var)
-+ if(BUILD_WITH_STATIC_CRT)
-+ foreach(flag_var
-+ CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
-+ CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO
-+ CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
-+ CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
-+ if(${flag_var} MATCHES "/MD")
-+ string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
-+ endif(${flag_var} MATCHES "/MD")
-+ endforeach(flag_var)
-+ endif()
-
- list(APPEND REALSENSE_HPP
- src/tm2/tm-context.h
diff --git a/ports/realsense2/fix_rgb_using_avx2.patch b/ports/realsense2/fix_rgb_using_avx2.patch
deleted file mode 100644
index 38ae33a7c..000000000
--- a/ports/realsense2/fix_rgb_using_avx2.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/image.cpp b/src/image.cpp
-index 47cc68d8..04a8afd3 100644
---- a/src/image.cpp
-+++ b/src/image.cpp
-@@ -8,6 +8,7 @@
-
- #ifdef __SSSE3__
- #include <tmmintrin.h> // For SSE3 intrinsic used in unpack_yuy2_sse
-+#include <immintrin.h>
- #endif
-
- #pragma pack(push, 1) // All structs in this file are assumed to be byte-packed
diff --git a/ports/realsense2/portfile.cmake b/ports/realsense2/portfile.cmake
index 8e6b57392..6a02259ba 100644
--- a/ports/realsense2/portfile.cmake
+++ b/ports/realsense2/portfile.cmake
@@ -3,51 +3,38 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO IntelRealSense/librealsense
- REF v2.10.1
- SHA512 fb00a424a5bd7335cc661261e76cf623e27a89af1033692d4cb6ed523af1295359929c235e82253911e61323cb7b82551a9223862174cb0e2363ac944b2db923
+ REF v2.10.4
+ SHA512 35580cd4ab65b85eb7fcebac3be629960993223437e3c44b0bcc2f7572d85231e822a922b2f5e22480fcc1edb9295ab2c5893794d638c2ab6faf49a9eea57603
HEAD_REF development
)
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/build_with_static_crt.patch # https://github.com/IntelRealSense/librealsense/pull/1262
- ${CMAKE_CURRENT_LIST_DIR}/fix_rgb_using_avx2.patch # https://github.com/IntelRealSense/librealsense/pull/1245
-)
-
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_LIBRARY_LINKAGE)
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_CRT_LINKAGE)
-# This option will be deprecated in the later versions.
-# Please see Pull Request #1245. https://github.com/IntelRealSense/librealsense/pull/1245
-set(RGB_USING_AVX2 OFF)
-if("avx2" IN_LIST FEATURES)
- set(RGB_USING_AVX2 ON)
-endif()
-
set(BUILD_EXAMPLES OFF)
set(BUILD_GRAPHICAL_EXAMPLES OFF)
if("tools" IN_LIST FEATURES)
set(BUILD_EXAMPLES ON)
set(BUILD_GRAPHICAL_EXAMPLES ON)
- set(BUILD_TOOLS ON)
endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
+ #Ungrouped Entries
-DENFORCE_METADATA=ON
+ # BUILD
-DBUILD_EXAMPLES=${BUILD_EXAMPLES}
-DBUILD_GRAPHICAL_EXAMPLES=${BUILD_GRAPHICAL_EXAMPLES}
- -DBUILD_CV_EXAMPLES=OFF
- -DBUILD_PCL_EXAMPLES=OFF
- -DBUILD_PYTHON_BINDINGS=OFF
+ -DBUILD_SHARED_LIBS=${BUILD_LIBRARY_LINKAGE}
-DBUILD_UNIT_TESTS=OFF
-DBUILD_WITH_OPENMP=OFF
- -DBUILD_SHARED_LIBS=${BUILD_LIBRARY_LINKAGE}
-DBUILD_WITH_STATIC_CRT=${BUILD_CRT_LINKAGE}
- -DRGB_USING_AVX2=${RGB_USING_AVX2}
OPTIONS_DEBUG
+ # BUILD
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_GRAPHICAL_EXAMPLES=OFF
+ # CMAKE
"-DCMAKE_PDB_OUTPUT_DIRECTORY=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg"
-DCMAKE_DEBUG_POSTFIX="_d"
)
@@ -59,7 +46,7 @@ vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
-if(BUILD_TOOLS)
+if(BUILD_EXAMPLES)
file(GLOB EXEFILES_RELEASE ${CURRENT_PACKAGES_DIR}/bin/*.exe)
file(GLOB EXEFILES_DEBUG ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
file(COPY ${EXEFILES_RELEASE} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/realsense2)
diff --git a/ports/rhash/CONTROL b/ports/rhash/CONTROL
index 16b50c945..14b8768d4 100644
--- a/ports/rhash/CONTROL
+++ b/ports/rhash/CONTROL
@@ -1,3 +1,3 @@
Source: rhash
-Version: 1.3.5-1
+Version: 1.3.6
Description: C library for computing a wide variety of hash sums
diff --git a/ports/rhash/portfile.cmake b/ports/rhash/portfile.cmake
index 749501375..cc1188c38 100644
--- a/ports/rhash/portfile.cmake
+++ b/ports/rhash/portfile.cmake
@@ -6,8 +6,8 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO rhash/RHash
- REF v1.3.5
- SHA512 e8450aab0c16bfb975bf4aeee218740fb4d86d5514e426b70c3edb84e4d63865cd4051939aa95c24a87a78baaedc49e40bb509b2610e89ca3745930808b3ef6c
+ REF v1.3.6
+ SHA512 54f7f238ed1fdc01c29cc1338fa86be90b69beff0df8f20d24ce9cb3c48c7f4668b84a3fe0d4d8b04b54bc8145485d493435edf3219de3a637af0f9c007c85c6
HEAD_REF master)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/librhash)
diff --git a/ports/sciter/CONTROL b/ports/sciter/CONTROL
index b2f19fdf0..5e573c899 100644
--- a/ports/sciter/CONTROL
+++ b/ports/sciter/CONTROL
@@ -1,4 +1,4 @@
Source: sciter
-Version: 4.1.5
+Version: 4.1.6
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 7aeb87eee..7a10297b2 100644
--- a/ports/sciter/portfile.cmake
+++ b/ports/sciter/portfile.cmake
@@ -12,8 +12,8 @@ include(vcpkg_common_functions)
# header-only library
set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled)
-set(SCITER_REVISION 331bf886a39c1a003f61bb0c1a75037ec4c1e9e4)
-set(SCITER_SHA b05b7c694fb75a3308a2684ad78587453d70d41dc0609dfec0a40b465bb8982c79867a63a898a09ed54f6fc516d0b014942824da7a642682b86710ffb23c7366)
+set(SCITER_REVISION 1f6f9afc6bf3c4f60ea510fc75f89634f282d15d)
+set(SCITER_SHA 53be8007c22349e9801c413483d70cad437bc3399686f2c503da9b7aa96bf212e7563b13fff8e62942b0991fa775e87e542b5ff9c3dbc4aff1fd5291200b2c8e)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL x64)
set(SCITER_ARCH 64)
diff --git a/ports/sobjectizer/CONTROL b/ports/sobjectizer/CONTROL
index 7843e5622..839c2ed42 100644
--- a/ports/sobjectizer/CONTROL
+++ b/ports/sobjectizer/CONTROL
@@ -1,3 +1,3 @@
Source: sobjectizer
-Version: 5.5.21
+Version: 5.5.22
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 b03b55b24..ed6b3f844 100644
--- a/ports/sobjectizer/portfile.cmake
+++ b/ports/sobjectizer/portfile.cmake
@@ -1,12 +1,12 @@
include(vcpkg_common_functions)
-set(VERSION 5.5.21)
+set(VERSION 5.5.22)
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.5/so-${VERSION}.zip"
FILENAME "so-${VERSION}.zip"
- SHA512 eaee9e27b751307a540df34ca368f5253e191b3079c1222737d4ccc1800006d35ad8411cec0aec862a7ee00d7cc3c1e4494434d4aef7adb89655e99b5d4caf41
+ SHA512 0f7c109a890fc4271a4f45ff009811d5d7479cec86ce8f6a312979bfd07a55e46069511d7868e1c7bf29e5ff6495d22d71fd3ba2b1253b2fb9299657d7b0384d
)
vcpkg_extract_source_archive(${ARCHIVE})
diff --git a/ports/sqlite3/CMakeLists.txt b/ports/sqlite3/CMakeLists.txt
index 7d6e20dee..b4b105a65 100644
--- a/ports/sqlite3/CMakeLists.txt
+++ b/ports/sqlite3/CMakeLists.txt
@@ -9,7 +9,7 @@ else()
endif()
add_library(sqlite3 sqlite3.c)
-target_compile_definitions(sqlite3 PRIVATE
+target_compile_definitions(sqlite3 PRIVATE
$<$<CONFIG:Debug>:SQLITE_DEBUG>
${API}
-DSQLITE_ENABLE_RTREE
@@ -25,7 +25,11 @@ if(NOT SQLITE3_SKIP_TOOLS)
add_executable(sqlite3-bin shell.c)
set_target_properties(sqlite3-bin PROPERTIES OUTPUT_NAME sqlite3)
target_link_libraries(sqlite3-bin PRIVATE sqlite3)
- install(TARGETS sqlite3-bin sqlite3 RUNTIME DESTINATION tools)
+ install(TARGETS sqlite3-bin sqlite3
+ RUNTIME DESTINATION tools
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ )
endif()
install(TARGETS sqlite3 EXPORT sqlite3Config
diff --git a/ports/sqlite3/CONTROL b/ports/sqlite3/CONTROL
index a5d76d43b..74d70909b 100644
--- a/ports/sqlite3/CONTROL
+++ b/ports/sqlite3/CONTROL
@@ -1,5 +1,5 @@
Source: sqlite3
-Version: 3.23.0
+Version: 3.23.1-1
Description: SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.
Feature: tool
diff --git a/ports/sqlite3/portfile.cmake b/ports/sqlite3/portfile.cmake
index d016660ab..bd7bcc15c 100644
--- a/ports/sqlite3/portfile.cmake
+++ b/ports/sqlite3/portfile.cmake
@@ -1,7 +1,7 @@
include(vcpkg_common_functions)
-set(SQLITE_VERSION 3230000)
-set(SQLITE_HASH bfca2ec16d926c11c9ec052eae41549f1de392582227ca08eb8a01cc36e58ac528c7677fdab253250ba3e0cf6e5cd9d3d0012e5b558be7db91740ac901dae0fe)
+set(SQLITE_VERSION 3230100)
+set(SQLITE_HASH 5784f4dea7f14d7dcf5dd07f0e111c8f0b64ff55c68b32a23fba7a36baf1f095c7a35573fc3b57b84822878218b78f9b0187c4e3f0439d4215471ee5f556eee1)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/sqlite-amalgamation-${SQLITE_VERSION})
vcpkg_download_distfile(ARCHIVE
diff --git a/ports/uwebsockets/CONTROL b/ports/uwebsockets/CONTROL
index 7e636ba9c..3871e8691 100644
--- a/ports/uwebsockets/CONTROL
+++ b/ports/uwebsockets/CONTROL
@@ -1,4 +1,4 @@
Source: uwebsockets
-Version: 0.14.7-1
+Version: 0.14.8-1
Build-Depends: libuv, openssl, zlib
Description: Highly scalable cross-platform WebSocket & HTTP library for C++11 and Node.js
diff --git a/ports/uwebsockets/portfile.cmake b/ports/uwebsockets/portfile.cmake
index a24f49631..f9d6c43a1 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 uWebSockets/uWebSockets
- REF v0.14.7
- SHA512 1049497f7b63770dcfdc44bef562ce43b87fa553e8ec778c8ee2506f406a23f5fdcf67904f0458e38fc0843899b43b92ccef5f36cae40228cfe47b6f38fa0e15
+ REF v0.14.8
+ SHA512 5e78e2f10e95648ad1e7f26612f69da3bbdcdb3f17c99e3bb9775e3eb440a2741f05375dcc043b43f0f2d4de6da54e7534431c5c10c1350103a4379b55cf9081
HEAD_REF master
)
diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh
index 66efb1d62..95ee75af1 100755..100644
--- a/scripts/bootstrap.sh
+++ b/scripts/bootstrap.sh
@@ -30,7 +30,14 @@ vcpkgCheckEqualFileHash()
{
url=$1; filePath=$2; expectedHash=$3
- actualHash=$(shasum -a 512 "$filePath") # sha512sum not available on osx
+ if command -v "sha512sum" >/dev/null 2>&1 ; then
+ actualHash=$(sha512sum "$filePath")
+ else
+ # sha512sum is not available by default on osx
+ # shasum is not available by default on Fedora
+ actualHash=$(shasum -a 512 "$filePath")
+ fi
+
actualHash="${actualHash%% *}" # shasum returns [hash filename], so get the first word
if ! [ "$expectedHash" = "$actualHash" ]; then
@@ -185,4 +192,4 @@ mkdir -p "$buildDir"
(cd "$buildDir" && "$cmakeExe" --build .)
rm -rf "$vcpkgRootDir/vcpkg"
-cp "$buildDir/vcpkg" "$vcpkgRootDir/" \ No newline at end of file
+cp "$buildDir/vcpkg" "$vcpkgRootDir/"
diff --git a/scripts/cmake/vcpkg_from_github.cmake b/scripts/cmake/vcpkg_from_github.cmake
index c6a23cff6..28ada0631 100644
--- a/scripts/cmake/vcpkg_from_github.cmake
+++ b/scripts/cmake/vcpkg_from_github.cmake
@@ -51,7 +51,7 @@
## * [beast](https://github.com/Microsoft/vcpkg/blob/master/ports/beast/portfile.cmake)
function(vcpkg_from_github)
set(oneValueArgs OUT_SOURCE_PATH REPO REF SHA512 HEAD_REF)
- set(multipleValuesArgs)
+ set(multipleValuesArgs PATCHES)
cmake_parse_arguments(_vdud "" "${oneValueArgs}" "${multipleValuesArgs}" ${ARGN})
if(NOT DEFINED _vdud_OUT_SOURCE_PATH)
@@ -73,21 +73,17 @@ function(vcpkg_from_github)
string(REGEX REPLACE ".*/" "" REPO_NAME ${_vdud_REPO})
string(REGEX REPLACE "/.*" "" ORG_NAME ${_vdud_REPO})
- macro(set_SOURCE_PATH BASE BASEREF)
- set(SOURCE_PATH "${BASE}/${REPO_NAME}-${BASEREF}")
- if(EXISTS ${SOURCE_PATH})
- set(${_vdud_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE)
- else()
- # Sometimes GitHub strips a leading 'v' off the REF.
- string(REGEX REPLACE "^v" "" REF ${BASEREF})
- string(REPLACE "/" "-" REF ${REF})
- set(SOURCE_PATH "${BASE}/${REPO_NAME}-${REF}")
- if(EXISTS ${SOURCE_PATH})
- set(${_vdud_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE)
- else()
- message(FATAL_ERROR "Could not determine source path: '${BASE}/${REPO_NAME}-${BASEREF}' does not exist")
- endif()
+ macro(set_TEMP_SOURCE_PATH BASE BASEREF)
+ set(TEMP_SOURCE_PATH "${BASE}/${REPO_NAME}-${BASEREF}")
+ if(NOT EXISTS ${TEMP_SOURCE_PATH})
+ # Sometimes GitHub strips a leading 'v' off the REF.
+ string(REGEX REPLACE "^v" "" REF ${BASEREF})
+ string(REPLACE "/" "-" REF ${REF})
+ set(TEMP_SOURCE_PATH "${BASE}/${REPO_NAME}-${REF}")
+ if(NOT EXISTS ${TEMP_SOURCE_PATH})
+ message(FATAL_ERROR "Could not determine source path: '${BASE}/${REPO_NAME}-${BASEREF}' does not exist")
endif()
+ endif()
endmacro()
if(VCPKG_USE_HEAD_VERSION AND NOT DEFINED _vdud_HEAD_REF)
@@ -108,8 +104,44 @@ function(vcpkg_from_github)
SHA512 "${_vdud_SHA512}"
FILENAME "${ORG_NAME}-${REPO_NAME}-${SANITIZED_REF}.tar.gz"
)
- vcpkg_extract_source_archive_ex(ARCHIVE "${ARCHIVE}")
- set_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src ${SANITIZED_REF})
+
+ # Take the last 10 chars of the REF
+ set(REF_MAX_LENGTH 10)
+ string(LENGTH ${SANITIZED_REF} REF_LENGTH)
+ math(EXPR FROM_REF ${REF_LENGTH}-${REF_MAX_LENGTH})
+ if(FROM_REF LESS 0)
+ set(FROM_REF 0)
+ endif()
+ string(SUBSTRING ${SANITIZED_REF} ${FROM_REF} ${REF_LENGTH} SHORTENED_SANITIZED_REF)
+
+ # Hash the archive hash along with the patches. Take the first 10 chars of the hash
+ set(PATCHSET_HASH "${_vdud_SHA512}")
+ foreach(PATCH IN LISTS _vdud_PATCHES)
+ file(SHA512 ${PATCH} CURRENT_HASH)
+ string(APPEND PATCHSET_HASH ${CURRENT_HASH})
+ endforeach()
+
+ string(SHA512 PATCHSET_HASH ${PATCHSET_HASH})
+ string(SUBSTRING ${PATCHSET_HASH} 0 10 PATCHSET_HASH)
+ set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/${SHORTENED_SANITIZED_REF}-${PATCHSET_HASH}")
+
+ if(NOT EXISTS ${SOURCE_PATH})
+ set(TEMP_DIR "${CURRENT_BUILDTREES_DIR}/src/TEMP")
+ file(REMOVE_RECURSE ${TEMP_DIR})
+ vcpkg_extract_source_archive_ex(ARCHIVE "${ARCHIVE}" WORKING_DIRECTORY ${TEMP_DIR})
+ set_TEMP_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src/TEMP ${SANITIZED_REF})
+
+ vcpkg_apply_patches(
+ SOURCE_PATH ${TEMP_SOURCE_PATH}
+ PATCHES ${_vdud_PATCHES}
+ )
+
+ file(RENAME ${TEMP_SOURCE_PATH} ${SOURCE_PATH})
+ file(REMOVE_RECURSE ${TEMP_DIR})
+ endif()
+
+ set(${_vdud_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE)
+
return()
endif()
@@ -167,5 +199,10 @@ function(vcpkg_from_github)
set(VCPKG_HEAD_VERSION ${_version} PARENT_SCOPE)
endif()
- set_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src/head ${SANITIZED_HEAD_REF})
+ set_TEMP_SOURCE_PATH(${CURRENT_BUILDTREES_DIR}/src/head ${SANITIZED_HEAD_REF})
+ vcpkg_apply_patches(
+ SOURCE_PATH ${TEMP_SOURCE_PATH}
+ PATCHES ${_vdud_PATCHES}
+ )
+ set(${_vdud_OUT_SOURCE_PATH} "${TEMP_SOURCE_PATH}" PARENT_SCOPE)
endfunction()
diff --git a/scripts/vcpkgTools.xml b/scripts/vcpkgTools.xml
index daaf29214..1a2abae81 100644
--- a/scripts/vcpkgTools.xml
+++ b/scripts/vcpkgTools.xml
@@ -22,11 +22,11 @@
<archiveName>cmake-3.10.2-Linux-x86_64.tar.gz</archiveName>
</tool>
<tool name="git" os="windows">
- <version>2.16.2</version>
+ <version>2.17.0</version>
<exeRelativePath>cmd\git.exe</exeRelativePath>
- <url>https://github.com/git-for-windows/git/releases/download/v2.16.2.windows.1/MinGit-2.16.2-32-bit.zip</url>
- <sha512>004e1dc1904f2e2d5c3534d0a56f58bf030b1146f5b263d6d191e60f72cd35455977c588604708125a1e93268ee8f7a5ab32ed6115adc028257b12d5926f350a</sha512>
- <archiveName>MinGit-2.16.2-32-bit.zip</archiveName>
+ <url>https://github.com/git-for-windows/git/releases/download/v2.17.0.windows.1/MinGit-2.17.0-32-bit.zip</url>
+ <sha512>a34575ab1b4f553e62535e38492904b512df4d6a837cf4abf205dbcdd05edf1eef450cc5b15a4f63f901424d5f3cd1f78b6b22437d0d4f8cd9ce4e42e82617b9</sha512>
+ <archiveName>MinGit-2.17.0-32-bit.zip</archiveName>
</tool>
<tool name="vswhere" os="windows">
<version>2.4.1</version>
diff --git a/toolsrc/include/tests.utils.h b/toolsrc/include/tests.utils.h
index 970506663..7f7ec9e88 100644
--- a/toolsrc/include/tests.utils.h
+++ b/toolsrc/include/tests.utils.h
@@ -12,10 +12,42 @@
namespace Microsoft::VisualStudio::CppUnitTestFramework
{
- std::wstring ToString(const vcpkg::Dependencies::InstallPlanType& t);
- std::wstring ToString(const vcpkg::Dependencies::RequestType& t);
- std::wstring ToString(const vcpkg::PackageSpecParseResult& t);
- std::wstring ToString(const vcpkg::PackageSpec& t);
+ template<>
+ std::wstring ToString<vcpkg::Dependencies::InstallPlanType>(const vcpkg::Dependencies::InstallPlanType& t)
+ {
+ switch (t)
+ {
+ case vcpkg::Dependencies::InstallPlanType::ALREADY_INSTALLED: return L"ALREADY_INSTALLED";
+ case vcpkg::Dependencies::InstallPlanType::BUILD_AND_INSTALL: return L"BUILD_AND_INSTALL";
+ case vcpkg::Dependencies::InstallPlanType::EXCLUDED: return L"EXCLUDED";
+ case vcpkg::Dependencies::InstallPlanType::UNKNOWN: return L"UNKNOWN";
+ default: return ToString(static_cast<int>(t));
+ }
+ }
+
+ template<>
+ std::wstring ToString<vcpkg::Dependencies::RequestType>(const vcpkg::Dependencies::RequestType& t)
+ {
+ switch (t)
+ {
+ case vcpkg::Dependencies::RequestType::AUTO_SELECTED: return L"AUTO_SELECTED";
+ case vcpkg::Dependencies::RequestType::USER_REQUESTED: return L"USER_REQUESTED";
+ case vcpkg::Dependencies::RequestType::UNKNOWN: return L"UNKNOWN";
+ default: return ToString(static_cast<int>(t));
+ }
+ }
+
+ template<>
+ std::wstring ToString<vcpkg::PackageSpecParseResult>(const vcpkg::PackageSpecParseResult& t)
+ {
+ return ToString(static_cast<uint32_t>(t));
+ }
+
+ template<>
+ std::wstring ToString<vcpkg::PackageSpec>(const vcpkg::PackageSpec& t)
+ {
+ return ToString(t.to_string());
+ }
}
std::unique_ptr<vcpkg::StatusParagraph> make_status_pgh(const char* name,
diff --git a/toolsrc/include/vcpkg/userconfig.h b/toolsrc/include/vcpkg/userconfig.h
index 63b8e5481..d044f43ef 100644
--- a/toolsrc/include/vcpkg/userconfig.h
+++ b/toolsrc/include/vcpkg/userconfig.h
@@ -17,4 +17,6 @@ namespace vcpkg
void try_write_data(Files::Filesystem& fs) const;
};
+
+ fs::path get_user_dir();
}
diff --git a/toolsrc/src/tests.paragraph.cpp b/toolsrc/src/tests.paragraph.cpp
index dca89bc59..9a56ad9ee 100644
--- a/toolsrc/src/tests.paragraph.cpp
+++ b/toolsrc/src/tests.paragraph.cpp
@@ -5,15 +5,6 @@
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
-namespace Microsoft::VisualStudio::CppUnitTestFramework
-{
- template<>
- inline std::wstring ToString<vcpkg::PackageSpecParseResult>(const vcpkg::PackageSpecParseResult& t)
- {
- return ToString(static_cast<uint32_t>(t));
- }
-}
-
namespace Strings = vcpkg::Strings;
namespace UnitTest1
diff --git a/toolsrc/src/tests.utils.cpp b/toolsrc/src/tests.utils.cpp
index a3d8ffc7d..ac391f559 100644
--- a/toolsrc/src/tests.utils.cpp
+++ b/toolsrc/src/tests.utils.cpp
@@ -5,36 +5,6 @@
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
using namespace vcpkg;
-namespace Microsoft::VisualStudio::CppUnitTestFramework
-{
- std::wstring ToString(const vcpkg::Dependencies::InstallPlanType& t)
- {
- switch (t)
- {
- case Dependencies::InstallPlanType::ALREADY_INSTALLED: return L"ALREADY_INSTALLED";
- case Dependencies::InstallPlanType::BUILD_AND_INSTALL: return L"BUILD_AND_INSTALL";
- case Dependencies::InstallPlanType::EXCLUDED: return L"EXCLUDED";
- case Dependencies::InstallPlanType::UNKNOWN: return L"UNKNOWN";
- default: return ToString(static_cast<int>(t));
- }
- }
-
- std::wstring ToString(const vcpkg::Dependencies::RequestType& t)
- {
- switch (t)
- {
- case Dependencies::RequestType::AUTO_SELECTED: return L"AUTO_SELECTED";
- case Dependencies::RequestType::USER_REQUESTED: return L"USER_REQUESTED";
- case Dependencies::RequestType::UNKNOWN: return L"UNKNOWN";
- default: return ToString(static_cast<int>(t));
- }
- }
-
- std::wstring ToString(const vcpkg::PackageSpecParseResult& t) { return ToString(static_cast<uint32_t>(t)); }
-
- std::wstring ToString(const vcpkg::PackageSpec& t) { return ToString(t.to_string()); }
-}
-
std::unique_ptr<StatusParagraph> make_status_pgh(const char* name,
const char* depends,
const char* default_features,
diff --git a/toolsrc/src/vcpkg/commands.ci.cpp b/toolsrc/src/vcpkg/commands.ci.cpp
index 04b42ea00..e2b93dc7e 100644
--- a/toolsrc/src/vcpkg/commands.ci.cpp
+++ b/toolsrc/src/vcpkg/commands.ci.cpp
@@ -154,8 +154,10 @@ namespace vcpkg::Commands::CI
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths, const Triplet& default_triplet)
{
- Checks::check_exit(
- VCPKG_LINE_INFO, GlobalState::g_binary_caching, "The ci command requires binary caching to be enabled.");
+ if (!GlobalState::g_binary_caching)
+ {
+ System::println(System::Color::warning, "Warning: Running ci without binary caching!");
+ }
const ParsedArguments options = args.parse_arguments(COMMAND_STRUCTURE);
diff --git a/toolsrc/src/vcpkg/commands.integrate.cpp b/toolsrc/src/vcpkg/commands.integrate.cpp
index 2e1750c80..8897ea138 100644
--- a/toolsrc/src/vcpkg/commands.integrate.cpp
+++ b/toolsrc/src/vcpkg/commands.integrate.cpp
@@ -5,6 +5,7 @@
#include <vcpkg/base/system.h>
#include <vcpkg/base/util.h>
#include <vcpkg/commands.h>
+#include <vcpkg/userconfig.h>
namespace vcpkg::Commands::Integrate
{
@@ -156,8 +157,10 @@ namespace vcpkg::Commands::Integrate
}
#endif
+ static fs::path get_path_txt_path() { return get_user_dir() / "vcpkg.path.txt"; }
+
#if defined(_WIN32)
- static void integrate_install(const VcpkgPaths& paths)
+ static void integrate_install_msbuild14(Files::Filesystem& fs, const fs::path& tmp_dir)
{
static const std::array<fs::path, 2> OLD_SYSTEM_TARGET_FILES = {
System::get_program_files_32_bit().value_or_exit(VCPKG_LINE_INFO) /
@@ -168,8 +171,6 @@ namespace vcpkg::Commands::Integrate
System::get_program_files_32_bit().value_or_exit(VCPKG_LINE_INFO) /
"MSBuild/Microsoft.Cpp/v4.0/V140/ImportBefore/Default/vcpkg.system.props";
- auto& fs = paths.get_filesystem();
-
// TODO: This block of code should eventually be removed
for (auto&& old_system_wide_targets_file : OLD_SYSTEM_TARGET_FILES)
{
@@ -188,12 +189,6 @@ namespace vcpkg::Commands::Integrate
}
}
}
-
- std::error_code ec;
- const fs::path tmp_dir = paths.buildsystems / "tmp";
- fs.create_directory(paths.buildsystems, ec);
- fs.create_directory(tmp_dir, ec);
-
bool should_install_system = true;
const Expected<std::string> system_wide_file_contents = fs.read_contents(SYSTEM_WIDE_TARGETS_FILE);
static const std::regex RE(R"###(<!-- version (\d+) -->)###");
@@ -232,24 +227,52 @@ namespace vcpkg::Commands::Integrate
"Error: failed to copy targets file to %s",
SYSTEM_WIDE_TARGETS_FILE.string());
}
+ }
+#endif
- const fs::path appdata_src_path = tmp_dir / "vcpkg.user.targets";
- fs.write_contents(appdata_src_path,
- create_appdata_targets_shortcut(paths.buildsystems_msbuild_targets.string()));
- auto appdata_dst_path = get_appdata_targets_path();
+ static void integrate_install(const VcpkgPaths& paths)
+ {
+ auto& fs = paths.get_filesystem();
+
+#if defined(_WIN32)
+ {
+ std::error_code ec;
+ const fs::path tmp_dir = paths.buildsystems / "tmp";
+ fs.create_directory(paths.buildsystems, ec);
+ fs.create_directory(tmp_dir, ec);
+
+ integrate_install_msbuild14(fs, tmp_dir);
+
+ const fs::path appdata_src_path = tmp_dir / "vcpkg.user.targets";
+ fs.write_contents(appdata_src_path,
+ create_appdata_targets_shortcut(paths.buildsystems_msbuild_targets.string()));
+ auto appdata_dst_path = get_appdata_targets_path();
- const auto rc = fs.copy_file(appdata_src_path, appdata_dst_path, fs::copy_options::overwrite_existing, ec);
+ const auto rc = fs.copy_file(appdata_src_path, appdata_dst_path, fs::copy_options::overwrite_existing, ec);
+
+ if (!rc || ec)
+ {
+ System::println(System::Color::error,
+ "Error: Failed to copy file: %s -> %s",
+ appdata_src_path.string(),
+ appdata_dst_path.string());
+ Checks::exit_fail(VCPKG_LINE_INFO);
+ }
+ }
+#endif
- if (!rc || ec)
+ const auto pathtxt = get_path_txt_path();
+ std::error_code ec;
+ fs.write_contents(pathtxt, paths.root.generic_u8string(), ec);
+ if (ec)
{
- System::println(System::Color::error,
- "Error: Failed to copy file: %s -> %s",
- appdata_src_path.string(),
- appdata_dst_path.string());
+ System::println(System::Color::error, "Error: Failed to write file: %s", pathtxt.string());
Checks::exit_fail(VCPKG_LINE_INFO);
}
+
System::println(System::Color::success, "Applied user-wide integration for this vcpkg root.");
const fs::path cmake_toolchain = paths.buildsystems / "vcpkg.cmake";
+#if defined(_WIN32)
System::println(
R"(
All MSBuild C++ projects can now #include any installed libraries.
@@ -258,17 +281,29 @@ Installing new libraries will make them instantly available.
CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=%s")",
cmake_toolchain.generic_string());
+#else
+ System::println(
+ R"(
+CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=%s")",
+ cmake_toolchain.generic_string());
+#endif
Checks::exit_success(VCPKG_LINE_INFO);
}
static void integrate_remove(Files::Filesystem& fs)
{
+ std::error_code ec;
+ bool was_deleted = false;
+
+#if defined(_WIN32)
const fs::path path = get_appdata_targets_path();
- std::error_code ec;
- const bool was_deleted = fs.remove(path, ec);
+ was_deleted |= fs.remove(path, ec);
+ Checks::check_exit(VCPKG_LINE_INFO, !ec, "Error: Unable to remove user-wide integration: %s", ec.message());
+#endif
+ was_deleted |= fs.remove(get_path_txt_path(), ec);
Checks::check_exit(VCPKG_LINE_INFO, !ec, "Error: Unable to remove user-wide integration: %s", ec.message());
if (was_deleted)
@@ -282,7 +317,6 @@ CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=%s")",
Checks::exit_success(VCPKG_LINE_INFO);
}
-#endif
#if defined(WIN32)
static void integrate_project(const VcpkgPaths& paths)
@@ -343,7 +377,8 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console
" vcpkg integrate powershell Enable PowerShell Tab-Completion\n";
#else
const char* const INTEGRATE_COMMAND_HELPSTRING =
- "No user-wide integration methods are available on this platform\n";
+ " vcpkg integrate install Make installed packages available user-wide.\n"
+ " vcpkg integrate remove Remove user-wide integration\n";
#endif
namespace Subcommand
@@ -373,7 +408,6 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console
{
Util::unused(args.parse_arguments(COMMAND_STRUCTURE));
-#if defined(_WIN32)
if (args.command_arguments[0] == Subcommand::INSTALL)
{
return integrate_install(paths);
@@ -382,6 +416,7 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console
{
return integrate_remove(paths.get_filesystem());
}
+#if defined(_WIN32)
if (args.command_arguments[0] == Subcommand::PROJECT)
{
return integrate_project(paths);
@@ -392,10 +427,8 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console
paths.scripts / "addPoshVcpkgToPowershellProfile.ps1");
Checks::exit_success(VCPKG_LINE_INFO);
}
+#endif
Checks::exit_with_message(VCPKG_LINE_INFO, "Unknown parameter %s for integrate", args.command_arguments[0]);
-#else
- Checks::exit_success(VCPKG_LINE_INFO);
-#endif
}
}
diff --git a/toolsrc/src/vcpkg/userconfig.cpp b/toolsrc/src/vcpkg/userconfig.cpp
index 574a97b64..4945fdaaa 100644
--- a/toolsrc/src/vcpkg/userconfig.cpp
+++ b/toolsrc/src/vcpkg/userconfig.cpp
@@ -29,16 +29,21 @@ namespace
namespace vcpkg
{
- static fs::path get_config_path()
+ fs::path get_user_dir()
{
#if defined(_WIN32)
- return get_localappdata() / "vcpkg" / "config";
+ return get_localappdata() / "vcpkg";
#else
auto maybe_home = System::get_environment_variable("HOME");
- return fs::path(maybe_home.value_or("/var")) / ".vcpkg" / "config";
+ return fs::path(maybe_home.value_or("/var")) / ".vcpkg";
#endif
}
+ static fs::path get_config_path()
+ {
+ return get_user_dir() / "config";
+ }
+
UserConfig UserConfig::try_read_data(const Files::Filesystem& fs)
{
UserConfig ret;