Add CMake build#5
Merged
rleigh-codelibre merged 2 commits intoapache:masterfrom May 25, 2019
rleigh-codelibre:cmake-build
Merged
Add CMake build#5rleigh-codelibre merged 2 commits intoapache:masterfrom rleigh-codelibre:cmake-build
rleigh-codelibre merged 2 commits intoapache:masterfrom
rleigh-codelibre:cmake-build
Conversation
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR adds a CMake build system, intended to replace the Autoconf-based UNIX build, and also the Visual Studio and MacOS project files. The aim is to provide a single cross-platform build system which can work with all compilers and build and development environments. This matches a similar addition to the Xerces-C++ project last year. In theory, there should be no ABI change from the output of the Autoconf build or the Visual Studio builds. However, all build systems can be subtly different, and the binaries will need examining carefully to check that there are no changes to the exported symbols or compiler or linker flags which could result in breakage.
I intend to merge this fairly shortly, and then iteratively work on any portability or compatibility issues identified prior to release. The work presented here was done a good couple of years back, and extensively tested at that time. I've done some additional work to add in the tests and samples. The next step will be to add CI builds for Linux, MacOS and Windows to ensure that the builds and tests pass on a range of platforms.
Comments, testing and feedback would be very much appreciated.
/cc @seanwarren