Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-10342

Investigate the integration of the SDKs and extensions with CMake Build system

    • Type: Icon: New Feature New Feature
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • 8
    • Storage Engines - 2023-01-10, StorEng - 2023-01-24

      This ticket aims to integrate the SDKs and extensions with the CMake Build system. The design will follow very similarly to S3 CMake Integration which can be used as a reference while implementing this ticket. The ticket will create two configurations as mentioned in the technical design.

          cmake -DENABLE_GCP=1 <path-to-source>
          cmake -DENABLE_AZURE=1 <path-to-source>
      
          cmake -DIMPORT_GCP_SDK={external,package} <path-to-source>
          cmake -DIMPORT_AZURE_SDK={external,package} <path-to-source>
      

      The first configuration would configure the extension to be built or not built with WiredTiger. The configuration will be default to be not built unless specified.

      The second configuration would create the ability to fetch the SDK externally and bring it into the build directory. The CMake configuration will default to not fetch the SDK because it can be potentially quite large. The ticket will use CMake's concept of FetchContent to externally grab the SDK and then build the SDK.

      Definition of Done
      Developers will be able to use the new configurations in CMake to able to fetch both provider's SDK without any external dependencies.

        1. azure_sdk.cmake
          3 kB
          Jie Chen
        2. gcp_sdk.cmake
          3 kB
          Jie Chen

            Assignee:
            jie.chen@mongodb.com Jie Chen
            Reporter:
            jie.chen@mongodb.com Jie Chen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: