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:
- Use a system installed AWS SDK, via find_package (TODO)
- 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()
- causes
-
WT-8762 Fix S3 extension not compiling on evergreen
- Closed