[CXX-2749] mnmlstc/core is prematurely installed to prefix during build step Created: 11/Sep/23  Updated: 28/Oct/23  Resolved: 14/Sep/23

Status: Closed
Project: C++ Driver
Component/s: None
Affects Version/s: None
Fix Version/s: 3.9.0

Type: Bug Priority: Unknown
Reporter: Ezra Chung Assignee: Ezra Chung
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by CXX-2753 Refactor directory structure to allow... Closed
Epic Link: CXX ABI
Quarter: FY24Q2, FY24Q3

 Description   

The mnmlstc/core library (when enabled/configured as the polyfill library to use) is prematurely installed to the install prefix of the CXX Driver during the build step as part of custom ExternalProject_Add() step to patch include directives in the library.

There are several points of improvement to be made:

  • Avoid the need to patch mnmlstc/core by using proper CMake include directory paths (build vs. install interfaces).
  • Use FetchContent instead of ExternalProject to move the download-and-build step into the CXX Driver's CMake configuration step (idiomatic/modern CMake).
  • Avoid premature installation to the install prefix by using a local install directory within the binary directory instead.

 



 Comments   
Comment by Githook User [ 09/Oct/23 ]

Author:

{'name': 'Ezra Chung', 'email': '88335979+eramongodb@users.noreply.github.com', 'username': 'eramongodb'}

Message: CXX-2749 Fix debian-package-build-mnmlstc (#1036)
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/68590118e4ada249495678886ec18fd0f893fcc1

Comment by Githook User [ 18/Sep/23 ]

Author:

{'name': 'Ezra Chung', 'email': '88335979+eramongodb@users.noreply.github.com', 'username': 'eramongodb'}

Message: CXX-2748 Disable generation of built tree targets files (#1024)

  • CXX-2748 Disable generation of build tree targets files
  • Fix target of BSONCXX_STATIC compile definition for bsoncxx_add_library()
  • Fix missing find_dependency() specification in CMake package config files
  • Fix include directive for libbson and libmongoc headers
  • CXX-2749 Unconditionally use <core/...> for mnmlstc/core headers
Comment by Githook User [ 14/Sep/23 ]

Author:

{'name': 'Ezra Chung', 'email': '88335979+eramongodb@users.noreply.github.com', 'username': 'eramongodb'}

Message: CXX-2749 Use FetchContent and find_package() to obtain mnmlstc/core (#1019)

  • Print name of example project being tested on failure
  • Use FetchContent and find_package() to obtain mnmlstc/core
  • Update documentation to remove special handling of mnmlstc/core
  • Remove obsoleted special handling of mnmlstc/core
Generated at Wed Feb 07 22:06:55 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.