-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Revert "CMake cleanup (#7658)" [skip ci] #8018
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
base: main
Are you sure you want to change the base?
Conversation
This reverts commit 554b98a.
|
|
This "improvement" introduces way too many unwanted side effects. Here's an (incomplete as I still had the time and mental stability to deal with all of these changes yet):
This is just a brain dump for now I will add to this in the next few days so it is in one place and not the mess as in the original PR. Also there is still more things to look at and the CI builds still need to be compared. |
|
These issues can be addressed without reverting the PR. I do have #8016 to address the It does make it much easier to make changes to the build, like the fix in #8015 is a one-line change whereas before it would require modifying lots of files. |
Let me check this. The ninja generator in cmake should build in parallel across dependencies before linking, so this shouldn't be an issue. |
As I stated multiple times that option should probably should have never existed and the Visual Studio project should be adjusted. That would actually have some upsides unlike the CMake changes.
That argument doesn't fly because as the issue which triggered this again was "just" a code bug caused by missing CI coverage. So it has nothing to do with how CMake is structured but just with stuff in the usage matrix which is not covered. And the CMake changes blows up the matrix we need to test. And it requires a lot of follow-up changes to restore the state we had before so as I stated this is just wasting time. This hours/days/weeks/months of discussions and work is to potentially(!!!) avoiding to specify a string in more than one place.
It does not. Before it was just building everything until it arrived at the first linking (static libraries are being linked - and with GCC it is slow). Now it stops at the library and does not continue until the linking has finished. Probably because the target must be complete before it can use the properties stored in it. |
It does, since its a one line fix instead of multi-line multi-file change. |
I dont see that. I am using cmake 3.28. You might need to set It builds cppcheck-core, cli, frontend, simplecpp, and tinyxml2 in parallel. Then it links those and goes and builds the testrunner and cppcheck. That is because of dmake. If I use |



This reverts commit 554b98a.