[CXX-2753] Refactor directory structure to allow header files for multiple ABI namespaces Created: 12/Sep/23  Updated: 28/Oct/23  Resolved: 05/Oct/23

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

Type: Task 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
depends on CXX-2749 mnmlstc/core is prematurely installed... Closed
depends on CXX-2751 Distribution list does not correctly ... Closed
is depended on by CXX-2746 Add ABI compliance check to EVG config Closed
is depended on by CXX-2750 Remove BSONCXX_ABI_VERSION and MONGOC... Closed
Epic Link: CXX ABI
Quarter: FY24Q2, FY24Q3

 Description   

The current directory structure and build system configuration does not easily support having header files for multiple ABI namespaces for header files (i.e. having both v_noabi header files as well as v1 header files).

The directory structure for CXX Driver libraries needs to be refactored to better allow for flexibility and clarify of specifying the public (and private) header files and accomodating multiple ABI namespaces at the same time.



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

Author:

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

Message: CXX-2753 Move test files into test subdirectory (#1041)
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/253ba2e9f5ee41cdab87d425fc046d7b6394a6a8

Comment by Githook User [ 19/Oct/23 ]

Author:

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

Message: CXX-2753 Refactor CMake config files to reflect new directory structure (#1037)

  • Use CMAKE_BUILD_PARALLEL_LEVEL in compile.sh
  • Group minimum C Driver library version variables
  • Format CMake config files
  • Move package config commands into cmake/CMakeLists.txt
  • Move header commands into include/CMakeLists.txt
  • Move lib commands into lib/CMakeLists.txt
  • Move example variables into example config files
  • Move test commands into test/CMakeLists.txt
Comment by Githook User [ 05/Oct/23 ]

Author:

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

Message: CXX-2753 Refactor directory structure to allow for multiple ABI namespaces (#1026)

  • Use full `third_party/catch/include` prefix in include directives
  • CXX-2753 Move library sources into v_noabi subdirectories
  • Move pkgconfig config input files into cmake subdirectory
Generated at Wed Feb 07 22:06:55 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.