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

Conversation

valgur
Copy link
Contributor

@valgur valgur commented Nov 14, 2023

Continues from #15726.

kexianda and others added 30 commits November 14, 2023 09:33
* bumpup to v20221031.00
* conan v2 support
* only include needed boost components, not all the boost components, to
  avoid  static link order issue in some cases.
* remove cmake version limitation
…hecks pass, but default_cppstd is lower than minimal_cppstd
Co-authored-by: Chris Mc <[email protected]>
… min_cppstd, set min_cppstd if the compiler supports it
Which in turn sets FOLLY_BOOST_LINK_STATIC, which ends up setting Boost_USE_STATIC_LIBS
@conan-center-bot

This comment has been minimized.

Signed-off-by: Uilian Ries <[email protected]>
@conan-center-bot

This comment has been minimized.

Signed-off-by: Uilian Ries <[email protected]>
@conan-center-bot

This comment has been minimized.

@uilianries
Copy link
Member

I did some important changes in this PR:

@valgur
Copy link
Contributor Author

valgur commented Aug 21, 2024

Excellent work, @uilianries. Thank you so much! I can't approve my own PR, of course, but all of the changes LGTM.

@uilianries
Copy link
Member

uilianries commented Aug 21, 2024

@valgur Let's keep those specific versions for zstd and libuing to avoid conflicts:

ERROR: Version conflict: Conflict between zstd/1.5.5 and zstd/1.5.6 in the graph:
Conflict originates from libdwarf/0.9.1

@conan-center-bot

This comment has been minimized.

@uilianries
Copy link
Member

Mac build logs (locally):

Multiple profiles, but all them running in Mac M1 and Apple-Clang 15

folly-2024.08.12.00-mac-shared-intel.log
folly-2024.08.12.00-mac-shared.log
folly-2024.08.12.00-mac-static-intel.log
folly-2024.08.12.00-mac-static.log

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ✔️

All green in build 25 (8a4735159046a41a1e0fb6319219878a7e92041c):

  • folly/2024.08.12.00:
    All packages built successfully! (All logs)

Conan v2 pipeline ✔️

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

All green in build 25 (8a4735159046a41a1e0fb6319219878a7e92041c):

  • folly/2024.08.12.00:
    All packages built successfully! (All logs)

Copy link
Contributor

@Hopobcn Hopobcn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @uilianries and @valgur for fixing this! 🚀

if not self.dependencies["boost"].options.header_only:
tc.cache_variables["BOOST_LINK_STATIC"] = not self.dependencies["boost"].options.shared

tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0074"] = "NEW" # Honor Boost_ROOT set by boost recipe
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is duplicated but not worth a recompilation

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed! Thank you for spotting!

Copy link
Member

@uilianries uilianries left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@conan-center-bot conan-center-bot merged commit 8eff1ad into conan-io:master Aug 22, 2024
12 checks passed
OMGtechy pushed a commit to OMGtechy/conan-center-index that referenced this pull request Dec 31, 2024
* folly: bumpup version & conan v2 support

* bumpup to v20221031.00
* conan v2 support
* only include needed boost components, not all the boost components, to
  avoid  static link order issue in some cases.
* remove cmake version limitation

* attach shell script for convenience

* minor fix & fix lint warning

* backport latest fix for  generator expr

* support conan-v1 cmake_find_package/cmake_find_package_multi generator

* fix libunwind

* bugfix: enable CMP0077

* fix issues on windows

* More modernize

* Handle stdc++fs

* Bump zlib to 1.2.13

* Handle case where compiler.cppstd is not provided, compiler minimal checks pass, but default_cppstd is lower than minimal_cppstd

* Revert CMAKE_POSITION_INDEPENDENT_CODE removal

* Remove duplication in test_package

* Prefer official release artifacts

* Change patch_type of PR folly/pull/1433 from backport to portability

* Bump libunwind requirement to 1.6.2

* Prune imports

Co-authored-by: Chris Mc <[email protected]>

* Instead of invalidating configuration if default_cppstd is lower than min_cppstd, set min_cppstd if the compiler supports it

* Bump required openssl to openssl/1.1.1s

* Remove default_cppstd checks and default to min_cppstd if user doesn't provide compiler.cppstd

* Apply suggestions from code review

Co-authored-by: Chris Mc <[email protected]>

* Improve test_package

* Add patch for missing limits include

* Set BOOST_LINK_STATIC

Which in turn sets FOLLY_BOOST_LINK_STATIC, which ends up setting Boost_USE_STATIC_LIBS

* Set policy CMP0074

* Switch to f-strings

* Make sure it uses cmake >= 3.13

* Folly 2022.01.31 & 2022.10.31 build on Macos armv8

* Disable windows

* Revert "Folly 2022.01.31 & 2022.10.31 build on Macos armv8"

This reverts commit 0f3fffe.

* Fix conan2 version conflicts and provide trasitive_headers trait

* Bump double-conversion to 3.2.1

* Remove cmake_new_enough

* Remove folly/2019.10.21.00

* Declare openssl requirement with >=1.1 <4 version range

* Remove 2019.10.21.00 from config.yml

* Do not specify requires traits for now

* Define test_type explicit

* Add transitive_headers/transitive_libs to double-conversion

* Add transitive traits to boost

* Add more transitive_headers, transitive_libs
- make boost, double-conversion, glog, libevent, fmt available to consumers

* Add transitive_libs traits to lz4, zstd

* Order imports

* folly: drop v2020.08.10.00

* folly: bump deps

* folly: do not set CMAKE_C_FLAGS directly

* folly: add msvc version check

* folly: use is_apple_os()

* folly: keep only the newest version

* folly: bump deps

* folly: fix _cppstd_flag_value()

* folly: simplify libatomic check

* folly: simplify patching

* folly: add v2023.12.18.00

* folly: fix ambiguity between package cmake target and libfolly cmake target

* Add missing libfolly dependency

* Do not allow static glog if building shared folly

* Leave fixing recipe for macos for the future

* Link only boost components specified in requirements

* Refactor conan_deps.cmake

* folly: bump deps, fix version conflicts

* folly: add latest version, drop -g patch, fix missing include

* folly: update min GCC version

* folly: CMP0075 is set by project since 2019

* folly: use is_msvc_static_runtime()

* folly: bump to v2024.07.08.00

* folly: drop v2022.10.31.00

Focus on getting the latest version working first.

* folly: update min compiler versions

* folly: workaround for CMAKE_PROJECT_folly_INCLUDE

* folly: bump to v2024.07.15.00

* Follow official patch

Signed-off-by: Uilian Ries <[email protected]>

* Improve invalid conf messages

Signed-off-by: Uilian Ries <[email protected]>

* Remove folly custom find cmake files

Signed-off-by: Uilian Ries <[email protected]>

* Add version 2024.08.12.00

Signed-off-by: Uilian Ries <[email protected]>

* Use cmake cache variables

Signed-off-by: Uilian Ries <[email protected]>

* Simplify test package

Signed-off-by: Uilian Ries <[email protected]>

* Remove folly version from tests

Signed-off-by: Uilian Ries <[email protected]>

* Require cmake 3.17 for conan_deps.cmake

Signed-off-by: Uilian Ries <[email protected]>

* Update dependencies versions

Signed-off-by: Uilian Ries <[email protected]>

* Exclude 2024.07.15.00

Signed-off-by: Uilian Ries <[email protected]>

* Remove not used defines

Signed-off-by: Uilian Ries <[email protected]>

* Update boost modules based on headers

Signed-off-by: Uilian Ries <[email protected]>

* Solve version conflict

Signed-off-by: Uilian Ries <[email protected]>

* Fix required boost modules

Signed-off-by: Uilian Ries <[email protected]>

* Enable dependencies based on system

Signed-off-by: Uilian Ries <[email protected]>

* Avoid folly format due deprecation

Signed-off-by: Uilian Ries <[email protected]>

* Drop apple restriction

Signed-off-by: Uilian Ries <[email protected]>

* Drop Windows restriction

Signed-off-by: Uilian Ries <[email protected]>

* Drop sse4 option

Signed-off-by: Uilian Ries <[email protected]>

* Drop jemalloc

Signed-off-by: Uilian Ries <[email protected]>

* Skip apple clang <=13

Signed-off-by: Uilian Ries <[email protected]>

* Enable shared build with Clang in Linux

Signed-off-by: Uilian Ries <[email protected]>

* Require Apple clang 14

Signed-off-by: Uilian Ries <[email protected]>

* Drop glog restriction

Signed-off-by: Uilian Ries <[email protected]>

* Downgrade fmt to version 10.x due Windows

Signed-off-by: Uilian Ries <[email protected]>

* Add support for fmt-11

Signed-off-by: Uilian Ries <[email protected]>

* Try to fix gflags check in msvc

Signed-off-by: Uilian Ries <[email protected]>

* Drop libaio dependency

Signed-off-by: Uilian Ries <[email protected]>

* Simplify cpp flag for windows

Signed-off-by: Uilian Ries <[email protected]>

* Avoid generating .pc file

Signed-off-by: Uilian Ries <[email protected]>

* Avoid using fmt-11 patch

Signed-off-by: Uilian Ries <[email protected]>

* Revert "Avoid using fmt-11 patch"

This reverts commit 37a4502.

* Downgrade fmt to 10

Signed-off-by: Uilian Ries <[email protected]>

* remove patch from conandata

Signed-off-by: Uilian Ries <[email protected]>

* folly: use a version range for zstd, bump liburing

* Revert "folly: use a version range for zstd, bump liburing"

This reverts commit 2eb919d.

* do not enforce cmake prefix path in deps.cmake

Co-authored-by: Luis Caro Campos <[email protected]>

* folly: remove a leftover comment in conan_deps.cmake

---------

Signed-off-by: Uilian Ries <[email protected]>
Co-authored-by: Xianda Ke <[email protected]>
Co-authored-by: Pau Farre <[email protected]>
Co-authored-by: Pau Farré <[email protected]>
Co-authored-by: Chris Mc <[email protected]>
Co-authored-by: Uilian Ries <[email protected]>
Co-authored-by: Luis Caro Campos <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[request] <folly>/<v2024.05.02.00>
7 participants