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

Add a CMake config_choice to use a local version of the SDK

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • WT11.0.0, 5.3.0
    • Affects Version/s: None
    • Component/s: None
    • None
    • 3
    • Storage - Ra 2022-02-07

      Summary
      The CMakeLists.txt currently downloads and installs the AWS SDK into the build folder, using ExternalProject_Add, which requires a network connection, git to be installed, and a significant amount of build time. There should be an option to use a local version of the SDK, so that it doesn't have to be redownloaded and reinstalled, if the user already has it installed on their machine.

      Suggested Solution
      Use a config_choice variable so that the user can choose to either:

      1. Use a system installed AWS SDK, via find_package (TODO)
      2. Fetch and build the project via an ExternalProject_Add (currently the only behaviour)

      I.e.

      config_choice(    
          IMPORT_S3_SDK    
          "Specifies how to import the S3 SDK"    
          OPTIONS    
          "none;IMPORT_S3_SDK_NONE;"    
          "package;IMPORT_S3_SDK_PACKAGE;HAVE_S3_SDK_PACKAGE"    
          "external;IMPORT_S3_SDK_EXTERNAL;"    
      )    
      

      then have an if-else depending on the config value (generalized):

      if(IMPORT_S3_SDK_NONE)
         return()
      elseif(IMPORT_S3_SDK_PACKAGE)
         find_package(AWSSDK)
         ....
      else()
         ExternalProject_Add(...)
         ...
      endif()
      

       

            Assignee:
            bing.xu@mongodb.com Bing Xu (Inactive)
            Reporter:
            fiona.ochee@mongodb.com Fiona O'Chee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: