diff options
| author | xoviat <xoviat@users.noreply.github.com> | 2017-12-20 13:24:59 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-12-20 13:24:59 -0600 |
| commit | f1f373b189453f33a944e9db8b3451b1c785e223 (patch) | |
| tree | 8713b7dc28734e4d4ad0ebba76459850955ce004 | |
| parent | 6363688b6d2f3522a4ce48cedb60da31775cd923 (diff) | |
| parent | 6cb6a61aaf5ef2c143f974e9f731778bcd3f5cbe (diff) | |
| download | vcpkg-f1f373b189453f33a944e9db8b3451b1c785e223.tar.gz vcpkg-f1f373b189453f33a944e9db8b3451b1c785e223.zip | |
Merge branch 'master' into fftw
489 files changed, 6318 insertions, 1796 deletions
diff --git a/.gitignore b/.gitignore index 003d607fd..e1954660f 100644 --- a/.gitignore +++ b/.gitignore @@ -274,8 +274,9 @@ __pycache__/ .vscode/ buildtrees/ +build*/ downloads/ -installed/ +installed*/ packages/ scripts/buildsystems/tmp/ *.exe diff --git a/CHANGELOG.md b/CHANGELOG.md index 491e4b9c6..2c07411a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,38 @@ +vcpkg (0.0.100) +-------------- + * Add ports: + - libmspack 0.6 + - scintilla 3.7.6 + - vlpp 0.9.3.1 + * Update ports: + - allegro5 5.2.2.0-1 -> 5.2.3.0 + - benchmark 1.2.0 -> 1.3.0 + - brotli 0.6.0-1 -> 1.0.2 + - chakracore 1.4.3 -> 1.7.4 + - cppunit 1.13.2 -> 1.14.0 + - doctest 1.2.0 -> 1.2.6 + - ecm 5.37.0-1 -> 5.40.0 + - expat 2.2.4-2 -> 2.2.5 + - flint 2.5.2 -> 2.5.2-1 + - folly 2017.10.02.00 -> 2017.11.27.00 + - freerdp 2.0.0-rc0~vcpkg1-1 -> 2.0.0-rc1~vcpkg1 + - libtorrent 1.1.4-1 -> 1.1.5 + - libuv 1.16.1 -> 1.18.0 + - libzip 1.2.0-2 -> 1.3.2 + - log4cplus REL_1_2_1-RC2-1 -> REL_2_0_0-RC2 + - mpfr 3.1.6-1 -> 3.1.6-2 + - nana 1.5.4-1 -> 1.5.5 + - poco 1.7.8-2 -> 1.8.0.1 + - pugixml 1.8.1-2 -> 1.8.1-3 + - sciter 4.0.4 -> 4.0.6 + - speex 1.2.0-1 -> 1.2.0-2 + * `vcpkg` has exceeded 400 libraries! + * `vcpkg` now supports Tab-Completion/Auto-Completion in Powershell. To enable it, simply run `.\vcpkg integrate powershell` and restart Powershell. + * `vcpkg` now requires the English language pack of Visual Studio to be installed. This is needed because several libraries fail to build in non-English languages, so `vcpkg` sets the build environment to English to bypass these issues. + +-- vcpkg team <vcpkg@microsoft.com> MON, 04 Dec 2017 17:00:00 -0800 + + vcpkg (0.0.99) -------------- * Add ports: @@ -28,6 +28,14 @@ Finally, create a New Project (or open an existing one) in Visual Studio 2017 or For CMake projects, simply include our toolchain file. See our [using a package](docs/examples/using-sqlite.md) example for the specifics. +## Tab-Completion / Auto-Completion +`Vcpkg` supports auto-completion of commands, package names, options etc. To enable tab-completion in Powershell, use +``` +.\vcpkg integrate powershell +``` +and restart Powershell. + + ## Examples See the [documentation](docs/index.md) for specific walkthroughs, including [using a package](docs/examples/using-sqlite.md) and [adding a new package](docs/examples/packaging-zlib.md). diff --git a/ports/ace/CONTROL b/ports/ace/CONTROL index 80af89d8a..596d5a7a7 100644 --- a/ports/ace/CONTROL +++ b/ports/ace/CONTROL @@ -1,3 +1,3 @@ Source: ace -Version: 6.4.5 +Version: 6.4.6 Description: The ADAPTIVE Communication Environment diff --git a/ports/ace/portfile.cmake b/ports/ace/portfile.cmake index a601f1205..63239138b 100644 --- a/ports/ace/portfile.cmake +++ b/ports/ace/portfile.cmake @@ -9,9 +9,9 @@ endif() include(vcpkg_common_functions) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/ACE_wrappers/ace) vcpkg_download_distfile(ARCHIVE - URLS "http://download.dre.vanderbilt.edu/previous_versions/ACE-6.4.5.zip" - FILENAME "ACE-6.4.5.zip" - SHA512 cce1681fc35efdefb8b88a49b743ffcaecfe8f146dcf6c78393aed29c8853e77b062bced4a2fb457eba74bf5834511611cc40da2320c6094793cb8c2b6df3d2a + URLS "http://download.dre.vanderbilt.edu/previous_versions/ACE-6.4.6.zip" + FILENAME "ACE-6.4.6.zip" + SHA512 3b1ced19bb42bd753e0a43990f1d8f84dc57f5650c7c972f2e849d4ce3aa1db08673cf14fbc0607d7dbc9b9f95f33f72a5d7f0f11cd993beba528f80eb525e69 ) vcpkg_extract_source_archive(${ARCHIVE}) diff --git a/ports/alac-decoder/CMakeLists.txt b/ports/alac-decoder/CMakeLists.txt new file mode 100644 index 000000000..cafd05b18 --- /dev/null +++ b/ports/alac-decoder/CMakeLists.txt @@ -0,0 +1,50 @@ +cmake_minimum_required (VERSION 3.9) +project (alac_decoder) + +set(HEADERS + decomp.h + demux.h + stream.h + wavwriter.h +) + +set (SRCS + decomp.c + alac.c + demux.c + stream.c + wavwriter.c +) + +if(MSVC) + add_compile_options(/W4 -D_CRT_SECURE_NO_WARNINGS -DTARGET_OS_WIN32) +endif() + +if(BUILD_SHARED_LIBS) + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) +endif() + +include_directories(.) + +add_library(libalac_decoder ${SRCS}) + +add_executable(alac_decoder main.c) +target_link_libraries(alac_decoder libalac_decoder) + +install( + TARGETS libalac_decoder + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +if(NOT DISABLE_INSTALL_TOOLS) + install ( + TARGETS alac_decoder + RUNTIME DESTINATION tools/alac-decoder + ) +endif() + +if(NOT DISABLE_INSTALL_HEADERS) + install(FILES ${HEADERS} DESTINATION include/alac_decoder) +endif() diff --git a/ports/alac-decoder/CONTROL b/ports/alac-decoder/CONTROL new file mode 100644 index 000000000..b2300174b --- /dev/null +++ b/ports/alac-decoder/CONTROL @@ -0,0 +1,3 @@ +Source: alac-decoder +Version: 0.2 +Description: ALAC C implementation of a decoder, written from reverse engineering the file format diff --git a/ports/alac-decoder/decomp.c b/ports/alac-decoder/decomp.c new file mode 100644 index 000000000..a76953325 --- /dev/null +++ b/ports/alac-decoder/decomp.c @@ -0,0 +1,11 @@ +#include "decomp.h" +#include <stdint.h> + +int set_endian() +{ + uint32_t integer = 0x000000aa; + unsigned char *p = (unsigned char*)&integer; + + if (p[0] == 0xaa) return 0; + else return 1; +} diff --git a/ports/alac-decoder/portfile.cmake b/ports/alac-decoder/portfile.cmake new file mode 100644 index 000000000..732ed2631 --- /dev/null +++ b/ports/alac-decoder/portfile.cmake @@ -0,0 +1,30 @@ +include(vcpkg_common_functions) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/alac_decoder) +vcpkg_download_distfile(ARCHIVE + URLS "https://distfiles.macports.org/alac_decoder/alac_decoder-0.2.0.tgz" + FILENAME "alac_decoder-0.2.0.tgz" + SHA512 4b37d4fe37681bfccaa4a27fbaf11eb2a1fba5f14e77d219a6d9814ff44d1168534d05eb19443dd2fd11e6fcdf4da3a22e3f3c79314cb7a6767c152351b13e29 +) +vcpkg_extract_source_archive(${ARCHIVE}) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/decomp.c DESTINATION ${SOURCE_PATH}) + + +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/remove_stdint_headers.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON -DDISABLE_INSTALL_TOOLS=ON +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/alac-decoder) + +file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/alac-decoder RENAME copyright) diff --git a/ports/alac-decoder/remove_stdint_headers.patch b/ports/alac-decoder/remove_stdint_headers.patch new file mode 100644 index 000000000..834b808cc --- /dev/null +++ b/ports/alac-decoder/remove_stdint_headers.patch @@ -0,0 +1,193 @@ +diff --git a/alac.c b/alac.c +index 469000d..c6fe479 100644 +--- a/alac.c ++++ b/alac.c +@@ -33,11 +33,7 @@ + #include <stdio.h> + #include <stdlib.h> + #include <string.h> +-#ifdef _WIN32 +- #include "stdint_win.h" +-#else +- #include <stdint.h> +-#endif ++#include <stdint.h> + + #include "decomp.h" + +@@ -54,7 +50,7 @@ + struct {signed int x:24;} se_struct_24; + #define SignExtend24(val) (se_struct_24.x = val) + +-extern int host_bigendian; ++#define host_bigendian set_endian() + + struct alac_file + { +diff --git a/decomp.h b/decomp.h +index 23dbc52..679a320 100644 +--- a/decomp.h ++++ b/decomp.h +@@ -8,6 +8,7 @@ void decode_frame(alac_file *alac, + unsigned char *inbuffer, + void *outbuffer, int *outputsize); + void alac_set_info(alac_file *alac, char *inputbuffer); ++int set_endian(); + + #endif /* __ALAC__DECOMP_H */ + +diff --git a/demux.c b/demux.c +index ae77a9d..9e858a9 100644 +--- a/demux.c ++++ b/demux.c +@@ -33,11 +33,7 @@ + #include <string.h> + #include <stdio.h> + #include <stdlib.h> +-#ifdef _WIN32 +- #include "stdint_win.h" +-#else +- #include <stdint.h> +-#endif ++#include <stdint.h> + + #include "stream.h" + #include "demux.h" +diff --git a/demux.h b/demux.h +index 8447bf8..8874ba4 100644 +--- a/demux.h ++++ b/demux.h +@@ -1,11 +1,8 @@ + #ifndef DEMUX_H + #define DEMUX_H + +-#ifdef _WIN32 +- #include "stdint_win.h" +-#else +- #include <stdint.h> +-#endif ++ ++#include <stdint.h> + + #include "stream.h" + +diff --git a/main.c b/main.c +index 7449ca1..dd58699 100644 +--- a/main.c ++++ b/main.c +@@ -37,11 +37,7 @@ + #include <stdlib.h> + #include <errno.h> + #include <string.h> +-#ifdef _WIN32 +- #include "stdint_win.h" +-#else +- #include <stdint.h> +-#endif ++#include <stdint.h> + + #include "demux.h" + #include "decomp.h" +@@ -267,19 +263,7 @@ static void setup_environment(int argc, char **argv) + } + } + +-/* this could quite easily be done at compile time, +- * however I don't want to have to bother with all the +- * various possible #define's for endianness, worrying about +- * different compilers etc. and I'm too lazy to use autoconf. +- */ +-void set_endian() +-{ +- uint32_t integer = 0x000000aa; +- unsigned char *p = (unsigned char*)&integer; + +- if (p[0] == 0xaa) host_bigendian = 0; +- else host_bigendian = 1; +-} + + int main(int argc, char **argv) + { +@@ -288,7 +272,7 @@ int main(int argc, char **argv) + + memset(&demux_res, 0, sizeof(demux_res)); + +- set_endian(); ++ host_bigendian = set_endian(); + + setup_environment(argc, argv); + +diff --git a/stream.c b/stream.c +index 565db54..56727a0 100644 +--- a/stream.c ++++ b/stream.c +@@ -33,13 +33,10 @@ + #include <stdio.h> + #include <stdlib.h> + #include <errno.h> +-#ifdef _WIN32 +- #include "stdint_win.h" +-#else +- #include <stdint.h> +-#endif ++#include <stdint.h> + + #include "stream.h" ++#include "decomp.h" + + #define _Swap32(v) do { \ + v = (((v) & 0x000000FF) << 0x18) | \ +@@ -51,7 +48,7 @@ + v = (((v) & 0x00FF) << 0x08) | \ + (((v) & 0xFF00) >> 0x08); } while (0) + +-extern int host_bigendian; ++#define host_bigendian set_endian() + + struct stream_tTAG { + FILE *f; +diff --git a/stream.h b/stream.h +index 18d6aa0..ff6325e 100644 +--- a/stream.h ++++ b/stream.h +@@ -3,11 +3,8 @@ + + /* stream.h */ + +-#ifdef _WIN32 +- #include "stdint_win.h" +-#else +- #include <stdint.h> +-#endif ++#include <stdint.h> ++ + + typedef struct stream_tTAG stream_t; + +diff --git a/wavwriter.c b/wavwriter.c +index fd19502..ce941c7 100644 +--- a/wavwriter.c ++++ b/wavwriter.c +@@ -32,11 +32,8 @@ + + #include <stdio.h> + #include <stdlib.h> +-#ifdef _WIN32 +- #include "stdint_win.h" +-#else +- #include <stdint.h> +-#endif ++#include <stdint.h> ++ + + #ifndef MAKEFOURCC + #define MAKEFOURCC(ch0, ch1, ch2, ch3) ( \ +@@ -56,7 +53,7 @@ + v = (((v) & 0x00FF) << 0x08) | \ + (((v) & 0xFF00) >> 0x08); } while (0) + +-extern int host_bigendian; ++#define host_bigendian set_endian() + + static void write_uint32(FILE *f, uint32_t v, int bigendian) + { diff --git a/ports/allegro5/CONTROL b/ports/allegro5/CONTROL index 8f078909a..6cf78f2a0 100644 --- a/ports/allegro5/CONTROL +++ b/ports/allegro5/CONTROL @@ -1,4 +1,4 @@ Source: allegro5 -Version: 5.2.2.0-1 +Version: 5.2.3.0 Description: Allegro is a cross-platform library mainly aimed at video game and multimedia programming. It handles common, low-level tasks such as creating windows, accepting user input, loading data, drawing images, playing sounds, etc. and generally abstracting away the underlying platform. However, Allegro is not a game engine: you are free to design and structure your program as you like. Build-Depends: opengl, zlib, freetype, libogg, libvorbis, libflac, openal-soft, libpng, bzip2, physfs, libtheora, opus, opusfile diff --git a/ports/allegro5/portfile.cmake b/ports/allegro5/portfile.cmake index 46cb8020d..d22a0ecd9 100644 --- a/ports/allegro5/portfile.cmake +++ b/ports/allegro5/portfile.cmake @@ -14,8 +14,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO liballeg/allegro5 - REF e8b209bc20a60224859eb8a0cae082bd20d32ed1 - SHA512 50b30d4b539bd4a2488d2b33e9fbfc6fdfd340039d9086993a5719bab3cb020ee6fe7f6d3578755a52c8aab9816d25cd74710ce93b0b374a2f97620b6138419d + REF 5.2.3.0 + SHA512 419f036d0265062dbec0e9306b153de5af5375186f7b5b2fe62a80549fc0e2c2a6afff81a6772effa7624fe2e452ed0a2830872ef25cc3b23fea93af99f60ba9 HEAD_REF master ) diff --git a/ports/arb/portfile.cmake b/ports/arb/portfile.cmake index 9b621723b..32bb3a23b 100644 --- a/ports/arb/portfile.cmake +++ b/ports/arb/portfile.cmake @@ -18,6 +18,7 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA ) vcpkg_install_cmake() diff --git a/ports/arrow/CONTROL b/ports/arrow/CONTROL index 78cbf2a18..000b8a6d6 100644 --- a/ports/arrow/CONTROL +++ b/ports/arrow/CONTROL @@ -1,4 +1,4 @@ Source: arrow -Version: 0.6.0 -Build-Depends: boost, flatbuffers, rapidjson, zlib, lz4, brotli, zstd, snappy, gflags +Version: 0.6.0-1 +Build-Depends: boost-system, boost-filesystem, boost-multiprecision, boost-algorithm, flatbuffers, rapidjson, zlib, lz4, brotli, zstd, snappy, gflags Description: Apache Arrow is a columnar in-memory analytics layer designed to accelerate big data. It houses a set of canonical in-memory representations of flat and hierarchical data along with multiple language-bindings for structure manipulation. It also provides IPC and common algorithm implementations. diff --git a/ports/arrow/portfile.cmake b/ports/arrow/portfile.cmake index c70a3cdc3..a462d3e9b 100644 --- a/ports/arrow/portfile.cmake +++ b/ports/arrow/portfile.cmake @@ -12,7 +12,6 @@ vcpkg_from_github( HEAD_REF master ) - set(CPP_SOURCE_PATH "${SOURCE_PATH}/cpp") vcpkg_apply_patches( @@ -27,7 +26,9 @@ string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "static" ARROW_BUILD_STATIC) vcpkg_configure_cmake( SOURCE_PATH ${CPP_SOURCE_PATH} - OPTIONS -DARROW_BUILD_TESTS=off + PREFER_NINJA + OPTIONS + -DARROW_BUILD_TESTS=off -DRAPIDJSON_HOME=${CURRENT_INSTALLED_DIR} -DFLATBUFFERS_HOME=${CURRENT_INSTALLED_DIR} -DARROW_ZLIB_VENDORED=ON diff --git a/ports/assimp/CONTROL b/ports/assimp/CONTROL index f6e6eaaff..b63cca6ed 100644 --- a/ports/assimp/CONTROL +++ b/ports/assimp/CONTROL @@ -1,4 +1,4 @@ Source: assimp -Version: 4.0.1-3 +Version: 4.1.0 Description: The Open Asset import library Build-Depends: zlib diff --git a/ports/assimp/const-compare-worditerator.patch b/ports/assimp/const-compare-worditerator.patch deleted file mode 100644 index 9b892ed82..000000000 --- a/ports/assimp/const-compare-worditerator.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/code/X3DImporter.cpp b/code/X3DImporter.cpp -index 1117735..669f46f 100644 ---- a/code/X3DImporter.cpp -+++ b/code/X3DImporter.cpp -@@ -95,8 +95,8 @@ struct WordIterator: public std::iterator<std::input_iterator_tag, const char*> - end_ = other.end_; - return *this; - } -- bool operator==(WordIterator &other) const { return start_ == other.start_; } -- bool operator!=(WordIterator &other) const { return start_ != other.start_; } -+ bool operator==(const WordIterator &other) const { return start_ == other.start_; } -+ bool operator!=(const WordIterator &other) const { return start_ != other.start_; } - WordIterator &operator++() { - start_ += strcspn(start_, whitespace); - start_ += strspn(start_, whitespace); diff --git a/ports/assimp/portfile.cmake b/ports/assimp/portfile.cmake index 583738e16..618ce160f 100644 --- a/ports/assimp/portfile.cmake +++ b/ports/assimp/portfile.cmake @@ -3,15 +3,14 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO assimp/assimp - REF v4.0.1 - SHA512 260b4c7e738f857d8364c4878ea4e789ca676180821943f6d9bff8f56e5f9377ea29660dca4e130c681a8aa12fc32f155adb1d78ca260ba242e68b8afa6cc1bb + REF v4.1.0 + SHA512 5f1292de873ae16c9921d1d44f2871474d74c0ddfd76cc928a7d9b3e03aa6eca4cc72af0513da20a86d09c55d48646e610fd4a4f2b05364f08ad09cf27cbc67a HEAD_REF master ) vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} PATCHES - "${CMAKE_CURRENT_LIST_DIR}/const-compare-worditerator.patch" "${CMAKE_CURRENT_LIST_DIR}/dont-overwrite-prefix-path.patch" ) @@ -30,7 +29,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/assimp-4.0") +vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/assimp-4.1") vcpkg_copy_pdbs() diff --git a/ports/aws-sdk-cpp/CONTROL b/ports/aws-sdk-cpp/CONTROL index a36263e7a..78ac3dfd7 100644 --- a/ports/aws-sdk-cpp/CONTROL +++ b/ports/aws-sdk-cpp/CONTROL @@ -1,3 +1,3 @@ Source: aws-sdk-cpp -Version: 1.2.4 +Version: 1.3.15 Description: AWS SDK for C++ diff --git a/ports/aws-sdk-cpp/portfile.cmake b/ports/aws-sdk-cpp/portfile.cmake index 4e0e8bdfe..e47417100 100644 --- a/ports/aws-sdk-cpp/portfile.cmake +++ b/ports/aws-sdk-cpp/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO aws/aws-sdk-cpp - REF 1.2.4 - SHA512 dc96e40fe72e4b115607245f536cd13414e33a8f754153fd137f1391af14b9793fc8a07f9f984490e0783e385c2c7b9a421878b63ea793012f53fefe7ec4d368 + REF 1.3.15 + SHA512 844addabf01bdbba2c50f94303f23fd092ac5593c42c782aad5959d5edaadb0bec8a6408a91f4605cef996f0d5a23fd94ca3c194829c65db98291d5fa7150bff HEAD_REF master ) diff --git a/ports/beast/CONTROL b/ports/beast/CONTROL index 2e44e7909..0c889b941 100644 --- a/ports/beast/CONTROL +++ b/ports/beast/CONTROL @@ -1,4 +1,4 @@ Source: beast -Version: v84-1 -Build-Depends: boost +Version: 0 +Build-Depends: boost-beast Description: HTTP/1 and WebSocket, header-only using Boost.Asio and C++11 diff --git a/ports/beast/portfile.cmake b/ports/beast/portfile.cmake index 31d049ea1..065116c27 100644 --- a/ports/beast/portfile.cmake +++ b/ports/beast/portfile.cmake @@ -1,13 +1 @@ -# header only -include(vcpkg_common_functions) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO vinniefalco/Beast - REF 32902fad8b7c57be27b96e00ed6ec82748732133 - SHA512 409bd23e19c4bb157619405713f73b90c5f680bec487ad7b6fc8bcd30db54444a78950ce631c8e267e4397b9128679528fd237d3c53f7e1e55634473a169af5f - HEAD_REF master -) - -file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(INSTALL ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/beast RENAME copyright) +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/ports/benchmark/CONTROL b/ports/benchmark/CONTROL index 03052ce7f..9e6262e1b 100644 --- a/ports/benchmark/CONTROL +++ b/ports/benchmark/CONTROL @@ -1,3 +1,3 @@ Source: benchmark -Version: 1.2.0 +Version: 1.3.0 Description: A library to support the benchmarking of functions, similar to unit-tests. diff --git a/ports/benchmark/portfile.cmake b/ports/benchmark/portfile.cmake index e394157e3..1832174fe 100644 --- a/ports/benchmark/portfile.cmake +++ b/ports/benchmark/portfile.cmake @@ -16,23 +16,11 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/benchmark - REF v1.2.0 - SHA512 859063669fd84e847f04624013f0b2b734d75d90cada247682eaf345b86c88a9bc2320250e128f2361e37f402b3fb56a18c493ec6038973744a005a452d693ba + REF v1.3.0 + SHA512 272775e4dbd0ecc65a2a3a64f24e79682b630929dea3af47349329ac8b796341f1197458a67c9aac0e514857ebe7cbc191d18f6fd2c0aea3242562e69d8a6849 HEAD_REF master ) -vcpkg_download_distfile(PATCH - URLS "https://github.com/efcs/benchmark/commit/536b0b82b8ec12fc7e17e6d243633618f294a739.diff" - FILENAME google-benchmark-1.2.0-536b0b82.patch - SHA512 ed42cc0014741c8039c0fca5b4317b2ed09d06a25c91f49a48be6dce921e39469b002c088794c1ea73dc759166e20cb685b47f809ba28dddd95b5f3263be03cd -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - "${PATCH}" -) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/blaze/CONTROL b/ports/blaze/CONTROL index 3355159f4..c64405980 100644 --- a/ports/blaze/CONTROL +++ b/ports/blaze/CONTROL @@ -1,4 +1,4 @@ Source: blaze -Version: 3.2-2 -Build-Depends: boost, clapack +Version: 3.2-3 +Build-Depends: clapack, boost-exception Description: Blaze is an open-source, high-performance C++ math library for dense and sparse arithmetic. diff --git a/ports/bond/CONTROL b/ports/bond/CONTROL index 6680b6dd3..eea3a85cb 100644 --- a/ports/bond/CONTROL +++ b/ports/bond/CONTROL @@ -1,5 +1,5 @@ Source: bond Maintainer: bond@microsoft.com -Version: 7.0.2 +Version: 7.0.2-1 Description: Bond is a cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services. <https://github.com/Microsoft/bond> -Build-Depends: boost, rapidjson +Build-Depends: rapidjson, boost-config, boost-utility, boost-assign diff --git a/ports/bond/portfile.cmake b/ports/bond/portfile.cmake index 2ad48a94d..b64be214c 100644 --- a/ports/bond/portfile.cmake +++ b/ports/bond/portfile.cmake @@ -37,6 +37,7 @@ vcpkg_apply_patches( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DBOND_LIBRARIES_ONLY=TRUE -DBOND_GBC_PATH=${FETCHED_GBC_PATH} diff --git a/ports/boost-accumulators/CONTROL b/ports/boost-accumulators/CONTROL new file mode 100644 index 000000000..dda6adfc0 --- /dev/null +++ b/ports/boost-accumulators/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-accumulators
+Version: 1.66.0
+Build-Depends: boost-array, boost-assert, boost-circular-buffer, boost-concept-check, boost-config, boost-core, boost-detail, boost-fusion, boost-interval, boost-iterator, boost-mpl, boost-numeric-conversion, boost-odeint, boost-parameter, boost-preprocessor, boost-range, boost-static-assert, boost-throw-exception, boost-tuple, boost-typeof, boost-type-traits, boost-ublas, boost-utility, boost-vcpkg-helpers
+Description: Boost accumulators module
diff --git a/ports/boost-accumulators/portfile.cmake b/ports/boost-accumulators/portfile.cmake new file mode 100644 index 000000000..b55026968 --- /dev/null +++ b/ports/boost-accumulators/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/accumulators
+ REF boost-1.66.0
+ SHA512 8413fb2c8f52ae8ec0253847ae01bd1a99d3746bd24bafb9707c243119055e3fbb7da848048db8493c80b8f1bb149d18cd03d8be22ffd2465165fb644cdfd12e
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-algorithm/CONTROL b/ports/boost-algorithm/CONTROL new file mode 100644 index 000000000..50534ac12 --- /dev/null +++ b/ports/boost-algorithm/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-algorithm
+Version: 1.66.0
+Build-Depends: boost-array, boost-assert, boost-bind, boost-concept-check, boost-config, boost-core, boost-detail, boost-exception, boost-function, boost-iterator, boost-mpl, boost-range, boost-regex, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers
+Description: Boost algorithm module
diff --git a/ports/boost-algorithm/portfile.cmake b/ports/boost-algorithm/portfile.cmake new file mode 100644 index 000000000..2149ba0e0 --- /dev/null +++ b/ports/boost-algorithm/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/algorithm
+ REF boost-1.66.0
+ SHA512 46779a82175b89da21789e332befb89972320652bafcdacf76f456d3d9ff3635a2db0693dd035bd6651262f762f591d026387682f3c0764315e40d5f007e72ee
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-align/CONTROL b/ports/boost-align/CONTROL new file mode 100644 index 000000000..e3009e539 --- /dev/null +++ b/ports/boost-align/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-align
+Version: 1.66.0
+Build-Depends: boost-assert, boost-config, boost-core, boost-static-assert, boost-throw-exception, boost-vcpkg-helpers
+Description: Boost align module
diff --git a/ports/boost-align/portfile.cmake b/ports/boost-align/portfile.cmake new file mode 100644 index 000000000..481b66321 --- /dev/null +++ b/ports/boost-align/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/align
+ REF boost-1.66.0
+ SHA512 3f358344470f797e093fd5db80a6d332e960b7301188e346771e06acc620d97d0e02562eb417eb4627a2200967af4eda74931fc61c8746df16d754f4b578b958
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-any/CONTROL b/ports/boost-any/CONTROL new file mode 100644 index 000000000..c0f854590 --- /dev/null +++ b/ports/boost-any/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-any
+Version: 1.66.0
+Build-Depends: boost-config, boost-core, boost-mpl, boost-static-assert, boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost any module
diff --git a/ports/boost-any/portfile.cmake b/ports/boost-any/portfile.cmake new file mode 100644 index 000000000..76d723999 --- /dev/null +++ b/ports/boost-any/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/any
+ REF boost-1.66.0
+ SHA512 57f24a2532e31e664415642c2e125263964eae6798dfc31eae586a3e4fe516edc1adea882883d34613744ae79acfbc0bed9c8fd823153bafc25d9c3c1ec1e5ef
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-array/CONTROL b/ports/boost-array/CONTROL new file mode 100644 index 000000000..549e3b979 --- /dev/null +++ b/ports/boost-array/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-array
+Version: 1.66.0
+Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-static-assert, boost-throw-exception, boost-vcpkg-helpers
+Description: Boost array module
diff --git a/ports/boost-array/portfile.cmake b/ports/boost-array/portfile.cmake new file mode 100644 index 000000000..8affa0dff --- /dev/null +++ b/ports/boost-array/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/array
+ REF boost-1.66.0
+ SHA512 67ca3644cdea6c2ac1791707e93c517cb1cc5aa593ead675bcfa844a27bcbb61ae4c1c35dc1cbb099e45041275e0ca70c99726a9f70319358057bc448f538425
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-asio/CONTROL b/ports/boost-asio/CONTROL new file mode 100644 index 000000000..3df7042e6 --- /dev/null +++ b/ports/boost-asio/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-asio
+Version: 1.66.0
+Build-Depends: boost-coroutine (windows), boost-date-time, boost-regex, boost-system, boost-vcpkg-helpers
+Description: Boost asio module
diff --git a/ports/boost-asio/portfile.cmake b/ports/boost-asio/portfile.cmake new file mode 100644 index 000000000..4317b12d5 --- /dev/null +++ b/ports/boost-asio/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/asio
+ REF boost-1.66.0
+ SHA512 7d9989bd96b2940183a1aa75e7f7a6cec0ecf630922009d440ba876802411eba80ddc9b22bd4af65d6f12e3414eb130dc27a884c53bceabdfe8bafb9772db01f
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-assert/CONTROL b/ports/boost-assert/CONTROL new file mode 100644 index 000000000..70f7769c3 --- /dev/null +++ b/ports/boost-assert/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-assert
+Version: 1.66.0
+Build-Depends: boost-config, boost-vcpkg-helpers
+Description: Boost assert module
diff --git a/ports/boost-assert/portfile.cmake b/ports/boost-assert/portfile.cmake new file mode 100644 index 000000000..6112c47bf --- /dev/null +++ b/ports/boost-assert/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/assert
+ REF boost-1.66.0
+ SHA512 a00e17793c94d8d9e616bc5e80433fd68e4e4e51abf23956b6a7c977b01300d6a2200e9f6a8d249d7813b57d20fb2e6a844f5d2eb7504add99d748f89c2f39d5
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-assign/CONTROL b/ports/boost-assign/CONTROL new file mode 100644 index 000000000..88deae645 --- /dev/null +++ b/ports/boost-assign/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-assign
+Version: 1.66.0
+Build-Depends: boost-array, boost-config, boost-detail, boost-mpl, boost-preprocessor, boost-ptr-container, boost-range, boost-static-assert, boost-tuple, boost-type-traits, boost-vcpkg-helpers
+Description: Boost assign module
diff --git a/ports/boost-assign/portfile.cmake b/ports/boost-assign/portfile.cmake new file mode 100644 index 000000000..470e22cd9 --- /dev/null +++ b/ports/boost-assign/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/assign
+ REF boost-1.66.0
+ SHA512 501e11279f672a24585a6189438f2310358cc67a8838995abb0f1454f230242fdd8f206ec294cdbb39ebe7e606a8a4ef2a96e0fe236d5e044ab4708eae030264
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-atomic/CONTROL b/ports/boost-atomic/CONTROL new file mode 100644 index 000000000..9c84408eb --- /dev/null +++ b/ports/boost-atomic/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-atomic
+Version: 1.66.0
+Build-Depends: boost-assert, boost-build, boost-config, boost-integer, boost-type-traits, boost-vcpkg-helpers
+Description: Boost atomic module
diff --git a/ports/boost-atomic/portfile.cmake b/ports/boost-atomic/portfile.cmake new file mode 100644 index 000000000..650016d6f --- /dev/null +++ b/ports/boost-atomic/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/atomic
+ REF boost-1.66.0
+ SHA512 2f13902827ea0639ec37e514d87cfc9081bca6f4f6d98e0ad84f19b2042900e03bb3f5c2fb4891864174ae5abb743315af27062d7b10de861e91a7e92df91f98
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-beast/CONTROL b/ports/boost-beast/CONTROL new file mode 100644 index 000000000..13f1d67f6 --- /dev/null +++ b/ports/boost-beast/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-beast
+Version: 1.66.0
+Build-Depends: boost-asio, boost-assert, boost-config, boost-container, boost-core, boost-endian, boost-intrusive, boost-optional, boost-smart-ptr, boost-static-assert, boost-system, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi
+Description: Boost beast module
diff --git a/ports/boost-beast/portfile.cmake b/ports/boost-beast/portfile.cmake new file mode 100644 index 000000000..06312f417 --- /dev/null +++ b/ports/boost-beast/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/beast
+ REF boost-1.66.0
+ SHA512 0559721217469b3862c6653488de245841f351098766d2cbf4d0fd3a2ecdd96460ecaf5591166dc59f7c5a9806edab9101c9939c98b294c3cbd2d738dd07f6c6
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-bimap/CONTROL b/ports/boost-bimap/CONTROL new file mode 100644 index 000000000..7c84d3103 --- /dev/null +++ b/ports/boost-bimap/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-bimap
+Version: 1.66.0
+Build-Depends: boost-concept-check, boost-config, boost-functional, boost-iterator, boost-lambda, boost-mpl, boost-multi-index, boost-preprocessor, boost-property-map, boost-serialization, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost bimap module
diff --git a/ports/boost-bimap/portfile.cmake b/ports/boost-bimap/portfile.cmake new file mode 100644 index 000000000..313cd9075 --- /dev/null +++ b/ports/boost-bimap/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/bimap
+ REF boost-1.66.0
+ SHA512 f0784a2fd2be60b404d8a3bb43fa4685ab75a17a18e9e9fb0a8e8d1df18323ad02ad12720f5cfb310c93a33fd3bdec09d8ac92cbc4ff875f9ff4c3a6263d4f8b
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-bind/CONTROL b/ports/boost-bind/CONTROL new file mode 100644 index 000000000..1c9875b2f --- /dev/null +++ b/ports/boost-bind/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-bind
+Version: 1.66.0
+Build-Depends: boost-config, boost-core, boost-detail, boost-vcpkg-helpers
+Description: Boost bind module
diff --git a/ports/boost-bind/portfile.cmake b/ports/boost-bind/portfile.cmake new file mode 100644 index 000000000..9cc1df5e7 --- /dev/null +++ b/ports/boost-bind/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/bind
+ REF boost-1.66.0
+ SHA512 a3366e1d30b6d69fe1ce9a7daeabb5e32a64dea3c043be44327941e93a19a3bfa78a1a552c189edf7490f743d1e5686555d3caaf6826aeb6c7be4900e9c2368c
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-build/CONTROL b/ports/boost-build/CONTROL new file mode 100644 index 000000000..d034154d3 --- /dev/null +++ b/ports/boost-build/CONTROL @@ -0,0 +1,3 @@ +Source: boost-build
+Version: 1.66.0
+Description: Boost.Build
diff --git a/ports/boost-build/portfile.cmake b/ports/boost-build/portfile.cmake new file mode 100644 index 000000000..dec41e37b --- /dev/null +++ b/ports/boost-build/portfile.cmake @@ -0,0 +1,54 @@ +include(vcpkg_common_functions)
+
+set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
+
+if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" AND NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ return()
+endif()
+
+# This fixes the lib path to use desktop libs instead of uwp -- TODO: improve this with better "host" compilation
+string(REPLACE "\\store\\;" "\\;" LIB "$ENV{LIB}")
+set(ENV{LIB} "${LIB}")
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/build
+ REF boost-1.66.0
+ SHA512 db94eefa0c2fe410cfdf7599102670377a069d52a7c8d4181f6209e3e65860e9d92f86ec5994e402b8a773a47a4ad5c074acf9763eabbe293266af19380e7ca9
+ HEAD_REF master
+)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://raw.githubusercontent.com/boostorg/boost/boost-1.65.1/LICENSE_1_0.txt"
+ FILENAME "boost_LICENSE_1_0.txt"
+ SHA512 d6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8
+)
+
+vcpkg_download_distfile(BOOSTCPP_ARCHIVE
+ URLS "https://raw.githubusercontent.com/boostorg/boost/boost-1.66.0/boostcpp.jam"
+ FILENAME "boost-1.66.0-boostcpp.jam"
+ SHA512 ef2ae1d6a53a7f93654950e2e8e679da6b0359f02baafc03db970801634c1f5d4229633b5b6d74ad96a306e6efe3429d436669dc165b1fa655917e0ec74714e4
+)
+
+file(COPY
+ ${SOURCE_PATH}/
+ DESTINATION ${CURRENT_PACKAGES_DIR}/tools/boost-build
+)
+
+file(READ "${CURRENT_PACKAGES_DIR}/tools/boost-build/src/tools/msvc.jam" _contents)
+string(REPLACE " /ZW /EHsc " "" _contents "${_contents}")
+string(REPLACE "-nologo" "" _contents "${_contents}")
+string(REPLACE "/nologo" "" _contents "${_contents}")
+string(REPLACE "/Zm800" "" _contents "${_contents}")
+string(REPLACE "<define>_WIN32_WINNT=0x0602" "" _contents "${_contents}")
+file(WRITE "${CURRENT_PACKAGES_DIR}/tools/boost-build/src/tools/msvc.jam" "${_contents}")
+
+message(STATUS "Bootstrapping...")
+vcpkg_execute_required_process(
+ COMMAND "${CURRENT_PACKAGES_DIR}/tools/boost-build/bootstrap.bat" msvc
+ WORKING_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/boost-build
+ LOGNAME bootstrap-${TARGET_TRIPLET}
+)
+
+file(INSTALL ${ARCHIVE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/boost-build RENAME copyright)
+file(INSTALL ${BOOSTCPP_ARCHIVE} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/boost-build RENAME boostcpp.jam)
diff --git a/ports/boost-callable-traits/CONTROL b/ports/boost-callable-traits/CONTROL new file mode 100644 index 000000000..dbe301198 --- /dev/null +++ b/ports/boost-callable-traits/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-callable-traits
+Version: 1.66.0
+Build-Depends: boost-vcpkg-helpers
+Description: Boost callable_traits module
diff --git a/ports/boost-callable-traits/portfile.cmake b/ports/boost-callable-traits/portfile.cmake new file mode 100644 index 000000000..4bc138320 --- /dev/null +++ b/ports/boost-callable-traits/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/callable_traits
+ REF boost-1.66.0
+ SHA512 87a0f4de9a8cf2652addca6b3b685cea242bf55e1609409f41360813761ad3078b414761cf34856223fe60f460616e13e7b2e6017afc3d053879c7ec8292b9b0
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-chrono/CONTROL b/ports/boost-chrono/CONTROL new file mode 100644 index 000000000..00ee98871 --- /dev/null +++ b/ports/boost-chrono/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-chrono
+Version: 1.66.0
+Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-integer, boost-move, boost-mpl, boost-predef, boost-ratio, boost-static-assert, boost-system, boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi
+Description: Boost chrono module
diff --git a/ports/boost-chrono/portfile.cmake b/ports/boost-chrono/portfile.cmake new file mode 100644 index 000000000..167414ebf --- /dev/null +++ b/ports/boost-chrono/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/chrono
+ REF boost-1.66.0
+ SHA512 edbc8c16bcdc4b79c47885e720c96781e6737d31c54e2c051596e693390c5a8efca4e16e253db0db5a996c72c1d0fb6482dda7dc58f78fd67edb09ad12f3a25b
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-circular-buffer/CONTROL b/ports/boost-circular-buffer/CONTROL new file mode 100644 index 000000000..56be43c12 --- /dev/null +++ b/ports/boost-circular-buffer/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-circular-buffer
+Version: 1.66.0
+Build-Depends: boost-assert, boost-compatibility, boost-concept-check, boost-config, boost-container, boost-core, boost-detail, boost-iterator, boost-move, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost circular_buffer module
diff --git a/ports/boost-circular-buffer/portfile.cmake b/ports/boost-circular-buffer/portfile.cmake new file mode 100644 index 000000000..ebb8be3d0 --- /dev/null +++ b/ports/boost-circular-buffer/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/circular_buffer
+ REF boost-1.66.0
+ SHA512 78d74fa417da8d19b8344feccff009ed90eb07e36251f2a18dcd58716c230c7faade68faf2b7b98c2fc43fea8186c38e5a81c1d2c981841b59e35b0dc6026943
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-compatibility/CONTROL b/ports/boost-compatibility/CONTROL new file mode 100644 index 000000000..acb31e6f1 --- /dev/null +++ b/ports/boost-compatibility/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-compatibility
+Version: 1.66.0
+Build-Depends: boost-vcpkg-helpers
+Description: Boost compatibility module
diff --git a/ports/boost-compatibility/portfile.cmake b/ports/boost-compatibility/portfile.cmake new file mode 100644 index 000000000..cd9464deb --- /dev/null +++ b/ports/boost-compatibility/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/compatibility
+ REF boost-1.66.0
+ SHA512 3f78455431974ca24fe48a6fce22eb9f374455560f2e9442c921e082e23ceb82b9ac2a443e6c4dbba2d24531dd0752ef854d3548340e3dba42b31aa795885fe3
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-compute/CONTROL b/ports/boost-compute/CONTROL new file mode 100644 index 000000000..3c7b1c17e --- /dev/null +++ b/ports/boost-compute/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-compute
+Version: 1.66.0
+Build-Depends: boost-algorithm, boost-array, boost-assert, boost-chrono, boost-config, boost-core, boost-filesystem (windows), boost-function, boost-function-types, boost-fusion, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-preprocessor, boost-property-tree, boost-proto, boost-range, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tuple, boost-typeof, boost-type-traits, boost-utility, boost-uuid, boost-vcpkg-helpers
+Description: Boost compute module
diff --git a/ports/boost-compute/portfile.cmake b/ports/boost-compute/portfile.cmake new file mode 100644 index 000000000..fd8e2cd39 --- /dev/null +++ b/ports/boost-compute/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/compute
+ REF boost-1.66.0
+ SHA512 c540200a62faf4e4b5895177d9b33f9316d0d5e4052f3bfea7eb33d9faa9446bd5015c55f59c923134c59d635f1078e1e7e50e013636efc65820056bb6bdb704
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-concept-check/CONTROL b/ports/boost-concept-check/CONTROL new file mode 100644 index 000000000..c56fc9fae --- /dev/null +++ b/ports/boost-concept-check/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-concept-check
+Version: 1.66.0
+Build-Depends: boost-config, boost-mpl, boost-vcpkg-helpers
+Description: Boost concept_check module
diff --git a/ports/boost-concept-check/portfile.cmake b/ports/boost-concept-check/portfile.cmake new file mode 100644 index 000000000..0aa690830 --- /dev/null +++ b/ports/boost-concept-check/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/concept_check
+ REF boost-1.66.0
+ SHA512 bec39bf040752414e08f7f6222b8557ea27df0e48c57fc2a1ad680ee15256a37a4e6a8cad1b39bb5f8800bfc7a32c39f89321669d04be9698775e77cd26e2fee
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-config/CONTROL b/ports/boost-config/CONTROL new file mode 100644 index 000000000..ed053950a --- /dev/null +++ b/ports/boost-config/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-config
+Version: 1.66.0
+Build-Depends: boost-vcpkg-helpers
+Description: Boost config module
diff --git a/ports/boost-config/portfile.cmake b/ports/boost-config/portfile.cmake new file mode 100644 index 000000000..7b1a023c1 --- /dev/null +++ b/ports/boost-config/portfile.cmake @@ -0,0 +1,20 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/config
+ REF boost-1.66.0
+ SHA512 7754f48170ceb06fce2961bf7ecf85d7601eccdaf1949fc5730a2bfb4524ff32b703be053059defcfb1c08d21573e8184a38283c59b6091f69e565eade06d9c1
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
+file(APPEND ${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp "\n#ifndef BOOST_ALL_NO_LIB\n#define BOOST_ALL_NO_LIB\n#endif\n")
+file(APPEND ${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp "\n#undef BOOST_ALL_DYN_LINK\n")
+
+if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ file(APPEND ${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp "\n#define BOOST_ALL_DYN_LINK\n")
+endif()
diff --git a/ports/boost-container/CONTROL b/ports/boost-container/CONTROL new file mode 100644 index 000000000..df2cfe44e --- /dev/null +++ b/ports/boost-container/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-container
+Version: 1.66.0
+Build-Depends: boost-assert, boost-build, boost-config, boost-core, boost-functional, boost-integer, boost-intrusive, boost-move, boost-static-assert, boost-type-traits, boost-vcpkg-helpers
+Description: Boost container module
diff --git a/ports/boost-container/portfile.cmake b/ports/boost-container/portfile.cmake new file mode 100644 index 000000000..46aefd96d --- /dev/null +++ b/ports/boost-container/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/container
+ REF boost-1.66.0
+ SHA512 805421c56ace8786803a572e6047f0ab2de74973d7b04d603080b007c6ee7f288364dfe91f6d11be6128e8d5b0d9b2554237a6f77ee3855f3b598c3d5e20f3d1
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-context/CONTROL b/ports/boost-context/CONTROL new file mode 100644 index 000000000..37568a50d --- /dev/null +++ b/ports/boost-context/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-context
+Version: 1.66.0
+Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-integer, boost-pool, boost-predef, boost-smart-ptr, boost-vcpkg-helpers
+Description: Boost context module
diff --git a/ports/boost-context/portfile.cmake b/ports/boost-context/portfile.cmake new file mode 100644 index 000000000..0e5852bb6 --- /dev/null +++ b/ports/boost-context/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/context
+ REF boost-1.66.0
+ SHA512 73efe1ab2c3b589e0ec7a095ab4a62090d8a980efbc81ac915823d1015fec215647a558bf0102fb42dbcdb05e9a4f70bd145bba095f09f1f4aec24eceddef3d4
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-conversion/CONTROL b/ports/boost-conversion/CONTROL new file mode 100644 index 000000000..916585c42 --- /dev/null +++ b/ports/boost-conversion/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-conversion
+Version: 1.66.0
+Build-Depends: boost-vcpkg-helpers
+Description: Boost conversion module
diff --git a/ports/boost-conversion/portfile.cmake b/ports/boost-conversion/portfile.cmake new file mode 100644 index 000000000..25b0a5dfb --- /dev/null +++ b/ports/boost-conversion/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/conversion
+ REF boost-1.66.0
+ SHA512 685308e332cbcf94fa9788d36bbfcbbfe384010761b581df913f259c87add3041fba122fb0bd38ad6b706d64918f88e5b13730a4ab0e8e6f450aed82df4edd6d
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-convert/CONTROL b/ports/boost-convert/CONTROL new file mode 100644 index 000000000..e4219cb68 --- /dev/null +++ b/ports/boost-convert/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-convert
+Version: 1.66.0
+Build-Depends: boost-config, boost-core, boost-function-types, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-parameter, boost-range, boost-spirit, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost convert module
diff --git a/ports/boost-convert/portfile.cmake b/ports/boost-convert/portfile.cmake new file mode 100644 index 000000000..10adca8e9 --- /dev/null +++ b/ports/boost-convert/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/convert
+ REF boost-1.66.0
+ SHA512 5edd73c5f78471a567f03e7772834656295acd6897f4674950a5064053d1c8de019050141d5109cc2bba13a94d2a06e2c7020d09af9eb78174f5bf8dc2ba2220
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-core/CONTROL b/ports/boost-core/CONTROL new file mode 100644 index 000000000..785f2e2fd --- /dev/null +++ b/ports/boost-core/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-core
+Version: 1.66.0
+Build-Depends: boost-assert, boost-config, boost-vcpkg-helpers
+Description: Boost core module
diff --git a/ports/boost-core/portfile.cmake b/ports/boost-core/portfile.cmake new file mode 100644 index 000000000..59cb63c78 --- /dev/null +++ b/ports/boost-core/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/core
+ REF boost-1.66.0
+ SHA512 a8705d00b2f6803f924d73dc47ec9084824e9b80d19e281da632aed60abd2c60cf8b32bca92ea3ef1b8039100a7ac61d761a0eff521e3a182a6cd7a9de8b5710
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-coroutine/CONTROL b/ports/boost-coroutine/CONTROL new file mode 100644 index 000000000..227ffe8ef --- /dev/null +++ b/ports/boost-coroutine/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-coroutine
+Version: 1.66.0
+Build-Depends: boost-assert, boost-build, boost-config, boost-context (windows), boost-detail, boost-exception, boost-integer, boost-move, boost-range, boost-system, boost-thread (windows), boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost coroutine module
diff --git a/ports/boost-coroutine/portfile.cmake b/ports/boost-coroutine/portfile.cmake new file mode 100644 index 000000000..2ba322498 --- /dev/null +++ b/ports/boost-coroutine/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/coroutine
+ REF boost-1.66.0
+ SHA512 f42318076c1547797dd9427c47eb6a6dc5e2407f788d6e8c7e8b6092632238a6e33f1c4d02c25af00bb85f89c82a6f8f2d10911620b5d53cbc0bf931c7fdd160
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-coroutine2/CONTROL b/ports/boost-coroutine2/CONTROL new file mode 100644 index 000000000..fd52e362a --- /dev/null +++ b/ports/boost-coroutine2/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-coroutine2
+Version: 1.66.0
+Build-Depends: boost-assert, boost-config, boost-context (windows), boost-detail, boost-vcpkg-helpers
+Description: Boost coroutine2 module
diff --git a/ports/boost-coroutine2/portfile.cmake b/ports/boost-coroutine2/portfile.cmake new file mode 100644 index 000000000..824403bbf --- /dev/null +++ b/ports/boost-coroutine2/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/coroutine2
+ REF boost-1.66.0
+ SHA512 2ecc05325b7870e1d315e488b9f463f56f9959e6ae98277363176f32d80ba8dbd5d6b706e7cc60c896f53708fb25841ed5ef9f0520dba22c5f1a32ac120559f2
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-crc/CONTROL b/ports/boost-crc/CONTROL new file mode 100644 index 000000000..fdc424db6 --- /dev/null +++ b/ports/boost-crc/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-crc
+Version: 1.66.0
+Build-Depends: boost-compatibility, boost-config, boost-integer, boost-vcpkg-helpers
+Description: Boost crc module
diff --git a/ports/boost-crc/portfile.cmake b/ports/boost-crc/portfile.cmake new file mode 100644 index 000000000..b8d183cd2 --- /dev/null +++ b/ports/boost-crc/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/crc
+ REF boost-1.66.0
+ SHA512 887a1ee59535f150a6166432e8b9fdd124d604363c3609f9958d25ce3f265c42f1d749b52075d4e617acf552f68a56d92d249f562ad6475b53b15ca364e4e5b4
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-date-time/CONTROL b/ports/boost-date-time/CONTROL new file mode 100644 index 000000000..73f8d07ce --- /dev/null +++ b/ports/boost-date-time/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-date-time
+Version: 1.66.0
+Build-Depends: boost-algorithm, boost-assert, boost-build, boost-compatibility, boost-config, boost-detail, boost-integer, boost-io, boost-lexical-cast, boost-math, boost-mpl, boost-range, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tokenizer, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi
+Description: Boost date_time module
diff --git a/ports/boost-date-time/portfile.cmake b/ports/boost-date-time/portfile.cmake new file mode 100644 index 000000000..fad0f01e9 --- /dev/null +++ b/ports/boost-date-time/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/date_time
+ REF boost-1.66.0
+ SHA512 5c8ddf94d1c5a0bc5c216c9cbb4560a2e0aa7b116966a9a9250a517fb4c83f2fb9ad0c37c65f65e8cad2c7f21f621d696e1efd6d2bd557c1bfaa8b9d8c566f7d
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-detail/CONTROL b/ports/boost-detail/CONTROL new file mode 100644 index 000000000..21ae5d726 --- /dev/null +++ b/ports/boost-detail/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-detail
+Version: 1.66.0
+Build-Depends: boost-compatibility, boost-config, boost-vcpkg-helpers
+Description: Boost detail module
diff --git a/ports/boost-detail/portfile.cmake b/ports/boost-detail/portfile.cmake new file mode 100644 index 000000000..072f14361 --- /dev/null +++ b/ports/boost-detail/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/detail
+ REF boost-1.66.0
+ SHA512 9ad69f2d032535207748680e635b5c5cfeb2921f67f6d711d5083fd67686f63476fa04c03e0abf63bc58405b4a38b542686192398930154df716ea9381c7a43f
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-disjoint-sets/CONTROL b/ports/boost-disjoint-sets/CONTROL new file mode 100644 index 000000000..7ab636e2d --- /dev/null +++ b/ports/boost-disjoint-sets/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-disjoint-sets
+Version: 1.66.0
+Build-Depends: boost-graph, boost-vcpkg-helpers
+Description: Boost disjoint_sets module
diff --git a/ports/boost-disjoint-sets/portfile.cmake b/ports/boost-disjoint-sets/portfile.cmake new file mode 100644 index 000000000..1b0c9aba3 --- /dev/null +++ b/ports/boost-disjoint-sets/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/disjoint_sets
+ REF boost-1.66.0
+ SHA512 608239f39a11995ebd930d250a39c92971b6547b853eabe49938f6bbdadfbdb4f2220ccaf98e3516fe817284dc310dfb579f6fd7ae082dda9e7a5f80ce53abe6
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-dll/CONTROL b/ports/boost-dll/CONTROL new file mode 100644 index 000000000..96c9f59dc --- /dev/null +++ b/ports/boost-dll/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-dll
+Version: 1.66.0
+Build-Depends: boost-config, boost-core, boost-filesystem (windows), boost-integer, boost-move, boost-mpl, boost-predef, boost-smart-ptr, boost-spirit, boost-static-assert, boost-system, boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi
+Description: Boost dll module
diff --git a/ports/boost-dll/portfile.cmake b/ports/boost-dll/portfile.cmake new file mode 100644 index 000000000..c387a6d7c --- /dev/null +++ b/ports/boost-dll/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/dll
+ REF boost-1.66.0
+ SHA512 42e4442fbf50f33528e389ca463042c9155df970a7725a6d10213e3a8c311b638006271d1b5691e0ccdeb71652034568b2b5fa299a5b1580ad4433db0371138a
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-dynamic-bitset/CONTROL b/ports/boost-dynamic-bitset/CONTROL new file mode 100644 index 000000000..1170b0099 --- /dev/null +++ b/ports/boost-dynamic-bitset/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-dynamic-bitset
+Version: 1.66.0
+Build-Depends: boost-serialization, boost-vcpkg-helpers
+Description: Boost dynamic_bitset module
diff --git a/ports/boost-dynamic-bitset/portfile.cmake b/ports/boost-dynamic-bitset/portfile.cmake new file mode 100644 index 000000000..63928751a --- /dev/null +++ b/ports/boost-dynamic-bitset/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/dynamic_bitset
+ REF boost-1.66.0
+ SHA512 fa9bc10bbcd7ea907acf11abfd245fa70e4d82e5f7fe5b295b65e404ed19b276c06cd68ccec36a2276e76985a20c2a788c99e8cee095f24c04d0c8c5f5952135
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-endian/CONTROL b/ports/boost-endian/CONTROL new file mode 100644 index 000000000..cfcb7cb52 --- /dev/null +++ b/ports/boost-endian/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-endian
+Version: 1.66.0
+Build-Depends: boost-assert, boost-config, boost-core, boost-integer, boost-predef, boost-static-assert, boost-system, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost endian module
diff --git a/ports/boost-endian/portfile.cmake b/ports/boost-endian/portfile.cmake new file mode 100644 index 000000000..14f19b0ed --- /dev/null +++ b/ports/boost-endian/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/endian
+ REF boost-1.66.0
+ SHA512 5b23ff8f2fd2f59dc56637bef628328e8b99e261ce421809363cdfeb203646667f10b624b114e8e70d1fdfce0d53055dd03376d21ef4b5cba0f51b600091f2f3
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-exception/CONTROL b/ports/boost-exception/CONTROL new file mode 100644 index 000000000..52d316c34 --- /dev/null +++ b/ports/boost-exception/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-exception
+Version: 1.66.0
+Build-Depends: boost-assert, boost-build, boost-config, boost-core, boost-smart-ptr, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost exception module
diff --git a/ports/boost-exception/portfile.cmake b/ports/boost-exception/portfile.cmake new file mode 100644 index 000000000..dd5d6540e --- /dev/null +++ b/ports/boost-exception/portfile.cmake @@ -0,0 +1,18 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/exception
+ REF boost-1.66.0
+ SHA512 ab4bd5df7250847c866e5b6db99930d190c04b2c2a46e49eb62e9ed9467b6f5aa60aa2db87e9fe27145321bf429a23e94a83bb28ea9f574d01b02ea06dd89571
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
+
+set(VCPKG_LIBRARY_LINKAGE static)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
diff --git a/ports/boost-fiber/CONTROL b/ports/boost-fiber/CONTROL new file mode 100644 index 000000000..776d929a3 --- /dev/null +++ b/ports/boost-fiber/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-fiber
+Version: 1.66.0
+Build-Depends: boost-algorithm, boost-assert, boost-build, boost-config, boost-context (windows), boost-core, boost-detail, boost-filesystem (windows), boost-format, boost-intrusive, boost-predef, boost-smart-ptr, boost-vcpkg-helpers
+Description: Boost fiber module
diff --git a/ports/boost-fiber/portfile.cmake b/ports/boost-fiber/portfile.cmake new file mode 100644 index 000000000..0ea0edcc4 --- /dev/null +++ b/ports/boost-fiber/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/fiber
+ REF boost-1.66.0
+ SHA512 ba3980846e6602999a2187fb40c9c17d0bd0a8b7681bcdb2c9695ec5e218b6306c52680b565e176f170a7219aedf86596e356e92612bee87bf1ad8123261ccaf
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-filesystem/CONTROL b/ports/boost-filesystem/CONTROL new file mode 100644 index 000000000..afa6d0e45 --- /dev/null +++ b/ports/boost-filesystem/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-filesystem
+Version: 1.66.0
+Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-functional, boost-integer, boost-io, boost-iterator, boost-range, boost-smart-ptr, boost-static-assert, boost-system, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost filesystem module
diff --git a/ports/boost-filesystem/portfile.cmake b/ports/boost-filesystem/portfile.cmake new file mode 100644 index 000000000..e85cc096a --- /dev/null +++ b/ports/boost-filesystem/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/filesystem
+ REF boost-1.66.0
+ SHA512 16c6c692485e02515fc09da5672cad4eb3c313e3a9ed9854d52ad1ba97a38d7346e4d0cf70baacba8468628bc1348350404151c3ff8984397a819d2cde3e4974
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-flyweight/CONTROL b/ports/boost-flyweight/CONTROL new file mode 100644 index 000000000..fb4378501 --- /dev/null +++ b/ports/boost-flyweight/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-flyweight
+Version: 1.66.0
+Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-functional, boost-interprocess, boost-mpl, boost-multi-index, boost-parameter, boost-preprocessor, boost-serialization, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost flyweight module
diff --git a/ports/boost-flyweight/portfile.cmake b/ports/boost-flyweight/portfile.cmake new file mode 100644 index 000000000..858560aeb --- /dev/null +++ b/ports/boost-flyweight/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/flyweight
+ REF boost-1.66.0
+ SHA512 4c0faaafe0143404d6eabc57ee5089840290c865ab00b7b3c81d4ab37c1603aaec77bc7f592e4566ed20786a14bc6bb9a6623384fdf6886168cac2696224c6df
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-foreach/CONTROL b/ports/boost-foreach/CONTROL new file mode 100644 index 000000000..e2ecd2aae --- /dev/null +++ b/ports/boost-foreach/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-foreach
+Version: 1.66.0
+Build-Depends: boost-config, boost-core, boost-detail, boost-iterator, boost-mpl, boost-range, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost foreach module
diff --git a/ports/boost-foreach/portfile.cmake b/ports/boost-foreach/portfile.cmake new file mode 100644 index 000000000..9801f7053 --- /dev/null +++ b/ports/boost-foreach/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/foreach
+ REF boost-1.66.0
+ SHA512 17ae42db9b9b13841133cb35ccd1b0a2bf6121e72ef53b7f06d8715d0ef2d9c6daee631df1c8eb87013b1415ec4ed7481b3d67aa86122c84bfc560b0815f81c6
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-format/CONTROL b/ports/boost-format/CONTROL new file mode 100644 index 000000000..264544399 --- /dev/null +++ b/ports/boost-format/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-format
+Version: 1.66.0
+Build-Depends: boost-assert, boost-compatibility, boost-config, boost-core, boost-detail, boost-optional, boost-smart-ptr, boost-throw-exception, boost-utility, boost-vcpkg-helpers
+Description: Boost format module
diff --git a/ports/boost-format/portfile.cmake b/ports/boost-format/portfile.cmake new file mode 100644 index 000000000..a6c44bd27 --- /dev/null +++ b/ports/boost-format/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/format
+ REF boost-1.66.0
+ SHA512 f730b56c3c56e85d5f467b7c9b60b29b112990ac29ecfbd6cdcd41ac6c931b71067a88d35ba688c8b80b9f4636a5f6010448f470cd3c0c7cad7c8c1d933c1a67
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-function-types/CONTROL b/ports/boost-function-types/CONTROL new file mode 100644 index 000000000..a091f72c4 --- /dev/null +++ b/ports/boost-function-types/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-function-types
+Version: 1.66.0
+Build-Depends: boost-config, boost-core, boost-detail, boost-mpl, boost-preprocessor, boost-type-traits, boost-vcpkg-helpers
+Description: Boost function_types module
diff --git a/ports/boost-function-types/portfile.cmake b/ports/boost-function-types/portfile.cmake new file mode 100644 index 000000000..1b3190699 --- /dev/null +++ b/ports/boost-function-types/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/function_types
+ REF boost-1.66.0
+ SHA512 ecac32195728a38bb83ee553d25567bca3a4075948fbffdf2f5d6cd7c4df7ca1b90ed32ec2811e6aa7eea264d6a1e63c8fc2fc9a091d081e231aadb513ed1646
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-function/CONTROL b/ports/boost-function/CONTROL new file mode 100644 index 000000000..78e68d4a9 --- /dev/null +++ b/ports/boost-function/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-function
+Version: 1.66.0
+Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-integer, boost-mpl, boost-preprocessor, boost-type-index, boost-typeof, boost-type-traits, boost-vcpkg-helpers
+Description: Boost function module
diff --git a/ports/boost-function/portfile.cmake b/ports/boost-function/portfile.cmake new file mode 100644 index 000000000..c0db0b55f --- /dev/null +++ b/ports/boost-function/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/function
+ REF boost-1.66.0
+ SHA512 7efe61484e99bf4b68bd70415411fe4b22da6c76c7bb2e4b86fc766a98f5bca02d3911c81763893edfabfe6dc3fd4e0b125656a518e4b46449ef2620c1278454
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-functional/CONTROL b/ports/boost-functional/CONTROL new file mode 100644 index 000000000..1c5b17ccd --- /dev/null +++ b/ports/boost-functional/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-functional
+Version: 1.66.0
+Build-Depends: boost-assert, boost-compatibility, boost-config, boost-detail, boost-integer, boost-mpl, boost-preprocessor, boost-static-assert, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost functional module
diff --git a/ports/boost-functional/portfile.cmake b/ports/boost-functional/portfile.cmake new file mode 100644 index 000000000..503d0786f --- /dev/null +++ b/ports/boost-functional/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/functional
+ REF boost-1.66.0
+ SHA512 d909a4d4696ece5ebaff97a743c5f9fec2ce27b72de46a96252a07a021ad689ce73aab1f1828ca2925bac0ef48ccbe99bdd5f6a56186061fdecdb416f72cc98f
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-fusion/CONTROL b/ports/boost-fusion/CONTROL new file mode 100644 index 000000000..29864c681 --- /dev/null +++ b/ports/boost-fusion/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-fusion
+Version: 1.66.0
+Build-Depends: boost-config, boost-core, boost-detail, boost-functional, boost-function-types, boost-mpl, boost-preprocessor, boost-static-assert, boost-tuple, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost fusion module
diff --git a/ports/boost-fusion/portfile.cmake b/ports/boost-fusion/portfile.cmake new file mode 100644 index 000000000..ab3b553dd --- /dev/null +++ b/ports/boost-fusion/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/fusion
+ REF boost-1.66.0
+ SHA512 2c965b3ad18f4b2551af4595de415c3c1354296c1244675a354b74de12106bf10ddea07c7e55e93469f3af0de64cb00e1d353e569af40de506d68b88adeba7d0
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-geometry/CONTROL b/ports/boost-geometry/CONTROL new file mode 100644 index 000000000..009e7e1c1 --- /dev/null +++ b/ports/boost-geometry/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-geometry
+Version: 1.66.0
+Build-Depends: boost-algorithm, boost-array, boost-assert, boost-concept-check, boost-config, boost-container, boost-core, boost-detail, boost-function-types, boost-fusion, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-move, boost-mpl, boost-multiprecision, boost-numeric-conversion, boost-polygon, boost-qvm, boost-range, boost-rational, boost-serialization, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tokenizer, boost-tuple, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers
+Description: Boost geometry module
diff --git a/ports/boost-geometry/portfile.cmake b/ports/boost-geometry/portfile.cmake new file mode 100644 index 000000000..9e30e8fc7 --- /dev/null +++ b/ports/boost-geometry/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/geometry
+ REF boost-1.66.0
+ SHA512 05f983d9258ddc663139a46ecb2f8a14988ad74fcc623af713bc486de2c9241896ca5f6a85d47cd02911f5f1f2f5acc439bb6f45ae9ef13667a30d27d9b5c123
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-gil/CONTROL b/ports/boost-gil/CONTROL new file mode 100644 index 000000000..71bf438b8 --- /dev/null +++ b/ports/boost-gil/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-gil
+Version: 1.66.0
+Build-Depends: boost-bind, boost-concept-check, boost-config, boost-integer, boost-iterator, boost-mpl, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost gil module
diff --git a/ports/boost-gil/portfile.cmake b/ports/boost-gil/portfile.cmake new file mode 100644 index 000000000..8ce5cc5aa --- /dev/null +++ b/ports/boost-gil/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/gil
+ REF boost-1.66.0
+ SHA512 f60c452740e56810ee967aab68b61277af0b467085bb7594dfbdea07e02354f2533983f88867c788862bc30c027720f8aeff2ab8f5a251c1a2b7c686b43064bc
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-graph-parallel/CONTROL b/ports/boost-graph-parallel/CONTROL new file mode 100644 index 000000000..f3a7a6744 --- /dev/null +++ b/ports/boost-graph-parallel/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-graph-parallel
+Version: 1.66.0
+Build-Depends: boost-assert, boost-build, boost-compatibility, boost-config, boost-detail, boost-dynamic-bitset, boost-function, boost-functional, boost-graph, boost-iterator, boost-lexical-cast, boost-math, boost-mpi, boost-mpl, boost-optional, boost-property-map, boost-random, boost-serialization, boost-smart-ptr, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers
+Description: Boost graph_parallel module
diff --git a/ports/boost-graph-parallel/portfile.cmake b/ports/boost-graph-parallel/portfile.cmake new file mode 100644 index 000000000..022831655 --- /dev/null +++ b/ports/boost-graph-parallel/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/graph_parallel
+ REF boost-1.66.0
+ SHA512 0f897d52610827b352c509d9d3400a9424f2e927fe5bce7ba1a39884938ca9ae1c9d362277828d3e77fa727676bfeb993f3d9bc7f11815cc119c0dabbd5a2ed4
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-graph/CONTROL b/ports/boost-graph/CONTROL new file mode 100644 index 000000000..dc81d1a85 --- /dev/null +++ b/ports/boost-graph/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-graph
+Version: 1.66.0
+Build-Depends: boost-algorithm, boost-any, boost-array, boost-assert, boost-bimap, boost-bind, boost-build, boost-compatibility, boost-concept-check, boost-config, boost-conversion, boost-core, boost-detail, boost-foreach, boost-function, boost-functional, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-move, boost-mpl, boost-multi-index, boost-optional, boost-parameter, boost-preprocessor, boost-property-map, boost-property-tree, boost-random, boost-range, boost-regex, boost-serialization, boost-smart-ptr, boost-spirit, boost-static-assert, boost-test (windows), boost-throw-exception, boost-tti, boost-tuple, boost-typeof, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers, boost-xpressive
+Description: Boost graph module
diff --git a/ports/boost-graph/portfile.cmake b/ports/boost-graph/portfile.cmake new file mode 100644 index 000000000..84948ccad --- /dev/null +++ b/ports/boost-graph/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/graph
+ REF boost-1.66.0
+ SHA512 49f0292a4cbb26c4f9ada0e85f717a7848a81812957b891f72e99c9b7a62025bce244a2f7ef56aaf42f44ab11c41a02be4f1f70df41d3605da45becf370ca81b
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-hana/CONTROL b/ports/boost-hana/CONTROL new file mode 100644 index 000000000..9c9524e01 --- /dev/null +++ b/ports/boost-hana/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-hana
+Version: 1.66.0
+Build-Depends: boost-config, boost-core, boost-fusion, boost-mpl, boost-tuple, boost-vcpkg-helpers
+Description: Boost hana module
diff --git a/ports/boost-hana/portfile.cmake b/ports/boost-hana/portfile.cmake new file mode 100644 index 000000000..a46cfb28f --- /dev/null +++ b/ports/boost-hana/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/hana
+ REF boost-1.66.0
+ SHA512 cf105931ad59147edd97aaee29d9af4f069ada58c1c0f49eba7c3f921c5a412c90609853603504207526cf80c728f188ba4ee024fc2b7c8c924f98faf543167a
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-heap/CONTROL b/ports/boost-heap/CONTROL new file mode 100644 index 000000000..588ee634c --- /dev/null +++ b/ports/boost-heap/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-heap
+Version: 1.66.0
+Build-Depends: boost-array, boost-assert, boost-bind, boost-concept-check, boost-integer, boost-intrusive, boost-iterator, boost-mpl, boost-parameter, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
+Description: Boost heap module
diff --git a/ports/boost-heap/portfile.cmake b/ports/boost-heap/portfile.cmake new file mode 100644 index 000000000..636763954 --- /dev/null +++ b/ports/boost-heap/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/heap
+ REF boost-1.66.0
+ SHA512 3c7f14860e6456144f1282024bdf8c99415fe2c9395a01dea9000b26e9587430a73e133e7c72f3d40b5eab9c891e86ea3fa420a84e7d187a349f869f721b4587
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-icl/CONTROL b/ports/boost-icl/CONTROL new file mode 100644 index 000000000..d5d8aba74 --- /dev/null +++ b/ports/boost-icl/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-icl
+Version: 1.66.0
+Build-Depends: boost-assert, boost-concept-check, boost-config, boost-date-time, boost-detail, boost-iterator, boost-move, boost-mpl, boost-rational, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost icl module
diff --git a/ports/boost-icl/portfile.cmake b/ports/boost-icl/portfile.cmake new file mode 100644 index 000000000..e442621fa --- /dev/null +++ b/ports/boost-icl/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/icl
+ REF boost-1.66.0
+ SHA512 3e240adbc815215d58c45978a52cf9e5ee8df1b457634d53f403dfc7785372f1711e407d6b1ccd48f6e4383455a5dc2c5a35923b6ac9ae722b91094902b8a599
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-integer/CONTROL b/ports/boost-integer/CONTROL new file mode 100644 index 000000000..6f6773b8c --- /dev/null +++ b/ports/boost-integer/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-integer
+Version: 1.66.0
+Build-Depends: boost-assert, boost-compatibility, boost-config, boost-core, boost-detail, boost-static-assert, boost-vcpkg-helpers
+Description: Boost integer module
diff --git a/ports/boost-integer/portfile.cmake b/ports/boost-integer/portfile.cmake new file mode 100644 index 000000000..07dc91e20 --- /dev/null +++ b/ports/boost-integer/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/integer
+ REF boost-1.66.0
+ SHA512 ed22f30132300985361c3176b0e308c9ed2d0a2f470c3686898c66f90dfa21912edb92477f82f75b77b3409a21ea317442ab4d21889af45ebb2bc86bf88ce67f
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-interprocess/CONTROL b/ports/boost-interprocess/CONTROL new file mode 100644 index 000000000..75d524e61 --- /dev/null +++ b/ports/boost-interprocess/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-interprocess
+Version: 1.66.0
+Build-Depends: boost-assert, boost-compatibility, boost-config, boost-container, boost-core, boost-date-time, boost-detail, boost-integer, boost-intrusive, boost-move, boost-static-assert, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers
+Description: Boost interprocess module
diff --git a/ports/boost-interprocess/portfile.cmake b/ports/boost-interprocess/portfile.cmake new file mode 100644 index 000000000..6e959ca2d --- /dev/null +++ b/ports/boost-interprocess/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/interprocess
+ REF boost-1.66.0
+ SHA512 e3c7f4fb49d126671354212fdb079c418847061a33589ab92c8cb600b469b98c658533307e1d0322c97568eb2716caccbf43b4b2d8eab520eab4d0f50b4df773
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-interval/CONTROL b/ports/boost-interval/CONTROL new file mode 100644 index 000000000..644558413 --- /dev/null +++ b/ports/boost-interval/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-interval
+Version: 1.66.0
+Build-Depends: boost-compatibility, boost-config, boost-logic (windows), boost-vcpkg-helpers
+Description: Boost interval module
diff --git a/ports/boost-interval/portfile.cmake b/ports/boost-interval/portfile.cmake new file mode 100644 index 000000000..0d0a88b8b --- /dev/null +++ b/ports/boost-interval/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/interval
+ REF boost-1.66.0
+ SHA512 adc8e7cf75de4f07607b2a13f38c4bb442780e7ad2e5a73f831803101f61f3d93d8d26407d68b1f811309e9a1362613fd29b5ff49e013341d421b0e76d6f4a69
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-intrusive/CONTROL b/ports/boost-intrusive/CONTROL new file mode 100644 index 000000000..966c775c3 --- /dev/null +++ b/ports/boost-intrusive/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-intrusive
+Version: 1.66.0
+Build-Depends: boost-assert, boost-config, boost-core, boost-functional, boost-move, boost-static-assert, boost-vcpkg-helpers
+Description: Boost intrusive module
diff --git a/ports/boost-intrusive/portfile.cmake b/ports/boost-intrusive/portfile.cmake new file mode 100644 index 000000000..d562cd074 --- /dev/null +++ b/ports/boost-intrusive/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/intrusive
+ REF boost-1.66.0
+ SHA512 b61e88d38c9ee6cd174380c53fc3422f72824c895b3723c4ac7b3b3e0bd52d52fe40d349db5f8eff3b23413950ae872fa7634514ac072111614875922580c493
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-io/CONTROL b/ports/boost-io/CONTROL new file mode 100644 index 000000000..e146c12a6 --- /dev/null +++ b/ports/boost-io/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-io
+Version: 1.66.0
+Build-Depends: boost-detail, boost-vcpkg-helpers
+Description: Boost io module
diff --git a/ports/boost-io/portfile.cmake b/ports/boost-io/portfile.cmake new file mode 100644 index 000000000..fae7c9191 --- /dev/null +++ b/ports/boost-io/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/io
+ REF boost-1.66.0
+ SHA512 33926210420fa6bd83006e6d2de3bad4c1094c179309402d78aea906cdb301e652b32438472a29b195fac7e007146fbb081c722cc2ebf2c63acb0d0e44f73f20
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-iostreams/CONTROL b/ports/boost-iostreams/CONTROL new file mode 100644 index 000000000..57301cb18 --- /dev/null +++ b/ports/boost-iostreams/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-iostreams
+Version: 1.66.0
+Build-Depends: boost-assert, boost-bind, boost-build, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-iterator, boost-mpl, boost-preprocessor, boost-range, boost-regex, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, bzip2, zlib
+Description: Boost iostreams module
diff --git a/ports/boost-iostreams/portfile.cmake b/ports/boost-iostreams/portfile.cmake new file mode 100644 index 000000000..e49d4a579 --- /dev/null +++ b/ports/boost-iostreams/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/iostreams
+ REF boost-1.66.0
+ SHA512 d2d603013dd952a550850c986fc18ded90a483d9eccd80aec4bb421187f6d8ba8fc2c82926f60d4e4f777c67eab1b8dc3708058147dcdd1ab259aa13cee26fd9
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-iterator/CONTROL b/ports/boost-iterator/CONTROL new file mode 100644 index 000000000..416c85d53 --- /dev/null +++ b/ports/boost-iterator/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-iterator
+Version: 1.66.0
+Build-Depends: boost-assert, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-function-types, boost-fusion, boost-mpl, boost-optional, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost iterator module
diff --git a/ports/boost-iterator/portfile.cmake b/ports/boost-iterator/portfile.cmake new file mode 100644 index 000000000..c20e9e29c --- /dev/null +++ b/ports/boost-iterator/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/iterator
+ REF boost-1.66.0
+ SHA512 33a3ffd242769bf55325516346193db0d5ddb69e9da1f7805c35953e4ec7f090fb60faeea8d19c17e651148ba93d48b4a634533de9b5cb13af2a5e9cd0fd0e15
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-lambda/CONTROL b/ports/boost-lambda/CONTROL new file mode 100644 index 000000000..dd83f0048 --- /dev/null +++ b/ports/boost-lambda/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-lambda
+Version: 1.66.0
+Build-Depends: boost-bind, boost-config, boost-detail, boost-mpl, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost lambda module
diff --git a/ports/boost-lambda/portfile.cmake b/ports/boost-lambda/portfile.cmake new file mode 100644 index 000000000..315bf1ddf --- /dev/null +++ b/ports/boost-lambda/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/lambda
+ REF boost-1.66.0
+ SHA512 2f5fd6c55c686528971c9e021779f39217952b279e5bef46879233fb1c516895a4fcdc6eddf43cd0fb73aa7ee5f868d6f4d51fdc74c9f68515ef6735ff31a349
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-lexical-cast/CONTROL b/ports/boost-lexical-cast/CONTROL new file mode 100644 index 000000000..a7c913996 --- /dev/null +++ b/ports/boost-lexical-cast/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-lexical-cast
+Version: 1.66.0
+Build-Depends: boost-array, boost-assert, boost-compatibility, boost-config, boost-container, boost-core, boost-detail, boost-integer, boost-mpl, boost-numeric-conversion, boost-range, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
+Description: Boost lexical_cast module
diff --git a/ports/boost-lexical-cast/portfile.cmake b/ports/boost-lexical-cast/portfile.cmake new file mode 100644 index 000000000..5187ead72 --- /dev/null +++ b/ports/boost-lexical-cast/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/lexical_cast
+ REF boost-1.66.0
+ SHA512 93afc3a296ca30ebb3f48aaf7752a4da33d3e621b56f0f574e98a21aceb7c402fc7512ac65895c8bf473b6962222d0022a6d2aadad5ce2cdbfdf5318967dc76b
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-local-function/CONTROL b/ports/boost-local-function/CONTROL new file mode 100644 index 000000000..512cb0f7d --- /dev/null +++ b/ports/boost-local-function/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-local-function
+Version: 1.66.0
+Build-Depends: boost-config, boost-mpl, boost-preprocessor, boost-scope-exit, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost local_function module
diff --git a/ports/boost-local-function/portfile.cmake b/ports/boost-local-function/portfile.cmake new file mode 100644 index 000000000..0c59a8db7 --- /dev/null +++ b/ports/boost-local-function/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/local_function
+ REF boost-1.66.0
+ SHA512 3f76fda169f11ceca60c8e1857643d7bf7eea85fdb615635469e28cdc6e02f022d5f698ec53608d6f1068be653ceda40f33f4c832782e347037b924208fc5d20
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-locale/CONTROL b/ports/boost-locale/CONTROL new file mode 100644 index 000000000..884c737b4 --- /dev/null +++ b/ports/boost-locale/CONTROL @@ -0,0 +1,9 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-locale
+Version: 1.66.0
+Build-Depends: boost-assert, boost-build, boost-config, boost-function, boost-integer, boost-iterator, boost-smart-ptr, boost-static-assert, boost-thread (windows), boost-type-traits, boost-unordered, boost-vcpkg-helpers
+Description: Boost locale module
+
+Feature: icu
+Description: ICU backend for Boost.Locale
+Build-Depends: icu
diff --git a/ports/boost-locale/portfile.cmake b/ports/boost-locale/portfile.cmake new file mode 100644 index 000000000..b8126dce5 --- /dev/null +++ b/ports/boost-locale/portfile.cmake @@ -0,0 +1,28 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/locale
+ REF boost-1.66.0
+ SHA512 558c84fe83909b9eb410ed5b846d2393733811e3765e99e41884a7fc7020163437a42584911b4f634706c1a0e79e23bb09bd6a3ffa219c9e524a10ace02728af
+ HEAD_REF master
+)
+
+if("icu" IN_LIST FEATURES)
+ set(BOOST_LOCALE_ICU on)
+else()
+ set(BOOST_LOCALE_ICU off)
+endif()
+
+boost_modular_build(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ boost.locale.iconv=off
+ boost.locale.posix=off
+ /boost/locale//boost_locale
+ boost.locale.icu=${BOOST_LOCALE_ICU}
+)
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-lockfree/CONTROL b/ports/boost-lockfree/CONTROL new file mode 100644 index 000000000..7a6eaef4d --- /dev/null +++ b/ports/boost-lockfree/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-lockfree
+Version: 1.66.0
+Build-Depends: boost-align, boost-array, boost-assert, boost-atomic, boost-config, boost-core, boost-integer, boost-mpl, boost-parameter, boost-predef, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost lockfree module
diff --git a/ports/boost-lockfree/portfile.cmake b/ports/boost-lockfree/portfile.cmake new file mode 100644 index 000000000..0f6cabeb8 --- /dev/null +++ b/ports/boost-lockfree/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/lockfree
+ REF boost-1.66.0
+ SHA512 f4c5c146fd2e457e6ee4090a4492eef7cd204ec594349c239c3f50e348a161b8598d7445ca03daea8720b58f0eb1eb5ec8332b078f8dcd9d8133b0d17796e21e
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-log/CONTROL b/ports/boost-log/CONTROL new file mode 100644 index 000000000..912f771d0 --- /dev/null +++ b/ports/boost-log/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-log
+Version: 1.66.0
+Build-Depends: boost-align, boost-array, boost-asio, boost-assert, boost-atomic, boost-bind, boost-build, boost-compatibility, boost-config, boost-core, boost-date-time, boost-detail, boost-exception, boost-filesystem (windows), boost-function-types, boost-fusion, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-iterator, boost-lexical-cast, boost-locale (windows), boost-math, boost-move, boost-mpl, boost-optional, boost-parameter, boost-phoenix, boost-predef, boost-preprocessor, boost-property-tree, boost-proto, boost-random, boost-range, boost-regex, boost-smart-ptr, boost-spirit, boost-static-assert, boost-system, boost-thread (windows), boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi, boost-xpressive
+Description: Boost log module
diff --git a/ports/boost-log/portfile.cmake b/ports/boost-log/portfile.cmake new file mode 100644 index 000000000..ecc8118d9 --- /dev/null +++ b/ports/boost-log/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/log
+ REF boost-1.66.0
+ SHA512 cb0b7ac7136c1066c6dd10a27873febbf983b9c7b7d141ba5e1076a0984cb83609a3c8d38d13e7641002d460f868c2593fecdfd86d9eb75078f14597ab965fa1
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-logic/CONTROL b/ports/boost-logic/CONTROL new file mode 100644 index 000000000..535a53caa --- /dev/null +++ b/ports/boost-logic/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-logic
+Version: 1.66.0
+Build-Depends: boost-config, boost-core, boost-detail, boost-vcpkg-helpers
+Description: Boost logic module
diff --git a/ports/boost-logic/portfile.cmake b/ports/boost-logic/portfile.cmake new file mode 100644 index 000000000..66df8aca6 --- /dev/null +++ b/ports/boost-logic/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/logic
+ REF boost-1.66.0
+ SHA512 76e8534127da09c7b70e14927dae03696e251e1c9a825f466d6848dfd0ba14e0d4e8b7bd00dfebe4caf9ef10c591e0d50140b1d4c9c638e0b3f7ae7bf353b8af
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-math/CONTROL b/ports/boost-math/CONTROL new file mode 100644 index 000000000..8343ab985 --- /dev/null +++ b/ports/boost-math/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-math
+Version: 1.66.0
+Build-Depends: boost-array, boost-assert, boost-atomic, boost-build, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-fusion, boost-integer, boost-lambda, boost-lexical-cast, boost-mpl, boost-predef, boost-range, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost math module
diff --git a/ports/boost-math/portfile.cmake b/ports/boost-math/portfile.cmake new file mode 100644 index 000000000..f6e4eeccd --- /dev/null +++ b/ports/boost-math/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/math
+ REF boost-1.66.0
+ SHA512 0fbeea0cb3303fe66e42b54d3db81e92d6b05a5dec90bd36e1365db738b33790e9bc6ff56a8ead0a2e2d578606702eb364d023bce0f1f42a454f60d0626e8737
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-metaparse/CONTROL b/ports/boost-metaparse/CONTROL new file mode 100644 index 000000000..7f18a1f45 --- /dev/null +++ b/ports/boost-metaparse/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-metaparse
+Version: 1.66.0
+Build-Depends: boost-config, boost-mpl, boost-predef, boost-preprocessor, boost-static-assert, boost-type-traits, boost-vcpkg-helpers
+Description: Boost metaparse module
diff --git a/ports/boost-metaparse/portfile.cmake b/ports/boost-metaparse/portfile.cmake new file mode 100644 index 000000000..972f5bf52 --- /dev/null +++ b/ports/boost-metaparse/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/metaparse
+ REF boost-1.66.0
+ SHA512 919c0f198b19114fe1ed457fead502cee729b7c14de460b176784e9778b0040a960d916b4c7fbeb3e7c3ec285b7b1a0d90de8d0dfcca5c14c9d810ab17da5717
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-move/CONTROL b/ports/boost-move/CONTROL new file mode 100644 index 000000000..ec9de26e9 --- /dev/null +++ b/ports/boost-move/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-move
+Version: 1.66.0
+Build-Depends: boost-assert, boost-config, boost-detail, boost-integer, boost-static-assert, boost-vcpkg-helpers
+Description: Boost move module
diff --git a/ports/boost-move/portfile.cmake b/ports/boost-move/portfile.cmake new file mode 100644 index 000000000..29f3a3ff7 --- /dev/null +++ b/ports/boost-move/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/move
+ REF boost-1.66.0
+ SHA512 e431ca8c709f6acb205f93e3c1de1a3b46325e183726bd9b862f4fba436af92b3f5a945eddfe04c3fa775fd88311f98eafa9e81f5014f3a0309096f18b837286
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-mp11/CONTROL b/ports/boost-mp11/CONTROL new file mode 100644 index 000000000..70bd30300 --- /dev/null +++ b/ports/boost-mp11/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-mp11
+Version: 1.66.0
+Build-Depends: boost-config, boost-detail, boost-vcpkg-helpers
+Description: Boost mp11 module
diff --git a/ports/boost-mp11/portfile.cmake b/ports/boost-mp11/portfile.cmake new file mode 100644 index 000000000..3e39072a8 --- /dev/null +++ b/ports/boost-mp11/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/mp11
+ REF boost-1.66.0
+ SHA512 40eb7813f7821d584733b5499270b8ef26619502a3eac78b026587477be881a55efbb99769a0818c50413facb12f583b459df121c8d01dc06ceb4ea50a5f7029
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-mpi/CONTROL b/ports/boost-mpi/CONTROL new file mode 100644 index 000000000..807729530 --- /dev/null +++ b/ports/boost-mpi/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-mpi
+Version: 1.66.0
+Build-Depends: boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-function, boost-graph, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-property-map, boost-python (windows), boost-serialization, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost mpi module
diff --git a/ports/boost-mpi/portfile.cmake b/ports/boost-mpi/portfile.cmake new file mode 100644 index 000000000..66c11c29a --- /dev/null +++ b/ports/boost-mpi/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/mpi
+ REF boost-1.66.0
+ SHA512 bd6385274f291c905ba0239f8399058e4bf76a07d5b984a10fe737e895495c92190ef468be48c32247d4bcb3dd844a5b72b9370ebd2a95945aa38be60bdd3465
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-mpl/CONTROL b/ports/boost-mpl/CONTROL new file mode 100644 index 000000000..f082844d6 --- /dev/null +++ b/ports/boost-mpl/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-mpl
+Version: 1.66.0
+Build-Depends: boost-config, boost-core, boost-detail, boost-predef, boost-preprocessor, boost-type-traits, boost-vcpkg-helpers
+Description: Boost mpl module
diff --git a/ports/boost-mpl/portfile.cmake b/ports/boost-mpl/portfile.cmake new file mode 100644 index 000000000..908524fb2 --- /dev/null +++ b/ports/boost-mpl/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/mpl
+ REF boost-1.66.0
+ SHA512 e88fa03fbc0f876f838826c5ccfd3866425fa87fd81b9aeb83e4c0afded189a66b06206230f07d1177bdbc39ea5b15cb050ad6285d7704ea83bb43c7d608cc1b
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-msm/CONTROL b/ports/boost-msm/CONTROL new file mode 100644 index 000000000..f51a7993f --- /dev/null +++ b/ports/boost-msm/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-msm
+Version: 1.66.0
+Build-Depends: boost-any, boost-assert, boost-bind, boost-circular-buffer, boost-config, boost-core, boost-detail, boost-function, boost-fusion, boost-mpl, boost-parameter, boost-phoenix, boost-preprocessor, boost-proto, boost-serialization, boost-tuple, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost msm module
diff --git a/ports/boost-msm/portfile.cmake b/ports/boost-msm/portfile.cmake new file mode 100644 index 000000000..fec66d317 --- /dev/null +++ b/ports/boost-msm/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/msm
+ REF boost-1.66.0
+ SHA512 722360bb58971b52ca2078f908d439544d577fbcba0a99328a000be59772e492c5243192641cc91fe6b3ed95885b209a30f47fd1dd7246889b0552cdc1246b3d
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-multi-array/CONTROL b/ports/boost-multi-array/CONTROL new file mode 100644 index 000000000..68ac4410b --- /dev/null +++ b/ports/boost-multi-array/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-multi-array
+Version: 1.66.0
+Build-Depends: boost-compatibility, boost-config, boost-vcpkg-helpers
+Description: Boost multi_array module
diff --git a/ports/boost-multi-array/portfile.cmake b/ports/boost-multi-array/portfile.cmake new file mode 100644 index 000000000..312c4bfdd --- /dev/null +++ b/ports/boost-multi-array/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/multi_array
+ REF boost-1.66.0
+ SHA512 6240a90a020f1a6dda1be9e5d5d3743d6f5c50cea1a8b8f75151e60314822e8469db7c0d134a1b1ff50af40833017ee087673894e7e8bd6c394d68547ae68d62
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-multi-index/CONTROL b/ports/boost-multi-index/CONTROL new file mode 100644 index 000000000..d6da63dcd --- /dev/null +++ b/ports/boost-multi-index/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-multi-index
+Version: 1.66.0
+Build-Depends: boost-assert, boost-bind, boost-compatibility, boost-config, boost-core, boost-detail, boost-foreach, boost-functional, boost-integer, boost-iterator, boost-move, boost-mpl, boost-preprocessor, boost-serialization, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost multi_index module
diff --git a/ports/boost-multi-index/portfile.cmake b/ports/boost-multi-index/portfile.cmake new file mode 100644 index 000000000..a2b157fa6 --- /dev/null +++ b/ports/boost-multi-index/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/multi_index
+ REF boost-1.66.0
+ SHA512 a96c5f7f6a31236462a06c11320232d5aeb16a4df9ff8af972d03c27fb35d6cf17789d8ea6b6d155b55ea435335e605ec7a049c418c529ed48f99b31a4f34423
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-multiprecision/CONTROL b/ports/boost-multiprecision/CONTROL new file mode 100644 index 000000000..241880570 --- /dev/null +++ b/ports/boost-multiprecision/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-multiprecision
+Version: 1.66.0
+Build-Depends: boost-array, boost-assert, boost-config, boost-detail, boost-functional, boost-integer, boost-lexical-cast, boost-math, boost-mpl, boost-random, boost-rational, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost multiprecision module
diff --git a/ports/boost-multiprecision/portfile.cmake b/ports/boost-multiprecision/portfile.cmake new file mode 100644 index 000000000..9fe2f040a --- /dev/null +++ b/ports/boost-multiprecision/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/multiprecision
+ REF boost-1.66.0
+ SHA512 3ba38ec20855a0f2f363c34e3c958a7e2e93cbb45d1ab995c26a38e06751192ada95e1a28ea0e9106002cef6250b68dcdecf83a8c6b42676c467ec2d7626288e
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-numeric-conversion/CONTROL b/ports/boost-numeric-conversion/CONTROL new file mode 100644 index 000000000..8bc729ec9 --- /dev/null +++ b/ports/boost-numeric-conversion/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-numeric-conversion
+Version: 1.66.0
+Build-Depends: boost-config, boost-core, boost-detail, boost-integer, boost-preprocessor, boost-throw-exception, boost-vcpkg-helpers
+Description: Boost numeric_conversion module
diff --git a/ports/boost-numeric-conversion/portfile.cmake b/ports/boost-numeric-conversion/portfile.cmake new file mode 100644 index 000000000..e90d9dba2 --- /dev/null +++ b/ports/boost-numeric-conversion/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/numeric_conversion
+ REF boost-1.66.0
+ SHA512 3f20e7adf501d69544fe5a4e8b52efa8e7b4327c0c371f1abc22f6aa6035931bcf0597853690b59140378e158462b0ba1d85d2c8ba978c2a5185cac7acefd313
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-odeint/CONTROL b/ports/boost-odeint/CONTROL new file mode 100644 index 000000000..abe138aec --- /dev/null +++ b/ports/boost-odeint/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-odeint
+Version: 1.66.0
+Build-Depends: boost-array, boost-assert, boost-bind, boost-compute, boost-config, boost-core, boost-function, boost-fusion, boost-iterator, boost-math, boost-mpi, boost-mpl, boost-multi-array, boost-preprocessor, boost-range, boost-static-assert, boost-throw-exception, boost-type-traits, boost-units, boost-utility, boost-vcpkg-helpers
+Description: Boost odeint module
diff --git a/ports/boost-odeint/portfile.cmake b/ports/boost-odeint/portfile.cmake new file mode 100644 index 000000000..6ded9f5b2 --- /dev/null +++ b/ports/boost-odeint/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/odeint
+ REF boost-1.66.0
+ SHA512 f4d1a0d689c64bbd3dc93060e0e787aa39940b4ca0baf557ea7cb1c28225af5388d24b1654be04103427ba3b943f83dc34be1c0acedcdc2a9b8ac63acbe6946c
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-optional/CONTROL b/ports/boost-optional/CONTROL new file mode 100644 index 000000000..752708636 --- /dev/null +++ b/ports/boost-optional/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-optional
+Version: 1.66.0
+Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-move, boost-mpl, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost optional module
diff --git a/ports/boost-optional/portfile.cmake b/ports/boost-optional/portfile.cmake new file mode 100644 index 000000000..e3144433b --- /dev/null +++ b/ports/boost-optional/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/optional
+ REF boost-1.66.0
+ SHA512 489e8a10abcd906e2bf12d1019f16c02e64ca32df5611351d6a512ff3fdd742f726820a1b6f9de66de78363f8a6a964d1f06905c91382342b5320effd7991b89
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-parameter/CONTROL b/ports/boost-parameter/CONTROL new file mode 100644 index 000000000..aaee2abfc --- /dev/null +++ b/ports/boost-parameter/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-parameter
+Version: 1.66.0
+Build-Depends: boost-detail, boost-mpl, boost-preprocessor, boost-type-traits, boost-vcpkg-helpers
+Description: Boost parameter module
diff --git a/ports/boost-parameter/portfile.cmake b/ports/boost-parameter/portfile.cmake new file mode 100644 index 000000000..a5d119c15 --- /dev/null +++ b/ports/boost-parameter/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/parameter
+ REF boost-1.66.0
+ SHA512 042be1f9030f4561295a8fcdd252c094d7e17cfd7cc237dfcab6d131c568466fa5ee86a57746d8b254a577251922c7dfa5c1913529743936b8ec90cbb6e7939c
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-phoenix/CONTROL b/ports/boost-phoenix/CONTROL new file mode 100644 index 000000000..ad3236dde --- /dev/null +++ b/ports/boost-phoenix/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-phoenix
+Version: 1.66.0
+Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-detail, boost-function, boost-fusion, boost-mpl, boost-predef, boost-preprocessor, boost-proto, boost-range, boost-smart-ptr, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost phoenix module
diff --git a/ports/boost-phoenix/portfile.cmake b/ports/boost-phoenix/portfile.cmake new file mode 100644 index 000000000..42281eba4 --- /dev/null +++ b/ports/boost-phoenix/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/phoenix
+ REF boost-1.66.0
+ SHA512 dbffb57041607e90dfea2113192e1a8fc73934faefe00a00d50542e102b8659f55b4491cc2066fd181444bd04f2a610d75bb67773c205742d8def3516d9148aa
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-poly-collection/CONTROL b/ports/boost-poly-collection/CONTROL new file mode 100644 index 000000000..66679c5c9 --- /dev/null +++ b/ports/boost-poly-collection/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-poly-collection
+Version: 1.66.0
+Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-iterator, boost-mpl, boost-type-erasure (windows), boost-type-traits, boost-vcpkg-helpers
+Description: Boost poly_collection module
diff --git a/ports/boost-poly-collection/portfile.cmake b/ports/boost-poly-collection/portfile.cmake new file mode 100644 index 000000000..b0fbf602a --- /dev/null +++ b/ports/boost-poly-collection/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/poly_collection
+ REF boost-1.66.0
+ SHA512 110af2363b0ca7f6941ebd45d67edda865b704cbf8e7009349e1487f7c0303e3d2d891576ff7004a74bafd66cf913d91e83166c54a9c34770e58c574e288d688
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-polygon/CONTROL b/ports/boost-polygon/CONTROL new file mode 100644 index 000000000..8c95d707e --- /dev/null +++ b/ports/boost-polygon/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-polygon
+Version: 1.66.0
+Build-Depends: boost-config, boost-integer, boost-mpl, boost-utility, boost-vcpkg-helpers
+Description: Boost polygon module
diff --git a/ports/boost-polygon/portfile.cmake b/ports/boost-polygon/portfile.cmake new file mode 100644 index 000000000..f9390d963 --- /dev/null +++ b/ports/boost-polygon/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/polygon
+ REF boost-1.66.0
+ SHA512 7d8b3b275ab5c010a3c1736e59290b514d44080a7fec9e26b28d39c3df2346ac9f5d762b84c6f55296452bbcdf3a8cff5ac3f2895a99be90c4630efb04229157
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-pool/CONTROL b/ports/boost-pool/CONTROL new file mode 100644 index 000000000..141cc45c3 --- /dev/null +++ b/ports/boost-pool/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-pool
+Version: 1.66.0
+Build-Depends: boost-assert, boost-compatibility, boost-config, boost-detail, boost-integer, boost-thread (windows), boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
+Description: Boost pool module
diff --git a/ports/boost-pool/portfile.cmake b/ports/boost-pool/portfile.cmake new file mode 100644 index 000000000..1f5b5dfc9 --- /dev/null +++ b/ports/boost-pool/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/pool
+ REF boost-1.66.0
+ SHA512 1b54515a075ff2039ff18ac615a3e172cd7e703d7d27970c12f507aaa32cf36ac79b5fc4e808df10e076175036d953fff601c8814ef286b61fcc41ac1a708c3b
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-predef/CONTROL b/ports/boost-predef/CONTROL new file mode 100644 index 000000000..9419ab7b5 --- /dev/null +++ b/ports/boost-predef/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-predef
+Version: 1.66.0
+Build-Depends: boost-vcpkg-helpers
+Description: Boost predef module
diff --git a/ports/boost-predef/portfile.cmake b/ports/boost-predef/portfile.cmake new file mode 100644 index 000000000..ff0e9a9f1 --- /dev/null +++ b/ports/boost-predef/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/predef
+ REF boost-1.66.0
+ SHA512 24f9ddb4ff5f16ae6a8764e940aa85f703c924e550423d7ff58c0e6b97568ecc78b6e97cbcc4ea0489ff2272501130db33e80bf86f071f1bad1d4b0f8c8665ae
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-preprocessor/CONTROL b/ports/boost-preprocessor/CONTROL new file mode 100644 index 000000000..6cc22c054 --- /dev/null +++ b/ports/boost-preprocessor/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-preprocessor
+Version: 1.66.0
+Build-Depends: boost-vcpkg-helpers
+Description: Boost preprocessor module
diff --git a/ports/boost-preprocessor/portfile.cmake b/ports/boost-preprocessor/portfile.cmake new file mode 100644 index 000000000..4b85735b4 --- /dev/null +++ b/ports/boost-preprocessor/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/preprocessor
+ REF boost-1.66.0
+ SHA512 233c46132d69499d96d8cf47fd41e7b80a558b43ace57a654be9bf4aad8c46907bf2fcc0e5698c0df4c8006bcd1e51a72b69c9269e128f360477481ff8cb2451
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-process/CONTROL b/ports/boost-process/CONTROL new file mode 100644 index 000000000..28d9c027d --- /dev/null +++ b/ports/boost-process/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-process
+Version: 1.66.0
+Build-Depends: boost-algorithm, boost-asio, boost-config, boost-core, boost-filesystem (windows), boost-fusion, boost-iterator, boost-move, boost-optional, boost-system, boost-tokenizer, boost-type-index, boost-vcpkg-helpers, boost-winapi
+Description: Boost process module
diff --git a/ports/boost-process/portfile.cmake b/ports/boost-process/portfile.cmake new file mode 100644 index 000000000..444196c4e --- /dev/null +++ b/ports/boost-process/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/process
+ REF boost-1.66.0
+ SHA512 4e9b4709c9c46eade2b2ac572b323928cbb793168b3a6ae78387ce7f224daa6a8358c8902547066f5ab2ab34705cb2b1a854cc33144e5459ce95acee96be1d6e
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-program-options/CONTROL b/ports/boost-program-options/CONTROL new file mode 100644 index 000000000..3a1ff727e --- /dev/null +++ b/ports/boost-program-options/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-program-options
+Version: 1.66.0
+Build-Depends: boost-any, boost-bind, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-function, boost-iterator, boost-lexical-cast, boost-math, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tokenizer, boost-type-traits, boost-vcpkg-helpers
+Description: Boost program_options module
diff --git a/ports/boost-program-options/portfile.cmake b/ports/boost-program-options/portfile.cmake new file mode 100644 index 000000000..61740c6cb --- /dev/null +++ b/ports/boost-program-options/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/program_options
+ REF boost-1.66.0
+ SHA512 8c196b4c784def8cedb9c591e364e1759d1c90ff41a536c4c2f0dcc4cae58fb82ab3b6640438b6e98988eba7f6517e2baa5ce67738e9aad7db5924b71a7937fe
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-property-map/CONTROL b/ports/boost-property-map/CONTROL new file mode 100644 index 000000000..2b88e8c12 --- /dev/null +++ b/ports/boost-property-map/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-property-map
+Version: 1.66.0
+Build-Depends: boost-any, boost-assert, boost-bind, boost-concept-check, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-multi-index, boost-optional, boost-serialization, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost property_map module
diff --git a/ports/boost-property-map/portfile.cmake b/ports/boost-property-map/portfile.cmake new file mode 100644 index 000000000..b5855bd8b --- /dev/null +++ b/ports/boost-property-map/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/property_map
+ REF boost-1.66.0
+ SHA512 3a935f14bf87a8c469b39a9fc4457f11d932caede6558d49868073ad35113a6285c48fed4fe3f2e6c8d743f1cf28ac0e8c4bb83b230a55035a89a60e24d43441
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-property-tree/CONTROL b/ports/boost-property-tree/CONTROL new file mode 100644 index 000000000..c1f329ea3 --- /dev/null +++ b/ports/boost-property-tree/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-property-tree
+Version: 1.66.0
+Build-Depends: boost-any, boost-assert, boost-bind, boost-compatibility, boost-config, boost-core, boost-format, boost-iterator, boost-mpl, boost-multi-index, boost-optional, boost-range, boost-serialization, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost property_tree module
diff --git a/ports/boost-property-tree/portfile.cmake b/ports/boost-property-tree/portfile.cmake new file mode 100644 index 000000000..fd98c349b --- /dev/null +++ b/ports/boost-property-tree/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/property_tree
+ REF boost-1.66.0
+ SHA512 257f3ae750d71c82c0585766e1a35ac90dfced98fdccde8fe5fc504f26e42e7c6629c83fa6cae098271f7cf0cbe669f00246248b548740b303e32c63e79b0492
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-proto/CONTROL b/ports/boost-proto/CONTROL new file mode 100644 index 000000000..3fc404fa4 --- /dev/null +++ b/ports/boost-proto/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-proto
+Version: 1.66.0
+Build-Depends: boost-config, boost-core, boost-detail, boost-fusion, boost-mpl, boost-preprocessor, boost-range, boost-static-assert, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost proto module
diff --git a/ports/boost-proto/portfile.cmake b/ports/boost-proto/portfile.cmake new file mode 100644 index 000000000..50051cec1 --- /dev/null +++ b/ports/boost-proto/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/proto
+ REF boost-1.66.0
+ SHA512 bf15dc60d07be6e0198c3afd9ca232561e7e919957a0c28b8558bc6bea25e9c3b64af7efa573daeda657e8f6657dc3c11570776261dc29cc4e50356a5b67333a
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-ptr-container/CONTROL b/ports/boost-ptr-container/CONTROL new file mode 100644 index 000000000..d55c82ae0 --- /dev/null +++ b/ports/boost-ptr-container/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-ptr-container
+Version: 1.66.0
+Build-Depends: boost-array, boost-assert, boost-circular-buffer, boost-config, boost-core, boost-iterator, boost-mpl, boost-range, boost-serialization, boost-smart-ptr, boost-static-assert, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers
+Description: Boost ptr_container module
diff --git a/ports/boost-ptr-container/portfile.cmake b/ports/boost-ptr-container/portfile.cmake new file mode 100644 index 000000000..34a7e4cb4 --- /dev/null +++ b/ports/boost-ptr-container/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/ptr_container
+ REF boost-1.66.0
+ SHA512 4a90951b6467a4bc97ef9426b1a3d29178084c3033664ef1717926592e515d446b4a8f0c42d1bb640d7a82d7219514f5370f16744bbd8bfbc922b2f5b2c85180
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-python/CONTROL b/ports/boost-python/CONTROL new file mode 100644 index 000000000..645cf8b13 --- /dev/null +++ b/ports/boost-python/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-python
+Version: 1.66.0
+Build-Depends: boost-bind, boost-config, boost-core, boost-detail, boost-graph, boost-integer, boost-iterator, boost-mpl, boost-preprocessor, boost-property-map, boost-smart-ptr, boost-static-assert, boost-tuple, boost-utility, boost-vcpkg-helpers, python3
+Description: Boost python module
diff --git a/ports/boost-python/portfile.cmake b/ports/boost-python/portfile.cmake new file mode 100644 index 000000000..beb16ad8f --- /dev/null +++ b/ports/boost-python/portfile.cmake @@ -0,0 +1,19 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/python
+ REF boost-1.66.0
+ SHA512 3a16f16c19bf8a97c10db5c4a39385646a49ed794e9f7a0030181c0fb163671306ca92714aeea6440f60d043736ea4c15d1256fb418f18aea164c2d09420774f
+ HEAD_REF master
+)
+
+# Find Python. Can't use find_package here, but we already know where everything is
+file(GLOB PYTHON_INCLUDE_PATH "${CURRENT_INSTALLED_DIR}/include/python[0-9.]*")
+set(PYTHONLIBS_RELEASE "${CURRENT_INSTALLED_DIR}/lib")
+set(PYTHONLIBS_DEBUG "${CURRENT_INSTALLED_DIR}/debug/lib")
+string(REGEX REPLACE ".*python([0-9\.]+)$" "\\1" PYTHON_VERSION "${PYTHON_INCLUDE_PATH}")
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-qvm/CONTROL b/ports/boost-qvm/CONTROL new file mode 100644 index 000000000..a7521d4ab --- /dev/null +++ b/ports/boost-qvm/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-qvm
+Version: 1.66.0
+Build-Depends: boost-assert, boost-exception, boost-static-assert, boost-throw-exception, boost-utility, boost-vcpkg-helpers
+Description: Boost qvm module
diff --git a/ports/boost-qvm/portfile.cmake b/ports/boost-qvm/portfile.cmake new file mode 100644 index 000000000..1ef911b15 --- /dev/null +++ b/ports/boost-qvm/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/qvm
+ REF boost-1.66.0
+ SHA512 b7c1db0f7db316e6f2094185497deaf58fe45f9a11517c76a66bec65d9ee9f32167bccb36ad8388c0f06649067a89e5b1c3894af0a4b4b327ee51ae29dd86c50
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-random/CONTROL b/ports/boost-random/CONTROL new file mode 100644 index 000000000..fee15c891 --- /dev/null +++ b/ports/boost-random/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-random
+Version: 1.66.0
+Build-Depends: boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-integer, boost-math, boost-mpl, boost-range, boost-static-assert, boost-system, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost random module
diff --git a/ports/boost-random/portfile.cmake b/ports/boost-random/portfile.cmake new file mode 100644 index 000000000..f95153971 --- /dev/null +++ b/ports/boost-random/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/random
+ REF boost-1.66.0
+ SHA512 ca62697080e059fa8b01e364b07fdb99bb7db078c2a5683e0f67d89705530276331a5f8706307b14b49f2621d1c158e0d1b9188aee54ab8852bab7800ca18b3e
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-range/CONTROL b/ports/boost-range/CONTROL new file mode 100644 index 000000000..2cf963bef --- /dev/null +++ b/ports/boost-range/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-range
+Version: 1.66.0
+Build-Depends: boost-array, boost-assert, boost-concept-check, boost-config, boost-core, boost-detail, boost-functional, boost-integer, boost-iterator, boost-mpl, boost-optional, boost-preprocessor, boost-regex, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost range module
diff --git a/ports/boost-range/portfile.cmake b/ports/boost-range/portfile.cmake new file mode 100644 index 000000000..8769e1cdd --- /dev/null +++ b/ports/boost-range/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/range
+ REF boost-1.66.0
+ SHA512 98b050cb3e4249c72222d0efac4edbf4cb62ff303dd1634e7e76fea7dff19c62eceb837e8cffbd088fb28b16b98e923f62c7220d5ff424f3c82383a78df97785
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-ratio/CONTROL b/ports/boost-ratio/CONTROL new file mode 100644 index 000000000..801212d8c --- /dev/null +++ b/ports/boost-ratio/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-ratio
+Version: 1.66.0
+Build-Depends: boost-config, boost-core, boost-integer, boost-mpl, boost-rational, boost-static-assert, boost-type-traits, boost-vcpkg-helpers
+Description: Boost ratio module
diff --git a/ports/boost-ratio/portfile.cmake b/ports/boost-ratio/portfile.cmake new file mode 100644 index 000000000..cb781cc5e --- /dev/null +++ b/ports/boost-ratio/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/ratio
+ REF boost-1.66.0
+ SHA512 caa2ed8f01d6f99aaa8ab8bc52c0f9a8cf2551585760abf6e1d0f129c77c58f3b68569a0db6917c0a40a38faf63935ae23e482b96a2417bd7cb3d5f61e59d887
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-rational/CONTROL b/ports/boost-rational/CONTROL new file mode 100644 index 000000000..f78bf6029 --- /dev/null +++ b/ports/boost-rational/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-rational
+Version: 1.66.0
+Build-Depends: boost-assert, boost-config, boost-integer, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost rational module
diff --git a/ports/boost-rational/portfile.cmake b/ports/boost-rational/portfile.cmake new file mode 100644 index 000000000..c0ad27744 --- /dev/null +++ b/ports/boost-rational/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/rational
+ REF boost-1.66.0
+ SHA512 e61b85344d3418484c044ac0d3946059a3a341cab490d1a54dbee241946c7cb5882e30fcd5e8c9a919622cee69828108d2f7dc578eae51f31c5fb1217deff152
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-regex/CONTROL b/ports/boost-regex/CONTROL new file mode 100644 index 000000000..24e5014d4 --- /dev/null +++ b/ports/boost-regex/CONTROL @@ -0,0 +1,9 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-regex
+Version: 1.66.0
+Build-Depends: boost-assert, boost-build, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-functional, boost-integer, boost-iterator, boost-mpl, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
+Description: Boost regex module
+
+Feature: icu
+Description: ICU backend for Boost.Regex
+Build-Depends: icu
diff --git a/ports/boost-regex/portfile.cmake b/ports/boost-regex/portfile.cmake new file mode 100644 index 000000000..2246e3df4 --- /dev/null +++ b/ports/boost-regex/portfile.cmake @@ -0,0 +1,21 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/regex
+ REF boost-1.66.0
+ SHA512 def00fc4876fd83a2581eea15228940a665cb79eff26e979079b5df568952f144b74da2f41ddffe6792784fe3fceca94d7b0f49d1a7f01a4df78948244fe86b1
+ HEAD_REF master
+)
+
+if("icu" IN_LIST FEATURES)
+ set(REQUIREMENTS "<library>/user-config//icuuc <library>/user-config//icudt <library>/user-config//icuin <define>BOOST_HAS_ICU=1")
+else()
+ set(REQUIREMENTS)
+endif()
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH} REQUIREMENTS "${REQUIREMENTS}")
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-scope-exit/CONTROL b/ports/boost-scope-exit/CONTROL new file mode 100644 index 000000000..a94cb9fd6 --- /dev/null +++ b/ports/boost-scope-exit/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-scope-exit
+Version: 1.66.0
+Build-Depends: boost-config, boost-detail, boost-function, boost-mpl, boost-preprocessor, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost scope_exit module
diff --git a/ports/boost-scope-exit/portfile.cmake b/ports/boost-scope-exit/portfile.cmake new file mode 100644 index 000000000..60358a992 --- /dev/null +++ b/ports/boost-scope-exit/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/scope_exit
+ REF boost-1.66.0
+ SHA512 cb46dee821cf9f873eac9d8e937773a44c9e77b7c9972d064e1cc7b9f95e8b06509da29e2357c479f70993aae25756de1dad5d6639690f4390d466deef75b8da
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-serialization/CONTROL b/ports/boost-serialization/CONTROL new file mode 100644 index 000000000..146c618bd --- /dev/null +++ b/ports/boost-serialization/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-serialization
+Version: 1.66.0
+Build-Depends: boost-array, boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-io, boost-iterator, boost-move, boost-mpl, boost-optional, boost-preprocessor, boost-smart-ptr, boost-spirit, boost-static-assert, boost-type-traits, boost-unordered, boost-utility, boost-variant, boost-vcpkg-helpers
+Description: Boost serialization module
diff --git a/ports/boost-serialization/portfile.cmake b/ports/boost-serialization/portfile.cmake new file mode 100644 index 000000000..59276cfd3 --- /dev/null +++ b/ports/boost-serialization/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/serialization
+ REF boost-1.66.0
+ SHA512 8d4908a1eba309c8e752f07e123d0c6d461e3ce87db3b3afbf4ae56340c1ead6ac874be392d8270b167be28d7dc515f98abece091b081fd4794cb375f9779880
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-signals/CONTROL b/ports/boost-signals/CONTROL new file mode 100644 index 000000000..e612f3415 --- /dev/null +++ b/ports/boost-signals/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-signals
+Version: 1.66.0
+Build-Depends: boost-any, boost-build, boost-config, boost-core, boost-function, boost-iterator, boost-optional, boost-smart-ptr, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost signals module
diff --git a/ports/boost-signals/portfile.cmake b/ports/boost-signals/portfile.cmake new file mode 100644 index 000000000..03895d120 --- /dev/null +++ b/ports/boost-signals/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/signals
+ REF boost-1.66.0
+ SHA512 4a857c2f272ccd5feef7549a9344444e30de71ca49f33d42415aad3af0659534cc46490082a3ab9d52f3bced7635cbb17b6db16216a13a4df79349f01a0fe636
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-signals2/CONTROL b/ports/boost-signals2/CONTROL new file mode 100644 index 000000000..749be6f6b --- /dev/null +++ b/ports/boost-signals2/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-signals2
+Version: 1.66.0
+Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-detail, boost-function, boost-iterator, boost-mpl, boost-multi-index, boost-optional, boost-parameter, boost-predef, boost-preprocessor, boost-smart-ptr, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers
+Description: Boost signals2 module
diff --git a/ports/boost-signals2/portfile.cmake b/ports/boost-signals2/portfile.cmake new file mode 100644 index 000000000..9e83e65c4 --- /dev/null +++ b/ports/boost-signals2/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/signals2
+ REF boost-1.66.0
+ SHA512 e49e263836db77603b256b45c8d764b91d2ff9b1bcfa36e6b446fbaf0be2e7135b715cf00795d0a98ade48f3ff574c54fadfa58faae330261c58642c0dfaf39a
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-smart-ptr/CONTROL b/ports/boost-smart-ptr/CONTROL new file mode 100644 index 000000000..a4451ef05 --- /dev/null +++ b/ports/boost-smart-ptr/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-smart-ptr
+Version: 1.66.0
+Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-integer, boost-move, boost-predef, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
+Description: Boost smart_ptr module
diff --git a/ports/boost-smart-ptr/portfile.cmake b/ports/boost-smart-ptr/portfile.cmake new file mode 100644 index 000000000..5dbfc1473 --- /dev/null +++ b/ports/boost-smart-ptr/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/smart_ptr
+ REF boost-1.66.0
+ SHA512 d45d925531c5060cabd5a949612c3d1358ca92120253c04a755390fc5be80fae2f756cb358b636cf0a86d3091e5c27574a4e4f340ece94a8291acab4a0b4c8a0
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-sort/CONTROL b/ports/boost-sort/CONTROL new file mode 100644 index 000000000..6f13d05a2 --- /dev/null +++ b/ports/boost-sort/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-sort
+Version: 1.66.0
+Build-Depends: boost-integer, boost-serialization, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost sort module
diff --git a/ports/boost-sort/portfile.cmake b/ports/boost-sort/portfile.cmake new file mode 100644 index 000000000..9a13503f8 --- /dev/null +++ b/ports/boost-sort/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/sort
+ REF boost-1.66.0
+ SHA512 0c4d252cf92f46b402be2d9f46f4c4b052dbbb85c83cb7e78a9f75a2e2d14225614f97f3b4e91205d55f224faef2baf939c28fb935d9dbfa140aa7a9c51836df
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-spirit/CONTROL b/ports/boost-spirit/CONTROL new file mode 100644 index 000000000..ed71760c0 --- /dev/null +++ b/ports/boost-spirit/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-spirit
+Version: 1.66.0
+Build-Depends: boost-algorithm, boost-array, boost-assert, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-endian, boost-filesystem (windows), boost-foreach, boost-function, boost-function-types, boost-fusion, boost-integer, boost-io, boost-iostreams (windows), boost-iterator, boost-lexical-cast, boost-locale (windows), boost-math, boost-move, boost-mpl, boost-optional, boost-phoenix, boost-pool, boost-preprocessor, boost-proto, boost-range, boost-regex, boost-smart-ptr, boost-static-assert, boost-thread (windows), boost-throw-exception, boost-tti, boost-typeof, boost-type-traits, boost-unordered, boost-utility, boost-variant, boost-vcpkg-helpers
+Description: Boost spirit module
diff --git a/ports/boost-spirit/portfile.cmake b/ports/boost-spirit/portfile.cmake new file mode 100644 index 000000000..e9b239d69 --- /dev/null +++ b/ports/boost-spirit/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/spirit
+ REF boost-1.66.0
+ SHA512 c02594dc732d8ad8d23b1ed94f7aea05e3a339d0189a224340ea882b0de68f10820ad40886e040269ce4e08a558806c48662acba0bf00d95b8cafb5a7ce0057b
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-stacktrace/CONTROL b/ports/boost-stacktrace/CONTROL new file mode 100644 index 000000000..b6c11e8f3 --- /dev/null +++ b/ports/boost-stacktrace/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-stacktrace
+Version: 1.66.0
+Build-Depends: boost-array, boost-build, boost-config, boost-core, boost-lexical-cast, boost-math, boost-static-assert, boost-type-traits, boost-vcpkg-helpers, boost-winapi
+Description: Boost stacktrace module
diff --git a/ports/boost-stacktrace/portfile.cmake b/ports/boost-stacktrace/portfile.cmake new file mode 100644 index 000000000..8f8c3afa1 --- /dev/null +++ b/ports/boost-stacktrace/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/stacktrace
+ REF boost-1.66.0
+ SHA512 40b96f7c1fdaf5a5909148d7edd4f77b4991ead70d5350bc7c8451781c80020496b14688c0dff365b75941a1ba16244246a52b6a708f4b1f79c99f4d8a0556f0
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-statechart/CONTROL b/ports/boost-statechart/CONTROL new file mode 100644 index 000000000..eafbc2db4 --- /dev/null +++ b/ports/boost-statechart/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-statechart
+Version: 1.66.0
+Build-Depends: boost-assert, boost-bind, boost-config, boost-conversion, boost-core, boost-detail, boost-function, boost-mpl, boost-smart-ptr, boost-static-assert, boost-type-traits, boost-vcpkg-helpers
+Description: Boost statechart module
diff --git a/ports/boost-statechart/portfile.cmake b/ports/boost-statechart/portfile.cmake new file mode 100644 index 000000000..8b8e2da99 --- /dev/null +++ b/ports/boost-statechart/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/statechart
+ REF boost-1.66.0
+ SHA512 c9e20deca66f896eee004d19be388857817b2d4bdf49a9a146625de091420399a7098a6ecb2020ce07a96b11092922f4623159434b04983072dad8b91d2d7187
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-static-assert/CONTROL b/ports/boost-static-assert/CONTROL new file mode 100644 index 000000000..e4719ff49 --- /dev/null +++ b/ports/boost-static-assert/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-static-assert
+Version: 1.66.0
+Build-Depends: boost-config, boost-detail, boost-vcpkg-helpers
+Description: Boost static_assert module
diff --git a/ports/boost-static-assert/portfile.cmake b/ports/boost-static-assert/portfile.cmake new file mode 100644 index 000000000..7768973dd --- /dev/null +++ b/ports/boost-static-assert/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/static_assert
+ REF boost-1.66.0
+ SHA512 97e0007ffef86578f4877744947e4c7d90de932719df25a38a72c018112b9b6d6d2fbdbef9307c02d1d85e5d8733a0f20a903c0fc623ef969afc788cfdf8722b
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-system/CONTROL b/ports/boost-system/CONTROL new file mode 100644 index 000000000..92d43608f --- /dev/null +++ b/ports/boost-system/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-system
+Version: 1.66.0
+Build-Depends: boost-assert, boost-build, boost-config, boost-core, boost-integer, boost-predef, boost-utility, boost-vcpkg-helpers, boost-winapi
+Description: Boost system module
diff --git a/ports/boost-system/portfile.cmake b/ports/boost-system/portfile.cmake new file mode 100644 index 000000000..c5ca8d0cc --- /dev/null +++ b/ports/boost-system/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/system
+ REF boost-1.66.0
+ SHA512 97181610bc577182cb83c55b7c5d73aec6794543c0a7b43b4d08c7a1ed9936500f383038dbda1c0876f58d52c000f8b2e4a6bc1f68d14c7d9f015918f1c46851
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-test/CONTROL b/ports/boost-test/CONTROL new file mode 100644 index 000000000..e19d889b1 --- /dev/null +++ b/ports/boost-test/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-test
+Version: 1.66.0
+Build-Depends: boost-algorithm, boost-assert, boost-bind, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-exception, boost-function, boost-io, boost-iterator, boost-mpl, boost-numeric-conversion, boost-optional, boost-preprocessor, boost-range, boost-smart-ptr, boost-static-assert, boost-timer, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost test module
diff --git a/ports/boost-test/portfile.cmake b/ports/boost-test/portfile.cmake new file mode 100644 index 000000000..fd6606f0e --- /dev/null +++ b/ports/boost-test/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/test
+ REF boost-1.66.0
+ SHA512 f5f0557fc7afb1c085765edda5ec37ce2a0f31aa39c861a7979dfd5344751978139cc3eef44d773140e4b023c0123065169fc11ae889ca1ea51f58bdf5018a5d
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-thread/CONTROL b/ports/boost-thread/CONTROL new file mode 100644 index 000000000..772f1a450 --- /dev/null +++ b/ports/boost-thread/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-thread
+Version: 1.66.0
+Build-Depends: boost-algorithm, boost-assert, boost-atomic, boost-bind, boost-build, boost-chrono, boost-concept-check, boost-config, boost-container, boost-core, boost-date-time, boost-detail, boost-exception, boost-function, boost-functional, boost-integer, boost-intrusive, boost-io, boost-lexical-cast, boost-math, boost-move, boost-mpl, boost-optional, boost-predef, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-system, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi
+Description: Boost thread module
diff --git a/ports/boost-thread/portfile.cmake b/ports/boost-thread/portfile.cmake new file mode 100644 index 000000000..307ae58b4 --- /dev/null +++ b/ports/boost-thread/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/thread
+ REF boost-1.66.0
+ SHA512 35875d3feb64617b74ef1303939a9e0f8d72b9b2d7361e9a25c54431c60c17b481023006f2329e4cd8dd37206553991e40a12a20bb479ec497c475240e19776b
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH} REQUIREMENTS "<library>/boost/date_time//boost_date_time")
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-throw-exception/CONTROL b/ports/boost-throw-exception/CONTROL new file mode 100644 index 000000000..61809bb7b --- /dev/null +++ b/ports/boost-throw-exception/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-throw-exception
+Version: 1.66.0
+Build-Depends: boost-config, boost-detail, boost-vcpkg-helpers
+Description: Boost throw_exception module
diff --git a/ports/boost-throw-exception/portfile.cmake b/ports/boost-throw-exception/portfile.cmake new file mode 100644 index 000000000..bdf47bac7 --- /dev/null +++ b/ports/boost-throw-exception/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/throw_exception
+ REF boost-1.66.0
+ SHA512 46c1683ded42fe9b0cd44711071bee1122dbd0529648f69439cc5391d05e7e22968235bc852878441ad051b6c021b10e319b6337aff28f6acaafca7e70480ef8
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-timer/CONTROL b/ports/boost-timer/CONTROL new file mode 100644 index 000000000..be8b0c18a --- /dev/null +++ b/ports/boost-timer/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-timer
+Version: 1.66.0
+Build-Depends: boost-build, boost-chrono, boost-compatibility, boost-config, boost-core, boost-integer, boost-io, boost-system, boost-throw-exception, boost-vcpkg-helpers
+Description: Boost timer module
diff --git a/ports/boost-timer/portfile.cmake b/ports/boost-timer/portfile.cmake new file mode 100644 index 000000000..28210aabe --- /dev/null +++ b/ports/boost-timer/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/timer
+ REF boost-1.66.0
+ SHA512 2b50d38e3b5ca79014f96eb8fb55d1320c0de97ba2bb632dec946690437f8a1533c3e78e25798a0f49c08a5644f7f55afcd0f85f94bea4e041cddbcd8867450d
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-tokenizer/CONTROL b/ports/boost-tokenizer/CONTROL new file mode 100644 index 000000000..27fb3021b --- /dev/null +++ b/ports/boost-tokenizer/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-tokenizer
+Version: 1.66.0
+Build-Depends: boost-assert, boost-config, boost-detail, boost-iterator, boost-mpl, boost-throw-exception, boost-vcpkg-helpers
+Description: Boost tokenizer module
diff --git a/ports/boost-tokenizer/portfile.cmake b/ports/boost-tokenizer/portfile.cmake new file mode 100644 index 000000000..74834110b --- /dev/null +++ b/ports/boost-tokenizer/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/tokenizer
+ REF boost-1.66.0
+ SHA512 ce5f6d89fd8b61a5d8074d8cb6bbc3b9a0e3ebf96081c9dda8e67a64b7052f38ebc50581284fa182f83f6f3eb54eee5292f6e79832ffd293ef9a35af2b595a51
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-tti/CONTROL b/ports/boost-tti/CONTROL new file mode 100644 index 000000000..bcab1a023 --- /dev/null +++ b/ports/boost-tti/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-tti
+Version: 1.66.0
+Build-Depends: boost-config, boost-detail, boost-function-types, boost-mpl, boost-preprocessor, boost-type-traits, boost-vcpkg-helpers
+Description: Boost tti module
diff --git a/ports/boost-tti/portfile.cmake b/ports/boost-tti/portfile.cmake new file mode 100644 index 000000000..2151427be --- /dev/null +++ b/ports/boost-tti/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/tti
+ REF boost-1.66.0
+ SHA512 8c399d475819b68324e1a56b9ba13a3e26faf175d3180b0317e82212ce4c587d8074c597832165e81a3ed6af09026b7c5433a8cd58b6ad861dad7d9fe1d57eee
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-tuple/CONTROL b/ports/boost-tuple/CONTROL new file mode 100644 index 000000000..a96059c05 --- /dev/null +++ b/ports/boost-tuple/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-tuple
+Version: 1.66.0
+Build-Depends: boost-config, boost-core, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost tuple module
diff --git a/ports/boost-tuple/portfile.cmake b/ports/boost-tuple/portfile.cmake new file mode 100644 index 000000000..a020d5d1b --- /dev/null +++ b/ports/boost-tuple/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/tuple
+ REF boost-1.66.0
+ SHA512 c65bd37871256f1edb1db4d9ac158788c3a76248d7f7ff72eece874ea521d9846d55373e223d783a4c6fe3a524088fe2e4e58e533d1144671e4a1d22443f0414
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-type-erasure/CONTROL b/ports/boost-type-erasure/CONTROL new file mode 100644 index 000000000..79a8697a3 --- /dev/null +++ b/ports/boost-type-erasure/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-type-erasure
+Version: 1.66.0
+Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-fusion, boost-iterator, boost-mpl, boost-preprocessor, boost-smart-ptr, boost-thread (windows), boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost type_erasure module
diff --git a/ports/boost-type-erasure/portfile.cmake b/ports/boost-type-erasure/portfile.cmake new file mode 100644 index 000000000..7363cfd8e --- /dev/null +++ b/ports/boost-type-erasure/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/type_erasure
+ REF boost-1.66.0
+ SHA512 a64b3477478a656c0e04e897f4b9e19941b884c17cfa07ec05f96cebab0f4a377d728ddee354923c1c00bd85f2bf180a46747ccfe5eceb3fe143c2154e0be0e8
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-type-index/CONTROL b/ports/boost-type-index/CONTROL new file mode 100644 index 000000000..e291a6222 --- /dev/null +++ b/ports/boost-type-index/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-type-index
+Version: 1.66.0
+Build-Depends: boost-config, boost-core, boost-functional, boost-mpl, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
+Description: Boost type_index module
diff --git a/ports/boost-type-index/portfile.cmake b/ports/boost-type-index/portfile.cmake new file mode 100644 index 000000000..5f5f7dc7d --- /dev/null +++ b/ports/boost-type-index/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/type_index
+ REF boost-1.66.0
+ SHA512 c731d336b0b29a0dbbb12c027fe052f9cea0f06703d05e3f24c24d9feb5abcf04cfb6e867da752cdbc75056db9482b5318ee1489db54244c3fdc6e1f32899aa8
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-type-traits/CONTROL b/ports/boost-type-traits/CONTROL new file mode 100644 index 000000000..3b88d7122 --- /dev/null +++ b/ports/boost-type-traits/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-type-traits
+Version: 1.66.0
+Build-Depends: boost-config, boost-core, boost-detail, boost-static-assert, boost-vcpkg-helpers
+Description: Boost type_traits module
diff --git a/ports/boost-type-traits/portfile.cmake b/ports/boost-type-traits/portfile.cmake new file mode 100644 index 000000000..3dbd82382 --- /dev/null +++ b/ports/boost-type-traits/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/type_traits
+ REF boost-1.66.0
+ SHA512 ad05d6e50914e0d9c0e8267dd3b01f090f7dd3c6370b4b59ae1bbcc50b2cb2a5f1b2647eacc15ff4f2e071da0732a6fc47508284d6d20ca0a545fd6f8d90648c
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-typeof/CONTROL b/ports/boost-typeof/CONTROL new file mode 100644 index 000000000..93d92c65a --- /dev/null +++ b/ports/boost-typeof/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-typeof
+Version: 1.66.0
+Build-Depends: boost-config, boost-mpl, boost-preprocessor, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost typeof module
diff --git a/ports/boost-typeof/portfile.cmake b/ports/boost-typeof/portfile.cmake new file mode 100644 index 000000000..177e6d860 --- /dev/null +++ b/ports/boost-typeof/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/typeof
+ REF boost-1.66.0
+ SHA512 4436dc1b346dfaf9bd77ab386e213fb4a5fb9f3ea5f4de3e2eaaf4e7c2c6712729071e8e25c4014c36a0977f62b646900e2db7c9f65121ef32475074940e4937
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-ublas/CONTROL b/ports/boost-ublas/CONTROL new file mode 100644 index 000000000..acbd90541 --- /dev/null +++ b/ports/boost-ublas/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-ublas
+Version: 1.66.0
+Build-Depends: boost-concept-check, boost-config, boost-core, boost-iterator, boost-mpl, boost-range, boost-serialization, boost-smart-ptr, boost-static-assert, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost ublas module
diff --git a/ports/boost-ublas/portfile.cmake b/ports/boost-ublas/portfile.cmake new file mode 100644 index 000000000..173236e87 --- /dev/null +++ b/ports/boost-ublas/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/ublas
+ REF boost-1.66.0
+ SHA512 77d2dac6f7df56d8640e000ffce7042c828765da9a1ccb1f487559ac7ad2577246334e32e058a41ef028719c7465990d12e4fc0294ecf1747ac90bda53cf7d00
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-units/CONTROL b/ports/boost-units/CONTROL new file mode 100644 index 000000000..4728dcb90 --- /dev/null +++ b/ports/boost-units/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-units
+Version: 1.66.0
+Build-Depends: boost-assert, boost-config, boost-core, boost-integer, boost-io, boost-lambda, boost-math, boost-mpl, boost-preprocessor, boost-serialization, boost-static-assert, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost units module
diff --git a/ports/boost-units/portfile.cmake b/ports/boost-units/portfile.cmake new file mode 100644 index 000000000..87dd4906d --- /dev/null +++ b/ports/boost-units/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/units
+ REF boost-1.66.0
+ SHA512 493c91b8741788c18147b0689df82e8391992797420f09fa3d90f8405c1ac7cab6a17c39231836d4410525eae3ae53899157cd48e28e3136ffc16970fc5209f6
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-unordered/CONTROL b/ports/boost-unordered/CONTROL new file mode 100644 index 000000000..f051d4f33 --- /dev/null +++ b/ports/boost-unordered/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-unordered
+Version: 1.66.0
+Build-Depends: boost-assert, boost-compatibility, boost-config, boost-container, boost-core, boost-detail, boost-functional, boost-iterator, boost-move, boost-predef, boost-preprocessor, boost-smart-ptr, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost unordered module
diff --git a/ports/boost-unordered/portfile.cmake b/ports/boost-unordered/portfile.cmake new file mode 100644 index 000000000..abd0a3c3e --- /dev/null +++ b/ports/boost-unordered/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/unordered
+ REF boost-1.66.0
+ SHA512 4abb2d6a2847c28ecd2324afd4caf46a9fe2597e3bceaf2fe430cb82688ce6584137356fd3dff5fe1ab60ab8a51460821d9dd78c14d4e0fb6e11c4dee7cc0adb
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-utility/CONTROL b/ports/boost-utility/CONTROL new file mode 100644 index 000000000..1793f88f3 --- /dev/null +++ b/ports/boost-utility/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-utility
+Version: 1.66.0
+Build-Depends: boost-config, boost-core, boost-detail, boost-mpl, boost-preprocessor, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
+Description: Boost utility module
diff --git a/ports/boost-utility/portfile.cmake b/ports/boost-utility/portfile.cmake new file mode 100644 index 000000000..5cf3ceeed --- /dev/null +++ b/ports/boost-utility/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/utility
+ REF boost-1.66.0
+ SHA512 aa72e1d32bb1575e23ec8e1dc12421e56d114532a9e7b3ebf2edf6926c79d2e2eb3c5483f241bc014b65008a9d03fbeadc85a6f0cea9013ecea2b1c1e942ea59
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-uuid/CONTROL b/ports/boost-uuid/CONTROL new file mode 100644 index 000000000..9c81b7c12 --- /dev/null +++ b/ports/boost-uuid/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-uuid
+Version: 1.66.0
+Build-Depends: boost-assert, boost-config, boost-core, boost-integer, boost-io, boost-iterator, boost-random, boost-serialization, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
+Description: Boost uuid module
diff --git a/ports/boost-uuid/portfile.cmake b/ports/boost-uuid/portfile.cmake new file mode 100644 index 000000000..c6f2950a6 --- /dev/null +++ b/ports/boost-uuid/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/uuid
+ REF boost-1.66.0
+ SHA512 5fc333c76f4d44fcbca4a7be02117015e361b85c615d3f728d9805d32f55431fca33f90bb0151a789b341606d8ce7538163a162a4c7ba29823cf7a01326685d7
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-variant/CONTROL b/ports/boost-variant/CONTROL new file mode 100644 index 000000000..9edcfa99e --- /dev/null +++ b/ports/boost-variant/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-variant
+Version: 1.66.0
+Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-detail, boost-functional, boost-math, boost-move, boost-mpl, boost-preprocessor, boost-static-assert, boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost variant module
diff --git a/ports/boost-variant/portfile.cmake b/ports/boost-variant/portfile.cmake new file mode 100644 index 000000000..9ec22e174 --- /dev/null +++ b/ports/boost-variant/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/variant
+ REF boost-1.66.0
+ SHA512 3eb3d4070bf81033c0a342956393e2e902618dc482fd3ba7c0b4f97ac3259fff31943a9b059bc25dd6d399af6d8b56a8297b462776b14b5012c6436b00c7d491
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-vcpkg-helpers/.gitignore b/ports/boost-vcpkg-helpers/.gitignore new file mode 100644 index 000000000..6217c8eab --- /dev/null +++ b/ports/boost-vcpkg-helpers/.gitignore @@ -0,0 +1,3 @@ +downloads/
+libs/
+boost/
\ No newline at end of file diff --git a/ports/boost-vcpkg-helpers/CONTROL b/ports/boost-vcpkg-helpers/CONTROL new file mode 100644 index 000000000..e9a60e401 --- /dev/null +++ b/ports/boost-vcpkg-helpers/CONTROL @@ -0,0 +1,3 @@ +Source: boost-vcpkg-helpers
+Version: 1
+Description: a set of vcpkg-internal scripts used to modularize boost
diff --git a/ports/boost-vcpkg-helpers/Jamroot.jam b/ports/boost-vcpkg-helpers/Jamroot.jam new file mode 100644 index 000000000..2762c99ea --- /dev/null +++ b/ports/boost-vcpkg-helpers/Jamroot.jam @@ -0,0 +1,141 @@ +constant BOOST_VERSION : 1.66.0 ;
+constant BOOST_VERSION_ABI_TAG : 1_66 ;
+constant BOOST_JAMROOT_MODULE : $(__name__) ;
+
+import boostcpp ;
+import feature ;
+
+boostcpp.set-version $(BOOST_VERSION) ;
+
+project boost : requirements
+ <include>include&&@CURRENT_INSTALLED_DIR@/include
+ <define>BOOST_ALL_NO_LIB=1
+ <tag>@$(__name__).tag
+ @REQUIREMENTS@
+ ;
+
+rule boost-install ( libraries * )
+{
+ stagedir = [ option.get stagedir ] ;
+ install stage
+ : $(libraries)
+ : <location>$(stagedir)/lib ;
+}
+
+rule tag ( name : type ? : property-set )
+{
+ return [ boostcpp.tag $(name) : $(type) : $(property-set) ] ;
+}
+
+rule python-tag ( name : type ? : property-set )
+{
+ return [ tag $(name) : $(type) : $(property-set) ] ;
+}
+
+if "@PORT@" != "boost-system"
+{
+ use-project /boost/system : . ;
+
+ lib boost_system : : <file>@CURRENT_INSTALLED_DIR@/lib/boost_system-vc140-mt-$(BOOST_VERSION_ABI_TAG).lib <variant>release ;
+ lib boost_system : : <file>@CURRENT_INSTALLED_DIR@/debug/lib/boost_system-vc140-mt-gd-$(BOOST_VERSION_ABI_TAG).lib <variant>debug ;
+ explicit boost_system ;
+}
+
+if "@PORT@" != "boost-chrono"
+{
+ use-project /boost/chrono : . ;
+
+ lib boost_chrono : : <file>@CURRENT_INSTALLED_DIR@/lib/boost_chrono-vc140-mt-$(BOOST_VERSION_ABI_TAG).lib <variant>release ;
+ lib boost_chrono : : <file>@CURRENT_INSTALLED_DIR@/debug/lib/boost_chrono-vc140-mt-gd-$(BOOST_VERSION_ABI_TAG).lib <variant>debug ;
+ explicit boost_chrono ;
+}
+
+if "@PORT@" != "boost-regex"
+{
+ use-project /boost/regex : . ;
+
+ lib boost_regex : : <file>@CURRENT_INSTALLED_DIR@/lib/boost_regex-vc140-mt-$(BOOST_VERSION_ABI_TAG).lib <variant>release ;
+ lib boost_regex : : <file>@CURRENT_INSTALLED_DIR@/debug/lib/boost_regex-vc140-mt-gd-$(BOOST_VERSION_ABI_TAG).lib <variant>debug ;
+ explicit boost_regex ;
+}
+
+if "@PORT@" != "boost-date-time"
+{
+ use-project /boost/date_time : . ;
+
+ lib boost_date_time : : <file>@CURRENT_INSTALLED_DIR@/lib/boost_date_time-vc140-mt-$(BOOST_VERSION_ABI_TAG).lib <variant>release -<library>/boost/date_time//boost_date_time ;
+ lib boost_date_time : : <file>@CURRENT_INSTALLED_DIR@/debug/lib/boost_date_time-vc140-mt-gd-$(BOOST_VERSION_ABI_TAG).lib <variant>debug -<library>/boost/date_time//boost_date_time ;
+ explicit boost_date_time ;
+}
+
+if "@PORT@" != "boost-thread"
+{
+ use-project /boost/thread : . ;
+
+ lib boost_thread : : <file>@CURRENT_INSTALLED_DIR@/lib/boost_thread-vc140-mt-$(BOOST_VERSION_ABI_TAG).lib <variant>release : : <library>/boost/date_time//boost_date_time ;
+ lib boost_thread : : <file>@CURRENT_INSTALLED_DIR@/debug/lib/boost_thread-vc140-mt-gd-$(BOOST_VERSION_ABI_TAG).lib <variant>debug : : <library>/boost/date_time//boost_date_time ;
+ explicit boost_thread ;
+}
+
+if "@PORT@" != "boost-timer"
+{
+ use-project /boost/timer : . ;
+
+ lib boost_timer : : <file>@CURRENT_INSTALLED_DIR@/lib/boost_timer-vc140-mt-$(BOOST_VERSION_ABI_TAG).lib <variant>release ;
+ lib boost_timer : : <file>@CURRENT_INSTALLED_DIR@/debug/lib/boost_timer-vc140-mt-gd-$(BOOST_VERSION_ABI_TAG).lib <variant>debug ;
+ explicit boost_timer ;
+}
+
+if "@PORT@" != "boost-filesystem"
+{
+ use-project /boost/filesystem : . ;
+
+ lib boost_filesystem : : <file>@CURRENT_INSTALLED_DIR@/lib/boost_filesystem-vc140-mt-$(BOOST_VERSION_ABI_TAG).lib <variant>release : : <library>/boost/system//boost_system ;
+ lib boost_filesystem : : <file>@CURRENT_INSTALLED_DIR@/debug/lib/boost_filesystem-vc140-mt-gd-$(BOOST_VERSION_ABI_TAG).lib <variant>debug : : <library>/boost/system//boost_system ;
+ explicit boost_filesystem ;
+}
+
+if "@PORT@" != "boost-atomic"
+{
+ use-project /boost/atomic : . ;
+
+ lib boost_atomic : : <file>@CURRENT_INSTALLED_DIR@/lib/boost_atomic-vc140-mt-$(BOOST_VERSION_ABI_TAG).lib <variant>release ;
+ lib boost_atomic : : <file>@CURRENT_INSTALLED_DIR@/debug/lib/boost_atomic-vc140-mt-gd-$(BOOST_VERSION_ABI_TAG).lib <variant>debug ;
+ explicit boost_atomic ;
+}
+
+if "@PORT@" != "boost-context"
+{
+ feature.feature segmented-stacks : on : optional propagated composite ;
+ feature.compose <segmented-stacks>on : <define>BOOST_USE_SEGMENTED_STACKS ;
+
+ use-project /boost/context : . ;
+
+ lib boost_context : : <file>@CURRENT_INSTALLED_DIR@/lib/boost_context-vc140-mt-$(BOOST_VERSION_ABI_TAG).lib <variant>release ;
+ lib boost_context : : <file>@CURRENT_INSTALLED_DIR@/debug/lib/boost_context-vc140-mt-gd-$(BOOST_VERSION_ABI_TAG).lib <variant>debug ;
+ explicit boost_context ;
+}
+
+if "@PORT@" != "boost-test"
+{
+ use-project /boost/test : . ;
+
+ lib boost_unit_test_framework : : <file>@CURRENT_INSTALLED_DIR@/lib/boost_unit_test_framework-vc140-mt-$(BOOST_VERSION_ABI_TAG).lib <variant>release ;
+ lib boost_unit_test_framework : : <file>@CURRENT_INSTALLED_DIR@/debug/lib/boost_unit_test_framework-vc140-mt-gd-$(BOOST_VERSION_ABI_TAG).lib <variant>debug ;
+ explicit boost_unit_test_framework ;
+}
+
+rule requires ( foo * )
+{
+}
+
+rule boost-lib ( name : sources * : requirements * : default-build * : usage-requirements * )
+{
+ name = boost_$(name) ;
+ lib $(name) : $(sources) : $(requirements) : $(default-build) : $(usage-requirements) ;
+ boost-install $(name) ;
+}
+
+use-project /boost/@PORT@ : build ;
+
+build-project build ;
diff --git a/ports/boost-vcpkg-helpers/boost-modular.cmake b/ports/boost-vcpkg-helpers/boost-modular.cmake new file mode 100644 index 000000000..e98cae65f --- /dev/null +++ b/ports/boost-vcpkg-helpers/boost-modular.cmake @@ -0,0 +1,273 @@ +
+function(boost_modular_build)
+ cmake_parse_arguments(_bm "" "SOURCE_PATH;REQUIREMENTS" "OPTIONS" ${ARGN})
+
+ if(NOT DEFINED _bm_SOURCE_PATH)
+ message(FATAL_ERROR "SOURCE_PATH is a required argument to boost_modular_build.")
+ endif()
+
+ # Todo: this serves too similar a purpose as vcpkg_find_acquire_program()
+ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ set(BOOST_BUILD_PATH "${CURRENT_INSTALLED_DIR}/tools/boost-build")
+ else()
+ get_filename_component(BOOST_BUILD_PATH "${CURRENT_INSTALLED_DIR}/../x86-windows/tools/boost-build" ABSOLUTE)
+ endif()
+
+ if(NOT EXISTS "${BOOST_BUILD_PATH}")
+ message(FATAL_ERROR "The x86 boost-build tools must be installed to build for non-x86/x64 platforms. Please run `vcpkg install boost-build:x86-windows`.")
+ endif()
+
+ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ list(APPEND _bm_OPTIONS windows-api=store)
+ endif()
+
+ set(_bm_DIR ${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers)
+
+ if(EXISTS "${_bm_SOURCE_PATH}/Jamfile.v2")
+ file(REMOVE_RECURSE "${_bm_SOURCE_PATH}/Jamfile.v2")
+ endif()
+
+ set(REQUIREMENTS ${_bm_REQUIREMENTS})
+
+ configure_file(${_bm_DIR}/Jamroot.jam ${_bm_SOURCE_PATH}/Jamroot.jam @ONLY)
+
+ # boost thread superfluously builds has_atomic_flag_lockfree on windows.
+ if(EXISTS "${_bm_SOURCE_PATH}/build/Jamfile.v2")
+ file(READ ${_bm_SOURCE_PATH}/build/Jamfile.v2 _contents)
+ string(REPLACE
+ "\n\nexe has_atomic_flag_lockfree"
+ "\n\nexplicit has_atomic_flag_lockfree ;\nexe has_atomic_flag_lockfree"
+ _contents
+ "${_contents}"
+ )
+ string(REPLACE "\nimport ../../config/checks/config : requires ;" "\n# import ../../config/checks/config : requires ;" _contents "${_contents}")
+ string(REGEX REPLACE
+ "\.\./\.\./([^/ ]+)/build//(boost_[^/ ]+)"
+ "/boost/\\1//\\2"
+ _contents
+ "${_contents}"
+ )
+ string(REGEX REPLACE " /boost//([^/ ]+)" " /boost/\\1//boost_\\1" _contents "${_contents}")
+ file(WRITE ${_bm_SOURCE_PATH}/build/Jamfile.v2 "${_contents}")
+ endif()
+
+ if(EXISTS "${_bm_SOURCE_PATH}/build/log-architecture.jam")
+ file(READ ${_bm_SOURCE_PATH}/build/log-architecture.jam _contents)
+ string(REPLACE
+ "\nproject.load [ path.join [ path.make $(here:D) ] ../../config/checks/architecture ] ;"
+ "\n# project.load [ path.join [ path.make $(here:D) ] ../../config/checks/architecture ] ;"
+ _contents "${_contents}")
+ file(WRITE ${_bm_SOURCE_PATH}/build/log-architecture.jam "${_contents}")
+ endif()
+
+ #####################
+ # Cleanup previous builds
+ ######################
+ file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
+ if(EXISTS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
+ # It is possible for a file in this folder to be locked due to antivirus or vctip
+ execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1)
+ file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
+ if(EXISTS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
+ message(FATAL_ERROR "Unable to remove directory: ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel\n Files are likely in use.")
+ endif()
+ endif()
+
+ file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
+ if(EXISTS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
+ # It is possible for a file in this folder to be locked due to antivirus or vctip
+ execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1)
+ file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
+ if(EXISTS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
+ message(FATAL_ERROR "Unable to remove directory: ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg\n Files are likely in use.")
+ endif()
+ endif()
+
+ if(EXISTS ${CURRENT_PACKAGES_DIR}/debug)
+ message(FATAL_ERROR "Error: directory exists: ${CURRENT_PACKAGES_DIR}/debug\n The previous package was not fully cleared. This is an internal error.")
+ endif()
+ file(MAKE_DIRECTORY
+ ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
+ ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
+ )
+
+ ######################
+ # Generate configuration
+ ######################
+ list(APPEND _bm_OPTIONS
+ -j$ENV{NUMBER_OF_PROCESSORS}
+ --debug-configuration
+ --debug-building
+ --debug-generators
+ --disable-icu
+ --ignore-site-config
+ --hash
+ -q
+
+ threadapi=win32
+ threading=multi
+ )
+
+ # Add build type specific options
+ if(VCPKG_CRT_LINKAGE STREQUAL "dynamic")
+ list(APPEND _bm_OPTIONS runtime-link=shared)
+ else()
+ list(APPEND _bm_OPTIONS runtime-link=static)
+ endif()
+
+ if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ list(APPEND _bm_OPTIONS link=shared)
+ else()
+ list(APPEND _bm_OPTIONS link=static)
+ endif()
+
+ if(VCPKG_TARGET_ARCHITECTURE MATCHES "x64")
+ list(APPEND _bm_OPTIONS address-model=64 architecture=x86)
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
+ list(APPEND _bm_OPTIONS address-model=32 architecture=arm)
+ else()
+ list(APPEND _bm_OPTIONS address-model=32 architecture=x86)
+ endif()
+
+ file(TO_CMAKE_PATH "${_bm_DIR}/nothing.bat" NOTHING_BAT)
+ set(TOOLSET_OPTIONS " <cxxflags>/EHsc <compileflags>-Zm800 <compileflags>-nologo")
+ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ if(VCPKG_PLATFORM_TOOLSET MATCHES "v141")
+ find_path(PATH_TO_CL cl.exe)
+ find_path(PLATFORM_WINMD_DIR platform.winmd PATHS "${PATH_TO_CL}/../../../lib/x86/store/references" NO_DEFAULT_PATH)
+ if(PLATFORM_WINMD_DIR MATCHES "NOTFOUND")
+ message(FATAL_ERROR "Could not find `platform.winmd` in VS2017. Do you have the Universal Windows Platform development workload installed?")
+ endif()
+ else()
+ find_path(PLATFORM_WINMD_DIR platform.winmd PATHS "$ENV{VS140COMNTOOLS}/../../VC/LIB/store/references")
+ if(PLATFORM_WINMD_DIR MATCHES "NOTFOUND")
+ message(FATAL_ERROR "Could not find `platform.winmd` in VS2015.")
+ endif()
+ endif()
+ file(TO_NATIVE_PATH "${PLATFORM_WINMD_DIR}" PLATFORM_WINMD_DIR)
+ string(REPLACE "\\" "\\\\" PLATFORM_WINMD_DIR ${PLATFORM_WINMD_DIR}) # escape backslashes
+
+ set(TOOLSET_OPTIONS "${TOOLSET_OPTIONS} <cflags>-Zl <compileflags>\"/AI${PLATFORM_WINMD_DIR}\" <linkflags>WindowsApp.lib <cxxflags>/ZW <compileflags>-DVirtualAlloc=VirtualAllocFromApp <compileflags>-D_WIN32_WINNT=0x0A00")
+ else()
+ set(TOOLSET_OPTIONS "${TOOLSET_OPTIONS} <compileflags>-D_WIN32_WINNT=0x0602")
+ endif()
+
+ configure_file(${_bm_DIR}/user-config.jam ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/user-config.jam @ONLY)
+ configure_file(${_bm_DIR}/user-config.jam ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/user-config.jam @ONLY)
+
+ if(VCPKG_PLATFORM_TOOLSET MATCHES "v141")
+ list(APPEND _bm_OPTIONS toolset=msvc-14.1)
+ elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v140")
+ list(APPEND _bm_OPTIONS toolset=msvc-14.0)
+ else()
+ message(FATAL_ERROR "Unsupported value for VCPKG_PLATFORM_TOOLSET: '${VCPKG_PLATFORM_TOOLSET}'")
+ endif()
+
+ ######################
+ # Perform build + Package
+ ######################
+ set(B2_EXE "${BOOST_BUILD_PATH}/b2.exe")
+
+ message(STATUS "Building ${TARGET_TRIPLET}-rel")
+ set(ENV{BOOST_BUILD_PATH} "${BOOST_BUILD_PATH}")
+ vcpkg_execute_required_process(
+ COMMAND "${B2_EXE}"
+ --stagedir=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/stage
+ --build-dir=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
+ --user-config=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/user-config.jam
+ ${_bm_OPTIONS}
+ variant=release
+ debug-symbols=on
+ WORKING_DIRECTORY ${_bm_SOURCE_PATH}
+ LOGNAME build-${TARGET_TRIPLET}-rel
+ )
+ message(STATUS "Building ${TARGET_TRIPLET}-rel done")
+
+ message(STATUS "Building ${TARGET_TRIPLET}-dbg")
+ set(ENV{BOOST_BUILD_PATH} "${BOOST_BUILD_PATH}")
+ vcpkg_execute_required_process(
+ COMMAND "${B2_EXE}"
+ --stagedir=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/stage
+ --build-dir=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
+ --user-config=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/user-config.jam
+ ${_bm_OPTIONS}
+ variant=debug
+ WORKING_DIRECTORY ${_bm_SOURCE_PATH}
+ LOGNAME build-${TARGET_TRIPLET}-dbg
+ )
+ message(STATUS "Building ${TARGET_TRIPLET}-dbg done")
+
+ message(STATUS "Packaging ${TARGET_TRIPLET}-rel")
+ file(GLOB REL_LIBS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/boost/build/*/*.lib)
+ file(COPY ${REL_LIBS}
+ DESTINATION ${CURRENT_PACKAGES_DIR}/lib
+ FILES_MATCHING PATTERN "*.lib")
+ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ file(GLOB REL_DLLS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/boost/build/*/*.dll)
+ file(COPY ${REL_DLLS}
+ DESTINATION ${CURRENT_PACKAGES_DIR}/bin
+ FILES_MATCHING PATTERN "*.dll")
+ endif()
+ message(STATUS "Packaging ${TARGET_TRIPLET}-rel done")
+
+ message(STATUS "Packaging ${TARGET_TRIPLET}-dbg")
+ file(GLOB DBG_LIBS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/boost/build/*/*.lib)
+ file(COPY ${DBG_LIBS}
+ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
+ FILES_MATCHING PATTERN "*.lib")
+ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ file(GLOB DBG_DLLS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/boost/build/*/*.dll)
+ file(COPY ${DBG_DLLS}
+ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
+ FILES_MATCHING PATTERN "*.dll")
+ endif()
+ message(STATUS "Packaging ${TARGET_TRIPLET}-dbg done")
+
+ file(GLOB INSTALLED_LIBS ${CURRENT_PACKAGES_DIR}/debug/lib/*.lib ${CURRENT_PACKAGES_DIR}/lib/*.lib)
+ foreach(LIB ${INSTALLED_LIBS})
+ get_filename_component(OLD_FILENAME ${LIB} NAME)
+ get_filename_component(DIRECTORY_OF_LIB_FILE ${LIB} DIRECTORY)
+ string(REPLACE "libboost_" "boost_" NEW_FILENAME ${OLD_FILENAME})
+ string(REPLACE "-s-" "-" NEW_FILENAME ${NEW_FILENAME}) # For Release libs
+ string(REPLACE "-vc141-" "-vc140-" NEW_FILENAME ${NEW_FILENAME}) # To merge VS2017 and VS2015 binaries
+ string(REPLACE "-sgd-" "-gd-" NEW_FILENAME ${NEW_FILENAME}) # For Debug libs
+ string(REPLACE "-sgyd-" "-gyd-" NEW_FILENAME ${NEW_FILENAME}) # For Debug libs
+ string(REPLACE "-x32-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries
+ string(REPLACE "-x64-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries
+ string(REPLACE "-a32-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries
+ string(REPLACE "-a64-" "-" NEW_FILENAME ${NEW_FILENAME}) # To enable CMake 3.10 and earlier to locate the binaries
+ string(REPLACE "_python3-" "_python-" NEW_FILENAME ${NEW_FILENAME})
+ if ("${DIRECTORY_OF_LIB_FILE}/${NEW_FILENAME}" STREQUAL "${DIRECTORY_OF_LIB_FILE}/${OLD_FILENAME}")
+ # nothing to do
+ elseif (EXISTS ${DIRECTORY_OF_LIB_FILE}/${NEW_FILENAME})
+ file(REMOVE ${DIRECTORY_OF_LIB_FILE}/${OLD_FILENAME})
+ else()
+ file(RENAME ${DIRECTORY_OF_LIB_FILE}/${OLD_FILENAME} ${DIRECTORY_OF_LIB_FILE}/${NEW_FILENAME})
+ endif()
+ endforeach()
+endfunction()
+
+function(boost_modular_headers)
+ cmake_parse_arguments(_bm "" "SOURCE_PATH" "" ${ARGN})
+
+ if(NOT DEFINED _bm_SOURCE_PATH)
+ message(FATAL_ERROR "SOURCE_PATH is a required argument to boost_modular_headers.")
+ endif()
+
+ message(STATUS "Packaging headers")
+
+ file(
+ COPY ${_bm_SOURCE_PATH}/include/boost
+ DESTINATION ${CURRENT_PACKAGES_DIR}/include
+ )
+
+ message(STATUS "Packaging headers done")
+
+ vcpkg_download_distfile(ARCHIVE
+ URLS "https://raw.githubusercontent.com/boostorg/boost/boost-1.65.1/LICENSE_1_0.txt"
+ FILENAME "boost_LICENSE_1_0.txt"
+ SHA512 d6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8
+ )
+
+ file(INSTALL ${ARCHIVE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+endfunction()
diff --git a/ports/boost-vcpkg-helpers/generate-ports.ps1 b/ports/boost-vcpkg-helpers/generate-ports.ps1 new file mode 100644 index 000000000..cc2929ef4 --- /dev/null +++ b/ports/boost-vcpkg-helpers/generate-ports.ps1 @@ -0,0 +1,335 @@ +[CmdletBinding()]
+param (
+ $libraries = @(),
+ $version = "1.66.0"
+)
+
+$scriptsDir = split-path -parent $MyInvocation.MyCommand.Definition
+
+$libsDisabledInUWP = "iostreams|filesystem|thread|context|python|stacktrace|program-options|program_options|coroutine`$|fiber|locale|test|type-erasure|type_erasure|wave|log"
+
+function Generate()
+{
+ param (
+ [string]$Name,
+ [string]$Hash,
+ [bool]$NeedsBuild,
+ $Depends = @()
+ )
+
+ $controlDeps = ($Depends | sort) -join ", "
+
+ $sanitizedName = $name -replace "_","-"
+
+ mkdir "$scriptsDir/../boost-$sanitizedName" -erroraction SilentlyContinue | out-null
+ $controlLines = @(
+ "# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1"
+ "Source: boost-$sanitizedName"
+ "Version: $version"
+ "Build-Depends: $controlDeps"
+ "Description: Boost $Name module"
+ )
+ if ($Name -eq "locale")
+ {
+ $controlLines += @(
+ ""
+ "Feature: icu"
+ "Description: ICU backend for Boost.Locale"
+ "Build-Depends: icu"
+ )
+ }
+ if ($Name -eq "regex")
+ {
+ $controlLines += @(
+ ""
+ "Feature: icu"
+ "Description: ICU backend for Boost.Regex"
+ "Build-Depends: icu"
+ )
+ }
+ $controlLines | out-file -enc ascii "$scriptsDir/../boost-$sanitizedName/CONTROL"
+
+ $portfileLines = @(
+ "# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1"
+ ""
+ "include(vcpkg_common_functions)"
+ "include(`${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)"
+ ""
+ "vcpkg_from_github("
+ " OUT_SOURCE_PATH SOURCE_PATH"
+ " REPO boostorg/$Name"
+ " REF boost-$version"
+ " SHA512 $Hash"
+ " HEAD_REF master"
+ ")"
+ ""
+ )
+
+ if ($Name -eq "python")
+ {
+ $portfileLines += @(
+ "# Find Python. Can't use find_package here, but we already know where everything is"
+ "file(GLOB PYTHON_INCLUDE_PATH `"`${CURRENT_INSTALLED_DIR}/include/python[0-9.]*`")"
+ "set(PYTHONLIBS_RELEASE `"`${CURRENT_INSTALLED_DIR}/lib`")"
+ "set(PYTHONLIBS_DEBUG `"`${CURRENT_INSTALLED_DIR}/debug/lib`")"
+ "string(REGEX REPLACE `".*python([0-9\.]+)`$`" `"\\1`" PYTHON_VERSION `"`${PYTHON_INCLUDE_PATH}`")"
+ )
+ }
+
+ if ($NeedsBuild)
+ {
+ if ($Name -eq "locale")
+ {
+ $portfileLines += @(
+ "if(`"icu`" IN_LIST FEATURES)"
+ " set(BOOST_LOCALE_ICU on)"
+ "else()"
+ " set(BOOST_LOCALE_ICU off)"
+ "endif()"
+ ""
+ "boost_modular_build("
+ " SOURCE_PATH `${SOURCE_PATH}"
+ " OPTIONS"
+ " boost.locale.iconv=off"
+ " boost.locale.posix=off"
+ " /boost/locale//boost_locale"
+ " boost.locale.icu=`${BOOST_LOCALE_ICU}"
+ ")"
+ )
+ }
+ elseif ($Name -eq "regex")
+ {
+ $portfileLines += @(
+ "if(`"icu`" IN_LIST FEATURES)"
+ " set(REQUIREMENTS `"<library>/user-config//icuuc <library>/user-config//icudt <library>/user-config//icuin <define>BOOST_HAS_ICU=1`")"
+ "else()"
+ " set(REQUIREMENTS)"
+ "endif()"
+ ""
+ "boost_modular_build(SOURCE_PATH `${SOURCE_PATH} REQUIREMENTS `"`${REQUIREMENTS}`")"
+ )
+ }
+ elseif ($Name -eq "thread")
+ {
+ $portfileLines += @(
+ "boost_modular_build(SOURCE_PATH `${SOURCE_PATH} REQUIREMENTS `"<library>/boost/date_time//boost_date_time`")"
+ )
+ }
+ else
+ {
+ $portfileLines += @(
+ "boost_modular_build(SOURCE_PATH `${SOURCE_PATH})"
+ )
+ }
+ }
+ $portfileLines += @("boost_modular_headers(SOURCE_PATH `${SOURCE_PATH})")
+
+ if ($Name -eq "exception")
+ {
+ $portfileLines += @(
+ ""
+ "set(VCPKG_LIBRARY_LINKAGE static)"
+ "file(REMOVE_RECURSE `${CURRENT_PACKAGES_DIR}/bin `${CURRENT_PACKAGES_DIR}/debug/bin)"
+ )
+ }
+ if ($Name -eq "config")
+ {
+ $portfileLines += @(
+ "file(APPEND `${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp `"\n#ifndef BOOST_ALL_NO_LIB\n#define BOOST_ALL_NO_LIB\n#endif\n`")"
+ "file(APPEND `${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp `"\n#undef BOOST_ALL_DYN_LINK\n`")"
+ ""
+ "if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)"
+ " file(APPEND `${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp `"\n#define BOOST_ALL_DYN_LINK\n`")"
+ "endif()"
+ )
+ }
+
+ $portfileLines | out-file -enc ascii "$scriptsDir/../boost-$sanitizedName/portfile.cmake"
+}
+
+if (!(Test-Path "$scriptsDir/boost"))
+{
+ "Cloning boost..."
+ pushd $scriptsDir
+ try
+ {
+ git clone https://github.com/boostorg/boost --branch boost-$version
+ }
+ finally
+ {
+ popd
+ }
+}
+
+$libraries_found = ls $scriptsDir/boost/libs -directory | % name | % {
+ if ($_ -match "numeric")
+ {
+ "numeric_conversion"
+ "interval"
+ "odeint"
+ "ublas"
+ }
+ else
+ {
+ $_
+ }
+}
+
+mkdir $scriptsDir/downloads -erroraction SilentlyContinue | out-null
+
+if ($libraries.Length -eq 0)
+{
+ $libraries = $libraries_found
+}
+
+$libraries_in_boost_port = @()
+
+foreach ($library in $libraries)
+{
+ "Handling boost/$library..."
+ $archive = "$scriptsDir/downloads/$library-boost-$version.tar.gz"
+ if (!(Test-Path $archive))
+ {
+ "Downloading boost/$library..."
+ Invoke-WebRequest "https://github.com/boostorg/$library/archive/boost-$version.tar.gz" -OutFile $archive
+ }
+ $hash = vcpkg hash $archive
+ $unpacked = "$scriptsDir/libs/$library-boost-$version"
+ if (!(Test-Path $unpacked))
+ {
+ "Unpacking boost/$library..."
+ mkdir $scriptsDir/libs -erroraction SilentlyContinue | out-null
+ pushd $scriptsDir/libs
+ try
+ {
+ cmake -E tar xf $archive
+ }
+ finally
+ {
+ popd
+ }
+ }
+ pushd $unpacked
+ try
+ {
+ $groups = $(
+ findstr /si /C:"#include <boost/" include/*
+ findstr /si /C:"#include <boost/" src/*
+ ) |
+ % { $_ -replace "^[^:]*:","" -replace "boost/numeric/conversion/","boost/numeric_conversion/" -replace "boost/detail/([^/]+)/","boost/`$1/" -replace "#include ?<boost/([a-zA-Z0-9\._]*)(/|>).*", "`$1" -replace "/|\.hp?p?| ","" } | group | % name | % {
+ # mappings
+ Write-Verbose "${library}: $_"
+ if ($_ -match "aligned_storage") { "type_traits" }
+ elseif ($_ -match "noncopyable|ref|swap|get_pointer|checked_delete|visit_each") { "core" }
+ elseif ($_ -eq "type") { "core" }
+ elseif ($_ -match "unordered_") { "unordered" }
+ elseif ($_ -match "cstdint") { "integer" }
+ elseif ($_ -match "call_traits|operators|current_function|cstdlib|next_prior") { "utility" }
+ elseif ($_ -eq "version") { "config" }
+ elseif ($_ -match "shared_ptr|make_shared|intrusive_ptr|scoped_ptr|pointer_to_other|weak_ptr|shared_array|scoped_array") { "smart_ptr" }
+ elseif ($_ -match "iterator_adaptors|generator_iterator|pointee") { "iterator" }
+ elseif ($_ -eq "regex_fwd") { "regex" }
+ elseif ($_ -eq "make_default") { "convert" }
+ elseif ($_ -eq "foreach_fwd") { "foreach" }
+ elseif ($_ -eq "cerrno") { "system" }
+ elseif ($_ -eq "archive") { "serialization" }
+ elseif ($_ -eq "none") { "optional" }
+ elseif ($_ -eq "integer_traits") { "integer" }
+ elseif ($_ -eq "limits") { "compatibility" }
+ elseif ($_ -eq "math_fwd") { "math" }
+ elseif ($_ -match "polymorphic_cast|implicit_cast") { "conversion" }
+ elseif ($_ -eq "nondet_random") { "random" }
+ elseif ($_ -eq "memory_order") { "atomic" }
+ elseif ($_ -eq "blank") { "detail" }
+ elseif ($_ -match "is_placeholder|mem_fn") { "bind" }
+ elseif ($_ -eq "exception_ptr") { "exception" }
+ elseif ($_ -eq "multi_index_container") { "multi_index" }
+ elseif ($_ -eq "lexical_cast") { "lexical_cast"; "math" }
+ elseif ($_ -eq "numeric" -and $library -notmatch "numeric_conversion|interval|odeint|ublas") { "numeric_conversion"; "interval"; "odeint"; "ublas" }
+ else { $_ }
+ } | group | % name | ? { $_ -ne $library }
+
+ #"`nFor ${library}:"
+ " [known] " + $($groups | ? { $libraries_found -contains $_ })
+ " [unknown] " + $($groups | ? { $libraries_found -notcontains $_ })
+
+ $deps = @($groups | ? { $libraries_found -contains $_ })
+
+ $deps = @($deps | ? {
+ # Boost contains cycles, so remove a few dependencies to break the loop.
+ (($library -notmatch "core|assert|mpl|detail|type_traits") -or ($_ -notmatch "utility")) `
+ -and `
+ (($library -notmatch "lexical_cast") -or ($_ -notmatch "math"))`
+ -and `
+ (($library -notmatch "functional") -or ($_ -notmatch "function"))`
+ -and `
+ (($library -notmatch "detail") -or ($_ -notmatch "static_assert|integer|mpl|type_traits"))`
+ -and `
+ (($library -notmatch "property_map") -or ($_ -notmatch "mpi"))`
+ -and `
+ (($library -notmatch "spirit") -or ($_ -notmatch "serialization"))`
+ -and `
+ (($library -notmatch "utility|concept_check") -or ($_ -notmatch "iterator"))
+ } | % { "boost-$_" -replace "_","-" } | % {
+ if ($_ -match $libsDisabledInUWP)
+ {
+ "$_ (windows)"
+ }
+ else
+ {
+ $_
+ }
+ })
+
+ $deps += @("boost-vcpkg-helpers")
+
+ $needsBuild = $false
+ if ((Test-Path $unpacked/build/Jamfile.v2) -and $library -ne "metaparse")
+ {
+ $deps += @("boost-build")
+ $needsBuild = $true
+ }
+
+ if ($library -eq "python")
+ {
+ $deps += @("python3")
+ }
+ elseif ($library -eq "iostreams")
+ {
+ $deps += @("zlib", "bzip2")
+ }
+
+ Generate `
+ -Name $library `
+ -Hash $hash `
+ -Depends $deps `
+ -NeedsBuild $needsBuild
+
+ if ($library -match $libsDisabledInUWP)
+ {
+ $libraries_in_boost_port += @("$library (windows)")
+ }
+ else
+ {
+ $libraries_in_boost_port += @($library)
+ }
+
+ }
+ finally
+ {
+ popd
+ }
+}
+
+# Generate master boost control file which depends on each individual library
+$boostDependsList = @($libraries_in_boost_port | % { "boost-$_" -replace "_","-" }) -join ", "
+
+@(
+ "Source: boost"
+ "Version: $version"
+ "Build-Depends: $boostDependsList"
+) | out-file -enc ascii $scriptsDir/../boost/CONTROL
+
+"set(VCPKG_POLICY_EMPTY_PACKAGE enabled)`n" | out-file -enc ascii $scriptsDir/../boost/portfile.cmake
+
+return
diff --git a/ports/boost-vcpkg-helpers/nothing.bat b/ports/boost-vcpkg-helpers/nothing.bat new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/ports/boost-vcpkg-helpers/nothing.bat diff --git a/ports/boost-vcpkg-helpers/portfile.cmake b/ports/boost-vcpkg-helpers/portfile.cmake new file mode 100644 index 000000000..3d31bd327 --- /dev/null +++ b/ports/boost-vcpkg-helpers/portfile.cmake @@ -0,0 +1,11 @@ +
+file(
+ COPY
+ ${CMAKE_CURRENT_LIST_DIR}/boost-modular.cmake
+ ${CMAKE_CURRENT_LIST_DIR}/Jamroot.jam
+ ${CMAKE_CURRENT_LIST_DIR}/nothing.bat
+ ${CMAKE_CURRENT_LIST_DIR}/user-config.jam
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/boost-vcpkg-helpers
+)
+
+set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
diff --git a/ports/boost-vcpkg-helpers/user-config.jam b/ports/boost-vcpkg-helpers/user-config.jam new file mode 100644 index 000000000..c970f07a5 --- /dev/null +++ b/ports/boost-vcpkg-helpers/user-config.jam @@ -0,0 +1,25 @@ +import toolset ;
+
+using msvc : : cl.exe :
+<setup>@NOTHING_BAT@
+@TOOLSET_OPTIONS@
+;
+
+if "@PORT@" = "boost-python"
+{
+ using python : @PYTHON_VERSION@ : : @PYTHON_INCLUDE_PATH@ : @PYTHONLIBS_RELEASE@ ;
+ using python : @PYTHON_VERSION@ : : @PYTHON_INCLUDE_PATH@ : @PYTHONLIBS_DEBUG@ : <python-debugging>on ;
+}
+
+project user-config : ;
+
+lib advapi32 ;
+
+lib icuuc : : <file>@CURRENT_INSTALLED_DIR@/lib/icuuc.lib <variant>release : : <library>advapi32 ;
+lib icuuc : : <file>@CURRENT_INSTALLED_DIR@/debug/lib/icuucd.lib <variant>debug : : <library>advapi32 ;
+
+lib icuin : : <file>@CURRENT_INSTALLED_DIR@/lib/icuin.lib <variant>release : : ;
+lib icuin : : <file>@CURRENT_INSTALLED_DIR@/debug/lib/icuind.lib <variant>debug : : ;
+
+lib icudt : : <file>@CURRENT_INSTALLED_DIR@/lib/icudt.lib <variant>release : : ;
+lib icudt : : <file>@CURRENT_INSTALLED_DIR@/debug/lib/icudtd.lib <variant>debug : : ;
diff --git a/ports/boost-vmd/CONTROL b/ports/boost-vmd/CONTROL new file mode 100644 index 000000000..cbd36905a --- /dev/null +++ b/ports/boost-vmd/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-vmd
+Version: 1.66.0
+Build-Depends: boost-preprocessor, boost-vcpkg-helpers
+Description: Boost vmd module
diff --git a/ports/boost-vmd/portfile.cmake b/ports/boost-vmd/portfile.cmake new file mode 100644 index 000000000..389ba79fd --- /dev/null +++ b/ports/boost-vmd/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/vmd
+ REF boost-1.66.0
+ SHA512 a0112a6751d1dc9c015d8ba8a2dce5ebe13c2189cec1039a5bc57e71efad7244c39eabdb5e24c8d8111edfc1a9856154b9c3f658f36bfd935274e02229e86821
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-wave/CONTROL b/ports/boost-wave/CONTROL new file mode 100644 index 000000000..99aa3d8be --- /dev/null +++ b/ports/boost-wave/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-wave
+Version: 1.66.0
+Build-Depends: boost-assert, boost-build, boost-concept-check, boost-config, boost-core, boost-detail, boost-filesystem (windows), boost-integer, boost-iterator, boost-mpl, boost-multi-index, boost-pool, boost-preprocessor, boost-serialization, boost-smart-ptr, boost-spirit, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers
+Description: Boost wave module
diff --git a/ports/boost-wave/portfile.cmake b/ports/boost-wave/portfile.cmake new file mode 100644 index 000000000..a9c3ea232 --- /dev/null +++ b/ports/boost-wave/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/wave
+ REF boost-1.66.0
+ SHA512 2fd57aab7cbc92e7d46bc35512f2019d71f0e5af93dfcbfeada595d899bbf9ae1f1c88f915d555f2fce16419a9320164203303d00f09493cfa5f87afde002d42
+ HEAD_REF master
+)
+
+boost_modular_build(SOURCE_PATH ${SOURCE_PATH})
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-winapi/CONTROL b/ports/boost-winapi/CONTROL new file mode 100644 index 000000000..f06f0c530 --- /dev/null +++ b/ports/boost-winapi/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-winapi
+Version: 1.66.0
+Build-Depends: boost-config, boost-integer, boost-predef, boost-vcpkg-helpers
+Description: Boost winapi module
diff --git a/ports/boost-winapi/portfile.cmake b/ports/boost-winapi/portfile.cmake new file mode 100644 index 000000000..eb0b91b8f --- /dev/null +++ b/ports/boost-winapi/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/winapi
+ REF boost-1.66.0
+ SHA512 ec60e5d73d6553ca981b4a65b0edcd85dc54336e6369124204495a35c6c1c7adf79345e47425a93f1d9ed6694bfae76828162eb102bc660901fb276a3e9eb989
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost-xpressive/CONTROL b/ports/boost-xpressive/CONTROL new file mode 100644 index 000000000..e126d3c19 --- /dev/null +++ b/ports/boost-xpressive/CONTROL @@ -0,0 +1,5 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+Source: boost-xpressive
+Version: 1.66.0
+Build-Depends: boost-assert, boost-compatibility, boost-config, boost-conversion, boost-core, boost-detail, boost-exception, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-numeric-conversion, boost-optional, boost-preprocessor, boost-proto, boost-range, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers
+Description: Boost xpressive module
diff --git a/ports/boost-xpressive/portfile.cmake b/ports/boost-xpressive/portfile.cmake new file mode 100644 index 000000000..3848d814c --- /dev/null +++ b/ports/boost-xpressive/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
+
+include(vcpkg_common_functions)
+include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular.cmake)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO boostorg/xpressive
+ REF boost-1.66.0
+ SHA512 99b4cab1ec6e85421dfbd8085cbdad2533e48aaff352ba920d589da328ee78a009d27b53042f08bb64d4b3b02499152928cadb5c97537c9b8ab5ce97daaf34f9
+ HEAD_REF master
+)
+
+boost_modular_headers(SOURCE_PATH ${SOURCE_PATH})
diff --git a/ports/boost/CONTROL b/ports/boost/CONTROL index c07369e2e..660f4898e 100644 --- a/ports/boost/CONTROL +++ b/ports/boost/CONTROL @@ -1,16 +1,3 @@ -Source: boost -Version: 1.65.1-3 -Description: Peer-reviewed portable C++ source libraries -Build-Depends: zlib, bzip2 - -Feature: locale-icu -Description: ICU backend for Boost.Locale -Build-Depends: icu - -Feature: regex-icu -Description: ICU support for Boost.Regex -Build-Depends: icu - -Feature: python -Description: a C++ library which enables seamless interoperability between C++ and the Python programming language. -Build-Depends: python3 +Source: boost
+Version: 1.66.0
+Build-Depends: boost-accumulators, boost-algorithm, boost-align, boost-any, boost-array, boost-asio, boost-assert, boost-assign, boost-atomic, boost-beast, boost-bimap, boost-bind, boost-callable-traits, boost-chrono, boost-circular-buffer, boost-compatibility, boost-compute, boost-concept-check, boost-config, boost-container, boost-context (windows), boost-conversion, boost-convert, boost-core, boost-coroutine (windows), boost-coroutine2, boost-crc, boost-date-time, boost-detail, boost-disjoint-sets, boost-dll, boost-dynamic-bitset, boost-endian, boost-exception, boost-fiber (windows), boost-filesystem (windows), boost-flyweight, boost-foreach, boost-format, boost-function, boost-functional, boost-function-types, boost-fusion, boost-geometry, boost-gil, boost-graph, boost-graph-parallel, boost-hana, boost-heap, boost-icl, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-iostreams (windows), boost-iterator, boost-lambda, boost-lexical-cast, boost-locale (windows), boost-local-function, boost-lockfree, boost-log (windows), boost-logic (windows), boost-math, boost-metaparse, boost-move, boost-mp11, boost-mpi, boost-mpl, boost-msm, boost-multiprecision, boost-multi-array, boost-multi-index, boost-numeric-conversion, boost-interval, boost-odeint, boost-ublas, boost-optional, boost-parameter, boost-phoenix, boost-polygon, boost-poly-collection, boost-pool, boost-predef, boost-preprocessor, boost-process, boost-program-options (windows), boost-property-map, boost-property-tree, boost-proto, boost-ptr-container, boost-python (windows), boost-qvm, boost-random, boost-range, boost-ratio, boost-rational, boost-regex, boost-scope-exit, boost-serialization, boost-signals, boost-signals2, boost-smart-ptr, boost-sort, boost-spirit, boost-stacktrace (windows), boost-statechart, boost-static-assert, boost-system, boost-test (windows), boost-thread (windows), boost-throw-exception, boost-timer, boost-tokenizer, boost-tti, boost-tuple, boost-typeof, boost-type-erasure (windows), boost-type-index, boost-type-traits, boost-units, boost-unordered, boost-utility, boost-uuid, boost-variant, boost-vmd, boost-wave (windows), boost-winapi, boost-xpressive
diff --git a/ports/boost/portfile.cmake b/ports/boost/portfile.cmake index 5d7eee0b3..0283a2085 100644 --- a/ports/boost/portfile.cmake +++ b/ports/boost/portfile.cmake @@ -1,354 +1,2 @@ -include(vcpkg_common_functions) -set(VERSION 1_65) -set(VERSION_FULL 1_65_1) -set(VERSION2 1.65.1) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/boost_${VERSION_FULL}) - -###################### -# Acquire and arrange sources -###################### -vcpkg_download_distfile(ARCHIVE_FILE - URLS "https://sourceforge.net/projects/boost/files/boost/${VERSION2}/boost_${VERSION_FULL}.7z" "http://dl.bintray.com/boostorg/release/${VERSION2}/source/boost_${VERSION_FULL}.7z" - FILENAME "boost_${VERSION_FULL}.7z" - SHA512 b1d9264ec74dd75c68176f5a2d2da33a2c1e3162842cc61a07ac8ed1ebb953855cece4faf72ce99b490b665e813b839e35c7fc8026f2f9cb31b106fb8bab2a9c -) -vcpkg_extract_source_archive(${ARCHIVE_FILE}) - -# apply boost range hotfix -vcpkg_download_distfile(DIFF - URLS "https://github.com/boostorg/range/commit/e7ebe14707130cda7b72e0ae5e93b17157fdb6a2.diff" - FILENAME "boost-range-has_range_iterator-hotfix_e7ebe14707130cda7b72e0ae5e93b17157fdb6a2-2.diff" - SHA512 88392fcf092d07ee2de66d937634688eef1d7491a4e2fb0fce064b4e631813a0814455a329f9eed8b968ff205883751d51a86edecc8e355790fc8a35d6742483 -) - -FILE(READ "${DIFF}" content) -STRING(REGEX REPLACE "include/" "" content "${content}") -set(DIFF2 ${CURRENT_BUILDTREES_DIR}/src/boost-range-has_range_iterator-hotfix_e7ebe14707130cda7b72e0ae5e93b17157fdb6a2.diff.fixed) -FILE(WRITE ${DIFF2} "${content}") -vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} PATCHES ${DIFF2} - ${CMAKE_CURRENT_LIST_DIR}/0001-Fix-boost-ICU-support.patch) - -###################### -# Cleanup previous builds -###################### -file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) -if(EXISTS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) - # It is possible for a file in this folder to be locked due to antivirus or vctip - execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) - file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) - if(EXISTS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) - message(FATAL_ERROR "Unable to remove directory: ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel\n Files are likely in use.") - endif() -endif() - -file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) -if(EXISTS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) - # It is possible for a file in this folder to be locked due to antivirus or vctip - execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) - file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) - if(EXISTS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) - message(FATAL_ERROR "Unable to remove directory: ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg\n Files are likely in use.") - endif() -endif() - -if(EXISTS ${CURRENT_PACKAGES_DIR}/debug) - message(FATAL_ERROR "Error: directory exists: ${CURRENT_PACKAGES_DIR}/debug\n The previous package was not fully cleared. This is an internal error.") -endif() -file(MAKE_DIRECTORY - ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg - ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) - -###################### -# Bootstrap b2 -###################### -if(NOT EXISTS ${SOURCE_PATH}/b2.exe) - message(STATUS "Bootstrapping") - vcpkg_execute_required_process( - COMMAND "${SOURCE_PATH}/bootstrap.bat" msvc - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME bootstrap - ) -endif() -message(STATUS "Bootstrapping done") - -###################### -# Generate configuration -###################### -set(B2_OPTIONS - -sZLIB_INCLUDE="${CURRENT_INSTALLED_DIR}\\include" - -sBZIP2_INCLUDE="${CURRENT_INSTALLED_DIR}\\include" - -sICU_PATH="${CURRENT_INSTALLED_DIR}" - -j$ENV{NUMBER_OF_PROCESSORS} - --debug-configuration - --ignore-site-config - --hash - -q - - threading=multi -) - -# Add build type specific options -set(B2_OPTIONS_DBG - -sZLIB_BINARY=zlibd - -sZLIB_LIBPATH="${CURRENT_INSTALLED_DIR}\\debug\\lib" - -sBZIP2_BINARY=bz2d - -sBZIP2_LIBPATH="${CURRENT_INSTALLED_DIR}\\debug\\lib" -) - -set(B2_OPTIONS_REL - -sZLIB_BINARY=zlib - -sZLIB_LIBPATH="${CURRENT_INSTALLED_DIR}\\lib" - -sBZIP2_BINARY=bz2 - -sBZIP2_LIBPATH="${CURRENT_INSTALLED_DIR}\\lib" -) - -set(LIB_RUNTIME_LINK "shared") -if (VCPKG_CRT_LINKAGE STREQUAL dynamic) - list(APPEND B2_OPTIONS runtime-link=shared) -else() - list(APPEND B2_OPTIONS runtime-link=static) - set(LIB_RUNTIME_LINK "static") -endif() - -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - list(APPEND B2_OPTIONS link=shared) -else() - list(APPEND B2_OPTIONS link=static) -endif() - -if(TRIPLET_SYSTEM_ARCH MATCHES "x64") - list(APPEND B2_OPTIONS address-model=64) -endif() - -if("python" IN_LIST FEATURES) - # Find Python. Can't use find_package here, but we already know where everything is - file(GLOB PYTHON_INCLUDE_PATH "${CURRENT_INSTALLED_DIR}/include/python[0-9.]*") - set(PYTHONLIBS_RELEASE "${CURRENT_INSTALLED_DIR}/lib") - set(PYTHONLIBS_DEBUG "${CURRENT_INSTALLED_DIR}/debug/lib") - string(REGEX REPLACE ".*python([0-9\.]+)$" "\\1" PYTHON_VERSION ${PYTHON_INCLUDE_PATH}) - list(APPEND B2_OPTIONS_DBG python-debugging=on) -else() - list(APPEND B2_OPTIONS --without-python) -endif() - -if("locale-icu" IN_LIST FEATURES) - list(APPEND B2_OPTIONS boost.locale.icu=on) -else() - list(APPEND B2_OPTIONS boost.locale.icu=off) -endif() - -if("regex-icu" IN_LIST FEATURES) - list(APPEND B2_OPTIONS --enable-icu) -else() - list(APPEND B2_OPTIONS --disable-icu) -endif() - - -if(VCPKG_CMAKE_SYSTEM_NAME MATCHES "WindowsStore") - list(APPEND B2_OPTIONS - windows-api=store - # --without-atomic - # --without-chrono - # --without-system - # --without-date_time - # --without-exception - # --without-serialization - # --without-context - # --without-graph_parallel - # --without-signals - # --without-coroutine2 - # --without-graph - # --without-math - # --without-random - # --without-regex - ################################ - --without-type_erasure # depends on thread - --without-log # depends on filesystem - --without-mpi # Needs "using mpi ;" - --without-wave # depends on filesystem - --without-coroutine # depends on thread - --without-metaparse # depends on test - --without-locale # libs\locale\src\encoding\wconv_codepage.ipp(114): error C3861: 'IsDBCSLeadByteEx': identifier not found - --without-timer # libs\timer\src\cpu_timer.cpp(126): error C2039: 'GetProcessTimes': is not a member of '`global namespace'' - --without-program_options # libs\program_options\src\parsers.cpp(194): error C2065: 'environ': undeclared identifier - - --without-test - --without-fiber - --without-stacktrace - --without-filesystem # libs\filesystem\src\operations.cpp(178): error C2039: 'GetEnvironmentVariableW': is not a member of '`global namespace'' - --without-thread - --without-iostreams - --without-container - --without-python - ) - if(VCPKG_PLATFORM_TOOLSET MATCHES "v141") - find_path(PATH_TO_CL cl.exe) - find_path(PLATFORM_WINMD_DIR platform.winmd PATHS "${PATH_TO_CL}/../../../lib/x86/store/references" NO_DEFAULT_PATH) - if(PLATFORM_WINMD_DIR MATCHES "NOTFOUND") - message(FATAL_ERROR "Could not find `platform.winmd` in VS2017. Do you have the Universal Windows Platform development workload installed?") - endif() - else() - find_path(PLATFORM_WINMD_DIR platform.winmd PATHS "$ENV{VS140COMNTOOLS}/../../VC/LIB/store/references") - if(PLATFORM_WINMD_DIR MATCHES "NOTFOUND") - message(FATAL_ERROR "Could not find `platform.winmd` in VS2015.") - endif() - endif() - file(TO_NATIVE_PATH "${PLATFORM_WINMD_DIR}" PLATFORM_WINMD_DIR) - string(REPLACE "\\" "\\\\" PLATFORM_WINMD_DIR ${PLATFORM_WINMD_DIR}) # escape backslashes - configure_file(${CMAKE_CURRENT_LIST_DIR}/uwp/user-config.jam ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/user-config.jam ESCAPE_QUOTES @ONLY) - configure_file(${CMAKE_CURRENT_LIST_DIR}/uwp/user-config.jam ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/user-config.jam ESCAPE_QUOTES @ONLY) -else() - configure_file(${CMAKE_CURRENT_LIST_DIR}/desktop/user-config.jam ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/user-config.jam @ONLY) - configure_file(${CMAKE_CURRENT_LIST_DIR}/desktop/user-config.jam ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/user-config.jam @ONLY) -endif() - -if(VCPKG_PLATFORM_TOOLSET MATCHES "v141") - list(APPEND B2_OPTIONS toolset=msvc-14.1) -elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v140") - list(APPEND B2_OPTIONS toolset=msvc-14.0) -else() - message(FATAL_ERROR "Unsupported value for VCPKG_PLATFORM_TOOLSET: '${VCPKG_PLATFORM_TOOLSET}'") -endif() - -set(B2_OPTIONS_DBG - ${B2_OPTIONS} - ${B2_OPTIONS_DBG} -) - -set(B2_OPTIONS_REL - ${B2_OPTIONS} - ${B2_OPTIONS_REL} -) - -###################### -# Perform build + Package -###################### -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - message(STATUS "Building ${TARGET_TRIPLET}-rel") - set(ENV{BOOST_BUILD_PATH} ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) - vcpkg_execute_required_process_repeat( - COUNT 2 - COMMAND "${SOURCE_PATH}/b2.exe" - --stagedir=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/stage - --build-dir=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel - ${B2_OPTIONS_REL} - variant=release - debug-symbols=on - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME build-${TARGET_TRIPLET}-rel - ) - message(STATUS "Building ${TARGET_TRIPLET}-rel done") -endif() -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - message(STATUS "Building ${TARGET_TRIPLET}-dbg") - set(ENV{BOOST_BUILD_PATH} ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) - vcpkg_execute_required_process_repeat( - COUNT 2 - COMMAND "${SOURCE_PATH}/b2.exe" - --stagedir=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/stage - --build-dir=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg - ${B2_OPTIONS_DBG} - variant=debug - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME build-${TARGET_TRIPLET}-dbg - ) - message(STATUS "Building ${TARGET_TRIPLET}-dbg done") -endif() - -message(STATUS "Packaging headers") -file( - COPY ${SOURCE_PATH}/boost - DESTINATION ${CURRENT_PACKAGES_DIR}/include -) - -# Disable Boost auto-link. -file(APPEND ${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp - "\n#ifndef BOOST_ALL_NO_LIB\n#define BOOST_ALL_NO_LIB\n#endif\n" -) -file(APPEND ${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp - "\n#undef BOOST_ALL_DYN_LINK\n" -) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(APPEND ${CURRENT_PACKAGES_DIR}/include/boost/config/user.hpp - "\n#define BOOST_ALL_DYN_LINK\n" - ) -endif() - -file(INSTALL ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/boost RENAME copyright) -message(STATUS "Packaging headers done") - -# This function makes the static build lib names match the dynamic build lib names which FindBoost.cmake is looking for by default. -# It also renames a couple of "libboost" lib files in the dynamic build (for example libboost_exception-vc140-mt-1_63.lib). -function(boost_rename_libs LIBS) - foreach(LIB ${${LIBS}}) - get_filename_component(OLD_FILENAME ${LIB} NAME) - get_filename_component(DIRECTORY_OF_LIB_FILE ${LIB} DIRECTORY) - string(REPLACE "libboost_" "boost_" NEW_FILENAME ${OLD_FILENAME}) - string(REPLACE "-s-" "-" NEW_FILENAME ${NEW_FILENAME}) # For Release libs - string(REPLACE "-vc141-" "-vc140-" NEW_FILENAME ${NEW_FILENAME}) # To merge VS2017 and VS2015 binaries - string(REPLACE "-sgd-" "-gd-" NEW_FILENAME ${NEW_FILENAME}) # For Debug libs - if ("${DIRECTORY_OF_LIB_FILE}/${NEW_FILENAME}" STREQUAL "${DIRECTORY_OF_LIB_FILE}/${OLD_FILENAME}") - # nothing to do - elseif (EXISTS ${DIRECTORY_OF_LIB_FILE}/${NEW_FILENAME}) - file(REMOVE ${DIRECTORY_OF_LIB_FILE}/${OLD_FILENAME}) - else() - file(RENAME ${DIRECTORY_OF_LIB_FILE}/${OLD_FILENAME} ${DIRECTORY_OF_LIB_FILE}/${NEW_FILENAME}) - endif() - endforeach() -endfunction() - -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - message(STATUS "Packaging ${TARGET_TRIPLET}-rel") - file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/stage/lib/ - DESTINATION ${CURRENT_PACKAGES_DIR}/lib - FILES_MATCHING PATTERN "*.lib") - if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/stage/lib/ - DESTINATION ${CURRENT_PACKAGES_DIR}/bin - FILES_MATCHING PATTERN "*.dll") - endif() - file(GLOB RELEASE_LIBS ${CURRENT_PACKAGES_DIR}/lib/*.lib) - - boost_rename_libs(RELEASE_LIBS) - message(STATUS "Packaging ${TARGET_TRIPLET}-rel done") -endif() - -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - message(STATUS "Packaging ${TARGET_TRIPLET}-dbg") - file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/stage/lib/ - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib - FILES_MATCHING PATTERN "*.lib") - if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/stage/lib/ - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin - FILES_MATCHING PATTERN "*.dll") - endif() - file(GLOB DEBUG_LIBS ${CURRENT_PACKAGES_DIR}/debug/lib/*.lib) - boost_rename_libs(DEBUG_LIBS) - message(STATUS "Packaging ${TARGET_TRIPLET}-dbg done") -endif() - -macro(move_to_manual_link LIBNAME) - if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/${LIBNAME}-vc140-mt-${VERSION_FULL}.lib) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link) - file(RENAME - ${CURRENT_PACKAGES_DIR}/lib/${LIBNAME}-vc140-mt-${VERSION_FULL}.lib - ${CURRENT_PACKAGES_DIR}/lib/manual-link/${LIBNAME}-vc140-mt-${VERSION_FULL}.lib - ) - endif() - if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/${LIBNAME}-vc140-mt-gd-${VERSION_FULL}.lib) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) - file(RENAME - ${CURRENT_PACKAGES_DIR}/debug/lib/${LIBNAME}-vc140-mt-gd-${VERSION_FULL}.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/${LIBNAME}-vc140-mt-gd-${VERSION_FULL}.lib - ) - endif() -endmacro() - -move_to_manual_link(boost_test_exec_monitor) -move_to_manual_link(boost_prg_exec_monitor) - -vcpkg_copy_pdbs() - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +
diff --git a/ports/brotli/CONTROL b/ports/brotli/CONTROL index 25bc036a8..0c4d7eb0c 100644 --- a/ports/brotli/CONTROL +++ b/ports/brotli/CONTROL @@ -1,3 +1,3 @@ Source: brotli
-Version: 0.6.0-1
+Version: 1.0.2-1
Description: a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling.
diff --git a/ports/brotli/portfile.cmake b/ports/brotli/portfile.cmake index 36e489bc4..b4e33086e 100644 --- a/ports/brotli/portfile.cmake +++ b/ports/brotli/portfile.cmake @@ -3,49 +3,35 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/brotli - REF v0.6.0 - SHA512 36caa277790efeb5bff0fdc090cdcf00fd9995c4e81a60ed31d36af2e13848ec1afe5d84e6926eebbee013525191e9404e112cb7fbede16097221c5bc3dfb5d5 + REF v1.0.2 + SHA512 b3ec98159e63b4169dea3e958d60d89247dc1c0f78aab27bfffb2ece659fa024df990d410aa15c12b2082d42e3785e32ec248dce2b116c7f34e98bb6337f9fc9 HEAD_REF master ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + OPTIONS -DBROTLI_DISABLE_TESTS=ON ) -vcpkg_build_cmake() +vcpkg_install_cmake() -file(GLOB DLLS - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*.dll" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/*.dll" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/Release/*.dll" -) -file(GLOB LIBS - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*.lib" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/*.lib" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/Release/*.lib" -) -file(GLOB DEBUG_DLLS - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*.dll" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/*.dll" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*/Debug/*.dll" -) -file(GLOB DEBUG_LIBS - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*.lib" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/*.lib" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*/Debug/*.lib" -) -file(GLOB HEADERS "${SOURCE_PATH}/c/include/brotli/*.h" "${SOURCE_PATH}/include/brotli/*.h") -if(DLLS) - file(INSTALL ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) -endif() -file(INSTALL ${LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -if(DEBUG_DLLS) - file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/brotli) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/brotli.exe ${CURRENT_PACKAGES_DIR}/tools/brotli/brotli.exe) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/brotli.exe) + +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/brotli) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(GLOB STATIC_LIBS "${CURRENT_PACKAGES_DIR}/lib/*-static.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/*-static.lib") + file(REMOVE ${STATIC_LIBS}) +else() + file(GLOB LIBS "${CURRENT_PACKAGES_DIR}/lib/*.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/*.lib") + list(FILTER LIBS EXCLUDE REGEX "-static\\.lib\$") + file(REMOVE_RECURSE ${LIBS} ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() -file(INSTALL ${DEBUG_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) -file(INSTALL ${HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include/brotli) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/brotli RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/cgal/CONTROL b/ports/cgal/CONTROL index d6d01956d..c2331f294 100644 --- a/ports/cgal/CONTROL +++ b/ports/cgal/CONTROL @@ -1,4 +1,4 @@ Source: cgal -Version: 4.11 -Build-Depends:mpfr, mpir, zlib, boost, qt5 +Version: 4.11-1 +Build-Depends: mpfr, mpir, zlib, qt5, boost-format, boost-container, boost-iterator, boost-variant, boost-any, boost-unordered, boost-random Description: The Computational Geometry Algorithms Library (CGAL) is a C++ library that aims to provide easy access to efficient and reliable algorithms in computational geometry. diff --git a/ports/cgal/portfile.cmake b/ports/cgal/portfile.cmake index c55d0ba3e..9ef8c189d 100644 --- a/ports/cgal/portfile.cmake +++ b/ports/cgal/portfile.cmake @@ -10,6 +10,7 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA ) vcpkg_install_cmake() diff --git a/ports/chakracore/CONTROL b/ports/chakracore/CONTROL index f3b510ecd..b86fa8963 100644 --- a/ports/chakracore/CONTROL +++ b/ports/chakracore/CONTROL @@ -1,3 +1,3 @@ Source: chakracore -Version: 1.4.3 -Description: Core part of the Chakra Javascript engine
\ No newline at end of file +Version: 1.7.4 +Description: Core part of the Chakra Javascript engine diff --git a/ports/chakracore/portfile.cmake b/ports/chakracore/portfile.cmake index 331cd8b31..7bb628744 100644 --- a/ports/chakracore/portfile.cmake +++ b/ports/chakracore/portfile.cmake @@ -10,8 +10,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/ChakraCore - REF v1.4.3 - SHA512 6083bbbb4b980f44fe0e1d3581eea17190e379134f9312f11d195694aa3e0d9723406d8048ce461bc2744306c07b44465d6d58636b114a82b2f42d7a3316c9af + REF v1.7.4 + SHA512 116ed75d3128f8d9e8ad5a12deed194e14403e05f495422b14277a31620a37b7c8324f04738947388393b0e204f7748bb81d90ebab3373a198db76b70f89f374 HEAD_REF master ) diff --git a/ports/cpprestsdk/CONTROL b/ports/cpprestsdk/CONTROL index 48b7a26e0..5dcd880f0 100644 --- a/ports/cpprestsdk/CONTROL +++ b/ports/cpprestsdk/CONTROL @@ -1,5 +1,5 @@ Source: cpprestsdk -Version: 2.10.0 -Build-Depends: zlib, openssl (windows), boost (windows), websocketpp (windows) +Version: 2.10.1-1 +Build-Depends: zlib, openssl (windows), boost-system (windows), boost-date-time (windows), boost-regex (windows), websocketpp (windows) Description: C++11 JSON, REST, and OAuth library The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services. diff --git a/ports/cpprestsdk/portfile.cmake b/ports/cpprestsdk/portfile.cmake index 6f339c48a..ca22f2a5c 100644 --- a/ports/cpprestsdk/portfile.cmake +++ b/ports/cpprestsdk/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/cpprestsdk - REF v2.10.0 - SHA512 78e7a38c21db5b563d08cb082bfa96360ac44c66f2189a614d3d2bb71655fd82d931f138590d2dba2d6a4c0884ae37a5be34ea3b753c3517bd68ce490daf60b4 + REF v2.10.1 + SHA512 f6a93e5e87e27db724ccc028326b1dce243617cb0ae0d101b2cea700c4f264c073cb0e8a9d88a14be165e16ef2f1f43a17e49278087bc8cf372e623a1b6a9c47 HEAD_REF master ) @@ -16,6 +16,11 @@ if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") -DWEBSOCKETPP_CONFIG_VERSION=${WEBSOCKETPP_PATH}) endif() +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES "${CMAKE_CURRENT_LIST_DIR}/undef-minmax.patch" +) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH}/Release PREFER_NINJA @@ -25,6 +30,7 @@ vcpkg_configure_cmake( -DBUILD_SAMPLES=OFF -DCPPREST_EXCLUDE_WEBSOCKETS=OFF -DCPPREST_EXPORT_DIR=share/cpprestsdk + -DWERROR=OFF OPTIONS_DEBUG -DCPPREST_INSTALL_HEADERS=OFF ) diff --git a/ports/cpprestsdk/undef-minmax.patch b/ports/cpprestsdk/undef-minmax.patch new file mode 100644 index 000000000..4dc3bc019 --- /dev/null +++ b/ports/cpprestsdk/undef-minmax.patch @@ -0,0 +1,14 @@ +diff --git a/Release/src/http/client/http_client_winrt.cpp b/Release/src/http/client/http_client_winrt.cpp +index 697f48a..4ada65a 100644 +--- a/Release/src/http/client/http_client_winrt.cpp ++++ b/Release/src/http/client/http_client_winrt.cpp +@@ -28,6 +28,9 @@ using namespace std; + using namespace Platform; + using namespace Microsoft::WRL; + ++#undef min ++#undef max ++ + namespace web + { + namespace http diff --git a/ports/cppunit/CONTROL b/ports/cppunit/CONTROL index 76a315cdf..b7d8968d7 100644 --- a/ports/cppunit/CONTROL +++ b/ports/cppunit/CONTROL @@ -1,3 +1,3 @@ Source: cppunit -Version: 1.13.2 +Version: 1.14.0 Description: CppUnit is the C++ port of the famous JUnit framework for unit testing. Test output is in XML for automatic testing and GUI based for supervised tests.
\ No newline at end of file diff --git a/ports/cppunit/portfile.cmake b/ports/cppunit/portfile.cmake index 14b1d0478..a56f7849a 100644 --- a/ports/cppunit/portfile.cmake +++ b/ports/cppunit/portfile.cmake @@ -11,11 +11,12 @@ # include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}/cppunit-1.13.2) +set(VERSION 1.14.0) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}/cppunit-${VERSION}) vcpkg_download_distfile(ARCHIVE - URLS "http://dev-www.libreoffice.org/src/cppunit-1.13.2.tar.gz" - FILENAME "cppunit-1.13.2.tar.gz" - SHA512 8f4be569f321d577cec31931f49f4df143bc94e283605509b6ea50c60690aa91a2aed940e7eebd4b2413a4218f9a6c3978d312d8e587eab040283c6563846ecd + URLS "http://dev-www.libreoffice.org/src/cppunit-${VERSION}.tar.gz" + FILENAME "cppunit-${VERSION}.tar.gz" + SHA512 4ea1da423c6f7ab37e4144689f593396829ce74d43872d6b10709c1ad5fbda4ee945842f7e9803592520ef81ac713e95a3fe130295bf048cd32a605d1959882e ) file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}) diff --git a/ports/crow/CONTROL b/ports/crow/CONTROL new file mode 100644 index 000000000..0b33939d5 --- /dev/null +++ b/ports/crow/CONTROL @@ -0,0 +1,3 @@ +Source: crow +Version: 0.1 +Description: Very fast and easy to use C++ micro web framework diff --git a/ports/crow/portfile.cmake b/ports/crow/portfile.cmake new file mode 100644 index 000000000..de9471fcc --- /dev/null +++ b/ports/crow/portfile.cmake @@ -0,0 +1,12 @@ +include(vcpkg_common_functions) + +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/crow-0.1) +vcpkg_download_distfile(ARCHIVE_FILE + URLS "https://github.com/ipkn/crow/archive/v0.1.tar.gz" + FILENAME "crow-v0.1.tar.gz" + SHA512 5a97c5b8cda3ffe79001aa382d4391eddde30027401bbb1d9c85c70ea715f556d3659f5eac0b9d9192c19d13718f19ad6bdf49d67bef03b21e75300d60e7d02a +) +vcpkg_extract_source_archive(${ARCHIVE_FILE}) + +file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/crow RENAME copyright) diff --git a/ports/curl/0001_cmake.patch b/ports/curl/0001_cmake.patch index db281e122..4298321b3 100644 --- a/ports/curl/0001_cmake.patch +++ b/ports/curl/0001_cmake.patch @@ -11,3 +11,18 @@ index 12a7c61..9839c67 100644 ) if(LIBSSH2_INCLUDE_DIR) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7b73b98..6c7c559 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1132,7 +1132,9 @@ function(TRANSFORM_MAKEFILE_INC INPUT_FILE OUTPUT_FILE) + + endfunction() + +-if(WIN32 AND NOT CYGWIN) ++if(MSVC) ++ set(CURL_INSTALL_CMAKE_DIR share/curl) ++elseif(WIN32 AND NOT CYGWIN) + set(CURL_INSTALL_CMAKE_DIR CMake) + else() + set(CURL_INSTALL_CMAKE_DIR lib/cmake/curl) diff --git a/ports/curl/0002_fix_uwp.patch b/ports/curl/0002_fix_uwp.patch index a3f227fb1..8408177e8 100644 --- a/ports/curl/0002_fix_uwp.patch +++ b/ports/curl/0002_fix_uwp.patch @@ -1,9 +1,9 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0caf3dc..de9fcdb 100644 +index 7b73b98..72f6171 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -941,7 +941,9 @@ check_symbol_exists(ioctl "${CURL_INCLUDES}" HAVE_IOCTL) - check_symbol_exists(setsockopt "${CURL_INCLUDES}" HAVE_SETSOCKOPT) +@@ -882,7 +882,9 @@ check_symbol_exists(setsockopt "${CURL_INCLUDES}" HAVE_SETSOCKOPT) + check_function_exists(mach_absolute_time HAVE_MACH_ABSOLUTE_TIME) # symbol exists in win32, but function does not. -if(WIN32) @@ -38,10 +38,10 @@ index 8337c72..41867b2 100644 } else { diff --git a/lib/curl_ntlm_core.c b/lib/curl_ntlm_core.c -index aea5452..c1f59f2 100644 +index e896276..268f0ea 100644 --- a/lib/curl_ntlm_core.c +++ b/lib/curl_ntlm_core.c -@@ -700,9 +700,12 @@ CURLcode Curl_ntlm_core_mk_ntlmv2_resp(unsigned char *ntlmv2hash, +@@ -743,9 +743,12 @@ CURLcode Curl_ntlm_core_mk_ntlmv2_resp(unsigned char *ntlmv2hash, /* Calculate the timestamp */ #ifdef DEBUGBUILD @@ -57,10 +57,10 @@ index aea5452..c1f59f2 100644 #endif tw = ((curl_off_t)time(NULL) + CURL_OFF_T_C(11644473600)) * 10000000; diff --git a/lib/ftp.c b/lib/ftp.c -index 6e86e53..a96fe1a 100644 +index 8042edf..3442df7 100644 --- a/lib/ftp.c +++ b/lib/ftp.c -@@ -4292,7 +4292,7 @@ CURLcode ftp_parse_url_path(struct connectdata *conn) +@@ -4297,7 +4297,7 @@ CURLcode ftp_parse_url_path(struct connectdata *conn) /* prevpath is "raw" so we convert the input path before we compare the strings */ size_t dlen; @@ -70,7 +70,7 @@ index 6e86e53..a96fe1a 100644 Curl_urldecode(conn->data, data->state.path, 0, &path, &dlen, FALSE); if(result) { diff --git a/lib/rand.c b/lib/rand.c -index 2713a0a..7da6e00 100644 +index 2670af9..0d18d37 100644 --- a/lib/rand.c +++ b/lib/rand.c @@ -44,7 +44,7 @@ static CURLcode randit(struct Curl_easy *data, unsigned int *rnd) diff --git a/ports/curl/CONTROL b/ports/curl/CONTROL index 1193e114f..cdc514006 100644 --- a/ports/curl/CONTROL +++ b/ports/curl/CONTROL @@ -1,4 +1,4 @@ Source: curl -Version: 7.55.1-1 +Version: 7.57.0-1 Build-Depends: zlib, openssl, libssh2 Description: A library for transferring data with URLs diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake index eaeba787d..8a5d17ed6 100644 --- a/ports/curl/portfile.cmake +++ b/ports/curl/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO curl/curl - REF curl-7_55_1 - SHA512 b5c6dd6cca8d07c08d1760feff9822f1264359adde068afd1584fc3fdcfa50c68e0e1b5ecaa277298ad0923b61019943c181ee1f0870c312399038c4c4e0e327 + REF curl-7_57_0 + SHA512 19f963d86682153d2d73731c784adf6457bc3fd48b628d6d701649f64718b10df268797ce21ad5f5339efc5df81b8547772edcc36c046665309e32997d5d1afc HEAD_REF master ) @@ -64,6 +64,8 @@ else() endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + file(READ ${CURRENT_PACKAGES_DIR}/include/curl/curl.h CURL_H) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) string(REPLACE "#ifdef CURL_STATICLIB" "#if 1" CURL_H "${CURL_H}") diff --git a/ports/doctest/CONTROL b/ports/doctest/CONTROL index 29093fae4..872c47475 100644 --- a/ports/doctest/CONTROL +++ b/ports/doctest/CONTROL @@ -1,3 +1,3 @@ Source: doctest -Version: 1.2.0 +Version: 1.2.6 Description: The fastest feature-rich C++ single-header testing framework for unit tests and TDD diff --git a/ports/doctest/portfile.cmake b/ports/doctest/portfile.cmake index 4a98020f0..eef9b4ca1 100644 --- a/ports/doctest/portfile.cmake +++ b/ports/doctest/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO onqtam/doctest - REF 1.2.0 - SHA512 7e01e4b817e2200fcd7216342b184ddb60723180bb0a69e24d8c54b7b7d5d983bbd7a2fb0c629e87c95127f4213cca11beb95d079880313d2445703e289c23b5 + REF 1.2.6 + SHA512 bee59e9e18a474b9a7883e0c506a1133fdd382d3ecbe010c0402399d6c48572508bfa347a2196908d846e345508c564f758b17c268a19b65968f5c2ff87b25a4 HEAD_REF master ) diff --git a/ports/ecm/CONTROL b/ports/ecm/CONTROL index 12a9fd8a9..147603756 100644 --- a/ports/ecm/CONTROL +++ b/ports/ecm/CONTROL @@ -1,3 +1,3 @@ Source: ecm -Version: 5.37.0-1 +Version: 5.40.0 Description: Extra CMake Modules (ECM), extra modules and scripts for CMake diff --git a/ports/ecm/portfile.cmake b/ports/ecm/portfile.cmake index 0e016418c..56dcdcf7d 100644 --- a/ports/ecm/portfile.cmake +++ b/ports/ecm/portfile.cmake @@ -1,12 +1,13 @@ #cmake-only scripts include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/extra-cmake-modules-5.37.0) -vcpkg_download_distfile(ARCHIVE - URLS "https://download.kde.org/stable/frameworks/5.37/extra-cmake-modules-5.37.0.zip" - FILENAME "extra-cmake-modules-5.37.0.zip" - SHA512 a9cd585fb5c63452fc45c955df62b6e7aca3d19e47ca2db33216f83951645f393271f37a04630e5c7f01899063562548c2b0dfe79d7afa8661bb0a8bca5ccfbf + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/extra-cmake-modules + REF v5.40.0 + SHA512 1f79d797770367e79c2c6dd73c125d32fcc5fe404b350d953b69cc6544babc1c73e2986c833635daaac85a5af966977e40fe41c01ac48ccc45d46d2e1636d21f + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/exiv2/CONTROL b/ports/exiv2/CONTROL index 4db8e73ee..15d24a868 100644 --- a/ports/exiv2/CONTROL +++ b/ports/exiv2/CONTROL @@ -1,4 +1,4 @@ Source: exiv2 -Version: 4f4add2cdcbe73af7098122a509dff0739d15908 +Version: 8f5b795eaa4bc414d2d6041c1dbd1a7f7bf1fc99 Build-Depends:zlib, expat Description: Image metadata library and tools http://www.exiv2.org diff --git a/ports/exiv2/portfile.cmake b/ports/exiv2/portfile.cmake index f9aff3e93..fb44d3e94 100644 --- a/ports/exiv2/portfile.cmake +++ b/ports/exiv2/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Exiv2/exiv2 - REF 4f4add2cdcbe73af7098122a509dff0739d15908 - SHA512 32207cfd7ac932942562e062e851d7ba9be5586f33c2d924fb2a908a78f0c53f0d2973108c49bc865a3e7697a04a4b65d991441e4b89baca82b51b61affd4fa3 + REF 8f5b795eaa4bc414d2d6041c1dbd1a7f7bf1fc99 + SHA512 672d5d2e823e72ed20d0d5f8f993b797a39109f99734b25db8eefdefa47e54df83d0644798ecb04891f68544e9e407a816ec6901027f14ef116f186b07043c18 HEAD_REF master ) @@ -14,6 +14,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH "share/exiv2/cmake") + vcpkg_copy_pdbs() # Clean diff --git a/ports/expat/CONTROL b/ports/expat/CONTROL index 450b8e61d..edbcf2326 100644 --- a/ports/expat/CONTROL +++ b/ports/expat/CONTROL @@ -1,3 +1,3 @@ Source: expat -Version: 2.2.4-2 +Version: 2.2.5 Description: XML parser library written in C diff --git a/ports/expat/portfile.cmake b/ports/expat/portfile.cmake index 66a714817..a8f320ab3 100644 --- a/ports/expat/portfile.cmake +++ b/ports/expat/portfile.cmake @@ -6,8 +6,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libexpat/libexpat - REF R_2_2_4 - SHA512 64f9deb2f75be70450a60a408ab867d1df800022e29000a31a801d85421178b400ebbf817864d1592ce998ada1012fa25fd896e5f25c6b314851ae62d94b45dc + REF R_2_2_5 + SHA512 61ce2a479521412e0c56c352106c4adfb61a6bedb883921aba3ebccc29311ddd192646ac2c51b41572728d4de6ab4cb60a1dbc71515d742a80a8b59d89ca74d6 HEAD_REF master) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) diff --git a/ports/fcl/0002-fix_dependencies.patch b/ports/fcl/0002-fix_dependencies.patch new file mode 100644 index 000000000..34b069291 --- /dev/null +++ b/ports/fcl/0002-fix_dependencies.patch @@ -0,0 +1,14 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 5ce1f77..1f3e863 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -10,8 +10,7 @@ set_target_properties(${PROJECT_NAME} PROPERTIES + SOVERSION ${FCL_ABI_VERSION}) + + target_link_libraries(${PROJECT_NAME} +- PUBLIC ${OCTOMAP_LIBRARIES} +- PRIVATE ${CCD_LIBRARIES} ++ PUBLIC octomap octomath ccd + PRIVATE ${Boost_LIBRARIES}) + + target_include_directories(${PROJECT_NAME} INTERFACE diff --git a/ports/fcl/CONTROL b/ports/fcl/CONTROL index daadff075..0e425f59b 100644 --- a/ports/fcl/CONTROL +++ b/ports/fcl/CONTROL @@ -1,4 +1,4 @@ Source: fcl -Version: 0.5.0-2 +Version: 0.5.0-3 Description: a library for performing three types of proximity queries on a pair of geometric models composed of triangles -Build-Depends: boost, ccd, octomap +Build-Depends: ccd, octomap diff --git a/ports/fcl/portfile.cmake b/ports/fcl/portfile.cmake index e0cee7e02..851a013c2 100644 --- a/ports/fcl/portfile.cmake +++ b/ports/fcl/portfile.cmake @@ -16,7 +16,8 @@ vcpkg_from_github( vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001_fix_package_detection.patch) + ${CMAKE_CURRENT_LIST_DIR}/0001_fix_package_detection.patch + ${CMAKE_CURRENT_LIST_DIR}/0002-fix_dependencies.patch) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) set(FCL_STATIC_LIBRARY ON) @@ -37,6 +38,11 @@ vcpkg_copy_pdbs() vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake/") +file(READ ${CURRENT_PACKAGES_DIR}/share/fcl/fclConfig.cmake FCL_CONFIG) +string(REPLACE "unset(_expectedTargets)" + "unset(_expectedTargets)\n\nfind_package(octomap REQUIRED)\nfind_package(ccd REQUIRED)" FCL_CONFIG "${FCL_CONFIG}") +file(WRITE ${CURRENT_PACKAGES_DIR}/share/fcl/fclConfig.cmake "${FCL_CONFIG}") + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/fcl RENAME copyright) diff --git a/ports/flint/CONTROL b/ports/flint/CONTROL index ee495fc0c..ce4646883 100644 --- a/ports/flint/CONTROL +++ b/ports/flint/CONTROL @@ -1,4 +1,4 @@ Source: flint -Version: 2.5.2 +Version: 2.5.2-1 Description: Fast Library for Number Theory Build-Depends: mpir, mpfr, pthreads, gettimeofday diff --git a/ports/flint/portfile.cmake b/ports/flint/portfile.cmake index e20ef9731..9a9d5136b 100644 --- a/ports/flint/portfile.cmake +++ b/ports/flint/portfile.cmake @@ -1,9 +1,3 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "Warning: Dynamic building not supported yet. Building static.") - set(VCPKG_CRT_LINKAGE static) - set(VCPKG_LIBRARY_LINKAGE static) -endif() - include(vcpkg_common_functions) set(FLINT_VERSION 2.5.2) diff --git a/ports/folly/CONTROL b/ports/folly/CONTROL index 027979146..dfd4b833e 100644 --- a/ports/folly/CONTROL +++ b/ports/folly/CONTROL @@ -1,4 +1,4 @@ Source: folly -Version: 2017.10.02.00 +Version: 2017.11.27.00-1 Description: An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows -Build-Depends: zlib, openssl, boost, libevent, double-conversion, glog, gflags, lz4, liblzma, snappy +Build-Depends: zlib, openssl, libevent, double-conversion, glog, gflags, lz4, liblzma, snappy, boost-context, boost-chrono, boost-date-time, boost-filesystem, boost-program-options, boost-regex, boost-system, boost-thread, boost-conversion, boost-multi-index, boost-crc diff --git a/ports/folly/fix-MSG_ERRQUEUE.diff b/ports/folly/fix-MSG_ERRQUEUE.diff deleted file mode 100644 index ee3a1215a..000000000 --- a/ports/folly/fix-MSG_ERRQUEUE.diff +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/folly/io/async/AsyncSocket.cpp b/folly/io/async/AsyncSocket.cpp -index 7f8c5f13..f77adbc0 100644 ---- a/folly/io/async/AsyncSocket.cpp -+++ b/folly/io/async/AsyncSocket.cpp -@@ -41,7 +41,7 @@ namespace fsp = folly::portability::sockets; - namespace folly { - - static constexpr bool msgErrQueueSupported = --#ifdef MSG_ERRQUEUE -+#if defined(MSG_ERRQUEUE) && !defined(_WIN32) - true; - #else - false; -@@ -1551,7 +1551,7 @@ void AsyncSocket::handleErrMessages() noexcept { - return; - } - --#ifdef MSG_ERRQUEUE -+#if defined(MSG_ERRQUEUE) && !defined(_WIN32) - uint8_t ctrl[1024]; - unsigned char data; - struct msghdr msg; diff --git a/ports/folly/fix-histogram.diff b/ports/folly/fix-histogram.diff deleted file mode 100644 index ca92a891e..000000000 --- a/ports/folly/fix-histogram.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- a/folly/stats/Histogram.h -+++ b/folly/stats/Histogram.h -@@ -485,7 +485,7 @@ - // with /permissive- (the default for the CMake build), so we directly include - // the -defs as if it were -inl, and don't provide the explicit instantiations. - // https://developercommunity.visualstudio.com/content/problem/81223/incorrect-error-c5037-with-permissive.html --#if defined(_MSC_VER) && _MSC_FULL_VER >= 191125506 && _MSC_FULL_VER < 191125542 -+#if defined(_MSC_VER) && _MSC_FULL_VER >= 191125506 && _MSC_FULL_VER <= 191125547 - #define FOLLY_MSVC_USE_WORKAROUND_FOR_C5037 1 - #else - #define FOLLY_MSVC_USE_WORKAROUND_FOR_C5037 0 diff --git a/ports/folly/fix-malloc.diff b/ports/folly/fix-malloc.diff deleted file mode 100644 index db7a23063..000000000 --- a/ports/folly/fix-malloc.diff +++ /dev/null @@ -1,12 +0,0 @@ ---- a/folly/Malloc.h Mon Oct 09 04:35:09 2017 -+++ b/folly/Malloc.h Fri Oct 13 15:31:36 2017 -@@ -189,9 +189,6 @@ - return false; - } - -- /* Avoid optimizing away the malloc. */ -- asm volatile("" ::"m"(ptr) : "memory"); -- - return (origAllocated != *counter); - }(); - diff --git a/ports/folly/fix-static-linking.diff b/ports/folly/fix-static-linking.diff deleted file mode 100644 index 80434faca..000000000 --- a/ports/folly/fix-static-linking.diff +++ /dev/null @@ -1,98 +0,0 @@ -diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake -index 211c6fbf..fbcbddf0 100755 ---- a/CMake/folly-deps.cmake -+++ b/CMake/folly-deps.cmake -@@ -10,9 +10,26 @@ find_package(Boost 1.55.0 MODULE - thread - REQUIRED - ) -+ - find_package(DoubleConversion MODULE REQUIRED) --find_package(GFlags MODULE REQUIRED) --find_package(GLog MODULE REQUIRED) --find_package(LibEvent MODULE REQUIRED) -+ -+find_package(gflags CONFIG) -+if(NOT TARGET gflags) -+ message(STATUS "MODULE: GFlags") -+ find_package(GFlags MODULE REQUIRED) -+endif() -+ -+find_package(glog CONFIG) -+if(NOT TARGET glog::glog) -+ message(STATUS "MODULE: GLog") -+ find_package(GLog MODULE REQUIRED) -+endif() -+ -+find_package(Libevent CONFIG) -+if(NOT TARGET event) -+ message(STATUS "MODULE: Libevent") -+ find_package(LibEvent MODULE REQUIRED) -+endif() -+ - find_package(OpenSSL MODULE REQUIRED) - find_package(PThread MODULE) -diff --git a/CMakeLists.txt b/CMakeLists.txt -index cdc992a8..c0231402 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -141,9 +141,38 @@ set(FOLLY_SHINY_DEPENDENCIES - - set(FOLLY_LINK_LIBRARIES - ${DOUBLE_CONVERSION_LIBRARY} -- ${LIBEVENT_LIB} -- ${LIBGFLAGS_LIBRARY} -- ${LIBGLOG_LIBRARY} -+) -+ -+set(FOLLY_INCLUDE_DIRECTORIES -+ ${DOUBLE_CONVERSION_INCLUDE_DIR} -+) -+ -+if(TARGET gflags_static) -+ set(FOLLY_SHINY_DEPENDENCIES ${FOLLY_SHINY_DEPENDENCIES} gflags_static) -+elseif(TARGET gflags) -+ set(FOLLY_SHINY_DEPENDENCIES ${FOLLY_SHINY_DEPENDENCIES} gflags) -+else() -+ set(FOLLY_LINK_LIBRARIES ${FOLLY_LINK_LIBRARIES} ${LIBGFLAGS_LIBRARY}) -+ set(FOLLY_INCLUDE_DIRECTORIES ${FOLLY_INCLUDE_DIRECTORIES} ${LIBGFLAGS_INCLUDE_DIR}) -+endif() -+ -+if(TARGET glog::glog) -+ set(FOLLY_SHINY_DEPENDENCIES ${FOLLY_SHINY_DEPENDENCIES} glog::glog) -+else() -+ set(FOLLY_LINK_LIBRARIES ${FOLLY_LINK_LIBRARIES} ${LIBGLOG_LIBRARY}) -+ set(FOLLY_INCLUDE_DIRECTORIES ${FOLLY_INCLUDE_DIRECTORIES} ${LIBGLOG_INCLUDE_DIR}) -+endif() -+ -+if(TARGET event) -+ set(FOLLY_SHINY_DEPENDENCIES ${FOLLY_SHINY_DEPENDENCIES} event) -+else() -+ set(FOLLY_LINK_LIBRARIES ${FOLLY_LINK_LIBRARIES} ${LIBEVENT_LIB}) -+ set(FOLLY_INCLUDE_DIRECTORIES ${FOLLY_INCLUDE_DIRECTORIES} ${LIBEVENT_INCLUDE_DIR}) -+endif() -+ -+ -+set(FOLLY_LINK_LIBRARIES -+ ${FOLLY_LINK_LIBRARIES} - Iphlpapi.lib - Ws2_32.lib - -@@ -152,15 +181,12 @@ set(FOLLY_LINK_LIBRARIES - - target_include_directories(folly_base - PUBLIC -- ${DOUBLE_CONVERSION_INCLUDE_DIR} -- ${LIBGFLAGS_INCLUDE_DIR} -- ${LIBGLOG_INCLUDE_DIR} -- ${LIBEVENT_INCLUDE_DIR} -- $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}> -+ ${FOLLY_INCLUDE_DIRECTORIES} - ) - - foreach (LIB ${FOLLY_SHINY_DEPENDENCIES}) - target_include_directories(folly_base PUBLIC $<TARGET_PROPERTY:${LIB},INCLUDE_DIRECTORIES>) -+ target_compile_definitions(folly_base PUBLIC $<TARGET_PROPERTY:${LIB},INTERFACE_COMPILE_DEFINITIONS>) - endforeach() - - if (FOLLY_HAVE_PTHREAD) diff --git a/ports/folly/portfile.cmake b/ports/folly/portfile.cmake index 8a48ee85d..fc3584860 100644 --- a/ports/folly/portfile.cmake +++ b/ports/folly/portfile.cmake @@ -17,21 +17,11 @@ set(ENV{PATH} "$ENV{PATH};${PYTHON3_DIR}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/folly - REF v2017.10.02.00 - SHA512 4fc7840c7a6c528c8ba6a21817bc75f15f5cd5f781d104a1f0622fe1085a6cb26ff9749616b164afff0ea46be6d16877457a98f417e6dbe1044db7605650a6d3 + REF v2017.11.27.00 + SHA512 738bb00047a7cbd807f2dccd64031763df80bbebca73f1ae9500b750dcad156dde84e47f4eda7af1bcd7abfae10c973da47515f2e111929979d1637869cf06ee HEAD_REF master ) -vcpkg_apply_patches( - SOURCE_PATH - ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/fix-static-linking.diff - ${CMAKE_CURRENT_LIST_DIR}/fix-malloc.diff - ${CMAKE_CURRENT_LIST_DIR}/fix-MSG_ERRQUEUE.diff - ${CMAKE_CURRENT_LIST_DIR}/fix-histogram.diff -) - if(VCPKG_CRT_LINKAGE STREQUAL static) set(MSVC_USE_STATIC_RUNTIME ON) else() diff --git a/ports/freerdp/CONTROL b/ports/freerdp/CONTROL index 5a730efb7..6a2d5d480 100644 --- a/ports/freerdp/CONTROL +++ b/ports/freerdp/CONTROL @@ -1,4 +1,4 @@ Source: freerdp -Version: 2.0.0-rc0~vcpkg1-1 +Version: 2.0.0-rc1~vcpkg1 Description: A free implementation of the Remote Desktop Protocol (RDP) Build-Depends: openssl diff --git a/ports/freerdp/portfile.cmake b/ports/freerdp/portfile.cmake index 6805c5a69..cd27da88c 100644 --- a/ports/freerdp/portfile.cmake +++ b/ports/freerdp/portfile.cmake @@ -1,8 +1,8 @@ include(vcpkg_common_functions) -set(FREERDP_VERSION 2.0.0-rc0) -set(FREERDP_REVISION 2.0.0-rc0) -set(FREERDP_HASH d3eb0d5d23aa2a4d0277414f13a984d40aba051102c5af1e5ade975cdb469ef3549b145cd4339415fc33f056044929cfac71884512ea77a1e718d70d5b21b9dd) +set(FREERDP_VERSION 2.0.0-rc1) +set(FREERDP_REVISION 2.0.0-rc1) +set(FREERDP_HASH 5d8fd7d6900feac1e42bfc0ebc111524205c3baa093958ced42d03635076ae7d88cd86439a22ff0656bc53f0302daee5a114a4ac26328ae598ee086490926182) string(REGEX REPLACE "\\+" "-" FREERDP_VERSION_ESCAPED ${FREERDP_VERSION}) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/FreeRDP-${FREERDP_VERSION_ESCAPED}) diff --git a/ports/gmime/CMakeLists.txt b/ports/gmime/CMakeLists.txt index 18ec89518..20c788f7e 100644 --- a/ports/gmime/CMakeLists.txt +++ b/ports/gmime/CMakeLists.txt @@ -32,6 +32,7 @@ add_definitions(-DG_LOG_DOMAIN="GMime") # List the source files set(LIB_SRC gmime/gmime.c gmime/gmime-application-pkcs7-mime.c + gmime/gmime-autocrypt.c gmime/gmime-certificate.c gmime/gmime-charset.c gmime/gmime-common.c @@ -97,64 +98,9 @@ set(LIB_SRC gmime/gmime.c util/gtrie.c ) -set (LIB_HEADERS gmime/gmime.h - gmime/gmime-version.h - gmime/gmime-error.h - gmime/gmime-charset.h - gmime/gmime-iconv.h - gmime/gmime-iconv-utils.h - gmime/gmime-param.h - gmime/gmime-content-type.h - gmime/gmime-disposition.h - gmime/gmime-data-wrapper.h - gmime/gmime-object.h - gmime/gmime-part.h - gmime/gmime-text-part.h - gmime/gmime-part-iter.h - gmime/gmime-application-pkcs7-mime.h - gmime/gmime-multipart.h - gmime/gmime-multipart-encrypted.h - gmime/gmime-multipart-signed.h - gmime/gmime-message.h - gmime/gmime-message-part.h - gmime/gmime-message-partial.h - gmime/internet-address.h - gmime/gmime-encodings.h - gmime/gmime-format-options.h - gmime/gmime-parser-options.h - gmime/gmime-parser.h - gmime/gmime-utils.h - gmime/gmime-references.h - gmime/gmime-stream.h - gmime/gmime-stream-buffer.h - gmime/gmime-stream-cat.h - gmime/gmime-stream-file.h - gmime/gmime-stream-filter.h - gmime/gmime-stream-fs.h - gmime/gmime-stream-gio.h - gmime/gmime-stream-mem.h - gmime/gmime-stream-mmap.h - gmime/gmime-stream-null.h - gmime/gmime-stream-pipe.h - gmime/gmime-filter.h - gmime/gmime-filter-basic.h - gmime/gmime-filter-best.h - gmime/gmime-filter-charset.h - gmime/gmime-filter-checksum.h - gmime/gmime-filter-dos2unix.h - gmime/gmime-filter-enriched.h - gmime/gmime-filter-from.h - gmime/gmime-filter-gzip.h - gmime/gmime-filter-html.h - gmime/gmime-filter-smtp-data.h - gmime/gmime-filter-strip.h - gmime/gmime-filter-unix2dos.h - gmime/gmime-filter-windows.h - gmime/gmime-filter-yenc.h - gmime/gmime-crypto-context.h - gmime/gmime-pkcs7-context.h - gmime/gmime-gpg-context.h -) +file(GLOB LIB_HEADERS gmime/gmime-*.h) +list(APPEND LIB_HEADERS gmime/gmime.h) +list(APPEND LIB_HEADERS gmime/internet-address.h) if(MSVC AND BUILD_SHARED_LIBS) set(MSVC_SRC gmime.def) diff --git a/ports/gmime/CONTROL b/ports/gmime/CONTROL index 215df5995..febce0ebe 100644 --- a/ports/gmime/CONTROL +++ b/ports/gmime/CONTROL @@ -1,4 +1,4 @@ Source: gmime -Version: 3.0.2 +Version: 3.0.5 Build-Depends: zlib, glib, libiconv, libidn2 Description: GMime is a C/C++ library which may be used for the creation and parsing of messages using the Multipurpose Internet Mail Extension (MIME). diff --git a/ports/gmime/config.h b/ports/gmime/config.h index 578223e20..a53c1537a 100644 --- a/ports/gmime/config.h +++ b/ports/gmime/config.h @@ -8,7 +8,7 @@ /* #undef ENABLE_WARNINGS */ /* Define to the GMime version */ -#define GMIME_VERSION "3.0.2" +#define GMIME_VERSION "@LIB_VERSION@" /* Define to 1 if you have the <dlfcn.h> header file. */ /* #undef HAVE_DLFCN_H */ @@ -30,7 +30,7 @@ #define HAVE_GETOPT_H 1 /* Define to 1 if you have the `getpagesize' function. */ -#define HAVE_GETPAGESIZE 1 +/* #undef HAVE_GETPAGESIZE */ /* Define to 1 to use auto-detected iconv-friendly charset names. */ /* #undef HAVE_ICONV_DETECT_H */ @@ -117,7 +117,7 @@ #define PACKAGE_NAME "gmime" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "gmime 3.0.2" +#define PACKAGE_STRING "gmime @LIB_VERSION@" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmime" @@ -126,16 +126,16 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "3.0.2" +#define PACKAGE_VERSION "@LIB_VERSION@" /* The size of `off_t', as computed by sizeof. */ -#define SIZEOF_OFF_T 8 +/* #undef SIZEOF_OFF_T */ /* The size of `size_t', as computed by sizeof. */ -#define SIZEOF_SIZE_T 8 +/* #undef SIZEOF_SIZE_T */ /* The size of `ssize_t', as computed by sizeof. */ -#define SIZEOF_SSIZE_T 8 +/* #undef SIZEOF_SSIZE_T */ /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 diff --git a/ports/gmime/gmime.def b/ports/gmime/gmime.def index 463dda27e..b072e0d65 100644 --- a/ports/gmime/gmime.def +++ b/ports/gmime/gmime.def @@ -587,3 +587,28 @@ internet_address_mailbox_set_addr internet_address_set_charset internet_address_set_name internet_address_to_string +g_mime_autocrypt_header_new +g_mime_autocrypt_header_new_from_string +g_mime_autocrypt_header_get_address +g_mime_autocrypt_header_set_address +g_mime_autocrypt_header_set_address_from_string +g_mime_autocrypt_header_get_address_as_string +g_mime_autocrypt_header_get_prefer_encrypt +g_mime_autocrypt_header_set_prefer_encrypt +g_mime_autocrypt_header_get_keydata +g_mime_autocrypt_header_set_keydata +g_mime_autocrypt_header_get_effective_date +g_mime_autocrypt_header_set_effective_date +g_mime_autocrypt_header_is_complete +g_mime_autocrypt_header_to_string +g_mime_autocrypt_header_compare +g_mime_autocrypt_header_clone +g_mime_autocrypt_header_list_new +g_mime_autocrypt_header_list_add_missing_addresses +g_mime_autocrypt_header_list_add +g_mime_autocrypt_header_list_get_count +g_mime_autocrypt_header_list_get_header_at +g_mime_autocrypt_header_list_get_header_for_address +g_mime_autocrypt_header_list_remove_incomplete +g_mime_autocrypt_header_get_type +g_mime_autocrypt_header_list_get_type diff --git a/ports/gmime/portfile.cmake b/ports/gmime/portfile.cmake index 1fa50063c..ddfeeb74c 100644 --- a/ports/gmime/portfile.cmake +++ b/ports/gmime/portfile.cmake @@ -1,7 +1,7 @@ include(vcpkg_common_functions) set(LIB_NAME gmime) -set(LIB_VERSION 3.0.2) +set(LIB_VERSION 3.0.5) set(LIB_FILENAME ${LIB_NAME}-${LIB_VERSION}.tar.xz) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${LIB_NAME}-${LIB_VERSION}) @@ -9,7 +9,7 @@ set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${LIB_NAME}-${LIB_VERSION}) vcpkg_download_distfile(ARCHIVE URLS "https://download.gnome.org/sources/gmime/3.0/${LIB_FILENAME}" FILENAME "${LIB_FILENAME}" - SHA512 246f489c168ce7e04fab664b7e9ae7772ae52f0063fb0eac9153460d84fa5d9712457d81fbd1bdcdadb7e03007cf71ed3bad5287f1639214f54167427c9209ca + SHA512 658b9008ffdf8055ffa9dfe8a5a6036a487309b0419572a9376397f68a8fc17d36ba6a05d2dfcb2ad23e634dc9e2aedd2479df1bfa0b7f8944d4c294650cb6c8 ) vcpkg_extract_source_archive(${ARCHIVE}) @@ -18,7 +18,8 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) # We can use file supplied with original sources configure_file(${SOURCE_PATH}/build/vs2010/unistd.h ${SOURCE_PATH} COPYONLY) -configure_file(${CMAKE_CURRENT_LIST_DIR}/config.h ${SOURCE_PATH} COPYONLY) +configure_file(${CMAKE_CURRENT_LIST_DIR}/config.h ${SOURCE_PATH}) + configure_file(${CMAKE_CURRENT_LIST_DIR}/idna.h ${SOURCE_PATH} COPYONLY) configure_file(${CMAKE_CURRENT_LIST_DIR}/gmime.def ${SOURCE_PATH} COPYONLY) diff --git a/ports/gsl-lite/CONTROL b/ports/gsl-lite/CONTROL index 0facec7fd..1d93638e0 100644 --- a/ports/gsl-lite/CONTROL +++ b/ports/gsl-lite/CONTROL @@ -1,3 +1,3 @@ Source: gsl-lite -Version: 0.24.0 +Version: 0.26.0 Description: A single-file header-only version of ISO C++ Guideline Support Library (GSL) for C++98, C++11 and later diff --git a/ports/gsl-lite/portfile.cmake b/ports/gsl-lite/portfile.cmake index a2773b759..807e13233 100644 --- a/ports/gsl-lite/portfile.cmake +++ b/ports/gsl-lite/portfile.cmake @@ -1,11 +1,11 @@ include(vcpkg_common_functions) -set(GSL_LITE_VERSION v0.24.0) +set(GSL_LITE_VERSION v0.26.0) vcpkg_download_distfile(HEADER URLS "https://github.com/martinmoene/gsl-lite/releases/download/${GSL_LITE_VERSION}/gsl-lite.h" FILENAME "gsl-lite-${GSL_LITE_VERSION}.h" - SHA512 fbe93aadf25feb488c2190e867933f198adb92a5a87e6bee8a8e1d6f0185829953348cb67eb52f70945d5a3cdb1f4d7403cfd950ab808b215ce445c37e9d9daf + SHA512 22bfa69120f98662adca0459a876186086f5deecfaaad6e0d7420fa2b2f7acac63c767b3b1f8915d36f3a44e647a730e2c22f2587befc938e81ea4329c5f2185 ) vcpkg_download_distfile(LICENSE diff --git a/ports/gtest/CONTROL b/ports/gtest/CONTROL index 77082f5cb..d3086b8ac 100644 --- a/ports/gtest/CONTROL +++ b/ports/gtest/CONTROL @@ -1,3 +1,3 @@ Source: gtest -Version: 1.8-1 +Version: 1.8.0-5 Description: GoogleTest and GoogleMock testing frameworks. diff --git a/ports/gtest/portfile.cmake b/ports/gtest/portfile.cmake index 491d6a8d5..b1f9e5dce 100644 --- a/ports/gtest/portfile.cmake +++ b/ports/gtest/portfile.cmake @@ -17,47 +17,70 @@ vcpkg_apply_patches( PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001-Enable-C-11-features-for-VS2015-fix-appveyor-fail.patch ) -if (VCPKG_CRT_LINKAGE STREQUAL "dynamic") - set(gtest_force_shared_crt YES) -else() - set(gtest_force_shared_crt NO) -endif() +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" GTEST_FORCE_SHARED_CRT) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - OPTIONS -Dgtest_force_shared_crt=${gtest_force_shared_crt} + PREFER_NINJA + OPTIONS + -DBUILD_GMOCK=ON + -DBUILD_GTEST=ON + -Dgtest_force_shared_crt=${GTEST_FORCE_SHARED_CRT} ) set(ENV{_CL_} "/D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING") vcpkg_install_cmake() +file( + INSTALL + "${SOURCE_PATH}/googletest/src/gtest.cc" + "${SOURCE_PATH}/googletest/src/gtest_main.cc" + "${SOURCE_PATH}/googletest/src/gtest-all.cc" + "${SOURCE_PATH}/googletest/src/gtest-death-test.cc" + "${SOURCE_PATH}/googletest/src/gtest-filepath.cc" + "${SOURCE_PATH}/googletest/src/gtest-internal-inl.h" + "${SOURCE_PATH}/googletest/src/gtest-port.cc" + "${SOURCE_PATH}/googletest/src/gtest-printers.cc" + "${SOURCE_PATH}/googletest/src/gtest-test-part.cc" + "${SOURCE_PATH}/googletest/src/gtest-typed-test.cc" + DESTINATION + ${CURRENT_PACKAGES_DIR}/src +) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(INSTALL ${SOURCE_PATH}/googletest/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/gtest RENAME copyright) -if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") +# This block will be unnecessary in googletest 1.9.0 (or later). +# These dll files are installed in ../bin directory by default settings. +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/gtest.dll) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin/) file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gtest.dll ${CURRENT_PACKAGES_DIR}/bin/gtest.dll) file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gtest_main.dll ${CURRENT_PACKAGES_DIR}/bin/gtest_main.dll) file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gmock.dll ${CURRENT_PACKAGES_DIR}/bin/gmock.dll) file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gmock_main.dll ${CURRENT_PACKAGES_DIR}/bin/gmock_main.dll) +endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/gtest.dll) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin/) file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gtest.dll ${CURRENT_PACKAGES_DIR}/debug/bin/gtest.dll) file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gtest_main.dll ${CURRENT_PACKAGES_DIR}/debug/bin/gtest_main.dll) file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gmock.dll ${CURRENT_PACKAGES_DIR}/debug/bin/gmock.dll) file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gmock_main.dll ${CURRENT_PACKAGES_DIR}/debug/bin/gmock_main.dll) endif() - -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link) -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gtest.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/gtest.lib) -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gtest_main.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/gtest_main.lib) -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gmock.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/gmock.lib) -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gmock_main.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/gmock_main.lib) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) -file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gtest.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/gtest.lib) -file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gtest_main.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/gtest_main.lib) -file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gmock.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/gmock.lib) -file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gmock_main.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/gmock_main.lib) +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/gtest.lib) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gtest.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/gtest.lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gtest_main.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/gtest_main.lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gmock.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/gmock.lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gmock_main.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/gmock_main.lib) +endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/gtest.lib) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gtest.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/gtestd.lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gtest_main.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/gtest_maind.lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gmock.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/gmockd.lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gmock_main.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/gmock_maind.lib) +endif() vcpkg_copy_pdbs() diff --git a/ports/hpx/CONTROL b/ports/hpx/CONTROL index a7f31fc42..efac88780 100644 --- a/ports/hpx/CONTROL +++ b/ports/hpx/CONTROL @@ -1,5 +1,5 @@ Source: hpx -Version: 1.0.0-5 -Build-Depends: boost, hwloc +Version: 1.0.0-6 +Build-Depends: hwloc, boost-chrono, boost-date-time, boost-filesystem, boost-program-options, boost-regex, boost-system, boost-thread, boost-context, boost-iostreams, boost-random, boost-atomic, boost-asio, boost-dynamic-bitset, boost-assign, boost-format, boost-signals2, boost-parameter, boost-bimap, boost-accumulators, boost-lockfree, boost-icl Description: The C++ Standards Library for Concurrency and Parallelism HPX is a C++ Standards Library for Concurrency and Parallelism. It implements all of the corresponding facilities as defined by the C++ Standard. Additionally, in HPX we implement functionalities proposed as part of the ongoing C++ standardization process. We also extend the C++ Standard APIs to the distributed case. diff --git a/ports/hpx/portfile.cmake b/ports/hpx/portfile.cmake index fce8fce61..0f0299d05 100644 --- a/ports/hpx/portfile.cmake +++ b/ports/hpx/portfile.cmake @@ -44,6 +44,7 @@ SET(HWLOC_PATH "${CURRENT_INSTALLED_DIR}/share/hwloc") vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DBOOST_ROOT=${BOOST_PATH} -DHWLOC_ROOT=${HWLOC_ROOT} diff --git a/ports/jansson/portfile.cmake b/ports/jansson/portfile.cmake index e018170c7..5b255e7ac 100644 --- a/ports/jansson/portfile.cmake +++ b/ports/jansson/portfile.cmake @@ -31,6 +31,7 @@ endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DJANSSON_STATIC_CRT=${JANSSON_STATIC_CRT} -DJANSSON_EXAMPLES=OFF diff --git a/ports/libkml/CONTROL b/ports/libkml/CONTROL index bc054e036..b5ea568c7 100644 --- a/ports/libkml/CONTROL +++ b/ports/libkml/CONTROL @@ -1,4 +1,4 @@ Source: libkml -Version: 1.3.0-1 +Version: 1.3.0-2 Description: Reference implementation of OGC KML 2.2 -Build-Depends: zlib, boost, expat, minizip, uriparser +Build-Depends: zlib, expat, minizip, uriparser, boost-smart-ptr diff --git a/ports/libkml/portfile.cmake b/ports/libkml/portfile.cmake index cb07e271f..b2e846d3c 100644 --- a/ports/libkml/portfile.cmake +++ b/ports/libkml/portfile.cmake @@ -13,6 +13,7 @@ vcpkg_apply_patches( "${CMAKE_CURRENT_LIST_DIR}/patch_empty_literal_on_vc.patch" ) +file(REMOVE ${SOURCE_PATH}/cmake/External_boost.cmake) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/libmspack/CMakeLists.txt b/ports/libmspack/CMakeLists.txt new file mode 100644 index 000000000..4591d3e04 --- /dev/null +++ b/ports/libmspack/CMakeLists.txt @@ -0,0 +1,52 @@ +cmake_minimum_required(VERSION 3.8) + +project(libmspack C) + +set(CMAKE_DEBUG_POSTFIX "d") + +add_definitions(-DHAVE_CONFIG_H) + +if(MSVC) + add_definitions(-D_CRT_SECURE_NO_DEPRECATE) + add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE) +endif() + +# List the source files +set(LIB_SRC mspack/cabc.c + mspack/cabd.c + mspack/chmc.c + mspack/chmd.c + mspack/crc32.c + mspack/hlpc.c + mspack/hlpd.c + mspack/kwajc.c + mspack/kwajd.c + mspack/litc.c + mspack/litd.c + mspack/lzssd.c + mspack/lzxc.c + mspack/lzxd.c + mspack/mszipc.c + mspack/mszipd.c + mspack/oabc.c + mspack/oabd.c + mspack/qtmd.c + mspack/system.c + mspack/szddc.c + mspack/szddd.c +) + +if(BUILD_SHARED_LIBS) + set(LIB_DEF libmspack.def) +endif() + +add_library(libmspack ${LIB_SRC} ${LIB_DEF}) + +target_include_directories(libmspack PRIVATE . ./mspack) + +install(TARGETS libmspack + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) + +install(FILES mspack/mspack.h DESTINATION include) diff --git a/ports/libmspack/CONTROL b/ports/libmspack/CONTROL new file mode 100644 index 000000000..b881f614f --- /dev/null +++ b/ports/libmspack/CONTROL @@ -0,0 +1,4 @@ +Source: libmspack +Version: 0.6 +Build-Depends: +Description: libmspack is a portable library for some loosely related Microsoft compression formats. diff --git a/ports/libmspack/config.h b/ports/libmspack/config.h new file mode 100644 index 000000000..ebe95831c --- /dev/null +++ b/ports/libmspack/config.h @@ -0,0 +1,8 @@ +#define HAVE_LIMITS_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_STRING_H 1 +#define HAVE_CTYPE_H 1 + +#define HAVE_MEMCMP 1 +#define HAVE_TOWLOWER 1 +#define HAVE_TOLOWER 1 diff --git a/ports/libmspack/libmspack.def b/ports/libmspack/libmspack.def new file mode 100644 index 000000000..6a1a43d75 --- /dev/null +++ b/ports/libmspack/libmspack.def @@ -0,0 +1,32 @@ +EXPORTS + +mspack_create_cab_compressor +mspack_create_chm_compressor +mspack_create_lit_compressor +mspack_create_hlp_compressor +mspack_create_szdd_compressor +mspack_create_kwaj_compressor +mspack_create_oab_compressor + +mspack_create_cab_decompressor +mspack_create_chm_decompressor +mspack_create_lit_decompressor +mspack_create_hlp_decompressor +mspack_create_szdd_decompressor +mspack_create_kwaj_decompressor +mspack_create_oab_decompressor + +mspack_destroy_cab_compressor +mspack_destroy_cab_decompressor +mspack_destroy_chm_compressor +mspack_destroy_chm_decompressor +mspack_destroy_lit_compressor +mspack_destroy_lit_decompressor +mspack_destroy_hlp_compressor +mspack_destroy_hlp_decompressor +mspack_destroy_szdd_compressor +mspack_destroy_szdd_decompressor +mspack_destroy_kwaj_compressor +mspack_destroy_kwaj_decompressor +mspack_destroy_oab_compressor +mspack_destroy_oab_decompressor diff --git a/ports/libmspack/portfile.cmake b/ports/libmspack/portfile.cmake new file mode 100644 index 000000000..fe75e2edd --- /dev/null +++ b/ports/libmspack/portfile.cmake @@ -0,0 +1,30 @@ +include(vcpkg_common_functions) + +set(LIB_NAME libmspack) +set(LIB_VERSION 0.6alpha) +set(LIB_FILENAME ${LIB_NAME}-${LIB_VERSION}.tar.gz) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${LIB_NAME}-${LIB_VERSION}) + +vcpkg_download_distfile(ARCHIVE + URLS "https://www.cabextract.org.uk/libmspack/${LIB_FILENAME}" + FILENAME "${LIB_FILENAME}" + SHA512 7ba4a584d335c2d703628a3c179bc0d323574632357cdfe04622f960dcc4ef970b5739799397b6802d44a312f7ed9d589b4be223facf044bbfdbfd76d9c7405d +) +vcpkg_extract_source_archive(${ARCHIVE}) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/libmspack.def DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# License and man +file(INSTALL ${SOURCE_PATH}/COPYING.LIB DESTINATION ${CURRENT_PACKAGES_DIR}/share/${LIB_NAME} RENAME copyright) + +vcpkg_copy_pdbs() diff --git a/ports/libsodium/CONTROL b/ports/libsodium/CONTROL index 185718572..4048a6a1f 100644 --- a/ports/libsodium/CONTROL +++ b/ports/libsodium/CONTROL @@ -1,3 +1,3 @@ Source: libsodium -Version: 1.0.15 +Version: 1.0.15-1 Description: A modern and easy-to-use crypto library diff --git a/ports/libsodium/disable-tests.patch b/ports/libsodium/disable-tests.patch new file mode 100644 index 000000000..24bcc1d83 --- /dev/null +++ b/ports/libsodium/disable-tests.patch @@ -0,0 +1,16 @@ +diff --git a/msvc-scripts/sodium.props b/msvc-scripts/sodium.props +index 41e1e47..3126455 100644 +--- a/msvc-scripts/sodium.props ++++ b/msvc-scripts/sodium.props +@@ -17,9 +17,9 @@ + <PreBuildEvent> + <Message>Process .in files</Message> + </PreBuildEvent> +- <PostBuildEvent> ++ <!-- <PostBuildEvent> + <Command>"$(SolutionDir)/test/default/wintest.bat" $(Configuration) $(Platform)</Command> +- </PostBuildEvent> ++ </PostBuildEvent> --> + <PostBuildEvent> + <Message>Run the test suite</Message> + </PostBuildEvent> diff --git a/ports/libsodium/portfile.cmake b/ports/libsodium/portfile.cmake index 4e6cd6be7..4a2ed3d77 100644 --- a/ports/libsodium/portfile.cmake +++ b/ports/libsodium/portfile.cmake @@ -10,6 +10,12 @@ vcpkg_from_github( HEAD_REF master ) +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/disable-tests.patch +) + if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") set(LIBSODIUM_RELEASE_CONFIGURATION ReleaseDLL) set(LIBSODIUM_DEBUG_CONFIGURATION DebugDLL) @@ -37,19 +43,22 @@ file(INSTALL DESTINATION ${CURRENT_PACKAGES_DIR}/include/sodium ) -file(INSTALL - ${SOURCE_PATH}/Build/${LIBSODIUM_RELEASE_CONFIGURATION}/${BUILD_ARCH}/libsodium.dll - DESTINATION ${CURRENT_PACKAGES_DIR}/bin -) +if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(INSTALL + ${SOURCE_PATH}/Build/${LIBSODIUM_RELEASE_CONFIGURATION}/${BUILD_ARCH}/libsodium.dll + DESTINATION ${CURRENT_PACKAGES_DIR}/bin + ) + file(INSTALL + ${SOURCE_PATH}/Build/${LIBSODIUM_DEBUG_CONFIGURATION}/${BUILD_ARCH}/libsodium.dll + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin + ) +endif() + file(INSTALL ${SOURCE_PATH}/Build/${LIBSODIUM_RELEASE_CONFIGURATION}/${BUILD_ARCH}/libsodium.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib ) file(INSTALL - ${SOURCE_PATH}/Build/${LIBSODIUM_DEBUG_CONFIGURATION}/${BUILD_ARCH}/libsodium.dll - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin -) -file(INSTALL ${SOURCE_PATH}/Build/${LIBSODIUM_DEBUG_CONFIGURATION}/${BUILD_ARCH}/libsodium.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib ) diff --git a/ports/libtorrent/CONTROL b/ports/libtorrent/CONTROL index f2618a4ef..46c096a68 100644 --- a/ports/libtorrent/CONTROL +++ b/ports/libtorrent/CONTROL @@ -1,4 +1,4 @@ Source: libtorrent -Version: 1.1.4-1 +Version: 1.1.5-1 Description: An efficient feature complete C++ BitTorrent implementation -Build-Depends: boost, openssl +Build-Depends: openssl, boost-system, boost-date-time, boost-chrono, boost-random, boost-asio, boost-crc, boost-config diff --git a/ports/libtorrent/portfile.cmake b/ports/libtorrent/portfile.cmake index 6eb49c0b4..45dd0aab3 100644 --- a/ports/libtorrent/portfile.cmake +++ b/ports/libtorrent/portfile.cmake @@ -1,37 +1,25 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg> -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libtorrent-libtorrent-1_1_4) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/arvidn/libtorrent/archive/libtorrent-1_1_4.zip" - FILENAME "libtorrent-1_1_4.zip" - SHA512 fd3b875c9626721db9b3e719ce50deeb6f39a030df1e23dd421d0b142aac9c3bb7bee3a61f0c18bb30f85d4dd6131fe90d6138c09ba598f09230824f8d5a3fb1 -) -vcpkg_extract_source_archive(${ARCHIVE}) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO arvidn/libtorrent + REF libtorrent-1_1_5 + SHA512 edaff6347bf922af8b6d74e332e180fe122f64152a152fb905f4f2c3371dc29d668fc2b0ffcda3f56b50a1a51b25d1a3ae4284ed6e09f6a2eb7b34bcce8dd9c7 + HEAD_REF master +) vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} PATCHES ${CMAKE_CURRENT_LIST_DIR}/add-datetime-to-boost-libs.patch - PATCHES ${CMAKE_CURRENT_LIST_DIR}/add-dbghelp-to-win32-libs.patch - PATCHES ${CMAKE_CURRENT_LIST_DIR}/vcpkg-boost-madness.patch + ${CMAKE_CURRENT_LIST_DIR}/add-dbghelp-to-win32-libs.patch ) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(LIBTORRENT_SHARED ON) -else() - set(LIBTORRENT_SHARED OFF) -endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LIBTORRENT_SHARED) + +file(READ "${SOURCE_PATH}/include/libtorrent/export.hpp" _contents) +string(REPLACE "<boost/config/select_compiler_config.hpp>" "<boost/config/detail/select_compiler_config.hpp>" _contents "${_contents}") +string(REPLACE "<boost/config/select_platform_config.hpp>" "<boost/config/detail/select_platform_config.hpp>" _contents "${_contents}") +file(WRITE "${SOURCE_PATH}/include/libtorrent/export.hpp" "${_contents}") vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -43,7 +31,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) +if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") # Put shared libraries into the proper directory file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) diff --git a/ports/libtorrent/vcpkg-boost-madness.patch b/ports/libtorrent/vcpkg-boost-madness.patch deleted file mode 100644 index e9e498ee4..000000000 --- a/ports/libtorrent/vcpkg-boost-madness.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 99698a2..454bae6 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -252,7 +252,7 @@ else() - - set(Boost_USE_STATIC_RUNTIME ON) - endif() -- set(Boost_USE_STATIC_LIBS ON) -+ set(Boost_USE_STATIC_LIBS OFF) - add_library(torrent-rasterbar STATIC ${sources2}) - endif() - diff --git a/ports/libuv/CONTROL b/ports/libuv/CONTROL index 256897afb..792b0b668 100644 --- a/ports/libuv/CONTROL +++ b/ports/libuv/CONTROL @@ -1,3 +1,3 @@ Source: libuv -Version: 1.16.1 +Version: 1.18.0 Description: libuv is a multi-platform support library with a focus on asynchronous I/O. diff --git a/ports/libuv/portfile.cmake b/ports/libuv/portfile.cmake index e46dc9430..638012433 100644 --- a/ports/libuv/portfile.cmake +++ b/ports/libuv/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libuv/libuv - REF v1.16.1 - SHA512 e75c735467c5fc1681bee2b4f4ffae63116644309016d0f507b37643697ae8c85b3be7309288b1aca8fa11c6cb1dc1873962d1dc18fa3ed8cb66c8d2514c95e6 + REF v1.18.0 + SHA512 d1ef70b0f060f40cf57b282279d1d63d6dd019b4b811211b2252db32633a80af46290d201b4a4338f84b3efdfe9754a11b29bfa4a7636b06540b1a65e1fd4fbc HEAD_REF v1.x) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/libzip/CONTROL b/ports/libzip/CONTROL index 045030e95..3ca61d39b 100644 --- a/ports/libzip/CONTROL +++ b/ports/libzip/CONTROL @@ -1,4 +1,4 @@ Source: libzip -Version: 1.2.0-2 +Version: 1.3.2 Build-Depends: zlib Description: A library for reading, creating, and modifying zip archives. diff --git a/ports/live555/CONTROL b/ports/live555/CONTROL index a2354fad1..ca55f517f 100644 --- a/ports/live555/CONTROL +++ b/ports/live555/CONTROL @@ -1,3 +1,3 @@ Source: live555 -Version: 2017.09.12 +Version: 2017.10.28 Description: A complete RTSP server application diff --git a/ports/live555/liveMedia.txt b/ports/live555/liveMedia.txt index 067fd5bc0..604bf1c50 100644 --- a/ports/live555/liveMedia.txt +++ b/ports/live555/liveMedia.txt @@ -1,7 +1,6 @@ # CMakeLists.txt in liveMedia SET(LIVE_MEDIA_SRCS -rtcp_from_spec.c AC3AudioFileServerMediaSubsession.cpp AC3AudioRTPSink.cpp AC3AudioRTPSource.cpp @@ -103,6 +102,7 @@ MPEG1or2VideoStreamDiscreteFramer.cpp MPEG1or2VideoStreamFramer.cpp MPEG2IndexFromTransportStream.cpp MPEG2TransportFileServerMediaSubsession.cpp +MPEG2TransportStreamAccumulator.cpp MPEG2TransportStreamFramer.cpp MPEG2TransportStreamFromESSource.cpp MPEG2TransportStreamFromPESSource.cpp @@ -138,6 +138,7 @@ QCELPAudioRTPSource.cpp QuickTimeFileSink.cpp QuickTimeGenericRTPSource.cpp RTCP.cpp +rtcp_from_spec.c RTPInterface.cpp RTPSink.cpp RTPSource.cpp @@ -145,6 +146,7 @@ RTSPClient.cpp RTSPCommon.cpp RTSPRegisterSender.cpp RTSPServer.cpp +RTSPServerRegister.cpp RTSPServerSupportingHTTPStreaming.cpp ServerMediaSession.cpp SimpleRTPSink.cpp diff --git a/ports/live555/portfile.cmake b/ports/live555/portfile.cmake index e8b41371a..28aa45eb9 100644 --- a/ports/live555/portfile.cmake +++ b/ports/live555/portfile.cmake @@ -1,9 +1,9 @@ include(vcpkg_common_functions) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/live) vcpkg_download_distfile(ARCHIVE - URLS "http://www.live555.com/liveMedia/public/live.2017.09.12.tar.gz" - FILENAME "live.2017.09.12.tar.gz" - SHA512 09b18b5f5dce28519b6c7cd8d52eb3448711939df051f84c8d6dce0b88d05c982711059f2ce13efccd326b2dbfeb93b88c4e03fe4a88bbd8fcefcb25e51d107d + URLS "http://www.live555.com/liveMedia/public/live.2017.10.28.tar.gz" + FILENAME "live.2017.10.28.tar.gz" + SHA512 eea5bdb8d89e76c8b6aeb6ec04b77af3048cb41f228d230ba4da6045e9bc691a456023d44d8650fe690b08143567ed5af5b633f5b6522debff79344a813dc7d0 ) vcpkg_extract_source_archive(${ARCHIVE}) @@ -52,10 +52,10 @@ file(GLOB DEBUG_LIBS ) file(GLOB HEADERS -"${CURRENT_BUILDTREES_DIR}/src/live/BasicUsageEnvironment/include/*.hh" -"${CURRENT_BUILDTREES_DIR}/src/live/groupsock/include/*.hh" -"${CURRENT_BUILDTREES_DIR}/src/live/liveMedia/include/*.hh" -"${CURRENT_BUILDTREES_DIR}/src/live/UsageEnvironment/include/*.hh" +"${CURRENT_BUILDTREES_DIR}/src/live/BasicUsageEnvironment/include/*.h*" +"${CURRENT_BUILDTREES_DIR}/src/live/groupsock/include/*.h*" +"${CURRENT_BUILDTREES_DIR}/src/live/liveMedia/include/*.h*" +"${CURRENT_BUILDTREES_DIR}/src/live/UsageEnvironment/include/*.h*" ) if(DLLS) file(INSTALL ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) diff --git a/ports/llvm/CONTROL b/ports/llvm/CONTROL index 2ea653a12..c50dc8cb8 100644 --- a/ports/llvm/CONTROL +++ b/ports/llvm/CONTROL @@ -1,3 +1,4 @@ Source: llvm Version: 5.0.0-2 Description: The LLVM Compiler Infrastructure +Build-Depends: atlmfc diff --git a/ports/llvm/portfile.cmake b/ports/llvm/portfile.cmake index a2f32abe9..d2a82cf0b 100644 --- a/ports/llvm/portfile.cmake +++ b/ports/llvm/portfile.cmake @@ -2,6 +2,10 @@ # building with Microsoft toolchain; it's also the default on other platforms set(VCPKG_LIBRARY_LINKAGE static) +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "llvm cannot currently be built for UWP") +endif() + include(vcpkg_common_functions) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/llvm-5.0.0.src) vcpkg_download_distfile(ARCHIVE diff --git a/ports/log4cplus/CONTROL b/ports/log4cplus/CONTROL index 882ee88b8..6dbcb515c 100644 --- a/ports/log4cplus/CONTROL +++ b/ports/log4cplus/CONTROL @@ -1,3 +1,4 @@ Source: log4cplus -Version: REL_1_2_1-RC2-1 +Version: REL_2_0_0-RC2 Description: A simple to use C++ logging API providing thread--safe, flexible, and arbitrarily granular control over log management and configuration +Build-Depends: catch diff --git a/ports/log4cplus/portfile.cmake b/ports/log4cplus/portfile.cmake index c1c5de3e2..db694315b 100644 --- a/ports/log4cplus/portfile.cmake +++ b/ports/log4cplus/portfile.cmake @@ -2,11 +2,27 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO log4cplus/log4cplus - REF REL_1_2_1-RC2 - SHA512 480a2a61b01e988253c1bf2bb26088030541a63811c8ffbb9e90581d556b717df5220e3ff72eedd27ea704af35218f71f20ceadf4d6d94984b4f56d273b4d3a3 + REF REL_2_0_0-RC2 + SHA512 34392d85088534e0661e6fa9726c5970647a5acaa559bafb5d3746a70f5baca01012f457d50c15e73d9aca1d3ed9ec99028cc65fab07f73cdadbbc0b4329bcb5 HEAD_REF master ) +vcpkg_download_distfile(ARCHIVE + URLS "https://github.com/log4cplus/ThreadPool/archive/dda9e3d40502e85ce082c05d2c05c1bc94348b6a.tar.gz" + FILENAME "log4cplus-threadpool-97b5877b9c49d02abf.tar.gz" + SHA512 97b5877b9c49d02abfcba4ca1312b833b58e4f0e9884fdcf57c20b7ec58801ed24742c8316512b4de8ab29bae42cc1e34058c0d2443c3a5950a2fb3434f86662 +) +vcpkg_extract_source_archive(${ARCHIVE}) + +file( + COPY + ${CURRENT_BUILDTREES_DIR}/src/ThreadPool-master/COPYING + ${CURRENT_BUILDTREES_DIR}/src/ThreadPool-master/example.cpp + ${CURRENT_BUILDTREES_DIR}/src/ThreadPool-master/README.md + ${CURRENT_BUILDTREES_DIR}/src/ThreadPool-master/ThreadPool.h + DESTINATION ${SOURCE_PATH}/threadpool +) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/magnum/portfile.cmake b/ports/magnum/portfile.cmake index 9eff36dcf..67d96bf5b 100644 --- a/ports/magnum/portfile.cmake +++ b/ports/magnum/portfile.cmake @@ -43,7 +43,6 @@ vcpkg_configure_cmake( -DBUILD_PLUGINS_STATIC=${BUILD_PLUGINS_STATIC} -DMAGNUM_PLUGINS_DEBUG_DIR=${CURRENT_INSTALLED_DIR}/debug/bin/magnum-d -DMAGNUM_PLUGINS_RELEASE_DIR=${CURRENT_INSTALLED_DIR}/bin/magnum - --trace ) vcpkg_install_cmake() diff --git a/ports/mbedtls/CONTROL b/ports/mbedtls/CONTROL new file mode 100644 index 000000000..c4bed6fa6 --- /dev/null +++ b/ports/mbedtls/CONTROL @@ -0,0 +1,3 @@ +Source: mbedtls +Version: 2.6.1 +Description: An open source, portable, easy to use, readable and flexible SSL library diff --git a/ports/mbedtls/portfile.cmake b/ports/mbedtls/portfile.cmake new file mode 100644 index 000000000..600b2790c --- /dev/null +++ b/ports/mbedtls/portfile.cmake @@ -0,0 +1,27 @@ +include(vcpkg_common_functions) + +set(VCPKG_LIBRARY_LINKAGE static) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ARMmbed/mbedtls + REF mbedtls-2.6.1 + SHA512 06f8ba2a453164bac01d20ca6f5c80e691857977ef501d56685e81a0e90dddae1bedeab46c18c22f9a3b72894d45d7466f76a5c404417b6613ddae0ee4a881c8 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DENABLE_TESTING=OFF + -DENABLE_PROGRAMS=OFF +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/mbedtls RENAME copyright) + +vcpkg_copy_pdbs() diff --git a/ports/mongo-cxx-driver/CONTROL b/ports/mongo-cxx-driver/CONTROL index 306f6a96c..065fbbab0 100644 --- a/ports/mongo-cxx-driver/CONTROL +++ b/ports/mongo-cxx-driver/CONTROL @@ -1,4 +1,4 @@ Source: mongo-cxx-driver -Version: 3.1.1-1 -Build-Depends: boost, libbson, mongo-c-driver +Version: 3.1.1-2 +Build-Depends: libbson, mongo-c-driver, boost-smart-ptr, boost-optional, boost-utility Description: MongoDB C++ Driver. diff --git a/ports/mpfr/CMakeLists.txt b/ports/mpfr/CMakeLists.txt index 3fb121b76..ed48eaf59 100644 --- a/ports/mpfr/CMakeLists.txt +++ b/ports/mpfr/CMakeLists.txt @@ -250,6 +250,7 @@ add_library(mpfr ${SRCS}) # target_compile_definitions(mpfr PRIVATE HAVE_CONFIG_H) target_compile_definitions(mpfr PRIVATE __MPFR_WITHIN_MPFR) +target_compile_definitions(mpfr PRIVATE HAVE_STDINT_H) if(BUILD_SHARED_LIBS) target_compile_definitions(mpfr PRIVATE __GMP_LIBGMP_DLL) endif() diff --git a/ports/mpfr/CONTROL b/ports/mpfr/CONTROL index 8482ed8eb..fdfe6deb0 100644 --- a/ports/mpfr/CONTROL +++ b/ports/mpfr/CONTROL @@ -1,4 +1,4 @@ Source: mpfr -Version: 3.1.6-1 +Version: 3.1.6-2 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 0e82d2623..0a192f168 100644 --- a/ports/mpfr/portfile.cmake +++ b/ports/mpfr/portfile.cmake @@ -12,6 +12,7 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/gmp_printf.c DESTINATION ${SOURCE_PATH}/src) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA ) vcpkg_install_cmake() diff --git a/ports/ms-gsl/CONTROL b/ports/ms-gsl/CONTROL index b19e7c583..f9ab0c433 100644 --- a/ports/ms-gsl/CONTROL +++ b/ports/ms-gsl/CONTROL @@ -1,3 +1,3 @@ Source: ms-gsl -Version: 20171104-d10ebc6555b627c9d1196076a78467e7be505987 +Version: 20171204-9d65e74400976b3509833f49b16d401600c7317d Description: Microsoft implementation of the Guidelines Support Library
\ No newline at end of file diff --git a/ports/ms-gsl/portfile.cmake b/ports/ms-gsl/portfile.cmake index 285b49676..a85f91611 100644 --- a/ports/ms-gsl/portfile.cmake +++ b/ports/ms-gsl/portfile.cmake @@ -4,13 +4,12 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/GSL - REF d10ebc6555b627c9d1196076a78467e7be505987 - SHA512 982f1d059f3128e79db7742e4bc9a641f8f6b91e02b00f7a98e4447bff9602501e905bc42173520036a0d3b6ad95ca7908fed15fa200ea01a2bd103b8e9cff88 + REF 9d65e74400976b3509833f49b16d401600c7317d + SHA512 36f1b0dba5b724c5ef437b07a9141f2bb2e8b059f968736e2c6d7cd5c50d5701a109df40e35f971ff8c225901560dd8783458d1f2fe56065c4cd85465cf5a527 HEAD_REF master ) -file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN "*") +file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/ms-gsl) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/ms-gsl/LICENSE ${CURRENT_PACKAGES_DIR}/share/ms-gsl/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/ms-gsl RENAME copyright) diff --git a/ports/nana/CONTROL b/ports/nana/CONTROL index ae4168544..41d7188b9 100644 --- a/ports/nana/CONTROL +++ b/ports/nana/CONTROL @@ -1,4 +1,4 @@ Source: nana
-Version: 1.5.4-1
+Version: 1.5.5
Description: Cross-platform library for GUI programming in modern C++ style.
Build-Depends: libpng, libjpeg-turbo
diff --git a/ports/nana/portfile.cmake b/ports/nana/portfile.cmake index 6f61d79f7..fc492ee44 100644 --- a/ports/nana/portfile.cmake +++ b/ports/nana/portfile.cmake @@ -7,8 +7,8 @@ include(vcpkg_common_functions) vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO cnjinhao/nana
- REF v1.5.4
- SHA512 54d8d06a7792c7c626793f0c5f769884d7af78950a1df7d543f13bbb6de5ae35b51130a150438faa1c3c53dfea29fad6d12b94c535c264aac893325b244c6e0a
+ REF v1.5.5
+ SHA512 d28348b807e131f5868a162cf5b914523246ab5c4d4395186377f54dff9ad91199b13f640e05b5d959347ebfb570df79d5de39abfd690d8831034063422e3587
HEAD_REF develop
)
diff --git a/ports/netcdf-c/portfile.cmake b/ports/netcdf-c/portfile.cmake index 75a361106..f2630711e 100644 --- a/ports/netcdf-c/portfile.cmake +++ b/ports/netcdf-c/portfile.cmake @@ -41,10 +41,11 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/netcdf) -file(READ ${CURRENT_PACKAGES_DIR}/debug/share/netcdf/netCDFTargets-debug.cmake NETCDF_TARGETS_DEBUG_MODULE) -string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" NETCDF_TARGETS_DEBUG_MODULE "${NETCDF_TARGETS_DEBUG_MODULE}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/netcdf/netCDFTargets-debug.cmake "${NETCDF_TARGETS_DEBUG_MODULE}") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin) +endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/nlohmann-json/CONTROL b/ports/nlohmann-json/CONTROL index 90b6e504e..1b268b456 100644 --- a/ports/nlohmann-json/CONTROL +++ b/ports/nlohmann-json/CONTROL @@ -1,3 +1,3 @@ Source: nlohmann-json -Version: 2.1.1-1 +Version: 3.0.0 Description: JSON for Modern C++ diff --git a/ports/nlohmann-json/portfile.cmake b/ports/nlohmann-json/portfile.cmake index 8a8f5dc30..d03c5b395 100644 --- a/ports/nlohmann-json/portfile.cmake +++ b/ports/nlohmann-json/portfile.cmake @@ -1,22 +1,18 @@ include(vcpkg_common_functions) -set(SOURCE_VERSION 2.1.1) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/json-${SOURCE_VERSION}) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/nlohmann/json/archive/v${SOURCE_VERSION}.zip" - FILENAME "nlohmann-json-v${SOURCE_VERSION}.zip" - SHA512 7f7155c4bcc4f704f329ba6976c31888a45d17bc2fa08ee9e64dc1b0b1f39439819b895cda9d77f3f60446ad6f5802e9c6ae79fbaf6d1b6f7e49ca050b86cd7c -) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA -) +set(SOURCE_VERSION 3.0.0) -vcpkg_install_cmake() +vcpkg_download_distfile(HEADER + URLS "https://github.com/nlohmann/json/releases/download/v${SOURCE_VERSION}/json.hpp" + FILENAME "nlohmann-json-${SOURCE_VERSION}.hpp" + SHA512 0983320160900e7dbb1241d10f5be6eb0c1be39f2af3f153f488533c381e909f4af0d60c25c6a2e4bb7b69ad1ff0033651c52fe36886f917324f355281e99c05 +) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +vcpkg_download_distfile(LICENSE + URLS "https://github.com/nlohmann/json/raw/v${SOURCE_VERSION}/LICENSE.MIT" + FILENAME "nlohmann-json-LICENSE-${SOURCE_VERSION}.txt" + SHA512 629ac4ed0128af8750ddaefb86b01e52243457020b54e3c38a1a772dbbc1598442a45ab9a0537bd47e35eafa73df0a9d1f1ebe235f339dcd2df1083219ded2d1 +) -file(COPY ${SOURCE_PATH}/LICENSE.MIT DESTINATION ${CURRENT_PACKAGES_DIR}/share/nlohmann-json) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/nlohmann-json/LICENSE.MIT ${CURRENT_PACKAGES_DIR}/share/nlohmann-json/copyright) +file(INSTALL ${HEADER} DESTINATION ${CURRENT_PACKAGES_DIR}/include/nlohmann RENAME json.hpp) +file(INSTALL ${LICENSE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/nlohmann-json RENAME copyright)
\ No newline at end of file diff --git a/ports/openimageio/CONTROL b/ports/openimageio/CONTROL index 1421e3acb..3e498bf56 100644 --- a/ports/openimageio/CONTROL +++ b/ports/openimageio/CONTROL @@ -1,4 +1,4 @@ Source: openimageio -Version: 1.7.15-1 +Version: 1.7.15-2 Description: An library for reading and writing images, and a bunch of related classes, utilities, and application -Build-Depends: boost, libjpeg-turbo, tiff, libpng, openexr +Build-Depends: libjpeg-turbo, tiff, libpng, openexr, boost-thread, boost-smart-ptr, boost-foreach, boost-regex, boost-type-traits, boost-static-assert, boost-unordered, boost-config, boost-algorithm, boost-filesystem, boost-system, boost-thread, boost-asio, boost-random diff --git a/ports/openssl/CONTROL b/ports/openssl/CONTROL index e5d1bf8bc..dcdda9cc6 100644 --- a/ports/openssl/CONTROL +++ b/ports/openssl/CONTROL @@ -1,3 +1,3 @@ Source: openssl -Version: 1.0.2m +Version: 1.0.2n-1 Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library. diff --git a/ports/openssl/PerlScriptSpaceInPathFixes.patch b/ports/openssl/PerlScriptSpaceInPathFixes.patch deleted file mode 100644 index 1dcf8a991..000000000 --- a/ports/openssl/PerlScriptSpaceInPathFixes.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/util/copy.pl b/util/copy.pl -index eba6d58..5d971a2 100644 ---- a/util/copy.pl -+++ b/util/copy.pl -@@ -19,7 +19,7 @@ foreach $arg (@ARGV) { - next; - } - $arg =~ s|\\|/|g; # compensate for bug/feature in cygwin glob... -- foreach (glob $arg) -+ foreach (glob qq("$arg")) - { - push @filelist, $_; - } -diff --git a/util/mk1mf.pl b/util/mk1mf.pl -index 128a405..fd853da 100644 ---- a/util/mk1mf.pl -+++ b/util/mk1mf.pl -@@ -428,7 +428,7 @@ EOF - { - $extra_install .= <<"EOF" - \$(MKDIR) \"\$(INSTALLTOP)${o}lib${o}engines\" -- \$(CP) \"\$(E_SHLIB)\" \"\$(INSTALLTOP)${o}lib${o}engines\" -+ \$(CP) \$(E_SHLIB) \"\$(INSTALLTOP)${o}lib${o}engines\" - EOF - } - } -@@ -608,7 +608,7 @@ install: all - \$(MKDIR) \"\$(INSTALLTOP)${o}include${o}openssl\" - \$(MKDIR) \"\$(INSTALLTOP)${o}lib\" - \$(CP) \"\$(INCO_D)${o}*.\[ch\]\" \"\$(INSTALLTOP)${o}include${o}openssl\" -- \$(CP) \"\$(BIN_D)$o\$(E_EXE)$exep \$(INSTALLTOP)${o}bin\" -+ \$(CP) \"\$(BIN_D)$o\$(E_EXE)$exep\" \"\$(INSTALLTOP)${o}bin\" - \$(MKDIR) \"\$(OPENSSLDIR)\" - \$(CP) apps${o}openssl.cnf \"\$(OPENSSLDIR)\" - $extra_install diff --git a/ports/openssl/portfile.cmake b/ports/openssl/portfile.cmake index 1a856e17d..349144e91 100644 --- a/ports/openssl/portfile.cmake +++ b/ports/openssl/portfile.cmake @@ -4,7 +4,7 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") endif() include(vcpkg_common_functions) -set(OPENSSL_VERSION 1.0.2m) +set(OPENSSL_VERSION 1.0.2n) set(MASTER_COPY_SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/openssl-${OPENSSL_VERSION}) vcpkg_find_acquire_program(PERL) @@ -19,14 +19,13 @@ set(ENV{PATH} "${NASM_EXE_PATH};$ENV{PATH};${PERL_EXE_PATH}") vcpkg_download_distfile(OPENSSL_SOURCE_ARCHIVE URLS "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" "https://www.openssl.org/source/old/1.0.2/openssl-${OPENSSL_VERSION}.tar.gz" FILENAME "openssl-${OPENSSL_VERSION}.tar.gz" - SHA512 7619aa223ee50d0f5e270ac9090e95b2b1ba5dfc656c98f625a9a277dda472fb960a4e89a7ba300044cb401b2072b2ca6a6fcce8206d927bf373d1c981806a93 + SHA512 144bf0d6aa27b4af01df0b7b734c39962649e1711554247d42e05e14d8945742b18745aefdba162e2dfc762b941fd7d3b2d5dc6a781ae4ba10a6f5a3cadb0687 ) vcpkg_extract_source_archive(${OPENSSL_SOURCE_ARCHIVE}) vcpkg_apply_patches( SOURCE_PATH ${MASTER_COPY_SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/PerlScriptSpaceInPathFixes.patch - ${CMAKE_CURRENT_LIST_DIR}/ConfigureIncludeQuotesFix.patch + PATCHES ${CMAKE_CURRENT_LIST_DIR}/ConfigureIncludeQuotesFix.patch ${CMAKE_CURRENT_LIST_DIR}/STRINGIFYPatch.patch ${CMAKE_CURRENT_LIST_DIR}/EmbedSymbolsInStaticLibsZ7.patch ) @@ -35,6 +34,7 @@ set(CONFIGURE_COMMAND ${PERL} Configure enable-static-engine enable-capieng no-ssl2 + -utf-8 ) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") diff --git a/ports/openvdb/CONTROL b/ports/openvdb/CONTROL index cfcbfac6f..7576ff790 100644 --- a/ports/openvdb/CONTROL +++ b/ports/openvdb/CONTROL @@ -1,8 +1,8 @@ Source: openvdb -Version: 5.0.0 -Build-Depends: boost, ilmbase, openexr, tbb, blosc +Version: 5.0.0-1 +Build-Depends: ilmbase, openexr, tbb, blosc, boost-iostreams, boost-system, boost-thread, boost-date-time, boost-any, boost-uuid, boost-interprocess Description: Sparse volume data structure and tools Feature: tools Description: OpenVDB utilities: view, print and render -Build-Depends: glew, glfw3
\ No newline at end of file +Build-Depends: glew, glfw3 diff --git a/ports/pcl/CONTROL b/ports/pcl/CONTROL index 86839aedd..ba78abbf0 100644 --- a/ports/pcl/CONTROL +++ b/ports/pcl/CONTROL @@ -1,7 +1,7 @@ Source: pcl -Version: 1.8.1-7 +Version: 1.8.1-9 Description: Point Cloud Library (PCL) is open source library for 2D/3D image and point cloud processing. -Build-Depends: boost, eigen3, flann, qhull, vtk +Build-Depends: eigen3, flann, qhull, vtk, boost-system, boost-filesystem, boost-thread, boost-date-time, boost-iostreams, boost-random, boost-foreach, boost-dynamic-bitset, boost-property-map, boost-graph, boost-multi-array, boost-signals2, boost-ptr-container, boost-uuid, boost-interprocess, boost-asio Feature: openni2 Description: OpenNI2 support for PCL diff --git a/ports/pcl/cmakelists.patch b/ports/pcl/cmakelists.patch index 2d8bd1bd3..d385fd291 100644 --- a/ports/pcl/cmakelists.patch +++ b/ports/pcl/cmakelists.patch @@ -1,7 +1,16 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index d36a581fb..9b0195324 100644 +index d36a581fb..b68962e97 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt +@@ -258,7 +258,7 @@ if(OPENMP_FOUND) + set(OPENMP_DLL VCOMP120) + elseif(MSVC_VERSION EQUAL 1900) + set(OPENMP_DLL VCOMP140) +- elseif(MSVC_VERSION EQUAL 1910) ++ elseif(MSVC_VERSION MATCHES "^191[0-9]$") + set(OPENMP_DLL VCOMP140) + endif() + if(OPENMP_DLL) @@ -327,9 +327,9 @@ endif(WITH_PNG) # Qhull option(WITH_QHULL "Include convex-hull operations" TRUE) diff --git a/ports/poco/CONTROL b/ports/poco/CONTROL index 4eb60a07d..69166867f 100644 --- a/ports/poco/CONTROL +++ b/ports/poco/CONTROL @@ -1,5 +1,5 @@ Source: poco -Version: 1.7.8-2 +Version: 1.8.0.1 Build-Depends: zlib, pcre, sqlite3, expat Description: Modern, powerful open source C++ class libraries for building network and internet-based applications that run on desktop, server, mobile and embedded systems. diff --git a/ports/poco/portfile.cmake b/ports/poco/portfile.cmake index 315eaf2e5..6a187fac8 100644 --- a/ports/poco/portfile.cmake +++ b/ports/poco/portfile.cmake @@ -1,12 +1,12 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/poco-poco-1.7.8-release) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/pocoproject/poco/archive/poco-1.7.8-release.tar.gz" - FILENAME "poco-poco-1.7.8-release.tar.gz" - SHA512 50a47e6f69491859f48b72e3695c380ec871f7d5249d938216e3be41579d752675e5d746a150720d93122f87f585ebeea24dc9660c81642a12e70f761b9d2502 +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO pocoproject/poco + REF poco-1.8.0.1-release + SHA512 b4a58053235582038186bdddbfa4842833bb3529af9522662e935efaf852f5155addd510729ea5c148b3bcc57ed3b8287cd98cbeb6d04e1a13bd31fadbdf7ad8 + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE}) vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/pugixml/CONTROL b/ports/pugixml/CONTROL index 01679ea6e..eb1f4e634 100644 --- a/ports/pugixml/CONTROL +++ b/ports/pugixml/CONTROL @@ -1,3 +1,3 @@ Source: pugixml -Version: 1.8.1-2 +Version: 1.8.1-3 Description: C++ XML processing library diff --git a/ports/pugixml/portfile.cmake b/ports/pugixml/portfile.cmake index 0d5123974..889063223 100644 --- a/ports/pugixml/portfile.cmake +++ b/ports/pugixml/portfile.cmake @@ -26,8 +26,7 @@ endif() vcpkg_install_cmake() vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/pugixml") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL ${SOURCE_PATH}/readme.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/pugixml RENAME copyright)
\ No newline at end of file +file(INSTALL ${SOURCE_PATH}/readme.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/pugixml RENAME copyright) diff --git a/ports/range-v3/CONTROL b/ports/range-v3/CONTROL index 2bf8b6087..6325b3a55 100644 --- a/ports/range-v3/CONTROL +++ b/ports/range-v3/CONTROL @@ -1,3 +1,3 @@ Source: range-v3 -Version: 20151130-vcpkg4 +Version: 20151130-vcpkg5 Description: Range library for C++11/14/17. diff --git a/ports/range-v3/portfile.cmake b/ports/range-v3/portfile.cmake index 61429548b..b4c0c1403 100644 --- a/ports/range-v3/portfile.cmake +++ b/ports/range-v3/portfile.cmake @@ -17,8 +17,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/Range-V3-VS2015 - REF 2695c779d52717b635e97352fed6b75d32eba7a4 - SHA512 a1dad795b15c8491963f75fb58097dd290203406038cb2790c66b7ebd854a42043a92cfa2fed30c125529c3aa8d0cfc05cf1d149c84e96eb1f865857ad87adeb + REF 423bcae5cf18948591361329784d3b12ef41711b + SHA512 c6756bc6b5131c4c0ffb96550fb40decf734fc8c30e3d51c5c2bf03aae4d7426de36e896a1abf0a200a49a3906d4b60c1cf52f43504554b64d89c91de3e92746 HEAD_REF master ) diff --git a/ports/re2/CONTROL b/ports/re2/CONTROL new file mode 100644 index 000000000..89cb6a1a0 --- /dev/null +++ b/ports/re2/CONTROL @@ -0,0 +1,3 @@ +Source: re2
+Version: 2017-12-01-1
+Description: RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library.
\ No newline at end of file diff --git a/ports/re2/portfile.cmake b/ports/re2/portfile.cmake new file mode 100644 index 000000000..bc9544db1 --- /dev/null +++ b/ports/re2/portfile.cmake @@ -0,0 +1,20 @@ +include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO google/re2
+ REF 2017-12-01
+ SHA512 1943be4543ac6cedaef27202e126bddc57472926c2f28470c5e980902252d58e18bb4578c538883d9368a041e4928983fa27cd960c3671fe3b6366dbd5048b29
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS -DRE2_BUILD_TESTING=OFF
+)
+
+vcpkg_install_cmake()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/re2 RENAME copyright)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
diff --git a/ports/scintilla/CONTROL b/ports/scintilla/CONTROL new file mode 100644 index 000000000..f382cb552 --- /dev/null +++ b/ports/scintilla/CONTROL @@ -0,0 +1,3 @@ +Source: scintilla +Version: 3.7.6 +Description: A free source code editing component for Win32, GTK+, and OS X diff --git a/ports/scintilla/portfile.cmake b/ports/scintilla/portfile.cmake new file mode 100644 index 000000000..4bdfc8ec8 --- /dev/null +++ b/ports/scintilla/portfile.cmake @@ -0,0 +1,61 @@ +# Common Ambient Variables: +# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} +# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} +# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} +# PORT = current port name (zlib, etc) +# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) +# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) +# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) +# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg> +# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) +# + +include(vcpkg_common_functions) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/scintilla) +vcpkg_download_distfile(ARCHIVE + URLS "http://www.scintilla.org/scintilla376.zip" + FILENAME "scintilla376.zip" + SHA512 618a50405eede3277d7696ac58122aeeb490d10ae392c60c7f78baaa96c965a8e1a599948e0ebd61bed7f75894b01bdf4574a0e5d0e20996bfdfb2e1bdb33203 +) +vcpkg_extract_source_archive(${ARCHIVE}) + +if(TRIPLET_SYSTEM_ARCH MATCHES "x86") + set(BUILD_ARCH "Win32") +else() + set(BUILD_ARCH ${TRIPLET_SYSTEM_ARCH}) +endif() + +vcpkg_build_msbuild( + PROJECT_PATH ${SOURCE_PATH}/Win32/SciLexer.vcxproj + PLATFORM ${MSBUILD_PLATFORM} +) + +# Handle headers +file(INSTALL ${SOURCE_PATH}/include/ILexer.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(INSTALL ${SOURCE_PATH}/include/Sci_Position.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(INSTALL ${SOURCE_PATH}/include/SciLexer.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(INSTALL ${SOURCE_PATH}/include/Scintilla.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle libraries +if(BUILD_ARCH STREQUAL "Win32") + set(BUILD_DIR_DEBUG "/Debug") + set(BUILD_DIR_RELEASE "/Release") +else() + set(BUILD_DIR_DEBUG "${BUILD_ARCH}/Debug") + set(BUILD_DIR_RELEASE "${BUILD_ARCH}/Release") +endif() + +if(VCPKG_LIBRARY_LINKAGE MATCHES "dynamic") + file(INSTALL ${SOURCE_PATH}/win32/${BUILD_DIR_RELEASE}/SciLexer.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(INSTALL ${SOURCE_PATH}/win32/${BUILD_DIR_DEBUG}/SciLexer.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() +file(INSTALL ${SOURCE_PATH}/win32/${BUILD_DIR_RELEASE}/SciLexer.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) +file(INSTALL ${SOURCE_PATH}/win32/${BUILD_DIR_DEBUG}/SciLexer.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + +# Handle PDBs + +file(INSTALL ${SOURCE_PATH}/win32/${BUILD_DIR_RELEASE}/SciLexer.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/bin) +file(INSTALL ${SOURCE_PATH}/win32/${BUILD_DIR_DEBUG}/SciLexer.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/scintilla RENAME copyright) diff --git a/ports/sciter/CONTROL b/ports/sciter/CONTROL index 5583c626d..b822697e6 100644 --- a/ports/sciter/CONTROL +++ b/ports/sciter/CONTROL @@ -1,4 +1,4 @@ Source: sciter -Version: 4.0.4 +Version: 4.0.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 ac3020144..2f65614e6 100644 --- a/ports/sciter/portfile.cmake +++ b/ports/sciter/portfile.cmake @@ -12,9 +12,8 @@ include(vcpkg_common_functions) # header-only library set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled) -set(SCITER_VERSION 4.0.4) -set(SCITER_REVISION 9b5954df34ac0094e6037ac8aa6e00fb883185f9) -set(SCITER_SHA a87b05aec6c99f56926b005eb1303b2b68f901fe2658433ca11d704b50308e6d291026404b86320fae0f1b12ca257a35338464f21d94ebeaa6e40cfec64a9201) +set(SCITER_REVISION d015c26ee369dffd353c40bb1a98a7350db14ab2) +set(SCITER_SHA 41c33d0049d32ec07bf7c1af38d31c87c4504c2ee054a60ebaa867b4affe7c8eab60a2f2ffe3326f44d61751e5e7ffd3c067d878c79acf47c2598f6e65fbf7a9) if(VCPKG_TARGET_ARCHITECTURE STREQUAL x64) set(SCITER_ARCH 64) diff --git a/ports/sobjectizer/001-cmake.patch b/ports/sobjectizer/001-cmake.patch deleted file mode 100644 index cb4285e91..000000000 --- a/ports/sobjectizer/001-cmake.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/so_5/CMakeLists.txt b/so_5/CMakeLists.txt -index bd6f1d7..0e30831 100644 ---- a/so_5/CMakeLists.txt -+++ b/so_5/CMakeLists.txt -@@ -71,12 +71,17 @@ set(SO_5_SRC exception.cpp - disp/prio_dedicated_threads/one_per_prio/pub.cpp - ) - --add_library(${SO_5_TARGET} SHARED ${SO_5_SRC}) -+if (SO_BUILD_STATIC) -+ message(STATUS "Building static.") -+ add_library(${SO_5_TARGET} STATIC ${SO_5_SRC}) -+ target_compile_definitions(${SO_5_TARGET} -+ PUBLIC -DSO_5_STATIC_LIB -+ ) -+else() -+ message(STATUS "Building dynamic.") -+ add_library(${SO_5_TARGET} SHARED ${SO_5_SRC}) -+endif() - --add_library(${SO_5_S_TARGET} STATIC ${SO_5_SRC}) --target_compile_definitions(${SO_5_S_TARGET} -- PUBLIC -DSO_5_STATIC_LIB --) - - set(SO_5_EXT_LIBS ) - if( ANDROID ) -@@ -90,7 +95,7 @@ foreach(__extLibrary ${SO_5_EXT_LIBS}) - endforeach() - - install( -- TARGETS ${SO_5_TARGET} ${SO_5_S_TARGET} -+ TARGETS ${SO_5_TARGET} - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - RUNTIME DESTINATION bin diff --git a/ports/sobjectizer/CONTROL b/ports/sobjectizer/CONTROL index 95bcb751b..5c90ce3f1 100644 --- a/ports/sobjectizer/CONTROL +++ b/ports/sobjectizer/CONTROL @@ -1,3 +1,3 @@ Source: sobjectizer -Version: 5.5.19.2-1 +Version: 5.5.20 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 5ea87917c..e61b2a466 100644 --- a/ports/sobjectizer/portfile.cmake +++ b/ports/sobjectizer/portfile.cmake @@ -1,50 +1,35 @@ include(vcpkg_common_functions) -set(VERSION 5.5.19.2) +set(VERSION 5.5.20) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/so-${VERSION}/dev) vcpkg_download_distfile(ARCHIVE - URLS "https://downloads.sourceforge.net/project/sobjectizer/sobjectizer/SObjectizer%20Core%20v.5.5/so-${VERSION}.zip" - FILENAME "so-${VERSION}.tar.xz" - SHA512 8f70e751766ea43ddbc8e633aa729b81f01b84b7e3d4faf237e77a61dabe60bb1aaad8dabb868db4e473d801f5a639eb3d12aa8180feacb894f7a99b08375291 + URLS "https://sourceforge.net/projects/sobjectizer/files/sobjectizer/SObjectizer%20Core%20v.5.5/so-${VERSION}.zip" + FILENAME "so-${VERSION}.zip" + SHA512 ec62f358b363ee35c9baba4871612c906d9b57624a8a86e57c59cfe8bfd209554f70fee1d3caf815a475b6833238f8d2ec9ebc210acc978423b31b3ebf27b868 ) vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/001-cmake.patch -) - if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(SO_BUILD_STATIC ON) - set(SO_BUILD_SHARED OFF) + set(SOBJECTIZER_BUILD_STATIC ON) + set(SOBJECTIZER_BUILD_SHARED OFF) else() - set(SO_BUILD_STATIC OFF) - set(SO_BUILD_SHARED ON) + set(SOBJECTIZER_BUILD_STATIC OFF) + set(SOBJECTIZER_BUILD_SHARED ON) endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DSO_BUILD_STATIC=${SO_BUILD_STATIC} - -DSO_BUILD_SHARED=${SO_BUILD_SHARED} + -DSOBJECTIZER_BUILD_STATIC=${SOBJECTIZER_BUILD_STATIC} + -DSOBJECTIZER_BUILD_SHARED=${SOBJECTIZER_BUILD_SHARED} ) vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -# patch SO_5_STATIC_LIB in headers with actual value -set(DECLSPEC_FILE ${CURRENT_PACKAGES_DIR}/include/so_5/h/declspec.hpp) -file(READ ${DECLSPEC_FILE} DECLSPEC_H) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - string(REPLACE "defined( SO_5_STATIC_LIB )" "1" DECLSPEC_H "${DECLSPEC_H}") -else() - string(REPLACE "defined( SO_5_STATIC_LIB )" "0" DECLSPEC_H "${DECLSPEC_H}") -endif() -file(WRITE ${DECLSPEC_FILE} "${DECLSPEC_H}") +vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/sobjectizer") # Handle copyright file(COPY ${SOURCE_PATH}/../LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/sobjectizer) diff --git a/ports/speex/CMakeLists.txt b/ports/speex/CMakeLists.txt index 839222ae6..bdce0b3c3 100644 --- a/ports/speex/CMakeLists.txt +++ b/ports/speex/CMakeLists.txt @@ -1,8 +1,6 @@ cmake_minimum_required (VERSION 3.8.0) project (libspeex C) -set(COMMON_INCLUDES ${PROJECT_BINARY_DIR}/include) - option(USE_SSE "USE_SSE used Note: USE_SSE and FIXED_POINT are mutually exclusive." ON) if(MSVC) add_definitions(-DHAVE_CONFIG_H) @@ -17,6 +15,19 @@ include_directories(win32 include) set(CMAKE_DEBUG_POSTFIX d) +file(READ "win32/libspeex.def" _contents) +if(CMAKE_BUILD_TYPE STREQUAL "Debug") + string(REPLACE "LIBRARY libspeex" "LIBRARY libspeexd" _contents "${_contents}") +endif() +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/libspeex.def" + "${_contents}\n" + "speex_nb_mode\n" + "speex_wb_mode\n" + "speex_uwb_mode\n" + "speex_mode_list\n" + "speex_header_free\n" +) + set(SRC "libspeex/bits.c" "libspeex/cb_search.c" @@ -52,7 +63,7 @@ set(SRC "libspeex/vbr.c" "libspeex/vq.c" "libspeex/window.c" - "win32/libspeex.def" + "${CMAKE_CURRENT_BINARY_DIR}/libspeex.def" ) add_library(libspeex ${SRC}) diff --git a/ports/speex/CONTROL b/ports/speex/CONTROL index 5d3fa10a2..6fcda84be 100644 --- a/ports/speex/CONTROL +++ b/ports/speex/CONTROL @@ -1,3 +1,3 @@ Source: speex -Version: 1.2.0-1 +Version: 1.2.0-4 Description: Speex is an Open Source/Free Software patent-free audio compression format designed for speech. diff --git a/ports/speex/portfile.cmake b/ports/speex/portfile.cmake index 6eed0cfc9..271c2bc88 100644 --- a/ports/speex/portfile.cmake +++ b/ports/speex/portfile.cmake @@ -18,4 +18,10 @@ vcpkg_configure_cmake( vcpkg_install_cmake() +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(READ "${CURRENT_PACKAGES_DIR}/include/speex/speex.h" _contents) + string(REPLACE "extern const SpeexMode" "__declspec(dllimport) extern const SpeexMode" _contents "${_contents}") + file(WRITE "${CURRENT_PACKAGES_DIR}/include/speex/speex.h" "${_contents}") +endif() + file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/speex RENAME copyright) diff --git a/ports/string-theory/CONTROL b/ports/string-theory/CONTROL index 26cf23674..04384f8fb 100644 --- a/ports/string-theory/CONTROL +++ b/ports/string-theory/CONTROL @@ -1,3 +1,3 @@ Source: string-theory -Version: 1.6-1 +Version: 1.7 Description: Flexible C++11 string library with type-safe formatting. diff --git a/ports/string-theory/disableTests.patch b/ports/string-theory/disableTests.patch deleted file mode 100644 index 7990385ac..000000000 --- a/ports/string-theory/disableTests.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index cf79105..a29c209 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -230,5 +230,6 @@ install(FILES - install(EXPORT string_theory-targets - DESTINATION "${ST_INSTALL_CMAKE_DIR}/string_theory" COMPONENT devel) - --enable_testing() --add_subdirectory(test) -+# Note:we do not mind the tests, which caused our library build failed ,so disable the tests -+#enable_testing() -+#add_subdirectory(test) diff --git a/ports/string-theory/portfile.cmake b/ports/string-theory/portfile.cmake index e3508b76a..c986839e1 100644 --- a/ports/string-theory/portfile.cmake +++ b/ports/string-theory/portfile.cmake @@ -3,15 +3,11 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zrax/string_theory - REF 1.6 - SHA512 5bc99b6dfc2ab43d2812ee47dfbbeeb68106da39b2349799ab924f009270166ebb5508f87a37e634fbfa5495dd263697a582404650eedc5393722761c5ce2028 + REF 1.7 + SHA512 59b367542a0dde727bf58791a94eed1b0f7007d1c661a8e728f3668bb284cadd98a03379cb96dc832e5230b6e991b66b9c8522e3525ed168505d9b930af5d239 HEAD_REF master ) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/disableTests.patch -) + if(VCPKG_LIBRARY_LINKAGE STREQUAL static) set(ST_BUILD_STATIC ON) else() diff --git a/ports/tbb/CONTROL b/ports/tbb/CONTROL index a9a584c06..1de2e57a5 100644 --- a/ports/tbb/CONTROL +++ b/ports/tbb/CONTROL @@ -1,3 +1,3 @@ Source: tbb -Version: 2017_U7 +Version: 2018_U2 Description: Intel's Threading Building Blocks. diff --git a/ports/tbb/portfile.cmake b/ports/tbb/portfile.cmake index 7bde0c416..12e07ba78 100644 --- a/ports/tbb/portfile.cmake +++ b/ports/tbb/portfile.cmake @@ -5,17 +5,14 @@ endif() if (VCPKG_CRT_LINKAGE STREQUAL static) message(FATAL_ERROR "TBB does not currently support static crt linkage") endif() -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) - message(FATAL_ERROR "TBB does not currently support UWP") -endif() include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO 01org/tbb - REF 2017_U7 - SHA512 e4a6fcc3cace9b57061e8661b09af9cb2be721224889af52f4c1b4faec1a130512b7c960e21171ebb8105593a81bd9b80bef20cda91bfac174d535d0f7ccb680 - HEAD_REF tbb_2017) + REF 2018_U2 + SHA512 a94b55bcabec47424be1c2d4b7bf3502a545bc714250a260e152b00431420094dbab64c0355bd0004ee9ad10d85c7b920969bf4b6d9a30b3697c7c5202518841 + HEAD_REF tbb_2018) if(TRIPLET_SYSTEM_ARCH STREQUAL x86) set(BUILD_ARCH Win32) @@ -23,7 +20,9 @@ else() set(BUILD_ARCH ${TRIPLET_SYSTEM_ARCH}) endif() -vcpkg_build_msbuild(PROJECT_PATH ${SOURCE_PATH}/build/vs2012/makefile.sln PLATFORM ${BUILD_ARCH}) +set(TBB_MSBUILD_PROJECT_DIR ${SOURCE_PATH}/build/vs2013) + +vcpkg_build_msbuild(PROJECT_PATH ${TBB_MSBUILD_PROJECT_DIR}/makefile.sln PLATFORM ${BUILD_ARCH}) # Installation message(STATUS "Installing") @@ -32,8 +31,8 @@ file(COPY ${SOURCE_PATH}/include/serial DESTINATION ${CURRENT_PACKAGES_DIR}/include) -set(DEBUG_OUTPUT_PATH ${SOURCE_PATH}/build/vs2012/${BUILD_ARCH}/Debug) -set(RELEASE_OUTPUT_PATH ${SOURCE_PATH}/build/vs2012/${BUILD_ARCH}/Release) +set(DEBUG_OUTPUT_PATH ${TBB_MSBUILD_PROJECT_DIR}/${BUILD_ARCH}/Debug) +set(RELEASE_OUTPUT_PATH ${TBB_MSBUILD_PROJECT_DIR}/${BUILD_ARCH}/Release) file(COPY ${RELEASE_OUTPUT_PATH}/tbb.lib @@ -59,7 +58,6 @@ file(COPY vcpkg_copy_pdbs() -# Since 2017_U7 TBB provides a CMake script to generate config file include(${SOURCE_PATH}/cmake/TBBMakeConfig.cmake) tbb_make_config(TBB_ROOT ${CURRENT_PACKAGES_DIR} CONFIG_DIR TBB_CONFIG_DIR # is set to ${CURRENT_PACKAGES_DIR}/cmake diff --git a/ports/thrift/CONTROL b/ports/thrift/CONTROL index d7831632e..ec00292b5 100644 --- a/ports/thrift/CONTROL +++ b/ports/thrift/CONTROL @@ -1,4 +1,4 @@ Source: thrift -Version: 20172805-72ca60debae1d9fb35d9f0085118873669006d7f-1 -Build-Depends: boost, zlib, libevent, openssl +Version: 20172805-72ca60debae1d9fb35d9f0085118873669006d7f-2 +Build-Depends: zlib, libevent, openssl, boost-range, boost-smart-ptr, boost-date-time, boost-locale, boost-scope-exit Description: Apache Thrift is a software project spanning a variety of programming languages and use cases. Our goal is to make reliable, performant communication and data serialization across languages as efficient and seamless as possible. Originally developed at Facebook, Thrift was open sourced in April 2007 and entered the Apache Incubator in May, 2008. Thrift became an Apache TLP in October, 2010. diff --git a/ports/thrift/portfile.cmake b/ports/thrift/portfile.cmake index 3cb280462..cae46e01c 100644 --- a/ports/thrift/portfile.cmake +++ b/ports/thrift/portfile.cmake @@ -22,9 +22,11 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DWITH_SHARED_LIB=OFF -DWITH_STATIC_LIB=ON + -DWITH_STDTHREADS=ON -DBUILD_TESTING=off -DBUILD_JAVA=off -DBUILD_C_GLIB=off diff --git a/ports/tinyexif/CONTROL b/ports/tinyexif/CONTROL new file mode 100644 index 000000000..9c984a507 --- /dev/null +++ b/ports/tinyexif/CONTROL @@ -0,0 +1,4 @@ +Source: tinyexif +Version: 1.0.1-1 +Build-Depends: tinyxml2 +Description: tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG images diff --git a/ports/tinyexif/portfile.cmake b/ports/tinyexif/portfile.cmake new file mode 100644 index 000000000..4ee127d4a --- /dev/null +++ b/ports/tinyexif/portfile.cmake @@ -0,0 +1,30 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cdcseacave/TinyEXIF + REF 1.0.1 + SHA512 d018d882adbcebf9fa8ad67a78304a1dd21ffd3a01e3cf2d269fa34efedc5ec5f293767f3a21d62cb1bb9b88b2c364977a9125e9b88b2eac7866a8d6b27c2f23 + HEAD_REF master +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DBUILD_DEMO=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/tinyexif") + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/tinyexif RENAME copyright) diff --git a/ports/tinyxml2/CONTROL b/ports/tinyxml2/CONTROL index c2b75c438..70bc8c107 100644 --- a/ports/tinyxml2/CONTROL +++ b/ports/tinyxml2/CONTROL @@ -1,3 +1,3 @@ Source: tinyxml2 -Version: 5.0.1-1 +Version: 6.0.0 Description: A simple, small, efficient, C++ XML parser diff --git a/ports/tinyxml2/portfile.cmake b/ports/tinyxml2/portfile.cmake index 0c8b0b84b..cf8373e4f 100644 --- a/ports/tinyxml2/portfile.cmake +++ b/ports/tinyxml2/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO leethomason/tinyxml2 - REF 5.0.1 - SHA512 a51ec5843774df0482620c549fb6c61d30a6db5025be26ff6d25b3c53533a27a57f00b026bd9fbca78e9e30084b3f5f6fbff9dba315d078419da084b57f518ba + REF 6.0.0 + SHA512 30c68f491830187738b01ca5db1a96e7b4907cf8fa09a533c90ea084ab5e73f798dff6305cfc4edccc8989926e91c0482677bb5796799113c839dbd0528c8ad5 HEAD_REF master ) diff --git a/ports/unicorn/CONTROL b/ports/unicorn/CONTROL new file mode 100644 index 000000000..d60ab9f78 --- /dev/null +++ b/ports/unicorn/CONTROL @@ -0,0 +1,3 @@ +Source: unicorn +Version: 2017-12-06-bc34c36eaeca0f4fc672015d24ce3efbcc81d6e4-1 +Description: Unicorn is a lightweight multi-platform, multi-architecture CPU emulator framework diff --git a/ports/unicorn/portfile.cmake b/ports/unicorn/portfile.cmake new file mode 100644 index 000000000..d64b2bf4d --- /dev/null +++ b/ports/unicorn/portfile.cmake @@ -0,0 +1,58 @@ +include(vcpkg_common_functions) + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "WindowsStore not supported") +endif() + +if(VCPKG_CRT_LINKAGE STREQUAL "dynamic" AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") + message(FATAL_ERROR "unicorn can currently only be built with /MT or /MTd (static CRT linkage)") +endif() + +# Note: this is safe because unicorn is a C library and takes steps to avoid memory allocate/free across the DLL boundary. +set(VCPKG_CRT_LINKAGE "static") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO unicorn-engine/unicorn + REF bc34c36eaeca0f4fc672015d24ce3efbcc81d6e4 + SHA512 43694c7dfb0783c1d64236a286b929c9d0eea9d8e18146ad4fb36d7e4faf719e179d7ee36b43e568e4fce779b0f660ed9c1fb417793d6019923cae9538c9355e + HEAD_REF master +) + +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(UNICORN_PLATFORM "Win32") +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(UNICORN_PLATFORM "x64") +else() + message(FATAL_ERROR "Unsupported architecture") +endif() + +vcpkg_build_msbuild( + PROJECT_PATH "${SOURCE_PATH}/msvc/unicorn.sln" + PLATFORM "${UNICORN_PLATFORM}" +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(INSTALL "${SOURCE_PATH}/msvc/${UNICORN_PLATFORM}/Release/unicorn.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + file(INSTALL "${SOURCE_PATH}/msvc/${UNICORN_PLATFORM}/Release/unicorn.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(INSTALL "${SOURCE_PATH}/msvc/${UNICORN_PLATFORM}/Debug/unicorn.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + file(INSTALL "${SOURCE_PATH}/msvc/${UNICORN_PLATFORM}/Debug/unicorn.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") +else() + file(INSTALL "${SOURCE_PATH}/msvc/${UNICORN_PLATFORM}/Release/unicorn_static.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + file(INSTALL "${SOURCE_PATH}/msvc/${UNICORN_PLATFORM}/Debug/unicorn_static.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") +endif() + +file( + INSTALL "${SOURCE_PATH}/msvc/distro/include/unicorn" + DESTINATION "${CURRENT_PACKAGES_DIR}/include" + RENAME "unicorn" +) +file( + INSTALL "${SOURCE_PATH}/COPYING" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/unicorn" + RENAME "copyright" +) +file( + INSTALL "${SOURCE_PATH}/COPYING_GLIB" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/unicorn" +) diff --git a/ports/vlpp/CMakeLists.txt b/ports/vlpp/CMakeLists.txt new file mode 100644 index 000000000..238600f6e --- /dev/null +++ b/ports/vlpp/CMakeLists.txt @@ -0,0 +1,37 @@ +cmake_minimum_required(VERSION 3.3.0) + +project(Vlpp VERSION 0.9.3.1 LANGUAGES CXX) + +# Sources +set(SRCS + Import/Vlpp.cpp + Import/VlppWorkflow.cpp + Import/VlppWorkflowCompiler.cpp) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj") + +# Create and configure the target +add_library(Vlpp ${SRCS}) + +# target_compile_definitions +target_compile_definitions(Vlpp PRIVATE UNICODE) +target_compile_definitions(Vlpp PRIVATE _UNICODE) + +target_include_directories(Vlpp PRIVATE ${PROJECT_SOURCE_DIR}/Import) + +# Install +install( + TARGETS Vlpp + RUNTIME DESTINATION "bin" + LIBRARY DESTINATION "lib" + ARCHIVE DESTINATION "lib" + ) + +if (NOT DEFINED SKIP_HEADERS) + install( + FILES + Import/Vlpp.h + Import/VlppWorkflow.h + Import/VlppWorkflowCompiler.h + DESTINATION "include" + ) +endif() diff --git a/ports/vlpp/CONTROL b/ports/vlpp/CONTROL new file mode 100644 index 000000000..aa8381cae --- /dev/null +++ b/ports/vlpp/CONTROL @@ -0,0 +1,3 @@ +Source: vlpp
+Version: 0.9.3.1
+Description: Common C++ construction, including string operation / generic container / linq / General-LR parser generator / multithreading / reflection for C++ / etc
diff --git a/ports/vlpp/portfile.cmake b/ports/vlpp/portfile.cmake new file mode 100644 index 000000000..1b7ec027a --- /dev/null +++ b/ports/vlpp/portfile.cmake @@ -0,0 +1,31 @@ +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ message(STATUS "Warning: Dynamic building not supported yet. Building static.")
+ set(VCPKG_LIBRARY_LINKAGE static)
+endif()
+
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/Release-0.9.3.1)
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://github.com/vczh-libraries/Release/archive/0.9.3.1.tar.gz"
+ FILENAME "GacUI-0.9.3.1.tar.gz"
+ SHA512 f284d3c78f8ae54102457b2cdc4fcee4b8da9a72d13bb325c7c7269261c5b0789eeb7340b0409b2b37294d68edb558503be131948aea3cb53582900339d26b54
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS_DEBUG -DSKIP_HEADERS=1
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGE_DIR}/debug/include)
+
+# Tools
+file(INSTALL ${SOURCE_PATH}/Tools/CppMerge.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/vlpp RENAME copyright)
diff --git a/ports/websocketpp/CONTROL b/ports/websocketpp/CONTROL index f15164de2..991e6635c 100644 --- a/ports/websocketpp/CONTROL +++ b/ports/websocketpp/CONTROL @@ -1,4 +1,4 @@ Source: websocketpp Version: 0.7.0-1 -Build-Depends: zlib, openssl, boost +Build-Depends: zlib, openssl, boost-asio Description: Library that implements RFC6455 The WebSocket Protocol
\ No newline at end of file diff --git a/ports/wt/CONTROL b/ports/wt/CONTROL index 43fa044ef..448d76f60 100644 --- a/ports/wt/CONTROL +++ b/ports/wt/CONTROL @@ -1,4 +1,4 @@ Source: wt -Version: 3.3.7-2 +Version: 3.3.7-4 Description: Wt is a C++ library for developing web applications -Build-Depends: boost, openssl, sqlite3, libpq, pango +Build-Depends: openssl, sqlite3, libpq, pango, boost-date-time, boost-regex, boost-program-options, boost-signals, boost-system, boost-filesystem, boost-thread, boost-random, boost-multi-index, boost-signals2, boost-asio, boost-ublas, boost-conversion, boost-array, boost-smart-ptr, boost-tuple, boost-algorithm, boost-logic diff --git a/ports/wt/boost-1.66.patch b/ports/wt/boost-1.66.patch new file mode 100644 index 000000000..d8268f6ba --- /dev/null +++ b/ports/wt/boost-1.66.patch @@ -0,0 +1,123 @@ +diff --git a/src/http/Connection.C b/src/http/Connection.C +index 70ecfd5..b24c817 100644 +--- a/src/http/Connection.C ++++ b/src/http/Connection.C +@@ -339,7 +339,7 @@ void Connection::handleReadBody(ReplyPtr reply, + const asio_error_code& e, + std::size_t bytes_transferred) + { +- LOG_DEBUG(socket().native() << ": handleReadBody(): " << e.message()); ++ LOG_DEBUG(socket().native_handle() << ": handleReadBody(): " << e.message()); + + if (disconnectCallback_) { + rcv_body_buffer_ = false; +@@ -350,7 +350,7 @@ void Connection::handleReadBody(ReplyPtr reply, + disconnectCallback_ = boost::function<void()>(); + f(); + } else if (!e) { +- LOG_ERROR(socket().native() ++ LOG_ERROR(socket().native_handle() + << ": handleReadBody(): while waiting for disconnect, " + "received unexpected data, closing"); + close(); +@@ -471,3 +471,4 @@ void Connection::handleWriteResponse(ReplyPtr reply, + + } // namespace server + } // namespace http ++ +diff --git a/src/http/Connection.h b/src/http/Connection.h +index 712f736..dabba21 100644 +--- a/src/http/Connection.h ++++ b/src/http/Connection.h +@@ -72,7 +72,7 @@ public: + virtual ~Connection(); + + Server *server() const { return server_; } +- asio::strand& strand() { return strand_; } ++ asio::io_service::strand& strand() { return strand_; } + + /// Stop all asynchronous operations associated with the connection. + void scheduleStop(); +@@ -113,7 +113,7 @@ protected: + /// The manager for this connection. + ConnectionManager& ConnectionManager_; + +- asio::strand strand_; ++ asio::io_service::strand strand_; + + void finishReply(); + +@@ -204,3 +204,4 @@ typedef boost::shared_ptr<Connection> ConnectionPtr; + } // namespace http + + #endif // HTTP_CONNECTION_HPP ++ +diff --git a/src/http/Reply.C b/src/http/Reply.C +index f7fe2aa..603b9ea 100644 +--- a/src/http/Reply.C ++++ b/src/http/Reply.C +@@ -593,7 +593,7 @@ bool Reply::encodeNextContentBuffer( + originalSize += bs; + + gzipStrm_.avail_in = bs; +- gzipStrm_.next_in = (unsigned char *)asio::detail::buffer_cast_helper(b); ++ gzipStrm_.next_in = (unsigned char *)b.data(); + + unsigned char out[16*1024]; + do { +@@ -642,3 +642,4 @@ bool Reply::encodeNextContentBuffer( + + } // namespace server + } // namespace http ++ +diff --git a/src/http/Server.h b/src/http/Server.h +index 3260a23..c924ed2 100644 +--- a/src/http/Server.h ++++ b/src/http/Server.h +@@ -120,7 +120,7 @@ private: + Wt::WLogger accessLogger_; + + /// The strand for handleTcpAccept(), handleSslAccept() and handleStop() +- asio::strand accept_strand_; ++ asio::io_service::strand accept_strand_; + + /// Acceptor used to listen for incoming http connections. + asio::ip::tcp::acceptor tcp_acceptor_; +@@ -164,3 +164,4 @@ void handleTimeout(asio_timer *timer, + } // namespace http + + #endif // HTTP_SERVER_HPP ++ +diff --git a/src/wt/WServerGLWidget.C b/src/wt/WServerGLWidget.C +index a1fb5ee..7e1d31e 100644 +--- a/src/wt/WServerGLWidget.C ++++ b/src/wt/WServerGLWidget.C +@@ -36,8 +36,9 @@ typedef GLXContext (*glXCreateContextAttribsARBProc)(Display*, GLXFBConfig, GLXC + #endif + + #ifdef WIN32_GL +-#include <GL/wglew.h> ++#define WIN32_LEAN_AND_MEAN + #include <Windows.h> ++#include <GL/wglew.h> + #endif + + #ifdef APPLE_GL +diff --git a/src/wt/http/Client.C b/src/wt/http/Client.C +index 2c4e07d..ca793d4 100644 +--- a/src/wt/http/Client.C ++++ b/src/wt/http/Client.C +@@ -605,7 +605,7 @@ private: + + protected: + WIOService& ioService_; +- boost::asio::strand strand_; ++ boost::asio::io_service::strand strand_; + tcp::resolver resolver_; + boost::asio::streambuf requestBuf_; + boost::asio::streambuf responseBuf_; +@@ -1060,3 +1060,4 @@ bool Client::parseUrl(const std::string &url, URL &parsedUrl) + + } + } ++ diff --git a/ports/wt/guard-NO_ERROR.patch b/ports/wt/guard-NO_ERROR.patch new file mode 100644 index 000000000..b91a19a20 --- /dev/null +++ b/ports/wt/guard-NO_ERROR.patch @@ -0,0 +1,19 @@ +diff --git a/src/wt/WGLWidget b/src/wt/WGLWidget +index dd39701..94634f7 100644 +--- a/src/wt/WGLWidget ++++ b/src/wt/WGLWidget +@@ -798,7 +798,14 @@ public: + SAMPLE_COVERAGE = 0x80A0, + + /* ErrorCode */ ++#ifdef _WIN32 ++#pragma push_macro ("NO_ERROR") ++#undef NO_ERROR ++#endif + NO_ERROR = 0x0, ++#ifdef _WIN32 ++#pragma pop_macro ("NO_ERROR") ++#endif + INVALID_ENUM = 0x0500, + INVALID_VALUE = 0x0501, + INVALID_OPERATION = 0x0502, diff --git a/ports/wt/portfile.cmake b/ports/wt/portfile.cmake index 9e219de1f..ede65c8df 100644 --- a/ports/wt/portfile.cmake +++ b/ports/wt/portfile.cmake @@ -10,14 +10,13 @@ vcpkg_from_github( vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/add-disable-boost-autolink-option.patch + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/add-disable-boost-autolink-option.patch + ${CMAKE_CURRENT_LIST_DIR}/guard-NO_ERROR.patch + ${CMAKE_CURRENT_LIST_DIR}/boost-1.66.patch ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(SHARED_LIBS ON) -else() - set(SHARED_LIBS OFF) -endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SHARED_LIBS) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} diff --git a/scripts/VcpkgPowershellUtils.ps1 b/scripts/VcpkgPowershellUtils.ps1 index d32c3ae6b..e394e540e 100644 --- a/scripts/VcpkgPowershellUtils.ps1 +++ b/scripts/VcpkgPowershellUtils.ps1 @@ -11,19 +11,25 @@ function vcpkgCreateDirectoryIfNotExists([Parameter(Mandatory=$true)][string]$di } } -function vcpkgRemoveDirectory([Parameter(Mandatory=$true)][string]$dirPath) +function vcpkgCreateParentDirectoryIfNotExists([Parameter(Mandatory=$true)][string]$path) { - if (Test-Path $dirPath) + $parentDir = split-path -parent $path + if ([string]::IsNullOrEmpty($parentDir)) { - Remove-Item $dirPath -Recurse -Force + return + } + + if (!(Test-Path $parentDir)) + { + New-Item -ItemType Directory -Path $parentDir | Out-Null } } -function vcpkgRemoveFile([Parameter(Mandatory=$true)][string]$filePath) +function vcpkgRemoveItem([Parameter(Mandatory=$true)][string]$dirPath) { - if (Test-Path $filePath) + if (Test-Path $dirPath) { - Remove-Item $filePath -Force + Remove-Item $dirPath -Recurse -Force } } @@ -101,11 +107,10 @@ function vcpkgDownloadFile( [Parameter(Mandatory=$true)][string]$url, return } - $downloadDir = split-path -parent $downloadPath - vcpkgCreateDirectoryIfNotExists $downloadDir + vcpkgCreateParentDirectoryIfNotExists $downloadPath $downloadPartPath = "$downloadPath.part" - vcpkgRemoveFile $downloadPartPath + vcpkgRemoveItem $downloadPartPath $wc = New-Object System.Net.WebClient $proxyAuth = !$wc.Proxy.IsBypassed($url) @@ -131,7 +136,7 @@ function vcpkgDownloadFile( [Parameter(Mandatory=$true)][string]$url, catch [System.Exception] { # If BITS fails for any reason, delete any potentially partially downloaded files and continue - vcpkgRemoveFile $downloadPartPath + vcpkgRemoveItem $downloadPartPath } } @@ -141,16 +146,21 @@ function vcpkgDownloadFile( [Parameter(Mandatory=$true)][string]$url, } function vcpkgExtractFile( [Parameter(Mandatory=$true)][string]$file, - [Parameter(Mandatory=$true)][string]$destinationDir) + [Parameter(Mandatory=$true)][string]$destinationDir, + [Parameter(Mandatory=$true)][string]$outFilename) { - $parentPath = split-path -parent $destinationDir - vcpkgCreateDirectoryIfNotExists $parentPath - $baseName = (Get-ChildItem $file).BaseName - $destinationPartial = "$destinationDir\$baseName-partially_extracted" + vcpkgCreateDirectoryIfNotExists $destinationDir + $output = "$destinationDir\$outFilename" + vcpkgRemoveItem $output + $destinationPartial = "$destinationDir\partially-extracted" - vcpkgRemoveDirectory $destinationPartial + vcpkgRemoveItem $destinationPartial vcpkgCreateDirectoryIfNotExists $destinationPartial + $shell = new-object -com shell.application + $zip = $shell.NameSpace($file) + $itemCount = $zip.Items().Count + if (vcpkgHasCommand -commandName 'Microsoft.PowerShell.Archive\Expand-Archive') { Write-Verbose("Extracting with Microsoft.PowerShell.Archive\Expand-Archive") @@ -164,8 +174,6 @@ function vcpkgExtractFile( [Parameter(Mandatory=$true)][string]$file, else { Write-Verbose("Extracting via shell") - $shell = new-object -com shell.application - $zip = $shell.NameSpace($file) foreach($item in $zip.items()) { # Piping to Out-Null is used to block until finished @@ -173,16 +181,14 @@ function vcpkgExtractFile( [Parameter(Mandatory=$true)][string]$file, } } - $hasASingleItem = (Get-ChildItem $destinationPartial | Measure-Object).Count -eq 1; - - if ($hasASingleItem) + if ($itemCount -eq 1) { - Move-Item -Path "$destinationPartial\*" -Destination $destinationDir - vcpkgRemoveDirectory $destinationPartial + Move-Item -Path "$destinationPartial\*" -Destination $output + vcpkgRemoveItem $destinationPartial } else { - Rename-Item -Path $destinationPartial -NewName $baseName + Move-Item -Path $destinationPartial -Destination $output } } diff --git a/scripts/addPoshVcpkgToPowershellProfile.ps1 b/scripts/addPoshVcpkgToPowershellProfile.ps1 new file mode 100644 index 000000000..7a12e7d34 --- /dev/null +++ b/scripts/addPoshVcpkgToPowershellProfile.ps1 @@ -0,0 +1,56 @@ +[CmdletBinding()] +param() + +function findExistingImportModuleDirectives([Parameter(Mandatory=$true)][string]$path) +{ + if (!(Test-Path $path)) + { + return + } + + $fileContents = Get-Content $path + $fileContents -match 'Import-Module.+?(?=posh-vcpkg)' + return +} + +$scriptsDir = split-path -parent $MyInvocation.MyCommand.Definition +. "$scriptsDir\VcpkgPowershellUtils.ps1" + +$profileEntry = "Import-Module '$scriptsDir\posh-vcpkg'" +$profilePath = $PROFILE # Implicit powershell variable +if (!(Test-Path $profilePath)) +{ + $profileDir = Split-Path $profilePath -Parent + vcpkgCreateDirectoryIfNotExists $profileDir +} + +Write-Host "`nAdding the following line to ${profilePath}:" +Write-Host " $profileEntry" + +# @() Needed to force Array in PowerShell 2.0 +[Array]$existingImports = @(findExistingImportModuleDirectives $profilePath) +if ($existingImports.Count -gt 0) +{ + $existingImportsOut = $existingImports -join "`n " + Write-Host "`nposh-vcpkg is already imported to your PowerShell profile. The following entries were found:" + Write-Host " $existingImportsOut" + Write-Host "`nPlease make sure you have started a new Powershell window for the changes to take effect." + return +} + +# Posh-git does the following check, so we should too. +# https://github.com/dahlbyk/posh-git/blob/master/src/Utils.ps1 +# If the profile script exists and is signed, then we should not modify it +if (Test-Path $profilePath) +{ + $sig = Get-AuthenticodeSignature $profilePath + if ($null -ne $sig.SignerCertificate) + { + Write-Warning "Skipping add of posh-vcpkg import to profile; '$profilePath' appears to be signed." + Write-Warning "Please manually add the line '$profileEntry' to your profile and resign it." + return + } +} + +Add-Content $profilePath -Value "`n$profileEntry" -Encoding UTF8 +Write-Host "`nSuccessfully added posh-vcpkg to your PowerShell profile. Please start a new Powershell window for the changes to take effect." diff --git a/scripts/bootstrap.ps1 b/scripts/bootstrap.ps1 index ca7b1a0ce..3f40a2ead 100644 --- a/scripts/bootstrap.ps1 +++ b/scripts/bootstrap.ps1 @@ -46,7 +46,7 @@ try & $msbuildExe "/p:VCPKG_VERSION=-$gitHash" "/p:DISABLE_METRICS=$disableMetrics" /p:Configuration=Release /p:Platform=x86 /p:PlatformToolset=$platformToolset /p:TargetPlatformVersion=$windowsSDK /m dirs.proj if ($LASTEXITCODE -ne 0) { - Write-Error "Building vcpkg.exe failed. Please ensure you have installed the Desktop C++ workload and the Windows SDK for Desktop C++." + Write-Error "Building vcpkg.exe failed. Please ensure you have installed Visual Studio with the Desktop C++ workload and the Windows SDK for Desktop C++." return } diff --git a/scripts/buildsystems/msbuild/vcpkg.targets b/scripts/buildsystems/msbuild/vcpkg.targets index ad1dde89b..092e013b5 100644 --- a/scripts/buildsystems/msbuild/vcpkg.targets +++ b/scripts/buildsystems/msbuild/vcpkg.targets @@ -67,11 +67,11 @@ File="$(TLogLocation)$(ProjectName).write.1u.tlog" Lines="^$(TargetPath);$([System.IO.Path]::Combine($(ProjectDir),$(IntDir)))vcpkg.applocal.log" Encoding="Unicode"/> <Exec Condition="$(VcpkgConfiguration.StartsWith('Debug'))" - Command="powershell.exe -ExecutionPolicy Bypass -noprofile -File %22$(MSBuildThisFileDirectory)applocal.ps1%22 %22$(TargetPath)%22 %22$(VcpkgRoot)debug\bin%22 %22$(TLogLocation)$(ProjectName).write.1u.tlog%22 %22$(IntDir)vcpkg.applocal.log%22" + Command="$(SystemRoot)\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -noprofile -File %22$(MSBuildThisFileDirectory)applocal.ps1%22 %22$(TargetPath)%22 %22$(VcpkgRoot)debug\bin%22 %22$(TLogLocation)$(ProjectName).write.1u.tlog%22 %22$(IntDir)vcpkg.applocal.log%22" StandardOutputImportance="Normal"> </Exec> <Exec Condition="$(VcpkgConfiguration.StartsWith('Release'))" - Command="powershell.exe -ExecutionPolicy Bypass -noprofile -File %22$(MSBuildThisFileDirectory)applocal.ps1%22 %22$(TargetPath)%22 %22$(VcpkgRoot)bin%22 %22$(TLogLocation)$(ProjectName).write.1u.tlog%22 %22$(IntDir)vcpkg.applocal.log%22" + Command="$(SystemRoot)\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -noprofile -File %22$(MSBuildThisFileDirectory)applocal.ps1%22 %22$(TargetPath)%22 %22$(VcpkgRoot)bin%22 %22$(TLogLocation)$(ProjectName).write.1u.tlog%22 %22$(IntDir)vcpkg.applocal.log%22" StandardOutputImportance="Normal"> </Exec> <ReadLinesFromFile File="$(IntDir)vcpkg.applocal.log"> diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index 8edc2830c..b8d3fbdbb 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -1,6 +1,7 @@ # Mark variables as used so cmake doesn't complain about them mark_as_advanced(CMAKE_TOOLCHAIN_FILE) +# This is a backport of CMAKE_TRY_COMPILE_PLATFORM_VARIABLES to cmake 3.0 get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE ) if( _CMAKE_IN_TRY_COMPILE ) include( "${CMAKE_CURRENT_SOURCE_DIR}/../vcpkg.config.cmake" OPTIONAL ) @@ -30,9 +31,9 @@ else() set(_VCPKG_TARGET_TRIPLET_ARCH x86) elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 15 2017 Win64$") set(_VCPKG_TARGET_TRIPLET_ARCH x64) - elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 15 2017 ARM") + elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 15 2017 ARM$") set(_VCPKG_TARGET_TRIPLET_ARCH arm) - elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 15 2017") + elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 15 2017$") set(_VCPKG_TARGET_TRIPLET_ARCH x86) else() find_program(_VCPKG_CL cl) @@ -54,24 +55,26 @@ if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR CMAKE_SYSTEM_NAME STREQUAL "Wind set(_VCPKG_TARGET_TRIPLET_PLAT uwp) elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux") set(_VCPKG_TARGET_TRIPLET_PLAT linux) -else() +elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows") set(_VCPKG_TARGET_TRIPLET_PLAT windows) endif() set(VCPKG_TARGET_TRIPLET ${_VCPKG_TARGET_TRIPLET_ARCH}-${_VCPKG_TARGET_TRIPLET_PLAT} CACHE STRING "Vcpkg target triplet (ex. x86-windows)") set(_VCPKG_TOOLCHAIN_DIR ${CMAKE_CURRENT_LIST_DIR}) -# Detect .vcpkg-root to figure VCPKG_ROOT_DIR -set(_VCPKG_ROOT_DIR_CANDIDATE ${CMAKE_CURRENT_LIST_DIR}) -while(IS_DIRECTORY ${_VCPKG_ROOT_DIR_CANDIDATE} AND NOT EXISTS "${_VCPKG_ROOT_DIR_CANDIDATE}/.vcpkg-root") - get_filename_component(_VCPKG_ROOT_DIR_TEMP ${_VCPKG_ROOT_DIR_CANDIDATE} DIRECTORY) - if (_VCPKG_ROOT_DIR_TEMP STREQUAL _VCPKG_ROOT_DIR_CANDIDATE) # If unchanged, we have reached the root of the drive - message(FATAL_ERROR "Could not find .vcpkg-root") - else() - SET(_VCPKG_ROOT_DIR_CANDIDATE ${_VCPKG_ROOT_DIR_TEMP}) - endif() -endwhile() -set(_VCPKG_ROOT_DIR ${_VCPKG_ROOT_DIR_CANDIDATE}) +if(NOT DEFINED _VCPKG_ROOT_DIR) + # Detect .vcpkg-root to figure VCPKG_ROOT_DIR + set(_VCPKG_ROOT_DIR_CANDIDATE ${CMAKE_CURRENT_LIST_DIR}) + while(IS_DIRECTORY ${_VCPKG_ROOT_DIR_CANDIDATE} AND NOT EXISTS "${_VCPKG_ROOT_DIR_CANDIDATE}/.vcpkg-root") + get_filename_component(_VCPKG_ROOT_DIR_TEMP ${_VCPKG_ROOT_DIR_CANDIDATE} DIRECTORY) + if (_VCPKG_ROOT_DIR_TEMP STREQUAL _VCPKG_ROOT_DIR_CANDIDATE) # If unchanged, we have reached the root of the drive + message(FATAL_ERROR "Could not find .vcpkg-root") + else() + SET(_VCPKG_ROOT_DIR_CANDIDATE ${_VCPKG_ROOT_DIR_TEMP}) + endif() + endwhile() + set(_VCPKG_ROOT_DIR ${_VCPKG_ROOT_DIR_CANDIDATE} CACHE INTERNAL "Vcpkg root directory") +endif() set(_VCPKG_INSTALLED_DIR ${_VCPKG_ROOT_DIR}/installed) if(CMAKE_BUILD_TYPE MATCHES "^Debug$" OR NOT DEFINED CMAKE_BUILD_TYPE) @@ -95,8 +98,6 @@ list(APPEND CMAKE_LIBRARY_PATH ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/manual-link ) -set(Boost_COMPILER "-vc140") - if (NOT DEFINED CMAKE_SYSTEM_VERSION AND _VCPKG_TARGET_TRIPLET_PLAT MATCHES "windows|uwp") include(${_VCPKG_ROOT_DIR}/scripts/cmake/vcpkg_get_windows_sdk.cmake) # This is used as an implicit parameter for vcpkg_get_windows_sdk @@ -124,11 +125,11 @@ set(CMAKE_SYSTEM_IGNORE_PATH "C:/OpenSSL-Win64/lib/VC/static" ) -set(CMAKE_PROGRAM_PATH ${CMAKE_PROGRAM_PATH} ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/tools) +list(APPEND CMAKE_PROGRAM_PATH ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/tools) file(GLOB _VCPKG_TOOLS_DIRS ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/tools/*) foreach(_VCPKG_TOOLS_DIR ${_VCPKG_TOOLS_DIRS}) if(IS_DIRECTORY ${_VCPKG_TOOLS_DIR}) - set(CMAKE_PROGRAM_PATH ${CMAKE_PROGRAM_PATH} ${_VCPKG_TOOLS_DIR}) + list(APPEND CMAKE_PROGRAM_PATH ${_VCPKG_TOOLS_DIR}) endif() endforeach() @@ -164,10 +165,22 @@ endfunction() macro(find_package name) if("${name}" STREQUAL "Boost") + set(_Boost_USE_STATIC_LIBS ${Boost_USE_STATIC_LIBS}) + set(_Boost_USE_MULTITHREADED ${Boost_USE_MULTITHREADED}) + set(_Boost_USE_STATIC_RUNTIME ${Boost_USE_STATIC_RUNTIME}) + set(_Boost_COMPILER ${Boost_COMPILER}) unset(Boost_USE_STATIC_LIBS) unset(Boost_USE_MULTITHREADED) unset(Boost_USE_STATIC_RUNTIME) + set(Boost_COMPILER "-vc140") _find_package(${ARGV}) + if(NOT Boost_FOUND) + set(Boost_USE_STATIC_LIBS ${_Boost_USE_STATIC_LIBS}) + set(Boost_USE_MULTITHREADED ${_Boost_USE_MULTITHREADED}) + set(Boost_USE_STATIC_RUNTIME ${_Boost_USE_STATIC_RUNTIME}) + set(Boost_COMPILER ${_Boost_COMPILER}) + _find_package(${ARGV}) + endif() elseif("${name}" STREQUAL "ICU") function(_vcpkg_find_in_list) list(FIND ARGV "COMPONENTS" COMPONENTS_IDX) @@ -188,6 +201,23 @@ macro(find_package name) if(TIFF_LIBRARIES) list(APPEND TIFF_LIBRARIES ${LIBLZMA_LIBRARIES}) endif() + elseif("${name}" STREQUAL "tinyxml2") + _find_package(${ARGV}) + if(TARGET tinyxml2_static AND NOT TARGET tinyxml2) + add_library(tinyxml2 INTERFACE IMPORTED) + set_target_properties(tinyxml2 PROPERTIES INTERFACE_LINK_LIBRARIES "tinyxml2_static") + endif() + elseif("${name}" STREQUAL "MPI") + if(MPI_C_LIB_NAMES) + set(MPI_C_WORKS TRUE) + set(MPI_C_WRAPPER_FOUND TRUE) + endif() + if(MPI_CXX_LIB_NAMES) + set(MPI_CXX_WORKS TRUE) + set(MPI_CXX_WRAPPER_FOUND TRUE) + set(MPI_CXX_VALIDATE_SKIP_MPICXX TRUE) + endif() + _find_package(${ARGV}) else() _find_package(${ARGV}) endif() @@ -202,8 +232,11 @@ set(_UNUSED ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP}) if(NOT _CMAKE_IN_TRY_COMPILE) file(TO_CMAKE_PATH "${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}" _chainload_file) + file(TO_CMAKE_PATH "${_VCPKG_ROOT_DIR}" _root_dir) file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/vcpkg.config.cmake" "set(VCPKG_TARGET_TRIPLET \"${VCPKG_TARGET_TRIPLET}\" CACHE STRING \"\")\n" "set(VCPKG_APPLOCAL_DEPS \"${VCPKG_APPLOCAL_DEPS}\" CACHE STRING \"\")\n" - "set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE \"${_chainload_file}\" CACHE STRING \"\")\n") -endif()
\ No newline at end of file + "set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE \"${_chainload_file}\" CACHE STRING \"\")\n" + "set(_VCPKG_ROOT_DIR \"${_root_dir}\" CACHE STRING \"\")\n" + ) +endif() diff --git a/scripts/fetchDependency.ps1 b/scripts/fetchDependency.ps1 index 744439bb7..f62fe450c 100644 --- a/scripts/fetchDependency.ps1 +++ b/scripts/fetchDependency.ps1 @@ -88,7 +88,8 @@ function SelectProgram([Parameter(Mandatory=$true)][string]$Dependency) { if (-not (Test-Path $executableFromDownload)) { - vcpkgExtractFile -File $downloadPath -DestinationDir $downloadsDir + $outFilename = (Get-ChildItem $downloadPath).BaseName + vcpkgExtractFile -File $downloadPath -DestinationDir $downloadsDir -outFilename $outFilename } } elseif($extractionType -eq $ExtractionType_SELF_EXTRACTING_7Z) diff --git a/scripts/findAnyMSBuildWithCppPlatformToolset.ps1 b/scripts/findAnyMSBuildWithCppPlatformToolset.ps1 index e58b58c04..46ba767b9 100644 --- a/scripts/findAnyMSBuildWithCppPlatformToolset.ps1 +++ b/scripts/findAnyMSBuildWithCppPlatformToolset.ps1 @@ -8,6 +8,11 @@ $withVSPath = $withVSPath -replace "\\$" # Remove potential trailing backslash $scriptsDir = split-path -parent $MyInvocation.MyCommand.Definition $VisualStudioInstallationInstances = & $scriptsDir\findVisualStudioInstallationInstances.ps1 +if ($VisualStudioInstallationInstances -eq $null) +{ + throw "Could not find Visual Studio. VS2015 or VS2017 (with C++) needs to be installed." +} + Write-Verbose "VS Candidates:`n`r$([system.String]::Join([Environment]::NewLine, $VisualStudioInstallationInstances))" foreach ($instanceCandidateWithEOL in $VisualStudioInstallationInstances) { diff --git a/scripts/internalCI.ps1 b/scripts/internalCI.ps1 index 16ce4fc7a..37f4f35a4 100644 --- a/scripts/internalCI.ps1 +++ b/scripts/internalCI.ps1 @@ -1,5 +1,7 @@ $ErrorActionPreference = "Stop" +rm TEST-internal-ci.xml -errorAction SilentlyContinue + New-Item -type directory downloads -errorAction SilentlyContinue | Out-Null ./scripts/bootstrap.ps1 if (-not $?) { throw $? } @@ -7,21 +9,14 @@ if (-not $?) { throw $? } # Clear out any intermediate files from the previous build if (Test-Path buildtrees) { - Get-ChildItem buildtrees/*/* | ? { $_.Name -ne "src" -and $_.Extension -ne ".log"} | Remove-Item -Recurse -Force + Get-ChildItem buildtrees/*/* | ? { $_.Name -ne "src" } | Remove-Item -Recurse -Force } # Purge any outdated packages ./vcpkg remove --outdated --recurse if (-not $?) { throw $? } -./vcpkg.exe install azure-storage-cpp cpprestsdk:x64-windows-static cpprestsdk:x86-uwp -if (-not $?) { throw $? } - -./vcpkg.exe install bond cryptopp zlib expat sdl2 curl sqlite3 libuv protobuf:x64-windows sfml opencv:x64-windows uwebsockets uwebsockets:x64-windows-static +./vcpkg.exe install azure-storage-cpp cpprestsdk:x64-windows-static cpprestsdk:x86-uwp ` +bond cryptopp zlib expat sdl2 curl sqlite3 libuv protobuf:x64-windows sfml opencv:x64-windows uwebsockets uwebsockets:x64-windows-static ` +opencv:x86-uwp boost:x86-uwp --keep-going "--x-xunit=TEST-internal-ci.xml" if (-not $?) { throw $? } - -./vcpkg.exe install opencv:x86-uwp boost:x86-uwp -if (-not $?) { throw $? } - -# ./vcpkg.exe install folly:x64-windows -# if (-not $?) { throw $? } diff --git a/toolsrc/CMakeLists.txt b/toolsrc/CMakeLists.txt index af281f12f..0168e2de2 100644 --- a/toolsrc/CMakeLists.txt +++ b/toolsrc/CMakeLists.txt @@ -3,12 +3,25 @@ project(vcpkg CXX) add_compile_options(-std=c++1z)
+if(CMAKE_COMPILER_IS_GNUXX OR CMAKE_CXX_COMPILER_ID MATCHES "GNU")
+ set(GCC 1)
+elseif(CMAKE_CXX_COMPILER_ID MATCHES "[Cc]lang")
+ set(CLANG 1)
+else()
+ message(FATAL_ERROR "Unknown compiler: ${CMAKE_CXX_COMPILER_ID}")
+endif()
+
file(GLOB_RECURSE VCPKGLIB_SOURCES src/vcpkg/*.cpp)
add_library(vcpkglib STATIC ${VCPKGLIB_SOURCES})
target_compile_definitions(vcpkglib PRIVATE -DDISABLE_METRICS=0)
target_include_directories(vcpkglib PUBLIC include)
-target_link_libraries(vcpkglib PRIVATE stdc++fs)
+
+if(GCC)
+ target_link_libraries(vcpkglib PUBLIC stdc++fs)
+elseif(CLANG)
+ target_link_libraries(vcpkglib PUBLIC c++experimental)
+endif()
add_executable(vcpkg src/vcpkg.cpp)
target_link_libraries(vcpkg PRIVATE vcpkglib)
diff --git a/toolsrc/VERSION.txt b/toolsrc/VERSION.txt index 2f0f54a23..e45ea373f 100644 --- a/toolsrc/VERSION.txt +++ b/toolsrc/VERSION.txt @@ -1 +1 @@ -"0.0.99"
\ No newline at end of file +"0.0.100"
\ No newline at end of file diff --git a/toolsrc/include/pch.h b/toolsrc/include/pch.h index 5c31fbbd1..683bef171 100644 --- a/toolsrc/include/pch.h +++ b/toolsrc/include/pch.h @@ -41,6 +41,7 @@ #include <map> #include <memory> #include <mutex> +#include <random> #include <regex> #include <set> #include <stdexcept> diff --git a/toolsrc/include/tests.pch.h b/toolsrc/include/tests.pch.h index 0037af585..5c00fca4a 100644 --- a/toolsrc/include/tests.pch.h +++ b/toolsrc/include/tests.pch.h @@ -2,6 +2,7 @@ #include <CppUnitTest.h> +#include <vcpkg/base/chrono.h> #include <vcpkg/base/sortedvector.h> #include <vcpkg/base/strings.h> #include <vcpkg/base/util.h> diff --git a/toolsrc/include/tests.utils.h b/toolsrc/include/tests.utils.h index 485b8c294..0c0add7ab 100644 --- a/toolsrc/include/tests.utils.h +++ b/toolsrc/include/tests.utils.h @@ -23,4 +23,18 @@ std::unique_ptr<vcpkg::StatusParagraph> make_status_pgh(const char* name, std::unique_ptr<vcpkg::StatusParagraph> make_status_feature_pgh(const char* name, const char* feature, const char* depends = "", - const char* triplet = "x86-windows");
\ No newline at end of file + const char* triplet = "x86-windows"); + +template<class T, class S> +T&& unwrap(vcpkg::ExpectedT<T, S>&& p) +{ + Assert::IsTrue(p.has_value()); + return std::move(*p.get()); +} + +template<class T> +T&& unwrap(vcpkg::Optional<T>&& opt) +{ + Assert::IsTrue(opt.has_value()); + return std::move(*opt.get()); +} diff --git a/toolsrc/include/vcpkg/base/chrono.h b/toolsrc/include/vcpkg/base/chrono.h index b525852f2..4291115f7 100644 --- a/toolsrc/include/vcpkg/base/chrono.h +++ b/toolsrc/include/vcpkg/base/chrono.h @@ -2,27 +2,65 @@ #include <chrono> #include <string> +#include <time.h> +#include <vcpkg/base/optional.h> namespace vcpkg::Chrono { class ElapsedTime { - public: - static ElapsedTime create_started(); + using duration = std::chrono::high_resolution_clock::time_point::duration; - constexpr ElapsedTime() : m_start_tick() {} + public: + constexpr ElapsedTime() : m_duration() {} + constexpr ElapsedTime(duration d) : m_duration(d) {} template<class TimeUnit> - TimeUnit elapsed() const + TimeUnit as() const + { + return std::chrono::duration_cast<TimeUnit>(m_duration); + } + + std::string to_string() const; + + private: + std::chrono::high_resolution_clock::time_point::duration m_duration; + }; + + class ElapsedTimer + { + public: + static ElapsedTimer create_started(); + + constexpr ElapsedTimer() : m_start_tick() {} + + ElapsedTime elapsed() const { - return std::chrono::duration_cast<TimeUnit>(std::chrono::high_resolution_clock::now() - this->m_start_tick); + return ElapsedTime(std::chrono::high_resolution_clock::now() - this->m_start_tick); } - double microseconds() const { return elapsed<std::chrono::duration<double, std::micro>>().count(); } + double microseconds() const { return elapsed().as<std::chrono::duration<double, std::micro>>().count(); } std::string to_string() const; private: std::chrono::high_resolution_clock::time_point m_start_tick; }; + + class CTime + { + public: + static Optional<CTime> get_current_date_time(); + static Optional<CTime> parse(CStringView str); + + constexpr CTime() : m_tm{0} {} + explicit constexpr CTime(tm t) : m_tm{t} {} + + std::string to_string() const; + + std::chrono::system_clock::time_point to_time_point() const; + + private: + mutable tm m_tm; + }; } diff --git a/toolsrc/include/vcpkg/base/graphs.h b/toolsrc/include/vcpkg/base/graphs.h index b585d2bb9..bd22bbcb0 100644 --- a/toolsrc/include/vcpkg/base/graphs.h +++ b/toolsrc/include/vcpkg/base/graphs.h @@ -4,6 +4,7 @@ #include <unordered_set> #include <vcpkg/base/checks.h> +#include <vcpkg/base/span.h> namespace vcpkg::Graphs { @@ -23,139 +24,97 @@ namespace vcpkg::Graphs struct AdjacencyProvider { virtual std::vector<V> adjacency_list(const U& vertex) const = 0; - + virtual std::string to_string(const V& vertex) const = 0; virtual U load_vertex_data(const V& vertex) const = 0; }; - template<class V, class U> - static void topological_sort_internal(const V& vertex, - const AdjacencyProvider<V, U>& f, - std::unordered_map<V, ExplorationStatus>& exploration_status, - std::vector<U>& sorted) + namespace details { - ExplorationStatus& status = exploration_status[vertex]; - switch (status) + template<class V, class U> + void topological_sort_internal(const V& vertex, + const AdjacencyProvider<V, U>& f, + std::unordered_map<V, ExplorationStatus>& exploration_status, + std::vector<U>& sorted) { - case ExplorationStatus::FULLY_EXPLORED: return; - case ExplorationStatus::PARTIALLY_EXPLORED: Checks::exit_with_message(VCPKG_LINE_INFO, "cycle in graph"); - case ExplorationStatus::NOT_EXPLORED: + ExplorationStatus& status = exploration_status[vertex]; + switch (status) { - status = ExplorationStatus::PARTIALLY_EXPLORED; - U vertex_data = f.load_vertex_data(vertex); - for (const V& neighbour : f.adjacency_list(vertex_data)) - topological_sort_internal(neighbour, f, exploration_status, sorted); - - sorted.push_back(std::move(vertex_data)); - status = ExplorationStatus::FULLY_EXPLORED; - return; + case ExplorationStatus::FULLY_EXPLORED: return; + case ExplorationStatus::PARTIALLY_EXPLORED: + { + System::println("Cycle detected within graph:"); + for (auto&& node : exploration_status) + { + if (node.second == ExplorationStatus::PARTIALLY_EXPLORED) + { + System::println(" %s", f.to_string(node.first)); + } + } + Checks::exit_fail(VCPKG_LINE_INFO); + } + case ExplorationStatus::NOT_EXPLORED: + { + status = ExplorationStatus::PARTIALLY_EXPLORED; + U vertex_data = f.load_vertex_data(vertex); + for (const V& neighbour : f.adjacency_list(vertex_data)) + topological_sort_internal(neighbour, f, exploration_status, sorted); + + sorted.push_back(std::move(vertex_data)); + status = ExplorationStatus::FULLY_EXPLORED; + return; + } + default: Checks::unreachable(VCPKG_LINE_INFO); } - default: Checks::unreachable(VCPKG_LINE_INFO); } } - template<class V, class U> - std::vector<U> topological_sort(const std::vector<V>& starting_vertices, const AdjacencyProvider<V, U>& f) + template<class VertexRange, class V, class U> + std::vector<U> topological_sort(const VertexRange& starting_vertices, const AdjacencyProvider<V, U>& f) { std::vector<U> sorted; std::unordered_map<V, ExplorationStatus> exploration_status; - for (auto& vertex : starting_vertices) + for (auto&& vertex : starting_vertices) { - topological_sort_internal(vertex, f, exploration_status, sorted); + details::topological_sort_internal(vertex, f, exploration_status, sorted); } return sorted; } template<class V> - struct GraphAdjacencyProvider final : AdjacencyProvider<V, V> - { - const std::unordered_map<V, std::unordered_set<V>>& vertices; - - GraphAdjacencyProvider(const std::unordered_map<V, std::unordered_set<V>>& vertices) : vertices(vertices) {} - - std::vector<V> adjacency_list(const V& vertex) const override - { - const std::unordered_set<V>& as_set = this->vertices.at(vertex); - return std::vector<V>(as_set.cbegin(), as_set.cend()); // TODO: Avoid redundant copy - } - - V load_vertex_data(const V& vertex) const override { return vertex; } - }; - - template<class V> - struct Graph + struct Graph final : AdjacencyProvider<V, V> { public: - void add_vertex(V v) { this->vertices[v]; } + void add_vertex(const V& v) { this->m_edges[v]; } - // TODO: Change with iterators - void add_vertices(const std::vector<V>& vs) + void add_edge(const V& u, const V& v) { - for (const V& v : vs) - { - this->vertices[v]; - } + this->m_edges[v]; + this->m_edges[u].insert(v); } - void add_edge(V u, V v) + std::vector<V> vertex_list() const { - this->vertices[v]; - this->vertices[u].insert(v); + std::vector<V> vertex_list; + for (auto&& vertex : this->m_edges) + vertex_list.emplace_back(vertex.first); + return vertex_list; } - std::vector<V> topological_sort() const + std::vector<V> adjacency_list(const V& vertex) const override { - GraphAdjacencyProvider<V> adjacency_provider{this->vertices}; - std::unordered_map<V, int> indegrees = count_indegrees(); - - std::vector<V> sorted; - sorted.reserve(indegrees.size()); - - std::unordered_map<V, ExplorationStatus> exploration_status; - exploration_status.reserve(indegrees.size()); - - for (auto& pair : indegrees) - { - if (pair.second == 0) // Starting from vertices with indegree == 0. Not required. - { - V vertex = pair.first; - topological_sort_internal(vertex, adjacency_provider, exploration_status, sorted); - } - } - - return sorted; + const std::unordered_set<V>& as_set = this->m_edges.at(vertex); + return std::vector<V>(as_set.cbegin(), as_set.cend()); // TODO: Avoid redundant copy } - std::unordered_map<V, int> count_indegrees() const - { - std::unordered_map<V, int> indegrees; - - for (auto& pair : this->vertices) - { - indegrees[pair.first]; - for (V neighbour : pair.second) - { - ++indegrees[neighbour]; - } - } - - return indegrees; - } + V load_vertex_data(const V& vertex) const override { return vertex; } - const std::unordered_map<V, std::unordered_set<V>>& adjacency_list() const { return this->vertices; } - std::vector<V> vertex_list() const - { - // why no &? it returns 0 - std::vector<V> vertex_list; - for (const auto& vertex : this->vertices) - { - vertex_list.emplace_back(vertex.first); - } - return vertex_list; - } + // Note: this function indicates how tied this template is to the exact type it will be templated upon. + // Possible fix: This type shouldn't implement to_string() and should instead be derived from? + std::string to_string(const V& spec) const override { return spec->spec.to_string(); } private: - std::unordered_map<V, std::unordered_set<V>> vertices; + std::unordered_map<V, std::unordered_set<V>> m_edges; }; } diff --git a/toolsrc/include/vcpkg/base/optional.h b/toolsrc/include/vcpkg/base/optional.h index aa9e480fd..af2d297a6 100644 --- a/toolsrc/include/vcpkg/base/optional.h +++ b/toolsrc/include/vcpkg/base/optional.h @@ -53,10 +53,8 @@ namespace vcpkg // Constructors are intentionally implicit constexpr Optional(NullOpt) {} - Optional(const T& t) : m_base(t) {} - - template<class = std::enable_if_t<!std::is_reference<T>::value>> - Optional(T&& t) : m_base(std::move(t)) + template<class U> + Optional(U&& t) : m_base(std::forward<U>(t)) { } diff --git a/toolsrc/include/vcpkg/build.h b/toolsrc/include/vcpkg/build.h index 18408e207..e3f8bf79e 100644 --- a/toolsrc/include/vcpkg/build.h +++ b/toolsrc/include/vcpkg/build.h @@ -114,39 +114,24 @@ namespace vcpkg::Build struct BuildPackageConfig { - BuildPackageConfig(const SourceParagraph& src, - const Triplet& triplet, - fs::path&& port_dir, - const BuildPackageOptions& build_package_options) - : src(src) - , scf(nullptr) - , triplet(triplet) - , port_dir(std::move(port_dir)) - , build_package_options(build_package_options) - , feature_list(nullptr) - { - } - BuildPackageConfig(const SourceControlFile& src, const Triplet& triplet, fs::path&& port_dir, const BuildPackageOptions& build_package_options, const std::unordered_set<std::string>& feature_list) - : src(*src.core_paragraph) - , scf(&src) + : scf(src) , triplet(triplet) , port_dir(std::move(port_dir)) , build_package_options(build_package_options) - , feature_list(&feature_list) + , feature_list(feature_list) { } - const SourceParagraph& src; - const SourceControlFile* scf; + const SourceControlFile& scf; const Triplet& triplet; fs::path port_dir; const BuildPackageOptions& build_package_options; - const std::unordered_set<std::string>* feature_list; + const std::unordered_set<std::string>& feature_list; }; ExtendedBuildResult build_package(const VcpkgPaths& paths, diff --git a/toolsrc/include/vcpkg/commands.h b/toolsrc/include/vcpkg/commands.h index 74fd80c03..c82f504e0 100644 --- a/toolsrc/include/vcpkg/commands.h +++ b/toolsrc/include/vcpkg/commands.h @@ -39,6 +39,12 @@ namespace vcpkg::Commands void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths); } + namespace Upgrade + { + extern const CommandStructure COMMAND_STRUCTURE; + void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths, const Triplet& default_triplet); + } + namespace Edit { extern const CommandStructure COMMAND_STRUCTURE; @@ -98,6 +104,7 @@ namespace vcpkg::Commands namespace Version { + const char* base_version(); const std::string& version(); void warn_if_vcpkg_version_mismatch(const VcpkgPaths& paths); void perform_and_exit(const VcpkgCmdArguments& args); diff --git a/toolsrc/include/vcpkg/dependencies.h b/toolsrc/include/vcpkg/dependencies.h index 5411ee166..8902a7b08 100644 --- a/toolsrc/include/vcpkg/dependencies.h +++ b/toolsrc/include/vcpkg/dependencies.h @@ -1,6 +1,5 @@ #pragma once -#include <vcpkg/base/graphs.h> #include <vcpkg/base/optional.h> #include <vcpkg/base/util.h> #include <vcpkg/build.h> @@ -30,7 +29,6 @@ namespace vcpkg::Dependencies Optional<StatusParagraph> status_paragraph; Optional<BinaryControlFile> binary_control_file; - Optional<SourceParagraph> source_paragraph; Optional<const SourceControlFile*> source_control_file; }; } @@ -92,11 +90,11 @@ namespace vcpkg::Dependencies struct AnyAction { - AnyAction(InstallPlanAction&& iplan) : install_plan(std::move(iplan)) {} - AnyAction(RemovePlanAction&& rplan) : remove_plan(std::move(rplan)) {} + AnyAction(InstallPlanAction&& iplan) : install_action(std::move(iplan)) {} + AnyAction(RemovePlanAction&& rplan) : remove_action(std::move(rplan)) {} - Optional<InstallPlanAction> install_plan; - Optional<RemovePlanAction> remove_plan; + Optional<InstallPlanAction> install_action; + Optional<RemovePlanAction> remove_action; const PackageSpec& spec() const; }; @@ -123,22 +121,44 @@ namespace vcpkg::Dependencies struct PortFileProvider { - virtual const SourceControlFile& get_control_file(const std::string& spec) const = 0; + virtual Optional<const SourceControlFile&> get_control_file(const std::string& src_name) const = 0; }; - struct MapPortFile : Util::ResourceBase, PortFileProvider + struct MapPortFileProvider : Util::ResourceBase, PortFileProvider { + explicit MapPortFileProvider(const std::unordered_map<std::string, SourceControlFile>& map); + Optional<const SourceControlFile&> get_control_file(const std::string& src_name) const override; + + private: const std::unordered_map<std::string, SourceControlFile>& ports; - explicit MapPortFile(const std::unordered_map<std::string, SourceControlFile>& map); - const SourceControlFile& get_control_file(const std::string& spec) const override; }; - struct PathsPortFile : Util::ResourceBase, PortFileProvider + struct PathsPortFileProvider : Util::ResourceBase, PortFileProvider { + explicit PathsPortFileProvider(const VcpkgPaths& paths); + Optional<const SourceControlFile&> get_control_file(const std::string& src_name) const override; + + private: const VcpkgPaths& ports; mutable std::unordered_map<std::string, SourceControlFile> cache; - explicit PathsPortFile(const VcpkgPaths& paths); - const SourceControlFile& get_control_file(const std::string& spec) const override; + }; + + struct ClusterGraph; + struct GraphPlan; + + struct PackageGraph + { + PackageGraph(const PortFileProvider& provider, const StatusParagraphs& status_db); + ~PackageGraph(); + + void install(const FeatureSpec& spec); + void upgrade(const PackageSpec& spec); + + std::vector<AnyAction> serialize() const; + + private: + std::unique_ptr<GraphPlan> m_graph_plan; + std::unique_ptr<ClusterGraph> m_graph; }; std::vector<InstallPlanAction> create_install_plan(const PortFileProvider& port_file_provider, @@ -148,11 +168,18 @@ namespace vcpkg::Dependencies std::vector<RemovePlanAction> create_remove_plan(const std::vector<PackageSpec>& specs, const StatusParagraphs& status_db); - std::vector<ExportPlanAction> create_export_plan(const VcpkgPaths& paths, + std::vector<ExportPlanAction> create_export_plan(const PortFileProvider& port_file_provider, + const VcpkgPaths& paths, const std::vector<PackageSpec>& specs, const StatusParagraphs& status_db); std::vector<AnyAction> create_feature_install_plan(const std::unordered_map<std::string, SourceControlFile>& map, const std::vector<FeatureSpec>& specs, const StatusParagraphs& status_db); + + std::vector<AnyAction> create_feature_install_plan(const PortFileProvider& port_file_provider, + const std::vector<FeatureSpec>& specs, + const StatusParagraphs& status_db); + + void print_plan(const std::vector<AnyAction>& action_plan, const bool is_recursive = true); } diff --git a/toolsrc/include/vcpkg/globalstate.h b/toolsrc/include/vcpkg/globalstate.h index 7cea361cf..360d3f43e 100644 --- a/toolsrc/include/vcpkg/globalstate.h +++ b/toolsrc/include/vcpkg/globalstate.h @@ -9,11 +9,13 @@ namespace vcpkg { struct GlobalState { - static Util::LockGuarded<Chrono::ElapsedTime> timer; + static Util::LockGuarded<Chrono::ElapsedTimer> timer; + static Util::LockGuarded<std::string> g_surveydate; + static std::atomic<bool> debugging; static std::atomic<bool> feature_packages; static std::atomic<int> g_init_console_cp; static std::atomic<int> g_init_console_output_cp; }; -}
\ No newline at end of file +} diff --git a/toolsrc/include/vcpkg/install.h b/toolsrc/include/vcpkg/install.h index 28896adee..2e92764dc 100644 --- a/toolsrc/include/vcpkg/install.h +++ b/toolsrc/include/vcpkg/install.h @@ -1,5 +1,6 @@ #pragma once +#include <vcpkg/base/chrono.h> #include <vcpkg/build.h> #include <vcpkg/dependencies.h> #include <vcpkg/vcpkgcmdarguments.h> @@ -25,7 +26,7 @@ namespace vcpkg::Install PackageSpec spec; Build::ExtendedBuildResult build_result; - std::string timing; + vcpkg::Chrono::ElapsedTime timing; const Dependencies::AnyAction* action; }; @@ -36,6 +37,7 @@ namespace vcpkg::Install std::string total_elapsed_time; void print() const; + std::string xunit_results() const; }; struct InstallDir diff --git a/toolsrc/include/vcpkg/packagespec.h b/toolsrc/include/vcpkg/packagespec.h index 0487ae6b8..f1119e2f3 100644 --- a/toolsrc/include/vcpkg/packagespec.h +++ b/toolsrc/include/vcpkg/packagespec.h @@ -22,6 +22,10 @@ namespace vcpkg static std::vector<PackageSpec> to_package_specs(const std::vector<std::string>& ports, const Triplet& triplet); + static std::vector<PackageSpec> from_dependencies_of_port(const std::string& port, + const std::vector<std::string>& dependencies, + const Triplet& triplet); + const std::string& name() const; const Triplet& triplet() const; @@ -30,6 +34,13 @@ namespace vcpkg std::string to_string() const; + bool operator<(const PackageSpec& other) const + { + if (name() < other.name()) return true; + if (name() > other.name()) return false; + return triplet() < other.triplet(); + } + private: std::string m_name; Triplet m_triplet; diff --git a/toolsrc/include/vcpkg/paragraphs.h b/toolsrc/include/vcpkg/paragraphs.h index c8dbea646..e2c7f2d99 100644 --- a/toolsrc/include/vcpkg/paragraphs.h +++ b/toolsrc/include/vcpkg/paragraphs.h @@ -32,7 +32,4 @@ namespace vcpkg::Paragraphs std::vector<std::unique_ptr<SourceControlFile>> load_all_ports(const Files::Filesystem& fs, const fs::path& ports_dir); - - std::map<std::string, VersionT> load_all_port_names_and_versions(const Files::Filesystem& fs, - const fs::path& ports_dir); } diff --git a/toolsrc/include/vcpkg/update.h b/toolsrc/include/vcpkg/update.h index 7587b9eb2..b85f7b2b3 100644 --- a/toolsrc/include/vcpkg/update.h +++ b/toolsrc/include/vcpkg/update.h @@ -1,5 +1,6 @@ #pragma once +#include <vcpkg/dependencies.h> #include <vcpkg/packagespec.h> #include <vcpkg/statusparagraphs.h> #include <vcpkg/vcpkgcmdarguments.h> @@ -16,7 +17,8 @@ namespace vcpkg::Update VersionDiff version_diff; }; - std::vector<OutdatedPackage> find_outdated_packages(const std::map<std::string, VersionT>& src_names_to_versions, + std::vector<OutdatedPackage> find_outdated_packages(const Dependencies::PortFileProvider& provider, const StatusParagraphs& status_db); + void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths); -}
\ No newline at end of file +} diff --git a/toolsrc/include/vcpkg/userconfig.h b/toolsrc/include/vcpkg/userconfig.h new file mode 100644 index 000000000..63b8e5481 --- /dev/null +++ b/toolsrc/include/vcpkg/userconfig.h @@ -0,0 +1,20 @@ +#pragma once + +#include <string> +#include <vcpkg/base/files.h> + +namespace vcpkg +{ + struct UserConfig + { + std::string user_id; + std::string user_time; + std::string user_mac; + + std::string last_completed_survey; + + static UserConfig try_read_data(const Files::Filesystem& fs); + + void try_write_data(Files::Filesystem& fs) const; + }; +} diff --git a/toolsrc/src/tests.chrono.cpp b/toolsrc/src/tests.chrono.cpp new file mode 100644 index 000000000..269cdca58 --- /dev/null +++ b/toolsrc/src/tests.chrono.cpp @@ -0,0 +1,41 @@ +#include "tests.pch.h" + +using namespace Microsoft::VisualStudio::CppUnitTestFramework; + +namespace Chrono = vcpkg::Chrono; + +namespace UnitTest1 +{ + class ChronoTests : public TestClass<ChronoTests> + { + TEST_METHOD(parse_time) + { + auto timestring = "1990-02-03T04:05:06.0Z"; + auto maybe_time = Chrono::CTime::parse(timestring); + + Assert::IsTrue(maybe_time.has_value()); + + Assert::AreEqual(timestring, maybe_time.get()->to_string().c_str()); + } + + TEST_METHOD(parse_time_blank) + { + auto maybe_time = Chrono::CTime::parse(""); + + Assert::IsFalse(maybe_time.has_value()); + } + + TEST_METHOD(time_difference) + { + auto maybe_time1 = Chrono::CTime::parse("1990-02-03T04:05:06.0Z"); + auto maybe_time2 = Chrono::CTime::parse("1990-02-10T04:05:06.0Z"); + + Assert::IsTrue(maybe_time1.has_value()); + Assert::IsTrue(maybe_time2.has_value()); + + auto delta = maybe_time2.get()->to_time_point() - maybe_time1.get()->to_time_point(); + + Assert::AreEqual(24 * 7, std::chrono::duration_cast<std::chrono::hours>(delta).count()); + } + }; +} diff --git a/toolsrc/src/tests.plan.cpp b/toolsrc/src/tests.plan.cpp index 122a4ffef..781588c91 100644 --- a/toolsrc/src/tests.plan.cpp +++ b/toolsrc/src/tests.plan.cpp @@ -36,7 +36,7 @@ namespace UnitTest1 std::vector<std::string> vec, const Triplet& triplet = Triplet::X86_WINDOWS) { - const auto& plan = install_action->install_plan.value_or_exit(VCPKG_LINE_INFO); + const auto& plan = install_action->install_action.value_or_exit(VCPKG_LINE_INFO); const auto& feature_list = plan.feature_list; Assert::AreEqual(plan.spec.triplet().to_string().c_str(), triplet.to_string().c_str()); @@ -61,7 +61,7 @@ namespace UnitTest1 std::string pkg_name, const Triplet& triplet = Triplet::X86_WINDOWS) { - const auto& plan = remove_action->remove_plan.value_or_exit(VCPKG_LINE_INFO); + const auto& plan = remove_action->remove_action.value_or_exit(VCPKG_LINE_INFO); Assert::AreEqual(plan.spec.triplet().to_string().c_str(), triplet.to_string().c_str()); Assert::AreEqual(pkg_name.c_str(), plan.spec.name().c_str()); } @@ -98,7 +98,7 @@ namespace UnitTest1 auto spec_b = spec_map.emplace("b", "c"); auto spec_c = spec_map.emplace("c"); - Dependencies::MapPortFile map_port(spec_map.map); + Dependencies::MapPortFileProvider map_port(spec_map.map); auto install_plan = Dependencies::create_install_plan(map_port, {spec_a}, StatusParagraphs(std::move(status_paragraphs))); @@ -122,7 +122,7 @@ namespace UnitTest1 auto spec_g = spec_map.emplace("g"); auto spec_h = spec_map.emplace("h"); - Dependencies::MapPortFile map_port(spec_map.map); + Dependencies::MapPortFileProvider map_port(spec_map.map); auto install_plan = Dependencies::create_install_plan( map_port, {spec_a, spec_b, spec_c}, StatusParagraphs(std::move(status_paragraphs))); @@ -162,7 +162,7 @@ namespace UnitTest1 StatusParagraphs(std::move(status_paragraphs))); Assert::AreEqual(size_t(1), install_plan.size()); - auto p = install_plan[0].install_plan.get(); + auto p = install_plan[0].install_action.get(); Assert::IsNotNull(p); Assert::AreEqual("a", p->spec.name().c_str()); Assert::AreEqual(Dependencies::InstallPlanType::ALREADY_INSTALLED, p->plan_type); @@ -183,13 +183,13 @@ namespace UnitTest1 StatusParagraphs(std::move(status_paragraphs))); Assert::AreEqual(size_t(2), install_plan.size()); - auto p = install_plan[0].install_plan.get(); + auto p = install_plan[0].install_action.get(); Assert::IsNotNull(p); Assert::AreEqual("b", p->spec.name().c_str()); Assert::AreEqual(Dependencies::InstallPlanType::BUILD_AND_INSTALL, p->plan_type); Assert::AreEqual(Dependencies::RequestType::AUTO_SELECTED, p->request_type); - auto p2 = install_plan[1].install_plan.get(); + auto p2 = install_plan[1].install_action.get(); Assert::IsNotNull(p2); Assert::AreEqual("a", p2->spec.name().c_str()); Assert::AreEqual(Dependencies::InstallPlanType::BUILD_AND_INSTALL, p2->plan_type); @@ -215,7 +215,7 @@ namespace UnitTest1 auto spec_j = spec_map.emplace("j", "k"); auto spec_k = spec_map.emplace("k"); - Dependencies::MapPortFile map_port(spec_map.map); + Dependencies::MapPortFileProvider map_port(spec_map.map); auto install_plan = Dependencies::create_install_plan(map_port, {spec_a}, StatusParagraphs(std::move(status_paragraphs))); @@ -521,4 +521,138 @@ namespace UnitTest1 Assert::AreEqual("expat", remove_plan[2].spec.name().c_str()); } }; + + class UpgradePlanTests : public TestClass<UpgradePlanTests> + { + TEST_METHOD(basic_upgrade_scheme) + { + std::vector<std::unique_ptr<StatusParagraph>> pghs; + pghs.push_back(make_status_pgh("a")); + StatusParagraphs status_db(std::move(pghs)); + + PackageSpecMap spec_map(Triplet::X86_WINDOWS); + auto spec_a = spec_map.emplace("a"); + + Dependencies::MapPortFileProvider provider(spec_map.map); + Dependencies::PackageGraph graph(provider, status_db); + + graph.upgrade(spec_a); + + auto plan = graph.serialize(); + + Assert::AreEqual(size_t(2), plan.size()); + Assert::AreEqual("a", plan[0].spec().name().c_str()); + Assert::IsTrue(plan[0].remove_action.has_value()); + Assert::AreEqual("a", plan[1].spec().name().c_str()); + Assert::IsTrue(plan[1].install_action.has_value()); + } + + TEST_METHOD(basic_upgrade_scheme_with_recurse) + { + std::vector<std::unique_ptr<StatusParagraph>> pghs; + pghs.push_back(make_status_pgh("a")); + pghs.push_back(make_status_pgh("b", "a")); + StatusParagraphs status_db(std::move(pghs)); + + PackageSpecMap spec_map(Triplet::X86_WINDOWS); + auto spec_a = spec_map.emplace("a"); + spec_map.emplace("b", "a"); + + Dependencies::MapPortFileProvider provider(spec_map.map); + Dependencies::PackageGraph graph(provider, status_db); + + graph.upgrade(spec_a); + + auto plan = graph.serialize(); + + Assert::AreEqual(size_t(4), plan.size()); + Assert::AreEqual("b", plan[0].spec().name().c_str()); + Assert::IsTrue(plan[0].remove_action.has_value()); + + Assert::AreEqual("a", plan[1].spec().name().c_str()); + Assert::IsTrue(plan[1].remove_action.has_value()); + + Assert::AreEqual("a", plan[2].spec().name().c_str()); + Assert::IsTrue(plan[2].install_action.has_value()); + + Assert::AreEqual("b", plan[3].spec().name().c_str()); + Assert::IsTrue(plan[3].install_action.has_value()); + } + + TEST_METHOD(basic_upgrade_scheme_with_bystander) + { + std::vector<std::unique_ptr<StatusParagraph>> pghs; + pghs.push_back(make_status_pgh("a")); + pghs.push_back(make_status_pgh("b")); + StatusParagraphs status_db(std::move(pghs)); + + PackageSpecMap spec_map(Triplet::X86_WINDOWS); + auto spec_a = spec_map.emplace("a"); + spec_map.emplace("b", "a"); + + Dependencies::MapPortFileProvider provider(spec_map.map); + Dependencies::PackageGraph graph(provider, status_db); + + graph.upgrade(spec_a); + + auto plan = graph.serialize(); + + Assert::AreEqual(size_t(2), plan.size()); + Assert::AreEqual("a", plan[0].spec().name().c_str()); + Assert::IsTrue(plan[0].remove_action.has_value()); + Assert::AreEqual("a", plan[1].spec().name().c_str()); + Assert::IsTrue(plan[1].install_action.has_value()); + } + + TEST_METHOD(basic_upgrade_scheme_with_new_dep) + { + std::vector<std::unique_ptr<StatusParagraph>> pghs; + pghs.push_back(make_status_pgh("a")); + StatusParagraphs status_db(std::move(pghs)); + + PackageSpecMap spec_map(Triplet::X86_WINDOWS); + auto spec_a = spec_map.emplace("a", "b"); + spec_map.emplace("b"); + + Dependencies::MapPortFileProvider provider(spec_map.map); + Dependencies::PackageGraph graph(provider, status_db); + + graph.upgrade(spec_a); + + auto plan = graph.serialize(); + + Assert::AreEqual(size_t(3), plan.size()); + Assert::AreEqual("a", plan[0].spec().name().c_str()); + Assert::IsTrue(plan[0].remove_action.has_value()); + Assert::AreEqual("b", plan[1].spec().name().c_str()); + Assert::IsTrue(plan[1].install_action.has_value()); + Assert::AreEqual("a", plan[2].spec().name().c_str()); + Assert::IsTrue(plan[2].install_action.has_value()); + } + + TEST_METHOD(basic_upgrade_scheme_with_features) + { + std::vector<std::unique_ptr<StatusParagraph>> pghs; + pghs.push_back(make_status_pgh("a")); + pghs.push_back(make_status_feature_pgh("a", "a1")); + StatusParagraphs status_db(std::move(pghs)); + + PackageSpecMap spec_map(Triplet::X86_WINDOWS); + auto spec_a = spec_map.emplace("a", "", {{"a1", ""}}); + + Dependencies::MapPortFileProvider provider(spec_map.map); + Dependencies::PackageGraph graph(provider, status_db); + + graph.upgrade(spec_a); + + auto plan = graph.serialize(); + + Assert::AreEqual(size_t(2), plan.size()); + + Assert::AreEqual("a", plan[0].spec().name().c_str()); + Assert::IsTrue(plan[0].remove_action.has_value()); + + features_check(&plan[1], "a", {"core", "a1"}); + } + }; } diff --git a/toolsrc/src/tests.update.cpp b/toolsrc/src/tests.update.cpp index 06ae797f4..b6e487c17 100644 --- a/toolsrc/src/tests.update.cpp +++ b/toolsrc/src/tests.update.cpp @@ -9,6 +9,8 @@ using namespace vcpkg::Update; namespace UnitTest1 { + using Pgh = std::vector<std::unordered_map<std::string, std::string>>; + class UpdateTests : public TestClass<UpdateTests> { TEST_METHOD(find_outdated_packages_basic) @@ -19,10 +21,12 @@ namespace UnitTest1 StatusParagraphs status_db(std::move(status_paragraphs)); - std::map<std::string, VersionT> port_versions; - port_versions["a"] = VersionT("0"); + std::unordered_map<std::string, SourceControlFile> map; + auto scf = unwrap(SourceControlFile::parse_control_file(Pgh{{{"Source", "a"}, {"Version", "0"}}})); + map.emplace("a", std::move(*scf)); + Dependencies::MapPortFileProvider provider(map); - auto pkgs = SortedVector<OutdatedPackage>(Update::find_outdated_packages(port_versions, status_db), + auto pkgs = SortedVector<OutdatedPackage>(Update::find_outdated_packages(provider, status_db), &OutdatedPackage::compare_by_name); Assert::AreEqual(size_t(1), pkgs.size()); @@ -41,10 +45,12 @@ namespace UnitTest1 StatusParagraphs status_db(std::move(status_paragraphs)); - std::map<std::string, VersionT> port_versions; - port_versions["a"] = VersionT("0"); + std::unordered_map<std::string, SourceControlFile> map; + auto scf = unwrap(SourceControlFile::parse_control_file(Pgh{{{"Source", "a"}, {"Version", "0"}}})); + map.emplace("a", std::move(*scf)); + Dependencies::MapPortFileProvider provider(map); - auto pkgs = SortedVector<OutdatedPackage>(Update::find_outdated_packages(port_versions, status_db), + auto pkgs = SortedVector<OutdatedPackage>(Update::find_outdated_packages(provider, status_db), &OutdatedPackage::compare_by_name); Assert::AreEqual(size_t(1), pkgs.size()); @@ -65,10 +71,12 @@ namespace UnitTest1 StatusParagraphs status_db(std::move(status_paragraphs)); - std::map<std::string, VersionT> port_versions; - port_versions["a"] = VersionT("0"); + std::unordered_map<std::string, SourceControlFile> map; + auto scf = unwrap(SourceControlFile::parse_control_file(Pgh{{{"Source", "a"}, {"Version", "0"}}})); + map.emplace("a", std::move(*scf)); + Dependencies::MapPortFileProvider provider(map); - auto pkgs = SortedVector<OutdatedPackage>(Update::find_outdated_packages(port_versions, status_db), + auto pkgs = SortedVector<OutdatedPackage>(Update::find_outdated_packages(provider, status_db), &OutdatedPackage::compare_by_name); Assert::AreEqual(size_t(1), pkgs.size()); @@ -84,10 +92,12 @@ namespace UnitTest1 StatusParagraphs status_db(std::move(status_paragraphs)); - std::map<std::string, VersionT> port_versions; - port_versions["a"] = VersionT("2"); + std::unordered_map<std::string, SourceControlFile> map; + auto scf = unwrap(SourceControlFile::parse_control_file(Pgh{{{"Source", "a"}, {"Version", "2"}}})); + map.emplace("a", std::move(*scf)); + Dependencies::MapPortFileProvider provider(map); - auto pkgs = SortedVector<OutdatedPackage>(Update::find_outdated_packages(port_versions, status_db), + auto pkgs = SortedVector<OutdatedPackage>(Update::find_outdated_packages(provider, status_db), &OutdatedPackage::compare_by_name); Assert::AreEqual(size_t(0), pkgs.size()); diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp index 5642f937c..094ea1dc5 100644 --- a/toolsrc/src/vcpkg.cpp +++ b/toolsrc/src/vcpkg.cpp @@ -20,11 +20,13 @@ #include <vcpkg/input.h> #include <vcpkg/metrics.h> #include <vcpkg/paragraphs.h> +#include <vcpkg/userconfig.h> #include <vcpkg/vcpkglib.h> #include <cassert> #include <fstream> #include <memory> +#include <random> #pragma comment(lib, "ole32") #pragma comment(lib, "shell32") @@ -110,6 +112,28 @@ static void inner(const VcpkgCmdArguments& args) if (args.command != "autocomplete") { Commands::Version::warn_if_vcpkg_version_mismatch(paths); + std::string surveydate = *GlobalState::g_surveydate.lock(); + auto maybe_surveydate = Chrono::CTime::parse(surveydate); + if (auto p_surveydate = maybe_surveydate.get()) + { + auto delta = std::chrono::system_clock::now() - p_surveydate->to_time_point(); + // 24 hours/day * 30 days/month + if (std::chrono::duration_cast<std::chrono::hours>(delta).count() > 24 * 30) + { + std::default_random_engine generator( + static_cast<unsigned int>(std::chrono::system_clock::now().time_since_epoch().count())); + std::uniform_int_distribution<int> distribution(1, 4); + + if (distribution(generator) == 1) + { + Metrics::g_metrics.lock()->track_property("surveyprompt", "true"); + System::println( + System::Color::success, + "Your feedback is important to improve Vcpkg! Please take 3 minutes to complete our survey " + "by running: vcpkg contact --survey"); + } + } + } } if (const auto command_function = find_command(Commands::get_available_commands_type_b())) @@ -148,80 +172,41 @@ static void inner(const VcpkgCmdArguments& args) static void load_config() { #if defined(_WIN32) - fs::path localappdata; - { - // Config path in AppDataLocal - wchar_t* localappdatapath = nullptr; - if (S_OK != SHGetKnownFolderPath(FOLDERID_LocalAppData, 0, nullptr, &localappdatapath)) __fastfail(1); - localappdata = localappdatapath; - CoTaskMemFree(localappdatapath); - } - - std::string user_id, user_time, user_mac; - try - { - auto maybe_pghs = Paragraphs::get_paragraphs(Files::get_real_filesystem(), localappdata / "vcpkg" / "config"); - if (const auto p_pghs = maybe_pghs.get()) - { - const auto& pghs = *p_pghs; + auto& fs = Files::get_real_filesystem(); - std::unordered_map<std::string, std::string> keys; - if (pghs.size() > 0) keys = pghs[0]; - - for (size_t x = 1; x < pghs.size(); ++x) - { - for (auto&& p : pghs[x]) - keys.insert(p); - } - - user_id = keys["User-Id"]; - user_time = keys["User-Since"]; - user_mac = keys["Mac-Hash"]; - } - } - catch (...) - { - } + auto config = UserConfig::try_read_data(fs); bool write_config = false; // config file not found, could not be read, or invalid - if (user_id.empty() || user_time.empty()) + if (config.user_id.empty() || config.user_time.empty()) { - ::vcpkg::Metrics::Metrics::init_user_information(user_id, user_time); + ::vcpkg::Metrics::Metrics::init_user_information(config.user_id, config.user_time); write_config = true; } - if (user_mac.empty()) + if (config.user_mac.empty()) { - user_mac = Metrics::get_MAC_user(); + config.user_mac = Metrics::get_MAC_user(); write_config = true; } { auto locked_metrics = Metrics::g_metrics.lock(); - locked_metrics->set_user_information(user_id, user_time); - locked_metrics->track_property("user_mac", user_mac); + locked_metrics->set_user_information(config.user_id, config.user_time); + locked_metrics->track_property("user_mac", config.user_mac); } + if (config.last_completed_survey.empty()) + { + config.last_completed_survey = config.user_time; + } + + GlobalState::g_surveydate.lock()->assign(config.last_completed_survey); + if (write_config) { - try - { - std::error_code ec; - auto& fs = Files::get_real_filesystem(); - fs.create_directory(localappdata / "vcpkg", ec); - fs.write_contents(localappdata / "vcpkg" / "config", - Strings::format("User-Id: %s\n" - "User-Since: %s\n" - "Mac-Hash: %s\n", - user_id, - user_time, - user_mac)); - } - catch (...) - { - } + config.try_write_data(fs); } #endif } @@ -255,7 +240,7 @@ int main(const int argc, const char* const* const argv) { if (argc == 0) std::abort(); - *GlobalState::timer.lock() = Chrono::ElapsedTime::create_started(); + *GlobalState::timer.lock() = Chrono::ElapsedTimer::create_started(); #if defined(_WIN32) GlobalState::g_init_console_cp = GetConsoleCP(); diff --git a/toolsrc/src/vcpkg/base/checks.cpp b/toolsrc/src/vcpkg/base/checks.cpp index ed28d6e2b..23f2cc630 100644 --- a/toolsrc/src/vcpkg/base/checks.cpp +++ b/toolsrc/src/vcpkg/base/checks.cpp @@ -49,8 +49,7 @@ namespace vcpkg::Checks #else void register_console_ctrl_handler() {} #endif - - [[noreturn]] void unreachable(const LineInfo& line_info) + void unreachable(const LineInfo& line_info) { System::println(System::Color::error, "Error: Unreachable code was reached"); System::println(System::Color::error, line_info.to_string()); // Always print line_info here @@ -61,13 +60,13 @@ namespace vcpkg::Checks #endif } - [[noreturn]] void exit_with_code(const LineInfo& line_info, const int exit_code) + void exit_with_code(const LineInfo& line_info, const int exit_code) { Debug::println(System::Color::error, line_info.to_string()); cleanup_and_exit(exit_code); } - [[noreturn]] void exit_with_message(const LineInfo& line_info, const CStringView error_message) + void exit_with_message(const LineInfo& line_info, const CStringView error_message) { System::println(System::Color::error, error_message); exit_fail(line_info); @@ -77,7 +76,7 @@ namespace vcpkg::Checks { if (!expression) { - exit_with_message(line_info, ""); + exit_fail(line_info); } } diff --git a/toolsrc/src/vcpkg/base/chrono.cpp b/toolsrc/src/vcpkg/base/chrono.cpp index 5d28909fc..00f8ba3f1 100644 --- a/toolsrc/src/vcpkg/base/chrono.cpp +++ b/toolsrc/src/vcpkg/base/chrono.cpp @@ -50,12 +50,82 @@ namespace vcpkg::Chrono return Strings::format("%.4g ns", nanos_as_double); } - ElapsedTime ElapsedTime::create_started() + ElapsedTimer ElapsedTimer::create_started() { - ElapsedTime t; + ElapsedTimer t; t.m_start_tick = std::chrono::high_resolution_clock::now(); return t; } - std::string ElapsedTime::to_string() const { return format_time_userfriendly(elapsed<std::chrono::nanoseconds>()); } + std::string ElapsedTime::to_string() const { return format_time_userfriendly(as<std::chrono::nanoseconds>()); } + + std::string ElapsedTimer::to_string() const { return elapsed().to_string(); } + + Optional<CTime> CTime::get_current_date_time() + { + CTime ret; + +#if defined(_WIN32) + struct _timeb timebuffer; + + _ftime_s(&timebuffer); + + const errno_t err = gmtime_s(&ret.m_tm, &timebuffer.time); + + if (err) + { + return nullopt; + } +#else + time_t now = {0}; + time(&now); + auto null_if_failed = gmtime_r(&now, &ret.m_tm); + if (null_if_failed == nullptr) + { + return nullopt; + } +#endif + + return ret; + } + + Optional<CTime> CTime::parse(CStringView str) + { + CTime ret; + auto assigned = +#if defined(_WIN32) + sscanf_s +#else + sscanf +#endif + (str.c_str(), + "%d-%d-%dT%d:%d:%d.", + &ret.m_tm.tm_year, + &ret.m_tm.tm_mon, + &ret.m_tm.tm_mday, + &ret.m_tm.tm_hour, + &ret.m_tm.tm_min, + &ret.m_tm.tm_sec); + if (assigned != 6) return nullopt; + if (ret.m_tm.tm_year < 1900) return nullopt; + ret.m_tm.tm_year -= 1900; + if (ret.m_tm.tm_mon < 1) return nullopt; + ret.m_tm.tm_mon -= 1; + mktime(&ret.m_tm); + return ret; + } + + std::string CTime::to_string() const + { + std::array<char, 80> date; + date.fill(0); + + strftime(&date[0], date.size(), "%Y-%m-%dT%H:%M:%S.0Z", &m_tm); + return &date[0]; + } + std::chrono::system_clock::time_point CTime::to_time_point() const + { + auto t = mktime(&m_tm); + return std::chrono::system_clock::from_time_t(t); + } } diff --git a/toolsrc/src/vcpkg/base/system.cpp b/toolsrc/src/vcpkg/base/system.cpp index e3d3ad292..625ee6ce0 100644 --- a/toolsrc/src/vcpkg/base/system.cpp +++ b/toolsrc/src/vcpkg/base/system.cpp @@ -202,6 +202,8 @@ namespace vcpkg::System env_cstr.append(Strings::to_utf16(NEW_PATH)); env_cstr.push_back(L'\0'); + env_cstr.append(L"VSLANG=1033"); + env_cstr.push_back(L'\0'); STARTUPINFOW startup_info; memset(&startup_info, 0, sizeof(STARTUPINFOW)); diff --git a/toolsrc/src/vcpkg/binaryparagraph.cpp b/toolsrc/src/vcpkg/binaryparagraph.cpp index c7136b713..7c9e905e8 100644 --- a/toolsrc/src/vcpkg/binaryparagraph.cpp +++ b/toolsrc/src/vcpkg/binaryparagraph.cpp @@ -92,8 +92,9 @@ namespace vcpkg std::string BinaryParagraph::displayname() const { - const auto f = this->feature.empty() ? "core" : this->feature; - return Strings::format("%s[%s]:%s", this->spec.name(), f, this->spec.triplet()); + if (this->feature.empty() || this->feature == "core") + return Strings::format("%s:%s", this->spec.name(), this->spec.triplet()); + return Strings::format("%s[%s]:%s", this->spec.name(), this->feature, this->spec.triplet()); } std::string BinaryParagraph::dir() const { return this->spec.dir(); } diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp index 6ef72b639..f43d8788e 100644 --- a/toolsrc/src/vcpkg/build.cpp +++ b/toolsrc/src/vcpkg/build.cpp @@ -67,7 +67,7 @@ namespace vcpkg::Build::Command const Build::BuildPackageConfig build_config{ *scf, spec.triplet(), fs::path{port_dir}, build_package_options, features_as_set}; - const auto build_timer = Chrono::ElapsedTime::create_started(); + const auto build_timer = Chrono::ElapsedTimer::create_started(); const auto result = Build::build_package(paths, build_config, status_db); System::println("Elapsed time for package %s: %s", spec.to_string(), build_timer.to_string()); @@ -260,13 +260,13 @@ namespace vcpkg::Build const BuildPackageConfig& config, const StatusParagraphs& status_db) { - const PackageSpec spec = - PackageSpec::from_name_and_triplet(config.src.name, config.triplet).value_or_exit(VCPKG_LINE_INFO); + const PackageSpec spec = PackageSpec::from_name_and_triplet(config.scf.core_paragraph->name, config.triplet) + .value_or_exit(VCPKG_LINE_INFO); const Triplet& triplet = config.triplet; { std::vector<PackageSpec> missing_specs; - for (auto&& dep : filter_dependencies(config.src.depends, triplet)) + for (auto&& dep : filter_dependencies(config.scf.core_paragraph->depends, triplet)) { if (status_db.find_installed(dep, triplet) == status_db.end()) { @@ -290,16 +290,13 @@ namespace vcpkg::Build std::string features; if (GlobalState::feature_packages) { - if (config.feature_list) + for (auto&& feature : config.feature_list) { - for (auto&& feature : *config.feature_list) - { - features.append(feature + ";"); - } - if (features.size() > 0) - { - features.pop_back(); - } + features.append(feature + ";"); + } + if (features.size() > 0) + { + features.pop_back(); } } @@ -309,7 +306,7 @@ namespace vcpkg::Build ports_cmake_script_path, { {"CMD", "BUILD"}, - {"PORT", config.src.name}, + {"PORT", config.scf.core_paragraph->name}, {"CURRENT_PORT_DIR", config.port_dir / "/."}, {"TARGET_TRIPLET", triplet.canonical_name()}, {"VCPKG_PLATFORM_TOOLSET", toolset.version.c_str()}, @@ -323,7 +320,7 @@ namespace vcpkg::Build const auto cmd_set_environment = make_build_env_cmd(pre_build_info, toolset); const std::string command = Strings::format(R"(%s && %s)", cmd_set_environment, cmd_launch_cmake); - const auto timer = Chrono::ElapsedTime::create_started(); + const auto timer = Chrono::ElapsedTimer::create_started(); const int return_code = System::cmd_execute_clean(command); const auto buildtimeus = timer.microseconds(); @@ -343,7 +340,7 @@ namespace vcpkg::Build const BuildInfo build_info = read_build_info(paths.get_filesystem(), paths.build_info_file_path(spec)); const size_t error_count = PostBuildLint::perform_all_checks(spec, paths, pre_build_info, build_info); - auto bcf = create_binary_control_file(config.src, triplet, build_info); + auto bcf = create_binary_control_file(*config.scf.core_paragraph, triplet, build_info); if (error_count != 0) { @@ -351,16 +348,13 @@ namespace vcpkg::Build } if (GlobalState::feature_packages) { - if (config.feature_list) + for (auto&& feature : config.feature_list) { - for (auto&& feature : *config.feature_list) + for (auto&& f_pgh : config.scf.feature_paragraphs) { - for (auto&& f_pgh : config.scf->feature_paragraphs) - { - if (f_pgh->name == feature) - bcf->features.push_back( - create_binary_feature_control_file(*config.scf->core_paragraph, *f_pgh, triplet)); - } + if (f_pgh->name == feature) + bcf->features.push_back( + create_binary_feature_control_file(*config.scf.core_paragraph, *f_pgh, triplet)); } } } diff --git a/toolsrc/src/vcpkg/commands.ci.cpp b/toolsrc/src/vcpkg/commands.ci.cpp index 8f79b83e1..1a2f9b47f 100644 --- a/toolsrc/src/vcpkg/commands.ci.cpp +++ b/toolsrc/src/vcpkg/commands.ci.cpp @@ -27,7 +27,7 @@ namespace vcpkg::Commands::CI const std::vector<PackageSpec> specs = PackageSpec::to_package_specs(ports, triplet); StatusParagraphs status_db = database_load_check(paths); - const auto& paths_port_file = Dependencies::PathsPortFile(paths); + const auto& paths_port_file = Dependencies::PathsPortFileProvider(paths); std::vector<InstallPlanAction> install_plan = Dependencies::create_install_plan(paths_port_file, specs, status_db); @@ -63,9 +63,11 @@ namespace vcpkg::Commands::CI }; static const std::string OPTION_EXCLUDE = "--exclude"; + static const std::string OPTION_XUNIT = "--x-xunit"; - static const std::array<CommandSetting, 1> CI_SETTINGS = {{ + static const std::array<CommandSetting, 2> CI_SETTINGS = {{ {OPTION_EXCLUDE, "Comma separated list of ports to skip"}, + {OPTION_XUNIT, "File to output results in XUnit format (internal)"}, }}; const CommandStructure COMMAND_STRUCTURE = { @@ -114,6 +116,18 @@ namespace vcpkg::Commands::CI result.summary.print(); } + auto it_xunit = options.settings.find(OPTION_XUNIT); + if (it_xunit != options.settings.end()) + { + std::string xunit_doc = "<assemblies><assembly><collection>\n"; + + for (auto&& result : results) + xunit_doc += result.summary.xunit_results(); + + xunit_doc += "</collection></assembly></assemblies>\n"; + paths.get_filesystem().write_contents(fs::u8path(it_xunit->second), xunit_doc); + } + Checks::exit_success(VCPKG_LINE_INFO); } } diff --git a/toolsrc/src/vcpkg/commands.contact.cpp b/toolsrc/src/vcpkg/commands.contact.cpp index 07dcea80e..8063fe317 100644 --- a/toolsrc/src/vcpkg/commands.contact.cpp +++ b/toolsrc/src/vcpkg/commands.contact.cpp @@ -1,8 +1,10 @@ #include "pch.h" +#include <vcpkg/base/chrono.h> #include <vcpkg/base/system.h> #include <vcpkg/commands.h> #include <vcpkg/help.h> +#include <vcpkg/userconfig.h> namespace vcpkg::Commands::Contact { @@ -28,6 +30,17 @@ namespace vcpkg::Commands::Contact if (Util::Sets::contains(parsed_args.switches, switches[0].name)) { +#if defined(_WIN32) + auto maybe_now = Chrono::CTime::get_current_date_time(); + if (auto p_now = maybe_now.get()) + { + auto& fs = Files::get_real_filesystem(); + auto config = UserConfig::try_read_data(fs); + config.last_completed_survey = p_now->to_string(); + config.try_write_data(fs); + } +#endif + System::cmd_execute("start https://aka.ms/NPS_vcpkg"); System::println("Default browser launched to https://aka.ms/NPS_vcpkg, thank you for your feedback!"); } diff --git a/toolsrc/src/vcpkg/commands.cpp b/toolsrc/src/vcpkg/commands.cpp index 15b10c7ea..ccf6fa729 100644 --- a/toolsrc/src/vcpkg/commands.cpp +++ b/toolsrc/src/vcpkg/commands.cpp @@ -13,9 +13,10 @@ namespace vcpkg::Commands Span<const PackageNameAndFunction<CommandTypeA>> get_available_commands_type_a() { static std::vector<PackageNameAndFunction<CommandTypeA>> t = { - PackageNameAndFunction<CommandTypeA>{"install", &Install::perform_and_exit}, + {"install", &Install::perform_and_exit}, {"ci", &CI::perform_and_exit}, {"remove", &Remove::perform_and_exit}, + {"upgrade", &Upgrade::perform_and_exit}, {"build", &Build::Command::perform_and_exit}, {"env", &Env::perform_and_exit}, {"build-external", &BuildExternal::perform_and_exit}, diff --git a/toolsrc/src/vcpkg/commands.integrate.cpp b/toolsrc/src/vcpkg/commands.integrate.cpp index f13a999fa..460e99b88 100644 --- a/toolsrc/src/vcpkg/commands.integrate.cpp +++ b/toolsrc/src/vcpkg/commands.integrate.cpp @@ -257,7 +257,7 @@ CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=%s")", std::error_code ec; const bool was_deleted = fs.remove(path, ec); - Checks::check_exit(VCPKG_LINE_INFO, !ec, "Error: Unable to remove user-wide integration: %d", ec.message()); + Checks::check_exit(VCPKG_LINE_INFO, !ec, "Error: Unable to remove user-wide integration: %s", ec.message()); if (was_deleted) { @@ -324,18 +324,20 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console " vcpkg integrate install Make installed packages available user-wide. Requires admin privileges on " "first use\n" " vcpkg integrate remove Remove user-wide integration\n" - " vcpkg integrate project Generate a referencing nuget package for individual VS project use\n"; + " vcpkg integrate project Generate a referencing nuget package for individual VS project use\n" + " vcpkg integrate powershell Enable PowerShell Tab-Completion\n"; namespace Subcommand { static const std::string INSTALL = "install"; static const std::string REMOVE = "remove"; static const std::string PROJECT = "project"; + static const std::string POWERSHELL = "powershell"; } static std::vector<std::string> valid_arguments(const VcpkgPaths&) { - return {Subcommand::INSTALL, Subcommand::REMOVE, Subcommand::PROJECT}; + return {Subcommand::INSTALL, Subcommand::REMOVE, Subcommand::PROJECT, Subcommand::POWERSHELL}; } const CommandStructure COMMAND_STRUCTURE = { @@ -365,6 +367,12 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console { return integrate_project(paths); } + if (args.command_arguments[0] == Subcommand::POWERSHELL) + { + System::powershell_execute("PowerShell Tab-Completion", + 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]); diff --git a/toolsrc/src/vcpkg/commands.list.cpp b/toolsrc/src/vcpkg/commands.list.cpp index 1f2387843..960c57225 100644 --- a/toolsrc/src/vcpkg/commands.list.cpp +++ b/toolsrc/src/vcpkg/commands.list.cpp @@ -13,14 +13,14 @@ namespace vcpkg::Commands::List { if (full_desc) { - System::println("%-30s %-16s %s", pgh.package.displayname(), pgh.package.version, pgh.package.description); + System::println("%-50s %-16s %s", pgh.package.displayname(), pgh.package.version, pgh.package.description); } else { - System::println("%-30s %-16s %s", - vcpkg::shorten_text(pgh.package.displayname(), 30), + System::println("%-50s %-16s %s", + vcpkg::shorten_text(pgh.package.displayname(), 50), vcpkg::shorten_text(pgh.package.version, 16), - vcpkg::shorten_text(pgh.package.description, 71)); + vcpkg::shorten_text(pgh.package.description, 51)); } } diff --git a/toolsrc/src/vcpkg/commands.portsdiff.cpp b/toolsrc/src/vcpkg/commands.portsdiff.cpp index 0277c8bdb..dba04ce5b 100644 --- a/toolsrc/src/vcpkg/commands.portsdiff.cpp +++ b/toolsrc/src/vcpkg/commands.portsdiff.cpp @@ -98,8 +98,11 @@ namespace vcpkg::Commands::PortsDiff ".vcpkg-root", git_exe.u8string()); System::cmd_execute_clean(cmd); - const std::map<std::string, VersionT> names_and_versions = Paragraphs::load_all_port_names_and_versions( - paths.get_filesystem(), temp_checkout_path / ports_dir_name_as_string); + const auto all_ports = + Paragraphs::load_all_ports(paths.get_filesystem(), temp_checkout_path / ports_dir_name_as_string); + std::map<std::string, VersionT> names_and_versions; + for (auto&& port : all_ports) + names_and_versions.emplace(port->core_paragraph->name, port->core_paragraph->version); fs.remove_all(temp_checkout_path, ec); return names_and_versions; } @@ -151,14 +154,14 @@ namespace vcpkg::Commands::PortsDiff const std::vector<std::string>& added_ports = setp.only_left; if (!added_ports.empty()) { - System::println("\nThe following %d ports were added:", added_ports.size()); + System::println("\nThe following %zd ports were added:", added_ports.size()); do_print_name_and_version(added_ports, current_names_and_versions); } const std::vector<std::string>& removed_ports = setp.only_right; if (!removed_ports.empty()) { - System::println("\nThe following %d ports were removed:", removed_ports.size()); + System::println("\nThe following %zd ports were removed:", removed_ports.size()); do_print_name_and_version(removed_ports, previous_names_and_versions); } @@ -168,7 +171,7 @@ namespace vcpkg::Commands::PortsDiff if (!updated_ports.empty()) { - System::println("\nThe following %d ports were updated:", updated_ports.size()); + System::println("\nThe following %zd ports were updated:", updated_ports.size()); for (const UpdatedPort& p : updated_ports) { System::println(" - %-14s %-16s", p.port, p.version_diff.to_string()); diff --git a/toolsrc/src/vcpkg/commands.upgrade.cpp b/toolsrc/src/vcpkg/commands.upgrade.cpp new file mode 100644 index 000000000..d2c868870 --- /dev/null +++ b/toolsrc/src/vcpkg/commands.upgrade.cpp @@ -0,0 +1,180 @@ +#include "pch.h" + +#include <vcpkg/base/util.h> +#include <vcpkg/commands.h> +#include <vcpkg/dependencies.h> +#include <vcpkg/help.h> +#include <vcpkg/input.h> +#include <vcpkg/install.h> +#include <vcpkg/statusparagraphs.h> +#include <vcpkg/update.h> +#include <vcpkg/vcpkglib.h> + +namespace vcpkg::Commands::Upgrade +{ + using Install::KeepGoing; + using Install::to_keep_going; + + static const std::string OPTION_NO_DRY_RUN = "--no-dry-run"; + static const std::string OPTION_KEEP_GOING = "--keep-going"; + + static const std::array<CommandSwitch, 2> INSTALL_SWITCHES = {{ + {OPTION_NO_DRY_RUN, "Actually upgrade"}, + {OPTION_KEEP_GOING, "Continue installing packages on failure"}, + }}; + + const CommandStructure COMMAND_STRUCTURE = { + Help::create_example_string("upgrade --no-dry-run"), + 0, + SIZE_MAX, + {INSTALL_SWITCHES, {}}, + nullptr, + }; + + void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths, const Triplet& default_triplet) + { + const ParsedArguments options = args.parse_arguments(COMMAND_STRUCTURE); + + const bool no_dry_run = Util::Sets::contains(options.switches, OPTION_NO_DRY_RUN); + const KeepGoing keep_going = to_keep_going(Util::Sets::contains(options.switches, OPTION_KEEP_GOING)); + + StatusParagraphs status_db = database_load_check(paths); + + Dependencies::PathsPortFileProvider provider(paths); + Dependencies::PackageGraph graph(provider, status_db); + + // input sanitization + const std::vector<PackageSpec> specs = Util::fmap(args.command_arguments, [&](auto&& arg) { + return Input::check_and_get_package_spec(arg, default_triplet, COMMAND_STRUCTURE.example_text); + }); + + for (auto&& spec : specs) + { + Input::check_triplet(spec.triplet(), paths); + } + + if (specs.empty()) + { + // If no packages specified, upgrade all outdated packages. + auto outdated_packages = Update::find_outdated_packages(provider, status_db); + + if (outdated_packages.empty()) + { + System::println("All installed packages are up-to-date with the local portfiles."); + Checks::exit_success(VCPKG_LINE_INFO); + } + + for (auto&& outdated_package : outdated_packages) + graph.upgrade(outdated_package.spec); + } + else + { + std::vector<PackageSpec> not_installed; + std::vector<PackageSpec> no_portfile; + std::vector<PackageSpec> to_upgrade; + std::vector<PackageSpec> up_to_date; + + for (auto&& spec : specs) + { + auto it = status_db.find_installed(spec); + if (it == status_db.end()) + { + not_installed.push_back(spec); + } + + auto maybe_scf = provider.get_control_file(spec.name()); + if (auto p_scf = maybe_scf.get()) + { + if (it != status_db.end()) + { + if (p_scf->core_paragraph->version != (*it)->package.version) + { + to_upgrade.push_back(spec); + } + else + { + up_to_date.push_back(spec); + } + } + } + else + { + no_portfile.push_back(spec); + } + } + + Util::sort(not_installed); + Util::sort(no_portfile); + Util::sort(up_to_date); + Util::sort(to_upgrade); + + if (!up_to_date.empty()) + { + System::println(System::Color::success, "The following packages are up-to-date:"); + System::println(Strings::join( + "", up_to_date, [](const PackageSpec& spec) { return " " + spec.to_string() + "\n"; })); + } + + if (!not_installed.empty()) + { + System::println(System::Color::error, "The following packages are not installed:"); + System::println(Strings::join( + "", not_installed, [](const PackageSpec& spec) { return " " + spec.to_string() + "\n"; })); + } + + if (!no_portfile.empty()) + { + System::println(System::Color::error, "The following packages do not have a valid portfile:"); + System::println(Strings::join( + "", no_portfile, [](const PackageSpec& spec) { return " " + spec.to_string() + "\n"; })); + } + + Checks::check_exit(VCPKG_LINE_INFO, not_installed.empty() && no_portfile.empty()); + + if (to_upgrade.empty()) Checks::exit_success(VCPKG_LINE_INFO); + + for (auto&& spec : to_upgrade) + graph.upgrade(spec); + } + + auto plan = graph.serialize(); + + Checks::check_exit(VCPKG_LINE_INFO, !plan.empty()); + + const Build::BuildPackageOptions install_plan_options = { + Build::UseHeadVersion::NO, + Build::AllowDownloads::YES, + Build::CleanBuildtrees::NO, + }; + + // Set build settings for all install actions + for (auto&& action : plan) + { + if (auto p_install = action.install_action.get()) + { + p_install->build_options = install_plan_options; + } + } + + Dependencies::print_plan(plan, true); + + if (!no_dry_run) + { + System::println(System::Color::warning, + "If you are sure you want to rebuild the above packages, run this command with the " + "--no-dry-run option."); + Checks::exit_fail(VCPKG_LINE_INFO); + } + + const Install::InstallSummary summary = Install::perform(plan, keep_going, paths, status_db); + + System::println("\nTotal elapsed time: %s\n", summary.total_elapsed_time); + + if (keep_going == KeepGoing::YES) + { + summary.print(); + } + + Checks::exit_success(VCPKG_LINE_INFO); + } +} diff --git a/toolsrc/src/vcpkg/commands.version.cpp b/toolsrc/src/vcpkg/commands.version.cpp index 3f44cf1a2..c21e8cafd 100644 --- a/toolsrc/src/vcpkg/commands.version.cpp +++ b/toolsrc/src/vcpkg/commands.version.cpp @@ -12,6 +12,13 @@ namespace vcpkg::Commands::Version { + const char* base_version() + { + return +#include "../VERSION.txt" + ; + } + const std::string& version() { static const std::string S_VERSION = diff --git a/toolsrc/src/vcpkg/dependencies.cpp b/toolsrc/src/vcpkg/dependencies.cpp index 6f599afd4..76aeb0eaa 100644 --- a/toolsrc/src/vcpkg/dependencies.cpp +++ b/toolsrc/src/vcpkg/dependencies.cpp @@ -65,26 +65,19 @@ namespace vcpkg::Dependencies struct ClusterGraph : Util::MoveOnlyBase { - explicit ClusterGraph(std::unordered_map<std::string, const SourceControlFile*>&& ports) - : m_ports(std::move(ports)) - { - } + explicit ClusterGraph(const PortFileProvider& provider) : m_provider(provider) {} Cluster& get(const PackageSpec& spec) { auto it = m_graph.find(spec); if (it == m_graph.end()) { - // Load on-demand from m_ports - auto it_ports = m_ports.find(spec.name()); - if (it_ports != m_ports.end()) - { - auto& clust = m_graph[spec]; - clust.spec = spec; - cluster_from_scf(*it_ports->second, clust); - return clust; - } - return m_graph[spec]; + // Load on-demand from m_provider + auto maybe_scf = m_provider.get_control_file(spec.name()); + auto& clust = m_graph[spec]; + clust.spec = spec; + if (auto p_scf = maybe_scf.get()) cluster_from_scf(*p_scf, clust); + return clust; } return it->second; } @@ -107,26 +100,27 @@ namespace vcpkg::Dependencies } std::unordered_map<PackageSpec, Cluster> m_graph; - std::unordered_map<std::string, const SourceControlFile*> m_ports; + const PortFileProvider& m_provider; }; std::vector<PackageSpec> AnyParagraph::dependencies(const Triplet& triplet) const { if (const auto p = this->status_paragraph.get()) { - return PackageSpec::to_package_specs(p->package.depends, triplet); + return PackageSpec::from_dependencies_of_port(p->package.spec.name(), p->package.depends, triplet); } if (const auto p = this->binary_control_file.get()) { auto deps = Util::fmap_flatten(p->features, [](const BinaryParagraph& pgh) { return pgh.depends; }); deps.insert(deps.end(), p->core_paragraph.depends.cbegin(), p->core_paragraph.depends.cend()); - return PackageSpec::to_package_specs(deps, triplet); + return PackageSpec::from_dependencies_of_port(p->core_paragraph.spec.name(), deps, triplet); } - if (const auto p = this->source_paragraph.get()) + if (const auto p = this->source_control_file.value_or(nullptr)) { - return PackageSpec::to_package_specs(filter_dependencies(p->depends, triplet), triplet); + return PackageSpec::from_dependencies_of_port( + p->core_paragraph->name, filter_dependencies(p->core_paragraph->depends, triplet), triplet); } Checks::exit_with_message(VCPKG_LINE_INFO, @@ -192,11 +186,13 @@ namespace vcpkg::Dependencies return; } - if (auto p = any_paragraph.source_paragraph.get()) + if (auto p = any_paragraph.source_control_file.get()) { this->plan_type = InstallPlanType::BUILD_AND_INSTALL; return; } + + Checks::unreachable(VCPKG_LINE_INFO); } std::string InstallPlanAction::displayname() const @@ -226,12 +222,12 @@ namespace vcpkg::Dependencies const PackageSpec& AnyAction::spec() const { - if (const auto p = install_plan.get()) + if (const auto p = install_action.get()) { return p->spec; } - if (const auto p = remove_plan.get()) + if (const auto p = remove_action.get()) { return p->spec; } @@ -257,7 +253,7 @@ namespace vcpkg::Dependencies return; } - if (auto p = any_paragraph.source_paragraph.get()) + if (auto p = any_paragraph.source_control_file.get()) { this->plan_type = ExportPlanType::PORT_AVAILABLE_BUT_NOT_BUILT; return; @@ -269,21 +265,20 @@ namespace vcpkg::Dependencies return left->spec.name() < right->spec.name(); } - MapPortFile::MapPortFile(const std::unordered_map<std::string, SourceControlFile>& map) : ports(map) {} + MapPortFileProvider::MapPortFileProvider(const std::unordered_map<std::string, SourceControlFile>& map) : ports(map) + { + } - const SourceControlFile& MapPortFile::get_control_file(const std::string& spec) const + Optional<const SourceControlFile&> MapPortFileProvider::get_control_file(const std::string& spec) const { auto scf = ports.find(spec); - if (scf == ports.end()) - { - Checks::exit_fail(VCPKG_LINE_INFO); - } + if (scf == ports.end()) return nullopt; return scf->second; } - PathsPortFile::PathsPortFile(const VcpkgPaths& paths) : ports(paths) {} + PathsPortFileProvider::PathsPortFileProvider(const VcpkgPaths& paths) : ports(paths) {} - const SourceControlFile& PathsPortFile::get_control_file(const std::string& spec) const + Optional<const SourceControlFile&> PathsPortFileProvider::get_control_file(const std::string& spec) const { auto cache_it = cache.find(spec); if (cache_it != cache.end()) @@ -298,56 +293,34 @@ namespace vcpkg::Dependencies auto it = cache.emplace(spec, std::move(*scf->get())); return it.first->second; } - print_error_message(source_control_file.error()); - Checks::exit_fail(VCPKG_LINE_INFO); + return nullopt; } std::vector<InstallPlanAction> create_install_plan(const PortFileProvider& port_file_provider, const std::vector<PackageSpec>& specs, const StatusParagraphs& status_db) { - struct InstallAdjacencyProvider final : Graphs::AdjacencyProvider<PackageSpec, InstallPlanAction> - { - const PortFileProvider& port_file_provider; - const StatusParagraphs& status_db; - const std::unordered_set<PackageSpec>& specs_as_set; + auto fspecs = Util::fmap(specs, [](const PackageSpec& spec) { return FeatureSpec(spec, ""); }); + auto plan = create_feature_install_plan(port_file_provider, fspecs, status_db); - InstallAdjacencyProvider(const PortFileProvider& port_file_provider, - const StatusParagraphs& s, - const std::unordered_set<PackageSpec>& specs_as_set) - : port_file_provider(port_file_provider), status_db(s), specs_as_set(specs_as_set) - { - } + std::vector<InstallPlanAction> ret; + ret.reserve(plan.size()); - std::vector<PackageSpec> adjacency_list(const InstallPlanAction& plan) const override + for (auto&& action : plan) + { + if (auto p_install = action.install_action.get()) { - if (plan.any_paragraph.status_paragraph.get()) return std::vector<PackageSpec>{}; - return plan.any_paragraph.dependencies(plan.spec.triplet()); + ret.push_back(std::move(*p_install)); } - - InstallPlanAction load_vertex_data(const PackageSpec& spec) const override + else { - const RequestType request_type = specs_as_set.find(spec) != specs_as_set.end() - ? RequestType::USER_REQUESTED - : RequestType::AUTO_SELECTED; - auto it = status_db.find_installed(spec); - if (it != status_db.end()) return InstallPlanAction{spec, {*it->get(), nullopt, nullopt}, request_type}; - return InstallPlanAction{ - spec, - {nullopt, nullopt, *port_file_provider.get_control_file(spec.name()).core_paragraph}, - request_type}; + Checks::exit_with_message(VCPKG_LINE_INFO, + "The installation plan requires feature packages support. Please re-run the " + "command with --featurepackages."); } - }; - - const std::unordered_set<PackageSpec> specs_as_set(specs.cbegin(), specs.cend()); - std::vector<InstallPlanAction> toposort = - Graphs::topological_sort(specs, InstallAdjacencyProvider{port_file_provider, status_db, specs_as_set}); - Util::erase_remove_if(toposort, [](const InstallPlanAction& plan) { - return plan.request_type == RequestType::AUTO_SELECTED && - plan.plan_type == InstallPlanType::ALREADY_INSTALLED; - }); + } - return toposort; + return ret; } std::vector<RemovePlanAction> create_remove_plan(const std::vector<PackageSpec>& specs, @@ -400,6 +373,8 @@ namespace vcpkg::Dependencies } return RemovePlanAction{spec, RemovePlanType::REMOVE, request_type}; } + + std::string to_string(const PackageSpec& spec) const override { return spec.to_string(); } }; const std::vector<StatusParagraph*>& installed_ports = get_installed_ports(status_db); @@ -407,7 +382,8 @@ namespace vcpkg::Dependencies return Graphs::topological_sort(specs, RemoveAdjacencyProvider{status_db, installed_ports, specs_as_set}); } - std::vector<ExportPlanAction> create_export_plan(const VcpkgPaths& paths, + std::vector<ExportPlanAction> create_export_plan(const PortFileProvider& port_file_provider, + const VcpkgPaths& paths, const std::vector<PackageSpec>& specs, const StatusParagraphs& status_db) { @@ -415,12 +391,14 @@ namespace vcpkg::Dependencies { const VcpkgPaths& paths; const StatusParagraphs& status_db; + const PortFileProvider& provider; const std::unordered_set<PackageSpec>& specs_as_set; ExportAdjacencyProvider(const VcpkgPaths& p, const StatusParagraphs& s, + const PortFileProvider& prov, const std::unordered_set<PackageSpec>& specs_as_set) - : paths(p), status_db(s), specs_as_set(specs_as_set) + : paths(p), status_db(s), provider(prov), specs_as_set(specs_as_set) { } @@ -439,19 +417,18 @@ namespace vcpkg::Dependencies if (auto bcf = maybe_bpgh.get()) return ExportPlanAction{spec, AnyParagraph{nullopt, std::move(*bcf), nullopt}, request_type}; - auto maybe_scf = Paragraphs::try_load_port(paths.get_filesystem(), paths.port_dir(spec)); - if (auto scf = maybe_scf.get()) - return ExportPlanAction{spec, {nullopt, nullopt, *scf->get()->core_paragraph}, request_type}; - else - print_error_message(maybe_scf.error()); + auto maybe_scf = provider.get_control_file(spec.name()); + if (auto scf = maybe_scf.get()) return ExportPlanAction{spec, {nullopt, nullopt, scf}, request_type}; Checks::exit_with_message(VCPKG_LINE_INFO, "Could not find package %s", spec); } + + std::string to_string(const PackageSpec& spec) const override { return spec.to_string(); } }; const std::unordered_set<PackageSpec> specs_as_set(specs.cbegin(), specs.cend()); - std::vector<ExportPlanAction> toposort = - Graphs::topological_sort(specs, ExportAdjacencyProvider{paths, status_db, specs_as_set}); + std::vector<ExportPlanAction> toposort = Graphs::topological_sort( + specs, ExportAdjacencyProvider{paths, status_db, port_file_provider, specs_as_set}); return toposort; } @@ -461,11 +438,12 @@ namespace vcpkg::Dependencies SUCCESS, }; - MarkPlusResult mark_plus(const std::string& feature, - Cluster& cluster, - ClusterGraph& pkg_to_cluster, - GraphPlan& graph_plan); - void mark_minus(Cluster& cluster, ClusterGraph& pkg_to_cluster, GraphPlan& graph_plan); + static MarkPlusResult mark_plus(const std::string& feature, + Cluster& cluster, + ClusterGraph& pkg_to_cluster, + GraphPlan& graph_plan); + + static void mark_minus(Cluster& cluster, ClusterGraph& pkg_to_cluster, GraphPlan& graph_plan); MarkPlusResult mark_plus(const std::string& feature, Cluster& cluster, ClusterGraph& graph, GraphPlan& graph_plan) { @@ -557,111 +535,78 @@ namespace vcpkg::Dependencies } } - static ClusterGraph create_feature_install_graph(const std::unordered_map<std::string, SourceControlFile>& map, - const StatusParagraphs& status_db) + std::vector<AnyAction> create_feature_install_plan(const PortFileProvider& provider, + const std::vector<FeatureSpec>& specs, + const StatusParagraphs& status_db) { - std::unordered_map<std::string, const SourceControlFile*> ptr_map; - for (auto&& p : map) - ptr_map.emplace(p.first, &p.second); - ClusterGraph graph(std::move(ptr_map)); - - auto installed_ports = get_installed_ports(status_db); - - for (auto&& status_paragraph : installed_ports) - { - Cluster& cluster = graph.get(status_paragraph->package.spec); - - cluster.transient_uninstalled = false; - - cluster.status_paragraphs.emplace_back(status_paragraph); - - auto& status_paragraph_feature = status_paragraph->package.feature; - // In this case, empty string indicates the "core" paragraph for a package. - if (status_paragraph_feature.empty()) - { - cluster.original_features.insert("core"); - } - else - { - cluster.original_features.insert(status_paragraph_feature); - } - } - - for (auto&& status_paragraph : installed_ports) - { - auto& spec = status_paragraph->package.spec; - auto& status_paragraph_feature = status_paragraph->package.feature; - auto reverse_edges = FeatureSpec::from_strings_and_triplet(status_paragraph->package.depends, - status_paragraph->package.spec.triplet()); - - for (auto&& dependency : reverse_edges) - { - auto& dep_cluster = graph.get(dependency.spec()); - - auto depends_name = dependency.feature(); - if (depends_name.empty()) depends_name = "core"; + PackageGraph pgraph(provider, status_db); + for (auto&& spec : specs) + pgraph.install(spec); - auto& target_node = dep_cluster.edges[depends_name]; - target_node.remove_edges.emplace_back(FeatureSpec{spec, status_paragraph_feature}); - } - } - return graph; + return pgraph.serialize(); } std::vector<AnyAction> create_feature_install_plan(const std::unordered_map<std::string, SourceControlFile>& map, const std::vector<FeatureSpec>& specs, const StatusParagraphs& status_db) { - ClusterGraph graph = create_feature_install_graph(map, status_db); + MapPortFileProvider provider(map); + return create_feature_install_plan(provider, specs, status_db); + } - GraphPlan graph_plan; - for (auto&& spec : specs) + void PackageGraph::install(const FeatureSpec& spec) + { + Cluster& spec_cluster = m_graph->get(spec.spec()); + spec_cluster.request_type = RequestType::USER_REQUESTED; + if (spec.feature() == "*") { - Cluster& spec_cluster = graph.get(spec.spec()); - spec_cluster.request_type = RequestType::USER_REQUESTED; - if (spec.feature() == "*") + if (auto p_scf = spec_cluster.source_control_file.value_or(nullptr)) { - if (auto p_scf = spec_cluster.source_control_file.value_or(nullptr)) + for (auto&& feature : p_scf->feature_paragraphs) { - for (auto&& feature : p_scf->feature_paragraphs) - { - auto res = mark_plus(feature->name, spec_cluster, graph, graph_plan); - - Checks::check_exit(VCPKG_LINE_INFO, - res == MarkPlusResult::SUCCESS, - "Error: Unable to locate feature %s", - spec); - } - - auto res = mark_plus("core", spec_cluster, graph, graph_plan); + auto res = mark_plus(feature->name, spec_cluster, *m_graph, *m_graph_plan); Checks::check_exit( VCPKG_LINE_INFO, res == MarkPlusResult::SUCCESS, "Error: Unable to locate feature %s", spec); } - else - { - Checks::exit_with_message( - VCPKG_LINE_INFO, "Error: Unable to handle '*' because can't find CONTROL for %s", spec.spec()); - } - } - else - { - auto res = mark_plus(spec.feature(), spec_cluster, graph, graph_plan); + + auto res = mark_plus("core", spec_cluster, *m_graph, *m_graph_plan); Checks::check_exit( VCPKG_LINE_INFO, res == MarkPlusResult::SUCCESS, "Error: Unable to locate feature %s", spec); } + else + { + Checks::exit_with_message( + VCPKG_LINE_INFO, "Error: Unable to handle '*' because can't find CONTROL for %s", spec.spec()); + } + } + else + { + auto res = mark_plus(spec.feature(), spec_cluster, *m_graph, *m_graph_plan); - graph_plan.install_graph.add_vertex(ClusterPtr{&spec_cluster}); + Checks::check_exit( + VCPKG_LINE_INFO, res == MarkPlusResult::SUCCESS, "Error: Unable to locate feature %s", spec); } - Graphs::GraphAdjacencyProvider<ClusterPtr> adjacency_remove_graph(graph_plan.remove_graph.adjacency_list()); - auto remove_vertex_list = graph_plan.remove_graph.vertex_list(); - auto remove_toposort = Graphs::topological_sort(remove_vertex_list, adjacency_remove_graph); + m_graph_plan->install_graph.add_vertex(ClusterPtr{&spec_cluster}); + } + + void PackageGraph::upgrade(const PackageSpec& spec) + { + Cluster& spec_cluster = m_graph->get(spec); + spec_cluster.request_type = RequestType::USER_REQUESTED; + + mark_minus(spec_cluster, *m_graph, *m_graph_plan); + } + + std::vector<AnyAction> PackageGraph::serialize() const + { + auto remove_vertex_list = m_graph_plan->remove_graph.vertex_list(); + auto remove_toposort = Graphs::topological_sort(remove_vertex_list, m_graph_plan->remove_graph); - Graphs::GraphAdjacencyProvider<ClusterPtr> adjacency_install_graph(graph_plan.install_graph.adjacency_list()); - auto insert_vertex_list = graph_plan.install_graph.vertex_list(); - auto insert_toposort = Graphs::topological_sort(insert_vertex_list, adjacency_install_graph); + auto insert_vertex_list = m_graph_plan->install_graph.vertex_list(); + auto insert_toposort = Graphs::topological_sort(insert_vertex_list, m_graph_plan->install_graph); std::vector<AnyAction> plan; @@ -705,4 +650,162 @@ namespace vcpkg::Dependencies return plan; } + + static std::unique_ptr<ClusterGraph> create_feature_install_graph(const PortFileProvider& map, + const StatusParagraphs& status_db) + { + std::unique_ptr<ClusterGraph> graph = std::make_unique<ClusterGraph>(map); + + auto installed_ports = get_installed_ports(status_db); + + for (auto&& status_paragraph : installed_ports) + { + Cluster& cluster = graph->get(status_paragraph->package.spec); + + cluster.transient_uninstalled = false; + + cluster.status_paragraphs.emplace_back(status_paragraph); + + auto& status_paragraph_feature = status_paragraph->package.feature; + // In this case, empty string indicates the "core" paragraph for a package. + if (status_paragraph_feature.empty()) + { + cluster.original_features.insert("core"); + } + else + { + cluster.original_features.insert(status_paragraph_feature); + } + } + + // Populate the graph with "remove edges", which are the reverse of the Build-Depends edges. + for (auto&& status_paragraph : installed_ports) + { + auto& spec = status_paragraph->package.spec; + auto& status_paragraph_feature = status_paragraph->package.feature; + auto reverse_edges = FeatureSpec::from_strings_and_triplet(status_paragraph->package.depends, + status_paragraph->package.spec.triplet()); + + for (auto&& dependency : reverse_edges) + { + auto& dep_cluster = graph->get(dependency.spec()); + + auto depends_name = dependency.feature(); + if (depends_name.empty()) depends_name = "core"; + + auto& target_node = dep_cluster.edges[depends_name]; + target_node.remove_edges.emplace_back(FeatureSpec{spec, status_paragraph_feature}); + } + } + return graph; + } + + PackageGraph::PackageGraph(const PortFileProvider& provider, const StatusParagraphs& status_db) + : m_graph(create_feature_install_graph(provider, status_db)), m_graph_plan(std::make_unique<GraphPlan>()) + { + } + + PackageGraph::~PackageGraph() {} + + void print_plan(const std::vector<AnyAction>& action_plan, const bool is_recursive) + { + std::vector<const RemovePlanAction*> remove_plans; + std::vector<const InstallPlanAction*> rebuilt_plans; + std::vector<const InstallPlanAction*> only_install_plans; + std::vector<const InstallPlanAction*> new_plans; + std::vector<const InstallPlanAction*> already_installed_plans; + std::vector<const InstallPlanAction*> excluded; + + const bool has_non_user_requested_packages = Util::find_if(action_plan, [](const AnyAction& package) -> bool { + if (auto iplan = package.install_action.get()) + return iplan->request_type != RequestType::USER_REQUESTED; + else + return false; + }) != action_plan.cend(); + + for (auto&& action : action_plan) + { + if (auto install_action = action.install_action.get()) + { + // remove plans are guaranteed to come before install plans, so we know the plan will be contained if at + // all. + auto it = Util::find_if( + remove_plans, [&](const RemovePlanAction* plan) { return plan->spec == install_action->spec; }); + if (it != remove_plans.end()) + { + rebuilt_plans.emplace_back(install_action); + } + else + { + switch (install_action->plan_type) + { + case InstallPlanType::INSTALL: only_install_plans.emplace_back(install_action); break; + case InstallPlanType::ALREADY_INSTALLED: + if (install_action->request_type == RequestType::USER_REQUESTED) + already_installed_plans.emplace_back(install_action); + break; + case InstallPlanType::BUILD_AND_INSTALL: new_plans.emplace_back(install_action); break; + case InstallPlanType::EXCLUDED: excluded.emplace_back(install_action); break; + default: Checks::unreachable(VCPKG_LINE_INFO); + } + } + } + else if (auto remove_action = action.remove_action.get()) + { + remove_plans.emplace_back(remove_action); + } + } + + std::sort(remove_plans.begin(), remove_plans.end(), &RemovePlanAction::compare_by_name); + std::sort(rebuilt_plans.begin(), rebuilt_plans.end(), &InstallPlanAction::compare_by_name); + std::sort(only_install_plans.begin(), only_install_plans.end(), &InstallPlanAction::compare_by_name); + std::sort(new_plans.begin(), new_plans.end(), &InstallPlanAction::compare_by_name); + std::sort(already_installed_plans.begin(), already_installed_plans.end(), &InstallPlanAction::compare_by_name); + std::sort(excluded.begin(), excluded.end(), &InstallPlanAction::compare_by_name); + + static auto actions_to_output_string = [](const std::vector<const InstallPlanAction*>& v) { + return Strings::join("\n", v, [](const InstallPlanAction* p) { + return to_output_string(p->request_type, p->displayname(), p->build_options); + }); + }; + + if (excluded.size() > 0) + { + System::println("The following packages are excluded:\n%s", actions_to_output_string(excluded)); + } + + if (already_installed_plans.size() > 0) + { + System::println("The following packages are already installed:\n%s", + actions_to_output_string(already_installed_plans)); + } + + if (rebuilt_plans.size() > 0) + { + System::println("The following packages will be rebuilt:\n%s", actions_to_output_string(rebuilt_plans)); + } + + if (new_plans.size() > 0) + { + System::println("The following packages will be built and installed:\n%s", + actions_to_output_string(new_plans)); + } + + if (only_install_plans.size() > 0) + { + System::println("The following packages will be directly installed:\n%s", + actions_to_output_string(only_install_plans)); + } + + if (has_non_user_requested_packages) + System::println("Additional packages (*) will be modified to complete this operation."); + + if (remove_plans.size() > 0 && !is_recursive) + { + System::println(System::Color::warning, + "If you are sure you want to rebuild the above packages, run the command with the " + "--recurse option"); + Checks::exit_fail(VCPKG_LINE_INFO); + } + } } diff --git a/toolsrc/src/vcpkg/export.cpp b/toolsrc/src/vcpkg/export.cpp index 32cb6f03e..e3221a12f 100644 --- a/toolsrc/src/vcpkg/export.cpp +++ b/toolsrc/src/vcpkg/export.cpp @@ -478,7 +478,9 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console // create the plan const StatusParagraphs status_db = database_load_check(paths); - std::vector<ExportPlanAction> export_plan = Dependencies::create_export_plan(paths, opts.specs, status_db); + Dependencies::PathsPortFileProvider provider(paths); + std::vector<ExportPlanAction> export_plan = + Dependencies::create_export_plan(provider, paths, opts.specs, status_db); Checks::check_exit(VCPKG_LINE_INFO, !export_plan.empty(), "Export plan cannot be empty"); std::map<ExportPlanType, std::vector<const ExportPlanAction*>> group_by_plan_type; diff --git a/toolsrc/src/vcpkg/globalstate.cpp b/toolsrc/src/vcpkg/globalstate.cpp index 43230fa4b..123c77d46 100644 --- a/toolsrc/src/vcpkg/globalstate.cpp +++ b/toolsrc/src/vcpkg/globalstate.cpp @@ -4,7 +4,9 @@ namespace vcpkg { - Util::LockGuarded<Chrono::ElapsedTime> GlobalState::timer; + Util::LockGuarded<Chrono::ElapsedTimer> GlobalState::timer; + Util::LockGuarded<std::string> GlobalState::g_surveydate; + std::atomic<bool> GlobalState::debugging(false); std::atomic<bool> GlobalState::feature_packages(false); diff --git a/toolsrc/src/vcpkg/help.cpp b/toolsrc/src/vcpkg/help.cpp index c83f0277b..b7d355742 100644 --- a/toolsrc/src/vcpkg/help.cpp +++ b/toolsrc/src/vcpkg/help.cpp @@ -85,6 +85,7 @@ namespace vcpkg::Help " vcpkg remove --outdated Uninstall all out-of-date packages\n" " vcpkg list List installed packages\n" " vcpkg update Display list of packages for updating\n" + " vcpkg upgrade Rebuild all outdated packages\n" " vcpkg hash <file> [alg] Hash a file by specific algorithm, default SHA512\n" " vcpkg help topics Display the list of help topics\n" " vcpkg help <topic> Display help for a specific topic\n" diff --git a/toolsrc/src/vcpkg/install.cpp b/toolsrc/src/vcpkg/install.cpp index 0888e21d5..dcc130be3 100644 --- a/toolsrc/src/vcpkg/install.cpp +++ b/toolsrc/src/vcpkg/install.cpp @@ -292,25 +292,13 @@ namespace vcpkg::Install System::println("Building package %s... ", display_name_with_features); auto result = [&]() -> Build::ExtendedBuildResult { - if (GlobalState::feature_packages) - { - const Build::BuildPackageConfig build_config{ - *action.any_paragraph.source_control_file.value_or_exit(VCPKG_LINE_INFO), - action.spec.triplet(), - paths.port_dir(action.spec), - action.build_options, - action.feature_list}; - return Build::build_package(paths, build_config, status_db); - } - else - { - const Build::BuildPackageConfig build_config{ - action.any_paragraph.source_paragraph.value_or_exit(VCPKG_LINE_INFO), - action.spec.triplet(), - paths.port_dir(action.spec), - action.build_options}; - return Build::build_package(paths, build_config, status_db); - } + const Build::BuildPackageConfig build_config{ + *action.any_paragraph.source_control_file.value_or_exit(VCPKG_LINE_INFO), + action.spec.triplet(), + paths.port_dir(action.spec), + action.build_options, + action.feature_list}; + return Build::build_package(paths, build_config, status_db); }(); if (result.code != Build::BuildResult::SUCCEEDED) @@ -348,108 +336,6 @@ namespace vcpkg::Install Checks::unreachable(VCPKG_LINE_INFO); } - static void print_plan(const std::vector<AnyAction>& action_plan, const bool is_recursive) - { - std::vector<const RemovePlanAction*> remove_plans; - std::vector<const InstallPlanAction*> rebuilt_plans; - std::vector<const InstallPlanAction*> only_install_plans; - std::vector<const InstallPlanAction*> new_plans; - std::vector<const InstallPlanAction*> already_installed_plans; - std::vector<const InstallPlanAction*> excluded; - - const bool has_non_user_requested_packages = Util::find_if(action_plan, [](const AnyAction& package) -> bool { - if (auto iplan = package.install_plan.get()) - return iplan->request_type != RequestType::USER_REQUESTED; - else - return false; - }) != action_plan.cend(); - - for (auto&& action : action_plan) - { - if (auto install_action = action.install_plan.get()) - { - // remove plans are guaranteed to come before install plans, so we know the plan will be contained if at - // all. - auto it = Util::find_if( - remove_plans, [&](const RemovePlanAction* plan) { return plan->spec == install_action->spec; }); - if (it != remove_plans.end()) - { - rebuilt_plans.emplace_back(install_action); - } - else - { - switch (install_action->plan_type) - { - case InstallPlanType::INSTALL: only_install_plans.emplace_back(install_action); break; - case InstallPlanType::ALREADY_INSTALLED: - if (install_action->request_type == RequestType::USER_REQUESTED) - already_installed_plans.emplace_back(install_action); - break; - case InstallPlanType::BUILD_AND_INSTALL: new_plans.emplace_back(install_action); break; - case InstallPlanType::EXCLUDED: excluded.emplace_back(install_action); break; - default: Checks::unreachable(VCPKG_LINE_INFO); - } - } - } - else if (auto remove_action = action.remove_plan.get()) - { - remove_plans.emplace_back(remove_action); - } - } - - std::sort(remove_plans.begin(), remove_plans.end(), &RemovePlanAction::compare_by_name); - std::sort(rebuilt_plans.begin(), rebuilt_plans.end(), &InstallPlanAction::compare_by_name); - std::sort(only_install_plans.begin(), only_install_plans.end(), &InstallPlanAction::compare_by_name); - std::sort(new_plans.begin(), new_plans.end(), &InstallPlanAction::compare_by_name); - std::sort(already_installed_plans.begin(), already_installed_plans.end(), &InstallPlanAction::compare_by_name); - std::sort(excluded.begin(), excluded.end(), &InstallPlanAction::compare_by_name); - - static auto actions_to_output_string = [](const std::vector<const InstallPlanAction*>& v) { - return Strings::join("\n", v, [](const InstallPlanAction* p) { - return to_output_string(p->request_type, p->displayname(), p->build_options); - }); - }; - - if (excluded.size() > 0) - { - System::println("The following packages are excluded:\n%s", actions_to_output_string(excluded)); - } - - if (already_installed_plans.size() > 0) - { - System::println("The following packages are already installed:\n%s", - actions_to_output_string(already_installed_plans)); - } - - if (rebuilt_plans.size() > 0) - { - System::println("The following packages will be rebuilt:\n%s", actions_to_output_string(rebuilt_plans)); - } - - if (new_plans.size() > 0) - { - System::println("The following packages will be built and installed:\n%s", - actions_to_output_string(new_plans)); - } - - if (only_install_plans.size() > 0) - { - System::println("The following packages will be directly installed:\n%s", - actions_to_output_string(only_install_plans)); - } - - if (has_non_user_requested_packages) - System::println("Additional packages (*) will be installed to complete this operation."); - - if (remove_plans.size() > 0 && !is_recursive) - { - System::println(System::Color::warning, - "If you are sure you want to rebuild the above packages, run the command with the " - "--recurse option"); - Checks::exit_fail(VCPKG_LINE_INFO); - } - } - void InstallSummary::print() const { System::println("RESULTS"); @@ -484,22 +370,22 @@ namespace vcpkg::Install { std::vector<SpecSummary> results; - const auto timer = Chrono::ElapsedTime::create_started(); + const auto timer = Chrono::ElapsedTimer::create_started(); size_t counter = 0; const size_t package_count = action_plan.size(); for (const auto& action : action_plan) { - const auto build_timer = Chrono::ElapsedTime::create_started(); + const auto build_timer = Chrono::ElapsedTimer::create_started(); counter++; const PackageSpec& spec = action.spec(); const std::string display_name = spec.to_string(); - System::println("Starting package %d/%d: %s", counter, package_count, display_name); + System::println("Starting package %zd/%zd: %s", counter, package_count, display_name); results.emplace_back(spec, &action); - if (const auto install_action = action.install_plan.get()) + if (const auto install_action = action.install_action.get()) { auto result = perform_install_plan_action(paths, *install_action, status_db); @@ -511,9 +397,8 @@ namespace vcpkg::Install results.back().build_result = std::move(result); } - else if (const auto remove_action = action.remove_plan.get()) + else if (const auto remove_action = action.remove_action.get()) { - Checks::check_exit(VCPKG_LINE_INFO, GlobalState::feature_packages); Remove::perform_remove_plan_action(paths, *remove_action, Remove::Purge::YES, status_db); } else @@ -521,8 +406,8 @@ namespace vcpkg::Install Checks::unreachable(VCPKG_LINE_INFO); } - results.back().timing = build_timer.to_string(); - System::println("Elapsed time for package %s: %s", display_name, build_timer.to_string()); + results.back().timing = build_timer.elapsed(); + System::println("Elapsed time for package %s: %s", display_name, results.back().timing.to_string()); } return InstallSummary{std::move(results), timer.to_string()}; @@ -533,6 +418,7 @@ namespace vcpkg::Install static const std::string OPTION_NO_DOWNLOADS = "--no-downloads"; static const std::string OPTION_RECURSE = "--recurse"; static const std::string OPTION_KEEP_GOING = "--keep-going"; + static const std::string OPTION_XUNIT = "--x-xunit"; static const std::array<CommandSwitch, 5> INSTALL_SWITCHES = {{ {OPTION_DRY_RUN, "Do not actually build or install"}, @@ -541,7 +427,9 @@ namespace vcpkg::Install {OPTION_RECURSE, "Allow removal of packages as part of installation"}, {OPTION_KEEP_GOING, "Continue installing packages on failure"}, }}; - static const std::array<std::string, 0> INSTALL_SETTINGS; + static const std::array<CommandSetting, 1> INSTALL_SETTINGS = {{ + {OPTION_XUNIT, "File to output results in XUnit format (Internal use)"}, + }}; std::vector<std::string> get_all_port_names(const VcpkgPaths& paths) { @@ -555,7 +443,7 @@ namespace vcpkg::Install Help::create_example_string("install zlib zlib:x64-windows curl boost"), 1, SIZE_MAX, - {INSTALL_SWITCHES, {}}, + {INSTALL_SWITCHES, INSTALL_SETTINGS}, &get_all_port_names, }; @@ -627,7 +515,7 @@ namespace vcpkg::Install library_target_pair.second.erase(library_target_pair.second.begin() + 4, library_target_pair.second.end()); System::println(" find_package(%s REQUIRED)\n" - " # Note: %d targets were omitted\n" + " # Note: %zd targets were omitted\n" " target_link_libraries(main PRIVATE %s)\n", library_target_pair.first, omitted, @@ -673,31 +561,33 @@ namespace vcpkg::Install }; // Note: action_plan will hold raw pointers to SourceControlFiles from this map - std::unordered_map<std::string, SourceControlFile> scf_map; std::vector<AnyAction> action_plan; - if (GlobalState::feature_packages) + auto all_ports = Paragraphs::load_all_ports(paths.get_filesystem(), paths.ports); + std::unordered_map<std::string, SourceControlFile> scf_map; + for (auto&& port : all_ports) + scf_map[port->core_paragraph->name] = std::move(*port); + MapPortFileProvider provider(scf_map); + + action_plan = create_feature_install_plan(provider, FullPackageSpec::to_feature_specs(specs), status_db); + + if (!GlobalState::feature_packages) { - auto all_ports = Paragraphs::load_all_ports(paths.get_filesystem(), paths.ports); - for (auto&& port : all_ports) + for (auto&& action : action_plan) { - scf_map[port->core_paragraph->name] = std::move(*port); + if (action.remove_action.has_value()) + { + Checks::exit_with_message( + VCPKG_LINE_INFO, + "The installation plan requires feature packages support. Please re-run the " + "command with --featurepackages."); + } } - action_plan = create_feature_install_plan(scf_map, FullPackageSpec::to_feature_specs(specs), status_db); - } - else - { - Dependencies::PathsPortFile paths_port_file(paths); - auto install_plan = Dependencies::create_install_plan( - paths_port_file, Util::fmap(specs, [](auto&& spec) { return spec.package_spec; }), status_db); - - action_plan = Util::fmap( - install_plan, [](InstallPlanAction& install_action) { return AnyAction(std::move(install_action)); }); } for (auto&& action : action_plan) { - if (auto p_install = action.install_plan.get()) + if (auto p_install = action.install_action.get()) { p_install->build_options = install_plan_options; if (p_install->request_type != RequestType::USER_REQUESTED) @@ -710,16 +600,16 @@ namespace vcpkg::Install // log the plan const std::string specs_string = Strings::join(",", action_plan, [](const AnyAction& action) { - if (auto iaction = action.install_plan.get()) + if (auto iaction = action.install_action.get()) return iaction->spec.to_string(); - else if (auto raction = action.remove_plan.get()) + else if (auto raction = action.remove_action.get()) return "R$" + raction->spec.to_string(); Checks::unreachable(VCPKG_LINE_INFO); }); Metrics::g_metrics.lock()->track_property("installplan", specs_string); - print_plan(action_plan, is_recursive); + Dependencies::print_plan(action_plan, is_recursive); if (dry_run) { @@ -735,10 +625,21 @@ namespace vcpkg::Install summary.print(); } + auto it_xunit = options.settings.find(OPTION_XUNIT); + if (it_xunit != options.settings.end()) + { + std::string xunit_doc = "<assemblies><assembly><collection>\n"; + + xunit_doc += summary.xunit_results(); + + xunit_doc += "</collection></assembly></assemblies>\n"; + paths.get_filesystem().write_contents(fs::u8path(it_xunit->second), xunit_doc); + } + for (auto&& result : summary.results) { if (!result.action) continue; - if (auto p_install_action = result.action->install_plan.get()) + if (auto p_install_action = result.action->install_action.get()) { if (p_install_action->request_type != RequestType::USER_REQUESTED) continue; auto bpgh = result.get_binary_paragraph(); @@ -751,7 +652,7 @@ namespace vcpkg::Install } SpecSummary::SpecSummary(const PackageSpec& spec, const Dependencies::AnyAction* action) - : spec(spec), build_result{BuildResult::NULLVALUE, nullptr}, timing("0"), action(action) + : spec(spec), build_result{BuildResult::NULLVALUE, nullptr}, action(action) { } @@ -759,7 +660,7 @@ namespace vcpkg::Install { if (build_result.binary_control_file) return &build_result.binary_control_file->core_paragraph; if (action) - if (auto p_install_plan = action->install_plan.get()) + if (auto p_install_plan = action->install_action.get()) { if (auto p_bcf = p_install_plan->any_paragraph.binary_control_file.get()) return &p_bcf->core_paragraph; @@ -770,4 +671,41 @@ namespace vcpkg::Install } return nullptr; } + + std::string InstallSummary::xunit_results() const + { + std::string xunit_doc; + for (auto&& result : results) + { + std::string inner_block; + const char* result_string = ""; + switch (result.build_result.code) + { + case BuildResult::POST_BUILD_CHECKS_FAILED: + case BuildResult::FILE_CONFLICTS: + case BuildResult::BUILD_FAILED: + result_string = "Fail"; + inner_block = Strings::format("<failure><message><![CDATA[%s]]></message></failure>", + to_string(result.build_result.code)); + break; + case BuildResult::EXCLUDED: + case BuildResult::CASCADED_DUE_TO_MISSING_DEPENDENCIES: + result_string = "Skip"; + inner_block = + Strings::format("<reason><![CDATA[%s]]></reason>", to_string(result.build_result.code)); + break; + case BuildResult::SUCCEEDED: result_string = "Pass"; break; + default: Checks::exit_fail(VCPKG_LINE_INFO); + } + + xunit_doc += Strings::format(R"(<test name="%s" method="%s" time="%lld" result="%s">%s</test>)" + "\n", + result.spec, + result.spec, + result.timing.as<std::chrono::seconds>().count(), + result_string, + inner_block); + } + return xunit_doc; + } } diff --git a/toolsrc/src/vcpkg/metrics.cpp b/toolsrc/src/vcpkg/metrics.cpp index 69160705c..cdb21d260 100644 --- a/toolsrc/src/vcpkg/metrics.cpp +++ b/toolsrc/src/vcpkg/metrics.cpp @@ -1,7 +1,9 @@ #include "pch.h" +#include <vcpkg/commands.h> #include <vcpkg/metrics.h> +#include <vcpkg/base/chrono.h> #include <vcpkg/base/files.h> #include <vcpkg/base/strings.h> #include <vcpkg/base/system.h> @@ -15,32 +17,13 @@ namespace vcpkg::Metrics static std::string get_current_date_time() { - struct tm newtime; - std::array<char, 80> date; - date.fill(0); - -#if defined(_WIN32) - struct _timeb timebuffer; - - _ftime_s(&timebuffer); - time_t now = timebuffer.time; - const int milli = timebuffer.millitm; - - const errno_t err = gmtime_s(&newtime, &now); - - if (err) + auto maybe_time = Chrono::CTime::get_current_date_time(); + if (auto ptime = maybe_time.get()) { - return ""; + return ptime->to_string(); } -#else - time_t now; - time(&now); - gmtime_r(&now, &newtime); - const int milli = 0; -#endif - strftime(&date[0], date.size(), "%Y-%m-%dT%H:%M:%S", &newtime); - return std::string(&date[0]) + "." + std::to_string(milli) + "Z"; + return ""; } static std::string generate_random_UUID() @@ -394,8 +377,9 @@ namespace vcpkg::Metrics wchar_t temp_folder[MAX_PATH]; GetTempPathW(MAX_PATH, temp_folder); - const fs::path temp_folder_path = temp_folder; - const fs::path temp_folder_path_exe = temp_folder_path / "vcpkgmetricsuploader.exe"; + const fs::path temp_folder_path = fs::path(temp_folder) / "vcpkg"; + const fs::path temp_folder_path_exe = + temp_folder_path / Strings::format("vcpkgmetricsuploader-%s.exe", Commands::Version::base_version()); auto& fs = Files::get_real_filesystem(); @@ -413,6 +397,8 @@ namespace vcpkg::Metrics }(); std::error_code ec; + fs.create_directories(temp_folder_path, ec); + if (ec) return; fs.copy_file(exe_path, temp_folder_path_exe, fs::copy_options::skip_existing, ec); if (ec) return; } @@ -420,8 +406,9 @@ namespace vcpkg::Metrics const fs::path vcpkg_metrics_txt_path = temp_folder_path / ("vcpkg" + generate_random_UUID() + ".txt"); fs.write_contents(vcpkg_metrics_txt_path, payload); - const std::string cmd_line = - Strings::format("start %s %s", temp_folder_path_exe.u8string(), vcpkg_metrics_txt_path.u8string()); + const std::string cmd_line = Strings::format("start \"vcpkgmetricsuploader.exe\" \"%s\" \"%s\"", + temp_folder_path_exe.u8string(), + vcpkg_metrics_txt_path.u8string()); System::cmd_execute_clean(cmd_line); #endif } diff --git a/toolsrc/src/vcpkg/packagespec.cpp b/toolsrc/src/vcpkg/packagespec.cpp index eeb9981af..a9e072094 100644 --- a/toolsrc/src/vcpkg/packagespec.cpp +++ b/toolsrc/src/vcpkg/packagespec.cpp @@ -2,6 +2,7 @@ #include <vcpkg/base/util.h> #include <vcpkg/packagespec.h> +#include <vcpkg/packagespecparseresult.h> #include <vcpkg/parse.h> using vcpkg::Parse::parse_comma_list; @@ -95,8 +96,40 @@ namespace vcpkg std::vector<PackageSpec> PackageSpec::to_package_specs(const std::vector<std::string>& ports, const Triplet& triplet) { - return Util::fmap(ports, [&](const std::string s) { - return PackageSpec::from_name_and_triplet(s, triplet).value_or_exit(VCPKG_LINE_INFO); + return Util::fmap(ports, [&](const std::string& spec_as_string) -> PackageSpec { + auto maybe_spec = PackageSpec::from_name_and_triplet(spec_as_string, triplet); + if (auto spec = maybe_spec.get()) + { + return std::move(*spec); + } + + const PackageSpecParseResult error_type = maybe_spec.error(); + Checks::exit_with_message(VCPKG_LINE_INFO, + "Invalid package: %s\n" + "%s", + spec_as_string, + vcpkg::to_string(error_type)); + }); + } + + std::vector<PackageSpec> PackageSpec::from_dependencies_of_port(const std::string& port, + const std::vector<std::string>& dependencies, + const Triplet& triplet) + { + return Util::fmap(dependencies, [&](const std::string& spec_as_string) -> PackageSpec { + auto maybe_spec = PackageSpec::from_name_and_triplet(spec_as_string, triplet); + if (auto spec = maybe_spec.get()) + { + return std::move(*spec); + } + + const PackageSpecParseResult error_type = maybe_spec.error(); + Checks::exit_with_message(VCPKG_LINE_INFO, + "Invalid dependency [%s] in package [%s]\n" + "%s", + spec_as_string, + port, + vcpkg::to_string(error_type)); }); } diff --git a/toolsrc/src/vcpkg/paragraphs.cpp b/toolsrc/src/vcpkg/paragraphs.cpp index b93de190c..b66d53994 100644 --- a/toolsrc/src/vcpkg/paragraphs.cpp +++ b/toolsrc/src/vcpkg/paragraphs.cpp @@ -289,16 +289,4 @@ namespace vcpkg::Paragraphs } return std::move(results.paragraphs); } - - std::map<std::string, VersionT> load_all_port_names_and_versions(const Files::Filesystem& fs, - const fs::path& ports_dir) - { - auto all_ports = load_all_ports(fs, ports_dir); - - std::map<std::string, VersionT> names_and_versions; - for (auto&& port : all_ports) - names_and_versions.emplace(port->core_paragraph->name, port->core_paragraph->version); - - return names_and_versions; - } } diff --git a/toolsrc/src/vcpkg/postbuildlint.cpp b/toolsrc/src/vcpkg/postbuildlint.cpp index 0532bce58..2b427737a 100644 --- a/toolsrc/src/vcpkg/postbuildlint.cpp +++ b/toolsrc/src/vcpkg/postbuildlint.cpp @@ -479,7 +479,7 @@ namespace vcpkg::PostBuildLint } System::println(System::Color::warning, - "Mismatching number of debug and release binaries. Found %d for debug but %d for release.", + "Mismatching number of debug and release binaries. Found %zd for debug but %zd for release.", debug_count, release_count); System::println("Debug binaries"); diff --git a/toolsrc/src/vcpkg/remove.cpp b/toolsrc/src/vcpkg/remove.cpp index 8ae0bc881..4079d60c1 100644 --- a/toolsrc/src/vcpkg/remove.cpp +++ b/toolsrc/src/vcpkg/remove.cpp @@ -207,10 +207,11 @@ namespace vcpkg::Remove System::println(System::Color::error, "Error: 'remove' accepts either libraries or '--outdated'"); Checks::exit_fail(VCPKG_LINE_INFO); } - specs = Util::fmap( - Update::find_outdated_packages( - Paragraphs::load_all_port_names_and_versions(paths.get_filesystem(), paths.ports), status_db), - [](auto&& outdated) { return outdated.spec; }); + + Dependencies::PathsPortFileProvider provider(paths); + + specs = Util::fmap(Update::find_outdated_packages(provider, status_db), + [](auto&& outdated) { return outdated.spec; }); if (specs.empty()) { diff --git a/toolsrc/src/vcpkg/update.cpp b/toolsrc/src/vcpkg/update.cpp index 29baef91e..d6c5614ed 100644 --- a/toolsrc/src/vcpkg/update.cpp +++ b/toolsrc/src/vcpkg/update.cpp @@ -14,7 +14,7 @@ namespace vcpkg::Update return left.spec.name() < right.spec.name(); } - std::vector<OutdatedPackage> find_outdated_packages(const std::map<std::string, VersionT>& src_names_to_versions, + std::vector<OutdatedPackage> find_outdated_packages(const Dependencies::PortFileProvider& provider, const StatusParagraphs& status_db) { const std::vector<StatusParagraph*> installed_packages = get_installed_ports(status_db); @@ -24,19 +24,23 @@ namespace vcpkg::Update { if (!pgh->package.feature.empty()) { - // Skip feature packages; only consider master packages for needing updates. + // Skip feature paragraphs; only consider master paragraphs for needing updates. continue; } - const auto it = src_names_to_versions.find(pgh->package.spec.name()); - if (it == src_names_to_versions.end()) + auto maybe_scf = provider.get_control_file(pgh->package.spec.name()); + if (auto p_scf = maybe_scf.get()) { - // Package was not installed from portfile - continue; + auto&& port_version = p_scf->core_paragraph->version; + auto&& installed_version = pgh->package.version; + if (installed_version != port_version) + { + output.push_back({pgh->package.spec, VersionDiff(installed_version, port_version)}); + } } - if (it->second != pgh->package.version) + else { - output.push_back({pgh->package.spec, VersionDiff(pgh->package.version, it->second)}); + // No portfile available } } @@ -58,10 +62,10 @@ namespace vcpkg::Update const StatusParagraphs status_db = database_load_check(paths); - const auto outdated_packages = SortedVector<OutdatedPackage>( - find_outdated_packages(Paragraphs::load_all_port_names_and_versions(paths.get_filesystem(), paths.ports), - status_db), - &OutdatedPackage::compare_by_name); + Dependencies::PathsPortFileProvider provider(paths); + + const auto outdated_packages = SortedVector<OutdatedPackage>(find_outdated_packages(provider, status_db), + &OutdatedPackage::compare_by_name); if (outdated_packages.empty()) { @@ -69,19 +73,17 @@ namespace vcpkg::Update } else { - std::string install_line; System::println("The following packages differ from their port versions:"); for (auto&& package : outdated_packages) { - install_line += package.spec.to_string(); - install_line += " "; System::println(" %-32s %s", package.spec, package.version_diff.to_string()); } System::println("\n" - "To update these packages, run\n" - " .\\vcpkg remove --outdated\n" - " .\\vcpkg install " + - install_line); + "To update these packages and all dependencies, run\n" + " .\\vcpkg upgrade\n" + "\n" + "To only remove outdated packages, run\n" + " .\\vcpkg remove --outdated\n"); } Checks::exit_success(VCPKG_LINE_INFO); diff --git a/toolsrc/src/vcpkg/userconfig.cpp b/toolsrc/src/vcpkg/userconfig.cpp new file mode 100644 index 000000000..906594691 --- /dev/null +++ b/toolsrc/src/vcpkg/userconfig.cpp @@ -0,0 +1,88 @@ +#include "pch.h" + +#include <vcpkg/base/files.h> +#include <vcpkg/base/lazy.h> +#include <vcpkg/paragraphs.h> +#include <vcpkg/userconfig.h> + +#if defined(_WIN32) +namespace +{ + static vcpkg::Lazy<fs::path> s_localappdata; + + static const fs::path& get_localappdata() + { + return s_localappdata.get_lazy([]() { + fs::path localappdata; + { + // Config path in AppDataLocal + wchar_t* localappdatapath = nullptr; + if (S_OK != SHGetKnownFolderPath(FOLDERID_LocalAppData, 0, nullptr, &localappdatapath)) __fastfail(1); + localappdata = localappdatapath; + CoTaskMemFree(localappdatapath); + } + return localappdata; + }); + } +} +#endif + +namespace vcpkg +{ + UserConfig UserConfig::try_read_data(const Files::Filesystem& fs) + { + UserConfig ret; +#if defined(_WIN32) + try + { + auto maybe_pghs = Paragraphs::get_paragraphs(fs, get_localappdata() / "vcpkg" / "config"); + if (const auto p_pghs = maybe_pghs.get()) + { + const auto& pghs = *p_pghs; + + std::unordered_map<std::string, std::string> keys; + if (pghs.size() > 0) keys = pghs[0]; + + for (size_t x = 1; x < pghs.size(); ++x) + { + for (auto&& p : pghs[x]) + keys.insert(p); + } + + ret.user_id = keys["User-Id"]; + ret.user_time = keys["User-Since"]; + ret.user_mac = keys["Mac-Hash"]; + ret.last_completed_survey = keys["Survey-Completed"]; + } + } + catch (...) + { + } +#endif + + return ret; + } + + void UserConfig::try_write_data(Files::Filesystem& fs) const + { +#if defined(_WIN32) + try + { + std::error_code ec; + fs.create_directory(get_localappdata() / "vcpkg", ec); + fs.write_contents(get_localappdata() / "vcpkg" / "config", + Strings::format("User-Id: %s\n" + "User-Since: %s\n" + "Mac-Hash: %s\n" + "Survey-Completed: %s\n", + user_id, + user_time, + user_mac, + last_completed_survey)); + } + catch (...) + { + } +#endif + } +} diff --git a/toolsrc/src/vcpkg/vcpkgpaths.cpp b/toolsrc/src/vcpkg/vcpkgpaths.cpp index d5763921e..e64a681e2 100644 --- a/toolsrc/src/vcpkg/vcpkgpaths.cpp +++ b/toolsrc/src/vcpkg/vcpkgpaths.cpp @@ -92,7 +92,8 @@ namespace vcpkg tool_name, version_as_string); const fs::path script = scripts_folder / "fetchDependency.ps1"; - const std::string title = "Fetching %s version %s (No sufficient installed version was found)"; + const std::string title = Strings::format( + "Fetching %s version %s (No sufficient installed version was found)", tool_name, version_as_string); const System::PowershellParameter dependency_param("Dependency", tool_name); const std::string output = System::powershell_execute_and_capture_output(title, script, {dependency_param}); @@ -280,7 +281,6 @@ namespace vcpkg const std::vector<std::string>& VcpkgPaths::get_available_triplets() const { return this->available_triplets.get_lazy([this]() -> std::vector<std::string> { - std::vector<std::string> output; for (auto&& path : this->get_filesystem().get_files_non_recursive(this->triplets)) { @@ -384,6 +384,7 @@ namespace vcpkg std::vector<fs::path> paths_examined; std::vector<Toolset> found_toolsets; + std::vector<Toolset> excluded_toolsets; const std::vector<VisualStudioInstance> vs_instances = get_visual_studio_instances(paths); const bool v140_is_available = Util::find_if(vs_instances, [&](const VisualStudioInstance& vs_instance) { @@ -440,17 +441,28 @@ namespace vcpkg paths_examined.push_back(dumpbin_path); if (fs.exists(dumpbin_path)) { - found_toolsets.push_back(Toolset{ - vs_instance.root_path, dumpbin_path, vcvarsall_bat, {}, V_141, supported_architectures}); + const Toolset v141toolset = Toolset{ + vs_instance.root_path, dumpbin_path, vcvarsall_bat, {}, V_141, supported_architectures}; + + auto english_language_pack = dumpbin_path.parent_path() / "1033"; + + if (!fs.exists(english_language_pack)) + { + excluded_toolsets.push_back(v141toolset); + break; + } + + found_toolsets.push_back(v141toolset); if (v140_is_available) { - found_toolsets.push_back(Toolset{vs_instance.root_path, - dumpbin_path, - vcvarsall_bat, - {"-vcvars_ver=14.0"}, - V_140, - supported_architectures}); + const Toolset v140toolset = Toolset{vs_instance.root_path, + dumpbin_path, + vcvarsall_bat, + {"-vcvars_ver=14.0"}, + V_140, + supported_architectures}; + found_toolsets.push_back(v140toolset); } break; @@ -487,17 +499,39 @@ namespace vcpkg if (fs.exists(vs_dumpbin_exe)) { - found_toolsets.push_back({vs_instance.root_path, - vs_dumpbin_exe, - vcvarsall_bat, - {}, - major_version == "14" ? V_140 : V_120, - supported_architectures}); + const Toolset toolset = {vs_instance.root_path, + vs_dumpbin_exe, + vcvarsall_bat, + {}, + major_version == "14" ? V_140 : V_120, + supported_architectures}; + + auto english_language_pack = vs_dumpbin_exe.parent_path() / "1033"; + + if (!fs.exists(english_language_pack)) + { + excluded_toolsets.push_back(toolset); + break; + } + + found_toolsets.push_back(toolset); } } } } + if (!excluded_toolsets.empty()) + { + System::println( + System::Color::warning, + "Warning: The following VS instances are exluded because the English language pack is unavailable."); + for (const Toolset& toolset : excluded_toolsets) + { + System::println(" %s", toolset.visual_studio_root_path.u8string()); + } + System::println(System::Color::warning, "Please install the English language pack."); + } + if (found_toolsets.empty()) { System::println(System::Color::error, "Could not locate a complete toolset."); @@ -575,6 +609,7 @@ namespace vcpkg vs_root_path.generic_string()); } + Checks::check_exit(VCPKG_LINE_INFO, !candidates.empty(), "No suitable Visual Studio instances were found"); return *candidates.front(); } diff --git a/toolsrc/vcpkglib/vcpkglib.vcxproj b/toolsrc/vcpkglib/vcpkglib.vcxproj index ae332e015..455891f85 100644 --- a/toolsrc/vcpkglib/vcpkglib.vcxproj +++ b/toolsrc/vcpkglib/vcpkglib.vcxproj @@ -178,6 +178,7 @@ <ClInclude Include="..\include\vcpkg\statusparagraphs.h" /> <ClInclude Include="..\include\vcpkg\triplet.h" /> <ClInclude Include="..\include\vcpkg\update.h" /> + <ClInclude Include="..\include\vcpkg\userconfig.h" /> <ClInclude Include="..\include\vcpkg\vcpkgcmdarguments.h" /> <ClInclude Include="..\include\vcpkg\vcpkglib.h" /> <ClInclude Include="..\include\vcpkg\vcpkgpaths.h" /> @@ -219,6 +220,7 @@ <ClCompile Include="..\src\vcpkg\commands.owns.cpp" /> <ClCompile Include="..\src\vcpkg\commands.portsdiff.cpp" /> <ClCompile Include="..\src\vcpkg\commands.search.cpp" /> + <ClCompile Include="..\src\vcpkg\commands.upgrade.cpp" /> <ClCompile Include="..\src\vcpkg\commands.version.cpp" /> <ClCompile Include="..\src\vcpkg\dependencies.cpp" /> <ClCompile Include="..\src\vcpkg\export.cpp" /> @@ -240,6 +242,7 @@ <ClCompile Include="..\src\vcpkg\statusparagraphs.cpp" /> <ClCompile Include="..\src\vcpkg\triplet.cpp" /> <ClCompile Include="..\src\vcpkg\update.cpp" /> + <ClCompile Include="..\src\vcpkg\userconfig.cpp" /> <ClCompile Include="..\src\vcpkg\vcpkgcmdarguments.cpp" /> <ClCompile Include="..\src\vcpkg\vcpkglib.cpp" /> <ClCompile Include="..\src\vcpkg\vcpkgpaths.cpp" /> diff --git a/toolsrc/vcpkglib/vcpkglib.vcxproj.filters b/toolsrc/vcpkglib/vcpkglib.vcxproj.filters index e902bffbb..f8f517ad7 100644 --- a/toolsrc/vcpkglib/vcpkglib.vcxproj.filters +++ b/toolsrc/vcpkglib/vcpkglib.vcxproj.filters @@ -192,6 +192,12 @@ <ClCompile Include="..\src\vcpkg\base\system.cpp"> <Filter>Source Files\vcpkg\base</Filter> </ClCompile> + <ClCompile Include="..\src\vcpkg\userconfig.cpp"> + <Filter>Source Files\vcpkg</Filter> + </ClCompile> + <ClCompile Include="..\src\vcpkg\commands.upgrade.cpp"> + <Filter>Source Files\vcpkg</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\include\pch.h"> @@ -332,5 +338,8 @@ <ClInclude Include="..\include\vcpkg\export.ifw.h"> <Filter>Header Files\vcpkg</Filter> </ClInclude> + <ClInclude Include="..\include\vcpkg\userconfig.h"> + <Filter>Header Files\vcpkg</Filter> + </ClInclude> </ItemGroup> </Project>
\ No newline at end of file diff --git a/toolsrc/vcpkgtest/vcpkgtest.vcxproj b/toolsrc/vcpkgtest/vcpkgtest.vcxproj index 9eafc1ada..166216c45 100644 --- a/toolsrc/vcpkgtest/vcpkgtest.vcxproj +++ b/toolsrc/vcpkgtest/vcpkgtest.vcxproj @@ -20,6 +20,7 @@ </ItemGroup> <ItemGroup> <ClCompile Include="..\src\tests.arguments.cpp" /> + <ClCompile Include="..\src\tests.chrono.cpp" /> <ClCompile Include="..\src\tests.dependencies.cpp" /> <ClCompile Include="..\src\tests.packagespec.cpp" /> <ClCompile Include="..\src\tests.paragraph.cpp" /> diff --git a/toolsrc/vcpkgtest/vcpkgtest.vcxproj.filters b/toolsrc/vcpkgtest/vcpkgtest.vcxproj.filters index 2121f9782..422f9298e 100644 --- a/toolsrc/vcpkgtest/vcpkgtest.vcxproj.filters +++ b/toolsrc/vcpkgtest/vcpkgtest.vcxproj.filters @@ -42,6 +42,9 @@ <ClCompile Include="..\src\tests.utils.cpp"> <Filter>Source Files</Filter> </ClCompile> + <ClCompile Include="..\src\tests.chrono.cpp"> + <Filter>Source Files</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\include\tests.pch.h"> |
