diff --git a/ports/folly/CONTROL b/ports/folly/CONTROL
index 754bebb67b3..f37fbc53f19 100644
--- a/ports/folly/CONTROL
+++ b/ports/folly/CONTROL
@@ -1,4 +1,4 @@
Source: folly
-Version: v2017.05.08.00
+Version: v2017.05.08.00-1
Description: An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows
Build-Depends: zlib, openssl, boost, libevent, double-conversion, glog, gflags, lz4, liblzma, snappy
diff --git a/ports/folly/fix-cmakelists.patch b/ports/folly/fix-cmakelists.patch
index 9f5700dbb8d..3d3e3ddaeed 100644
--- a/ports/folly/fix-cmakelists.patch
+++ b/ports/folly/fix-cmakelists.patch
@@ -1,23 +1,8 @@
-diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake
-index 211c6fbf..988225a2 100755
---- a/CMake/folly-deps.cmake
-+++ b/CMake/folly-deps.cmake
-@@ -11,8 +11,8 @@ find_package(Boost 1.55.0 MODULE
- REQUIRED
- )
- find_package(DoubleConversion MODULE REQUIRED)
--find_package(GFlags MODULE REQUIRED)
--find_package(GLog MODULE REQUIRED)
-+find_package(gflags CONFIG REQUIRED)
-+find_package(glog CONFIG REQUIRED)
- find_package(LibEvent MODULE REQUIRED)
- find_package(OpenSSL MODULE REQUIRED)
- find_package(PThread MODULE)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 38886d65..4c796eac 100755
+index 38886d65..00e5307c 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -1,15 +1,8 @@
+@@ -1,15 +1,14 @@
cmake_minimum_required(VERSION 3.4.0 FATAL_ERROR)
-# Unfortunately, CMake doesn't easily provide us a way to merge static
@@ -25,14 +10,35 @@ index 38886d65..4c796eac 100755
-# we do a bit of a workaround here to inject a property into the generated
-# project files that will only get enabled for the folly target. Ugly, but
-# the alternatives are far, far worse.
- if ("${CMAKE_GENERATOR}" MATCHES "Visual Studio 15( 2017)? Win64")
+-if ("${CMAKE_GENERATOR}" MATCHES "Visual Studio 15( 2017)? Win64")
- set(CMAKE_GENERATOR_TOOLSET "v141truev141")
++project(${PACKAGE_NAME} CXX)
++
++if (NOT ${MSVC_CXX_ARCHITECTURE_ID} STREQUAL "x64")
++ message(FATAL_ERROR "This build script only supports building Folly on 64-bit Windows.")
++endif()
++
++if (MSVC_VERSION EQUAL 1910)
set(MSVC_IS_2017 ON)
- elseif ("${CMAKE_GENERATOR}" STREQUAL "Visual Studio 14 2015 Win64")
+-elseif ("${CMAKE_GENERATOR}" STREQUAL "Visual Studio 14 2015 Win64")
- set(CMAKE_GENERATOR_TOOLSET "v140truev140")
++elseif (MSVC_VERSION EQUAL 1900)
set(MSVC_IS_2017 OFF)
else()
message(FATAL_ERROR "This build script only supports building Folly on 64-bit Windows with Visual Studio 2015 or Visual Studio 2017.")
+@@ -29,12 +28,6 @@ set(PACKAGE_BUGREPORT "https://github.com/facebook/folly/issues")
+ # 150+ tests in the root folder anyone? No? I didn't think so.
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+
+-project(${PACKAGE_NAME} CXX)
+-
+-# Check architecture OS
+-if (NOT CMAKE_SIZEOF_VOID_P EQUAL 8)
+- message(FATAL_ERROR "Folly requires a 64bit OS")
+-endif()
+ if(NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
+ message(FATAL_ERROR "You should only be using CMake to build Folly if you are on Windows!")
+ endif()
@@ -122,7 +115,8 @@ add_library(folly_base STATIC
)
auto_source_group(folly ${FOLLY_DIR} ${files} ${hfiles})
diff --git a/ports/folly/fix-deps.patch b/ports/folly/fix-deps.patch
new file mode 100644
index 00000000000..00870154966
--- /dev/null
+++ b/ports/folly/fix-deps.patch
@@ -0,0 +1,15 @@
+diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake
+index 211c6fbf..801e9ba6 100755
+--- a/CMake/folly-deps.cmake
++++ b/CMake/folly-deps.cmake
+@@ -11,8 +11,8 @@ find_package(Boost 1.55.0 MODULE
+ REQUIRED
+ )
+ find_package(DoubleConversion MODULE REQUIRED)
+-find_package(GFlags MODULE REQUIRED)
+-find_package(GLog MODULE REQUIRED)
++find_package(gflags CONFIG REQUIRED)
++find_package(glog CONFIG REQUIRED)
+ find_package(LibEvent MODULE REQUIRED)
+ find_package(OpenSSL MODULE REQUIRED)
+ find_package(PThread MODULE)
diff --git a/ports/folly/portfile.cmake b/ports/folly/portfile.cmake
index 8f36fb16086..3c79dfc0919 100644
--- a/ports/folly/portfile.cmake
+++ b/ports/folly/portfile.cmake
@@ -20,6 +20,7 @@ vcpkg_from_github(
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-cmakelists.patch"
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-deps.patch"
)
if(VCPKG_CRT_LINKAGE STREQUAL static)
@@ -30,6 +31,7 @@ endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
OPTIONS
-DMSVC_USE_STATIC_RUNTIME=${MSVC_USE_STATIC_RUNTIME}
)