Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

folly: migrate to Conan v2 #21109

Merged
merged 113 commits into from
Aug 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
113 commits
Select commit Hold shift + click to select a range
b2930e0
folly: bumpup version & conan v2 support
kexianda Oct 24, 2022
c08e8a5
attach shell script for convenience
kexianda Nov 6, 2022
4520748
minor fix & fix lint warning
kexianda Nov 6, 2022
b9a4880
backport latest fix for generator expr
kexianda Nov 6, 2022
8de0b18
support conan-v1 cmake_find_package/cmake_find_package_multi generator
kexianda Nov 7, 2022
6032b67
fix libunwind
kexianda Nov 7, 2022
09aceb7
bugfix: enable CMP0077
kexianda Nov 7, 2022
8728fe0
fix issues on windows
kexianda Nov 10, 2022
6793405
More modernize
Hopobcn Feb 4, 2023
93842da
Handle stdc++fs
Hopobcn Feb 4, 2023
b4de0a1
Bump zlib to 1.2.13
Hopobcn Feb 4, 2023
8388be3
Handle case where compiler.cppstd is not provided, compiler minimal c…
Hopobcn Feb 4, 2023
15f5ac2
Revert CMAKE_POSITION_INDEPENDENT_CODE removal
Hopobcn Feb 5, 2023
a2dc51a
Remove duplication in test_package
Hopobcn Feb 5, 2023
852e3aa
Prefer official release artifacts
Hopobcn Feb 5, 2023
ae19ea1
Change patch_type of PR folly/pull/1433 from backport to portability
Hopobcn Feb 5, 2023
5fe2a60
Bump libunwind requirement to 1.6.2
Hopobcn Feb 5, 2023
c1caee5
Prune imports
Hopobcn Feb 6, 2023
77b3680
Instead of invalidating configuration if default_cppstd is lower than…
Hopobcn Feb 6, 2023
ee9a560
Bump required openssl to openssl/1.1.1s
Hopobcn Feb 16, 2023
198cee9
Remove default_cppstd checks and default to min_cppstd if user doesn'…
Hopobcn Feb 16, 2023
2b5004d
Apply suggestions from code review
Hopobcn Feb 22, 2023
2e05990
Improve test_package
Hopobcn Mar 11, 2023
6e1f423
Add patch for missing limits include
Hopobcn Mar 12, 2023
e756712
Set BOOST_LINK_STATIC
Hopobcn Mar 12, 2023
bd04694
Set policy CMP0074
Hopobcn Mar 12, 2023
28f98e1
Switch to f-strings
Hopobcn Mar 18, 2023
4fcb38e
Make sure it uses cmake >= 3.13
Hopobcn Mar 18, 2023
d114b2f
Folly 2022.01.31 & 2022.10.31 build on Macos armv8
Hopobcn Apr 3, 2023
03e81ba
Disable windows
Hopobcn Apr 3, 2023
be25a38
Revert "Folly 2022.01.31 & 2022.10.31 build on Macos armv8"
Hopobcn Apr 3, 2023
4a0ef07
Fix conan2 version conflicts and provide trasitive_headers trait
Hopobcn Apr 4, 2023
3cd57bb
Bump double-conversion to 3.2.1
Hopobcn Apr 4, 2023
441fcbb
Remove cmake_new_enough
Hopobcn Jun 4, 2023
a31fbd8
Remove folly/2019.10.21.00
Hopobcn Jun 4, 2023
93d6c24
Declare openssl requirement with >=1.1 <4 version range
Hopobcn Jun 7, 2023
72e926d
Remove 2019.10.21.00 from config.yml
Hopobcn Jun 7, 2023
d3482ed
Do not specify requires traits for now
Hopobcn Jun 8, 2023
95d26cd
Define test_type explicit
Hopobcn Jun 8, 2023
601d566
Add transitive_headers/transitive_libs to double-conversion
Hopobcn Jun 20, 2023
7e0f4fd
Add transitive traits to boost
Hopobcn Jun 20, 2023
7d2b0ec
Add more transitive_headers, transitive_libs
Hopobcn Jun 21, 2023
9e0083c
Add transitive_libs traits to lz4, zstd
Hopobcn Jun 22, 2023
7d96d7e
Order imports
Hopobcn Jun 23, 2023
3430b89
folly: drop v2020.08.10.00
valgur Nov 14, 2023
b8e5c90
folly: bump deps
valgur Nov 14, 2023
d43651b
folly: do not set CMAKE_C_FLAGS directly
valgur Nov 14, 2023
68cf93f
folly: add msvc version check
valgur Nov 14, 2023
39c6fe1
folly: use is_apple_os()
valgur Nov 14, 2023
c2d8fec
Merge branch 'master' into folly-modernization-followup
valgur Nov 26, 2023
49201d4
folly: keep only the newest version
valgur Dec 21, 2023
d7a2f8a
folly: bump deps
valgur Dec 21, 2023
ce233d6
folly: fix _cppstd_flag_value()
valgur Dec 21, 2023
b974954
folly: simplify libatomic check
valgur Dec 21, 2023
66826a5
folly: simplify patching
valgur Dec 21, 2023
7cdcb5a
folly: add v2023.12.18.00
valgur Dec 21, 2023
c90074f
folly: fix ambiguity between package cmake target and libfolly cmake …
Hopobcn Jan 12, 2024
de8fa74
Add missing libfolly dependency
Hopobcn Jan 13, 2024
2bee352
Do not allow static glog if building shared folly
Hopobcn Jan 14, 2024
bb319ff
Leave fixing recipe for macos for the future
Hopobcn Jan 14, 2024
de46f21
Link only boost components specified in requirements
Hopobcn Jan 15, 2024
8f81d79
Refactor conan_deps.cmake
Hopobcn Apr 4, 2024
ef46c42
Merge remote-tracking branch 'refs/remotes/upstream/master' into foll…
valgur May 27, 2024
7976856
folly: bump deps, fix version conflicts
valgur May 27, 2024
f7fdc84
folly: add latest version, drop -g patch, fix missing include
valgur May 27, 2024
1820e38
folly: update min GCC version
valgur May 27, 2024
539cfb7
folly: CMP0075 is set by project since 2019
valgur May 27, 2024
0c8f174
folly: use is_msvc_static_runtime()
valgur May 27, 2024
dd766b3
Merge remote-tracking branch 'refs/remotes/upstream/master' into foll…
valgur Jul 15, 2024
9eb644f
folly: bump to v2024.07.08.00
valgur Jul 15, 2024
4c387bf
folly: drop v2022.10.31.00
valgur Jul 15, 2024
bcc7f06
folly: update min compiler versions
valgur Jul 15, 2024
e9a8905
folly: workaround for CMAKE_PROJECT_folly_INCLUDE
valgur Jul 15, 2024
7b61ad4
folly: bump to v2024.07.15.00
valgur Jul 15, 2024
eccca58
Follow official patch
uilianries Aug 14, 2024
bf40b9f
Improve invalid conf messages
uilianries Aug 16, 2024
b90107a
Remove folly custom find cmake files
uilianries Aug 16, 2024
0e07724
Add version 2024.08.12.00
uilianries Aug 16, 2024
47b753a
Use cmake cache variables
uilianries Aug 16, 2024
cfb41af
Simplify test package
uilianries Aug 16, 2024
36b1853
Remove folly version from tests
uilianries Aug 16, 2024
9952a04
Require cmake 3.17 for conan_deps.cmake
uilianries Aug 16, 2024
b378021
Update dependencies versions
uilianries Aug 16, 2024
50aefdd
Exclude 2024.07.15.00
uilianries Aug 16, 2024
b04f2be
Remove not used defines
uilianries Aug 16, 2024
e89f385
Update boost modules based on headers
uilianries Aug 16, 2024
0f501d9
Solve version conflict
uilianries Aug 16, 2024
22877a7
Fix required boost modules
uilianries Aug 16, 2024
2905247
Enable dependencies based on system
uilianries Aug 16, 2024
1b79357
Avoid folly format due deprecation
uilianries Aug 16, 2024
55762a6
Drop apple restriction
uilianries Aug 16, 2024
fa85fb5
Drop Windows restriction
uilianries Aug 16, 2024
548d364
Drop sse4 option
uilianries Aug 19, 2024
d2994e0
Drop jemalloc
uilianries Aug 19, 2024
fd8afd1
Skip apple clang <=13
uilianries Aug 19, 2024
8398ca1
Enable shared build with Clang in Linux
uilianries Aug 19, 2024
2fcd325
Require Apple clang 14
uilianries Aug 19, 2024
59b8dfd
Drop glog restriction
uilianries Aug 19, 2024
1319de4
Downgrade fmt to version 10.x due Windows
uilianries Aug 19, 2024
d407212
Add support for fmt-11
uilianries Aug 20, 2024
9f0a739
Try to fix gflags check in msvc
uilianries Aug 20, 2024
09cefbb
Drop libaio dependency
uilianries Aug 20, 2024
f9ce3ed
Simplify cpp flag for windows
uilianries Aug 20, 2024
4b4b95c
Avoid generating .pc file
uilianries Aug 20, 2024
37a4502
Avoid using fmt-11 patch
uilianries Aug 20, 2024
57abdc0
Revert "Avoid using fmt-11 patch"
uilianries Aug 20, 2024
2207f41
Downgrade fmt to 10
uilianries Aug 21, 2024
2875fd7
remove patch from conandata
uilianries Aug 21, 2024
ec7acef
Merge remote-tracking branch 'upstream/master' into folly-modernizati…
valgur Aug 21, 2024
2eb919d
folly: use a version range for zstd, bump liburing
valgur Aug 21, 2024
90c54d2
Revert "folly: use a version range for zstd, bump liburing"
uilianries Aug 21, 2024
1d2f485
do not enforce cmake prefix path in deps.cmake
uilianries Aug 21, 2024
8a47351
folly: remove a leftover comment in conan_deps.cmake
valgur Aug 21, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions recipes/folly/all/CMakeLists.txt

This file was deleted.

45 changes: 45 additions & 0 deletions recipes/folly/all/conan_deps.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
cmake_minimum_required(VERSION 3.17)
# Set the dependency flags expected by https://github.com/facebook/folly/blob/v2023.12.18.00/CMake/folly-deps.cmake
uilianries marked this conversation as resolved.
Show resolved Hide resolved

macro(custom_find_package package_name variable_prefix)
find_package(${package_name} REQUIRED CONFIG ${ARGN})
list(APPEND FROM FOUND VERSION VERSION_STRING INCLUDE_DIRS INCLUDE_DIR INCLUDE_DIR LIBRARIES LIBRARIES LIBRARIES DEFINITIONS)
list(APPEND TO FOUND VERSION VERSION_STRING INCLUDE_DIRS INCLUDE_DIR INCLUDE LIB LIBRARY LIBRARIES DEFINITIONS)

foreach (from_substr to_substr IN ZIP_LISTS FROM TO)
set(src_var ${package_name}_${from_substr})
set(dst_var ${variable_prefix}_${to_substr})
if (NOT DEFINED ${src_var})
continue()
endif()
if ((DEFINED ${dst_var}) AND ("${${dst_var}}" STREQUAL "${${src_var}}"))
# if they're equal, skip
continue()
endif()
message(DEBUG "custom_find_package definining ${dst_var} with ${src_var} contents: ${${src_var}}")
set(${dst_var} ${${src_var}})
endforeach()
endmacro()

custom_find_package(BZip2 BZIP2)
custom_find_package(DoubleConversion DOUBLE_CONVERSION REQUIRED)
custom_find_package(Gflags LIBGFLAGS)
custom_find_package(Glog GLOG)
custom_find_package(LZ4 LZ4)
custom_find_package(LibEvent LIBEVENT REQUIRED)
custom_find_package(LibLZMA LIBLZMA)
custom_find_package(Libsodium LIBSODIUM)
custom_find_package(OpenSSL OPENSSL REQUIRED)
custom_find_package(Snappy SNAPPY)
custom_find_package(ZLIB ZLIB)
custom_find_package(Zstd ZSTD)
custom_find_package(fmt FMT REQUIRED)

if (NOT MSVC)
custom_find_package(LibDwarf LIBDWARF)
endif()
if (UNIX AND NOT APPLE)
custom_find_package(LibUring LIBURING)
custom_find_package(LibUnwind LIBUNWIND)
custom_find_package(Libiberty LIBIBERTY)
endif()
58 changes: 3 additions & 55 deletions recipes/folly/all/conandata.yml
Original file line number Diff line number Diff line change
@@ -1,56 +1,4 @@
sources:
"2019.10.21.00":
url: "https://github.com/facebook/folly/archive/v2019.10.21.00.tar.gz"
sha256: "6efcc2b2090691a9fe3d339c433d102d6399bbdc6dc4893080d59f15f648f393"
"2020.08.10.00":
url: "https://github.com/facebook/folly/archive/v2020.08.10.00.tar.gz"
sha256: "e81140d04a4e89e3f848e528466a9b3d3ae37d7eeb9e65467fca50d70918eef6"
"2022.01.31.00":
url: "https://github.com/facebook/folly/archive/v2022.01.31.00.tar.gz"
sha256: "d764b9a7832d967bb7cfea4bcda15d650315aa4d559fde1da2a52b015cd88b9c"
patches:
"2019.10.21.00":
- patch_file: "patches/0001-find-packages.patch"
base_path: "source_subfolder"
- patch_file: "patches/0002-compiler-flags.patch"
base_path: "source_subfolder"
- patch_file: "patches/0003-boost-shared-ptr.patch"
base_path: "source_subfolder"
- patch_file: "patches/0004-disable-posix-names.patch"
base_path: "source_subfolder"
- patch_file: "patches/0005-include-atomic.patch"
base_path: "source_subfolder"
- patch_file: "patches/0006-duplicate-hash.patch"
base_path: "source_subfolder"
- patch_file: "patches/0007-allow-builtins.patch"
base_path: "source_subfolder"
- patch_file: "patches/0013-include-bit.patch"
base_path: "source_subfolder"
- patch_file: "patches/0020-include-ssizet.patch"
base_path: "source_subfolder"
"2020.08.10.00":
- patch_file: "patches/0008-find-packages.patch"
base_path: "source_subfolder"
- patch_file: "patches/0009-ill-formed-atomic-copy.patch"
base_path: "source_subfolder"
- patch_file: "patches/0010-duplicate-hash.patch"
base_path: "source_subfolder"
- patch_file: "patches/0011-disable-logger-example.patch"
base_path: "source_subfolder"
- patch_file: "patches/0012-compiler-flags.patch"
base_path: "source_subfolder"
- patch_file: "patches/0014-find-librt.patch"
base_path: "source_subfolder"
- patch_file: "patches/0015-benchmark-format-macros.patch"
base_path: "source_subfolder"
"2022.01.31.00":
- patch_file: "patches/0016-find-packages.patch"
base_path: "source_subfolder"
- patch_file: "patches/0017-compiler-flags.patch"
base_path: "source_subfolder"
- patch_file: "patches/0018-find-glog.patch"
base_path: "source_subfolder"
- patch_file: "patches/0019-exclude-example.patch"
base_path: "source_subfolder"
- patch_file: "patches/0022-fix-windows-minmax.patch"
base_path: "source_subfolder"
"2024.08.12.00":
url: "https://github.com/facebook/folly/releases/download/v2024.08.12.00/folly-v2024.08.12.00.tar.gz"
sha256: "18d7be721721db547cb9c5dd5cc50df05cd88b0a8e683e3126ec6f9ce2c41c4d"
Loading
Loading