Merge branch 'master' into master

This commit is contained in:
Robert Schumacher 2017-02-21 13:39:36 -08:00 committed by GitHub
commit 7d4df89c1d
151 changed files with 2676 additions and 1020 deletions

View File

@ -1,3 +1,68 @@
vcpkg (0.0.74)
--------------
* Bump required version & auto-downloaded version of `cmake` to 3.8.0 (was 3.7.x). This fixes UWP builds with Visual Studio 2017
* Fix `vcpkg build` not printing out the missing dependencies on fail
* Fixes and improvements in the `vcpkg` tool itself
-- vcpkg team <vcpkg@microsoft.com> THU, 16 Feb 2017 18:15:00 -0800
vcpkg (0.0.73)
--------------
* Add ports:
- gdk-pixbuf 2.36.5
- openvr 1.0.5
* Update ports:
- lmdb 0.9.18-1 -> 0.9.18-2
- opencv 3.1.0-1 -> 3.2.0
- sqlite3 3.15.0 -> 3.17.0
* Add functions to correctly find the "Program Files" folders in all parts of `vcpkg` (C++, CMake, powershell)
* Flush std::cout before launching an external process. Fixes issues when redirecting std::cout to a file
* Update version of the automatically acquired nasm. Resolves build failure with libjpeg-turbo
* Change the format of the listfile. The file is now sorted and directories now have a trailing slash so they can easily be identified.
- Old listfiles will be automatically updated on first access. This will happen to all old listfiles when a new package is installed (`vcpkg install`) or after a call to `vcpkg owns`.
* Fixes and improvements in existing portfiles and the `vcpkg` tool itself
-- vcpkg team <vcpkg@microsoft.com> WED, 15 Feb 2017 19:30:00 -0800
vcpkg (0.0.72)
--------------
* Add ports:
- cuda 8.0
- hdf5 1.8.18
- lcms 2.8
- libepoxy 1.4.0-2432daf-1
- libnice 0.1.13
- msmpi 8.0
- parmetis 4.0.3
- sqlite-modern-cpp 2.4
- websocketpp 0.7.0
* Update ports:
- asio 1.10.6 -> 1.10.8
- aws-sdk-cpp 1.0.47 -> 1.0.61
- bond 5.0.0-4-g53ea136 -> 5.2.0
- cpprestsdk 2.9.0-1 -> 2.9.0-2
- fmt 3.0.1-1 -> 3.0.1-4
- grpc 1.1.0-dev-1674f65-1 -> 1.1.0-dev-1674f65-2
- libraw 0.17.2-2 -> 0.18.0-1
- libvorbis 1.3.5-143caf4023a90c09a5eb685fdd46fb9b9c36b1ee -> 1.3.5-1-143caf4023a90c09a5eb685fdd46fb9b9c36b1ee
- poco 1.7.6-2 -> 1.7.6-3
- rapidjson 1.0.2-1 -> 1.1.0
- sfml 2.4.1 -> 2.4.2
- wt 3.3.6-2 -> 3.3.6-3
* Introduce Build Policies:
- Packages with special characteristics (e.g. CUDA) can now use Build Policies to control which post-build checks apply to them.
* Improve support for Visual Studio 2017
- Add auto-detection for Windows SDK
- Fixed various issues with `bootstrap.ps1` and VS2017 support
* Automatic acquisition of perl now uses the 32-bit version isntead of the 64-bit version
* Fix `vcpkg remove --purge` not applying to non-installed packages
* Fixes and improvements in existing portfiles and the `vcpkg` tool itself
-- vcpkg team <vcpkg@microsoft.com> TUE, 14 Feb 2017 11:30:00 -0800
vcpkg (0.0.71)
--------------
* Add ports:

View File

@ -23,7 +23,7 @@ Install any packages with
```
C:\src\vcpkg> .\vcpkg install sdl2 curl
```
Finally, create a New Project (or open an existing one) in Visual Studio 2015 or Visual Studio "15" Preview. You can now `#include` and use any of the installed libraries.
Finally, create a New Project (or open an existing one) in Visual Studio 2015 or Visual Studio 2017. You can now `#include` and use any of the installed libraries.
## Examples
See the [`docs\EXAMPLES.md`](docs/EXAMPLES.md) document for specific walkthroughs, including using a package and adding a new package.

View File

@ -6,69 +6,70 @@ vcpkg_download_distfile(ARCHIVE
FILENAME "antlr4-cpp-runtime-4.6-source.zip"
SHA512 e123c2227e41ce80da5a3758725a018690ed70a4e10c23da26c966259e6bdafa192f4363f5a7e1181ef9a47bf3cc50d6b0ca7b26c8dd2b19222a7edf54de8de2
)
vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_apply_patches(
SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src
PATCHES ${CMAKE_CURRENT_LIST_DIR}/crt_mt.patch
)
if (${VCPKG_LIBRARY_LINKAGE} STREQUAL static)
set(DEBUG_CONFIG "Debug Static")
set(RELEASE_CONFIG "Release Static")
else()
set(DEBUG_CONFIG "Debug DLL")
set(RELEASE_CONFIG "Release DLL")
endif()
vcpkg_build_msbuild(
PROJECT_PATH ${SOURCE_PATH}/antlr4cpp-vs2015.vcxproj
DEBUG_CONFIGURATION ${DEBUG_CONFIG}
RELEASE_CONFIGURATION ${RELEASE_CONFIG}
)
file (MAKE_DIRECTORY
${CURRENT_PACKAGES_DIR}/include)
FILE(COPY ${SOURCE_PATH}/src/
DESTINATION ${CURRENT_PACKAGES_DIR}/include
FILES_MATCHING PATTERN "*.h")
file (MAKE_DIRECTORY
${CURRENT_PACKAGES_DIR}/lib
${CURRENT_PACKAGES_DIR}/debug/lib)
file(COPY ${SOURCE_PATH}/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${DEBUG_CONFIG}/antlr4-runtime.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
file(COPY ${SOURCE_PATH}/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${RELEASE_CONFIG}/antlr4-runtime.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
if (${VCPKG_LIBRARY_LINKAGE} STREQUAL static)
vcpkg_apply_patches(
SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include
PATCHES ${CMAKE_CURRENT_LIST_DIR}/static.patch
)
else()
file (MAKE_DIRECTORY
${CURRENT_PACKAGES_DIR}/bin
${CURRENT_PACKAGES_DIR}/debug/bin)
file(COPY
${SOURCE_PATH}/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${DEBUG_CONFIG}/antlr4-runtime.dll
${SOURCE_PATH}/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${DEBUG_CONFIG}/antlr4-runtime.pdb
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
file(COPY
${SOURCE_PATH}/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${RELEASE_CONFIG}/antlr4-runtime.dll
${SOURCE_PATH}/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${RELEASE_CONFIG}/antlr4-runtime.pdb
DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
endif()
# license not exist in antlr folder.
vcpkg_download_distfile(LICENSE
URLS https://raw.githubusercontent.com/antlr/antlr4/master/LICENSE.txt
FILENAME "antlr4-copyright"
SHA512 c72ae3d5c9f3f07160405b5ca44f01116a9602d82291d6cd218fcc5ec6e8baf985e4baa2acf3d621079585385708bd171c96ef44dd808e60c40a48bc1f56c9ae
URLS https://raw.githubusercontent.com/antlr/antlr4/4.6/LICENSE.txt
FILENAME "antlr4-copyright"
SHA512 c72ae3d5c9f3f07160405b5ca44f01116a9602d82291d6cd218fcc5ec6e8baf985e4baa2acf3d621079585385708bd171c96ef44dd808e60c40a48bc1f56c9ae
)
vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_apply_patches(
SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src
PATCHES ${CMAKE_CURRENT_LIST_DIR}/crt_mt.patch
)
if (${VCPKG_LIBRARY_LINKAGE} STREQUAL static)
set(DEBUG_CONFIG "Debug Static")
set(RELEASE_CONFIG "Release Static")
else()
set(DEBUG_CONFIG "Debug DLL")
set(RELEASE_CONFIG "Release DLL")
endif()
vcpkg_build_msbuild(
PROJECT_PATH ${SOURCE_PATH}/antlr4cpp-vs2015.vcxproj
DEBUG_CONFIGURATION ${DEBUG_CONFIG}
RELEASE_CONFIGURATION ${RELEASE_CONFIG}
)
file (MAKE_DIRECTORY
${CURRENT_PACKAGES_DIR}/include)
FILE(COPY ${SOURCE_PATH}/src/
DESTINATION ${CURRENT_PACKAGES_DIR}/include
FILES_MATCHING PATTERN "*.h")
file (MAKE_DIRECTORY
${CURRENT_PACKAGES_DIR}/lib
${CURRENT_PACKAGES_DIR}/debug/lib)
file(COPY ${SOURCE_PATH}/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${DEBUG_CONFIG}/antlr4-runtime.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
file(COPY ${SOURCE_PATH}/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${RELEASE_CONFIG}/antlr4-runtime.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
if (${VCPKG_LIBRARY_LINKAGE} STREQUAL static)
vcpkg_apply_patches(
SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include
PATCHES ${CMAKE_CURRENT_LIST_DIR}/static.patch
)
else()
file (MAKE_DIRECTORY
${CURRENT_PACKAGES_DIR}/bin
${CURRENT_PACKAGES_DIR}/debug/bin)
file(COPY
${SOURCE_PATH}/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${DEBUG_CONFIG}/antlr4-runtime.dll
${SOURCE_PATH}/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${DEBUG_CONFIG}/antlr4-runtime.pdb
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
file(COPY
${SOURCE_PATH}/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${RELEASE_CONFIG}/antlr4-runtime.dll
${SOURCE_PATH}/bin/vs-2015/${TRIPLET_SYSTEM_ARCH}/${RELEASE_CONFIG}/antlr4-runtime.pdb
DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
endif()
file(INSTALL ${LICENSE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/antlr4 RENAME copyright)
message(STATUS "Installing done")

View File

@ -1,3 +1,3 @@
Source: asio
Version: 1.10.6
Description: Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach.
Source: asio
Version: 1.10.8
Description: Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach.

View File

@ -1,10 +1,10 @@
#header-only library
include(vcpkg_common_functions)
SET(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/asio-asio-1-10-6/asio/)
SET(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/asio-asio-1-10-8/asio/)
vcpkg_download_distfile(ARCHIVE
URLS "https://github.com/chriskohlhoff/asio/archive/asio-1-10-6.zip"
FILENAME "asio-1-10-6.zip"
SHA512 7e3fde7e88d305d19b88482b73c8b7a41751d65e81bd23dd8ef45eb4e3ef3a10629696b4d347e5a68f08d6fb2dede15a2f38c7ee8d18ac88be769215542da4c6
URLS "https://github.com/chriskohlhoff/asio/archive/asio-1-10-8.zip"
FILENAME "asio-1-10-8.zip"
SHA512 bc9794a20fc7844a2a9d22bfa418005f61defbcecdd612daba0d317e6f8fc5a61d3a3b2d7d557b92584294b8adfccc3c47a8f0441f3e34a47a0f715ca1ba0e5b
)
vcpkg_extract_source_archive(${ARCHIVE})

View File

@ -0,0 +1,23 @@
diff --git a/cmake/Config.cmake b/cmake/Config.cmake
index ed225d14..1573c915 100644
--- a/cmake/Config.cmake
+++ b/cmake/Config.cmake
@@ -19,7 +19,7 @@ if (MSVC)
# disable MSVC warnings
add_compile_options (/bigobj /FIbond/core/warning.h /W4 /WX)
add_definitions (-D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS)
- set (Boost_USE_STATIC_LIBS ON)
+ set (Boost_USE_STATIC_LIBS OFF)
endif (MSVC)
if (WIN32)
@@ -90,9 +90,6 @@ if (DEFINED ENV{APPVEYOR} AND ("$ENV{BOND_BUILD}" STREQUAL "C++"))
endif()
endif()
-# disable Boost auto-linking
-add_definitions (-DBOOST_ALL_NO_LIB)
-
# VS2015U2 fixed a bug with atomics and emits a warning without this definition.
add_definitions (-D_ENABLE_ATOMIC_ALIGNMENT_FIX)

View File

@ -0,0 +1,12 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0d743da4..92f91103 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -39,7 +39,6 @@ install (DIRECTORY
cpp/inc/bond
cpp/generated/bond
python/inc/bond
- thirdparty/rapidjson/include/rapidjson
DESTINATION include
PATTERN *.cpp EXCLUDE)

View File

@ -0,0 +1,22 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0d743da4..72d62c5e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -49,7 +49,14 @@ install (EXPORT bond
# if BOND_GBC_PATH is set we must copy over that gbc to the install location
if (BOND_GBC_PATH)
- install (FILES
- ${BOND_GBC_PATH}
- DESTINATION bin)
+ if (WIN32)
+ set(INSTALLED_GBC_NAME gbc.exe)
+ else()
+ set(INSTALLED_GBC_NAME gbc)
+ endif()
+
+ install (
+ FILES ${BOND_GBC_PATH}
+ DESTINATION bin
+ RENAME ${INSTALLED_GBC_NAME})
endif()

View File

@ -1,5 +1,5 @@
Source: bond
Maintainer: bond@microsoft.com
Version: 5.0.0-4-g53ea136
Version: 5.2.0
Description: Bond is a cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services. <https://github.com/Microsoft/bond>
Build-Depends: boost, rapidjson

View File

@ -1,31 +1,51 @@
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
message(STATUS "Warning: Static building not supported yet. Building dynamic.")
set(VCPKG_LIBRARY_LINKAGE dynamic)
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
message(STATUS "Warning: Dynamic building not supported yet. Building static.")
set(VCPKG_LIBRARY_LINKAGE static)
endif()
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/bond-53ea13692925bee4ba494ee9de3614f15c09d85d)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/bond-5.2.0)
vcpkg_download_distfile(ARCHIVE
URLS "https://github.com/Microsoft/bond/archive/53ea13692925bee4ba494ee9de3614f15c09d85d.zip"
FILENAME "bond-5.0.0-4-g53ea136.zip"
SHA512 fe39dc211f6b99cba3f2284d78a524305dfb8dcd1f597639c45625df369f96c3321cb6782fef9eb34d34fab69c8da9015024eee34be6d0a76d730729517183da
URLS "https://github.com/Microsoft/bond/archive/5.2.0.zip"
FILENAME "bond-5.2.0.zip"
SHA512 bc533d9e7431d0690b555aa4a42ca947f8025fc388f698c40cfeacf4286892ac5fd86d93df187009d4791e3eae240eb60886947cfe600838c6058274eb4d625c
)
vcpkg_download_distfile(GBC_ARCHIVE
URLS "https://github.com/Microsoft/bond/releases/download/5.2.0/gbc-5.2.0-amd64.zip"
FILENAME "gbc-5.2.0-amd64.zip"
SHA512 9413c0035939788724e08ac858bfc3b2ccefbba74ed737b22eca35ec0da576aa2bf8403e606d2ac20b3fbc827933c289630266824613e04b1921b66fef00e132
)
vcpkg_extract_source_archive(${ARCHIVE})
# To build Bond, you'll either need to have the Haskell toolchain installed
# or set the environment variable BOND_GBC_PATH to point to a directory that
# contains a pre-compiled version of gbc.exe.
#
# You can get a pre-compiled version of gbc from the Bond.Compiler NuGet
# package <http://www.nuget.org/packages/Bond.Compiler/>.
#
# For instructions on installing the Haskell toolchain and getting it to
# work with Bond, see the Bond README
# <https://github.com/Microsoft/bond/blob/master/README.md#windows>
# Extract the precompiled gbc
vcpkg_extract_source_archive(${GBC_ARCHIVE} ${CURRENT_BUILDTREES_DIR}/tools/)
set(FETCHED_GBC_PATH ${CURRENT_BUILDTREES_DIR}/tools/gbc-5.2.0-amd64.exe)
if (NOT EXISTS ${FETCHED_GBC_PATH})
message(FATAL_ERROR "Fetching GBC failed. Expected '${FETCHED_GBC_PATH}' to exists, but it doesn't.")
endif()
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
# Change Boost_USE_STATIC_LIBS to be compatible with vcpkg's treatment
# of Boost
${CMAKE_CURRENT_LIST_DIR}/0001_boost_static_libs.patch
# Don't install rapidjson from the (empty) submodule. With vcpkg, we get
# rapidjson from vcpkg
${CMAKE_CURRENT_LIST_DIR}/0002_omit_rapidjson.patch
# Temporary until this is committed upstream. See
# https://github.com/Microsoft/bond/pull/324 for details.
${CMAKE_CURRENT_LIST_DIR}/0003_rename_gbc_during_install.patch
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-DBOND_LIBRARIES_ONLY=TRUE
-DBOND_GBC_PATH=${FETCHED_GBC_PATH}
)
vcpkg_install_cmake()
@ -34,11 +54,14 @@ vcpkg_install_cmake()
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/bond)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/bond/LICENSE ${CURRENT_PACKAGES_DIR}/share/bond/copyright)
# Drop a copy of gbc in tools/ so that it can be used
file(COPY ${CURRENT_PACKAGES_DIR}/bin/gbc.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/)
# vcpkg doesn't--as of version 0.0.30--like executables such as gbc.exe in
# the output. Just delete it for now.
file(REMOVE
${CURRENT_PACKAGES_DIR}/bin/gbc.exe
${CURRENT_PACKAGES_DIR}/debug/bin/gbc.exe)
# the output. Just delete the bin/ directories for now.
file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/bin/
${CURRENT_PACKAGES_DIR}/debug/bin/)
# There's no way to supress installation of the headers in the debug build,
# so we just delete them.

View File

@ -0,0 +1,20 @@
diff --git a/bin/NativeTests/NativeTests.vcxproj b/bin/NativeTests/NativeTests.vcxproj
index d020992..ac70a65 100644
--- a/bin/NativeTests/NativeTests.vcxproj
+++ b/bin/NativeTests/NativeTests.vcxproj
@@ -30,6 +30,15 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<SmallerTypeCheck>false</SmallerTypeCheck>
<MinimalRebuild>false</MinimalRebuild>
+ <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</TreatWarningAsError>
+ <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</TreatWarningAsError>
+ <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">false</TreatWarningAsError>
+ <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</TreatWarningAsError>
+ <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</TreatWarningAsError>
+ <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Test|ARM'">false</TreatWarningAsError>
+ <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</TreatWarningAsError>
+ <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</TreatWarningAsError>
+ <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='Test|x64'">false</TreatWarningAsError>
<!-- <CallingConvention Condition="'$(Platform)'=='Win32'">CDecl</CallingConvention> -->
</ClCompile>
<Link>

View File

@ -4,14 +4,20 @@
endif()
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/ChakraCore-1.4.0)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/ChakraCore-1.4.1)
vcpkg_download_distfile(ARCHIVE_FILE
URLS "https://github.com/Microsoft/ChakraCore/archive/v1.4.0.tar.gz"
FILENAME "ChakraCore-1.4.0.tar.gz"
SHA512 d515d56ff1c5776ca4663e27daa4d1c7ca58c57f097799de756980771b5701e35639eefa4db5921d7327e6607b8920df3b30677eb467123e04536df0d971cebc
URLS "https://github.com/Microsoft/ChakraCore/archive/v1.4.1.tar.gz"
FILENAME "ChakraCore-1.4.1.tar.gz"
SHA512 9ca89de88a4d6102826ce4e301ea81b70296cca72131043f9942de715dee2862791c6f33ebce1f12fcafc1554a872a2cf9317313d56c57abff0a6d814a77f2d5
)
vcpkg_extract_source_archive(${ARCHIVE_FILE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
${CMAKE_CURRENT_LIST_DIR}/disable_warning_as_error.patch
)
vcpkg_build_msbuild(
PROJECT_PATH ${SOURCE_PATH}/Build/Chakra.Core.sln
)
@ -19,6 +25,8 @@ vcpkg_build_msbuild(
file(INSTALL
${SOURCE_PATH}/lib/jsrt/ChakraCore.h
${SOURCE_PATH}/lib/jsrt/ChakraCommon.h
${SOURCE_PATH}/lib/jsrt/ChakraCommonWindows.h
${SOURCE_PATH}/lib/jsrt/ChakraDebug.h
DESTINATION ${CURRENT_PACKAGES_DIR}/include
)
file(INSTALL
@ -39,6 +47,12 @@ file(INSTALL
${SOURCE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/Chakracore.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/lib
)
file(INSTALL
${SOURCE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/ch.exe
${SOURCE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/GCStress.exe
${SOURCE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/rl.exe
DESTINATION ${CURRENT_PACKAGES_DIR}/tools/chakracore)
vcpkg_copy_pdbs()
file(INSTALL
${SOURCE_PATH}/LICENSE.txt
DESTINATION ${CURRENT_PACKAGES_DIR}/share/ChakraCore RENAME copyright)

View File

@ -1,3 +1,3 @@
Source: clockutils
Version: 1.1.1
Version: 1.1.1-3651f232c27074c4ceead169e223edf5f00247c5
Description: A lightweight c++ library for commonly needed tasks. Optimized for simplicity and speed.

View File

@ -1,9 +1,10 @@
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/clockUtils-1.1.1)
set(VERSION 3651f232c27074c4ceead169e223edf5f00247c5)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/clockUtils-${VERSION})
vcpkg_download_distfile(ARCHIVE
URLS "https://github.com/ClockworkOrigins/clockUtils/archive/1.1.1.tar.gz"
FILENAME "clockUtils-1.1.1.tar.gz"
SHA512 6b0c57862baf04c0c5529549ba13983e53445172d9a272571aa20968ba6dba15f1cf480096ca100d450218fef090805366d0564c77a4aa4721a4fe694a0481c9
URLS "https://github.com/ClockworkOrigins/clockUtils/archive/${VERSION}.tar.gz"
FILENAME "clockUtils-${VERSION}.tar.gz"
SHA512 ddb70cae9ced25de77a2df1854dac15e58a77347042ba3ee9c691f85f49edbc6539c84929a7477d429fb9161ba24c57d24d767793b8b1180216d5ddfc5d3ed6a
)
vcpkg_extract_source_archive(${ARCHIVE})
@ -33,5 +34,6 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/clockUtils)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/clockUtils/LICENSE ${CURRENT_PACKAGES_DIR}/share/clockUtils/copyright)
file(REMOVE ${CURRENT_PACKAGES_DIR}/LICENSE)
file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/LICENSE)
vcpkg_copy_pdbs()

3
ports/dlib/CONTROL Normal file
View File

@ -0,0 +1,3 @@
Source: dlib
Version: 19.2
Description: Modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++

45
ports/dlib/portfile.cmake Normal file
View File

@ -0,0 +1,45 @@
# Common Ambient Variables:
# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
# TARGET_TRIPLET is the current triplet (x86-windows, etc)
# PORT is the current port name (zlib, etc)
# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
#
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/dlib-19.2)
vcpkg_download_distfile(ARCHIVE
URLS "http://dlib.net/files/dlib-19.2.tar.bz2"
FILENAME "dlib-19.2.tar.bz2"
SHA512 dcef5c8be52fe2650c1eccac6c7ac4050075dc07ee504a8bf3df6c9a597da5fdc09506e631abfa979d71c74940ce39ec5267be4c3a676a01ac66fcb14cbfe854
)
vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA # Disable this option if project cannot be built with Ninja
# OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2
# OPTIONS_RELEASE -DOPTIMIZE=1
# OPTIONS_DEBUG -DDEBUGGABLE=1
)
vcpkg_install_cmake()
# There is no way to suppress installation of the headers and resource files in debug build.
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/dlib/test)
# Remove other files not required in package
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/dlib/all)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/dlib/cmake_utils)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/dlib/external/libpng/arm)
# Handle copyright
#file(COPY ${SOURCE_PATH}/docs/license.html DESTINATION ${CURRENT_PACKAGES_DIR}/share/dlib)
file(COPY ${CURRENT_PACKAGES_DIR}/share/doc/dlib/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/dlib)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/dlib/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/dlib/COPYRIGHT)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/doc)

View File

@ -1,3 +1,3 @@
Source: fmt
Version: 3.0.1-2
Version: 3.0.1-4
Description: Formatting library for C++. It can be used as a safe alternative to printf or as a fast alternative to IOStreams.

View File

@ -13,6 +13,7 @@ vcpkg_extract_source_archive(${ARCHIVE_FILE})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DFMT_CMAKE_DIR=share/fmt
-DFMT_TEST=OFF
@ -29,6 +30,10 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/fmt.dll ${CURRENT_PACKAGES_DIR}/bin/fmt.dll)
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/fmt.dll ${CURRENT_PACKAGES_DIR}/debug/bin/fmt.dll)
# Force FMT_SHARED to 1
file(READ ${CURRENT_PACKAGES_DIR}/include/fmt/format.h FMT_FORMAT_H)
string(REPLACE "defined(FMT_SHARED)" "1" FMT_FORMAT_H "${FMT_FORMAT_H}")
file(WRITE ${CURRENT_PACKAGES_DIR}/include/fmt/format.h "${FMT_FORMAT_H}")
endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
#file(REMOVE ${CURRENT_PACKAGES_DIR}/include/fmt/format.cc)

View File

@ -0,0 +1,128 @@
cmake_minimum_required(VERSION 3.0)
project(gdk-pixbuf)
set(GDK_PIXBUF_LIB_SUFFIX 2.0)
set(GDK_PIXBUF_DLL_SUFFIX 2)
set(GDK_PIXBUF_BINARY_VERSION 2.10.0)
set(GLIB_LIB_VERSION 2.0)
find_package(ZLIB REQUIRED)
find_package(PNG REQUIRED)
find_path(GLIB_INCLUDE_DIR glib.h)
find_library(GLIB_GLIB_LIBRARY glib-${GLIB_LIB_VERSION})
find_library(GLIB_GIO_LIBRARY gio-${GLIB_LIB_VERSION})
find_library(GLIB_GOBJECT_LIBRARY gobject-${GLIB_LIB_VERSION})
find_library(GLIB_GMODULE_LIBRARY gmodule-${GLIB_LIB_VERSION})
set(GLIB_LIBRARIES ${GLIB_GLIB_LIBRARY} ${GLIB_GOBJECT_LIBRARY} ${GLIB_GMODULE_LIBRARY} ${GLIB_GIO_LIBRARY})
find_path(LIBINTL_INCLUDE_DIR libintl.h)
find_library(LIBINTL_LIBRARY NAMES libintl intl)
configure_file(./config.h.win32 ${CMAKE_SOURCE_DIR}/config.h COPYONLY)
include_directories(. ./gdk-pixbuf)
add_library(gdk-pixbuf
gdk-pixbuf/gdk-pixbuf.c
gdk-pixbuf/gdk-pixbuf-animation.c
gdk-pixbuf/gdk-pixbuf-data.c
gdk-pixbuf/gdk-pixbuf-io.c
gdk-pixbuf/gdk-pixbuf-loader.c
gdk-pixbuf/gdk-pixbuf-scale.c
gdk-pixbuf/gdk-pixbuf-simple-anim.c
gdk-pixbuf/gdk-pixbuf-scaled-anim.c
gdk-pixbuf/gdk-pixbuf-util.c
gdk-pixbuf/gdk-pixdata.c
gdk-pixbuf/gdk-pixbuf-enum-types.c
gdk-pixbuf/io-ani.c
gdk-pixbuf/io-ani-animation.c
gdk-pixbuf/io-icns.c
gdk-pixbuf/io-pnm.c
gdk-pixbuf/io-png.c
gdk-pixbuf/io-qtif.c
gdk-pixbuf/io-tga.c
gdk-pixbuf/gdk-pixbuf-buffer-queue.c
gdk-pixbuf/io-xpm.c
gdk-pixbuf/io-xbm.c
gdk-pixbuf/pixops/pixops.c
gdk-pixbuf/io-gdip-animation.c
gdk-pixbuf/io-gdip-bmp.c
gdk-pixbuf/io-gdip-emf.c
gdk-pixbuf/io-gdip-gif.c
gdk-pixbuf/io-gdip-ico.c
gdk-pixbuf/io-gdip-jpeg.c
gdk-pixbuf/io-gdip-tiff.c
gdk-pixbuf/io-gdip-utils.c
gdk-pixbuf/io-gdip-wmf.c)
target_include_directories(gdk-pixbuf PRIVATE
${GLIB_INCLUDE_DIR}
${PNG_INCLUDE_DIRS}
${ZLIB_INCLUDE_DIRS}
${LIBINTL_INCLUDE_DIR})
target_link_libraries(gdk-pixbuf
${GLIB_LIBRARIES}
${ZLIB_LIBRARIES}
${PNG_LIBRARIES}
${LIBINTL_LIBRARY}
Gdiplus)
target_compile_definitions(gdk-pixbuf PRIVATE
HAVE_CONFIG_H
GDK_PIXBUF_COMPILATION
GDK_PIXBUF_ENABLE_BACKEND
DLL_EXPORT
GDK_PIXBUF_RELOCATABLE
GDK_PIXBUF_PREFIX="/dummy"
GDK_PIXBUF_BINARY_VERSION="${GDK_PIXBUF_BINARY_VERSION}"
INCLUDE_ani
INCLUDE_tga
INCLUDE_xbm
INCLUDE_png
INCLUDE_qtif
INCLUDE_pnm
INCLUDE_icns
INCLUDE_xpm
INCLUDE_gdiplus
G_DISABLE_SINGLE_INCLUDES
GDK_PIXBUF_DISABLE_SINGLE_INCLUDES)
set_target_properties(gdk-pixbuf PROPERTIES
OUTPUT_NAME gdk_pixbuf-${GDK_PIXBUF_DLL_SUFFIX}
ARCHIVE_OUTPUT_NAME gdk_pixbuf-${GDK_PIXBUF_LIB_SUFFIX})
install(TARGETS gdk-pixbuf
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib)
macro(gdk_add_tool TOOL_NAME)
add_executable(${TOOL_NAME} ${ARGN})
target_include_directories(${TOOL_NAME} PRIVATE ${GLIB_INCLUDE_DIR})
target_link_libraries(${TOOL_NAME} gdk-pixbuf ${GLIB_LIBRARIES})
install(TARGETS ${TOOL_NAME} RUNTIME DESTINATION tools/gdk-pixbuf)
endmacro()
if(NOT GDK_SKIP_TOOLS)
gdk_add_tool(gdk-pixbuf-csource gdk-pixbuf/gdk-pixbuf-csource.c)
gdk_add_tool(gdk-pixbuf-pixdata gdk-pixbuf/gdk-pixbuf-pixdata.c)
endif()
if(NOT GDK_SKIP_HEADERS)
INSTALL(FILES
gdk-pixbuf/gdk-pixbuf.h
gdk-pixbuf/gdk-pixbuf-autocleanups.h
gdk-pixbuf/gdk-pixbuf-core.h
gdk-pixbuf/gdk-pixbuf-transform.h
gdk-pixbuf/gdk-pixbuf-io.h
gdk-pixbuf/gdk-pixbuf-animation.h
gdk-pixbuf/gdk-pixbuf-simple-anim.h
gdk-pixbuf/gdk-pixbuf-loader.h
gdk-pixbuf/gdk-pixbuf-enum-types.h
gdk-pixbuf/gdk-pixbuf-marshal.h
gdk-pixbuf/gdk-pixbuf-features.h
gdk-pixbuf/gdk-pixdata.h
gdk-pixbuf/gdk-pixbuf-macros.h
DESTINATION include/gdk-pixbuf)
endif()

4
ports/gdk-pixbuf/CONTROL Normal file
View File

@ -0,0 +1,4 @@
Source: gdk-pixbuf
Version: 2.36.5
Description: Image loading library.
Build-Depends: gettext, zlib, libpng, glib

View File

@ -0,0 +1,28 @@
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
message(STATUS "Warning: Static building not supported. Building dynamic.")
set(VCPKG_LIBRARY_LINKAGE dynamic)
endif()
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/gdk-pixbuf-2.36.5)
vcpkg_download_distfile(ARCHIVE
URLS "http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.36/gdk-pixbuf-2.36.5.tar.xz"
FILENAME "gdk-pixbuf-2.36.5.tar.xz"
SHA512 27c39bace7bc6cf713915dcb1f35eebfb80ae599d1c9106f48af4cd447050c41e37adee76d29d6b42fbe3d0123b054c8701f2d1b4b99060b4869aa7871523b70)
vcpkg_extract_source_archive(${ARCHIVE})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS_DEBUG
-DGDK_SKIP_HEADERS=ON
-DGDK_SKIP_TOOLS=ON)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/gdk-pixbuf)
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/gdk-pixbuf)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/gdk-pixbuf/COPYING ${CURRENT_PACKAGES_DIR}/share/gdk-pixbuf/copyright)

View File

@ -53,6 +53,19 @@ file(REMOVE ${CURRENT_PACKAGES_DIR}/AUTHORS
${CURRENT_PACKAGES_DIR}/debug/VERSION
)
# There are some executables that are only built if glfw is found by CMake (see source/tools/*/CMakeLists.txt).
# glfw is not listed as a dependency for glbinding, so this only happen on systems where package glfw3 is present.
# glbinding's CMake doesn't offer the choice to exlude those tools from the build process, so deleting them here:
file(REMOVE ${CURRENT_PACKAGES_DIR}/glcontexts.exe
${CURRENT_PACKAGES_DIR}/glfunctions.exe
${CURRENT_PACKAGES_DIR}/glmeta.exe
${CURRENT_PACKAGES_DIR}/glqueries.exe
${CURRENT_PACKAGES_DIR}/debug/glcontextsd.exe
${CURRENT_PACKAGES_DIR}/debug/glfunctionsd.exe
${CURRENT_PACKAGES_DIR}/debug/glmetad.exe
${CURRENT_PACKAGES_DIR}/debug/glqueriesd.exe
)
# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/glbinding)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/glbinding/LICENSE ${CURRENT_PACKAGES_DIR}/share/glbinding/copyright)

View File

@ -1,4 +1,4 @@
Source: grpc
Version: 1.1.0-dev-1674f65-1
Version: 1.1.2-1
Build-Depends: zlib, openssl, protobuf
Description: An RPC library and framework

View File

@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d52e199..30ed816 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2072,6 +2072,8 @@ foreach(_hdr
include/grpc/impl/codegen/sync_generic.h
include/grpc/impl/codegen/sync_posix.h
include/grpc/impl/codegen/sync_windows.h
+ include/grpc++/impl/codegen/proto_utils.h
+ include/grpc++/impl/codegen/config_protobuf.h
)
string(REPLACE "include/" "" _path ${_hdr})
get_filename_component(_path ${_path} PATH)

View File

@ -3,39 +3,28 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
set(VCPKG_LIBRARY_LINKAGE static)
endif()
include(vcpkg_common_functions)
find_program(GIT git)
set(GIT_URL "https://github.com/grpc/grpc.git")
set(GIT_REV "1674f650ad9411448a35b7c19c5dbdaf0ebd8916")
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/grpc-1.1.2)
if(NOT EXISTS "${DOWNLOADS}/grpc.git")
message(STATUS "Cloning")
vcpkg_execute_required_process(
COMMAND ${GIT} clone --bare ${GIT_URL} ${DOWNLOADS}/grpc.git
WORKING_DIRECTORY ${DOWNLOADS}
LOGNAME clone
)
if(EXISTS "${CURRENT_BUILDTREES_DIR}/src/.git")
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src)
endif()
message(STATUS "Cloning done")
if(NOT EXISTS "${CURRENT_BUILDTREES_DIR}/src/.git")
message(STATUS "Adding worktree")
vcpkg_execute_required_process(
COMMAND ${GIT} worktree add -f --detach ${CURRENT_BUILDTREES_DIR}/src ${GIT_REV}
WORKING_DIRECTORY ${DOWNLOADS}/grpc.git
LOGNAME worktree
)
message(STATUS "Updating sumbodules")
vcpkg_execute_required_process(
COMMAND ${GIT} submodule update --init third_party/nanopb
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src
LOGNAME submodule
)
endif()
message(STATUS "Adding worktree and updating sumbodules done")
vcpkg_download_distfile(ARCHIVE_FILE
URLS "https://github.com/grpc/grpc/archive/v1.1.2.zip"
FILENAME "grpc-v1.1.2.tar.gz"
SHA512 6e0666ecb72f0a78148fadf627e05b5ba0f1c893919f1e691775d09374e7c4b9b05ff1d276e716ac2a81eb2a3fb88c4a095928589286d2f083bd60539050f5d9
)
vcpkg_extract_source_archive(${ARCHIVE_FILE})
# patch is from https://github.com/grpc/grpc/commit/a5fac1f8a00b0ba6ca784baa4783ab947579693b
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES ${CMAKE_CURRENT_LIST_DIR}/grpc-fix-cmake-build.patch
)
vcpkg_configure_cmake(
SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-DgRPC_INSTALL=ON
-DgRPC_ZLIB_PROVIDER=package
@ -48,11 +37,34 @@ vcpkg_install_cmake()
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/grpc)
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake/gRPC/gRPCConfig.cmake ${CURRENT_PACKAGES_DIR}/share/grpc/gRPCConfig.cmake)
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake/gRPC/gRPCConfigVersion.cmake ${CURRENT_PACKAGES_DIR}/share/grpc/gRPCConfigVersion.cmake)
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake/gRPC/gRPCTargets.cmake ${CURRENT_PACKAGES_DIR}/share/grpc/gRPCTargets.cmake)
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake/gRPC/gRPCTargets-release.cmake ${CURRENT_PACKAGES_DIR}/share/grpc/gRPCTargets-release.cmake)
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/cmake/gRPC/gRPCTargets-debug.cmake ${CURRENT_PACKAGES_DIR}/share/grpc/gRPCTargets-debug.cmake)
file(INSTALL ${CURRENT_BUILDTREES_DIR}/src/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/grpc RENAME copyright)
# Update import target prefix in gRPCTargets.cmake
file(READ ${CURRENT_PACKAGES_DIR}/lib/cmake/gRPC/gRPCTargets.cmake _contents)
set(pattern "get_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)\n")
string(REPLACE "${pattern}${pattern}" "${pattern}" _contents "${_contents}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/grpc/gRPCTargets.cmake "${_contents}")
# Update paths in gRPCTargets-release.cmake
file(READ ${CURRENT_PACKAGES_DIR}/lib/cmake/gRPC/gRPCTargets-release.cmake _contents)
string(REPLACE "\${_IMPORT_PREFIX}/bin/" "\${_IMPORT_PREFIX}/tools/" _contents "${_contents}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/grpc/gRPCTargets-release.cmake "${_contents}")
# Update paths in gRPCTargets-debug.cmake
file(READ ${CURRENT_PACKAGES_DIR}/debug/lib/cmake/gRPC/gRPCTargets-debug.cmake _contents)
string(REPLACE "\${_IMPORT_PREFIX}/bin/" "\${_IMPORT_PREFIX}/tools/" _contents "${_contents}")
string(REPLACE "\${_IMPORT_PREFIX}/lib/" "\${_IMPORT_PREFIX}/debug/lib/" _contents "${_contents}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/grpc/gRPCTargets-debug.cmake "${_contents}")
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/grpc RENAME copyright)
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools)
file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/grpc_cpp_plugin.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
# Install tools and plugins
file(
INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/
DESTINATION ${CURRENT_PACKAGES_DIR}/tools
FILES_MATCHING PATTERN "*.exe"
)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)

4
ports/hdf5/CONTROL Normal file
View File

@ -0,0 +1,4 @@
Source: hdf5
Version: 1.8.18
Description: HDF5 is a data model, library, and file format for storing and managing data
Build-Depends: zlib, szip, msmpi

48
ports/hdf5/portfile.cmake Normal file
View File

@ -0,0 +1,48 @@
# Common Ambient Variables:
# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
# TARGET_TRIPLET is the current triplet (x86-windows, etc)
# PORT is the current port name (zlib, etc)
# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
#
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/hdf5-1.8.18)
vcpkg_download_distfile(ARCHIVE
URLS "https://support.hdfgroup.org/ftp/HDF5/current18/src/hdf5-1.8.18.tar.bz2"
FILENAME "hdf5-1.8.18.tar.bz2"
SHA512 01f6d14bdd3be2ced9c63cc9e1820cd7ea11db649ff9f3a3055c18c4b0fffe777fd23baad536e3bce31c4d76fe17db64a3972762e1bb4d232927c1ca140e72b2
)
vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=1
-DBUILD_TESTING=OFF
-DHDF5_BUILD_EXAMPLES=OFF
-DHDF5_BUILD_TOOLS=OFF
-DHDF5_BUILD_CPP_LIB=OFF
-DHDF5_ENABLE_PARALLEL=ON
-DHDF5_ENABLE_Z_LIB_SUPPORT=ON
-DHDF5_ENABLE_SZIP_SUPPORT=ON
-DHDF5_ENABLE_SZIP_ENCODING=ON
-DHDF5_INSTALL_DATA_DIR=share/hdf5/data
-DHDF5_INSTALL_CMAKE_DIR=share/hdf5
"-DSZIP_LIBRARY_DEBUG=${CURRENT_INSTALLED_DIR}\\debug\\lib\\szip_D.lib"
"-DSZIP_LIBRARY_RELEASE=${CURRENT_INSTALLED_DIR}\\lib\\szip.lib"
"-DSZIP_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}\\include"
)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
file(RENAME ${CURRENT_PACKAGES_DIR}/share/hdf5/data/COPYING ${CURRENT_PACKAGES_DIR}/share/hdf5/copyright)
file(READ ${CURRENT_PACKAGES_DIR}/debug/share/hdf5/hdf5-targets-debug.cmake HDF5_TARGETS_DEBUG_MODULE)
string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" HDF5_TARGETS_DEBUG_MODULE "${HDF5_TARGETS_DEBUG_MODULE}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/hdf5/hdf5-targets-debug.cmake "${HDF5_TARGETS_DEBUG_MODULE}")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)

3
ports/libepoxy/CONTROL Normal file
View File

@ -0,0 +1,3 @@
Source: libepoxy
Version: 1.4.0-2432daf-1
Description: Epoxy is a library for handling OpenGL function pointer management for you

View File

@ -0,0 +1,26 @@
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
message(STATUS "Warning: Static building not supported yet. Building dynamic.")
set(VCPKG_LIBRARY_LINKAGE dynamic)
endif()
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libepoxy-2432daf4cf58b5ff11e008ca34811588285c43b3)
vcpkg_download_distfile(ARCHIVE
URLS "https://github.com/anholt/libepoxy/archive/2432daf4cf58b5ff11e008ca34811588285c43b3.zip"
FILENAME "libepoxy-2432daf4cf58b5ff11e008ca34811588285c43b3.zip"
SHA512 70b59b6c5722eb87522927fdedab44f74ffd2d71d2ae42509de07b0c3e13f71320b25da0d4c75dca75c4208ea7a525483267d6ccb8acd5274728c015c7ac4006)
vcpkg_extract_source_archive(${ARCHIVE})
# ensure python is on path - not for meson but some source generation scripts
vcpkg_find_acquire_program(PYTHON3)
get_filename_component(PYTHON3_PATH ${PYTHON3} DIRECTORY)
set(ENV{PATH} "$ENV{PATH};${PYTHON3_PATH}")
vcpkg_configure_meson(SOURCE_PATH ${SOURCE_PATH})
vcpkg_install_meson()
vcpkg_copy_pdbs()
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libepoxy)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libepoxy/COPYING ${CURRENT_PACKAGES_DIR}/share/libepoxy/copyright)

View File

@ -14,7 +14,7 @@ vcpkg_apply_patches(
vcpkg_find_acquire_program(NASM)
get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY)
set(ENV{PATH} "${NASM_EXE_PATH};$ENV{PATH}")
set(ENV{PATH} "$ENV{PATH};${NASM_EXE_PATH}")
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
set(BUILD_STATIC OFF)

View File

@ -1,3 +1,3 @@
Source: libmysql
Version: 5.7.17
Version: 5.7.17-1
Description: A MySQL client library for C development.

View File

@ -24,6 +24,7 @@ vcpkg_configure_cmake(
-DWITHOUT_SERVER=ON
-DWITH_UNIT_TESTS=OFF
-DENABLED_PROFILING=OFF
-DWIX_DIR=OFF
)
vcpkg_install_cmake()

View File

@ -0,0 +1,139 @@
cmake_minimum_required(VERSION 3.0)
project(libnice C)
SET (this_target libnice)
add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS)
configure_file(${CMAKE_SOURCE_DIR}/win32/vs9/config.h ${CMAKE_SOURCE_DIR}/config.h COPYONLY)
configure_file(${CMAKE_SOURCE_DIR}/win32/vs9/libnice.def ${CMAKE_SOURCE_DIR}/libnice.def COPYONLY)
find_path(GLIB_INCLUDE_DIR glib.h)
find_library(GLIB_LIBRARY glib-2.0)
find_library(GOBJECT_LIBRARY gobject-2.0)
find_library(GIO_LIBRARY gio-2.0)
find_library(IPHLPAPI_LIBRARY iphlpapi)
find_library(WS2_32_LIB ws2_32)
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/agent
${CMAKE_CURRENT_SOURCE_DIR}/random
${CMAKE_CURRENT_SOURCE_DIR}/socket
${CMAKE_CURRENT_SOURCE_DIR}/stun
${GLIB_INCLUDE_DIR})
SET (SRCS
./agent/address.c
./agent/agent.c
./agent/candidate.c
./agent/component.c
./agent/conncheck.c
./agent/debug.c
./agent/discovery.c
./agent/discovery.c
./agent/inputstream.c
./agent/interfaces.c
./agent/iostream.c
./agent/outputstream.c
./agent/pseudotcp.c
./agent/stream.c
./random/random.c
./random/random-glib.c
./socket/http.c
./socket/pseudossl.c
./socket/socket.c
./socket/socks5.c
./socket/tcp-active.c
./socket/tcp-bsd.c
./socket/tcp-passive.c
./socket/udp-bsd.c
./socket/udp-turn.c
./socket/udp-turn-over-tcp.c
./stun/debug.c
./stun/md5.c
./stun/rand.c
./stun/sha1.c
./stun/stun5389.c
./stun/stunagent.c
./stun/stuncrc32.c
./stun/stunhmac.c
./stun/stunmessage.c
./stun/usages/bind.c
./stun/usages/ice.c
./stun/usages/timer.c
./stun/usages/turn.c
./stun/utils.c
./libnice.def
)
SET(HEADERS
./config.h
./agent/address.h
./agent/agent.h
./agent/agent-priv.h
./agent/candidate.h
./agent/component.h
./agent/conncheck.h
./agent/debug.h
./agent/discovery.h
./agent/discovery.h
./agent/inputstream.h
./agent/interfaces.h
./agent/iostream.h
./agent/outputstream.h
./agent/pseudotcp.h
./agent/stream.h
./random/random.h
./random/random-glib.h
./socket/http.h
./socket/pseudossl.h
./socket/socket.h
./socket/socks5.h
./socket/tcp-active.h
./socket/tcp-bsd.h
./socket/tcp-passive.h
./socket/udp-bsd.h
./socket/udp-turn.h
./socket/udp-turn-over-tcp.h
./stun/constants.h
./stun/debug.h
./stun/md5.h
./stun/rand.h
./stun/sha1.h
./stun/stun5389.h
./stun/stunagent.h
./stun/stuncrc32.h
./stun/stunhmac.h
./stun/stunmessage.h
./stun/usages/bind.h
./stun/usages/ice.h
./stun/usages/timer.h
./stun/usages/turn.h
./stun/utils.h
./stun/win32_common.h
)
add_library(libnice ${SRCS} ${HEADERS})
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/wd4244 /wd4005 /wd4391 /wd4142 /wd4267")
target_link_libraries(libnice ${IPHLPAPI_LIBRARY} ${WS2_32_LIB} ${GLIB_LIBRARY} ${GOBJECT_LIBRARY} ${GIO_LIBRARY})
install(TARGETS libnice
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib)
if (${CMAKE_BUILD_TYPE} STREQUAL "Release")
install(FILES agent/address.h DESTINATION include/nice)
install(FILES agent/agent.h DESTINATION include/nice)
install(FILES agent/candidate.h DESTINATION include/nice)
install(FILES agent/debug.h DESTINATION include/nice)
install(FILES agent/interfaces.h DESTINATION include/nice)
install(FILES nice/nice.h DESTINATION include/nice)
install(FILES agent/pseudotcp.h DESTINATION include/nice)
install(FILES stun/constants.h DESTINATION include/stun)
install(FILES stun/debug.h DESTINATION include/stun)
install(FILES stun/stunagent.h DESTINATION include/stun)
install(FILES stun/stunmessage.h DESTINATION include/stun)
install(FILES stun/usages/bind.h DESTINATION include/stun/usages)
install(FILES stun/usages/ice.h DESTINATION include/stun/usages)
install(FILES stun/usages/timer.h DESTINATION include/stun/usages)
install(FILES stun/usages/turn.h DESTINATION include/stun/usages)
install(FILES stun/win32_common.h DESTINATION include/stun)
endif()

4
ports/libnice/CONTROL Normal file
View File

@ -0,0 +1,4 @@
Source: libnice
Version: 0.1.13
Description: Libnice is an implementation of the IETF's Interactive Connectivity Establishment (ICE) standard (RFC 5245) and the Session Traversal Utilities for NAT (STUN) standard (RFC 5389).
Build-Depends: glib

View File

@ -0,0 +1,27 @@
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libnice-0.1.13)
vcpkg_download_distfile(ARCHIVE
URLS "https://nice.freedesktop.org/releases/libnice-0.1.13.tar.gz"
FILENAME "libnice-0.1.13.tar.gz"
SHA512 c9bb81e8cd0b4e3673dba07ce08a16dd8821831339b44f1006510cdc09f9ae4c6eb7d43230711a2509867acb8d7df71821c411830dbf71c5a5d7e802f14a32c1
)
vcpkg_extract_source_archive(${ARCHIVE})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS_RELEASE -DOPTIMIZE=1
OPTIONS_DEBUG -DDEBUGGABLE=1
)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libnice)
file(COPY ${SOURCE_PATH}/COPYING.LGPL DESTINATION ${CURRENT_PACKAGES_DIR}/share/libnice)
file(COPY ${SOURCE_PATH}/COPYING.MPL DESTINATION ${CURRENT_PACKAGES_DIR}/share/libnice)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libnice/COPYING ${CURRENT_PACKAGES_DIR}/share/libnice/copyright)

View File

@ -1,4 +1,4 @@
Source: libraw
Version: 0.17.2-2
Version: 0.18.0-1
Build-Depends: libjpeg-turbo
Description: raw image decoder library

View File

@ -1,9 +1,9 @@
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/LibRaw-0.17.2)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/LibRaw-0.18.0)
vcpkg_download_distfile(ARCHIVE
URLS "http://www.libraw.org/data/LibRaw-0.17.2.zip"
FILENAME "LibRaw-0.17.2"
SHA512 97d34c84dafdcad300d607fbd4df7b120aea1ecdbc2783a8616bc423fa6a7a15adfbeb975f8dab021be09d08ef466c401a3b65bfd1abcfa49d31d4ab91873e60
URLS "http://www.libraw.org/data/LibRaw-0.18.0.zip"
FILENAME "LibRaw-0.18.0.zip"
SHA512 c66ae2331caffe18c2835d76d6106052125fab2f549a6f06687b4c1fedaae1c46ee0e4ae4c23b0480976870d76e8cfdbb91dd3cf11e3433ccc070bf03c538bb1
)
set(LIBRAW_CMAKE_COMMIT "a71f3b83ee3dccd7be32f9a2f410df4d9bdbde0a")
set(LIBRAW_CMAKE_SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/LibRaw-cmake-${LIBRAW_CMAKE_COMMIT})

View File

@ -1,3 +1,3 @@
Source: lmdb
Version: 0.9.18-1
Version: 0.9.18-2
Description: LMDB is an extraordinarily fast, memory-efficient database

View File

@ -1,4 +1,4 @@
Source: mongo-cxx-driver
Version: 3.0.3
Version: 3.0.3-1
Build-Depends: boost,libbson,mongo-c-driver
Description: MongoDB C++ Driver.

View File

@ -53,7 +53,7 @@ file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/include/mongocxx/test_util
${CURRENT_PACKAGES_DIR}/include/mongocxx/private
${CURRENT_PACKAGES_DIR}/include/mongocxx/exception/private
${CURRENT_PACKAGES_DIR}/include/mongocxx/options
${CURRENT_PACKAGES_DIR}/include/mongocxx/options/private
${CURRENT_PACKAGES_DIR}/debug/include)

View File

@ -13,7 +13,7 @@ vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_find_acquire_program(YASM)
get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY)
set(ENV{PATH} "${YASM_EXE_PATH};$ENV{PATH}")
set(ENV{PATH} "$ENV{PATH};${YASM_EXE_PATH}")
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}

3
ports/msmpi/CONTROL Normal file
View File

@ -0,0 +1,3 @@
Source: msmpi
Version: 8.0
Description: Microsoft MPI

117
ports/msmpi/portfile.cmake Normal file
View File

@ -0,0 +1,117 @@
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/msmpi-8.0)
vcpkg_download_distfile(SDK_ARCHIVE
URLS "https://download.microsoft.com/download/B/2/E/B2EB83FE-98C2-4156-834A-E1711E6884FB/msmpisdk.msi"
FILENAME "msmpisdk-8.0.msi"
SHA512 49c762873ba777ccb3c959a1d2ca1392e4c3c8d366e604ad707184ea432302e6649894ec6599162d0d40f3e6ebc0dada1eb9ca0da1cde0f6ba7a9b1847dac8c0
)
### Check for correct version of installed redistributable package
# We always want the ProgramFiles folder even on a 64-bit machine (not the ProgramFilesx86 folder)
vcpkg_get_program_files_platform_bitness(PROGRAM_FILES_PLATFORM_BITNESS)
set(SYSTEM_MPIEXEC_FILEPATH "${PROGRAM_FILES_PLATFORM_BITNESS}/Microsoft MPI/Bin/mpiexec.exe")
set(MSMPI_EXPECTED_FULL_VERSION "8.0.12438.0")
if(EXISTS ${SYSTEM_MPIEXEC_FILEPATH})
set(MPIEXEC_VERSION_LOGNAME "mpiexec-version")
vcpkg_execute_required_process(
COMMAND ${SYSTEM_MPIEXEC_FILEPATH}
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}
LOGNAME ${MPIEXEC_VERSION_LOGNAME}
)
file(READ ${CURRENT_BUILDTREES_DIR}/${MPIEXEC_VERSION_LOGNAME}-out.log MPIEXEC_OUTPUT)
if(${MPIEXEC_OUTPUT} MATCHES "\\[Version ([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)\\]")
if(NOT ${CMAKE_MATCH_1} STREQUAL ${MSMPI_EXPECTED_FULL_VERSION})
message(FATAL_ERROR
" The version of the installed MSMPI redistributable packages does not match the version to be installed\n"
" Expected version: ${MSMPI_EXPECTED_FULL_VERSION}\n"
" Found version: ${CMAKE_MATCH_1}\n")
endif()
else()
message(FATAL_ERROR
" Could not determine installed MSMPI redistributable package version.\n"
" See logs for more information:\n"
" ${CURRENT_BUILDTREES_DIR}\\${MPIEXEC_VERSION_LOGNAME}-out.log\n"
" ${CURRENT_BUILDTREES_DIR}\\${MPIEXEC_VERSION_LOGNAME}-err.log\n")
endif()
else()
vcpkg_download_distfile(REDIST_ARCHIVE
URLS "https://download.microsoft.com/download/B/2/E/B2EB83FE-98C2-4156-834A-E1711E6884FB/MSMpiSetup.exe"
FILENAME "MSMpiSetup-8.0.exe"
SHA512 f5271255817f5417de8e432cd21e5ff3c617911a30b7777560c0ceb6f4031ace5fa88fc7675759ae0964bcf4e2076fe367a06c129f3a9ad06871a08bf95ed68b
)
message(FATAL_ERROR
" Could not find:\n"
" ${SYSTEM_MPIEXEC_FILEPATH}\n"
" Please install the MSMPI redistributable package before trying to install this port.\n"
" The appropriate installer has been downloaded to:\n"
" ${REDIST_ARCHIVE}\n")
endif()
file(TO_NATIVE_PATH "${SDK_ARCHIVE}" SDK_ARCHIVE)
file(TO_NATIVE_PATH "${SOURCE_PATH}/sdk" SDK_SOURCE_DIR)
vcpkg_execute_required_process(
COMMAND msiexec /a ${SDK_ARCHIVE} /qn TARGETDIR=${SDK_SOURCE_DIR}
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}
LOGNAME extract-sdk
)
set(SOURCE_INCLUDE_PATH "${SOURCE_PATH}/sdk/PFiles/Microsoft SDKs/MPI/Include")
set(SOURCE_LIB_PATH "${SOURCE_PATH}/sdk/PFiles/Microsoft SDKs/MPI/Lib")
# Install include files
file(INSTALL
"${SOURCE_INCLUDE_PATH}/mpi.h"
"${SOURCE_INCLUDE_PATH}/mpif.h"
"${SOURCE_INCLUDE_PATH}/mpi.f90"
"${SOURCE_INCLUDE_PATH}/mpio.h"
"${SOURCE_INCLUDE_PATH}/mspms.h"
"${SOURCE_INCLUDE_PATH}/pmidbg.h"
"${SOURCE_INCLUDE_PATH}/${TRIPLET_SYSTEM_ARCH}/mpifptr.h"
DESTINATION
${CURRENT_PACKAGES_DIR}/include
)
# Install release libraries
file(INSTALL
"${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpi.lib"
"${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifec.lib"
"${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifmc.lib"
DESTINATION
${CURRENT_PACKAGES_DIR}/lib
)
if(${TRIPLET_SYSTEM_ARCH} STREQUAL "x86")
file(INSTALL
"${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifes.lib"
"${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifms.lib"
DESTINATION
${CURRENT_PACKAGES_DIR}/lib
)
endif()
# Install debug libraries
# NOTE: since the binary distribution does not include any debug libraries we simply install the release libraries
file(INSTALL
"${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpi.lib"
"${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifec.lib"
"${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifmc.lib"
DESTINATION
${CURRENT_PACKAGES_DIR}/debug/lib
)
if(${TRIPLET_SYSTEM_ARCH} STREQUAL "x86")
file(INSTALL
"${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifes.lib"
"${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifms.lib"
DESTINATION
${CURRENT_PACKAGES_DIR}/debug/lib
)
endif()
# Handle copyright
file(COPY "${SOURCE_PATH}/sdk/PFiles/Microsoft SDKs/MPI/License/license_sdk.rtf" DESTINATION ${CURRENT_PACKAGES_DIR}/share/msmpi)
file(WRITE ${CURRENT_PACKAGES_DIR}/share/msmpi/copyright "See the accompanying license_sdk.rtf")

View File

@ -1,4 +1,4 @@
Source: opencv
Version: 3.1.0-1
Version: 3.2.0
Build-Depends: zlib, libpng, libjpeg-turbo, tiff
Description: computer vision library

View File

@ -1,8 +1,8 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3ee50ff..64b0405 100644
index cc45f6f..b4265bd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -250,6 +250,10 @@ OCV_OPTION(INSTALL_PYTHON_EXAMPLES "Install Python examples" OFF )
@@ -263,6 +263,10 @@ OCV_OPTION(INSTALL_PYTHON_EXAMPLES "Install Python examples" OFF )
OCV_OPTION(INSTALL_ANDROID_EXAMPLES "Install Android examples" OFF IF ANDROID )
OCV_OPTION(INSTALL_TO_MANGLED_PATHS "Enables mangled install paths, that help with side by side installs." OFF IF (UNIX AND NOT ANDROID AND NOT APPLE_FRAMEWORK AND BUILD_SHARED_LIBS) )
OCV_OPTION(INSTALL_TESTS "Install accuracy and performance test binaries and test data" OFF)
@ -13,36 +13,18 @@ index 3ee50ff..64b0405 100644
# OpenCV build options
# ===================================================
@@ -315,7 +319,9 @@ else()
@@ -330,7 +334,9 @@ else()
endif()
if(WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
- if(DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH)
+ if(DEFINED OpenCV_DISABLE_ARCH_PATH)
+ set(OpenCV_INSTALL_BINARIES_PREFIX "")
+ ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "")
+ elseif(DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH)
set(OpenCV_INSTALL_BINARIES_PREFIX "${OpenCV_ARCH}/${OpenCV_RUNTIME}/")
ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "${OpenCV_ARCH}/${OpenCV_RUNTIME}/")
else()
message(STATUS "Can't detect runtime and/or arch")
@@ -379,7 +385,7 @@ else()
set(OPENCV_3P_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}")
set(OPENCV_SAMPLES_SRC_INSTALL_PATH samples/native)
set(OPENCV_JAR_INSTALL_PATH java)
- set(OPENCV_OTHER_INSTALL_PATH etc)
+ set(OPENCV_OTHER_INSTALL_PATH etc CACHE STRING "")
else()
set(OPENCV_LIB_INSTALL_PATH lib${LIB_SUFFIX})
set(OPENCV_3P_LIB_INSTALL_PATH share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH})
@@ -393,7 +399,7 @@ else()
if(LIB_SUFFIX AND NOT SIZEOF_VOID_P_BITS EQUAL LIB_SUFFIX)
set(OPENCV_CONFIG_INSTALL_PATH lib${LIB_SUFFIX}/cmake/opencv)
else()
- set(OPENCV_CONFIG_INSTALL_PATH share/OpenCV)
+ set(OPENCV_CONFIG_INSTALL_PATH share/OpenCV CACHE STRING "")
endif()
endif()
@@ -734,7 +740,7 @@ if(NOT OPENCV_LICENSE_FILE)
@@ -784,7 +790,7 @@ if(NOT OPENCV_LICENSE_FILE)
endif()
# for UNIX it does not make sense as LICENSE and readme will be part of the package automatically
@ -50,29 +32,29 @@ index 3ee50ff..64b0405 100644
+if(ANDROID OR NOT UNIX AND INSTALL_LICENSE)
install(FILES ${OPENCV_LICENSE_FILE}
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
DESTINATION ${CMAKE_INSTALL_PREFIX} COMPONENT libs)
DESTINATION ./ COMPONENT libs)
diff --git a/cmake/OpenCVGenConfig.cmake b/cmake/OpenCVGenConfig.cmake
index dbfd7ca..8bfa448 100644
index 206acfd..b4c223e 100644
--- a/cmake/OpenCVGenConfig.cmake
+++ b/cmake/OpenCVGenConfig.cmake
@@ -103,7 +103,7 @@ set(OpenCV_INCLUDE_DIRS_CONFIGCMAKE "\"\${OpenCV_INSTALL_PATH}/${OPENCV_INCLUDE_
set(OpenCV2_INCLUDE_DIRS_CONFIGCMAKE "\"\"")
set(OpenCV_3RDPARTY_LIB_DIRS_CONFIGCMAKE "\"\${OpenCV_INSTALL_PATH}/${OPENCV_3P_LIB_INSTALL_PATH}\"")
@@ -91,7 +91,7 @@ function(ocv_gen_config TMP_DIR NESTED_PATH ROOT_NAME)
endif()
endfunction()
-if(UNIX) # ANDROID configuration is created here also
+if(UNIX OR INSTALL_FORCE_UNIX_PATHS) # ANDROID configuration is created here also
#http://www.vtk.org/Wiki/CMake/Tutorials/Packaging reference
# For a command "find_package(<name> [major[.minor]] [EXACT] [REQUIRED|QUIET])"
# cmake will look in the following dir on unix:
@@ -127,7 +127,7 @@ endif()
-if(UNIX AND NOT ANDROID)
+if((UNIX AND NOT ANDROID) OR INSTALL_FORCE_UNIX_PATHS)
ocv_gen_config("${CMAKE_BINARY_DIR}/unix-install" "" "")
endif()
@@ -103,7 +103,7 @@ endif()
# --------------------------------------------------------------------------------------------
# Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake -> For use within binary installers/packages
# --------------------------------------------------------------------------------------------
-if(WIN32)
+if(WIN32 AND NOT INSTALL_FORCE_UNIX_PATHS)
set(OpenCV_INCLUDE_DIRS_CONFIGCMAKE "\"\${OpenCV_CONFIG_PATH}/include\" \"\${OpenCV_CONFIG_PATH}/include/opencv\"")
set(OpenCV2_INCLUDE_DIRS_CONFIGCMAKE "\"\"")
if(CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
if(BUILD_SHARED_LIBS)
set(_lib_suffix "lib")
diff --git a/cmake/OpenCVGenHeaders.cmake b/cmake/OpenCVGenHeaders.cmake
index 2988979..810871b 100644
--- a/cmake/OpenCVGenHeaders.cmake
@ -97,10 +79,10 @@ index 2988979..810871b 100644
+ install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/opencv_modules.hpp" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev)
+endif()
diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake
index 3385385..530e53f 100644
index 742a287..c8242dd 100644
--- a/cmake/OpenCVModule.cmake
+++ b/cmake/OpenCVModule.cmake
@@ -879,7 +879,9 @@ macro(_ocv_create_module)
@@ -880,7 +880,9 @@ macro(_ocv_create_module)
foreach(hdr ${OPENCV_MODULE_${m}_HEADERS})
string(REGEX REPLACE "^.*opencv2/" "opencv2/" hdr2 "${hdr}")
if(NOT hdr2 MATCHES "opencv2/${m}/private.*" AND hdr2 MATCHES "^(opencv2/?.*)/[^/]+.h(..)?$" )
@ -111,19 +93,6 @@ index 3385385..530e53f 100644
endif()
endforeach()
endif()
diff --git a/cmake/templates/OpenCVConfig.cmake.in b/cmake/templates/OpenCVConfig.cmake.in
index 80ffbaf..0585c9f 100644
--- a/cmake/templates/OpenCVConfig.cmake.in
+++ b/cmake/templates/OpenCVConfig.cmake.in
@@ -112,7 +112,7 @@ set(OpenCV_USE_MANGLED_PATHS @OpenCV_USE_MANGLED_PATHS_CONFIGCMAKE@)
# Extract the directory where *this* file has been installed (determined at cmake run-time)
get_filename_component(OpenCV_CONFIG_PATH "${CMAKE_CURRENT_LIST_FILE}" PATH CACHE)
-if(NOT WIN32 OR ANDROID)
+if(NOT WIN32 OR ANDROID OR "@INSTALL_FORCE_UNIX_PATHS@")
if(ANDROID)
set(OpenCV_INSTALL_PATH "${OpenCV_CONFIG_PATH}/../../..")
else()
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
index 1f0d720..86b9d89 100644
--- a/data/CMakeLists.txt
@ -142,19 +111,27 @@ index 1f0d720..86b9d89 100644
if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH)
install(DIRECTORY "${OPENCV_TEST_DATA_PATH}/" DESTINATION "${OPENCV_TEST_DATA_INSTALL_PATH}" COMPONENT "tests")
diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
index b4e48e6..6ea20d6 100644
index b4e48e6..d5ed455 100644
--- a/include/CMakeLists.txt
+++ b/include/CMakeLists.txt
@@ -1,7 +1,9 @@
-file(GLOB old_hdrs "opencv/*.h*")
-install(FILES ${old_hdrs}
+if(INSTALL_HEADERS)
+ file(GLOB old_hdrs "opencv/*.h*")
+ install(FILES ${old_hdrs}
DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv
COMPONENT dev)
- DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv
- COMPONENT dev)
-install(FILES "opencv2/opencv.hpp"
+ install(FILES "opencv2/opencv.hpp"
DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2
COMPONENT dev)
- DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2
- COMPONENT dev)
+if(INSTALL_HEADERS)
+ file(GLOB old_hdrs "opencv/*.h*")
+ install(FILES ${old_hdrs}
+ DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv
+ COMPONENT dev)
+ install(FILES "opencv2/opencv.hpp"
+ DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2
+ COMPONENT dev)
+endif()
\ No newline at end of file
--
2.9.0.windows.1

View File

@ -3,11 +3,11 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
set(VCPKG_LIBRARY_LINKAGE dynamic)
endif()
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/opencv-92387b1ef8fad15196dd5f7fb4931444a68bc93a)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/opencv-3.2.0)
vcpkg_download_distfile(ARCHIVE
URLS "https://github.com/opencv/opencv/archive/92387b1ef8fad15196dd5f7fb4931444a68bc93a.zip"
FILENAME "opencv-92387b1ef8fad15196dd5f7fb4931444a68bc93a.zip"
SHA512 b95fa1a5bce0ea9e9bd43173b904e5d779a2f640f4f8dbb36a12df462e8e4cdce3ff94b2fbd85cb96ddf338019f9888e9e7410c468c81b1de98d9c1da945a7eb
URLS "https://github.com/opencv/opencv/archive/3.2.0.zip"
FILENAME "opencv-3.2.0.zip"
SHA512 c6418d2a7654fe9d50611e756778df4c6736f2de76b85773efbf490bb475dd95ec1041fe57a87163ce11a7db44430cd378c8416af3319f979ced92532bf5ebb5
)
vcpkg_extract_source_archive(${ARCHIVE})
@ -24,7 +24,6 @@ vcpkg_configure_cmake(
-DBUILD_TIFF=OFF
-DBUILD_JPEG=OFF
-DBUILD_PNG=OFF
-DINSTALL_CREATE_DISTRIB=ON
-DBUILD_opencv_python2=OFF
-DBUILD_opencv_python3=OFF
-DBUILD_opencv_apps=OFF

View File

@ -30,7 +30,7 @@ set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/openssl-OpenSSL_1_0_2k_WinRT)
vcpkg_find_acquire_program(PERL)
get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY)
set(ENV{PATH} "${PERL_EXE_PATH};$ENV{PATH}")
set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH}")
vcpkg_download_distfile(ARCHIVE
URLS "https://github.com/Microsoft/openssl/archive/OpenSSL_1_0_2k_WinRT.zip"

View File

@ -10,7 +10,7 @@ vcpkg_find_acquire_program(PERL)
find_program(NMAKE nmake)
get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY)
set(ENV{PATH} "${PERL_EXE_PATH};$ENV{PATH}")
set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH}")
vcpkg_download_distfile(OPENSSL_SOURCE_ARCHIVE
URLS "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz"

3
ports/openvr/CONTROL Normal file
View File

@ -0,0 +1,3 @@
Source: openvr
Version: 1.0.5
Description: an API and runtime that allows access to VR hardware from multiple vendors without requiring that applications have specific knowledge of the hardware they are targeting.

View File

@ -0,0 +1,54 @@
# Common Ambient Variables:
# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
# TARGET_TRIPLET is the current triplet (x86-windows, etc)
# PORT is the current port name (zlib, etc)
# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
#
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/openvr-1.0.5)
vcpkg_download_distfile(ARCHIVE
URLS "https://github.com/ValveSoftware/openvr/archive/v1.0.5.zip"
FILENAME "openvr-v1.0.5.zip"
SHA512 18c2e3f7a8754d0e9389c953d0af70788c77adf43f51d25b6664beaeb407dc8d2daa755396c45ce2b4be1b08d333b378810dbebdf3c9bb5f5a03a9d372dc97b0
)
vcpkg_extract_source_archive(${ARCHIVE})
set(VCPKG_LIBRARY_LINKAGE dynamic)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
set(ARCH_PATH "win64")
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
set(ARCH_PATH "win32")
else()
message(FATAL_ERROR "Package only supports x64 and x86 windows.")
endif()
if(VCPKG_CMAKE_SYSTEM_NAME)
message(FATAL_ERROR "Package only supports windows desktop.")
endif()
file(MAKE_DIRECTORY
${CURRENT_PACKAGES_DIR}/lib
${CURRENT_PACKAGES_DIR}/bin
${CURRENT_PACKAGES_DIR}/debug/lib
${CURRENT_PACKAGES_DIR}/debug/bin
)
file(COPY ${SOURCE_PATH}/lib/${ARCH_PATH}/openvr_api.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
file(COPY ${SOURCE_PATH}/lib/${ARCH_PATH}/openvr_api.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
file(COPY
${SOURCE_PATH}/bin/${ARCH_PATH}/openvr_api.dll
${SOURCE_PATH}/bin/${ARCH_PATH}/openvr_api.pdb
DESTINATION ${CURRENT_PACKAGES_DIR}/bin
)
file(COPY
${SOURCE_PATH}/bin/${ARCH_PATH}/openvr_api.dll
${SOURCE_PATH}/bin/${ARCH_PATH}/openvr_api.pdb
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
)
file(COPY ${SOURCE_PATH}/headers DESTINATION ${CURRENT_PACKAGES_DIR})
file(RENAME ${CURRENT_PACKAGES_DIR}/headers ${CURRENT_PACKAGES_DIR}/include)
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openvr)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/openvr/LICENSE ${CURRENT_PACKAGES_DIR}/share/openvr/copyright)

4
ports/parmetis/CONTROL Normal file
View File

@ -0,0 +1,4 @@
Source: parmetis
Version: 4.0.3
Description: Parallel Graph Partitioning and Fill-reducing Matrix Ordering
Build-Depends: metis, msmpi

View File

@ -0,0 +1,11 @@
--- a/metis/GKlib/gk_arch.h Wed Dec 21 18:34:18 2016
+++ b/metis/GKlib/gk_arch.h Wed Dec 21 18:30:49 2016
@@ -58,7 +58,7 @@
#define PTRDIFF_MAX INT64_MAX
#endif
-#ifdef __MSC__
+#if defined(__MSC__) && (_MSC_VER < 1900)
/* MSC does not have rint() function */
#define rint(x) ((int)((x)+0.5))

View File

@ -0,0 +1,15 @@
--- a/libparmetis/CMakeLists.txt Sat Mar 30 17:24:50 2013
+++ b/libparmetis/CMakeLists.txt Wed Dec 21 19:40:28 2016
@@ -5,10 +5,10 @@
# Create libparmetis
add_library(parmetis ${ParMETIS_LIBRARY_TYPE} ${parmetis_sources})
# Link with metis and MPI libraries.
-target_link_libraries(parmetis metis ${MPI_LIBRARIES})
+target_link_libraries(parmetis ${METIS_LIBRARY} ${MPI_LIBRARIES})
set_target_properties(parmetis PROPERTIES LINK_FLAGS "${MPI_LINK_FLAGS}")
install(TARGETS parmetis
LIBRARY DESTINATION lib
- RUNTIME DESTINATION lib
+ RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib)

View File

@ -0,0 +1,11 @@
--- a/metis/libmetis/metislib.h Sat Mar 30 17:24:45 2013
+++ b/metis/libmetis/metislib.h Wed Dec 21 18:30:59 2016
@@ -31,7 +31,7 @@
#include <proto.h>
-#if defined(COMPILER_MSC)
+#if defined(COMPILER_MSC) && (_MSC_VER < 1900)
#if defined(rint)
#undef rint
#endif

View File

@ -0,0 +1,29 @@
--- a/CMakeLists.txt Sat Mar 30 17:24:50 2013
+++ b/CMakeLists.txt Wed Dec 21 19:38:12 2016
@@ -16,6 +16,9 @@
# endif()
# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MPI_COMPILE_FLAGS}")
+find_package(MPI REQUIRED)
+find_library(METIS_LIBRARY NAMES metis)
+
# Prepare libraries.
if(SHARED)
set(ParMETIS_LIBRARY_TYPE SHARED)
@@ -30,13 +33,13 @@
include_directories(include)
include_directories(${MPI_INCLUDE_PATH})
include_directories(${GKLIB_PATH})
-include_directories(${METIS_PATH}/include)
+# include_directories(${METIS_PATH}/include)
# List of directories that cmake will look for CMakeLists.txt
-add_subdirectory(${METIS_PATH}/libmetis ${CMAKE_BINARY_DIR}/libmetis)
+# add_subdirectory(${METIS_PATH}/libmetis ${CMAKE_BINARY_DIR}/libmetis)
add_subdirectory(include)
add_subdirectory(libparmetis)
-add_subdirectory(programs)
+# add_subdirectory(programs)
# This is for testing during development and is not being distributed
#add_subdirectory(test)

View File

@ -0,0 +1,46 @@
# Common Ambient Variables:
# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
# TARGET_TRIPLET is the current triplet (x86-windows, etc)
# PORT is the current port name (zlib, etc)
# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
#
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/parmetis-4.0.3)
vcpkg_download_distfile(ARCHIVE
URLS "http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/parmetis-4.0.3.tar.gz"
FILENAME "parmetis-4.0.3.tar.gz"
SHA512 454a91921ca35c981df11c9846a11963ff8fd8407a25179453af33f8fe69493f6dd7f2a0b8feed9a7d3f121e45b715749dd7a94873eaac2bae4cad1e535ca132
)
vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
${CMAKE_CURRENT_LIST_DIR}/fix-metis-vs14-math.patch
${CMAKE_CURRENT_LIST_DIR}/fix-gklib-vs14-math.patch
${CMAKE_CURRENT_LIST_DIR}/fix-root-cmakelist.patch
${CMAKE_CURRENT_LIST_DIR}/fix-libparmetis-cmakelist.patch
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
set(ADDITIONAL_OPTIONS -DSHARED=ON -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON)
else()
set(ADDITIONAL_OPTIONS -DSHARED=OFF)
endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
${ADDITIONAL_OPTIONS}
)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/parmetis)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/parmetis/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/parmetis/copyright)

View File

@ -1,4 +1,4 @@
Source: protobuf
Version: 3.0.2
Version: 3.2.0
Build-Depends: zlib
Description: Protocol Buffers - Google's data interchange format

View File

@ -1,20 +1,20 @@
#tool
include(vcpkg_common_functions)
vcpkg_download_distfile(ARCHIVE_FILE
URLS "https://github.com/google/protobuf/releases/download/v3.0.2/protobuf-cpp-3.0.2.tar.gz"
FILENAME "protobuf-cpp-3.0.2.tar.gz"
SHA512 5c99fa5d20815f9333a1e30d4da7621375e179abab6e4369ef0827b6ea6a679afbfec445dda21a72b4ab11e1bdd72c0f17a4e86b153ea8e2d3298dc3bcfcd643
URLS "https://github.com/google/protobuf/releases/download/v3.2.0/protobuf-cpp-3.2.0.tar.gz"
FILENAME "protobuf-cpp-3.2.0.tar.gz"
SHA512 dd005f5e862ff24bb233b9eaed1d7f44c42f1cc8c647c0839fe2ecc2d91178845195d79776cfa2e31d224c16eed11b05ad824b66b743e685334057d8180f17aa
)
vcpkg_download_distfile(TOOL_ARCHIVE_FILE
URLS "https://github.com/google/protobuf/releases/download/v3.0.2/protoc-3.0.2-win32.zip"
FILENAME "protoc-3.0.2-win32.zip"
SHA512 51c67bd8bdc35810da70786d873935814679c58b74e653923671bdf06b8b69a1c9a0793d090b17d25e91ddafff1726bcfcdd243373dd47c4aeb9ea83fbabaeb0
URLS "https://github.com/google/protobuf/releases/download/v3.2.0/protoc-3.2.0-win32.zip"
FILENAME "protoc-3.2.0-win32.zip"
SHA512 985c86a04cebacfba96f3985d1b3d6ef341470171b809c6f6362bc13a07a3df9c8962d912857bb764bf8634cf676c5f8453c43b4e0a6398f2ff314708975d1e4
)
vcpkg_extract_source_archive(${ARCHIVE_FILE})
vcpkg_extract_source_archive(${TOOL_ARCHIVE_FILE} ${CURRENT_BUILDTREES_DIR}/src/protobuf-3.0.2-win32)
vcpkg_extract_source_archive(${TOOL_ARCHIVE_FILE} ${CURRENT_BUILDTREES_DIR}/src/protobuf-3.2.0-win32)
vcpkg_configure_cmake(
SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/protobuf-3.0.2/cmake
SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/protobuf-3.2.0/cmake
OPTIONS
-Dprotobuf_BUILD_SHARED_LIBS=OFF
-Dprotobuf_MSVC_STATIC_RUNTIME=OFF
@ -52,6 +52,6 @@ protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/debug/share)
protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/bin)
protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/debug/bin)
file(INSTALL ${CURRENT_BUILDTREES_DIR}/src/protobuf-3.0.2/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/protobuf RENAME copyright)
file(INSTALL ${CURRENT_BUILDTREES_DIR}/src/protobuf-3.0.2-win32/bin/protoc.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
file(INSTALL ${CURRENT_BUILDTREES_DIR}/src/protobuf-3.2.0/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/protobuf RENAME copyright)
file(INSTALL ${CURRENT_BUILDTREES_DIR}/src/protobuf-3.2.0-win32/bin/protoc.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
vcpkg_copy_pdbs()

View File

@ -15,7 +15,7 @@ include(vcpkg_common_functions)
find_program(GIT git)
vcpkg_find_acquire_program(PERL)
get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY)
set(ENV{PATH} "${PERL_EXE_PATH};$ENV{PATH}")
set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH}")
# Set git variables to qca version 2.2.0 commit
set(GIT_URL "git://anongit.kde.org/qca.git")

View File

@ -12,7 +12,7 @@ vcpkg_find_acquire_program(PYTHON3)
get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY)
get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY)
get_filename_component(JOM_EXE_PATH ${JOM} DIRECTORY)
set(ENV{PATH} "${JOM_EXE_PATH};${PYTHON3_EXE_PATH};${PERL_EXE_PATH};$ENV{PATH}")
set(ENV{PATH} "${JOM_EXE_PATH};${PYTHON3_EXE_PATH};$ENV{PATH};${PERL_EXE_PATH}")
set(ENV{INCLUDE} "${CURRENT_INSTALLED_DIR}/include;$ENV{INCLUDE}")
set(ENV{LIB} "${CURRENT_INSTALLED_DIR}/lib;$ENV{LIB}")
vcpkg_download_distfile(ARCHIVE_FILE

View File

@ -1,3 +1,3 @@
Source: rapidjson
Version: 1.0.2-1
Version: 1.1.0
Description: A fast JSON parser/generator for C++ with both SAX/DOM style API <http://rapidjson.org/>

View File

@ -1,10 +1,10 @@
#header-only library
include(vcpkg_common_functions)
SET(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/rapidjson-879def80f2e466cdf4c86dc7e53ea2dd4cafaea0)
SET(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/rapidjson-1.1.0)
vcpkg_download_distfile(ARCHIVE
URLS "https://github.com/miloyip/rapidjson/archive/879def80f2e466cdf4c86dc7e53ea2dd4cafaea0.zip"
FILENAME "rapidjson-879def80f2e466cdf4c86dc7e53ea2dd4cafaea0.zip"
SHA512 4d9ef7cce7d179344c33245c081a142ca5fcb2a0cc170ed39e3d0add008efab8e7389feec03e1ea83b30c5778cd0600865b08bc1c23592e5154dbe1f21f9547d
URLS "https://github.com/miloyip/rapidjson/archive/v1.1.0.zip"
FILENAME "rapidjson-v1.1.0.zip"
SHA512 4ddbf6dc5d943eb971e7a62910dd78d1cc5cc3016066a443f351d4276d2be3375ed97796e672c2aecd6990f0b332826f8c8ddc7d367193d7b82f0037f4e4012c
)
vcpkg_extract_source_archive(${ARCHIVE})

View File

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

View File

@ -1,10 +1,10 @@
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SFML-2.4.1)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SFML-2.4.2)
vcpkg_download_distfile(ARCHIVE
URLS "http://www.sfml-dev.org/files/SFML-2.4.1-sources.zip"
FILENAME "SFML-2.4.1-sources.zip"
SHA512 e2a49927e1db6ab94fa52b88460782fa2b28ccd4a8c75793e10c7669b24736f63aab723c2e1d8befc96f6f5cf4ed185f13da2550da721d206780003f158e5507)
URLS "http://www.sfml-dev.org/files/SFML-2.4.2-sources.zip"
FILENAME "SFML-2.4.2-sources.zip"
SHA512 14f2b9f244bbff681d1992581f20012f3073456e4baed0fb2bf2cf82538e9c5ddd8ce01b0cfb3874af47091ec19654aa23c426df04fe1ffcfa209623dc362f85)
vcpkg_extract_source_archive(${ARCHIVE})

View File

@ -0,0 +1,4 @@
Source: sqlite-modern-cpp
Version: 2.4
Build-Depends: sqlite3
Description: The C++14 wrapper around sqlite library

View File

@ -0,0 +1,20 @@
# header only
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/sqlite_modern_cpp-2.4)
vcpkg_download_distfile(ARCHIVE
URLS "https://github.com/aminroosta/sqlite_modern_cpp/archive/v2.4.tar.gz"
FILENAME "sqlite_modern_cpp-2.4.tar.gz"
SHA512 99d8220c9dcbf7383c75ef8061bc792a4ea0b7e6e1290992f1604f66e77fcb5055af8c54c2d82b6a8d331359e2829d987b7528208f032f32699e1349296792db
)
vcpkg_extract_source_archive(${ARCHIVE})
file(INSTALL ${SOURCE_PATH}/hdr/ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
# Handle copyright
vcpkg_download_distfile(LICENSE
URLS https://raw.githubusercontent.com/aminroosta/sqlite_modern_cpp/1d7747fcbb16325ec6673477b06f0c780de24a27/License.txt
FILENAME "sqlite_modern_cpp-2.4-license-mit.txt"
SHA512 4ffc41d14902b37841463b9e9274537cb48523a7ab7e5fbbbd14a01820d141e367851b0496aa18546ddab96100e7381db7fc35621c795a97c3290b618e18a8bd
)
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/sqlite-modern-cpp)
file(INSTALL ${LICENSE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/sqlite-modern-cpp RENAME copyright)

View File

@ -1,3 +1,3 @@
Source: sqlite3
Version: 3.15.0
Source: sqlite3
Version: 3.17.0
Description: SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.

View File

@ -1,27 +1,27 @@
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/sqlite-amalgamation-3150000)
vcpkg_download_distfile(ARCHIVE
URLS "https://sqlite.org/2016/sqlite-amalgamation-3150000.zip"
FILENAME "sqlite-amalgamation-3150000.zip"
SHA512 82fea23b2158c448cbe2b80121eb32652df49eb85357edbaeef0c343ef478433706ebc4cd8add1985763db223d9268d0f7e74fc8db59353c15267cbc3d2078a8
)
vcpkg_extract_source_archive(${ARCHIVE})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-DSOURCE=${SOURCE_PATH}
)
vcpkg_build_cmake()
vcpkg_install_cmake()
file(READ ${CURRENT_PACKAGES_DIR}/debug/share/sqlite3/sqlite3Config-debug.cmake SQLITE3_DEBUG_CONFIG)
string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" SQLITE3_DEBUG_CONFIG "${SQLITE3_DEBUG_CONFIG}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/sqlite3/sqlite3Config-debug.cmake "${SQLITE3_DEBUG_CONFIG}")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(WRITE ${CURRENT_PACKAGES_DIR}/share/sqlite3/copyright "SQLite is in the Public Domain.\nhttp://www.sqlite.org/copyright.html\n")
vcpkg_copy_pdbs()
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/sqlite-amalgamation-3170000)
vcpkg_download_distfile(ARCHIVE
URLS "https://sqlite.org/2017/sqlite-amalgamation-3170000.zip"
FILENAME "sqlite-amalgamation-3170000.zip"
SHA512 36dc05dbb21428237332e813181d4dd0c2ffaedb92a53934630c25421617afd9c1a65784665d222501f1b4b5c6445f425f8c512572a97e42603510dcc0796344
)
vcpkg_extract_source_archive(${ARCHIVE})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-DSOURCE=${SOURCE_PATH}
)
vcpkg_build_cmake()
vcpkg_install_cmake()
file(READ ${CURRENT_PACKAGES_DIR}/debug/share/sqlite3/sqlite3Config-debug.cmake SQLITE3_DEBUG_CONFIG)
string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" SQLITE3_DEBUG_CONFIG "${SQLITE3_DEBUG_CONFIG}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/sqlite3/sqlite3Config-debug.cmake "${SQLITE3_DEBUG_CONFIG}")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(WRITE ${CURRENT_PACKAGES_DIR}/share/sqlite3/copyright "SQLite is in the Public Domain.\nhttp://www.sqlite.org/copyright.html\n")
vcpkg_copy_pdbs()

View File

@ -26,7 +26,8 @@ try{
$msbuildExeWithPlatformToolset = & $scriptsDir\findAnyMSBuildWithCppPlatformToolset.ps1
$msbuildExe = $msbuildExeWithPlatformToolset[0]
$platformToolset = $msbuildExeWithPlatformToolset[1]
& $msbuildExe "/p:VCPKG_VERSION=-$gitHash" "/p:DISABLE_METRICS=$disableMetrics" /p:Configuration=Release /p:Platform=x86 /p:PlatformToolset=$platformToolset /m dirs.proj
$targetPlatformVersion = & $scriptsDir\findTargetPlatformVersion.ps1
& $msbuildExe "/p:VCPKG_VERSION=-$gitHash" "/p:DISABLE_METRICS=$disableMetrics" /p:Configuration=Release /p:Platform=x86 /p:PlatformToolset=$platformToolset /p:TargetPlatformVersion=$targetPlatformVersion /m dirs.proj
Write-Verbose("Placing vcpkg.exe in the correct location")

View File

@ -22,7 +22,7 @@
function(vcpkg_apply_patches)
cmake_parse_arguments(_ap "QUIET" "SOURCE_PATH" "PATCHES" ${ARGN})
find_program(GIT git)
find_program(GIT NAMES git git.cmd)
set(PATCHNUM 0)
foreach(PATCH ${_ap_PATCHES})
message(STATUS "Applying patch ${PATCH}")

View File

@ -17,9 +17,15 @@ function(vcpkg_build_cmake)
list(APPEND MSVC_EXTRA_ARGS "/m")
endif()
if(EXISTS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/build.ninja)
set(BUILD_ARGS -v) # verbose output
else()
set(BUILD_ARGS ${MSVC_EXTRA_ARGS})
endif()
message(STATUS "Build ${TARGET_TRIPLET}-rel")
vcpkg_execute_required_process(
COMMAND ${CMAKE_COMMAND} --build . --config Release -- ${MSVC_EXTRA_ARGS}
COMMAND ${CMAKE_COMMAND} --build . --config Release -- ${BUILD_ARGS}
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
LOGNAME build-${TARGET_TRIPLET}-rel
)
@ -27,7 +33,7 @@ function(vcpkg_build_cmake)
message(STATUS "Build ${TARGET_TRIPLET}-dbg")
vcpkg_execute_required_process(
COMMAND ${CMAKE_COMMAND} --build . --config Debug -- ${MSVC_EXTRA_ARGS}
COMMAND ${CMAKE_COMMAND} --build . --config Debug -- ${BUILD_ARGS}
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
LOGNAME build-${TARGET_TRIPLET}-dbg
)

View File

@ -7,8 +7,12 @@ include(vcpkg_build_cmake)
include(vcpkg_build_msbuild)
include(vcpkg_build_qmake)
include(vcpkg_install_cmake)
include(vcpkg_install_meson)
include(vcpkg_configure_cmake)
include(vcpkg_configure_meson)
include(vcpkg_configure_qmake)
include(vcpkg_apply_patches)
include(vcpkg_copy_pdbs)
include(vcpkg_copy_tool_dependencies)
include(vcpkg_get_program_files_32_bit)
include(vcpkg_get_program_files_platform_bitness)

View File

@ -1,6 +1,5 @@
find_program(vcpkg_configure_cmake_NINJA ninja)
function(vcpkg_configure_cmake)
cmake_parse_arguments(_csc "" "SOURCE_PATH;GENERATOR" "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE" ${ARGN})
cmake_parse_arguments(_csc "PREFER_NINJA" "SOURCE_PATH;GENERATOR" "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE" ${ARGN})
if(NOT VCPKG_PLATFORM_TOOLSET)
message(FATAL_ERROR "Vcpkg has been updated with VS2017 support, however you need to rebuild vcpkg.exe by re-running bootstrap.ps1\n powershell -exec bypass scripts\\bootstrap.ps1\n")
@ -8,14 +7,14 @@ function(vcpkg_configure_cmake)
if(_csc_GENERATOR)
set(GENERATOR ${_csc_GENERATOR})
elseif(_csc_PREFER_NINJA AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
set(GENERATOR "Ninja")
elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND TRIPLET_SYSTEM_ARCH MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140")
set(GENERATOR "Visual Studio 14 2015")
elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND TRIPLET_SYSTEM_ARCH MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140")
set(GENERATOR "Visual Studio 14 2015 Win64")
elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND TRIPLET_SYSTEM_ARCH MATCHES "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140")
set(GENERATOR "Visual Studio 14 2015 ARM")
# elseif(NOT vcpkg_configure_cmake_NINJA MATCHES "NOTFOUND")
# set(GENERATOR "Ninja")
elseif(TRIPLET_SYSTEM_ARCH MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140")
set(GENERATOR "Visual Studio 14 2015")
elseif(TRIPLET_SYSTEM_ARCH MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140")
@ -36,6 +35,13 @@ function(vcpkg_configure_cmake)
elseif(TRIPLET_SYSTEM_ARCH MATCHES "arm")
set(GENERATOR "Visual Studio 15 2017 ARM" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141")
endif()
# If we use Ninja, make sure it's on PATH
if(GENERATOR STREQUAL "Ninja")
vcpkg_find_acquire_program(NINJA)
get_filename_component(NINJA_PATH ${NINJA} DIRECTORY)
set(ENV{PATH} "$ENV{PATH};${NINJA_PATH}")
endif()
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)

View File

@ -0,0 +1,72 @@
function(vcpkg_configure_meson)
cmake_parse_arguments(_vcm "" "SOURCE_PATH" "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE" ${ARGN})
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
# use the same compiler options as in vcpkg_configure_cmake
set(MESON_COMMON_CFLAGS "${MESON_COMMON_CFLAGS} /DWIN32 /D_WINDOWS /W3 /utf-8")
set(MESON_COMMON_CXXFLAGS "${MESON_COMMON_CXXFLAGS} /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc")
if(DEFINED VCPKG_CRT_LINKAGE AND VCPKG_CRT_LINKAGE STREQUAL dynamic)
set(MESON_DEBUG_CFLAGS "${MESON_DEBUG_CFLAGS} /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1")
set(MESON_DEBUG_CXXFLAGS "${MESON_DEBUG_CXXFLAGS} /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1")
set(MESON_RELEASE_CFLAGS "${MESON_RELEASE_CFLAGS} /MD /O2 /Oi /Gy /DNDEBUG /Zi")
set(MESON_RELEASE_CXXFLAGS "${MESON_RELEASE_CXXFLAGS} /MD /O2 /Oi /Gy /DNDEBUG /Zi")
elseif(DEFINED VCPKG_CRT_LINKAGE AND VCPKG_CRT_LINKAGE STREQUAL static)
set(MESON_DEBUG_CFLAGS "${MESON_DEBUG_CFLAGS} /D_DEBUG /MTd /Zi /Ob0 /Od /RTC1")
set(MESON_DEBUG_CXXFLAGS "${MESON_DEBUG_CXXFLAGS} /D_DEBUG /MTd /Zi /Ob0 /Od /RTC1")
set(MESON_RELEASE_CFLAGS "${MESON_RELEASE_CFLAGS} /MT /O2 /Oi /Gy /DNDEBUG /Zi")
set(MESON_RELEASE_CXXFLAGS "${MESON_RELEASE_CXXFLAGS} /MT /O2 /Oi /Gy /DNDEBUG /Zi")
endif()
set(MESON_COMMON_LDFLAGS "${MESON_COMMON_LDFLAGS} /DEBUG")
set(MESON_RELEASE_LDFLAGS "${MESON_RELEASE_LDFLAGS} /INCREMENTAL:NO /OPT:REF /OPT:ICF")
# select meson cmd-line options
list(APPEND _vcm_OPTIONS --buildtype plain --backend ninja)
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
list(APPEND _vcm_OPTIONS --default-library shared)
else()
list(APPEND _vcm_OPTIONS --default-library static)
endif()
list(APPEND _vcm_OPTIONS_DEBUG --prefix ${CURRENT_PACKAGES_DIR}/debug --includedir ../include)
list(APPEND _vcm_OPTIONS_RELEASE --prefix ${CURRENT_PACKAGES_DIR})
vcpkg_find_acquire_program(MESON)
vcpkg_find_acquire_program(NINJA)
get_filename_component(NINJA_PATH ${NINJA} DIRECTORY)
set(ENV{PATH} "$ENV{PATH};${NINJA_PATH}")
# configure release
message(STATUS "Configuring ${TARGET_TRIPLET}-rel")
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
set(ENV{CFLAGS} "${MESON_COMMON_CFLAGS} ${MESON_RELEASE_CFLAGS}")
set(ENV{CXXFLAGS} "${MESON_COMMON_CXXFLAGS} ${MESON_RELEASE_CXXFLAGS}")
set(ENV{LDFLAGS} "${MESON_COMMON_LDFLAGS} ${MESON_RELEASE_LDFLAGS}")
set(ENV{CPPFLAGS} "${MESON_COMMON_CPPFLAGS} ${MESON_RELEASE_CPPFLAGS}")
vcpkg_execute_required_process(
COMMAND ${MESON} ${_vcm_OPTIONS} ${_vcm_OPTIONS_RELEASE} ${_vcm_SOURCE_PATH}
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
LOGNAME config-${TARGET_TRIPLET}-rel
)
message(STATUS "Configuring ${TARGET_TRIPLET}-rel done")
# configure debug
message(STATUS "Configuring ${TARGET_TRIPLET}-dbg")
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
set(ENV{CFLAGS} "${MESON_COMMON_CFLAGS} ${MESON_DEBUG_CFLAGS}")
set(ENV{CXXFLAGS} "${MESON_COMMON_CXXFLAGS} ${MESON_DEBUG_CXXFLAGS}")
set(ENV{LDFLAGS} "${MESON_COMMON_LDFLAGS} ${MESON_DEBUG_LDFLAGS}")
set(ENV{CPPFLAGS} "${MESON_COMMON_CPPFLAGS} ${MESON_DEBUG_CPPFLAGS}")
vcpkg_execute_required_process(
COMMAND ${MESON} ${_vcm_OPTIONS} ${_vcm_OPTIONS_DEBUG} ${_vcm_SOURCE_PATH}
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
LOGNAME config-${TARGET_TRIPLET}-dbg
)
message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done")
endfunction()

View File

@ -4,6 +4,11 @@ function(vcpkg_find_acquire_program VAR)
endif()
unset(NOEXTRACT)
unset(SUBDIR)
unset(REQUIRED_INTERPRETER)
vcpkg_get_program_files_platform_bitness(PROGRAM_FILES_PLATFORM_BITNESS)
vcpkg_get_program_files_32_bit(PROGRAM_FILES_32_BIT)
if(VAR MATCHES "PERL")
set(PROGNAME perl)
@ -13,10 +18,10 @@ function(vcpkg_find_acquire_program VAR)
set(HASH a6e685ea24376f50db5f06c5b46075f1d3be25168fa1f27fa9b02e2ac017826cee62a2b43562f9b6c989337a231ba914416c110075457764de2d11f99d5e0f26)
elseif(VAR MATCHES "NASM")
set(PROGNAME nasm)
set(PATHS ${DOWNLOADS}/tools/nasm/nasm-2.11.08)
set(URL "http://www.nasm.us/pub/nasm/releasebuilds/2.11.08/win32/nasm-2.11.08-win32.zip")
set(ARCHIVE "nasm-2.11.08-win32.zip")
set(HASH cd80b540530d3995d15dc636e97673f1d34f471baadf1dac993165232c61efefe7f8ec10625f8f718fc89f0dd3dcb6a4595e0cf40c5fd7cbac1b71672b644d2d)
set(PATHS ${DOWNLOADS}/tools/nasm/nasm-2.12.02)
set(URL "http://www.nasm.us/pub/nasm/releasebuilds/2.12.02/win32/nasm-2.12.02-win32.zip")
set(ARCHIVE "nasm-2.12.02-win32.zip")
set(HASH df7aaba094e17832688c88993997612a2e2c96cc3dc14ca3e8347b44c7762115f5a7fc6d7f20be402553aaa4c9e43ddfcf6228f581cfe89289bae550de151b36)
elseif(VAR MATCHES "YASM")
set(PROGNAME yasm)
set(PATHS ${DOWNLOADS}/tools/yasm)
@ -59,29 +64,54 @@ function(vcpkg_find_acquire_program VAR)
set(HASH 23a26dc7e29979bec5dcd3bfcabf76397b93ace64f5d46f2254d6420158bac5eff1c1a8454e3427e7a2fe2c233c5f2cffc87b376772399e12e40b51be2c065f4)
elseif(VAR MATCHES "7Z")
set(PROGNAME 7z)
set(PATHS "C:/Program Files/7-Zip" ${DOWNLOADS}/tools/7z/Files/7-Zip)
set(PATHS "${PROGRAM_FILES_PLATFORM_BITNESS}/7-Zip" "${PROGRAM_FILES_32_BIT}/7-Zip" ${DOWNLOADS}/tools/7z/Files/7-Zip)
set(URL "http://7-zip.org/a/7z1604.msi")
set(ARCHIVE "7z1604.msi")
set(HASH 556f95f7566fe23704d136239e4cf5e2a26f939ab43b44145c91b70d031a088d553e5c21301f1242a2295dcde3143b356211f0108c68e65eef8572407618326d)
elseif(VAR MATCHES "NINJA")
set(PROGNAME ninja)
set(SUBDIR "ninja-1.7.2")
set(PATHS ${DOWNLOADS}/tools/ninja/${SUBDIR})
set(URL "https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-win.zip")
set(ARCHIVE "ninja-win.zip")
set(HASH cccab9281b274c564f9ad77a2115be1f19be67d7b2ee14a55d1db1b27f3b68db8e76076e4f804b61eb8e573e26a8ecc9985675a8dcf03fd7a77b7f57234f1393)
elseif(VAR MATCHES "MESON")
set(PROGNAME meson)
set(REQUIRED_INTERPRETER PYTHON3)
set(SCRIPTNAME meson.py)
set(PATHS ${DOWNLOADS}/tools/meson/meson-0.38.1)
set(URL "https://github.com/mesonbuild/meson/archive/0.38.1.zip")
set(ARCHIVE "meson-0.38.1.zip")
set(HASH 89642b1d976af7e29e9ca2b1a378510ce286ebd90a8234e898f3dd9dd7151538fdfc61fba770681605dad843b77b344fee94f992f18328655669d5f603c7fee5)
else()
message(FATAL "unknown tool ${VAR} -- unable to acquire.")
endif()
find_program(${VAR} ${PROGNAME} PATHS ${PATHS})
macro(do_find)
if(NOT DEFINED REQUIRED_INTERPRETER)
find_program(${VAR} ${PROGNAME} PATHS ${PATHS})
else()
vcpkg_find_acquire_program(${REQUIRED_INTERPRETER})
find_file(SCIRPT ${SCRIPTNAME} PATHS ${PATHS})
set(${VAR} ${${REQUIRED_INTERPRETER}} ${SCIRPT})
endif()
endmacro()
do_find()
if(${VAR} MATCHES "-NOTFOUND")
file(DOWNLOAD ${URL} ${DOWNLOADS}/${ARCHIVE}
EXPECTED_HASH SHA512=${HASH}
SHOW_PROGRESS
)
file(MAKE_DIRECTORY ${DOWNLOADS}/tools/${PROGNAME})
file(MAKE_DIRECTORY ${DOWNLOADS}/tools/${PROGNAME}/${SUBDIR})
if(DEFINED NOEXTRACT)
file(COPY ${DOWNLOADS}/${ARCHIVE} DESTINATION ${DOWNLOADS}/tools/${PROGNAME})
file(COPY ${DOWNLOADS}/${ARCHIVE} DESTINATION ${DOWNLOADS}/tools/${PROGNAME}/${SUBDIR})
else()
get_filename_component(ARCHIVE_EXTENSION ${ARCHIVE} EXT)
string(TOLOWER "${ARCHIVE_EXTENSION}" ARCHIVE_EXTENSION)
if(${ARCHIVE_EXTENSION} STREQUAL ".msi")
file(TO_NATIVE_PATH "${DOWNLOADS}/${ARCHIVE}" ARCHIVE_NATIVE_PATH)
file(TO_NATIVE_PATH "${DOWNLOADS}/tools/${PROGNAME}" DESTINATION_NATIVE_PATH)
file(TO_NATIVE_PATH "${DOWNLOADS}/tools/${PROGNAME}/${SUBDIR}" DESTINATION_NATIVE_PATH)
execute_process(
COMMAND msiexec /a ${ARCHIVE_NATIVE_PATH} /qn TARGETDIR=${DESTINATION_NATIVE_PATH}
WORKING_DIRECTORY ${DOWNLOADS}
@ -89,12 +119,12 @@ function(vcpkg_find_acquire_program VAR)
else()
execute_process(
COMMAND ${CMAKE_COMMAND} -E tar xzf ${DOWNLOADS}/${ARCHIVE}
WORKING_DIRECTORY ${DOWNLOADS}/tools/${PROGNAME}
WORKING_DIRECTORY ${DOWNLOADS}/tools/${PROGNAME}/${SUBDIR}
)
endif()
endif()
find_program(${VAR} ${PROGNAME} PATHS ${PATHS})
do_find()
endif()
set(${VAR} ${${VAR}} PARENT_SCOPE)

View File

@ -0,0 +1,7 @@
function(vcpkg_get_program_files_32_bit ret)
if(DEFINED ENV{ProgramFiles\(X86\)})
set(${ret} $ENV{ProgramFiles\(X86\)} PARENT_SCOPE)
else()
set(${ret} $ENV{PROGRAMFILES} PARENT_SCOPE)
endif()
endfunction()

View File

@ -0,0 +1,7 @@
function(vcpkg_get_program_files_platform_bitness ret)
if(DEFINED ENV{ProgramW6432})
set(${ret} $ENV{ProgramW6432} PARENT_SCOPE)
else()
set(${ret} $ENV{PROGRAMFILES} PARENT_SCOPE)
endif()
endfunction()

View File

@ -1,9 +1,14 @@
function(vcpkg_install_cmake)
cmake_parse_arguments(_bc "MSVC_64_TOOLSET;DISABLE_PARALLEL" "" "" ${ARGN})
set(MSVC_EXTRA_ARGS)
set(MSVC_EXTRA_ARGS
"/p:VCPkgLocalAppDataDisabled=true"
"/p:UseIntelMKL=No"
)
# Specifies the architecture of the toolset, NOT the architecture of the produced binary
# This can help libraries that cause the linker to run out of memory.
# https://support.microsoft.com/en-us/help/2891057/linker-fatal-error-lnk1102-out-of-memory
if (_bc_MSVC_64_TOOLSET)
list(APPEND MSVC_EXTRA_ARGS "/p:PreferredToolArchitecture=x64")
endif()
@ -11,10 +16,16 @@ function(vcpkg_install_cmake)
if (NOT _bc_DISABLE_PARALLEL)
list(APPEND MSVC_EXTRA_ARGS "/m")
endif()
if(EXISTS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/build.ninja)
set(BUILD_ARGS -v) # verbose output
else()
set(BUILD_ARGS ${MSVC_EXTRA_ARGS})
endif()
message(STATUS "Package ${TARGET_TRIPLET}-rel")
vcpkg_execute_required_process(
COMMAND ${CMAKE_COMMAND} --build . --config Release --target install -- /p:VCPkgLocalAppDataDisabled=true ${MSVC_EXTRA_ARGS}
COMMAND ${CMAKE_COMMAND} --build . --config Release --target install -- ${BUILD_ARGS}
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
LOGNAME package-${TARGET_TRIPLET}-rel
)
@ -22,7 +33,7 @@ function(vcpkg_install_cmake)
message(STATUS "Package ${TARGET_TRIPLET}-dbg")
vcpkg_execute_required_process(
COMMAND ${CMAKE_COMMAND} --build . --config Debug --target install -- /p:VCPkgLocalAppDataDisabled=true ${MSVC_EXTRA_ARGS}
COMMAND ${CMAKE_COMMAND} --build . --config Debug --target install -- ${BUILD_ARGS}
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
LOGNAME package-${TARGET_TRIPLET}-dbg
)

View File

@ -0,0 +1,23 @@
function(vcpkg_install_meson)
vcpkg_find_acquire_program(NINJA)
unset(ENV{DESTDIR}) # installation directory was already specified with '--prefix' option
message(STATUS "Package ${TARGET_TRIPLET}-rel")
vcpkg_execute_required_process(
COMMAND ${NINJA} install -v
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
LOGNAME package-${TARGET_TRIPLET}-rel
)
message(STATUS "Package ${TARGET_TRIPLET}-rel done")
message(STATUS "Package ${TARGET_TRIPLET}-dbg")
vcpkg_execute_required_process(
COMMAND ${NINJA} install -v
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
LOGNAME package-${TARGET_TRIPLET}-dbg
)
message(STATUS "Package ${TARGET_TRIPLET}-dbg done")
endfunction()

View File

@ -1,8 +1,14 @@
[CmdletBinding()]
param(
[string]$Dependency
[string]$Dependency,
[ValidateNotNullOrEmpty()]
[string]$downloadPromptOverride = "0"
)
$downloadPromptOverride_NO_OVERRIDE= 0
$downloadPromptOverride_DO_NOT_PROMPT = 1
$downloadPromptOverride_ALWAYS_PROMPT = 2
Import-Module BitsTransfer
$scriptsDir = split-path -parent $MyInvocation.MyCommand.Definition
@ -12,9 +18,13 @@ $downloadsDir = "$vcpkgRootDir\downloads"
function SelectProgram([Parameter(Mandatory=$true)][string]$Dependency)
{
function promptForDownload([string]$title, [string]$message, [string]$yesDescription, [string]$noDescription)
function promptForDownload([string]$title, [string]$message, [string]$yesDescription, [string]$noDescription, [string]$downloadPromptOverride)
{
if ((Test-Path "$downloadsDir\AlwaysAllowEverything") -Or (Test-Path "$downloadsDir\AlwaysAllowDownloads"))
$do_not_prompt = ($downloadPromptOverride -eq $downloadPromptOverride_DO_NOT_PROMPT) -Or
(Test-Path "$downloadsDir\AlwaysAllowEverything") -Or
(Test-Path "$downloadsDir\AlwaysAllowDownloads")
if (($downloadPromptOverride -ne $downloadPromptOverride_ALWAYS_PROMPT) -And $do_not_prompt)
{
return $true
}
@ -57,7 +67,7 @@ function SelectProgram([Parameter(Mandatory=$true)][string]$Dependency)
$yesDescription = "Downloads " + $Dependency + " v" + $downloadVersion +" app-locally."
$noDescription = "Does not download " + $Dependency + "."
$userAllowedDownload = promptForDownload $title $message $yesDescription $noDescription
$userAllowedDownload = promptForDownload $title $message $yesDescription $noDescription $downloadPromptOverride
if (!$userAllowedDownload)
{
throw [System.IO.FileNotFoundException] ("Could not detect suitable version of " + $Dependency + " and download not allowed")
@ -113,8 +123,11 @@ function SelectProgram([Parameter(Mandatory=$true)][string]$Dependency)
function Expand-ZIPFile($file, $destination)
{
Write-Host($file)
Write-Host($destination)
if (!(Test-Path $destination))
{
New-Item -ItemType Directory -Path $destination | Out-Null
}
$shell = new-object -com shell.application
$zip = $shell.NameSpace($file)
foreach($item in $zip.items())
@ -126,13 +139,14 @@ function SelectProgram([Parameter(Mandatory=$true)][string]$Dependency)
if($Dependency -eq "cmake")
{
$requiredVersion = "3.7.2"
$downloadVersion = "3.7.2"
$url = "https://cmake.org/files/v3.7/cmake-3.7.2-win32-x86.zip"
$downloadPath = "$downloadsDir\cmake-3.7.2-win32-x86.zip"
$expectedDownloadedFileHash = "ec5e299d412e0272e01d4de5bf07718f42c96361f83d51cc39f91bf49cc3e5c3"
$executableFromDownload = "$downloadsDir\cmake-3.7.2-win32-x86\bin\cmake.exe"
$requiredVersion = "3.8.0"
$downloadVersion = "3.8.0"
$url = "https://cmake.org/files/v3.8/cmake-3.8.0-rc1-win32-x86.zip"
$downloadPath = "$downloadsDir\cmake-3.8.0-rc1-win32-x86.zip"
$expectedDownloadedFileHash = "ccdbd92fbfb548aa35a545e4e45ff19fd6d13c88c90370acdf940c3cf464e9c9"
$executableFromDownload = "$downloadsDir\cmake-3.8.0-rc1-win32-x86\bin\cmake.exe"
$extractionType = $ExtractionType_ZIP
$extractionFolder = $downloadsDir
}
elseif($Dependency -eq "nuget")
{
@ -147,14 +161,15 @@ function SelectProgram([Parameter(Mandatory=$true)][string]$Dependency)
elseif($Dependency -eq "git")
{
$requiredVersion = "2.0.0"
$downloadVersion = "2.11.0"
$url = "https://github.com/git-for-windows/git/releases/download/v2.11.0.windows.3/PortableGit-2.11.0.3-32-bit.7z.exe" # We choose the 32-bit version
$downloadPath = "$downloadsDir\PortableGit-2.11.0.3-32-bit.7z.exe"
$expectedDownloadedFileHash = "8bf3769c37945e991903dd1b988c6b1d97bbf0f3afc9851508974f38bf94dc01"
# There is another copy of git.exe in PortableGit\bin. However, an installed version of git add the cmd dir to the PATH.
$downloadVersion = "2.11.1"
$url = "https://github.com/git-for-windows/git/releases/download/v2.11.1.windows.1/MinGit-2.11.1-32-bit.zip" # We choose the 32-bit version
$downloadPath = "$downloadsDir\MinGit-2.11.1-32-bit.zip"
$expectedDownloadedFileHash = "6ca79af09015625f350ef4ad74a75cfb001b340aec095b6963be9d45becb3bba"
# There is another copy of git.exe in MinGit\bin. However, an installed version of git add the cmd dir to the PATH.
# Therefore, choosing the cmd dir here as well.
$executableFromDownload = "$downloadsDir\PortableGit\cmd\git.exe"
$extractionType = $ExtractionType_SELF_EXTRACTING_7Z
$executableFromDownload = "$downloadsDir\MinGit-2.11.1-32-bit\cmd\git.exe"
$extractionType = $ExtractionType_ZIP
$extractionFolder = "$downloadsDir\MinGit-2.11.1-32-bit"
}
else
{
@ -188,8 +203,8 @@ function SelectProgram([Parameter(Mandatory=$true)][string]$Dependency)
{
if (-not (Test-Path $executableFromDownload)) # consider renaming the extraction folder to make sure the extraction finished
{
# Expand-Archive $downloadPath -dest "$downloadsDir" -Force # Requires powershell 5+
Expand-ZIPFile -File $downloadPath -Destination $downloadsDir
# Expand-Archive $downloadPath -dest "$extractionFolder" -Force # Requires powershell 5+
Expand-ZIPFile -File $downloadPath -Destination $extractionFolder
}
}
elseif($extractionType -eq $ExtractionType_SELF_EXTRACTING_7Z)

View File

@ -1,32 +1,69 @@
[CmdletBinding()]
param(
[Parameter(Mandatory=$False)]
[switch]$DisableVS2017 = $False,
[Parameter(Mandatory=$False)]
[switch]$DisableVS2015 = $False
)
$scriptsDir = split-path -parent $MyInvocation.MyCommand.Definition
# VS2017
$VisualStudio2017InstallationInstances = & $scriptsDir\findVisualStudioInstallationInstances.ps1
foreach ($instance in $VisualStudio2017InstallationInstances)
if (-not $DisableVS2017)
{
$VCFolder= "$instance\VC\Tools\MSVC\"
if (Test-Path $VCFolder)
# VS2017
$VisualStudio2017InstallationInstances = & $scriptsDir\findVisualStudioInstallationInstances.ps1
foreach ($instance in $VisualStudio2017InstallationInstances)
{
return "$instance\MSBuild\15.0\Bin\MSBuild.exe","v141"
$VCFolder= "$instance\VC\Tools\MSVC\"
if (Test-Path $VCFolder)
{
return "$instance\MSBuild\15.0\Bin\MSBuild.exe","v141"
}
}
}
# VS2015
$CandidateProgramFiles = "${env:PROGRAMFILES(X86)}", "${env:PROGRAMFILES}"
foreach ($ProgramFiles in $CandidateProgramFiles)
if (-not $DisableVS2015)
{
$clExe= "$ProgramFiles\Microsoft Visual Studio 14.0\\VC\bin\cl.exe"
if (Test-Path $clExe)
# Try to locate VS2015 through the Registry
try
{
return "$ProgramFiles\MSBuild\14.0\Bin\MSBuild.exe","v140"
# First ensure the compiler was installed (optional in 2015)
# In 64-bit systems, this is under the Wow6432Node.
try
{
$VS14InstallDir = $(gp Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\visualstudio\14.0 InstallDir -erroraction Stop | % { $_.InstallDir })
Write-Verbose "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\visualstudio\14.0 - Found"
}
catch
{
$VS14InstallDir = $(gp Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\visualstudio\14.0 InstallDir -erroraction Stop | % { $_.InstallDir })
Write-Verbose "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\visualstudio\14.0 - Found"
}
if (!(Test-Path "${VS14InstallDir}..\..\VC\bin\cl.exe")) { throw }
Write-Verbose "${VS14InstallDir}..\..\VC\bin\cl.exe - Found"
try
{
$MSBuild14 = $(gp Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\msbuild\toolsversions\14.0 MSBuildToolsPath -erroraction Stop | % { $_.MSBuildToolsPath })
Write-Verbose "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\msbuild\toolsversions\14.0 - Found"
}
catch
{
$MSBuild14 = $(gp Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\msbuild\toolsversions\14.0 MSBuildToolsPath -erroraction Stop | % { $_.MSBuildToolsPath })
Write-Verbose "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\msbuild\toolsversions\14.0 - Found"
}
if (!(Test-Path "${MSBuild14}MSBuild.exe")) { throw }
Write-Verbose "${MSBuild14}MSBuild.exe - Found"
return "${MSBuild14}MSBuild.exe","v140"
}
catch
{
Write-Verbose "Unable to locate a VS2015 installation with C++ support"
}
}
throw "Could not find MSBuild with C++ support. VS2015 or above with C++ support need to be installed."
throw "Could not find MSBuild version with C++ support. VS2015 or VS2017 (with C++) needs to be installed."

View File

@ -0,0 +1,42 @@
[CmdletBinding()]
param(
)
$scriptsDir = split-path -parent $MyInvocation.MyCommand.Definition
$programFiles32 = & $scriptsDir\getProgramFiles32bit.ps1
$programFilesP = & $scriptsDir\getProgramFilesPlatformBitness.ps1
$CandidateProgramFiles = $programFiles32, $programFilesP
# Windows 10 SDK
foreach ($ProgramFiles in $CandidateProgramFiles)
{
$folder = "$ProgramFiles\Windows Kits\10\Include"
if (!(Test-Path $folder))
{
continue
}
$win10sdkVersions = @(Get-ChildItem $folder | Where-Object {$_.Name -match "^10"} | Sort-Object)
[array]::Reverse($win10sdkVersions) # Newest SDK first
foreach ($win10sdkV in $win10sdkVersions)
{
if (Test-Path "$folder\$win10sdkV\um\windows.h")
{
return $win10sdkV.ToString()
}
}
}
# Windows 8.1 SDK
foreach ($ProgramFiles in $CandidateProgramFiles)
{
$folder = "$ProgramFiles\Windows Kits\8.1\Include"
if (Test-Path $folder)
{
return "8.1"
}
}
throw "Could not detect a Windows SDK / TargetPlatformVersion"

View File

@ -10,11 +10,11 @@ $vcpkgRootDir = & $scriptsDir\findFileRecursivelyUp.ps1 $scriptsDir .vcpkg-root
$downloadsDir = "$vcpkgRootDir\downloads"
$nugetexe = & $scriptsDir\fetchDependency.ps1 "nuget"
$nugetexe = & $scriptsDir\fetchDependency.ps1 "nuget" 1
$nugetPackageDir = "$downloadsDir\nuget-packages"
$SetupAPIVersion = "1.5.125-rc"
$nugetOutput = & $nugetexe install Microsoft.VisualStudio.Setup.Configuration.Native -Version $SetupAPIVersion -OutputDirectory $nugetPackageDir -nocache 2>&1
$nugetOutput = & $nugetexe install Microsoft.VisualStudio.Setup.Configuration.Native -Version $SetupAPIVersion -OutputDirectory $nugetPackageDir -Source "https://api.nuget.org/v3/index.json" -nocache 2>&1
$SetupConsoleExe = "$nugetPackageDir\Microsoft.VisualStudio.Setup.Configuration.Native.$SetupAPIVersion\tools\x86\Microsoft.VisualStudio.Setup.Configuration.Console.exe"

View File

@ -0,0 +1,11 @@
[CmdletBinding()]
param(
)
if (Test-Path env:PROGRAMFILES`(X86`))
{
return ${env:PROGRAMFILES(X86)}
}
return ${env:PROGRAMFILES}

View File

@ -0,0 +1,11 @@
[CmdletBinding()]
param(
)
if (Test-Path env:ProgramW6432)
{
return ${env:ProgramW6432}
}
return ${env:PROGRAMFILES}

View File

@ -17,6 +17,7 @@ vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA # Disable this option if project cannot be built with Ninja
# OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2
# OPTIONS_RELEASE -DOPTIMIZE=1
# OPTIONS_DEBUG -DDEBUGGABLE=1

View File

@ -1 +1 @@
"0.0.71"
"0.0.74"

View File

@ -4,5 +4,5 @@
namespace vcpkg::PostBuildLint
{
void perform_all_checks(const package_spec& spec, const vcpkg_paths& paths);
size_t perform_all_checks(const package_spec& spec, const vcpkg_paths& paths);
}

View File

@ -4,6 +4,7 @@
#include "Paragraphs.h"
#include "PostBuildLint_BuildPolicies.h"
#include "opt_bool.h"
#include "PostBuildLint_LinkageType.h"
namespace vcpkg::PostBuildLint
{
@ -11,8 +12,8 @@ namespace vcpkg::PostBuildLint
{
static BuildInfo create(std::unordered_map<std::string, std::string> pgh);
std::string crt_linkage;
std::string library_linkage;
LinkageType::type crt_linkage;
LinkageType::type library_linkage;
std::map<BuildPolicies::type, opt_bool_t> policies;
};

View File

@ -1,17 +1,19 @@
#pragma once
#include <string>
#include <array>
namespace vcpkg::PostBuildLint::BuildPolicies
{
enum class backing_enum_t
{
UNKNOWN = 0,
NULLVALUE = 0,
EMPTY_PACKAGE,
DLLS_WITHOUT_LIBS
};
struct type
{
constexpr type() : backing_enum(backing_enum_t::NULLVALUE) {}
constexpr explicit type(backing_enum_t backing_enum) : backing_enum(backing_enum) { }
constexpr operator backing_enum_t() const { return backing_enum; }
@ -19,17 +21,16 @@ namespace vcpkg::PostBuildLint::BuildPolicies
const std::string& cmake_variable() const;
private:
type();
backing_enum_t backing_enum;
};
static constexpr int value_count = 3;
const std::vector<type>& values();
static const std::string ENUM_NAME = "vcpkg::PostBuildLint::BuildPolicies";
static constexpr type UNKNOWN(backing_enum_t::UNKNOWN);
static constexpr type NULLVALUE(backing_enum_t::NULLVALUE);
static constexpr type EMPTY_PACKAGE(backing_enum_t::EMPTY_PACKAGE);
static constexpr type DLLS_WITHOUT_LIBS(backing_enum_t::DLLS_WITHOUT_LIBS);
static constexpr std::array<type, 2> values = { EMPTY_PACKAGE, DLLS_WITHOUT_LIBS };
type parse(const std::string& s);
}

View File

@ -1,45 +1,47 @@
#pragma once
#include "PostBuildLint_ConfigurationType.h"
#include "PostBuildLint_LinkageType.h"
#include <vector>
#include <array>
#include <regex>
namespace vcpkg::PostBuildLint
namespace vcpkg::PostBuildLint::BuildType
{
struct BuildType
enum class backing_enum_t
{
static BuildType value_of(const ConfigurationType& config, const LinkageType& linkage);
static const BuildType DEBUG_STATIC;
static const BuildType DEBUG_DYNAMIC;
static const BuildType RELEASE_STATIC;
static const BuildType RELEASE_DYNAMIC;
static const std::vector<BuildType>& values()
{
static const std::vector<BuildType> v = { DEBUG_STATIC, DEBUG_DYNAMIC, RELEASE_STATIC, RELEASE_DYNAMIC };
return v;
}
BuildType() = delete;
const ConfigurationType& config() const;
const LinkageType& linkage() const;
std::regex crt_regex() const;
std::string toString() const;
private:
BuildType(const ConfigurationType& config, const LinkageType& linkage, const std::string& crt_regex_as_string)
: m_config(config), m_linkage(linkage), m_crt_regex_as_string(crt_regex_as_string)
{
}
ConfigurationType m_config;
LinkageType m_linkage;
std::string m_crt_regex_as_string;
DEBUG_STATIC = 1,
DEBUG_DYNAMIC,
RELEASE_STATIC,
RELEASE_DYNAMIC
};
bool operator ==(const BuildType& lhs, const BuildType& rhs);
struct type
{
type() = delete;
bool operator !=(const BuildType& lhs, const BuildType& rhs);
constexpr explicit type(const backing_enum_t backing_enum, const ConfigurationType::type config, const LinkageType::type linkage) :
backing_enum(backing_enum), m_config(config), m_linkage(linkage) { }
constexpr operator backing_enum_t() const { return backing_enum; }
const ConfigurationType::type& config() const;
const LinkageType::type& linkage() const;
const std::regex& crt_regex() const;
const std::string& toString() const;
private:
backing_enum_t backing_enum;
ConfigurationType::type m_config;
LinkageType::type m_linkage;
};
static const std::string ENUM_NAME = "vcpkg::PostBuildLint::BuildType";
static constexpr type DEBUG_STATIC = type(backing_enum_t::DEBUG_STATIC, ConfigurationType::DEBUG, LinkageType::STATIC);
static constexpr type DEBUG_DYNAMIC = type(backing_enum_t::DEBUG_DYNAMIC, ConfigurationType::DEBUG, LinkageType::DYNAMIC);
static constexpr type RELEASE_STATIC = type(backing_enum_t::RELEASE_STATIC, ConfigurationType::RELEASE, LinkageType::STATIC);
static constexpr type RELEASE_DYNAMIC = type(backing_enum_t::RELEASE_DYNAMIC, ConfigurationType::RELEASE, LinkageType::DYNAMIC);
static constexpr std::array<type, 4> values = { DEBUG_STATIC, DEBUG_DYNAMIC, RELEASE_STATIC, RELEASE_DYNAMIC };
type value_of(const ConfigurationType::type& config, const LinkageType::type& linkage);
}

View File

@ -2,13 +2,32 @@
#pragma once
#include <string>
namespace vcpkg::PostBuildLint
namespace vcpkg::PostBuildLint::ConfigurationType
{
enum class ConfigurationType
enum class backing_enum_t
{
NULLVALUE = 0,
DEBUG = 1,
RELEASE = 2
};
std::string to_string(const ConfigurationType& conf);
struct type
{
constexpr type() : backing_enum(backing_enum_t::NULLVALUE) {}
constexpr explicit type(backing_enum_t backing_enum) : backing_enum(backing_enum) { }
constexpr operator backing_enum_t() const { return backing_enum; }
const std::string& toString() const;
private:
backing_enum_t backing_enum;
};
static const std::string ENUM_NAME = "vcpkg::PostBuildLint::ConfigurationType";
static constexpr type NULLVALUE(backing_enum_t::NULLVALUE);
static constexpr type DEBUG(backing_enum_t::DEBUG);
static constexpr type RELEASE(backing_enum_t::RELEASE);
static constexpr std::array<type, 2> values = { DEBUG, RELEASE };
}

View File

@ -1,16 +1,34 @@
#pragma once
#include <string>
namespace vcpkg::PostBuildLint
namespace vcpkg::PostBuildLint::LinkageType
{
enum class LinkageType
enum class backing_enum_t
{
NULLVALUE = 0,
DYNAMIC,
STATIC,
UNKNOWN
STATIC
};
LinkageType linkage_type_value_of(const std::string& as_string);
struct type
{
constexpr type() : backing_enum(backing_enum_t::NULLVALUE) {}
constexpr explicit type(backing_enum_t backing_enum) : backing_enum(backing_enum) { }
constexpr operator backing_enum_t() const { return backing_enum; }
std::string to_string(const LinkageType& build_info);
const std::string& toString() const;
private:
backing_enum_t backing_enum;
};
static const std::string ENUM_NAME = "vcpkg::PostBuildLint::LinkageType";
static constexpr type NULLVALUE(backing_enum_t::NULLVALUE);
static constexpr type DYNAMIC(backing_enum_t::DYNAMIC);
static constexpr type STATIC(backing_enum_t::STATIC);
static constexpr std::array<type, 2> values = { DYNAMIC, STATIC };
type value_of(const std::string& as_string);
}

View File

@ -20,7 +20,7 @@ namespace vcpkg
}
const_iterator find(const std::string& name, const triplet& target_triplet) const;
iterator find(const std::string& name, const triplet& target_triplet);
iterator find_installed(const std::string& name, const triplet& target_triplet);
const_iterator find_installed(const std::string& name, const triplet& target_triplet) const;
iterator insert(std::unique_ptr<StatusParagraph>);

View File

@ -35,6 +35,8 @@ namespace vcpkg::Checks
}
}
void check_exit(bool expression);
void check_exit(bool expression, const char* errorMessage);
template <class...Args>

View File

@ -5,6 +5,25 @@
namespace vcpkg
{
class ElapsedTime
{
public:
static ElapsedTime createStarted();
constexpr ElapsedTime() :m_startTick() {}
template <class TimeUnit>
TimeUnit elapsed() const
{
return std::chrono::duration_cast<TimeUnit>(std::chrono::high_resolution_clock::now() - this->m_startTick);
}
std::string toString() const;
private:
std::chrono::steady_clock::time_point m_startTick;
};
class Stopwatch
{
public:

View File

@ -2,6 +2,8 @@
#include "vcpkg_cmd_arguments.h"
#include "vcpkg_paths.h"
#include "StatusParagraphs.h"
#include <array>
namespace vcpkg::Commands
{
@ -11,7 +13,23 @@ namespace vcpkg::Commands
namespace Build
{
void build_package(const SourceParagraph& source_paragraph, const package_spec& spec, const vcpkg_paths& paths, const fs::path& port_dir);
enum class BuildResult
{
NULLVALUE = 0,
SUCCEEDED,
BUILD_FAILED,
POST_BUILD_CHECKS_FAILED,
CASCADED_DUE_TO_MISSING_DEPENDENCIES
};
static constexpr std::array<BuildResult, 4> BuildResult_values = { BuildResult::SUCCEEDED, BuildResult::BUILD_FAILED, BuildResult::POST_BUILD_CHECKS_FAILED, BuildResult::CASCADED_DUE_TO_MISSING_DEPENDENCIES };
const std::string& to_string(const BuildResult build_result);
std::string create_error_message(const BuildResult build_result, const package_spec& spec);
std::string create_user_troubleshooting_message(const package_spec& spec);
BuildResult build_package(const SourceParagraph& source_paragraph, const package_spec& spec, const vcpkg_paths& paths, const fs::path& port_dir, const StatusParagraphs& status_db);
void perform_and_exit(const package_spec& spec, const fs::path& port_dir, const std::unordered_set<std::string>& options, const vcpkg_paths& paths);
void perform_and_exit(const vcpkg_cmd_arguments& args, const vcpkg_paths& paths, const triplet& default_target_triplet);
}
@ -21,6 +39,12 @@ namespace vcpkg::Commands
}
namespace Install
{
void install_package(const vcpkg_paths& paths, const BinaryParagraph& binary_paragraph, StatusParagraphs* status_db);
void perform_and_exit(const vcpkg_cmd_arguments& args, const vcpkg_paths& paths, const triplet& default_target_triplet);
}
namespace CI
{
void perform_and_exit(const vcpkg_cmd_arguments& args, const vcpkg_paths& paths, const triplet& default_target_triplet);
}
@ -55,11 +79,6 @@ namespace vcpkg::Commands
void perform_and_exit(const vcpkg_cmd_arguments& args, const vcpkg_paths& paths);
}
namespace Import
{
void perform_and_exit(const vcpkg_cmd_arguments& args, const vcpkg_paths& paths);
}
namespace Owns
{
void perform_and_exit(const vcpkg_cmd_arguments& args, const vcpkg_paths& paths);
@ -70,6 +89,11 @@ namespace vcpkg::Commands
void perform_and_exit(const vcpkg_cmd_arguments& args, const vcpkg_paths& paths);
}
namespace Import
{
void perform_and_exit(const vcpkg_cmd_arguments& args, const vcpkg_paths& paths);
}
namespace Integrate
{
extern const char*const INTEGRATE_COMMAND_HELPSTRING;
@ -97,11 +121,13 @@ namespace vcpkg::Commands
namespace Version
{
const std::string& version();
void perform_and_exit(const vcpkg_cmd_arguments& args);
}
namespace Contact
{
const std::string& email();
void perform_and_exit(const vcpkg_cmd_arguments& args);
}

View File

@ -75,5 +75,5 @@ namespace vcpkg::Dependencies
std::vector<package_spec_with_install_plan> create_install_plan(const vcpkg_paths& paths, const std::vector<package_spec>& specs, const StatusParagraphs& status_db);
std::vector<package_spec_with_remove_plan> create_remove_plan(const vcpkg_paths& paths, const std::vector<package_spec>& specs, const StatusParagraphs& status_db);
std::vector<package_spec_with_remove_plan> create_remove_plan(const std::vector<package_spec>& specs, const StatusParagraphs& status_db);
}

View File

@ -0,0 +1,11 @@
#pragma once
#include <string>
namespace vcpkg::Enums
{
std::string nullvalue_toString(const std::string& enum_name);
__declspec(noreturn) void nullvalue_used(const std::string& enum_name);
__declspec(noreturn) void unreachable(const std::string& enum_name);
}

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