[folly] Fix build folder have special characters (#40790)

Co-authored-by: Lily Wang <v-lilywang@microsoft.com>
This commit is contained in:
Lily Wang 2024-09-04 20:22:51 -07:00 committed by GitHub
parent c04c073ddb
commit b334754703
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 49 additions and 1 deletions

View File

@ -0,0 +1,41 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c58dedc..c9561c1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -113,6 +113,8 @@ set(
FOLLY_DIR_PREFIXES
"${CMAKE_CURRENT_SOURCE_DIR}:${CMAKE_CURRENT_BINARY_DIR}"
)
+# https://gitlab.kitware.com/cmake/cmake/-/issues/18580#note_1405108
+string(REGEX REPLACE "(.)" "\\\\\\1" FOLLY_DIR_REGEX_ESCAPED "${FOLLY_DIR}")
include(GNUInstallDirs)
@@ -163,12 +165,12 @@ auto_sources(hfiles "*.h" "RECURSE" "${FOLLY_DIR}")
# library sources. Test sources are listed separately below.
REMOVE_MATCHES_FROM_LISTS(files hfiles
MATCHES
- "^${FOLLY_DIR}/build/"
- "^${FOLLY_DIR}/docs/examples/"
- "^${FOLLY_DIR}/logging/example/"
- "^${FOLLY_DIR}/(.*/)?test/"
- "^${FOLLY_DIR}/(.*/)?tool/"
- "^${FOLLY_DIR}/facebook/"
+ "^${FOLLY_DIR_REGEX_ESCAPED}/build/"
+ "^${FOLLY_DIR_REGEX_ESCAPED}/docs/examples/"
+ "^${FOLLY_DIR_REGEX_ESCAPED}/logging/example/"
+ "^${FOLLY_DIR_REGEX_ESCAPED}/(.*/)?test/"
+ "^${FOLLY_DIR_REGEX_ESCAPED}/(.*/)?tool/"
+ "^${FOLLY_DIR_REGEX_ESCAPED}/facebook/"
"Benchmark.cpp$"
"Test.cpp$"
)
@@ -177,7 +179,7 @@ REMOVE_MATCHES_FROM_LISTS(files hfiles
if (${FOLLY_NO_EXCEPTION_TRACER})
REMOVE_MATCHES_FROM_LISTS(files hfiles
MATCHES
- "^${FOLLY_DIR}/debugging/exception_tracer/"
+ "^${FOLLY_DIR_REGEX_ESCAPED}/debugging/exception_tracer/"
)
endif()

View File

@ -18,6 +18,7 @@ vcpkg_from_github(
disable-uninitialized-resize-on-new-stl.patch
fix-unistd-include.patch
fix-fmt11-cmake.patch
fix-character-in-folder.patch # https://github.com/facebook/folly/commit/0f698c382d34a2e139d5b2c071151ab33e1ffbd3
)
file(REMOVE "${SOURCE_PATH}/CMake/FindFmt.cmake")

View File

@ -1,6 +1,7 @@
{
"name": "folly",
"version-string": "2024.08.26.00",
"port-version": 1,
"description": "An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows",
"homepage": "https://github.com/facebook/folly",
"license": "Apache-2.0",

View File

@ -2826,7 +2826,7 @@
},
"folly": {
"baseline": "2024.08.26.00",
"port-version": 0
"port-version": 1
},
"font-chef": {
"baseline": "1.1.0",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "3853e408c3b7432b3db7080a38252eb07cbe31d8",
"version-string": "2024.08.26.00",
"port-version": 1
},
{
"git-tree": "fc8cca13cb39a5e46abdeaedbd23156c5260ff47",
"version-string": "2024.08.26.00",