The following configuration parameters can be used to change the behavior of the Z-Wave Build System.
The configuration parameters can be passed to cmake on command line or set in the project's CMakeLists.txt file.
Compile for one or more specific regions.
See zpal_radio_region_t for a list of valid regions.
Default behavior if not set is to generate targets for all regions.
Multiple regions can be specified by separating them with commas.
Example of use on command line for a single region:
Example of use on command line for multiple regions:
Example of use in CMakeLists.txt for a single region:
Example of use in CMakeLists.txt for multiple regions:
Add Remote or Local CLI to applications.
Example of setting the use of local CLI In the root CMakeLists.txt add the following line:
Example of setting the use of Remote CLI In the root CMakeLists.txt add the following line:
In the app/CMakeLists.txt add the following line to the ZW_LIBS section:
If ZWSDK_CONFIG_USE_TR_CLI is not set no CLI will be added to the application
The default behavior is that the local CLI is added to applications in Debug build and no CLI in Release build.
If set to ON, all sample applications are compiled.
Example of use:
This configuration parameter only applies if the SDK is used as a subproject by invoking add_subdirectory(<SDK path>) from a parent CMake project. This is default structure for a project generated by elcap.
If included as a subproject, the default behavior is to skip compiling sample applications (OFF).
Set the path to a custom private root key used for signing the public bootloader signing key.
The path must be absolute.
The private root key format must be PEM.
Example of use on command line:
Example of use in CMakeLists.txt:
CMake has a built-in variable that can be used to create the absolute path. If a key is located in the project directory under keys/, ${CMAKE_SOURCE_DIR} can be used.
Example:
Set the path to a custom public root key used for verifying the signature of the public bootloader signing key.
The path must be absolute.
The public root key format must be DER.
Example of use on command line:
Example of use in CMakeLists.txt:
Set the path to a custom private key used for signing the bootloader and the application.
The path must be absolute.
The private key format must be PEM.
Example of use on command line:
Example of use in CMakeLists.txt:
CMake has a built-in variable that can be used to create the absolute path. If a key is located in the project directory under keys/, ${CMAKE_SOURCE_DIR} can be used.
Example:
Set the path to a custom public key used for verifying the signature of the bootloader and the application.
The path must be absolute.
The public key format must be DER.
Example of use on command line:
Example of use in CMakeLists.txt:
Set the path to a custom encryption key used for encrypting binaries.
The path must be absolute.
The encryption key file format must be ASCII.
Example of use on command line:
Example of use in CMakeLists.txt:
Instructs the build system to compile all sources instead of linking pre-built libraries.
Valid values:
Example of use on command line:
Example of use in CMakeLists.txt:
Instructs the build system to compile the Z-Wave stack library with disabled dynamic Tx power for LR and always use max Tx power.
The max LR Tx power will follow the Max LR Tx power configured for the application. If the max LR Tx power is set to 14dBm all LR frames will be sent with 14dBm. If the max LR Tx power is set to 20dBm all LR frames will be sent with 20dBm.
NOTE: This configuration requires the ZWSDK_CONFIG_USE_SOURCES to be set to ON.
WARNING: This option is for test ONLY. Using this in a product will violate the Z-Wave LR specification and will fail Z-Wave certification.
Example of use on command line:
Example of use in CMakeLists.txt:
Instructs the build system to use a different bootloader than the default.
The default bootloader is the pre-compiled bootloader in the release.
Example of use on command line:
Example of use in CMakeLists.txt: