Option | Description | Default Value |
UNIT_TESTING | Generates Unit Test for compilation. When turning this option ON, cmocka is a required dependency for compilation. After Compiling, use `ctest` to run Unit Test. |
OFF |
UNIT_TESTING_MOCKS | This option works only with GCC. It uses -ld option from linker to mock functions during unit test. This is used to test platform or HTTP functions by mocking the return values. | OFF |
PRECONDITIONS | Turning this option OFF would remove all method contracts. This is typically for shipping libraries for production to make it as optimized as possible. | ON |
TRANSPORT_CURL | This option requires Libcurl dependency to be available. It generates an HTTP stack with libcurl for az_http to be able to send requests thru the wire. This library would replace the no_http. | OFF |
TRANSPORT_PAHO | This option requires paho-mqtt dependency to be available. Provides Paho MQTT support for IoT. | OFF |
AZ_PLATFORM_IMPL | This option can be set to any of the next values: - No_value: default value is used and no_platform library is used. - "POSIX": Provides implementation for Linux and Mac systems. - "WIN32": Provides platform implementation for Windows based system - "CUSTOM": Tells cmake to use an specific implementation provided by user. When setting this option, user must provide an implementation library and set option `AZ_CUSTOM_PLATFORM_IMPL_NAME` with the name of the library (i.e. -DAZ_PLATFORM_IMPL=CUSTOM -DAZ_CUSTOM_PLATFORM_IMPL_NAME=user_platform_lib ). cmake will look for this library to link az_core |
No_value |
ADDRESS_SANITIZER | This option enables asan (address sanitizer). This works on Windows and Linux and will catch memory errors at runtime. This option may also work on other platforms supporting address sanitizer. Do not use this option in production as asan is not a hardening tool and can leak layout information and defeat ASLR. | OFF |
Environment Variable | Description |
AZURE_SDK_DISABLE_AUTO_VCPKG | When defined, Vcpkg won't be automatically cloned and linked. Use this setting, for example, if your dependencies are installed on the system and you don't need to get them. |
AZURE_SDK_VCPKG_COMMIT | This variable can set the git commit id to be used when automatically cloning Vcpkg. |
VCPKG_ROOT | Use this variable to set an existing Vcpkg folder from your system to be linked for building. Use this, for example, when working with Vcpkg classic mode, to switch between different Vcpkg folders. |