-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Bump timsort to 3.0.0 #22516
base: master
Are you sure you want to change the base?
Bump timsort to 3.0.0 #22516
Conversation
This comment has been minimized.
This comment has been minimized.
@Morwenn these changes might help to solve CI errors.
|
Thanks, I'm going to try those later tonight. |
This comment has been minimized.
This comment has been minimized.
I think it doesn't work because |
@Morwenn
In cpp reference, apple-clang seems to support ranges since 14. I confirmed timsort/3.0.0 works well on apple-clang 15. |
Hum, I forgot that libstdc++ was considered deprecated with AppleClang, so you're right, there's probably no need to try to be smart about it. |
This comment has been minimized.
This comment has been minimized.
elseif(gfx-timsort_VERSION VERSION_LESS "3.0.0") | ||
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) | ||
else() | ||
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since cxx_std_20 requires 3.12, would you update cmake_minimum_required
?
https://cmake.org/cmake/help/latest/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.html
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thinking about it again maybe these lines aren't be useful: shouldn't the conan-generated targets assign the correct compile features for the standard version?
I introduced them on your suggestion to fix the previous problem, but maybe constraining the compiler versions was enough.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For Conan 2.x is all solved, the CMakeDeps, etc. will require 3.15. Plus, cppstd is defined by default there, so passing target_compile_features should no longer needed. I guess it's okay keeping the current, otherwise it would fail to build with Conan 2.x in case running an older version of cmake
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By "the current", do you mean as it was before this MR, or the target_compile_features
currently in the MR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I get errors when removing target_compile_features
apparently, guess I incorrectly interpreted your message.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bump because it's been half a year and I'm still unsure what you meant.
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry the huge delay! I would suggest only adding c++20 in test package. For Conan 2.x it will be managed by cppstd, so it should be safe.
Please, update the test_package/CMakeLists.txt
to require version 3.15 (minimum require by Conan 2.x) and will cover cxx_std_20
Co-authored-by: Uilian Ries <[email protected]>
Conan v1 pipeline ❌Failure in build 1 (
Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability. Conan v2 pipeline ✔️
All green in build 1 (
|
Specify library name and version: timsort/3.0.0
Version 3.0.0 requires C++20, so the automatic update was not enough to automatically bump the library version.