aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-05-09 21:30:26 -0700
committerRobert Schumacher <roschuma@microsoft.com>2017-05-09 21:30:26 -0700
commit861d7976d6a6e194c3a24ea4f5824746a7934ce3 (patch)
treed096a697624e1512e83ba9f0f5dd8ae51a7f7e72
parent4bbd508db71e639fd8081b3f714ee771e62bf743 (diff)
downloadvcpkg-861d7976d6a6e194c3a24ea4f5824746a7934ce3.tar.gz
vcpkg-861d7976d6a6e194c3a24ea4f5824746a7934ce3.zip
[folly] Add a dependency on PYTHON3 (the tool)
Rebase patch list to be compatible with previous portfile versions.
-rw-r--r--ports/folly/CONTROL2
-rw-r--r--ports/folly/fix-cmakelists.patch44
-rw-r--r--ports/folly/fix-deps.patch15
-rw-r--r--ports/folly/fix-generators.patch36
-rw-r--r--ports/folly/portfile.cmake7
5 files changed, 62 insertions, 42 deletions
diff --git a/ports/folly/CONTROL b/ports/folly/CONTROL
index f37fbc53f..f9a4a4329 100644
--- a/ports/folly/CONTROL
+++ b/ports/folly/CONTROL
@@ -1,4 +1,4 @@
Source: folly
-Version: v2017.05.08.00-1
+Version: v2017.05.08.00-2
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 3d3e3ddae..9f5700dbb 100644
--- a/ports/folly/fix-cmakelists.patch
+++ b/ports/folly/fix-cmakelists.patch
@@ -1,8 +1,23 @@
+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..00e5307c 100755
+index 38886d65..4c796eac 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -1,15 +1,14 @@
+@@ -1,15 +1,8 @@
cmake_minimum_required(VERSION 3.4.0 FATAL_ERROR)
-# Unfortunately, CMake doesn't easily provide us a way to merge static
@@ -10,35 +25,14 @@ index 38886d65..00e5307c 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 "v141</PlatformToolset></PropertyGroup><ItemDefinitionGroup Condition=\"'$(ProjectName)'=='folly'\"><ProjectReference><LinkLibraryDependencies>true</LinkLibraryDependencies></ProjectReference></ItemDefinitionGroup><PropertyGroup><PlatformToolset>v141")
-+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 "v140</PlatformToolset></PropertyGroup><ItemDefinitionGroup Condition=\"'$(ProjectName)'=='folly'\"><ProjectReference><LinkLibraryDependencies>true</LinkLibraryDependencies></ProjectReference></ItemDefinitionGroup><PropertyGroup><PlatformToolset>v140")
-+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
deleted file mode 100644
index 008701549..000000000
--- a/ports/folly/fix-deps.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-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/fix-generators.patch b/ports/folly/fix-generators.patch
new file mode 100644
index 000000000..e774b8c6b
--- /dev/null
+++ b/ports/folly/fix-generators.patch
@@ -0,0 +1,36 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4c796ea..684f48f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,13 +1,5 @@
+ cmake_minimum_required(VERSION 3.4.0 FATAL_ERROR)
+
+-if ("${CMAKE_GENERATOR}" MATCHES "Visual Studio 15( 2017)? Win64")
+- set(MSVC_IS_2017 ON)
+-elseif ("${CMAKE_GENERATOR}" STREQUAL "Visual Studio 14 2015 Win64")
+- 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.")
+-endif()
+-
+ # includes
+ set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake" ${CMAKE_MODULE_PATH})
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+@@ -24,10 +16,14 @@ 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")
++if (NOT MSVC_VERSION LESS 1910)
++ set(MSVC_IS_2017 ON)
++elseif (NOT MSVC_VERSION LESS 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.")
+ 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()
diff --git a/ports/folly/portfile.cmake b/ports/folly/portfile.cmake
index 3c79dfc09..8f033cbfc 100644
--- a/ports/folly/portfile.cmake
+++ b/ports/folly/portfile.cmake
@@ -9,6 +9,11 @@ endif()
include(vcpkg_common_functions)
+# Required to run build/generate_escape_tables.py et al.
+vcpkg_find_acquire_program(PYTHON3)
+get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY)
+set(ENV{PATH} "$ENV{PATH};${PYTHON3_DIR}")
+
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebook/folly
@@ -20,7 +25,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"
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-generators.patch"
)
if(VCPKG_CRT_LINKAGE STREQUAL static)