Explanation of CMake Variables used in the SDK

Short descriptions on how to use the SDK, the build environment and giving hints on some tricky issues.
Post Reply
User avatar
Support Team
Hero Member
Hero Member
Posts: 2521
Joined: 18 Mar 2011, 15:09

Explanation of CMake Variables used in the SDK

Post by Support Team »

There are a lot of CMake variables listed in the CMake-GUI of the SDK. A summary of CMake dependent variables can be found on the website CMake Useful Variables
There is also a short description available if you place your mouse pointer over the individual CMake variable in the CMake-GUI.

Here is a description of possible variables depending on the SDK:
  • CMAKE_INSTALL_PREFIX: This sets the root installation directory for make install.
  • STACK_PLATFORM: This is a drop down box (in the QT CMake-GUI) to change the platform files of the UaStack (SDKs will only delivered with win32_v6/linux platform files).
  • THIRD_PARTY_PATH: This is a drop down box (in the QT CMake-GUI) to change the path to the third-party folder (possible values are win32, win64 and wince).
  • UASTACK_WITH_OPENSSL: Set this variable to OFF to build the UaStack without OpenSSL support. If you set this variable to OFF, you have to set the following variables to OFF too: UASTACK_SUPPORT_SECURITYPOLICY_BASIC128RSA15, UASTACK_SUPPORT_SECURITYPOLICY_BASIC256, UASTACK_SUPPORT_PKI and BUILD_UAPKICPP. The variable UASTACK_SUPPORT_SECURITYPOLICY_NONE must be set to ON.
  • BUILD_SHARED_STACK: If this variable is set to ON a special preprocessor variable is set to build the UaStack as Dll/shared object file. Setting this variable to OFF will build a static library of the UaStack.
  • BUILD_SHARED_LIBS: If this variable is set to ON the whole SDK will be build in shared object mode.
  • BUILD_*: These variables are set to ON and will build the individual module of the SDK (e.g.: BUILD_UABASECPP is set to ON CMake generates a Makefile respectively a Visual Studio project file for this module).
  • CMAKE_BUILD_TYPE: This variable is a string and can be set to Debug, Release, RelWithDebInfo, MinSizeRel or None.
  • BUILD_BASIC_CONFIG: If this variable is set to ON the SDK ( only Professional and bundle versions ) is built supporting only data access.
  • BUILD_UASTACK_MT: This will build the UaStack in multithreaded mode. The ANSI C SDK will not support a multithreaded Stack.
  • BUILD_UASTACK_USE_SYNC: If set to ON semaphores and mutual exclusions will be used. This variable must be set to ON if BUILD_UASTACK_MT is set to ON. The ANSI C SDK will not support synchronization.
Best regards
Unified Automation Support Team

Post Reply