Kaa releases
Shortcuts
Skip to end of metadata
Go to start of metadata

To use Kaa with a specific platform or operating system, you need to build an endpoint SDK for that platform. The endpoint SDK can be built either on Java, C++, or C, depending on the requirements and specifics of the target platform/OS.

This page provides general instructions on building endpoint SDKs for any platform/OS as well as links to the SDK build procedures for individual platforms. 

Building C endpoint SDK

Before building the C endpoint SDK, ensure the following components are installed on your machine.

  • C compiler supporting the C99 standard
  • cmake 2.8.8 or later

To build the C endpoint SDK, do the following:

  1. Download and untar the Kaa C SDK archive.
  2. Run the following commands.

  3. Run the following platform-specific commands.
    For x86-64:

    For iOS:

To configure the C endpoint SDK build, you can optionally specify the following parameters for the cmake command.

NOTE
For additional, platform-specific configuration, see  Building endpoint SDK for specific platform.

ParameterDescriptionValuesUsage example
KAA_DEBUG_ENABLEDBuild type

Accepted:

  • 0 - the release type
  • 1 - the debug type

Default: 0

cmake -DKAA_DEBUG_ENABLED=1
KAA_MAX_LOG_LEVELMaximum log level used by the SDKAccepted:
  • 0 - NONE (no logs)

  • 1 - FATAL

  • 2 - ERROR

  • 3 - WARN

  • 4 - INFO

  • 5 - DEBUG

  • 6 - TRACE

Default:

  • 4 - If KAA_DEBUG_ENABLED=0
  • 6 - if KAA_DEBUG_ENABLED=1
cmake -DKAA_MAX_LOG_LEVEL=4
KAA_WITHOUT_<MODULE>Kaa module to be omitted during the build

Accepted:

  • EVENTS

  • LOGGING

  • CONFIGURATION

Default: All modules are present in the build

cmake -DKAA_WITHOUT_EVENTS=1
KAA_PLATFORM

SDK target platform

 

NOTE:

Before running the cmake command with the KAA_PLATFORM parameter for a platform other than supported, do the following:

1. Create a folder in $KAA_HOME/listfiles/platform/ and name it using [a-zA-z_-] symbols. You will be able to use the folder name as a value for the KAA_PLATFORM parameter.

2. Put the CMakeLists.txt file into the created folder. This file may contain specific compilation/linking flags, platform-dependent source files, third-party library dependencies, that is all information necessary for building the C endpoint SDK for this platform.

3. Optionally, specify the following parameters in the CMakeLists.txt file.

  • KAA_INCLUDE_PATHS - full path(s) to folder(s) containing additional header files
  • KAA_SOURCE_FILES - full path(s) to additional source files
  • KAA_THIRDPARTY_LIBRARIES - third-party libraries (the name of the library, for example, ssl, crypto)

 

 

Accepted:

x86-64

ios

Default:

x86-64


NOTE:

To build the Kaa SDK for the x86-64 platform, ensure that OpenSSL libraries (ssl and crypto) are installed.

cmake -DKAA_PLATFORM=x86-64

 

In the CMakeLists.txt file:

set(KAA_INCLUDE_PATHS

 ${KAA_INCLUDE_PATHS}

 path_to_folder_1_with_header_files

 path_to_folder_2_with_header_files

 )

set(KAA_SOURCE_FILES

 ${KAA_SOURCE_FILES}

 path_to_source_file_1

 path_to_source_file_2

 )

set(KAA_THIRDPARTY_LIBRARIES

 ${KAA_THIRDPARTY_LIBRARIES}

 some_library_1

 some_library_2

 )

The following example illustrates the build procedure for the debug x86-64 build with the INFO log level and disabled EVENTS feature.

Building C++ endpoint SDK

Before building the C++ endpoint SDK, ensure the following components are installed on your machine.

  • C++ compiler supporting the C++11 standard
  • cmake 2.8.8 or later
  • Boost 1.55
  • Avro 1.7.6
  • Botan 1.10

To build the C++ endpoint SDK, do the following:

  1. Download and untar the Kaa C++ SDK archive.
  2. Run the following commands.

To configure the C++ endpoint SDK build, you can optionally specify the following parameters for the cmake command.

ParameterDescriptionValuesUsage example
KAA_DEBUG_ENABLEDBuild type

Accepted:

  • 0 - the release type
  • 1 - the debug type

Default: 0

cmake -DKAA_DEBUG_ENABLED=1
KAA_MAX_LOG_LEVELMaximum log level used by the SDKAccepted:
  • 0 - NONE (no logs)

  • 1 - FATAL

  • 2 - ERROR

  • 3 - WARN

  • 4 - INFO

  • 5 - DEBUG

  • 6 - TRACE

Default:

  • 4 - If KAA_DEBUG_ENABLED=0
  • 6 - if KAA_DEBUG_ENABLED=1
cmake -DKAA_MAX_LOG_LEVEL=4
KAA_WITHOUT_<MODULE>Kaa module to be omitted during the build

Accepted:

  • EVENTS

  • LOGGING

  • CONFIGURATION
  • NOTIFICATIONS
  • OPERATION_TCP_CHANNEL
  • OPERATION_LONG_POLL_CHANNEL
  • OPERATION_HTTP_CHANNEL
  • BOOTSTRAP_HTTP_CHANNEL
  • CONNECTIVITY_CHECKER
  • THREADSAFE

Default: All modules are present in the build

cmake -DKAA_WITHOUT_EVENTS=1
KAA_INSTALL_PATH

Directory for Kaa to be installed in

 

 

Accepted:

'/path/to/some/directory'

Default:

'/usr/local'

 

cmake -DKAA_INSTALL_PATH='/home/username/kaa'

 

The following example illustrates the build procedure for the debug build ,with the INFO log level and disabled EVENTS feature and specified path to the folder Kaa will be installed in:

 

Building endpoint SDK for specific platform

Select a platform from the following list to learn how to build an endpoint SDK for this particular platform.


Copyright © 2014-2015, CyberVision, Inc.

  • No labels