| /* 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_MICRO_EMB_DEV_PROFILE |
| #cmakedefine UA_ENABLE_EXPERIMENTAL_HISTORIZING |
| #cmakedefine UA_ENABLE_SUBSCRIPTIONS_EVENTS |
| #cmakedefine UA_ENABLE_JSON_ENCODING |
| |
| /* Multithreading */ |
| #cmakedefine UA_ENABLE_IMMUTABLE_NODES |
| #define UA_MULTITHREADING ${UA_MULTITHREADING} |
| #if UA_MULTITHREADING >= 200 && !defined(UA_ENABLE_IMMUTABLE_NODES) |
| #error "The multithreading feature requires nodes to be immutable" |
| #endif |
| |
| /* Advanced Options */ |
| #cmakedefine UA_ENABLE_CUSTOM_NODESTORE |
| #cmakedefine UA_ENABLE_STATUSCODE_DESCRIPTIONS |
| #cmakedefine UA_ENABLE_TYPEDESCRIPTION |
| #cmakedefine UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS |
| #cmakedefine UA_ENABLE_DETERMINISTIC_RNG |
| #cmakedefine UA_ENABLE_DISCOVERY |
| #cmakedefine UA_ENABLE_DISCOVERY_MULTICAST |
| #cmakedefine UA_ENABLE_WEBSOCKET_SERVER |
| #cmakedefine UA_ENABLE_QUERY |
| #cmakedefine UA_ENABLE_MALLOC_SINGLETON |
| #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_ENABLE_PUBSUB_CUSTOM_PUBLISH_HANDLING |
| |
| #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}/ua_architecture.h" |
| |
| #endif /* UA_CONFIG_H_ */ |