Merge branch 'master' of https://github.com/microsoft/vcpkg into dev/philc/4990

This commit is contained in:
Phil Christensen 2018-12-21 00:36:36 -08:00
commit 09c3cc0d88
101 changed files with 1245 additions and 1330 deletions

View File

@ -42,11 +42,12 @@ For more information, see our [using a package](docs/examples/installing-and-usi
Additional notes on macOS and Linux support can be found in the [official announcement](https://blogs.msdn.microsoft.com/vcblog/2018/04/24/announcing-a-single-c-library-manager-for-linux-macos-and-windows-vcpkg/). Additional notes on macOS and Linux support can be found in the [official announcement](https://blogs.msdn.microsoft.com/vcblog/2018/04/24/announcing-a-single-c-library-manager-for-linux-macos-and-windows-vcpkg/).
## Tab-Completion / Auto-Completion ## Tab-Completion / Auto-Completion
`vcpkg` supports auto-completion of commands, package names, options etc. To enable tab-completion in Powershell, use `vcpkg` supports auto-completion of commands, package names, options etc in Powershell and bash. To enable tab-completion, use one of the following:
``` ```
.\vcpkg integrate powershell PS> .\vcpkg integrate powershell
Linux:~/$ ./vcpkg integrate bash
``` ```
and restart Powershell. and restart your console.
## Examples ## Examples

View File

@ -50,7 +50,7 @@ The `CMAKE_TOOLCHAIN_FILE` setting simply must be set before the `project()` dir
```cmake ```cmake
if(DEFINED ENV{VCPKG_ROOT} AND NOT DEFINED CMAKE_TOOLCHAIN_FILE) if(DEFINED ENV{VCPKG_ROOT} AND NOT DEFINED CMAKE_TOOLCHAIN_FILE)
set(CMAKE_TOOLCHAIN_FILE "${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"
CACHE STRING "") CACHE STRING "")
endif() endif()

View File

@ -1,4 +1,4 @@
Source: alembic Source: alembic
Version: 1.7.9 Version: 1.7.10
Build-Depends: ilmbase, hdf5 Build-Depends: ilmbase, hdf5
Description: Alembic is an open framework for storing and sharing scene data that includes a C++ library, a file format, and client plugins and applications. http://alembic.io/ Description: Alembic is an open framework for storing and sharing scene data that includes a C++ library, a file format, and client plugins and applications. http://alembic.io/

View File

@ -8,8 +8,8 @@ endif()
vcpkg_from_github( vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH OUT_SOURCE_PATH SOURCE_PATH
REPO alembic/alembic REPO alembic/alembic
REF 1.7.9 REF 1.7.10
SHA512 8025c20525ffbd5bdc9dd5a33ad8238e49f063d244ab9d112e7d1ddb7ee7cf9b36ceb74cb45d658ce22d3033552c89bddf6b818cf466ea46aa1a70a41fdeddb2 SHA512 e98ffaedb98dbc5c53fe9703d3063bb118d32c83c47e3af04c8fc96237034b02fe0fc2c628ca82bdd0e0ef17d9375f4f48e0022ce33380b9ad91970539611ced
HEAD_REF master HEAD_REF master
) )

View File

@ -1,3 +1,3 @@
Source: antlr4 Source: antlr4
Version: 4.7 Version: 4.7.1-2
Description: ANother Tool for Language Recognition Description: ANother Tool for Language Recognition

View File

@ -1,52 +0,0 @@
diff --git a/runtime/src/ANTLRInputStream.h b/runtime/src/ANTLRInputStream.h
index 3d85bed..813451c 100644
--- a/runtime/src/ANTLRInputStream.h
+++ b/runtime/src/ANTLRInputStream.h
@@ -16,7 +16,7 @@ namespace antlr4 {
protected:
/// The data being scanned.
// UTF-32
-#if defined(_MSC_VER) && _MSC_VER == 1900
+#if defined(_MSC_VER) && _MSC_VER >= 1900
i32string _data; // Custom type for VS 2015.
#else
std::u32string _data;
diff --git a/runtime/src/UnbufferedCharStream.h b/runtime/src/UnbufferedCharStream.h
index b489f18..295804c 100644
--- a/runtime/src/UnbufferedCharStream.h
+++ b/runtime/src/UnbufferedCharStream.h
@@ -52,7 +52,7 @@ namespace antlr4 {
/// we keep adding to buffer. Otherwise, <seealso cref="#consume consume()"/> resets so
/// we start filling at index 0 again.
// UTF-32 encoded.
-#if defined(_MSC_VER) && _MSC_VER == 1900
+#if defined(_MSC_VER) && _MSC_VER >= 1900
i32string _data; // Custom type for VS 2015.
#else
std::u32string _data;
diff --git a/runtime/src/antlr4-common.h b/runtime/src/antlr4-common.h
index 197fd6d..8357b3e 100644
--- a/runtime/src/antlr4-common.h
+++ b/runtime/src/antlr4-common.h
@@ -52,7 +52,7 @@
typedef __int32 ssize_t;
#endif
- #if _MSC_VER == 1900
+ #if _MSC_VER >= 1900
// VS 2015 has a known bug when using std::codecvt_utf8<char32_t>
// so we have to temporarily use __int32 instead.
// https://connect.microsoft.com/VisualStudio/feedback/details/1403302/unresolved-external-when-using-codecvt-utf8
diff --git a/runtime/src/support/StringUtils.h b/runtime/src/support/StringUtils.h
index cb751a7..be14bbb 100644
--- a/runtime/src/support/StringUtils.h
+++ b/runtime/src/support/StringUtils.h
@@ -10,7 +10,7 @@
namespace antlrcpp {
// For all conversions utf8 <-> utf32.
// VS 2015 has a bug in std::codecvt_utf8<char32_t> (VS 2013 works fine).
-#if defined(_MSC_VER) && _MSC_VER == 1900
+#if defined(_MSC_VER) && _MSC_VER >= 1900
static std::wstring_convert<std::codecvt_utf8<__int32>, __int32> utfConverter;
#else
static std::wstring_convert<std::codecvt_utf8<char32_t>, char32_t> utfConverter;

View File

@ -4,28 +4,26 @@ endif()
include(vcpkg_common_functions) include(vcpkg_common_functions)
set(VERSION 4.7) set(VERSION 4.7.1)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/runtime)
vcpkg_download_distfile(ARCHIVE vcpkg_download_distfile(ARCHIVE
URLS "http://www.antlr.org/download/antlr4-cpp-runtime-4.7-source.zip" URLS "http://www.antlr.org/download/antlr4-cpp-runtime-4.7.1-source.zip"
FILENAME "antlr4-cpp-runtime-${VERSION}-source.zip" FILENAME "antlr4-cpp-runtime-${VERSION}-source.zip"
SHA512 a14fd3320537075a8d4c1cfa81d416bad6257d238608e2428f4930495072cce984c707126e3777ffd3849dd6b6cdf1bf43624bd6d318b1fa5dd6749a7304f808 SHA512 24d53278db56b199e6787242f22339f74e07d2cd3ed56f851ad905b110c2ba3cb001e1e2fcbc8624f0e93e00ba1fe1b23630dd1a736558c694655aeb1c3129da
) )
# license not exist in antlr folder. # license not exist in antlr folder.
vcpkg_download_distfile(LICENSE vcpkg_download_distfile(LICENSE
URLS https://raw.githubusercontent.com/antlr/antlr4/${VERSION}/LICENSE.txt URLS https://raw.githubusercontent.com/antlr/antlr4/${VERSION}/LICENSE.txt
FILENAME "antlr4-copyright" FILENAME "antlr4-copyright_${VERSION}"
SHA512 c72ae3d5c9f3f07160405b5ca44f01116a9602d82291d6cd218fcc5ec6e8baf985e4baa2acf3d621079585385708bd171c96ef44dd808e60c40a48bc1f56c9ae SHA512 1e8414de5fdc211e3188a8ec3276c6b3c55235f5edaf48522045ae18fa79fd9049719cb8924d25145016f223ac9a178defada1eeb983ccff598a08b0c0f67a3b
) )
vcpkg_extract_source_archive(${ARCHIVE}) vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
vcpkg_apply_patches( ARCHIVE ${ARCHIVE}
SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src NO_REMOVE_ONE_LEVEL
PATCHES ${CMAKE_CURRENT_LIST_DIR}/crt_mt.patch PATCHES ${CMAKE_CURRENT_LIST_DIR}/crt_mt.patch
${CMAKE_CURRENT_LIST_DIR}/Fix-building-in-Visual-Studio-2017.patch
) )
if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") if (VCPKG_LIBRARY_LINKAGE STREQUAL "static")
@ -37,14 +35,14 @@ else()
endif() endif()
vcpkg_build_msbuild( vcpkg_build_msbuild(
PROJECT_PATH ${SOURCE_PATH}/antlr4cpp-vs2015.vcxproj PROJECT_PATH ${SOURCE_PATH}/runtime/antlr4cpp-vs2015.vcxproj
DEBUG_CONFIGURATION ${DEBUG_CONFIG} DEBUG_CONFIGURATION ${DEBUG_CONFIG}
RELEASE_CONFIGURATION ${RELEASE_CONFIG} RELEASE_CONFIGURATION ${RELEASE_CONFIG}
) )
file (MAKE_DIRECTORY file (MAKE_DIRECTORY
${CURRENT_PACKAGES_DIR}/include) ${CURRENT_PACKAGES_DIR}/include)
FILE(COPY ${SOURCE_PATH}/src/ FILE(COPY ${SOURCE_PATH}/runtime/src/
DESTINATION ${CURRENT_PACKAGES_DIR}/include DESTINATION ${CURRENT_PACKAGES_DIR}/include
FILES_MATCHING PATTERN "*.h") FILES_MATCHING PATTERN "*.h")
@ -52,9 +50,9 @@ file (MAKE_DIRECTORY
${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/lib
${CURRENT_PACKAGES_DIR}/debug/lib) ${CURRENT_PACKAGES_DIR}/debug/lib)
file(COPY ${SOURCE_PATH}/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${DEBUG_CONFIG}/antlr4-runtime.lib file(COPY ${SOURCE_PATH}/runtime/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${DEBUG_CONFIG}/antlr4-runtime.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
file(COPY ${SOURCE_PATH}/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${RELEASE_CONFIG}/antlr4-runtime.lib file(COPY ${SOURCE_PATH}/runtime/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${RELEASE_CONFIG}/antlr4-runtime.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/lib) DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") if (VCPKG_LIBRARY_LINKAGE STREQUAL "static")
@ -68,15 +66,16 @@ else()
${CURRENT_PACKAGES_DIR}/debug/bin) ${CURRENT_PACKAGES_DIR}/debug/bin)
file(COPY file(COPY
${SOURCE_PATH}/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${DEBUG_CONFIG}/antlr4-runtime.dll ${SOURCE_PATH}/runtime/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${DEBUG_CONFIG}/antlr4-runtime.dll
${SOURCE_PATH}/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${DEBUG_CONFIG}/antlr4-runtime.pdb ${SOURCE_PATH}/runtime/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${DEBUG_CONFIG}/antlr4-runtime.pdb
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
file(COPY file(COPY
${SOURCE_PATH}/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${RELEASE_CONFIG}/antlr4-runtime.dll ${SOURCE_PATH}/runtime/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${RELEASE_CONFIG}/antlr4-runtime.dll
${SOURCE_PATH}/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${RELEASE_CONFIG}/antlr4-runtime.pdb ${SOURCE_PATH}/runtime/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${RELEASE_CONFIG}/antlr4-runtime.pdb
DESTINATION ${CURRENT_PACKAGES_DIR}/bin) DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
endif() endif()
file(INSTALL ${LICENSE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/antlr4 RENAME copyright) file(INSTALL ${LICENSE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/antlr4 RENAME copyright)
message(STATUS "Installing done") message(STATUS "Installing done")
#

View File

@ -62,6 +62,7 @@ target_link_libraries(aubio PUBLIC
${LIBLZMA_LIBRARIES} ${LIBLZMA_LIBRARIES}
ws2_32.lib ws2_32.lib
Secur32.lib Secur32.lib
bcrypt.lib
) )
if(BUILD_TOOLS) if(BUILD_TOOLS)

View File

@ -1,4 +1,4 @@
Source: aubio Source: aubio
Version: 0.4.6-2 Version: 0.4.8
Description: Aubio is a tool designed for the extraction of annotations from audio signals. Its features include segmenting a sound file before each of its attacks, performing pitch detection, tapping the beat and producing midi streams from live audio. Description: Aubio is a tool designed for the extraction of annotations from audio signals. Its features include segmenting a sound file before each of its attacks, performing pitch detection, tapping the beat and producing midi streams from live audio.
Build-Depends: ffmpeg, libsndfile, libogg, libflac, libvorbis, bzip2, liblzma Build-Depends: ffmpeg, libsndfile, libogg, libflac, libvorbis, bzip2, liblzma

View File

@ -3,8 +3,8 @@ set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/aubio-3c230fae309e9ea3298783368dd7
vcpkg_from_github( vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH OUT_SOURCE_PATH SOURCE_PATH
REPO aubio/aubio REPO aubio/aubio
REF 0.4.6 REF 0.4.8
SHA512 9bb787d81f39ab8e3440be9936552a712a24e009884818e13e80dde756ad3874055bcd931ca3af638122f6a0d0bc53e62e1abeedce3fd79af35fe9ddea6bc707 SHA512 0422ec9ceb645dd5cdb1ca8b17f552edf9197dbf9c929ca75aacfb89f092c02db8b6d2b8aec567ddc1df5b310770de77cd941b45ed74700c3d3584924f39b576
HEAD_REF master HEAD_REF master
) )

View File

@ -1,3 +1,3 @@
Source: botan Source: botan
Version: 2.8.0 Version: 2.9.0
Description: A cryptography library written in C++11 Description: A cryptography library written in C++11

View File

@ -1,12 +1,12 @@
include(vcpkg_common_functions) include(vcpkg_common_functions)
set(BOTAN_VERSION 2.8.0) set(BOTAN_VERSION 2.9.0)
vcpkg_from_github( vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH OUT_SOURCE_PATH SOURCE_PATH
REPO randombit/botan REPO randombit/botan
REF cb14e9ce95bcaae2ada7ffe96ef0cce6a2b38593 REF 0129d3172ec419beb90a2b3487f6385a35da0742
SHA512 3d8fbf1c65e2b0259f225db46ffa4a7eb989a518b230574e94f82dc13afd7dc32cfe6a8a0127e7dd0dea30e06f3946db78db50e107937382eff8ed823e996dc3 SHA512 a8328df5ad2693a96935d1d2202ddd6678a5ba9c63a8159acbe56f1c884fa5faaa71339e8f56284cfd00574a9b4f91bdb1fb22c36c8e899d9b4cbe881f4867d3
HEAD_REF master HEAD_REF master
) )

View File

@ -1,4 +1,4 @@
Source: caf Source: caf
Version: 0.15.7 Version: 0.16.2
Build-Depends: openssl Build-Depends: openssl
Description: an open source C++11 actor model implementation featuring lightweight & fast actor implementations, pattern matching for messages, network transparent messaging, and more. Description: an open source C++11 actor model implementation featuring lightweight & fast actor implementations, pattern matching for messages, network transparent messaging, and more.

View File

@ -1,14 +1,14 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt
index a7b75f7..794af1d 100644 index 2d908e8..d270297 100644
--- a/CMakeLists.txt --- a/CMakeLists.txt
+++ b/CMakeLists.txt +++ b/CMakeLists.txt
@@ -545,6 +545,9 @@ if(NOT CAF_NO_OPENSSL) @@ -495,6 +495,9 @@ if(NOT CAF_NO_OPENSSL)
message(STATUS message(STATUS
"Disable OpenSSL. Required >= 1.0.1 due to TLSv1.2 support.") "Disable OpenSSL. Required >= 1.0.1 due to TLSv1.2 support.")
set(CAF_NO_OPENSSL yes) set(CAF_NO_OPENSSL yes)
+ elseif(CAF_OPENSSL_VERSION_OVERRIDE) + elseif(CAF_OPENSSL_VERSION_OVERRIDE)
+ include_directories(BEFORE ${OPENSSL_INCLUDE_DIR}) + include_directories(BEFORE ${OPENSSL_INCLUDE_DIR})
+ add_optional_caf_lib(openssl) + add_optional_caf_lib(openssl)
else() else()
# Check if openssl headers and library versions match if(NOT CMAKE_CROSSCOMPILING)
set(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES}) # Check if openssl headers and library versions match

View File

@ -8,14 +8,11 @@ endif()
vcpkg_from_github( vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH OUT_SOURCE_PATH SOURCE_PATH
REPO actor-framework/actor-framework REPO actor-framework/actor-framework
REF 0.15.7 REF 2cc4377715afc3d3c35848f9d59b9e6876afd875
SHA512 ff0fa205ad71677b84fa09a2e6ce6bb6d1bc9b790bbbc3ac51505467402ff61a218528004212efa2063c798cc512972d318a2c9423067ee51cef719de2b6b186 SHA512 7e7962bf5a30122bde8be63f6de0058f865bd890e2d10f4d90f4885b7953467fb6532f69c1a77a35802de7c531f6aac192a2993b53a8dc0b05f503c3f4083a31
HEAD_REF master HEAD_REF master
) PATCHES
openssl-version-override.patch
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES ${CMAKE_CURRENT_LIST_DIR}/openssl-version-override.patch
) )
vcpkg_configure_cmake( vcpkg_configure_cmake(

View File

@ -160,6 +160,7 @@ endif()
set(CMAKE_DEBUG_POSTFIX "d") set(CMAKE_DEBUG_POSTFIX "d")
find_package(Threads REQUIRED)
find_package(ZLIB REQUIRED) find_package(ZLIB REQUIRED)
find_package(PNG REQUIRED) find_package(PNG REQUIRED)
find_package(Freetype REQUIRED) find_package(Freetype REQUIRED)
@ -176,7 +177,7 @@ add_definitions(
-DHAVE_FT_GET_X11_FONT_FORMAT=1) -DHAVE_FT_GET_X11_FONT_FORMAT=1)
# additional features for macOS # additional features for macOS
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") if((CMAKE_SYSTEM_NAME STREQUAL "Darwin") OR (CMAKE_SYSTEM_NAME STREQUAL "Linux"))
add_definitions( add_definitions(
-DHAVE_INTTYPES_H=1 -DHAVE_INTTYPES_H=1
-DHAVE_STDINT_H=1 -DHAVE_STDINT_H=1

View File

@ -1,4 +1,4 @@
Source: cairo Source: cairo
Version: 1.15.8-3 Version: 1.15.8-4
Description: Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB. Description: Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
Build-Depends: zlib, libpng, pixman, glib, freetype, fontconfig Build-Depends: zlib, libpng, pixman, glib, freetype, fontconfig

View File

@ -1,3 +1,3 @@
Source: celero Source: celero
Version: 2.4.0 Version: 2.4.0-1
Description: Celero is a modern cross-platform (Windows, Linux, MacOS) Microbenchmarking library for C++. Description: Celero is a modern cross-platform (Windows, Linux, MacOS) Microbenchmarking library for C++.

View File

@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github( vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH OUT_SOURCE_PATH SOURCE_PATH
REPO DigitalInBlue/Celero REPO DigitalInBlue/Celero
REF v2.4.0 REF 9f41c21e35b04d7d65dcb0aff4c962f6e5f2cbc3
SHA512 4ba9f26bcda85bea00de27a6e8166f874f2c3852f74c54c089373caf71e1c066ac771fda73799d84c4c7a20986a71fd7a3b101b7b8972b9797ab3e8ed7918c30 SHA512 62a4803e61cf9e876c09cc68be07d4bfa31f291d3ced23e092347bf43b48086b3ba7862fc454082f42263d9ec0c260e8ba58da5c0c461ebff9c871209784e2a7
HEAD_REF master HEAD_REF master
) )

View File

@ -0,0 +1,15 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 80b7d17..6ab78e2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -15,6 +15,10 @@ set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
+# When compiling a Windows DLL export all symbols, just like Unix shared
+# objects do.
+set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
+
# https://github.com/izenecloud/cmake/blob/master/SetCompilerWarningAll.cmake
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
# Use the highest warning level for Visual Studio.

View File

@ -1,3 +1,3 @@
Source: crc32c Source: crc32c
Version: 1.0.5-1 Version: 1.0.6-1
Description: CRC32C implementation with support for CPU-specific acceleration instructions. Description: CRC32C implementation with support for CPU-specific acceleration instructions.

View File

@ -1,13 +1,12 @@
include(vcpkg_common_functions) include(vcpkg_common_functions)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github( vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH OUT_SOURCE_PATH SOURCE_PATH
REPO google/crc32c REPO google/crc32c
REF 12a65bfb328fefae5c05879132676f702a3f68e8 REF 1.0.6
SHA512 610b7c54b0247edd2d37ec18db68c1f8a55b60b2fd3ddcede41e6321eb45d040f513cece493cbdc67e881065a643c4972126864811ff08b24aa7e82642e54f56 SHA512 c30f6510d6348f15dcdddc06e375f21a69681cd615483d67628b32de747e5e98200fa49faf7e3fc30a1302991fd1f9c9a706c9eb4e13c9c6c09e74066474ea7b
HEAD_REF master HEAD_REF master
PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001_export_symbols.patch
) )
vcpkg_configure_cmake( vcpkg_configure_cmake(

View File

@ -1,3 +1,3 @@
Source: docopt Source: docopt
Version: 2018-04-16-2 Version: 2018-11-01
Description: Command line arguments parser that will make you smile (C++11 port). Description: Command line arguments parser that will make you smile (C++11 port).

View File

@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github( vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH OUT_SOURCE_PATH SOURCE_PATH
REPO docopt/docopt.cpp REPO docopt/docopt.cpp
REF 4f491249e6def236937dbfac7602852e7d99aff8 REF 7476f8e56b4650aaeafb4e1cda2e5d8f01fddd97
SHA512 d3a61f8d8a8c11723064f3405f03eb838a2ac9aa574f86771b1db89a2dd81996b639215fe5d4465343b893bf71502da178c7af8d883c112c1e45f43c17d473b7 SHA512 6765e8a3a834ad75bd87effee5ac7e174482039d26015346b95d7d64e4e0097cc3f1f2e6fd9e3e5970bf4c5719095c0a3e5edfac18217913dc88fbe569d37ae8
HEAD_REF master HEAD_REF master
PATCHES PATCHES
001-fix-unresolved-symbol.patch 001-fix-unresolved-symbol.patch

View File

@ -1,5 +1,5 @@
Source: ffmpeg Source: ffmpeg
Version: 3.3.3-5 Version: 4.1
Description: a library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. Description: a library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created.
FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations. FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations.

View File

@ -1,9 +1,9 @@
include(vcpkg_common_functions) include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/ffmpeg-3.3.3) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/ffmpeg-4.1)
vcpkg_download_distfile(ARCHIVE vcpkg_download_distfile(ARCHIVE
URLS "http://ffmpeg.org/releases/ffmpeg-3.3.3.tar.bz2" URLS "http://ffmpeg.org/releases/ffmpeg-4.1.tar.bz2"
FILENAME "ffmpeg-3.3.3.tar.bz2" FILENAME "ffmpeg-4.1.tar.bz2"
SHA512 1cc63bf73356f4e618c0d3572a216bdf5689f10deff56b4262f6d740b0bee5a4b3eac234f45fca3d4d2da77903a507b4fba725b76d2d2070f31b6dae9e7a2dab SHA512 ccf6d07268dc47e08ca619eb182a003face2a8ee73ec1a28157330dd7de1df88939def1fc1c7e6b6ac7b59752cdad84657d589b2fafb73e14e5ef03fb6e33417
) )
if (${SOURCE_PATH} MATCHES " ") if (${SOURCE_PATH} MATCHES " ")
@ -59,12 +59,6 @@ else()
set(OPTIONS "${OPTIONS} --disable-ffplay") set(OPTIONS "${OPTIONS} --disable-ffplay")
endif() endif()
if("ffserver" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-ffserver")
else()
set(OPTIONS "${OPTIONS} --disable-ffserver")
endif()
if("ffprobe" IN_LIST FEATURES) if("ffprobe" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-ffprobe") set(OPTIONS "${OPTIONS} --enable-ffprobe")
else() else()

View File

@ -0,0 +1,26 @@
From b56270d28a59297518e91f85333a2e1a7fecdc9e Mon Sep 17 00:00:00 2001
From: Juha Sointusalo <juha.sointusalo@gmail.com>
Date: Thu, 13 Dec 2018 21:38:23 +0200
Subject: [PATCH] fix building DLL on Windows
Without FTGL_LIBRARY all symbols are declared to be imported instead of
exported and linking the library fails.
---
CMakeLists.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d6c5a57..6b230ce 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -27,6 +27,7 @@ ENDIF(NOT CMAKE_BUILD_TYPE)
OPTION(BUILD_SHARED_LIBS "Build Shared Libraries" ON)
IF(BUILD_SHARED_LIBS)
SET(LIB_TYPE SHARED)
+ ADD_DEFINITIONS(-DFTGL_LIBRARY)
ELSE(BUILD_SHARED_LIBS)
SET(LIB_TYPE STATIC)
ADD_DEFINITIONS(-D FTGL_LIBRARY_STATIC)
--
2.18.0.windows.1

6
ports/ftgl/CONTROL Normal file
View File

@ -0,0 +1,6 @@
Source: ftgl
Version: 2.3.1
Description: FTGL is a free open source library to enable developers to use arbitrary fonts in their OpenGL (www.opengl.org) applications.
Unlike other OpenGL font libraries FTGL uses standard font file formats so doesn't need a preprocessing step to convert the high quality font data into a lesser quality, proprietary format.
FTGL uses the Freetype (www.freetype.org) font library to open and 'decode' the fonts. It then takes that output and stores it in a format most efficient for OpenGL rendering.
Build-Depends: freetype, opengl

24
ports/ftgl/portfile.cmake Normal file
View File

@ -0,0 +1,24 @@
include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO frankheckenbach/ftgl
REF 2.3.1
SHA512 4c3c92e79371aa9048a0de6c27bd008036be19fe6179bce472f36ced359026aaeaa5b63c83f90ffc1d425dd2e587479efc700dc1082c2ed0189d16ea87838c9a
HEAD_REF master
PATCHES "0001-fix-building-DLL-on-Windows.patch"
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
)
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
vcpkg_test_cmake(PACKAGE_NAME FTGL)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/ftgl)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/ftgl/COPYING ${CURRENT_PACKAGES_DIR}/share/ftgl/copyright)

View File

@ -1,3 +1,3 @@
Source: geos Source: geos
Version: 3.6.3-2 Version: 3.6.3-3
Description: Geometry Engine Open Source Description: Geometry Engine Open Source

View File

@ -26,6 +26,10 @@ vcpkg_configure_cmake(
) )
vcpkg_install_cmake() vcpkg_install_cmake()
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
if(EXISTS ${CURRENT_PACKAGES_DIR}/bin/geos-config) if(EXISTS ${CURRENT_PACKAGES_DIR}/bin/geos-config)

View File

@ -1,3 +1,3 @@
Source: glbinding Source: glbinding
Version: 3.0.2-3 Version: 3.0.2-4
Description: glbinding is an MIT licensed, cross-platform C++ binding for the OpenGL API Description: glbinding is an MIT licensed, cross-platform C++ binding for the OpenGL API

View File

@ -2,8 +2,8 @@ include(vcpkg_common_functions)
vcpkg_from_github( vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH OUT_SOURCE_PATH SOURCE_PATH
REPO cginternals/glbinding REPO cginternals/glbinding
REF v3.0.2 REF d7a1873ad741fb13a9c6dcbae93d0cda45a11933
SHA512 524ad20a11af7d8ee1764f53326b43efb3b3dbd6c64d1539f4d9fa2bcb7b58a6bd6caf460d6944aed4fd7439b82536d8f28a0f0f51c14c62c2f0c73baab9afcb SHA512 70848d8ddad3e2ddfc54549ed3cdde569991858135140b30b50fa6e92c5aec6e3dd235418e091456f9b68da2fad09fbef117dedac7b48c26bcab62b6f0fa791f
HEAD_REF master HEAD_REF master
PATCHES force-system-install.patch PATCHES force-system-install.patch
) )

View File

@ -1,3 +1,3 @@
Source: graphqlparser Source: graphqlparser
Version: v0.7.0 Version: 0.7.0
Description: A GraphQL query parser in C++ with C and C++ APIs Description: A GraphQL query parser in C++ with C and C++ APIs

View File

@ -1,15 +1,3 @@
# Common Ambient Variables:
# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
# PORT = current port name (zlib, etc)
# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
#
include(vcpkg_common_functions) include(vcpkg_common_functions)
vcpkg_from_github( vcpkg_from_github(
@ -18,7 +6,7 @@ vcpkg_from_github(
REF v0.7.0 REF v0.7.0
SHA512 973292b164d0d2cfe453a2f01559dbdb1b9d22b6304f6a3aabf71e2c0a3e24ab69dfd72a086764ad5befecf0005620f8e86f552dacc324f9615a05f31de7cede SHA512 973292b164d0d2cfe453a2f01559dbdb1b9d22b6304f6a3aabf71e2c0a3e24ab69dfd72a086764ad5befecf0005620f8e86f552dacc324f9615a05f31de7cede
HEAD_REF master HEAD_REF master
PATCHES ${CMAKE_CURRENT_LIST_DIR}/win-cmake.patch PATCHES win-cmake.patch
) )
if(UNIX) if(UNIX)
@ -28,7 +16,7 @@ if(UNIX)
) )
elseif(WIN32) elseif(WIN32)
vcpkg_find_acquire_program(PYTHON2) vcpkg_find_acquire_program(PYTHON2)
vcpkg_find_acquire_program(FLEX) vcpkg_find_acquire_program(FLEX) #
vcpkg_find_acquire_program(BISON) vcpkg_find_acquire_program(BISON)
get_filename_component(VCPKG_DOWNLOADS_PYTHON2_DIR "${PYTHON2}" DIRECTORY) get_filename_component(VCPKG_DOWNLOADS_PYTHON2_DIR "${PYTHON2}" DIRECTORY)
@ -47,5 +35,7 @@ endif()
vcpkg_install_cmake() vcpkg_install_cmake()
vcpkg_copy_pdbs()
# Handle copyright # Handle copyright
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/graphqlparser RENAME copyright) configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/graphqlparser/copyright COPYONLY)

View File

@ -1,8 +1,8 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt
index c4c8b3e..f19cda3 100644 index c4c8b3e..3373d82 100644
--- a/CMakeLists.txt --- a/CMakeLists.txt
+++ b/CMakeLists.txt +++ b/CMakeLists.txt
@@ -3,16 +3,37 @@ PROJECT(libgraphqlparser C CXX) @@ -3,9 +3,26 @@ PROJECT(libgraphqlparser C CXX)
SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" "${CMAKE_MODULE_PATH}") SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" "${CMAKE_MODULE_PATH}")
@ -31,19 +31,7 @@ index c4c8b3e..f19cda3 100644
FIND_PACKAGE(PythonInterp 2 REQUIRED) FIND_PACKAGE(PythonInterp 2 REQUIRED)
IF (NOT PYTHON_VERSION_MAJOR EQUAL 2) IF (NOT PYTHON_VERSION_MAJOR EQUAL 2)
MESSAGE(FATAL_ERROR "Python 2 is required.") @@ -21,7 +38,7 @@ IF (BISON_FOUND)
ENDIF()
-FIND_PROGRAM(CTYPESGEN_FOUND ctypesgen.py)
+IF(UNIX)
+ SET(FLEX_COMPILE_FLAGS "--header-file=lexer.h")
+ELSEIF(WIN32)
+ SET(FLEX_COMPILE_FLAGS "--header-file=lexer.h --wincompat")
+ENDIF()
FIND_PACKAGE(BISON 3)
FIND_PACKAGE(FLEX)
@@ -21,7 +42,7 @@ IF (BISON_FOUND)
ENDIF() ENDIF()
IF(FLEX_FOUND) IF(FLEX_FOUND)
@ -52,20 +40,27 @@ index c4c8b3e..f19cda3 100644
IF (BISON_FOUND) IF (BISON_FOUND)
ADD_FLEX_BISON_DEPENDENCY(GraphQLScanner graphqlparser) ADD_FLEX_BISON_DEPENDENCY(GraphQLScanner graphqlparser)
ENDIF() ENDIF()
@@ -83,11 +104,8 @@ GENERATE_AST_FILE(cxx_json_visitor_header JsonVisitor.h.inc) @@ -31,7 +48,7 @@ FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/c)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
GENERATE_AST_FILE(cxx_json_visitor_impl JsonVisitor.cpp.inc) -ADD_LIBRARY(graphqlparser SHARED
+ADD_LIBRARY(graphqlparser
JsonVisitor.cpp
${CMAKE_CURRENT_BINARY_DIR}/Ast.h
${CMAKE_CURRENT_BINARY_DIR}/Ast.cpp
@@ -87,7 +104,9 @@ ADD_SUBDIRECTORY(python)
-ADD_SUBDIRECTORY(python) OPTION(test "Build tests." OFF)
-
-OPTION(test "Build tests." OFF) -INSTALL(DIRECTORY c ${CMAKE_CURRENT_BINARY_DIR}/c DESTINATION include/graphqlparser
- +INSTALL(DIRECTORY c ${CMAKE_CURRENT_BINARY_DIR}/c
INSTALL(DIRECTORY c ${CMAKE_CURRENT_BINARY_DIR}/c DESTINATION include/graphqlparser + DESTINATION include/graphqlparser
+ CONFIGURATIONS Release + CONFIGURATIONS Release
FILES_MATCHING PATTERN "*.h" FILES_MATCHING PATTERN "*.h"
PATTERN "build" EXCLUDE) PATTERN "build" EXCLUDE)
@@ -103,9 +121,12 @@ INSTALL(FILES @@ -103,9 +122,13 @@ INSTALL(FILES
position.hh position.hh
stack.hh stack.hh
syntaxdefs.h syntaxdefs.h
@ -75,12 +70,13 @@ index c4c8b3e..f19cda3 100644
+ +
INSTALL(TARGETS graphqlparser INSTALL(TARGETS graphqlparser
- LIBRARY DESTINATION lib) - LIBRARY DESTINATION lib)
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib + LIBRARY DESTINATION lib
+ RUNTIME DESTINATION bin) + RUNTIME DESTINATION bin)
if (UNIX) if (UNIX)
# generate pkgconfig file # generate pkgconfig file
@@ -116,16 +137,9 @@ if (UNIX) @@ -116,6 +139,11 @@ if (UNIX)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libgraphqlparser.pc" install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libgraphqlparser.pc"
DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig") DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
endif() endif()
@ -90,15 +86,15 @@ index c4c8b3e..f19cda3 100644
+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/graphqlparser.pdb + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/graphqlparser.pdb
+ DESTINATION bin) + DESTINATION bin)
endif() endif()
IF (test)
@@ -126,6 +154,8 @@ IF (test)
ADD_CUSTOM_TARGET(memcheck
valgrind --leak-check=full --suppressions=./test/valgrind.supp --dsymutil=yes --error-exitcode=1 ./test/runTests >/dev/null
)
+ else()
+ ADD_CUSTOM_TARGET(runTests
+ ./test/runTests >/dev/null)
endif()
- -
-IF (test) ENDIF()
- ADD_SUBDIRECTORY(test)
-
- if(UNIX)
- # setup valgrind
- ADD_CUSTOM_TARGET(memcheck
- valgrind --leak-check=full --suppressions=./test/valgrind.supp --dsymutil=yes --error-exitcode=1 ./test/runTests >/dev/null
- )
- endif()
-
-ENDIF()

View File

@ -1,4 +1,4 @@
Source: grpc Source: grpc
Version: 1.14.1 Version: 1.17.1
Build-Depends: zlib, openssl, protobuf, c-ares (!uwp) Build-Depends: zlib, openssl, protobuf, c-ares (!uwp)
Description: An RPC library and framework Description: An RPC library and framework

View File

@ -1,109 +1,148 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt
index a59fd818e3..774ee2f725 100644 index b39e6f8..5d35293 100644
--- a/CMakeLists.txt --- a/CMakeLists.txt
+++ b/CMakeLists.txt +++ b/CMakeLists.txt
@@ -89,6 +89,9 @@ if(UNIX) @@ -90,6 +90,9 @@ if(UNIX)
endif() endif()
if(WIN32) if(WIN32)
set(_gRPC_PLATFORM_WINDOWS ON) set(_gRPC_PLATFORM_WINDOWS ON)
+ if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ set(_gRPC_PLATFORM_UWP ON) + set(_gRPC_PLATFORM_UWP ON)
+ endif() + endif()
endif() endif()
set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
@@ -155,6 +158,10 @@ file(MAKE_DIRECTORY ${_gRPC_PROTO_GENS_DIR}) @@ -107,6 +110,9 @@ if (MSVC)
# ``.proto`` files add_definitions(/wd4267)
# # TODO(jtattermusch): needed to build boringssl with VS2017, revisit later
function(protobuf_generate_grpc_cpp) add_definitions(/wd4987 /wd4774 /wd4819 /wd4996 /wd4619)
+ if(_gRPC_PLATFORM_UWP) + if(_gRPC_PLATFORM_UWP)
+ return() + add_definitions(-DGRPC_ARES=0)
+ endif() + endif()
+ endif()
if(NOT ARGN)
message(SEND_ERROR "Error: PROTOBUF_GENERATE_GRPC_CPP() called without any proto files") if (gRPC_USE_PROTO_LITE)
return() @@ -177,6 +183,10 @@ file(MAKE_DIRECTORY ${_gRPC_PROTO_GENS_DIR})
@@ -189,6 +196,7 @@ function(protobuf_generate_grpc_cpp) # ``.proto`` files
endforeach() #
endfunction() function(protobuf_generate_grpc_cpp)
+ if(_gRPC_PLATFORM_UWP)
+if(NOT _gRPC_PLATFORM_UWP) + return()
add_custom_target(plugins + endif()
DEPENDS +
grpc_cpp_plugin if(NOT ARGN)
@@ -218,6 +226,8 @@ add_custom_target(tools_cxx message(SEND_ERROR "Error: PROTOBUF_GENERATE_GRPC_CPP() called without any proto files")
add_custom_target(tools return()
DEPENDS tools_c tools_cxx) @@ -211,6 +221,7 @@ function(protobuf_generate_grpc_cpp)
endforeach()
+endif() endfunction()
+
if (gRPC_BUILD_TESTS) +if(NOT _gRPC_PLATFORM_UWP)
add_custom_target(buildtests_c) add_custom_target(plugins
add_dependencies(buildtests_c algorithm_test) DEPENDS
@@ -3661,7 +3671,6 @@ foreach(_hdr grpc_cpp_plugin
DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}" @@ -240,6 +251,8 @@ add_custom_target(tools_cxx
) add_custom_target(tools
endforeach() DEPENDS tools_c tools_cxx)
-endif (gRPC_BUILD_CODEGEN)
+endif()
+
if (gRPC_INSTALL) if (gRPC_BUILD_TESTS)
@@ -3671,6 +3680,7 @@ if (gRPC_INSTALL) add_custom_target(buildtests_c)
ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} add_dependencies(buildtests_c algorithm_test)
) @@ -3805,7 +3818,6 @@ foreach(_hdr
endif() DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
+endif (gRPC_BUILD_CODEGEN) )
endforeach()
if (gRPC_BUILD_TESTS) -endif (gRPC_BUILD_CODEGEN)
@@ -3793,7 +3803,7 @@ foreach(_hdr
DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}" if (gRPC_INSTALL)
) @@ -3815,6 +3827,7 @@ if (gRPC_INSTALL)
endforeach() ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
-endif (gRPC_BUILD_CODEGEN) )
+ endif()
+endif (gRPC_BUILD_CODEGEN)
if (gRPC_INSTALL) if (gRPC_BUILD_TESTS)
@@ -3803,6 +3813,7 @@ if (gRPC_INSTALL)
ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} @@ -3935,7 +3948,7 @@ foreach(_hdr
) DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
endif() )
+endif (gRPC_BUILD_CODEGEN) endforeach()
-endif (gRPC_BUILD_CODEGEN)
if (gRPC_BUILD_TESTS) +
diff --git a/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc b/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc
index 55efe0e9dd..f538f26edf 100644 if (gRPC_INSTALL)
--- a/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc @@ -3945,6 +3958,7 @@ if (gRPC_INSTALL)
+++ b/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
@@ -60,6 +60,8 @@ bool check_bios_data(const char* bios_data_file) { )
endif()
static void init_mu(void) { gpr_mu_init(&g_mu); } +endif (gRPC_BUILD_CODEGEN)
+#if !defined(WINAPI_FAMILY) || WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP if (gRPC_BUILD_TESTS)
+
static bool run_powershell() { @@ -4916,7 +4930,6 @@ foreach(_hdr
SECURITY_ATTRIBUTES sa; DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}"
sa.nLength = sizeof(sa); )
@@ -97,8 +99,12 @@ static bool run_powershell() { endforeach()
CloseHandle(h); -endif (gRPC_BUILD_CODEGEN)
return true;
}
+#endif if (gRPC_INSTALL)
@@ -4926,6 +4939,7 @@ if (gRPC_INSTALL)
bool grpc_alts_is_running_on_gcp() { ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
+#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP) )
+ g_is_on_compute_engine = false; endif()
+#else +endif (gRPC_BUILD_CODEGEN)
gpr_once_init(&g_once, init_mu);
gpr_mu_lock(&g_mu); if (gRPC_BUILD_TESTS)
if (!g_compute_engine_detection_done) {
@@ -108,6 +114,7 @@ bool grpc_alts_is_running_on_gcp() { diff --git a/src/core/lib/iomgr/resource_quota.cc b/src/core/lib/iomgr/resource_quota.cc
g_compute_engine_detection_done = true; index 7e4b3c9..da67bde 100644
} --- a/src/core/lib/iomgr/resource_quota.cc
gpr_mu_unlock(&g_mu); +++ b/src/core/lib/iomgr/resource_quota.cc
+#endif @@ -936,7 +936,7 @@ void grpc_resource_user_alloc(grpc_resource_user* resource_user, size_t size,
return g_is_on_compute_engine; void grpc_resource_user_free(grpc_resource_user* resource_user, size_t size) {
} gpr_mu_lock(&resource_user->mu);
grpc_resource_quota* resource_quota = resource_user->resource_quota;
- gpr_atm prior = gpr_atm_no_barrier_fetch_add(&resource_quota->used, -size);
+ gpr_atm prior = gpr_atm_no_barrier_fetch_add(&resource_quota->used, -static_cast<gpr_atm>(size));
GPR_ASSERT(prior >= static_cast<long>(size));
bool was_zero_or_negative = resource_user->free_pool <= 0;
resource_user->free_pool += static_cast<int64_t>(size);
diff --git a/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc b/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc
index 55efe0e..f538f26 100644
--- a/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc
+++ b/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc
@@ -60,6 +60,8 @@ bool check_bios_data(const char* bios_data_file) {
static void init_mu(void) { gpr_mu_init(&g_mu); }
+#if !defined(WINAPI_FAMILY) || WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP
+
static bool run_powershell() {
SECURITY_ATTRIBUTES sa;
sa.nLength = sizeof(sa);
@@ -97,8 +99,12 @@ static bool run_powershell() {
CloseHandle(h);
return true;
}
+#endif
bool grpc_alts_is_running_on_gcp() {
+#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP)
+ g_is_on_compute_engine = false;
+#else
gpr_once_init(&g_once, init_mu);
gpr_mu_lock(&g_mu);
if (!g_compute_engine_detection_done) {
@@ -108,6 +114,7 @@ bool grpc_alts_is_running_on_gcp() {
g_compute_engine_detection_done = true;
}
gpr_mu_unlock(&g_mu);
+#endif
return g_is_on_compute_engine;
}

View File

@ -11,8 +11,8 @@ endif()
vcpkg_from_github( vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH OUT_SOURCE_PATH SOURCE_PATH
REPO grpc/grpc REPO grpc/grpc
REF v1.14.1 REF v1.17.1
SHA512 f0e4fe9777ebc3316a85cb581edad19fef785cdcd2859b1dc54bf7407aa2ba804718973661595e318ea62463620f30ca828e5d7638798cca154af5e1d456ed1e SHA512 45ba731fd4d1bc3cf590511e53ea6a73de6970f4bb379eb0ef90d550cdc13358f673ead8c6877c02c71dccdba914ad4765c58e173e0dd7895b5d25ebbad38e8e
HEAD_REF master HEAD_REF master
PATCHES fix-uwp.patch PATCHES fix-uwp.patch
) )
@ -81,3 +81,4 @@ SET(VCPKG_POLICY_EMPTY_PACKAGE enabled)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
vcpkg_copy_pdbs() vcpkg_copy_pdbs()
##

View File

@ -1,5 +1,5 @@
Source: harfbuzz Source: harfbuzz
Version: 1.8.4-2 Version: 1.8.4-3
Description: HarfBuzz OpenType text shaping engine Description: HarfBuzz OpenType text shaping engine
Build-Depends: freetype, ragel Build-Depends: freetype, ragel
Default-Features: ucdn Default-Features: ucdn

View File

@ -1,8 +1,8 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3c52731..8305f27 100644 index 2d6e77e8..36e4b4e6 100644
--- a/CMakeLists.txt --- a/CMakeLists.txt
+++ b/CMakeLists.txt +++ b/CMakeLists.txt
@@ -314,22 +314,12 @@ endif () @@ -306,22 +306,14 @@ endif ()
if (HB_HAVE_GLIB) if (HB_HAVE_GLIB)
add_definitions(-DHAVE_GLIB) add_definitions(-DHAVE_GLIB)
@ -15,6 +15,8 @@ index 3c52731..8305f27 100644
- find_path(GLIB_INCLUDE_DIR NAMES glib.h HINTS ${PC_GLIB_INCLUDEDIR} ${PC_GLIB_INCLUDE_DIRS} PATH_SUFFIXES glib-2.0) - find_path(GLIB_INCLUDE_DIR NAMES glib.h HINTS ${PC_GLIB_INCLUDEDIR} ${PC_GLIB_INCLUDE_DIRS} PATH_SUFFIXES glib-2.0)
- -
- include_directories(${GLIBCONFIG_INCLUDE_DIR} ${GLIB_INCLUDE_DIR}) - include_directories(${GLIBCONFIG_INCLUDE_DIR} ${GLIB_INCLUDE_DIR})
+ find_package(Threads REQUIRED)
+ find_package(unofficial-iconv REQUIRED)
+ find_package(unofficial-glib CONFIG REQUIRED) + find_package(unofficial-glib CONFIG REQUIRED)
list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-glib.cc) list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-glib.cc)

View File

@ -1,4 +1,8 @@
Source: itk Source: itk
Version: 4.13.0 Version: 4.13.0
Description: Insight Segmentation and Registration Toolkit (ITK) is used for image processing and analysis. Description: Insight Segmentation and Registration Toolkit (ITK) is used for image processing and analysis.
Build-Depends: double-conversion, libjpeg-turbo, zlib, libpng, tiff, expat Build-Depends: double-conversion, libjpeg-turbo, zlib, libpng, tiff, expat, hdf5[cpp]
Feature: vtk
Description: Build ITKVtkGlue module.
Build-Depends: vtk

View File

@ -8,9 +8,19 @@ vcpkg_from_github(
HEAD_REF master HEAD_REF master
) )
if ("vtk" IN_LIST FEATURES)
set(ITKVtkGlue ON )
else()
set(ITKVtkGlue OFF )
endif()
# directory path length needs to be shorter than 50 characters # directory path length needs to be shorter than 50 characters
file(RENAME ${SOURCE_PATH} ${CURRENT_BUILDTREES_DIR}/ITK) set(ITK_BUILD_DIR ${CURRENT_BUILDTREES_DIR}/ITK)
set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/ITK") if(EXISTS ${ITK_BUILD_DIR})
file(REMOVE_RECURSE ${ITK_BUILD_DIR})
endif()
file(RENAME ${SOURCE_PATH} ${ITK_BUILD_DIR})
set(SOURCE_PATH "${ITK_BUILD_DIR}")
vcpkg_configure_cmake( vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH} SOURCE_PATH ${SOURCE_PATH}
@ -41,9 +51,9 @@ vcpkg_configure_cmake(
#-DITK_PYTHON_VERSION=3 #-DITK_PYTHON_VERSION=3
# HDF5 must NOT be installed, otherwise it causes: ...\installed\x64-windows-static\include\H5Tpkg.h(25): fatal error C1189: #error: "Do not include this file outside the H5T package!" # HDF5 must NOT be installed, otherwise it causes: ...\installed\x64-windows-static\include\H5Tpkg.h(25): fatal error C1189: #error: "Do not include this file outside the H5T package!"
-DITK_USE_SYSTEM_HDF5=OFF # if ON, causes: ...\buildtrees\itk\x64-windows-static-rel\Modules\ThirdParty\HDF5\src\itk_H5Cpp.h(25): fatal error C1083: Cannot open include file: 'H5Cpp.h': No such file or directory -DITK_USE_SYSTEM_HDF5=ON # if ON, causes: ...\buildtrees\itk\x64-windows-static-rel\Modules\ThirdParty\HDF5\src\itk_H5Cpp.h(25): fatal error C1083: Cannot open include file: 'H5Cpp.h': No such file or directory
# -DModule_ITKVtkGlue=ON # this option requires VTK to be a dependency in CONTROL file. VTK depends on HDF5! -DModule_ITKVtkGlue=${ITKVtkGlue} # this option requires VTK to be a dependency in CONTROL file. VTK depends on HDF5!
-DModule_IOSTL=ON # example how to turn on a non-default module -DModule_IOSTL=ON # example how to turn on a non-default module
-DModule_MorphologicalContourInterpolation=ON # example how to turn on a remote module -DModule_MorphologicalContourInterpolation=ON # example how to turn on a remote module
-DModule_RLEImage=ON # example how to turn on a remote module -DModule_RLEImage=ON # example how to turn on a remote module

3
ports/libcopp/CONTROL Normal file
View File

@ -0,0 +1,3 @@
Source: libcopp
Version: 1.1.0-1
Description: A cross-platfrom coroutine library for C++

View File

@ -0,0 +1,30 @@
include(vcpkg_common_functions)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO owt5008137/libcopp
REF 1.1.0
SHA512 27b444d158281786154830c6e216e701ba0301af1d7a08873b33e27ce3d2db6ddb4753239878633f4c2aed9f759b46f961408a2eb7b50b5d445c3531c1fa9546
HEAD_REF v2
)
# Use libcopp's own build process, skipping examples and tests
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
# PREFER_NINJA # Disabled because Ninja does not invoke masm correctly for this project
)
vcpkg_install_cmake()
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/libcopp)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/libcopp)
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libcopp)
file(COPY ${SOURCE_PATH}/BOOST_LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/libcopp)
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libcopp/copyright)
vcpkg_copy_pdbs()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)

5
ports/libcopp/usage Normal file
View File

@ -0,0 +1,5 @@
The package libcopp provides CMake integration:
find_package(Libcopp CONFIG REQUIRED)
target_include_directories(main PRIVATE ${Libcopp_INCLUDE_DIRS})
target_link_libraries(main PRIVATE ${Libcotask_LIBRARIES} ${Libcopp_LIBRARIES})

View File

@ -60,7 +60,7 @@ else() # Assume some Linux variant
add_library(libuv ${UV_SOURCES_COMMON} ${UV_SOURCES_UNIX} ${UV_SOURCES_LINUX}) add_library(libuv ${UV_SOURCES_COMMON} ${UV_SOURCES_UNIX} ${UV_SOURCES_LINUX})
endif() endif()
target_include_directories(libuv PUBLIC ./include PRIVATE ./src) target_include_directories(libuv PUBLIC $<INSTALL_INTERFACE:include> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>)
set_target_properties(libuv PROPERTIES DEFINE_SYMBOL BUILDING_UV_SHARED) set_target_properties(libuv PROPERTIES DEFINE_SYMBOL BUILDING_UV_SHARED)
if(NOT UV_SKIP_HEADERS) if(NOT UV_SKIP_HEADERS)
@ -71,7 +71,9 @@ if(NOT UV_SKIP_HEADERS)
endif() endif()
install(TARGETS libuv install(TARGETS libuv
EXPORT libuv
RUNTIME DESTINATION bin RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib LIBRARY DESTINATION lib
) )
install(EXPORT libuv FILE unofficial-libuv-targets.cmake NAMESPACE unofficial::libuv:: DESTINATION share/unofficial-libuv)

View File

@ -1,3 +1,3 @@
Source: libuv Source: libuv
Version: 1.24.0 Version: 1.24.0-1
Description: libuv is a multi-platform support library with a focus on asynchronous I/O. Description: libuv is a multi-platform support library with a focus on asynchronous I/O.

View File

@ -18,8 +18,15 @@ vcpkg_configure_cmake(
) )
vcpkg_install_cmake() vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-libuv TARGET_PATH share/unofficial-libuv)
vcpkg_copy_pdbs() vcpkg_copy_pdbs()
configure_file(
${CMAKE_CURRENT_LIST_DIR}/unofficial-libuv-config.in.cmake
${CURRENT_PACKAGES_DIR}/share/unofficial-libuv/unofficial-libuv-config.cmake
@ONLY
)
file(READ ${CURRENT_PACKAGES_DIR}/include/uv.h UV_H) file(READ ${CURRENT_PACKAGES_DIR}/include/uv.h UV_H)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
string(REPLACE "defined(USING_UV_SHARED)" "1" UV_H "${UV_H}") string(REPLACE "defined(USING_UV_SHARED)" "1" UV_H "${UV_H}")

View File

@ -0,0 +1,7 @@
if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static" AND NOT WIN32)
include(CMakeFindDependencyMacro)
find_dependency(Threads)
endif()
include(${CMAKE_CURRENT_LIST_DIR}/unofficial-libuv-targets.cmake)

View File

@ -11,237 +11,240 @@ set(GMP_INCLUDE_DIRS ${GMP_INCLUDE_DIR})
# Sources # Sources
set(SRCS set(SRCS
src/gmp_printf.c src/abort_prec_max.c
src/mpfr.h src/acos.c
src/mpf2mpfr.h src/acosh.c
src/mpfr-gmp.h
src/mpfr-impl.h
src/mpfr-intmax.h
src/mpfr-longlong.h
src/mpfr-thread.h
src/exceptions.c
src/extract.c
src/uceil_exp2.c
src/uceil_log2.c
src/ufloor_log2.c
src/add.c src/add.c
src/add1.c src/add1.c
src/add1sp.c
src/add_d.c
src/add_ui.c src/add_ui.c
src/agm.c src/agm.c
src/ai.c
src/asin.c
src/asinh.c
src/atan.c
src/atan2.c
src/atanh.c
src/bernoulli.c
src/beta.c
src/buildopt.c
src/cache.c
src/cbrt.c
src/check.c
src/clear.c src/clear.c
src/clears.c
src/cmp.c src/cmp.c
src/cmp2.c
src/cmp_abs.c src/cmp_abs.c
src/cmp_d.c
src/cmp_ld.c
src/cmp_si.c src/cmp_si.c
src/cmp_ui.c src/cmp_ui.c
src/comparisons.c src/comparisons.c
src/div_2exp.c src/constant.c
src/div_2si.c src/const_catalan.c
src/div_2ui.c src/const_euler.c
src/const_log2.c
src/const_pi.c
src/copysign.c
src/cos.c
src/cosh.c
src/cot.c
src/coth.c
src/csc.c
src/csch.c
src/digamma.c
src/dim.c
src/div.c src/div.c
src/div_2exp.c
src/div_2si.c
src/div_2ui.c
src/div_d.c
src/div_ui.c src/div_ui.c
src/dump.c src/dump.c
src/d_div.c
src/d_sub.c
src/eint.c
src/eq.c src/eq.c
src/erandom.c
src/erf.c
src/erfc.c
src/exceptions.c
src/exp.c
src/exp10.c src/exp10.c
src/exp2.c src/exp2.c
src/exp3.c src/exp3.c
src/exp.c src/expm1.c
src/exp_2.c
src/extract.c
src/factorial.c
src/fits_intmax.c
src/fits_sint.c
src/fits_slong.c
src/fits_sshort.c
src/fits_uint.c
src/fits_uintmax.c
src/fits_ulong.c
src/fits_ushort.c
src/fma.c
src/fmma.c
src/fms.c
src/frac.c src/frac.c
src/free_cache.c
src/frexp.c src/frexp.c
src/gamma.c
src/gammaonethird.c
src/gamma_inc.c
src/get_d.c src/get_d.c
src/get_d64.c
src/get_exp.c src/get_exp.c
src/get_f.c
src/get_float128.c
src/get_flt.c
src/get_ld.c
src/get_patches.c
src/get_q.c
src/get_si.c
src/get_sj.c
src/get_str.c src/get_str.c
src/get_ui.c
src/get_uj.c
src/get_z.c
src/get_z_exp.c
src/gmp_op.c
src/grandom.c
src/hypot.c
src/init.c src/init.c
src/init2.c
src/inits.c
src/inits2.c
src/inp_str.c src/inp_str.c
src/isinteger.c src/int_ceil_log2.c
src/isinf.c src/isinf.c
src/isinteger.c
src/isnan.c src/isnan.c
src/isnum.c src/isnum.c
src/const_log2.c src/isqrt.c
src/isregular.c
src/iszero.c
src/jn.c
src/li2.c
src/lngamma.c
src/log.c src/log.c
src/log10.c
src/log1p.c
src/log2.c
src/logging.c
src/log_ui.c
src/minmax.c
src/min_prec.c
src/modf.c src/modf.c
src/mpfr-gmp.c
src/mpfr-mini-gmp.c
src/mpn_exp.c
src/mp_clz_tab.c
src/mul.c
src/mulders.c
src/mul_2exp.c src/mul_2exp.c
src/mul_2si.c src/mul_2si.c
src/mul_2ui.c src/mul_2ui.c
src/mul.c src/mul_d.c
src/mul_ui.c src/mul_ui.c
src/neg.c src/neg.c
src/next.c src/next.c
src/nrandom.c
src/odd_p.c
src/out_str.c src/out_str.c
src/printf.c src/pool.c
src/vasprintf.c
src/const_pi.c
src/pow.c src/pow.c
src/powerof2.c
src/pow_si.c src/pow_si.c
src/pow_ui.c src/pow_ui.c
src/pow_z.c
src/printf.c
src/print_raw.c src/print_raw.c
src/print_rnd_mode.c src/print_rnd_mode.c
src/random_deviate.c
src/rec_sqrt.c
src/reldiff.c src/reldiff.c
src/rem1.c
src/rint.c
src/rndna.c
src/root.c
src/round_near_x.c
src/round_p.c
src/round_prec.c src/round_prec.c
src/scale2.c
src/sec.c
src/sech.c
src/set.c src/set.c
src/setmax.c src/setmax.c
src/setmin.c src/setmin.c
src/setsign.c
src/set_d.c src/set_d.c
src/set_d64.c
src/set_dfl_prec.c src/set_dfl_prec.c
src/set_exp.c src/set_exp.c
src/set_rnd.c
src/set_f.c src/set_f.c
src/set_float128.c
src/set_flt.c
src/set_inf.c
src/set_ld.c
src/set_nan.c
src/set_prc_raw.c src/set_prc_raw.c
src/set_prec.c src/set_prec.c
src/set_q.c src/set_q.c
src/set_rnd.c
src/set_si.c src/set_si.c
src/set_si_2exp.c
src/set_sj.c
src/set_str.c src/set_str.c
src/set_str_raw.c src/set_str_raw.c
src/set_ui.c src/set_ui.c
src/set_ui_2exp.c
src/set_uj.c
src/set_z.c src/set_z.c
src/set_zero.c
src/set_z_exp.c
src/sgn.c
src/signbit.c
src/sin.c
src/sinh.c
src/sinh_cosh.c
src/sin_cos.c
src/si_op.c
src/sqr.c
src/sqrt.c src/sqrt.c
src/sqrt_ui.c src/sqrt_ui.c
src/stack_interface.c
src/strtofr.c
src/sub.c src/sub.c
src/sub1.c src/sub1.c
src/sub1sp.c
src/subnormal.c
src/sub_d.c
src/sub_ui.c src/sub_ui.c
src/rint.c src/sum.c
src/swap.c
src/tan.c
src/tanh.c
src/ubf.c
src/uceil_exp2.c
src/uceil_log2.c
src/ufloor_log2.c
src/ui_div.c src/ui_div.c
src/ui_pow.c
src/ui_pow_ui.c
src/ui_sub.c src/ui_sub.c
src/urandom.c src/urandom.c
src/urandomb.c src/urandomb.c
src/get_z_exp.c src/vasprintf.c
src/swap.c
src/factorial.c
src/cosh.c
src/sinh.c
src/tanh.c
src/sinh_cosh.c
src/acosh.c
src/asinh.c
src/atanh.c
src/atan.c
src/cmp2.c
src/exp_2.c
src/asin.c
src/const_euler.c
src/cos.c
src/sin.c
src/tan.c
src/fma.c
src/fms.c
src/hypot.c
src/log1p.c
src/expm1.c
src/log2.c
src/log10.c
src/ui_pow.c
src/ui_pow_ui.c
src/minmax.c
src/dim.c
src/signbit.c
src/copysign.c
src/setsign.c
src/gmp_op.c
src/init2.c
src/acos.c
src/sin_cos.c
src/set_nan.c
src/set_inf.c
src/set_zero.c
src/powerof2.c
src/gamma.c
src/set_ld.c
src/get_ld.c
src/cbrt.c
src/volatile.c
src/fits_s.h
src/fits_sshort.c
src/fits_sint.c
src/fits_slong.c
src/fits_u.h
src/fits_ushort.c
src/fits_uint.c
src/fits_ulong.c
src/fits_uintmax.c
src/fits_intmax.c
src/get_si.c
src/get_ui.c
src/zeta.c
src/cmp_d.c
src/erf.c
src/inits.c
src/inits2.c
src/clears.c
src/sgn.c
src/check.c
src/sub1sp.c
src/version.c src/version.c
src/mpn_exp.c src/volatile.c
src/mpfr-gmp.c
src/mp_clz_tab.c
src/sum.c
src/add1sp.c
src/free_cache.c
src/si_op.c
src/cmp_ld.c
src/set_ui_2exp.c
src/set_si_2exp.c
src/set_uj.c
src/set_sj.c
src/get_sj.c
src/get_uj.c
src/get_z.c
src/iszero.c
src/cache.c
src/sqr.c
src/int_ceil_log2.c
src/isqrt.c
src/strtofr.c
src/pow_z.c
src/logging.c
src/mulders.c
src/get_f.c
src/round_p.c
src/erfc.c
src/atan2.c
src/subnormal.c
src/const_catalan.c
src/root.c
src/gen_inverse.h
src/sec.c
src/csc.c
src/cot.c
src/eint.c
src/sech.c
src/csch.c
src/coth.c
src/round_near_x.c
src/constant.c
src/abort_prec_max.c
src/stack_interface.c
src/lngamma.c
src/zeta_ui.c
src/set_d64.c
src/get_d64.c
src/jn.c
src/yn.c src/yn.c
src/rem1.c src/zeta.c
src/get_patches.c src/zeta_ui.c)
src/add_d.c
src/sub_d.c
src/d_sub.c
src/mul_d.c
src/div_d.c
src/d_div.c
src/li2.c
src/rec_sqrt.c
src/min_prec.c
src/buildopt.c
src/digamma.c
src/bernoulli.c
src/isregular.c
src/set_flt.c
src/get_flt.c
src/scale2.c
src/set_z_exp.c
src/ai.c
src/gammaonethird.c
src/ieee_floats.h
src/grandom.c)
configure_file("src/mparam_h.in" "mparam.h") configure_file("src/mparam_h.in" "mparam.h")
@ -255,6 +258,11 @@ if(BUILD_SHARED_LIBS)
target_compile_definitions(mpfr PRIVATE __GMP_LIBGMP_DLL) target_compile_definitions(mpfr PRIVATE __GMP_LIBGMP_DLL)
endif() endif()
try_compile(I_HAVE_STDARG ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/test_stdarg.c)
if (I_HAVE_STDARG)
target_compile_definitions(mpfr PRIVATE HAVE_STDARG)
endif (I_HAVE_STDARG)
target_link_libraries(mpfr ${GMP_LIBRARIES}) target_link_libraries(mpfr ${GMP_LIBRARIES})
target_include_directories(mpfr PUBLIC ${GMP_INCLUDE_DIRS}) target_include_directories(mpfr PUBLIC ${GMP_INCLUDE_DIRS})

View File

@ -1,4 +1,4 @@
Source: mpfr Source: mpfr
Version: 3.1.6-2 Version: 4.0.1
Description: The MPFR library is a C library for multiple-precision floating-point computations with correct rounding Description: The MPFR library is a C library for multiple-precision floating-point computations with correct rounding
Build-Depends: mpir Build-Depends: mpir

View File

@ -1,6 +0,0 @@
#include <stdio.h>
#include <stdarg.h>
extern int __gmpfr_fprintf(const char *fmt, va_list argp) {
return fprintf(stderr, fmt, argp);
}

View File

@ -1,14 +1,14 @@
include(vcpkg_common_functions) include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mpfr-3.1.6) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mpfr-4.0.1)
vcpkg_download_distfile(ARCHIVE vcpkg_download_distfile(ARCHIVE
URLS "http://www.mpfr.org/mpfr-3.1.6/mpfr-3.1.6.tar.xz" URLS "http://www.mpfr.org/mpfr-4.0.1/mpfr-4.0.1.tar.xz"
FILENAME "mpfr-3.1.6.tar.xz" FILENAME "mpfr-4.0.1.tar.xz"
SHA512 746ee74d5026f267f74ab352d850ed30ff627d530aa840c71b24793e44875f8503946bd7399905dea2b2dd5744326254d7889337fe94cfe58d03c4066e9d8054 SHA512 137ad68bc1e33a155edc1247fcdba27f999cf48ed526773136584090ddf2cfdfc9ea79fbf74ea1943b835b4b1ff29b05087114738c6ad3b485848540f30cac4f
) )
vcpkg_extract_source_archive(${ARCHIVE}) vcpkg_extract_source_archive(${ARCHIVE})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/gmp_printf.c DESTINATION ${SOURCE_PATH}/src) file(COPY ${CMAKE_CURRENT_LIST_DIR}/test_stdarg.c DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake( vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH} SOURCE_PATH ${SOURCE_PATH}

6
ports/mpfr/test_stdarg.c Normal file
View File

@ -0,0 +1,6 @@
# include <stdarg.h>
int main(int argc, char *argv) {
return 0;
}

View File

@ -1,23 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9f4aa71..94edd95 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -201,9 +201,16 @@ endif()
if(NANODBC_INSTALL)
install(FILES src/nanodbc.h DESTINATION include)
if(NANODBC_STATIC)
- install(TARGETS nanodbc ARCHIVE DESTINATION lib)
+ install(
+ TARGETS nanodbc
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib)
else()
- install(TARGETS nanodbc LIBRARY DESTINATION lib)
+ install(
+ TARGETS nanodbc
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib
+ RUNTIME DESTINATION bin)
endif()
message(STATUS "Target install: Turned on")
else()

View File

@ -1,34 +0,0 @@
diff --git a/src/nanodbc.cpp b/src/nanodbc.cpp
index 8e02d4a..2e42b91 100644
--- a/src/nanodbc.cpp
+++ b/src/nanodbc.cpp
@@ -209,10 +209,11 @@ namespace
out = utf_to_utf<char>(in.c_str(), in.c_str() + in.size());
#else
#if defined(_MSC_VER) && (_MSC_VER == 1900)
- // Workaround for confirmed bug in VS2015.
- // See: https://social.msdn.microsoft.com/Forums/en-US/8f40dcd8-c67f-4eba-9134-a19b9178e481/vs-2015-rc-linker-stdcodecvt-error
- auto p = reinterpret_cast<wide_char_t const*>(in.data());
- out = std::wstring_convert<NANODBC_CODECVT_TYPE<wide_char_t>, wide_char_t>().to_bytes(p, p + in.size());
+ // Workaround for confirmed bug in VS2015. See:
+ // https://connect.microsoft.com/VisualStudio/Feedback/Details/1403302
+ // https://social.msdn.microsoft.com/Forums/en-US/8f40dcd8-c67f-4eba-9134-a19b9178e481/vs-2015-rc-linker-stdcodecvt-error
+ auto p = reinterpret_cast<unsigned short const*>(in.data());
+ out = std::wstring_convert<NANODBC_CODECVT_TYPE<unsigned short>, unsigned short>().to_bytes(p, p + in.size());
#else
out = std::wstring_convert<NANODBC_CODECVT_TYPE<wide_char_t>, wide_char_t>().to_bytes(in);
#endif
@@ -226,9 +227,10 @@ namespace
using boost::locale::conv::utf_to_utf;
out = utf_to_utf<wide_char_t>(in.c_str(), in.c_str() + in.size());
#elif defined(_MSC_VER) && (_MSC_VER == 1900)
- // Workaround for confirmed bug in VS2015.
- // See: https://social.msdn.microsoft.com/Forums/en-US/8f40dcd8-c67f-4eba-9134-a19b9178e481/vs-2015-rc-linker-stdcodecvt-error
- auto s = std::wstring_convert<NANODBC_CODECVT_TYPE<wide_char_t>, wide_char_t>().from_bytes(in);
+ // Workaround for confirmed bug in VS2015. See:
+ // https://connect.microsoft.com/VisualStudio/Feedback/Details/1403302
+ // https://social.msdn.microsoft.com/Forums/en-US/8f40dcd8-c67f-4eba-9134-a19b9178e481/vs-2015-rc-linker-stdcodecvt-error
+ auto s = std::wstring_convert<NANODBC_CODECVT_TYPE<unsigned short>, unsigned short>().from_bytes(in);
auto p = reinterpret_cast<wide_char_t const*>(s.data());
out.assign(p, p + s.size());
#else

View File

@ -1,417 +0,0 @@
diff --git a/src/nanodbc.cpp b/src/nanodbc.cpp
index 8e02d4a..0483660 100644
--- a/src/nanodbc.cpp
+++ b/src/nanodbc.cpp
@@ -3253,10 +3253,10 @@ unsigned long statement::parameter_size(short param) const
// We need to instantiate each form of bind() for each of our supported data types.
#define NANODBC_INSTANTIATE_BINDS(type) \
- template void statement::bind(short, const type*, param_direction); /* 1-ary */ \
- template void statement::bind(short, const type*, std::size_t, param_direction); /* n-ary */ \
- template void statement::bind(short, const type*, std::size_t, const type*, param_direction); /* n-ary, sentry */ \
- template void statement::bind(short, const type*, std::size_t, const bool*, param_direction) /* n-ary, flags */ \
+ template NANODBC_API void statement::bind(short, const type*, param_direction); /* 1-ary */ \
+ template NANODBC_API void statement::bind(short, const type*, std::size_t, param_direction); /* n-ary */ \
+ template NANODBC_API void statement::bind(short, const type*, std::size_t, const type*, param_direction); /* n-ary, sentry */ \
+ template NANODBC_API void statement::bind(short, const type*, std::size_t, const bool*, param_direction) /* n-ary, flags */ \
/**/
// The following are the only supported instantiations of statement::bind().
@@ -3875,112 +3875,112 @@ result::operator bool() const
}
// The following are the only supported instantiations of result::get_ref().
-template void result::get_ref(short, string_type::value_type&) const;
-template void result::get_ref(short, short&) const;
-template void result::get_ref(short, unsigned short&) const;
-template void result::get_ref(short, int32_t&) const;
-template void result::get_ref(short, uint32_t&) const;
-template void result::get_ref(short, int64_t&) const;
-template void result::get_ref(short, uint64_t&) const;
-template void result::get_ref(short, float&) const;
-template void result::get_ref(short, double&) const;
-template void result::get_ref(short, string_type&) const;
-template void result::get_ref(short, date&) const;
-template void result::get_ref(short, timestamp&) const;
-
-template void result::get_ref(const string_type&, string_type::value_type&) const;
-template void result::get_ref(const string_type&, short&) const;
-template void result::get_ref(const string_type&, unsigned short&) const;
-template void result::get_ref(const string_type&, int32_t&) const;
-template void result::get_ref(const string_type&, uint32_t&) const;
-template void result::get_ref(const string_type&, int64_t&) const;
-template void result::get_ref(const string_type&, uint64_t&) const;
-template void result::get_ref(const string_type&, float&) const;
-template void result::get_ref(const string_type&, double&) const;
-template void result::get_ref(const string_type&, string_type&) const;
-template void result::get_ref(const string_type&, date&) const;
-template void result::get_ref(const string_type&, timestamp&) const;
+template NANODBC_API void result::get_ref(short, string_type::value_type&) const;
+template NANODBC_API void result::get_ref(short, short&) const;
+template NANODBC_API void result::get_ref(short, unsigned short&) const;
+template NANODBC_API void result::get_ref(short, int32_t&) const;
+template NANODBC_API void result::get_ref(short, uint32_t&) const;
+template NANODBC_API void result::get_ref(short, int64_t&) const;
+template NANODBC_API void result::get_ref(short, uint64_t&) const;
+template NANODBC_API void result::get_ref(short, float&) const;
+template NANODBC_API void result::get_ref(short, double&) const;
+template NANODBC_API void result::get_ref(short, string_type&) const;
+template NANODBC_API void result::get_ref(short, date&) const;
+template NANODBC_API void result::get_ref(short, timestamp&) const;
+
+template NANODBC_API void result::get_ref(const string_type&, string_type::value_type&) const;
+template NANODBC_API void result::get_ref(const string_type&, short&) const;
+template NANODBC_API void result::get_ref(const string_type&, unsigned short&) const;
+template NANODBC_API void result::get_ref(const string_type&, int32_t&) const;
+template NANODBC_API void result::get_ref(const string_type&, uint32_t&) const;
+template NANODBC_API void result::get_ref(const string_type&, int64_t&) const;
+template NANODBC_API void result::get_ref(const string_type&, uint64_t&) const;
+template NANODBC_API void result::get_ref(const string_type&, float&) const;
+template NANODBC_API void result::get_ref(const string_type&, double&) const;
+template NANODBC_API void result::get_ref(const string_type&, string_type&) const;
+template NANODBC_API void result::get_ref(const string_type&, date&) const;
+template NANODBC_API void result::get_ref(const string_type&, timestamp&) const;
// The following are the only supported instantiations of result::get_ref() with fallback.
-template void result::get_ref(short, const string_type::value_type&, string_type::value_type&) const;
-template void result::get_ref(short, const short&, short&) const;
-template void result::get_ref(short, const unsigned short&, unsigned short&) const;
-template void result::get_ref(short, const int32_t&, int32_t&) const;
-template void result::get_ref(short, const uint32_t&, uint32_t&) const;
-template void result::get_ref(short, const int64_t&, int64_t&) const;
-template void result::get_ref(short, const uint64_t&, uint64_t&) const;
-template void result::get_ref(short, const float&, float&) const;
-template void result::get_ref(short, const double&, double&) const;
-template void result::get_ref(short, const string_type&, string_type&) const;
-template void result::get_ref(short, const date&, date&) const;
-template void result::get_ref(short, const timestamp&, timestamp&) const;
-
-template void result::get_ref(const string_type&, const string_type::value_type&, string_type::value_type&) const;
-template void result::get_ref(const string_type&, const short&, short&) const;
-template void result::get_ref(const string_type&, const unsigned short&, unsigned short&) const;
-template void result::get_ref(const string_type&, const int32_t&, int32_t&) const;
-template void result::get_ref(const string_type&, const uint32_t&, uint32_t&) const;
-template void result::get_ref(const string_type&, const int64_t&, int64_t&) const;
-template void result::get_ref(const string_type&, const uint64_t&, uint64_t&) const;
-template void result::get_ref(const string_type&, const float&, float&) const;
-template void result::get_ref(const string_type&, const double&, double&) const;
-template void result::get_ref(const string_type&, const string_type&, string_type&) const;
-template void result::get_ref(const string_type&, const date&, date&) const;
-template void result::get_ref(const string_type&, const timestamp&, timestamp&) const;
+template NANODBC_API void result::get_ref(short, const string_type::value_type&, string_type::value_type&) const;
+template NANODBC_API void result::get_ref(short, const short&, short&) const;
+template NANODBC_API void result::get_ref(short, const unsigned short&, unsigned short&) const;
+template NANODBC_API void result::get_ref(short, const int32_t&, int32_t&) const;
+template NANODBC_API void result::get_ref(short, const uint32_t&, uint32_t&) const;
+template NANODBC_API void result::get_ref(short, const int64_t&, int64_t&) const;
+template NANODBC_API void result::get_ref(short, const uint64_t&, uint64_t&) const;
+template NANODBC_API void result::get_ref(short, const float&, float&) const;
+template NANODBC_API void result::get_ref(short, const double&, double&) const;
+template NANODBC_API void result::get_ref(short, const string_type&, string_type&) const;
+template NANODBC_API void result::get_ref(short, const date&, date&) const;
+template NANODBC_API void result::get_ref(short, const timestamp&, timestamp&) const;
+
+template NANODBC_API void result::get_ref(const string_type&, const string_type::value_type&, string_type::value_type&) const;
+template NANODBC_API void result::get_ref(const string_type&, const short&, short&) const;
+template NANODBC_API void result::get_ref(const string_type&, const unsigned short&, unsigned short&) const;
+template NANODBC_API void result::get_ref(const string_type&, const int32_t&, int32_t&) const;
+template NANODBC_API void result::get_ref(const string_type&, const uint32_t&, uint32_t&) const;
+template NANODBC_API void result::get_ref(const string_type&, const int64_t&, int64_t&) const;
+template NANODBC_API void result::get_ref(const string_type&, const uint64_t&, uint64_t&) const;
+template NANODBC_API void result::get_ref(const string_type&, const float&, float&) const;
+template NANODBC_API void result::get_ref(const string_type&, const double&, double&) const;
+template NANODBC_API void result::get_ref(const string_type&, const string_type&, string_type&) const;
+template NANODBC_API void result::get_ref(const string_type&, const date&, date&) const;
+template NANODBC_API void result::get_ref(const string_type&, const timestamp&, timestamp&) const;
// The following are the only supported instantiations of result::get().
-template string_type::value_type result::get(short) const;
-template short result::get(short) const;
-template unsigned short result::get(short) const;
-template int32_t result::get(short) const;
-template uint32_t result::get(short) const;
-template int64_t result::get(short) const;
-template uint64_t result::get(short) const;
-template float result::get(short) const;
-template double result::get(short) const;
-template string_type result::get(short) const;
-template date result::get(short) const;
-template timestamp result::get(short) const;
-
-template string_type::value_type result::get(const string_type&) const;
-template short result::get(const string_type&) const;
-template unsigned short result::get(const string_type&) const;
-template int32_t result::get(const string_type&) const;
-template uint32_t result::get(const string_type&) const;
-template int64_t result::get(const string_type&) const;
-template uint64_t result::get(const string_type&) const;
-template float result::get(const string_type&) const;
-template double result::get(const string_type&) const;
-template string_type result::get(const string_type&) const;
-template date result::get(const string_type&) const;
-template timestamp result::get(const string_type&) const;
+template NANODBC_API string_type::value_type result::get(short) const;
+template NANODBC_API short result::get(short) const;
+template NANODBC_API unsigned short result::get(short) const;
+template NANODBC_API int32_t result::get(short) const;
+template NANODBC_API uint32_t result::get(short) const;
+template NANODBC_API int64_t result::get(short) const;
+template NANODBC_API uint64_t result::get(short) const;
+template NANODBC_API float result::get(short) const;
+template NANODBC_API double result::get(short) const;
+template NANODBC_API string_type result::get(short) const;
+template NANODBC_API date result::get(short) const;
+template NANODBC_API timestamp result::get(short) const;
+
+template NANODBC_API string_type::value_type result::get(const string_type&) const;
+template NANODBC_API short result::get(const string_type&) const;
+template NANODBC_API unsigned short result::get(const string_type&) const;
+template NANODBC_API int32_t result::get(const string_type&) const;
+template NANODBC_API uint32_t result::get(const string_type&) const;
+template NANODBC_API int64_t result::get(const string_type&) const;
+template NANODBC_API uint64_t result::get(const string_type&) const;
+template NANODBC_API float result::get(const string_type&) const;
+template NANODBC_API double result::get(const string_type&) const;
+template NANODBC_API string_type result::get(const string_type&) const;
+template NANODBC_API date result::get(const string_type&) const;
+template NANODBC_API timestamp result::get(const string_type&) const;
// The following are the only supported instantiations of result::get() with fallback.
-template string_type::value_type result::get(short, const string_type::value_type&) const;
-template short result::get(short, const short&) const;
-template unsigned short result::get(short, const unsigned short&) const;
-template int32_t result::get(short, const int32_t&) const;
-template uint32_t result::get(short, const uint32_t&) const;
-template int64_t result::get(short, const int64_t&) const;
-template uint64_t result::get(short, const uint64_t&) const;
-template float result::get(short, const float&) const;
-template double result::get(short, const double&) const;
-template string_type result::get(short, const string_type&) const;
-template date result::get(short, const date&) const;
-template timestamp result::get(short, const timestamp&) const;
-
-template string_type::value_type result::get(const string_type&, const string_type::value_type&) const;
-template short result::get(const string_type&, const short&) const;
-template unsigned short result::get(const string_type&, const unsigned short&) const;
-template int32_t result::get(const string_type&, const int32_t&) const;
-template uint32_t result::get(const string_type&, const uint32_t&) const;
-template int64_t result::get(const string_type&, const int64_t&) const;
-template uint64_t result::get(const string_type&, const uint64_t&) const;
-template float result::get(const string_type&, const float&) const;
-template double result::get(const string_type&, const double&) const;
-template string_type result::get(const string_type&, const string_type&) const;
-template date result::get(const string_type&, const date&) const;
-template timestamp result::get(const string_type&, const timestamp&) const;
+template NANODBC_API string_type::value_type result::get(short, const string_type::value_type&) const;
+template NANODBC_API short result::get(short, const short&) const;
+template NANODBC_API unsigned short result::get(short, const unsigned short&) const;
+template NANODBC_API int32_t result::get(short, const int32_t&) const;
+template NANODBC_API uint32_t result::get(short, const uint32_t&) const;
+template NANODBC_API int64_t result::get(short, const int64_t&) const;
+template NANODBC_API uint64_t result::get(short, const uint64_t&) const;
+template NANODBC_API float result::get(short, const float&) const;
+template NANODBC_API double result::get(short, const double&) const;
+template NANODBC_API string_type result::get(short, const string_type&) const;
+template NANODBC_API date result::get(short, const date&) const;
+template NANODBC_API timestamp result::get(short, const timestamp&) const;
+
+template NANODBC_API string_type::value_type result::get(const string_type&, const string_type::value_type&) const;
+template NANODBC_API short result::get(const string_type&, const short&) const;
+template NANODBC_API unsigned short result::get(const string_type&, const unsigned short&) const;
+template NANODBC_API int32_t result::get(const string_type&, const int32_t&) const;
+template NANODBC_API uint32_t result::get(const string_type&, const uint32_t&) const;
+template NANODBC_API int64_t result::get(const string_type&, const int64_t&) const;
+template NANODBC_API uint64_t result::get(const string_type&, const uint64_t&) const;
+template NANODBC_API float result::get(const string_type&, const float&) const;
+template NANODBC_API double result::get(const string_type&, const double&) const;
+template NANODBC_API string_type result::get(const string_type&, const string_type&) const;
+template NANODBC_API date result::get(const string_type&, const date&) const;
+template NANODBC_API timestamp result::get(const string_type&, const timestamp&) const;
} // namespace nanodbc
diff --git a/src/nanodbc.h b/src/nanodbc.h
index f4e7b3d..2bfc6a8 100644
--- a/src/nanodbc.h
+++ b/src/nanodbc.h
@@ -164,6 +164,16 @@ namespace nanodbc
#define NANODBC_NOEXCEPT noexcept
#endif
+#pragma warning(disable: 4275)
+#pragma warning(disable: 4251)
+#ifdef nanodbc_EXPORTS
+ /* We are building this library */
+ #define NANODBC_API __declspec(dllexport)
+#else
+ /* We are using this library */
+ #define NANODBC_API __declspec(dllimport)
+#endif
+
// 8888888888 888 888 888 888 d8b
// 888 888 888 888 888 Y8P
// 888 888 888 888 888
@@ -188,16 +198,17 @@ namespace nanodbc
//! \brief Type incompatible.
//! \see exceptions
-class type_incompatible_error : public std::runtime_error
+class NANODBC_API type_incompatible_error : public std::runtime_error
{
public:
type_incompatible_error();
const char* what() const NANODBC_NOEXCEPT;
};
+
//! \brief Accessed null data.
//! \see exceptions
-class null_access_error : public std::runtime_error
+class NANODBC_API null_access_error : public std::runtime_error
{
public:
null_access_error();
@@ -206,7 +217,7 @@ public:
//! \brief Index out of range.
//! \see exceptions
-class index_range_error : public std::runtime_error
+class NANODBC_API index_range_error : public std::runtime_error
{
public:
index_range_error();
@@ -215,7 +226,7 @@ public:
//! \brief Programming logic error.
//! \see exceptions
-class programming_error : public std::runtime_error
+class NANODBC_API programming_error : public std::runtime_error
{
public:
explicit programming_error(const std::string& info);
@@ -224,7 +235,7 @@ public:
//! \brief General database error.
//! \see exceptions
-class database_error : public std::runtime_error
+class NANODBC_API database_error : public std::runtime_error
{
public:
//! \brief Creates a runtime_error with a message describing the last ODBC error generated for the given handle and handle_type.
@@ -298,7 +309,7 @@ struct timestamp
//! \brief A resource for managing transaction commits and rollbacks.
//!
//! \attention You will want to use transactions if you are doing batch operations because it will prevent auto commits from occurring after each individual operation is executed.
-class transaction
+class NANODBC_API transaction
{
public:
//! \brief Begin a transaction on the given connection object.
@@ -361,7 +372,7 @@ private:
// MARK: Statement -
//! \brief Represents a statement on the database.
-class statement
+class NANODBC_API statement
{
public:
//! \brief Provides support for retrieving output/return parameters.
@@ -734,7 +745,7 @@ private:
// MARK: Connection -
//! \brief Manages and encapsulates ODBC resources such as the connection and environment handles.
-class connection
+class NANODBC_API connection
{
public:
//! \brief Create new connection object, initially not connected.
@@ -903,7 +914,7 @@ class catalog;
//!
//! \see statement::execute(), statement::execute_direct()
//! \note result objects may be copied, however all copies will refer to the same underlying ODBC result set.
-class result
+class NANODBC_API result
{
public:
//! Empty result set.
@@ -1023,7 +1034,7 @@ public:
//! \param column position.
//! \throws database_error, index_range_error, type_incompatible_error, null_access_error
template<class T>
- T get(short column) const;
+ T get(short column) const;
//! \brief Gets data from the given column of the current rowset.
//! If the data is null, fallback is returned instead.
@@ -1139,7 +1150,7 @@ private:
// "Y88P"
// MARK: Catalog -
-class catalog
+class NANODBC_API catalog
{
public:
@@ -1319,7 +1330,7 @@ private:
//! \return A result set object.
//! \attention You will want to use transactions if you are doing batch operations because it will prevent auto commits from occurring after each individual operation is executed.
//! \see open(), prepare(), execute(), result, transaction
-result execute(
+result NANODBC_API execute(
connection& conn
, const string_type& query
, long batch_operations = 1
@@ -1333,7 +1344,7 @@ result execute(
//! \return A result set object.
//! \attention You will want to use transactions if you are doing batch operations because it will prevent auto commits from occurring after each individual operation is executed.
//! \see open(), prepare(), execute(), result, transaction
-void just_execute(
+void NANODBC_API just_execute(
connection& conn
, const string_type& query
, long batch_operations = 1
@@ -1346,7 +1357,7 @@ void just_execute(
//! \return A result set object.
//! \attention You will want to use transactions if you are doing batch operations because it will prevent auto commits from occurring after each individual operation is executed.
//! \see open(), prepare(), execute(), result
-result execute(statement& stmt, long batch_operations = 1);
+result NANODBC_API execute(statement& stmt, long batch_operations = 1);
//! \brief Execute the previously prepared query now and without creating result object.
//! \param stmt The prepared statement that will be executed.
@@ -1355,7 +1366,7 @@ result execute(statement& stmt, long batch_operations = 1);
//! \return A result set object.
//! \attention You will want to use transactions if you are doing batch operations because it will prevent auto commits from occurring after each individual operation is executed.
//! \see open(), prepare(), execute(), result
-void just_execute(statement& stmt, long batch_operations = 1);
+void NANODBC_API just_execute(statement& stmt, long batch_operations = 1);
//! \brief Execute the previously prepared query now.
//! Executes within the context of a transaction object and commits the transaction directly after execution.
@@ -1364,7 +1375,7 @@ void just_execute(statement& stmt, long batch_operations = 1);
//! \throws database_error
//! \return A result set object.
//! \see open(), prepare(), execute(), result, transaction
-result transact(statement& stmt, long batch_operations);
+result NANODBC_API transact(statement& stmt, long batch_operations);
//! \brief Execute the previously prepared query now and without creating result object.
//! Executes within the context of a transaction object and commits the transaction directly after execution.
@@ -1373,7 +1384,7 @@ result transact(statement& stmt, long batch_operations);
//! \throws database_error
//! \return A result set object.
//! \see open(), prepare(), execute(), result, transaction
-void just_transact(statement& stmt, long batch_operations);
+void NANODBC_API just_transact(statement& stmt, long batch_operations);
//! \brief Prepares the given statement to execute on it associated connection.
//! If the statement is not open throws programming_error.
@@ -1382,7 +1393,7 @@ void just_transact(statement& stmt, long batch_operations);
//! \param timeout The number in seconds before query timeout. Default is 0 indicating no timeout.
//! \see open()
//! \throws database_error, programming_error
-void prepare(statement& stmt, const string_type& query, long timeout = 0);
+void NANODBC_API prepare(statement& stmt, const string_type& query, long timeout = 0);
//! @}

View File

@ -1,33 +0,0 @@
diff --git a/src/nanodbc.cpp b/src/nanodbc.cpp
index 8e02d4a..c408af7 100644
--- a/src/nanodbc.cpp
+++ b/src/nanodbc.cpp
@@ -90,7 +90,7 @@
typedef std::u32string wide_string_type;
#define NANODBC_CODECVT_TYPE std::codecvt_utf8
#else
- typedef std::u16string wide_string_type;
+ typedef std::wstring wide_string_type;
#define NANODBC_CODECVT_TYPE std::codecvt_utf8_utf16
#endif
typedef wide_string_type::value_type wide_char_t;
diff --git a/src/nanodbc.h b/src/nanodbc.h
index f4e7b3d..bb7bacd 100644
--- a/src/nanodbc.h
+++ b/src/nanodbc.h
@@ -127,13 +127,13 @@ namespace nanodbc
//! @}
-// You must explicitly request Unicode support by defining NANODBC_USE_UNICODE at compile time.
+#define NANODBC_USE_UNICODE 1
#ifndef DOXYGEN
#ifdef NANODBC_USE_UNICODE
#ifdef NANODBC_USE_IODBC_WIDE_STRINGS
typedef std::u32string string_type;
#else
- typedef std::u16string string_type;
+ typedef std::wstring string_type;
#endif
#else
typedef std::string string_type;

View File

@ -1,3 +1,3 @@
Source: nanodbc Source: nanodbc
Version: 2.12.4-2 Version: 2.12.4-3
Description: A small C++ wrapper for the native C ODBC API. Description: A small C++ wrapper for the native C ODBC API.

View File

@ -2,33 +2,16 @@ include(vcpkg_common_functions)
# Only static libraries are supported. # Only static libraries are supported.
# See https://github.com/nanodbc/nanodbc/issues/13 # See https://github.com/nanodbc/nanodbc/issues/13
if(VCPKG_USE_HEAD_VERSION) # v2.13 vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
else() # v2.12.4
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
endif()
vcpkg_from_github( vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH OUT_SOURCE_PATH SOURCE_PATH
REPO nanodbc/nanodbc REPO nanodbc/nanodbc
REF v2.12.4 REF fe1d590991da30dc9cb71676c4d80cb2d9acb49e
SHA512 b9a924516b2a777e5f1497774997672320548722ed53413b0a7ad5d503e2f8ca1099f5059a912b7aae410928f4c4edcdfd02e4cfbf415976cd222697b354b4e6 SHA512 9c7e638b15b3c7ce418374c22a76be4f3f5901e7736938a8b0549b312bb7fa80bc8d34b2a52242a5b94196bb0994481a36e043a4f71cdc1d9af778915d017ac2
HEAD_REF master HEAD_REF master
) )
# Legacy, remove at release of v2.13
if(NOT VCPKG_USE_HEAD_VERSION)
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
${CMAKE_CURRENT_LIST_DIR}/0001_cmake.patch
${CMAKE_CURRENT_LIST_DIR}/0002_msvc14_codecvt.patch
${CMAKE_CURRENT_LIST_DIR}/0003_export_def.patch
${CMAKE_CURRENT_LIST_DIR}/0004_unicode.patch
)
endif()
# /Legacy
vcpkg_configure_cmake( vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH} SOURCE_PATH ${SOURCE_PATH}
OPTIONS OPTIONS

View File

@ -1,11 +1,14 @@
--- a/CMakeLists.txt --- a/CMakeLists.txt
+++ b/CMakeLists.txt +++ b/CMakeLists.txt
@@ -633,7 +633,7 @@ include(cmake/OpenCVFindLibsGUI.cmake) @@ -633,7 +633,10 @@ include(cmake/OpenCVFindLibsGUI.cmake)
include(cmake/OpenCVFindLibsVideo.cmake) include(cmake/OpenCVFindLibsVideo.cmake)
include(cmake/OpenCVFindLibsPerf.cmake) include(cmake/OpenCVFindLibsPerf.cmake)
include(cmake/OpenCVFindLAPACK.cmake) include(cmake/OpenCVFindLAPACK.cmake)
-include(cmake/OpenCVFindProtobuf.cmake) -include(cmake/OpenCVFindProtobuf.cmake)
+find_package(protobuf) +find_package(protobuf)
+if(Protobuf_LIBRARIES)
+ set(HAVE_PROTOBUF TRUE)
+endif()
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
# Detect other 3rd-party libraries/tools # Detect other 3rd-party libraries/tools
@ -16,7 +19,7 @@
set(include_dirs ${fw_inc}) set(include_dirs ${fw_inc})
set(sources_options "") set(sources_options "")
-set(libs libprotobuf ${LAPACK_LIBRARIES}) -set(libs libprotobuf ${LAPACK_LIBRARIES})
+set(libs protobuf ${LAPACK_LIBRARIES}) +set(libs protobuf::libprotobuf ${LAPACK_LIBRARIES})
if(OPENCV_DNN_OPENCL AND HAVE_OPENCL) if(OPENCV_DNN_OPENCL AND HAVE_OPENCL)
list(APPEND include_dirs ${OPENCL_INCLUDE_DIRS}) list(APPEND include_dirs ${OPENCL_INCLUDE_DIRS})
else() else()

View File

@ -1,5 +1,5 @@
Source: opencv Source: opencv
Version: 3.4.3-4 Version: 3.4.3-5
Build-Depends: zlib Build-Depends: zlib
Description: computer vision library Description: computer vision library
Default-Features: opengl, jpeg, png, tiff, eigen, flann Default-Features: opengl, jpeg, png, tiff, eigen, flann

View File

@ -1,4 +1,4 @@
Source: osgearth Source: osgearth
Version: 2.9-2 Version: 2.10
Description: osgEarth - Dynamic map generation toolkit for OpenSceneGraph Copyright 2015 Pelican Mapping. Description: osgEarth - Dynamic map generation toolkit for OpenSceneGraph Copyright 2015 Pelican Mapping.
Build-Depends: osg Build-Depends: osg

View File

@ -26,8 +26,8 @@ vcpkg_download_distfile(
vcpkg_from_github( vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH OUT_SOURCE_PATH SOURCE_PATH
REPO gwaldron/osgearth REPO gwaldron/osgearth
REF d1884d819d4a43de32b7ca1ded655c73964bed17 REF osgearth-2.10
SHA512 525ad4ce8bcbd7d73a2ed66e7fbcd9d302582276f26dda1ef2baa3828da5c1e302ba81aac95d0a0632c7395cbcd072d2b19d084ba641c1ba92872d42bb6f769c SHA512 ba742f4fc8dbbdaee65e413d477b713cad8da313a1dc68327997359aca88dadc871b03ad4b09172e3e048164989c2797108db67f14edff8ee5a0c63a8fe1bb0c
HEAD_REF master HEAD_REF master
PATCHES ${VS2017PATCH} PATCHES ${VS2017PATCH}
) )

View File

@ -14,9 +14,11 @@ endif()
add_definitions(-DHAVE_CONFIG_H) add_definitions(-DHAVE_CONFIG_H)
include_directories(. ./pango ${CMAKE_CURRENT_BINARY_DIR}) include_directories(. ./pango ${CMAKE_CURRENT_BINARY_DIR})
if(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux")
# find libintl # find libintl
find_path(LIBINTL_INCLUDE_DIR libintl.h) find_path(LIBINTL_INCLUDE_DIR libintl.h)
find_library(LIBINTL_LIBRARY NAMES libintl intl) find_library(LIBINTL_LIBRARY NAMES libintl intl)
endif()
# find glib # find glib
find_path(GLIB_INCLUDE_DIR glib.h) find_path(GLIB_INCLUDE_DIR glib.h)

View File

@ -1,4 +1,4 @@
Source: pango Source: pango
Version: 1.40.11-2 Version: 1.40.11-3
Description: Text and font handling library. Description: Text and font handling library.
Build-Depends: glib, gettext, cairo, fontconfig, freetype, harfbuzz[glib] (!windows-static) Build-Depends: glib, gettext, cairo, fontconfig, freetype, harfbuzz[glib] (!windows-static)

View File

@ -1,4 +1,4 @@
Source: pangolin Source: pangolin
Version: 0.5-3 Version: 0.5-4
Build-Depends: eigen3, glew, libpng, libjpeg-turbo, ffmpeg Build-Depends: eigen3, glew, libpng, libjpeg-turbo, ffmpeg
Description: Lightweight GUI Library Description: Lightweight GUI Library

View File

@ -0,0 +1,69 @@
diff --git a/src/video/drivers/ffmpeg.cpp b/src/video/drivers/ffmpeg.cpp
index 435225d..ff30349 100644
--- a/src/video/drivers/ffmpeg.cpp
+++ b/src/video/drivers/ffmpeg.cpp
@@ -34,6 +34,8 @@ extern "C"
#include <libavutil/mathematics.h>
}
+#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
+
namespace pangolin
{
@@ -74,8 +76,10 @@ std::string FfmpegFmtToString(const AVPixelFormat fmt)
TEST_PIX_FMT_RETURN(YUVJ420P);
TEST_PIX_FMT_RETURN(YUVJ422P);
TEST_PIX_FMT_RETURN(YUVJ444P);
+#ifdef FF_API_XVMC
TEST_PIX_FMT_RETURN(XVMC_MPEG2_MC);
TEST_PIX_FMT_RETURN(XVMC_MPEG2_IDCT);
+#endif
TEST_PIX_FMT_RETURN(UYVY422);
TEST_PIX_FMT_RETURN(UYYVYY411);
TEST_PIX_FMT_RETURN(BGR8);
@@ -95,11 +99,13 @@ std::string FfmpegFmtToString(const AVPixelFormat fmt)
TEST_PIX_FMT_RETURN(YUV440P);
TEST_PIX_FMT_RETURN(YUVJ440P);
TEST_PIX_FMT_RETURN(YUVA420P);
+#ifdef FF_API_VDPAU
TEST_PIX_FMT_RETURN(VDPAU_H264);
TEST_PIX_FMT_RETURN(VDPAU_MPEG1);
TEST_PIX_FMT_RETURN(VDPAU_MPEG2);
TEST_PIX_FMT_RETURN(VDPAU_WMV3);
TEST_PIX_FMT_RETURN(VDPAU_VC1);
+#endif
TEST_PIX_FMT_RETURN(RGB48BE );
TEST_PIX_FMT_RETURN(RGB48LE );
TEST_PIX_FMT_RETURN(RGB565BE);
@@ -119,7 +125,9 @@ std::string FfmpegFmtToString(const AVPixelFormat fmt)
TEST_PIX_FMT_RETURN(YUV422P16BE);
TEST_PIX_FMT_RETURN(YUV444P16LE);
TEST_PIX_FMT_RETURN(YUV444P16BE);
+#ifdef FF_API_VDPAU
TEST_PIX_FMT_RETURN(VDPAU_MPEG4);
+#endif
TEST_PIX_FMT_RETURN(DXVA2_VLD);
TEST_PIX_FMT_RETURN(RGB444BE);
TEST_PIX_FMT_RETURN(RGB444LE);
@@ -559,7 +567,8 @@ void FfmpegVideoOutputStream::WriteFrame(AVFrame* frame)
int ret;
int got_packet = 1;
-
+
+#if FF_API_LAVF_FMT_RAWPICTURE
// Setup AVPacket
if (recorder.oc->oformat->flags & AVFMT_RAWPICTURE) {
/* Raw video case - directly store the picture in the packet */
@@ -569,6 +578,10 @@ void FfmpegVideoOutputStream::WriteFrame(AVFrame* frame)
pkt.pts = frame->pts;
ret = 0;
} else {
+#else
+ {
+#endif
+
/* encode the image */
#if (LIBAVFORMAT_VERSION_MAJOR >= 54)
ret = avcodec_encode_video2(stream->codec, &pkt, frame, &got_packet);

View File

@ -6,6 +6,7 @@ vcpkg_from_github(
REF v0.5 REF v0.5
SHA512 7ebeec108f33f1aa8b1ad08e3ca128a837b22d33e3fc580021f981784043b023a1bf563bbfa8b51d46863db770b336d24fc84ee3d836b85e0da1848281b2a5b2 SHA512 7ebeec108f33f1aa8b1ad08e3ca128a837b22d33e3fc580021f981784043b023a1bf563bbfa8b51d46863db770b336d24fc84ee3d836b85e0da1848281b2a5b2
HEAD_REF master HEAD_REF master
PATCHES deprecated_constants.patch # Change from upstream pangolin to address build failures from latest ffmpeg library
) )
file(REMOVE ${SOURCE_PATH}/CMakeModules/FindGLEW.cmake) file(REMOVE ${SOURCE_PATH}/CMakeModules/FindGLEW.cmake)

3
ports/ponder/CONTROL Normal file
View File

@ -0,0 +1,3 @@
Source: ponder
Version: 3.0.0
Description: A C++ multi-purpose reflection library.

View File

@ -0,0 +1,27 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 091f56d..715f86e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -325,14 +325,14 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/PonderConfig.cmake ${CMAKE_CURRENT_BIN
COMPONENT devel
)
-install(FILES README.md COPYING.txt
- DESTINATION ${INSTALL_MISC_DIR}
-)
-
-install(DIRECTORY cmake
- DESTINATION ${INSTALL_MISC_DIR}
- COMPONENT utils
-)
+#install(FILES README.md COPYING.txt
+# DESTINATION ${INSTALL_MISC_DIR}
+#)
+
+#install(DIRECTORY cmake
+# DESTINATION ${INSTALL_MISC_DIR}
+# COMPONENT utils
+#)
###############################
# packaging

View File

@ -0,0 +1,38 @@
include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO billyquith/ponder
REF 3.0.0
SHA512 b6ba1ce9fa0584b16085c56afb70e31f204a66b57193c1a4225bfe18abbda561bb71b3279dd0a4f1b21867b985ef5ce78c8e360f3fc654c61ce61c44d35c5f38
HEAD_REF master
PATCHES
no-install-unused.patch
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DUSES_RAPIDJSON=OFF
-DUSES_RAPIDXML=OFF
-DBUILD_TEST=OFF
)
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/${PORT}/cmake)
file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/debug/include
${CURRENT_PACKAGES_DIR}/debug/lib/${PORT}
${CURRENT_PACKAGES_DIR}/lib/${PORT})
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(READ ${CURRENT_PACKAGES_DIR}/include/${PORT}/config.hpp _contents)
string(REPLACE "ifndef PONDER_STATIC" "if 0 //ifndef PONDER_STATIC" _contents "${_contents}")
file(WRITE ${CURRENT_PACKAGES_DIR}/include/${PORT}/config.hpp "${_contents}")
endif()
# Handle copyright
configure_file(${SOURCE_PATH}/COPYING.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)

View File

@ -1,4 +1,4 @@
Source: restinio Source: restinio
Version: 0.4.8 Version: 0.4.8.4
Description: A header-only C++14 library that gives you an embedded HTTP/Websocket server targeted primarily for asynchronous processing of HTTP-requests. Description: A header-only C++14 library that gives you an embedded HTTP/Websocket server targeted primarily for asynchronous processing of HTTP-requests.
Build-Depends: asio, fmt, http-parser Build-Depends: asio, fmt, http-parser

View File

@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_bitbucket( vcpkg_from_bitbucket(
OUT_SOURCE_PATH SOURCE_PATH OUT_SOURCE_PATH SOURCE_PATH
REPO sobjectizerteam/restinio-0.4 REPO sobjectizerteam/restinio-0.4
REF v.0.4.8 REF v.0.4.8.4
SHA512 da44a6df47f68294b1f26241d63ab282b16a8111580959ea5d69e18d9faca68fe9932451d07c4cd5732d5ac4e6fab6550842fd6bac6385a622fb618b4a916975 SHA512 de3461ad5b4315d2b5846063cb69d57a14da29f80652d38a6fe96d27d05586d76363053af3284db97c0c9c6da02038960f2812697737eb23a02006e491fb57f7
) )
vcpkg_configure_cmake( vcpkg_configure_cmake(

View File

@ -1,4 +1,4 @@
Source: sfgui Source: sfgui
Version: 0.3.2-2 Version: 0.4.0
Description: simple and fast graphical user interface library Description: simple and fast graphical user interface library
Build-Depends: sfml Build-Depends: sfml

View File

@ -3,8 +3,8 @@ include(vcpkg_common_functions)
vcpkg_from_github( vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH OUT_SOURCE_PATH SOURCE_PATH
REPO TankOs/SFGUI REPO TankOs/SFGUI
REF 0.3.2 REF 0.4.0
SHA512 cd97e421695f6189995c1b7a4180e3738bf785abae37d3eb51ac6d687a88a26a1f088863b37e065edaff6ba43eea379e423b31118324c4daa65dba0b3e904869 SHA512 15456c6080b7095bcdcec08489b2b91b5cfc36cdf3c0b645b305072e7e835837eb4f95b59371ff176630b2b7ae51da475d8ea0bde5ff7fc0ba74c463bf5f54cf
HEAD_REF master HEAD_REF master
PATCHES "${CMAKE_CURRENT_LIST_DIR}/use-sfml-targets.patch" PATCHES "${CMAKE_CURRENT_LIST_DIR}/use-sfml-targets.patch"
) )
@ -27,9 +27,6 @@ vcpkg_copy_pdbs()
file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/sfgui RENAME copyright) file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/sfgui RENAME copyright)
file(RENAME ${CURRENT_PACKAGES_DIR}/cmake/Modules/FindSFGUI.cmake ${CURRENT_PACKAGES_DIR}/share/sfgui/FindSFGUI.cmake)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/cmake/Modules)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/cmake) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/cmake)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/cmake) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/cmake)

View File

@ -1,4 +1,4 @@
Source: sfml Source: sfml
Version: 2.5.1 Version: 2.5.1-1
Description: Simple and fast multimedia library Description: Simple and fast multimedia library
Build-Depends: freetype, libflac, libogg, libvorbis, openal-soft, stb Build-Depends: freetype, libflac, libogg, libvorbis, openal-soft, stb

View File

@ -32,9 +32,9 @@ vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SFML) vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SFML)
vcpkg_copy_pdbs() vcpkg_copy_pdbs()
if(VCPKG_LIBRARY_LINKAGE STREQUAL static) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
FILE(READ ${CURRENT_PACKAGES_DIR}/share/sfml/SFMLConfig.cmake SFML_CONFIG) FILE(READ ${CURRENT_PACKAGES_DIR}/share/sfml/SFMLConfig.cmake SFML_CONFIG)
FILE(WRITE ${CURRENT_PACKAGES_DIR}/share/sfml/SFMLConfig.cmake "set(SFML_STATIC_LIBRARIES true)\n${SFML_CONFIG}") FILE(WRITE ${CURRENT_PACKAGES_DIR}/share/sfml/SFMLConfig.cmake "set(SFML_STATIC_LIBRARIES true)\ninclude(CMakeFindDependencyMacro)\nfind_dependency(Freetype)\n${SFML_CONFIG}")
endif() endif()
# move sfml-main to manual link dir # move sfml-main to manual link dir

View File

@ -1,5 +1,5 @@
Source: sqlite3 Source: sqlite3
Version: 3.25.2 Version: 3.26.0
Description: SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. Description: SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.
Feature: tool Feature: tool

View File

@ -1,7 +1,7 @@
include(vcpkg_common_functions) include(vcpkg_common_functions)
set(SQLITE_VERSION 3250200) set(SQLITE_VERSION 3260000)
set(SQLITE_HASH f87b4ab405f85df85b5d63e9e28c4db76202dc2d5461e0d0c626fa7521570d89a1122403c037704859ecb58ac1747ebf4b3c8a2f3a3c3d8492e8060df92e379f) set(SQLITE_HASH ba089abd16857a65fc6cf26558a0d3e6f20c278b8df451b357eea5154f8ccd5645c9cfdb30d0fd4fe64f19dd2f876a6cc4a28455b7b013770c2ce9a607171107)
vcpkg_download_distfile(ARCHIVE vcpkg_download_distfile(ARCHIVE
URLS "https://sqlite.org/2018/sqlite-amalgamation-${SQLITE_VERSION}.zip" URLS "https://sqlite.org/2018/sqlite-amalgamation-${SQLITE_VERSION}.zip"

View File

@ -1,4 +1,4 @@
Source: tiff Source: tiff
Version: 4.0.10 Version: 4.0.10-1
Build-Depends: zlib, libjpeg-turbo, liblzma (!uwp) Build-Depends: zlib, libjpeg-turbo, liblzma (!uwp)
Description: A library that supports the manipulation of TIFF image files Description: A library that supports the manipulation of TIFF image files

View File

@ -31,6 +31,7 @@ vcpkg_configure_cmake(
-DBUILD_TESTS=OFF -DBUILD_TESTS=OFF
-Djbig=OFF # This is disabled by default due to GPL/Proprietary licensing. -Djbig=OFF # This is disabled by default due to GPL/Proprietary licensing.
-Djpeg12=OFF -Djpeg12=OFF
-Dzstd=OFF
${TIFF_CXX_TARGET} ${TIFF_CXX_TARGET}
) )

View File

@ -0,0 +1,26 @@
# User Francisco Dias
# Date 1545049386 7200
# Mon Dec 17 10:23:06 2018 -0200
Export tinyXML.
diff --git a/tinyxml.h b/tinyxml.h
--- a/tinyxml.h
+++ b/tinyxml.h
@@ -38,6 +38,8 @@
#include <string.h>
#include <assert.h>
+#include "tinyxml_export.h"
+
// Help out windows:
#if defined( _DEBUG ) && !defined( DEBUG )
#define DEBUG
@@ -414,7 +416,7 @@
};
static Entity entity[ NUM_ENTITY ];
- static bool condenseWhiteSpace;
+ static TINYXML_EXPORT bool condenseWhiteSpace;
};

View File

@ -15,6 +15,11 @@ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
add_library(tinyxml ${SOURCES}) add_library(tinyxml ${SOURCES})
target_compile_definitions(tinyxml PRIVATE "-DTIXML_USE_STL") target_compile_definitions(tinyxml PRIVATE "-DTIXML_USE_STL")
include(GenerateExportHeader)
generate_export_header(tinyxml)
target_include_directories(tinyxml PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
install( install(
TARGETS tinyxml TARGETS tinyxml
ARCHIVE DESTINATION lib ARCHIVE DESTINATION lib
@ -22,4 +27,5 @@ install(
RUNTIME DESTINATION bin RUNTIME DESTINATION bin
) )
install(FILES ${HEADERS} DESTINATION include) install(FILES ${HEADERS}
${CMAKE_CURRENT_BINARY_DIR}/tinyxml_export.h DESTINATION include)

View File

@ -1,3 +1,3 @@
Source: tinyxml Source: tinyxml
Version: 2.6.2-2 Version: 2.6.2-3
Description: A simple, small, minimal, C++ XML parser that can be easily integrating into other programs. Description: A simple, small, minimal, C++ XML parser that can be easily integrating into other programs.

View File

@ -1,22 +1,22 @@
include(vcpkg_common_functions) include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/tinyxml)
vcpkg_download_distfile(ARCHIVE vcpkg_download_distfile(ARCHIVE
URLS "https://sourceforge.net/projects/tinyxml/files/tinyxml/2.6.2/tinyxml_2_6_2.tar.gz" URLS "https://sourceforge.net/projects/tinyxml/files/tinyxml/2.6.2/tinyxml_2_6_2.tar.gz"
FILENAME "tinyxml_2_6_2.tar.gz" FILENAME "tinyxml_2_6_2.tar.gz"
SHA512 133b5db06131a90ad0c2b39b0063f1c8e65e67288a7e5d67e1f7d9ba32af10dc5dfa0462f9723985ee27debe8f09a10a25d4b5a5aaff2ede979b1cebe8e59d56 SHA512 133b5db06131a90ad0c2b39b0063f1c8e65e67288a7e5d67e1f7d9ba32af10dc5dfa0462f9723985ee27debe8f09a10a25d4b5a5aaff2ede979b1cebe8e59d56
) )
vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
REF 2.6.2
PATCHES
0001_use_stl.patch
0002_export_tinyxml.patch
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
${CMAKE_CURRENT_LIST_DIR}/0001_use_stl.patch
)
vcpkg_configure_cmake( vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH} SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA PREFER_NINJA

View File

@ -1,5 +1,5 @@
Source: vtk Source: vtk
Version: 8.1.0-3 Version: 8.1.0-6
Description: Software system for 3D computer graphics, image processing, and visualization Description: Software system for 3D computer graphics, image processing, and visualization
Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora

View File

@ -1,3 +1,7 @@
if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
message(WARNING "You will need to install Xorg dependencies to build vtk:\napt-get install libxt-dev\n")
endif()
include(vcpkg_common_functions) include(vcpkg_common_functions)
set(VTK_SHORT_VERSION "8.1") set(VTK_SHORT_VERSION "8.1")
@ -162,6 +166,7 @@ vcpkg_configure_cmake(
-DVTK_INSTALL_DATA_DIR=share/vtk/data -DVTK_INSTALL_DATA_DIR=share/vtk/data
-DVTK_INSTALL_DOC_DIR=share/vtk/doc -DVTK_INSTALL_DOC_DIR=share/vtk/doc
-DVTK_INSTALL_PACKAGE_DIR=share/vtk -DVTK_INSTALL_PACKAGE_DIR=share/vtk
-DVTK_INSTALL_RUNTIME_DIR=tools
-DVTK_FORBID_DOWNLOADS=ON -DVTK_FORBID_DOWNLOADS=ON
${ADDITIONAL_OPTIONS} ${ADDITIONAL_OPTIONS}
) )
@ -299,15 +304,14 @@ foreach(FILE IN LISTS CMAKE_FILES)
endforeach() endforeach()
# ============================================================================= # =============================================================================
# Move executable to tools directory and clean-up other directories # Clean-up other directories
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/vtk)
function(_vtk_move_tool TOOL_NAME)
if(EXISTS ${CURRENT_PACKAGES_DIR}/bin/${TOOL_NAME}.exe) function(_vtk_remove_tool TOOL_NAME)
file(RENAME ${CURRENT_PACKAGES_DIR}/bin/${TOOL_NAME}.exe ${CURRENT_PACKAGES_DIR}/tools/vtk/${TOOL_NAME}.exe) set(filename ${CURRENT_PACKAGES_DIR}/debug/bin/${TOOL_NAME}.exe)
if(EXISTS ${filename})
file(REMOVE ${filename})
endif() endif()
file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/${TOOL_NAME}.exe)
endfunction() endfunction()
set(VTK_TOOLS set(VTK_TOOLS
@ -331,7 +335,7 @@ string(REPLACE "vtk::hdf5::hdf5" "" _contents "${_contents}")
file(WRITE "${CURRENT_PACKAGES_DIR}/share/vtk/Modules/vtkhdf5.cmake" "${_contents}") file(WRITE "${CURRENT_PACKAGES_DIR}/share/vtk/Modules/vtkhdf5.cmake" "${_contents}")
foreach(TOOL_NAME IN LISTS VTK_TOOLS) foreach(TOOL_NAME IN LISTS VTK_TOOLS)
_vtk_move_tool("${TOOL_NAME}") _vtk_remove_tool("${TOOL_NAME}")
endforeach() endforeach()
# ============================================================================= # =============================================================================

View File

@ -0,0 +1,46 @@
diff --git a/cmake/WtFindSsl.txt b/cmake/WtFindSsl.txt
index c5f7bbc8..6e2c2f4d 100644
--- a/cmake/WtFindSsl.txt
+++ b/cmake/WtFindSsl.txt
@@ -121,6 +121,16 @@ ELSEIF(APPLE)
/usr/local/lib
NO_DEFAULT_PATH
)
+ FIND_LIBRARY(CRYPTO_LIB
+ NAMES
+ crypto
+ PATHS
+ ${SSL_PREFIX}/lib
+ ${SSL_PREFIX}/lib/VC
+ /usr/lib
+ /usr/local/lib
+ NO_DEFAULT_PATH
+ )
ELSE (WIN32)
FIND_LIBRARY(SSL_LIB
NAMES
@@ -131,6 +141,15 @@ ELSE (WIN32)
/usr/lib
/usr/local/lib
)
+ FIND_LIBRARY(CRYPTO_LIB
+ NAMES
+ crypto
+ PATHS
+ ${SSL_PREFIX}/lib
+ ${SSL_PREFIX}/lib/VC
+ /usr/lib
+ /usr/local/lib
+ )
ENDIF (WIN32)
IF(SSL_LIB
@@ -144,7 +163,7 @@ IF(SSL_LIB
ENDIF(SSL_TOO_LIB)
ELSE(WIN32)
SET(SSL_FOUND true)
- SET(SSL_LIBRARIES ${SSL_LIB} -lcrypto)
+ SET(SSL_LIBRARIES ${SSL_LIB} ${CRYPTO_LIB})
ENDIF(WIN32)
ENDIF(SSL_LIB
AND SSL_INCLUDE_DIRS)

View File

@ -1,4 +1,4 @@
Source: wt Source: wt
Version: 4.0.4 Version: 4.0.4-2
Description: Wt is a C++ library for developing web applications Description: Wt is a C++ library for developing web applications
Build-Depends: openssl, sqlite3, libpq, pango, glew, 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, boost-interprocess Build-Depends: openssl, sqlite3, libpq, pango, glew, 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, boost-interprocess

View File

@ -10,6 +10,7 @@ vcpkg_from_github(
0001-boost-1.66.patch 0001-boost-1.66.patch
0002-link-glew.patch 0002-link-glew.patch
0003-disable-boost-autolink.patch 0003-disable-boost-autolink.patch
0004-link-ssl.patch
) )
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SHARED_LIBS) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SHARED_LIBS)
@ -36,13 +37,18 @@ vcpkg_configure_cmake(
-DUSE_SYSTEM_SQLITE3=ON -DUSE_SYSTEM_SQLITE3=ON
-DUSE_SYSTEM_GLEW=ON -DUSE_SYSTEM_GLEW=ON
-DCMAKE_INSTALL_DIR=share
) )
vcpkg_install_cmake() vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/wt) vcpkg_fixup_cmake_targets(CONFIG_PATH share/wt)
# There is no way to suppress installation of the headers and resource files in debug build. # There is no way to suppress installation of the headers and resource files in debug build.
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/var)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/var)
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/wt RENAME copyright) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/wt RENAME copyright)
vcpkg_copy_pdbs() vcpkg_copy_pdbs()

4
ports/zxing-cpp/CONTROL Normal file
View File

@ -0,0 +1,4 @@
Source: zxing-cpp
Version: 3.3.3-2
Build-Depends: opencv[core]
Description: Barcode detection and decoding library.

View File

@ -0,0 +1,43 @@
include(vcpkg_common_functions)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO glassechidna/zxing-cpp
REF 5aad4744a3763d814df98a18886979893e638274
SHA512 a079ad47171224de4469e76bf0779b6ebc9c6dfb3604bd5dbf5e6e5f321d9e6255f689daa749855f8400023602f1773214013c006442e9b32dd4b8146c888c02
HEAD_REF master
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Iconv=ON
)
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/zxing/cmake" TARGET_PATH share/zxing)
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/zxing)
if (WIN32)
file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/zxing)
else(WIN32)
file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing DESTINATION ${CURRENT_PACKAGES_DIR}/tools/zxing)
endif(WIN32)
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/zxing)
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/zxing)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/zxing)
# Handle copyright
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/zxing-cpp)
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/zxing-cpp)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/zxing-cpp/COPYING ${CURRENT_PACKAGES_DIR}/share/zxing-cpp/copyright)

View File

@ -153,6 +153,9 @@ function(vcpkg_find_acquire_program VAR)
set(URL "https://sourceforge.net/projects/winflexbison/files/winflexbison-2.5.16.zip/download") set(URL "https://sourceforge.net/projects/winflexbison/files/winflexbison-2.5.16.zip/download")
set(ARCHIVE "win_flex_bison-2.5.16.zip") set(ARCHIVE "win_flex_bison-2.5.16.zip")
set(HASH 0a14154bff5d998feb23903c46961528f8ccb4464375d5384db8c4a7d230c0c599da9b68e7a32f3217a0a0735742242eaf3769cb4f03e00931af8640250e9123) set(HASH 0a14154bff5d998feb23903c46961528f8ccb4464375d5384db8c4a7d230c0c599da9b68e7a32f3217a0a0735742242eaf3769cb4f03e00931af8640250e9123)
if(NOT EXISTS "${PATHS}/data/m4sugar/m4sugar.m4" AND SUBDIR STREQUAL "win_flex-2.5.16")
file(REMOVE_RECURSE "${PATHS}")
endif()
else() else()
set(PROGNAME flex) set(PROGNAME flex)
set(APT_PACKAGE_NAME flex) set(APT_PACKAGE_NAME flex)

View File

@ -1,11 +1,22 @@
set(ANDROID_CPP_FEATURES "rtti exceptions" CACHE STRING "") set(ANDROID_CPP_FEATURES "rtti exceptions" CACHE STRING "")
set(CMAKE_SYSTEM_NAME Android CACHE STRING "") set(CMAKE_SYSTEM_NAME Android CACHE STRING "")
set(ANDROID_ABI x86_64 CACHE STRING "")
set(ANDROID_TOOLCHAIN clang CACHE STRING "") set(ANDROID_TOOLCHAIN clang CACHE STRING "")
set(ANDROID_NATIVE_API_LEVEL 21 CACHE STRING "") set(ANDROID_NATIVE_API_LEVEL 21 CACHE STRING "")
set(CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION clang CACHE STRING "") set(CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION clang CACHE STRING "")
if (VCPKG_TARGET_TRIPLET STREQUAL "arm64-android")
set(ANDROID_ABI arm64-v8a CACHE STRING "")
elseif(VCPKG_TARGET_TRIPLET STREQUAL "arm-android")
set(ANDROID_ABI armeabi-v7a CACHE STRING "")
elseif(VCPKG_TARGET_TRIPLET STREQUAL "x64-android")
set(ANDROID_ABI x86_64 CACHE STRING "")
elseif(VCPKG_TARGET_TRIPLET STREQUAL "x86-android")
set(ANDROID_ABI x86 CACHE STRING "")
else()
message(FATAL_ERROR "Unknown ABI for target triplet ${VCPKG_TARGET_TRIPLET}")
endif()
if(DEFINED ENV{ANDROID_NDK_HOME}) if(DEFINED ENV{ANDROID_NDK_HOME})
set(ANDROID_NDK_HOME $ENV{ANDROID_NDK_HOME}) set(ANDROID_NDK_HOME $ENV{ANDROID_NDK_HOME})
else() else()

View File

@ -0,0 +1,17 @@
#/usr/bin/env bash
_vcpkg_completions()
{
local vcpkg_executable=${COMP_WORDS[0]}
local remaining_command_line=${COMP_LINE:(${#vcpkg_executable}+1)}
COMPREPLY=($(${vcpkg_executable} autocomplete "${remaining_command_line}" -- 2>/dev/null))
# Colon is treated as a delimiter in bash. The following workaround
# allows triplet completion to work correctly in the syntax:
# zlib:x64-windows
local cur
_get_comp_words_by_ref -n : cur
__ltrim_colon_completions "$cur"
}
complete -F _vcpkg_completions vcpkg

View File

@ -8,7 +8,11 @@ namespace vcpkg::Archives
void extract_archive(const VcpkgPaths& paths, const fs::path& archive, const fs::path& to_path) void extract_archive(const VcpkgPaths& paths, const fs::path& archive, const fs::path& to_path)
{ {
Files::Filesystem& fs = paths.get_filesystem(); Files::Filesystem& fs = paths.get_filesystem();
const fs::path to_path_partial = to_path.u8string() + ".partial"; const fs::path to_path_partial = to_path.u8string() + ".partial"
#if defined(_WIN32)
+ "." + std::to_string(GetCurrentProcessId())
#endif
;
std::error_code ec; std::error_code ec;
fs.remove_all(to_path, ec); fs.remove_all(to_path, ec);

View File

@ -170,6 +170,8 @@ namespace vcpkg::System
L"NVCUDASAMPLES_ROOT", L"NVCUDASAMPLES_ROOT",
// Enables find_package(Vulkan) in CMake. Environmental variable generated by Vulkan SDK installer // Enables find_package(Vulkan) in CMake. Environmental variable generated by Vulkan SDK installer
L"VULKAN_SDK", L"VULKAN_SDK",
// Enable targeted Android NDK
L"ANDROID_NDK_HOME",
}; };
std::wstring env_cstr; std::wstring env_cstr;

View File

@ -1,6 +1,7 @@
#include "pch.h" #include "pch.h"
#include <vcpkg/base/checks.h> #include <vcpkg/base/checks.h>
#include <vcpkg/base/expected.h>
#include <vcpkg/base/files.h> #include <vcpkg/base/files.h>
#include <vcpkg/base/system.h> #include <vcpkg/base/system.h>
#include <vcpkg/base/util.h> #include <vcpkg/base/util.h>
@ -122,7 +123,7 @@ namespace vcpkg::Commands::Integrate
static ElevationPromptChoice elevated_cmd_execute(const std::string& param) static ElevationPromptChoice elevated_cmd_execute(const std::string& param)
{ {
SHELLEXECUTEINFOW sh_ex_info{}; SHELLEXECUTEINFOW sh_ex_info {};
sh_ex_info.cbSize = sizeof(sh_ex_info); sh_ex_info.cbSize = sizeof(sh_ex_info);
sh_ex_info.fMask = SEE_MASK_NOCLOSEPROCESS; sh_ex_info.fMask = SEE_MASK_NOCLOSEPROCESS;
sh_ex_info.hwnd = nullptr; sh_ex_info.hwnd = nullptr;
@ -404,6 +405,47 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console
Checks::exit_with_code(VCPKG_LINE_INFO, rc); Checks::exit_with_code(VCPKG_LINE_INFO, rc);
} }
#elif defined(__unix__)
static void integrate_bash(const VcpkgPaths& paths)
{
const auto home_path = System::get_environment_variable("HOME").value_or_exit(VCPKG_LINE_INFO);
const fs::path bashrc_path = fs::path {home_path} / ".bashrc";
auto& fs = paths.get_filesystem();
const fs::path completion_script_path = paths.scripts / "vcpkg_completion.bash";
Expected<std::vector<std::string>> maybe_bashrc_content = fs.read_lines(bashrc_path);
Checks::check_exit(
VCPKG_LINE_INFO, maybe_bashrc_content.has_value(), "Unable to read %s", bashrc_path.u8string());
std::vector<std::string> bashrc_content = maybe_bashrc_content.value_or_exit(VCPKG_LINE_INFO);
std::vector<std::string> matches;
for (auto&& line : bashrc_content)
{
std::smatch match;
if (std::regex_match(line, match, std::regex {R"###(^source.*scripts/vcpkg_completion.bash$)###"}))
{
matches.push_back(line);
}
}
if (!matches.empty())
{
System::print("vcpkg bash completion is already imported to your %s file.\n"
"The following entries were found:\n"
" %s\n"
"Please make sure you have started a new bash shell for the changes to take effect.\n",
bashrc_path.u8string(),
Strings::join("\n ", matches));
Checks::exit_success(VCPKG_LINE_INFO);
}
System::print("Adding vcpkg completion entry to %s\n", bashrc_path.u8string());
bashrc_content.push_back(Strings::format("source %s", completion_script_path.u8string()));
fs.write_contents(bashrc_path, Strings::join("\n", bashrc_content));
Checks::exit_success(VCPKG_LINE_INFO);
}
#endif #endif
#if defined(_WIN32) #if defined(_WIN32)
@ -425,11 +467,12 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console
static const std::string REMOVE = "remove"; static const std::string REMOVE = "remove";
static const std::string PROJECT = "project"; static const std::string PROJECT = "project";
static const std::string POWERSHELL = "powershell"; static const std::string POWERSHELL = "powershell";
static const std::string BASH = "bash";
} }
static std::vector<std::string> valid_arguments(const VcpkgPaths&) static std::vector<std::string> valid_arguments(const VcpkgPaths&)
{ {
return {Subcommand::INSTALL, Subcommand::REMOVE, Subcommand::PROJECT, Subcommand::POWERSHELL}; return {Subcommand::INSTALL, Subcommand::REMOVE, Subcommand::PROJECT, Subcommand::POWERSHELL, Subcommand::BASH};
} }
const CommandStructure COMMAND_STRUCTURE = { const CommandStructure COMMAND_STRUCTURE = {
@ -463,6 +506,11 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console
{ {
return integrate_powershell(paths); return integrate_powershell(paths);
} }
#elif defined(__unix__)
if (args.command_arguments[0] == Subcommand::BASH)
{
return integrate_bash(paths);
}
#endif #endif
Checks::exit_with_message(VCPKG_LINE_INFO, "Unknown parameter %s for integrate", args.command_arguments[0]); Checks::exit_with_message(VCPKG_LINE_INFO, "Unknown parameter %s for integrate", args.command_arguments[0]);

Some files were not shown because too many files have changed in this diff Show More