[CXX-2032] Use cmake, not make/msbuild, in compile scripts Created: 02/Jun/20  Updated: 28/Oct/23  Resolved: 15/Jun/20

Status: Closed
Project: C++ Driver
Component/s: Build, Testing
Affects Version/s: None
Fix Version/s: 3.6.0-rc0, 3.6.0

Type: Task Priority: Major - P3
Reporter: Roberto Sanchez Assignee: Roberto Sanchez
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Cloners
clones CXX-1962 Use cmake, not make/msbuild, in docum... Closed

 Description   

Our documentation and test scripts configure using cmake and then use the native build system to compile. E.g. libmongoc's installation documentation has this for Unix:

$ cmake -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF ..
$ make install 

And this for Windows:

$ cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_INSTALL_PREFIX="C:\mongo-c-driver" ..
$ msbuild.exe /p:Configuration=RelWithDebInfo INSTALL.vcxproj 

Using cmake for the build instructions may simplify this a bit, changing both build instructions to:

cmake --build cmake-build --config RelWithDebInfo --target install 

In addition, if we take this approach we may be able to consolidate some of compile-unix.sh, compile-windows.sh, and compile-windows-mingw.bat.

Documenting this as the way to build may also prevent users from accidentally mixing release/debug runtimes in their application, as there have been several related bug reports: CXX-1961CDRIVER-3558CXX-1780

This ticket is associated with the compilation script update.



 Comments   
Comment by Githook User [ 15/Jun/20 ]

Author:

{'name': 'Roberto C. Sánchez', 'email': 'roberto@connexer.com', 'username': 'rcsanchez97'}

Message: CXX-2032 simplify Evergreen scripts
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/796c11cf072b2c5db23ce6492cb808bf4d6ff2c2

Generated at Wed Feb 07 22:04:40 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.