Skip to content

Commit 418e186

Browse files
authored
update CMake_Parameters.md to match current cmake parameters found in CMakeLists.txt (aws#2648)
1 parent f2e83f7 commit 418e186

File tree

1 file changed

+72
-6
lines changed

1 file changed

+72
-6
lines changed

docs/CMake_Parameters.md

+72-6
Original file line numberDiff line numberDiff line change
@@ -49,41 +49,71 @@ Windows example:
4949

5050
For more information, see the CMake documentation for your platform.
5151

52+
### CPP_STANDARD
53+
(Defaults to 11) Allows you to specify a custom c++ standard for use with C++ 14 and 17 code-bases
54+
5255
### ENABLE_UNITY_BUILD
5356
(Defaults to ON) If enabled, most SDK libraries will be built as a single, generated .cpp file. This can significantly reduce static library size as well as speed up compilation time.
5457

5558
### MINIMIZE_SIZE
5659
(Defaults to OFF) A superset of ENABLE_UNITY_BUILD, if enabled this option turns on ENABLE_UNITY_BUILD as well as some additional binary size reduction settings. This is a work-in-progress and may change in the future (symbol stripping in particular).
5760

5861
### BUILD_SHARED_LIBS
59-
(Defaults to ON) A built-in CMake option, reexposed here for visibility. If enabled, shared libraries will be built, otherwise static libraries will be built.
62+
(Defaults to ON) A built-in CMake option, re-exposed here for visibility. If enabled, shared libraries will be built, otherwise static libraries will be built.
6063

6164
### FORCE_SHARED_CRT
6265
(Defaults to ON) If enabled, the SDK will link to the C runtime dynamically, otherwise it will use the BUILD_SHARED_LIBS setting (weird but necessary for backwards compatibility with older versions of the SDK)
6366

6467
### SIMPLE_INSTALL
6568
(Defaults to ON) If enabled, the install process will not insert platform-specific intermediate directories underneath bin/ and lib/. Turn OFF if you need to make multi-platform releases under a single install directory.
6669

70+
### USE_CRT_HTTP_CLIENT
71+
(Defaults to OFF) If enabled, the common runtime HTTP client will be used, and the legacy systems such as WinHttp and libcurl will not be built or included
72+
6773
### NO_HTTP_CLIENT
6874
(Defaults to OFF) If enabled, prevents the default platform-specific http client from being built into the library. Turn this ON if you wish to inject your own http client implementation.
6975

7076
### NO_ENCRYPTION
7177
(Defaults to OFF) If enabled, prevents the default platform-specific cryptography implementation from being built into the library. Turn this ON if you wish to inject your own cryptography implementation.
7278

79+
### USE_IXML_HTTP_REQUEST_2
80+
(Defaults to OFF) If enabled on windows, the com object IXmlHttpRequest2 will be used for the http stack
81+
7382
### ENABLE_RTTI
7483
(Defaults to ON) Controls whether or not the SDK is built with RTTI information
7584

76-
### CPP_STANDARD
77-
(Defaults to 11) Allows you to specify a custom c++ standard for use with C++ 14 and 17 code-bases
78-
7985
### ENABLE_TESTING
8086
(Defaults to ON) Controls whether or not the unit and integration test projects are built
8187

88+
### AUTORUN_UNIT_TESTS
89+
(Defaults to ON) Flag to enable/disable automatically run unit tests after building
90+
91+
### FORCE_CURL
92+
(Defaults to OFF) Forces usage of the Curl client rather than the default OS-specific api
93+
94+
### ENABLE_ADDRESS_SANITIZER
95+
(Defaults to OFF) Flags to enable/disable Address Sanitizer for gcc or clang
96+
97+
### BYPASS_DEFAULT_PROXY
98+
(Defaults to ON) Bypass the machine's default proxy settings when using IXmlHttpRequest2
99+
100+
### BUILD_DEPS
101+
(Defaults to ON) Build third-party dependencies
102+
82103
### USE_OPENSSL
83104
(Defaults to ON) Set this if you want to use your system's OpenSSL 1.0.2/1.1.1 compatible libcrypto
84105

85106
If disabled, SDK will build and install [AWS-LC](https://github.com/awslabs/aws-lc) on Linux system when `BUILD_DEPS` is `ON`. This is an experimental feature. It will install AWS-LC as replacement of OpenSSL in the system default directory. Do not use if you have an OpenSSL installation in your system already.
86107

108+
### ENABLE_CURL_LOGGING
109+
(Defaults to ON) If enabled, Curl's internal log will be piped to SDK's logger
110+
111+
### ENABLE_HTTP_CLIENT_TESTING
112+
(Defaults to OFF) If enabled, corresponding http client test suites will be built and run
113+
114+
### ENABLE_FUNCTIONAL_TESTING
115+
(Defaults to OFF) If enabled, clients might be generated based on dummy models, and run functional tests as part of unit tests: aws-cpp-sdk-core-tests
116+
87117
### ENABLE_VIRTUAL_OPERATIONS
88118
(Defaults to ON) This option usually works with REGENERATE_CLIENTS.
89119
If enabled when doing code generation (REGENERATE_CLIENTS=ON), operation related functions in service clients will be marked as `virtual`.
@@ -98,6 +128,36 @@ For example, if your system uses `ld` as linker, then you can turn this option O
98128

99129
You can also tell gcc or clang to pass these linker flags by specifying `-Wl,--gc-sections`, or `-Wl,-dead_strip`. Or via `-DCMAKE_CXX_FLAGS="-Wl,[flag]"` if you use CMake.
100130

131+
### ENABLE_ZLIB_REQUEST_COMPRESSION
132+
(Defaults to ON) For services that support it, request content will be compressed. On by default if dependency available
133+
134+
### DISABLE_INTERNAL_IMDSV1_CALLS
135+
(Defaults to OFF) Set to disable all internal calls to the V1 api of the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
136+
137+
### BUILD_BENCHMARKS
138+
(Defaults to OFF) Enables building the benchmark executable
139+
140+
### BUILD_OPTEL
141+
(Defaults to OFF) Enables building the open telemetry implementation of tracing
142+
143+
### AWS_SDK_WARNINGS_ARE_ERRORS
144+
(Defaults to ON) Compiler warning is treated as an error. Try turning this off when observing errors on a new or uncommon compiler
145+
146+
### USE_TLS_V1_2
147+
(Defaults to ON) Set http client to enforce TLS 1.2
148+
149+
### USE_TLS_V1_3
150+
(Defaults to OFF) Set http client to enforce TLS 1.3
151+
152+
### AWS_USER_AGENT_CUSTOMIZATION
153+
User agent extension
154+
155+
### AWS_TEST_REGION
156+
Region to target integration tests against
157+
158+
### AWS_AUTORUN_LD_LIBRARY_PATH
159+
Path to append into LD_LIBRARY_PATH for unit tests autorun by cmake. Set this if custom runtime libs are required for overridden dependencies.
160+
101161
## Android CMake Variables/Options
102162

103163
### NDK_DIR
@@ -115,5 +175,11 @@ An override path for where the build system should find the Android NDK. By def
115175
### ANDROID_NATIVE_API_LEVEL
116176
(Default varies by STL choice) Controls what API level the SDK will be built against. If you use gnustl, you have complete freedom with the choice of API level. If you use libc++, you must use an API level of at least 21.
117177

118-
### DISABLE_INTERNAL_IMDSV1_CALLS
119-
(Defaults to OFF) Set to disable all internal calls to the V1 api of the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
178+
### ANDROID_BUILD_CURL
179+
(Defaults to ON) When building for Android, should curl be built as well
180+
181+
### ANDROID_BUILD_OPENSSL
182+
(Defaults to ON) When building for Android, should Openssl be built as well
183+
184+
### ANDROID_BUILD_ZLIB
185+
(Defaults to ON) When building for Android, should Zlib be built as well

0 commit comments

Comments
 (0)