-
Notifications
You must be signed in to change notification settings - Fork 3.1k
prepare to C++20 #33430
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
Open
igorkorsukov
wants to merge
1
commit into
musescore:main
Choose a base branch
from
igorkorsukov:w/repo/cpp20
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+9
−3
Open
prepare to C++20 #33430
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
0
mftool.sh → wf
100644 → 100755
File renamed without changes.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
🧩 Analysis chain
🏁 Script executed:
Repository: musescore/MuseScore
Length of output: 2264
🌐 Web query:
CMake CMAKE_CXX_SCAN_FOR_MODULES minimum version requirement compatibility💡 Result:
The CMAKE_CXX_SCAN_FOR_MODULES variable and the associated CXX_SCAN_FOR_MODULES target and source file properties were introduced in CMake 3.28 [1][2][3]. These features are part of CMake's support for C++20 modules [2][4]. When using CMake 3.28 or later, the policy CMP0155 governs the default behavior for scanning C++ sources for module dependencies [2][5]. Under the NEW behavior of CMP0155 (which is the default for projects specifying a minimum required CMake version of 3.28 or higher), CMake will automatically scan C++ sources in targets using C++20 or newer for module imports [2][4]. To disable this automatic scanning—which is often necessary for projects that use C++20 but do not use modules to avoid unnecessary build overhead—you can set the CMAKE_CXX_SCAN_FOR_MODULES variable to 0 (or OFF) in your CMakeLists.txt file [6][4][5]: set(CMAKE_CXX_SCAN_FOR_MODULES 0) It is recommended to set this near the top of your top-level CMakeLists.txt file and avoid placing it in the cache to prevent unintended side effects in projects included via FetchContent [6][4][5].
Citations:
CMAKE_CXX_SCAN_FOR_MODULES requires CMake 3.28+, but minimum supported version is 3.22.
CMAKE_CXX_SCAN_FOR_MODULESwas introduced in CMake 3.28. On CMake 3.22–3.27 (or 3.26–3.27 for macOS), this variable will be silently ignored without warnings, meaning the module scanning disable won't take effect. Consider conditionally setting this variable only when CMake 3.28+ is available, or updating the minimum required version to 3.28 if C++ modules are a core feature.🧰 Tools
🪛 GitHub Actions: Check: Unit Tests (utest) / 0_run_tests.txt
[warning] 31-31: CMake deprecation warning: Compatibility with CMake < 3.10 will be removed; update VERSION argument min value (CMakeLists.txt:31 (cmake_minimum_required)).
🤖 Prompt for AI Agents