[CDRIVER-1349] Delete Autotools build system, use CMake only Created: 30/Jun/16 Updated: 28/May/18 Resolved: 14/May/18 |
|
| Status: | Closed |
| Project: | C Driver |
| Component/s: | Build |
| Affects Version/s: | None |
| Fix Version/s: | 1.10.0 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | A. Jesse Jiryu Davis | Assignee: | Roberto Sanchez |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||||||||||
| Epic Link: | Remove Autotools | ||||||||||||||||||||||||||||||||||||||||||||||||
| Backwards Compatibility: | Major Change | ||||||||||||||||||||||||||||||||||||||||||||||||
| Description |
|
libbson and libmongoc both have CMake build systems (intended for MS Visual C++ builds on Windows) and Autotools build systems. There's no need for two systems, let's standardize on CMake. Find all features supported only by the Autotools build. Any that are worthwhile, implement CMake support for them. Ensure any examples that are built with the Autotools are also built with CMake. Make sure that all the important options in ReadCommandLineArguments.m4 are also supported in CMake. There may be some that are already supported with builtin CMake features, e.g. --enable-debug is already supported using CMAKE_BUILD_TYPE. Update documentation to describe building the driver with CMake. Advise users to disable automatic init and cleanup and to disable extra alignment. |
| Comments |
| Comment by Githook User [ 15/May/18 ] |
|
Author: {'email': 'roberto@connexer.com', 'username': 'rcsanchez97', 'name': 'Roberto C. Sánchez'}Message: |
| Comment by Githook User [ 05/May/18 ] |
|
Author: {'email': 'jesse@mongodb.com', 'name': 'A. Jesse Jiryu Davis', 'username': 'ajdavis'}Message: |
| Comment by Githook User [ 04/May/18 ] |
|
Author: {'email': 'roberto@connexer.com', 'name': 'Roberto C. Sánchez', 'username': 'rcsanchez97'}Message: |
| Comment by Githook User [ 14/Apr/18 ] |
|
Author: {'email': 'jesse@mongodb.com', 'name': 'A. Jesse Jiryu Davis', 'username': 'ajdavis'}Message: |
| Comment by Githook User [ 10/Apr/18 ] |
|
Author: {'email': 'jesse@mongodb.com', 'name': 'A. Jesse Jiryu Davis', 'username': 'ajdavis'}Message: |
| Comment by Githook User [ 10/Apr/18 ] |
|
Author: {'email': 'jesse@mongodb.com', 'name': 'A. Jesse Jiryu Davis', 'username': 'ajdavis'}Message: |
| Comment by Githook User [ 10/Apr/18 ] |
|
Author: {'email': 'jesse@mongodb.com', 'name': 'A. Jesse Jiryu Davis', 'username': 'ajdavis'}Message: |
| Comment by Githook User [ 07/Apr/18 ] |
|
Author: {'email': 'jesse@mongodb.com', 'name': 'A. Jesse Jiryu Davis', 'username': 'ajdavis'}Message: |
| Comment by Githook User [ 07/Apr/18 ] |
|
Author: {'email': 'jesse@mongodb.com', 'name': 'A. Jesse Jiryu Davis', 'username': 'ajdavis'}Message: |
| Comment by Githook User [ 06/Apr/18 ] |
|
Author: {'email': 'jesse@mongodb.com', 'name': 'A. Jesse Jiryu Davis', 'username': 'ajdavis'}Message: |
| Comment by Githook User [ 06/Apr/18 ] |
|
Author: {'email': 'jesse@mongodb.com', 'name': 'A. Jesse Jiryu Davis', 'username': 'ajdavis'}Message: |
| Comment by Githook User [ 06/Apr/18 ] |
|
Author: {'email': 'jesse@mongodb.com', 'name': 'A. Jesse Jiryu Davis', 'username': 'ajdavis'}Message: |
| Comment by Githook User [ 06/Apr/18 ] |
|
Author: {'email': 'jesse@mongodb.com', 'name': 'A. Jesse Jiryu Davis', 'username': 'ajdavis'}Message: |
| Comment by Githook User [ 06/Apr/18 ] |
|
Author: {'email': 'jesse@mongodb.com', 'name': 'A. Jesse Jiryu Davis', 'username': 'ajdavis'}Message: Don't show Windows-style paths now that CMake is used everywhere. |
| Comment by Githook User [ 06/Apr/18 ] |
|
Author: {'email': 'jesse@mongodb.com', 'name': 'A. Jesse Jiryu Davis', 'username': 'ajdavis'}Message: |
| Comment by Githook User [ 06/Apr/18 ] |
|
Author: {'email': 'jesse@mongodb.com', 'name': 'A. Jesse Jiryu Davis', 'username': 'ajdavis'}Message: clock_gettime, strnlen, and syscall aren't in standard C, but CMake's Avoid errors if Snappy or SASL is set to AUTO and no lib is found. |
| Comment by Githook User [ 06/Apr/18 ] |
|
Author: {'email': 'jesse@mongodb.com', 'name': 'A. Jesse Jiryu Davis', 'username': 'ajdavis'}Message: |
| Comment by Githook User [ 26/Feb/18 ] |
|
Author: {'email': 'roberto@connexer.com', 'name': 'Roberto C. Sánchez', 'username': 'rcsanchez97'}Message: |
| Comment by Githook User [ 20/Feb/18 ] |
|
Author: {'email': 'roberto@connexer.com', 'name': 'Roberto C. Sánchez', 'username': 'rcsanchez97'}Message: |
| Comment by Githook User [ 31/Jan/18 ] |
|
Author: {'email': 'jesse@mongodb.com', 'name': 'A. Jesse Jiryu Davis', 'username': 'ajdavis'}Message: support memory counters on UNIX, but not Mac Also, build mongoc-stat with CMake ( |
| Comment by Githook User [ 25/Jan/18 ] |
|
Author: {'name': 'A. Jesse Jiryu Davis', 'email': 'jesse@mongodb.com', 'username': 'ajdavis'}Message: |
| Comment by A. Jesse Jiryu Davis [ 10/Nov/17 ] |
|
Reopening. In the year that has passed we've discovered that, in fact, we continue to develop the build system. That motivates me to make the build system easier to develop. Additionally we've seen additional popular projects like Snappy abruptly transition to CMake-only. Let's drop the Autotools build system after all. Downstreams like the PHP Driver can be adapted to handle this change. We don't need to rev to 2.0 to accomplish this. |
| Comment by A. Jesse Jiryu Davis [ 30/Jun/16 ] |
|
This will require we port any remaining Autotools config options that aren't in the CMakeLists.txt for libbson or libmongoc. |