Make CMake compatible with Xcode's 'New build system' #359
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.
As of CMake 3.19, CMake now defaults to Xcode's new build system when generating for Xcode 12.0 or higher.
If I run
cmake -G Xcode -B build
to generate a macOS build with Xcode, I get these configuration errors (they show one at a time, you have to fix one to see the next one):I noticed that the
symbol-check
,genvers
, andgensym
targets weren't referenced anywhere else in the source tree so I removed them, which fixed the error. Thegenfiles
target also references these files and is a dependent ofpng
andpng_static
so that's the target that's actually getting used in the build.I confirmed that this fixed the build with CMake 3.19. I also ran builds with CMake 3.18 to make sure generating to Xcode's legacy build system still works. Also made sure everything still built on Windows, Linux, iOS, and Android through my CI checks:
ssrobins/conan-libpng#3