CMake: Scope C99/C++98 flags to VVVVVV only #1184
Merged
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.
Due to a confluence of weird factors, it turns out that PhysFS is compiling with implicit function definitions due to function definitions that get hidden with
-std=c99
, but not with-std=gnu99
(or the default GCC value of-std=gnu17
).Also, due to a recent GCC update (GCC 14), implicit function declarations are actually prohibited with
-std=c99
as the C99 standard proscribes.This meant that people started getting build errors in PhysFS code on default settings, which wasn't ideal.
To fix this, we will make our
-std=
flags apply only to VVVVVV source files. In CMake 2.8.12, this can be done withset_source_files_properties
. Additionally the flags to disable exceptions and RTTI are scoped down too.Thanks to leo60228 for helping debug and solve this issue.
Fixes #1167.
Legal Stuff:
By submitting this pull request, I confirm that...
CONTRIBUTORS
file and the "GitHub Friends"section of the credits for all of said releases, but will NOT be compensated
for these changes unless there is a prior written agreement