aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNinetainedo <ninetainedo@gmail.com>2016-09-22 22:15:14 +0200
committerNinetainedo <ninetainedo@gmail.com>2016-09-22 22:15:14 +0200
commitcbd2f0ec0f7312df2c0da9f3a64e5ae988159d37 (patch)
tree8682ccb7258a3f831b645049fb891cfd3bea82f7
parentfc2608399580639f54da9e01af6ce7e161e35475 (diff)
parentdb3713779cc0aa0e9d80fa0d4e2bd4b3e0c4eaf0 (diff)
downloadvcpkg-cbd2f0ec0f7312df2c0da9f3a64e5ae988159d37.tar.gz
vcpkg-cbd2f0ec0f7312df2c0da9f3a64e5ae988159d37.zip
Merge remote-tracking branch 'refs/remotes/Microsoft/master' into Use-SHA512-instead-of-MD5
-rw-r--r--ports/doctest/CONTROL3
-rw-r--r--ports/doctest/portfile.cmake13
-rw-r--r--ports/glew/portfile.cmake22
-rw-r--r--ports/gtest/0001-Enable-C-11-features-for-VS2015-fix-appveyor-fail.patch177
-rw-r--r--ports/gtest/CONTROL3
-rw-r--r--ports/gtest/portfile.cmake56
-rw-r--r--ports/mpir/CONTROL3
-rw-r--r--ports/mpir/portfile.cmake48
8 files changed, 319 insertions, 6 deletions
diff --git a/ports/doctest/CONTROL b/ports/doctest/CONTROL
new file mode 100644
index 000000000..df41ef19f
--- /dev/null
+++ b/ports/doctest/CONTROL
@@ -0,0 +1,3 @@
+Source: doctest
+Version: 1.1.0
+Description: The lightest feature-rich C++ single-header testing framework for unit tests and TDD
diff --git a/ports/doctest/portfile.cmake b/ports/doctest/portfile.cmake
new file mode 100644
index 000000000..82a84eff9
--- /dev/null
+++ b/ports/doctest/portfile.cmake
@@ -0,0 +1,13 @@
+include(vcpkg_common_functions)
+vcpkg_download_distfile(ARCHIVE
+ URL "https://github.com/onqtam/doctest/archive/1.1.0.zip"
+ FILENAME "doctest-1.1.0.zip"
+ MD5 4aee74025b34b4a00a253b6262bdeeb1
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+# Handle copyright
+file(INSTALL ${CURRENT_BUILDTREES_DIR}/src/doctest-1.1.0/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/doctest RENAME copyright)
+
+# Copy header file
+file(INSTALL ${CURRENT_BUILDTREES_DIR}/src/doctest-1.1.0/doctest/doctest.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/doctest)
diff --git a/ports/glew/portfile.cmake b/ports/glew/portfile.cmake
index f6c3b7da5..273d7041b 100644
--- a/ports/glew/portfile.cmake
+++ b/ports/glew/portfile.cmake
@@ -6,6 +6,15 @@ vcpkg_download_distfile(ARCHIVE_FILE
)
vcpkg_extract_source_archive(${ARCHIVE_FILE})
+IF (TRIPLET_SYSTEM_ARCH MATCHES "x86")
+ SET(BUILD_ARCH "Win32")
+ELSEIF(TRIPLET_SYSTEM_ARCH MATCHES "arm")
+ MESSAGE(FATAL_ERROR, " ARM is currently not supported.")
+ RETURN()
+ELSE()
+ SET(BUILD_ARCH ${TRIPLET_SYSTEM_ARCH})
+ENDIF()
+
if(NOT EXISTS ${CURRENT_BUILDTREES_DIR}/src/glew-1.13.0/build/vc12/glew_shared14.vcxproj)
message(STATUS "Upgrading projects")
file(READ ${CURRENT_BUILDTREES_DIR}/src/glew-1.13.0/build/vc12/glew_shared.vcxproj PROJ)
@@ -26,22 +35,23 @@ vcpkg_build_msbuild(
)
message(STATUS "Installing")
+
file(INSTALL
- ${CURRENT_BUILDTREES_DIR}/src/glew-1.13.0/bin/Debug/Win32/glew32d.dll
- ${CURRENT_BUILDTREES_DIR}/src/glew-1.13.0/bin/Debug/Win32/glew32d.pdb
+ ${CURRENT_BUILDTREES_DIR}/src/glew-1.13.0/bin/Debug/${BUILD_ARCH}/glew32d.dll
+ ${CURRENT_BUILDTREES_DIR}/src/glew-1.13.0/bin/Debug/${BUILD_ARCH}/glew32d.pdb
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
)
file(INSTALL
- ${CURRENT_BUILDTREES_DIR}/src/glew-1.13.0/bin/Release/Win32/glew32.dll
- ${CURRENT_BUILDTREES_DIR}/src/glew-1.13.0/bin/Release/Win32/glew32.pdb
+ ${CURRENT_BUILDTREES_DIR}/src/glew-1.13.0/bin/Release/${BUILD_ARCH}/glew32.dll
+ ${CURRENT_BUILDTREES_DIR}/src/glew-1.13.0/bin/Release/${BUILD_ARCH}/glew32.pdb
DESTINATION ${CURRENT_PACKAGES_DIR}/bin
)
file(INSTALL
- ${CURRENT_BUILDTREES_DIR}/src/glew-1.13.0/lib/Debug/Win32/glew32d.lib
+ ${CURRENT_BUILDTREES_DIR}/src/glew-1.13.0/lib/Debug/${BUILD_ARCH}/glew32d.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
)
file(INSTALL
- ${CURRENT_BUILDTREES_DIR}/src/glew-1.13.0/lib/Release/Win32/glew32.lib
+ ${CURRENT_BUILDTREES_DIR}/src/glew-1.13.0/lib/Release/${BUILD_ARCH}/glew32.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/lib
)
file(INSTALL
diff --git a/ports/gtest/0001-Enable-C-11-features-for-VS2015-fix-appveyor-fail.patch b/ports/gtest/0001-Enable-C-11-features-for-VS2015-fix-appveyor-fail.patch
new file mode 100644
index 000000000..274942482
--- /dev/null
+++ b/ports/gtest/0001-Enable-C-11-features-for-VS2015-fix-appveyor-fail.patch
@@ -0,0 +1,177 @@
+From 1695708beda0306f3b4dffd66f4be142425894a0 Mon Sep 17 00:00:00 2001
+From: Arkady Shapkin <arkady.shapkin@gmail.com>
+Date: Wed, 2 Mar 2016 02:53:10 +0300
+Subject: [PATCH] Enable C++11 features for VS2015 (fix appveyor fail)
+
+---
+ .gitignore | 13 ++++++++
+ googlemock/test/gmock-matchers_test.cc | 5 +++
+ googletest/include/gtest/internal/gtest-port.h | 10 ++++--
+ googletest/test/gtest-printers_test.cc | 43 ++++++++++++++++++++++---
+ googletest/test/gtest_catch_exceptions_test_.cc | 2 +-
+ 5 files changed, 64 insertions(+), 9 deletions(-)
+
+diff --git a/.gitignore b/.gitignore
+index ce310bc..08a67cd 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -1,2 +1,15 @@
+ # Ignore CI build directory
+ build/
++_build/
++
++# Visual Studio files
++*.sdf
++*.opensdf
++*.VC.opendb
++*.suo
++*.user
++_ReSharper.Caches/
++Win32-Debug/
++Win32-Release/
++x64-Debug/
++x64-Release/
+diff --git a/googlemock/test/gmock-matchers_test.cc b/googlemock/test/gmock-matchers_test.cc
+index 9f62c3d..eaba362 100644
+--- a/googlemock/test/gmock-matchers_test.cc
++++ b/googlemock/test/gmock-matchers_test.cc
+@@ -58,6 +58,11 @@
+ # include <forward_list> // NOLINT
+ #endif
+
++// Disable MSVC warning: "decorated name length exceeded, name was truncated".
++#ifdef _MSC_VER
++# pragma warning(disable:4503)
++#endif
++
+ namespace testing {
+
+ namespace internal {
+diff --git a/googletest/include/gtest/internal/gtest-port.h b/googletest/include/gtest/internal/gtest-port.h
+index 0094ed5..c07c455 100644
+--- a/googletest/include/gtest/internal/gtest-port.h
++++ b/googletest/include/gtest/internal/gtest-port.h
+@@ -323,7 +323,7 @@
+ // -std={c,gnu}++{0x,11} is passed. The C++11 standard specifies a
+ // value for __cplusplus, and recent versions of clang, gcc, and
+ // probably other compilers set that too in C++11 mode.
+-# if __GXX_EXPERIMENTAL_CXX0X__ || __cplusplus >= 201103L
++# if __GXX_EXPERIMENTAL_CXX0X__ || __cplusplus >= 201103L || _MSC_VER >= 1900
+ // Compiling in at least C++11 mode.
+ # define GTEST_LANG_CXX11 1
+ # else
+@@ -355,12 +355,16 @@
+ #if GTEST_STDLIB_CXX11
+ # define GTEST_HAS_STD_BEGIN_AND_END_ 1
+ # define GTEST_HAS_STD_FORWARD_LIST_ 1
+-# define GTEST_HAS_STD_FUNCTION_ 1
++# if !defined(_MSC_VER) || (_MSC_FULL_VER >= 190023824) // works only with VS2015U2 and better
++# define GTEST_HAS_STD_FUNCTION_ 1
++# endif
+ # define GTEST_HAS_STD_INITIALIZER_LIST_ 1
+ # define GTEST_HAS_STD_MOVE_ 1
+ # define GTEST_HAS_STD_SHARED_PTR_ 1
+ # define GTEST_HAS_STD_TYPE_TRAITS_ 1
+ # define GTEST_HAS_STD_UNIQUE_PTR_ 1
++# define GTEST_HAS_UNORDERED_MAP_ 1
++# define GTEST_HAS_UNORDERED_SET_ 1
+ #endif
+
+ // C++11 specifies that <tuple> provides std::tuple.
+@@ -616,7 +620,7 @@ struct _RTL_CRITICAL_SECTION;
+ // Determines if hash_map/hash_set are available.
+ // Only used for testing against those containers.
+ #if !defined(GTEST_HAS_HASH_MAP_)
+-# if _MSC_VER
++# if defined(_MSC_VER) && (_MSC_VER < 1900)
+ # define GTEST_HAS_HASH_MAP_ 1 // Indicates that hash_map is available.
+ # define GTEST_HAS_HASH_SET_ 1 // Indicates that hash_set is available.
+ # endif // _MSC_VER
+diff --git a/googletest/test/gtest-printers_test.cc b/googletest/test/gtest-printers_test.cc
+index 3e97cc2..6320563 100644
+--- a/googletest/test/gtest-printers_test.cc
++++ b/googletest/test/gtest-printers_test.cc
+@@ -51,10 +51,15 @@
+ #include "gtest/gtest.h"
+
+ // hash_map and hash_set are available under Visual C++, or on Linux.
+-#if GTEST_HAS_HASH_MAP_
++#if GTEST_HAS_UNORDERED_MAP_
++# include <unordered_map> // NOLINT
++#elif GTEST_HAS_HASH_MAP_
+ # include <hash_map> // NOLINT
+ #endif // GTEST_HAS_HASH_MAP_
+-#if GTEST_HAS_HASH_SET_
++
++#if GTEST_HAS_UNORDERED_SET_
++# include <unordered_set> // NOLINT
++#elif GTEST_HAS_HASH_SET_
+ # include <hash_set> // NOLINT
+ #endif // GTEST_HAS_HASH_SET_
+
+@@ -217,18 +222,46 @@ using ::testing::internal::string;
+ // The hash_* classes are not part of the C++ standard. STLport
+ // defines them in namespace std. MSVC defines them in ::stdext. GCC
+ // defines them in ::.
++#if GTEST_HAS_UNORDERED_MAP_
++
++#define GTEST_HAS_HASH_MAP_ 1
++template<class Key, class T>
++using hash_map = ::std::unordered_map<Key, T>;
++template<class Key, class T>
++using hash_multimap = ::std::unordered_multimap<Key, T>;
++
++#elif GTEST_HAS_HASH_MAP_
++
+ #ifdef _STLP_HASH_MAP // We got <hash_map> from STLport.
+ using ::std::hash_map;
+-using ::std::hash_set;
+ using ::std::hash_multimap;
+-using ::std::hash_multiset;
+ #elif _MSC_VER
+ using ::stdext::hash_map;
+-using ::stdext::hash_set;
+ using ::stdext::hash_multimap;
++#endif
++
++#endif
++
++#if GTEST_HAS_UNORDERED_SET_
++
++#define GTEST_HAS_HASH_SET_ 1
++template<class Key>
++using hash_set = ::std::unordered_set<Key>;
++template<class Key>
++using hash_multiset = ::std::unordered_multiset<Key>;
++
++#elif GTEST_HAS_HASH_SET_
++
++#ifdef _STLP_HASH_MAP // We got <hash_map> from STLport.
++using ::std::hash_set;
++using ::std::hash_multiset;
++#elif _MSC_VER
++using ::stdext::hash_set;
+ using ::stdext::hash_multiset;
+ #endif
+
++#endif
++
+ // Prints a value to a string using the universal value printer. This
+ // is a helper for testing UniversalPrinter<T>::Print() for various types.
+ template <typename T>
+diff --git a/googletest/test/gtest_catch_exceptions_test_.cc b/googletest/test/gtest_catch_exceptions_test_.cc
+index d0fc82c..c6d953c 100644
+--- a/googletest/test/gtest_catch_exceptions_test_.cc
++++ b/googletest/test/gtest_catch_exceptions_test_.cc
+@@ -138,7 +138,7 @@ TEST_F(CxxExceptionInConstructorTest, ThrowsExceptionInConstructor) {
+ }
+
+ // Exceptions in destructors are not supported in C++11.
+-#if !defined(__GXX_EXPERIMENTAL_CXX0X__) && __cplusplus < 201103L
++#if !GTEST_LANG_CXX11
+ class CxxExceptionInDestructorTest : public Test {
+ public:
+ static void TearDownTestCase() {
+--
+2.10.0.windows.1
+
diff --git a/ports/gtest/CONTROL b/ports/gtest/CONTROL
new file mode 100644
index 000000000..07336b978
--- /dev/null
+++ b/ports/gtest/CONTROL
@@ -0,0 +1,3 @@
+Source: gtest
+Version: 1.8
+Description: GoogleTest and GoogleMock testing frameworks. \ No newline at end of file
diff --git a/ports/gtest/portfile.cmake b/ports/gtest/portfile.cmake
new file mode 100644
index 000000000..bfac8ab61
--- /dev/null
+++ b/ports/gtest/portfile.cmake
@@ -0,0 +1,56 @@
+include(vcpkg_common_functions)
+
+find_program(GIT git)
+
+set(GIT_URL "https://github.com/google/googletest.git")
+set(GIT_TAG "release-1.8.0")
+
+if(NOT EXISTS "${DOWNLOADS}/googletest.git")
+ message(STATUS "Cloning")
+ vcpkg_execute_required_process(
+ COMMAND ${GIT} clone --bare ${GIT_URL} ${DOWNLOADS}/googletest.git
+ WORKING_DIRECTORY ${DOWNLOADS}
+ LOGNAME clone
+ )
+endif()
+message(STATUS "Cloning done")
+
+if(NOT EXISTS "${CURRENT_BUILDTREES_DIR}/src/.git")
+ message(STATUS "Adding worktree and patching")
+ vcpkg_execute_required_process(
+ COMMAND ${GIT} worktree add -f --detach ${CURRENT_BUILDTREES_DIR}/src ${GIT_TAG}
+ WORKING_DIRECTORY ${DOWNLOADS}/googletest.git
+ LOGNAME worktree
+ )
+ message(STATUS "Patching")
+ vcpkg_execute_required_process(
+ COMMAND ${GIT} am ${CMAKE_CURRENT_LIST_DIR}/0001-Enable-C-11-features-for-VS2015-fix-appveyor-fail.patch --ignore-whitespace --whitespace=fix
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src
+ LOGNAME patch
+ )
+endif()
+message(STATUS "Adding worktree and patching done")
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src
+ OPTIONS
+ -DBUILD_SHARED_LIBS=ON
+)
+
+vcpkg_build_cmake()
+
+vcpkg_install_cmake()
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(INSTALL ${CURRENT_BUILDTREES_DIR}/src/googletest/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/gtest RENAME copyright)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin/)
+file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gtest.dll ${CURRENT_PACKAGES_DIR}/bin/gtest.dll)
+file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gtest_main.dll ${CURRENT_PACKAGES_DIR}/bin/gtest_main.dll)
+file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gmock.dll ${CURRENT_PACKAGES_DIR}/bin/gmock.dll)
+file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gmock_main.dll ${CURRENT_PACKAGES_DIR}/bin/gmock_main.dll)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin/)
+file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gtest.dll ${CURRENT_PACKAGES_DIR}/debug/bin/gtest.dll)
+file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gtest_main.dll ${CURRENT_PACKAGES_DIR}/debug/bin/gtest_main.dll)
+file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gmock.dll ${CURRENT_PACKAGES_DIR}/debug/bin/gmock.dll)
+file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gmock_main.dll ${CURRENT_PACKAGES_DIR}/debug/bin/gmock_main.dll)
+
+vcpkg_copy_pdbs()
diff --git a/ports/mpir/CONTROL b/ports/mpir/CONTROL
new file mode 100644
index 000000000..6d8646f93
--- /dev/null
+++ b/ports/mpir/CONTROL
@@ -0,0 +1,3 @@
+Source: mpir
+Version: 2.7.2
+Description: Multiple Precision Integers and Rationals. \ No newline at end of file
diff --git a/ports/mpir/portfile.cmake b/ports/mpir/portfile.cmake
new file mode 100644
index 000000000..7ccc5ef92
--- /dev/null
+++ b/ports/mpir/portfile.cmake
@@ -0,0 +1,48 @@
+include(vcpkg_common_functions)
+vcpkg_download_distfile(ARCHIVE_FILE
+ URL "http://mpir.org/mpir-2.7.2.tar.lz"
+ FILENAME "mpir-2.7.2.tar.lz"
+ MD5 2d47419dac50cc4a89c8c23421e66db1
+)
+vcpkg_extract_source_archive(${ARCHIVE_FILE})
+
+vcpkg_build_msbuild(
+ PROJECT_PATH ${CURRENT_BUILDTREES_DIR}/src/mpir-2.7.2/build.vc14/dll_mpir_gc/dll_mpir_gc.vcxproj
+)
+
+IF (TRIPLET_SYSTEM_ARCH MATCHES "x86")
+ SET(BUILD_ARCH "Win32")
+ELSE()
+ SET(BUILD_ARCH ${TRIPLET_SYSTEM_ARCH})
+ENDIF()
+
+file(INSTALL
+ ${CURRENT_BUILDTREES_DIR}/src/mpir-2.7.2/dll/${BUILD_ARCH}/Debug/gmp.h
+ ${CURRENT_BUILDTREES_DIR}/src/mpir-2.7.2/dll/${BUILD_ARCH}/Debug/gmpxx.h
+ ${CURRENT_BUILDTREES_DIR}/src/mpir-2.7.2/dll/${BUILD_ARCH}/Debug/mpir.h
+ ${CURRENT_BUILDTREES_DIR}/src/mpir-2.7.2/dll/${BUILD_ARCH}/Debug/mpirxx.h
+ DESTINATION ${CURRENT_PACKAGES_DIR}/include
+)
+file(INSTALL
+ ${CURRENT_BUILDTREES_DIR}/src/mpir-2.7.2/dll/${BUILD_ARCH}/Debug/mpir.dll
+ ${CURRENT_BUILDTREES_DIR}/src/mpir-2.7.2/dll/${BUILD_ARCH}/Debug/mpir.pdb
+ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
+)
+file(INSTALL
+ ${CURRENT_BUILDTREES_DIR}/src/mpir-2.7.2/dll/${BUILD_ARCH}/Release/mpir.dll
+ ${CURRENT_BUILDTREES_DIR}/src/mpir-2.7.2/dll/${BUILD_ARCH}/Release/mpir.pdb
+ DESTINATION ${CURRENT_PACKAGES_DIR}/bin
+)
+file(INSTALL
+ ${CURRENT_BUILDTREES_DIR}/src/mpir-2.7.2/dll/${BUILD_ARCH}/Debug/mpir.lib
+ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
+)
+file(INSTALL
+ ${CURRENT_BUILDTREES_DIR}/src/mpir-2.7.2/dll/${BUILD_ARCH}/Release/mpir.lib
+ DESTINATION ${CURRENT_PACKAGES_DIR}/lib
+)
+
+file(INSTALL ${CURRENT_BUILDTREES_DIR}/src/mpir-2.7.2/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/mpir RENAME copyright)
+
+vcpkg_copy_pdbs()
+message(STATUS "Installing done")