mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-27 19:09:00 +08:00
[fmt,folly] backport '/utf-8 only if the compiler is MSVC at build time' (#40944)
This commit is contained in:
parent
08ef4d0ea1
commit
d9af3f5586
@ -0,0 +1,17 @@
|
|||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 1ca64fff..1606e886 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -365,8 +365,8 @@ if (NOT MSVC)
|
||||||
|
# Unicode is always supported on compilers other than MSVC.
|
||||||
|
elseif (FMT_UNICODE)
|
||||||
|
# Unicode support requires compiling with /utf-8.
|
||||||
|
- target_compile_options(fmt PUBLIC $<$<COMPILE_LANGUAGE:CXX>:/utf-8>)
|
||||||
|
- target_compile_options(fmt-header-only INTERFACE $<$<COMPILE_LANGUAGE:CXX>:/utf-8>)
|
||||||
|
+ target_compile_options(fmt PUBLIC $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CXX_COMPILER_ID:MSVC>>:/utf-8>)
|
||||||
|
+ target_compile_options(fmt-header-only INTERFACE $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CXX_COMPILER_ID:MSVC>>:/utf-8>)
|
||||||
|
else ()
|
||||||
|
target_compile_definitions(fmt PUBLIC FMT_UNICODE=0)
|
||||||
|
endif ()
|
||||||
|
--
|
||||||
|
2.34.1
|
@ -6,6 +6,7 @@ vcpkg_from_github(
|
|||||||
HEAD_REF master
|
HEAD_REF master
|
||||||
PATCHES
|
PATCHES
|
||||||
fix-write-batch.patch
|
fix-write-batch.patch
|
||||||
|
fix-pass-utf-8-only-if-the-compiler-is-MSVC-at-build.patch # remove in next release
|
||||||
)
|
)
|
||||||
|
|
||||||
vcpkg_cmake_configure(
|
vcpkg_cmake_configure(
|
||||||
@ -28,7 +29,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
file(REMOVE_RECURSE
|
file(REMOVE_RECURSE
|
||||||
"${CURRENT_PACKAGES_DIR}/debug/include"
|
"${CURRENT_PACKAGES_DIR}/debug/include"
|
||||||
"${CURRENT_PACKAGES_DIR}/debug/share"
|
"${CURRENT_PACKAGES_DIR}/debug/share"
|
||||||
)
|
)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "fmt",
|
"name": "fmt",
|
||||||
"version": "11.0.2",
|
"version": "11.0.2",
|
||||||
|
"port-version": 1,
|
||||||
"description": "{fmt} is an open-source formatting library providing a fast and safe alternative to C stdio and C++ iostreams.",
|
"description": "{fmt} is an open-source formatting library providing a fast and safe alternative to C stdio and C++ iostreams.",
|
||||||
"homepage": "https://github.com/fmtlib/fmt",
|
"homepage": "https://github.com/fmtlib/fmt",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
18
ports/folly/fix-fmt-patch-for-old-cmake.patch
Normal file
18
ports/folly/fix-fmt-patch-for-old-cmake.patch
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
diff --git a/CMake/GenPkgConfig.cmake b/CMake/GenPkgConfig.cmake
|
||||||
|
index 0e93175bd..9de854022 100644
|
||||||
|
--- a/CMake/GenPkgConfig.cmake
|
||||||
|
+++ b/CMake/GenPkgConfig.cmake
|
||||||
|
@@ -103,6 +103,11 @@ function(gen_pkgconfig_vars)
|
||||||
|
"<COMPILE_LANG_AND_ID:CUDA,NVIDIA>" "<COMPILE_LANGUAGE:CUDA>"
|
||||||
|
cflags "${cflags}"
|
||||||
|
)
|
||||||
|
+
|
||||||
|
+ endif()
|
||||||
|
+ # patch for fmt's generator expression on older CMake
|
||||||
|
+ if (MSVC)
|
||||||
|
+ string(REPLACE "$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CXX_COMPILER_ID:MSVC>>:/utf-8>" "/utf-8" cflags "${cflags}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set("${var_prefix}_CFLAGS" "${cflags}" PARENT_SCOPE)
|
||||||
|
--
|
||||||
|
2.34.1
|
@ -1,13 +0,0 @@
|
|||||||
diff --git a/CMake/GenPkgConfig.cmake b/CMake/GenPkgConfig.cmake
|
|
||||||
index 0e93175..1637d9f 100644
|
|
||||||
--- a/CMake/GenPkgConfig.cmake
|
|
||||||
+++ b/CMake/GenPkgConfig.cmake
|
|
||||||
@@ -93,7 +93,7 @@ function(gen_pkgconfig_vars)
|
|
||||||
# Set the output variables
|
|
||||||
string(REPLACE ";" " " cflags "${cflags}")
|
|
||||||
string(REPLACE ";" " " private_libs "${private_libs}")
|
|
||||||
-
|
|
||||||
+ string(REPLACE "<$<COMPILE_LANGUAGE:CXX>:/utf-8>" "/utf-8" cflags "${cflags}")
|
|
||||||
# Since CMake 3.18 FindThreads may include a generator expression requiring
|
|
||||||
# a target, which gets propagated to us through INTERFACE_COMPILE_OPTIONS.
|
|
||||||
# Before CMake 3.19 there's no way to solve this in a general way, so we
|
|
@ -17,7 +17,7 @@ vcpkg_from_github(
|
|||||||
fix-deps.patch
|
fix-deps.patch
|
||||||
disable-uninitialized-resize-on-new-stl.patch
|
disable-uninitialized-resize-on-new-stl.patch
|
||||||
fix-unistd-include.patch
|
fix-unistd-include.patch
|
||||||
fix-fmt11-cmake.patch
|
fix-fmt-patch-for-old-cmake.patch
|
||||||
)
|
)
|
||||||
|
|
||||||
file(REMOVE "${SOURCE_PATH}/CMake/FindFmt.cmake")
|
file(REMOVE "${SOURCE_PATH}/CMake/FindFmt.cmake")
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "folly",
|
"name": "folly",
|
||||||
"version-string": "2024.09.16.00",
|
"version-string": "2024.09.16.00",
|
||||||
|
"port-version": 1,
|
||||||
"description": "An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows",
|
"description": "An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows",
|
||||||
"homepage": "https://github.com/facebook/folly",
|
"homepage": "https://github.com/facebook/folly",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
|
@ -2838,11 +2838,11 @@
|
|||||||
},
|
},
|
||||||
"fmt": {
|
"fmt": {
|
||||||
"baseline": "11.0.2",
|
"baseline": "11.0.2",
|
||||||
"port-version": 0
|
"port-version": 1
|
||||||
},
|
},
|
||||||
"folly": {
|
"folly": {
|
||||||
"baseline": "2024.09.16.00",
|
"baseline": "2024.09.16.00",
|
||||||
"port-version": 0
|
"port-version": 1
|
||||||
},
|
},
|
||||||
"font-chef": {
|
"font-chef": {
|
||||||
"baseline": "1.1.0",
|
"baseline": "1.1.0",
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
{
|
{
|
||||||
"versions": [
|
"versions": [
|
||||||
|
{
|
||||||
|
"git-tree": "07a73a7565e5de9eb42e90c16c133bdfdfebbcda",
|
||||||
|
"version": "11.0.2",
|
||||||
|
"port-version": 1
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"git-tree": "65fe4dea09fc09a30e6ece9ac19edb7ad6a49601",
|
"git-tree": "65fe4dea09fc09a30e6ece9ac19edb7ad6a49601",
|
||||||
"version": "11.0.2",
|
"version": "11.0.2",
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
{
|
{
|
||||||
"versions": [
|
"versions": [
|
||||||
|
{
|
||||||
|
"git-tree": "1240ab18398982f4a1f4c4cd9bd7f1cdf63f6664",
|
||||||
|
"version-string": "2024.09.16.00",
|
||||||
|
"port-version": 1
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"git-tree": "bdb6486a9cc0a710f19f521818547b7e0402e611",
|
"git-tree": "bdb6486a9cc0a710f19f521818547b7e0402e611",
|
||||||
"version-string": "2024.09.16.00",
|
"version-string": "2024.09.16.00",
|
||||||
|
Loading…
Reference in New Issue
Block a user