Infomaniak / desktop-kDrive

:computer: Desktop Syncing Client for kDrive
GNU General Public License v3.0
19 stars 4 forks source link

KDESKTOP-966-Bump-Xcode-Clang #175

Closed herve-er closed 2 months ago

herve-er commented 2 months ago

Summary

Some std:: functions, such as std::format, are not available in the current version of libc++.

Description

Certain standard functions from the C++ library (e.g., std::format) are missing in the current version of libc++ we are using. This issue is specific to MacOS and Ubuntu environments.

Environment

MacOS

The missing functions seem to be implemented starting from Xcode 15.3. More information can be found in the C++ Language Support section on the Apple Developer site.

Ubuntu

These functions are supported starting from CLang 17. Reference: Compiler support for C++20 on cppreference.com.

Windows

No changes are required.

Proposed Solution

Additional Information

No changes are necessary for Windows environments.

herve-er commented 2 months ago

Linux CI is now running on CLang 18. 🚀

herve-er commented 2 months ago

Clang vesrion has been updated to Clang18 on our CI to include support for nearly all C++20 features (almost all according to C++ compiler support - cppreference.com ).

On macOS, we currently use the latest version of Xcode. However, we're limited by macOS 10.15, which has been deprecated since September 12, 2022. Features like std::format and possibly other C++20 utilities require at least macOS 13.3. Since macOS 10.15 will be deprecated around November 1, 2024, it would be beneficial to update our supported macOS version at that time.