/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef UA_CONFIG_H_ #define UA_CONFIG_H_ /** * open62541 Version * ----------------- */ #define UA_OPEN62541_VER_MAJOR ${OPEN62541_VER_MAJOR} #define UA_OPEN62541_VER_MINOR ${OPEN62541_VER_MINOR} #define UA_OPEN62541_VER_PATCH ${OPEN62541_VER_PATCH} #define UA_OPEN62541_VER_LABEL "${OPEN62541_VER_LABEL}" /* Release candidate label, etc. */ #define UA_OPEN62541_VER_COMMIT "${OPEN62541_VER_COMMIT}" /** * Feature Options * --------------- * Changing the feature options has no effect on a pre-compiled library. */ #define UA_LOGLEVEL ${UA_LOGLEVEL} #ifndef UA_ENABLE_AMALGAMATION #cmakedefine UA_ENABLE_AMALGAMATION #endif #cmakedefine UA_ENABLE_METHODCALLS #cmakedefine UA_ENABLE_NODEMANAGEMENT #cmakedefine UA_ENABLE_SUBSCRIPTIONS #cmakedefine UA_ENABLE_PUBSUB #cmakedefine UA_ENABLE_PUBSUB_ETH_UADP #cmakedefine UA_ENABLE_PUBSUB_DELTAFRAMES #cmakedefine UA_ENABLE_PUBSUB_INFORMATIONMODEL #cmakedefine UA_ENABLE_PUBSUB_INFORMATIONMODEL_METHODS #cmakedefine UA_ENABLE_DA #cmakedefine UA_ENABLE_ENCRYPTION #cmakedefine UA_ENABLE_HISTORIZING #cmakedefine UA_ENABLE_EXPERIMENTAL_HISTORIZING #cmakedefine UA_ENABLE_SUBSCRIPTIONS_EVENTS #cmakedefine UA_ENABLE_JSON_ENCODING /* Multithreading */ #cmakedefine UA_ENABLE_MULTITHREADING #cmakedefine UA_ENABLE_IMMUTABLE_NODES #if defined(UA_ENABLE_MULTITHREADING) && !defined(UA_ENABLE_IMMUTABLE_NODES) #error "The multithreading feature requires nodes to be immutable" #endif /* Advanced Options */ #cmakedefine UA_ENABLE_STATUSCODE_DESCRIPTIONS #cmakedefine UA_ENABLE_TYPENAMES #cmakedefine UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS #cmakedefine UA_ENABLE_DETERMINISTIC_RNG #cmakedefine UA_ENABLE_DISCOVERY #cmakedefine UA_ENABLE_DISCOVERY_MULTICAST #cmakedefine UA_ENABLE_QUERY #cmakedefine UA_ENABLE_DISCOVERY_SEMAPHORE #cmakedefine UA_ENABLE_UNIT_TEST_FAILURE_HOOKS #cmakedefine UA_ENABLE_VALGRIND_INTERACTIVE #define UA_VALGRIND_INTERACTIVE_INTERVAL ${UA_VALGRIND_INTERACTIVE_INTERVAL} #cmakedefine UA_GENERATED_NAMESPACE_ZERO #cmakedefine UA_PACK_DEBIAN /* Options for Debugging */ #cmakedefine UA_DEBUG #cmakedefine UA_DEBUG_DUMP_PKGS /** * Function Export * --------------- * On Win32: Define ``UA_DYNAMIC_LINKING`` and ``UA_DYNAMIC_LINKING_EXPORT`` in * order to export symbols for a DLL. Define ``UA_DYNAMIC_LINKING`` only to * import symbols from a DLL.*/ #cmakedefine UA_DYNAMIC_LINKING /* Shortcuts for extern "C" declarations */ #if !defined(_UA_BEGIN_DECLS) # ifdef __cplusplus # define _UA_BEGIN_DECLS extern "C" { # else # define _UA_BEGIN_DECLS # endif #endif #if !defined(_UA_END_DECLS) # ifdef __cplusplus # define _UA_END_DECLS } # else # define _UA_END_DECLS # endif #endif /* Select default architecture if non is selected through CMake or compiler define */ #if ${UA_ARCHITECTURES_NODEF} # ifdef _WIN32 # define UA_ARCHITECTURE_WIN32 # else # define UA_ARCHITECTURE_POSIX # endif #endif #include "ua_architecture.h" #endif /* UA_CONFIG_H_ */