ua_config.h.in 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. /* This Source Code Form is subject to the terms of the Mozilla Public
  2. * License, v. 2.0. If a copy of the MPL was not distributed with this
  3. * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  4. #ifndef UA_CONFIG_H_
  5. #define UA_CONFIG_H_
  6. #ifdef __cplusplus
  7. extern "C" {
  8. #endif
  9. /**
  10. * open62541 Version
  11. * ----------------- */
  12. #define UA_OPEN62541_VER_MAJOR ${OPEN62541_VER_MAJOR}
  13. #define UA_OPEN62541_VER_MINOR ${OPEN62541_VER_MINOR}
  14. #define UA_OPEN62541_VER_PATCH ${OPEN62541_VER_PATCH}
  15. #define UA_OPEN62541_VER_LABEL "${OPEN62541_VER_LABEL}" /* Release candidate label, etc. */
  16. #define UA_OPEN62541_VER_COMMIT "${OPEN62541_VER_COMMIT}"
  17. /**
  18. * Feature Options
  19. * ---------------
  20. * Changing the feature options has no effect on a pre-compiled library. */
  21. #define UA_LOGLEVEL ${UA_LOGLEVEL}
  22. #cmakedefine UA_ENABLE_METHODCALLS
  23. #cmakedefine UA_ENABLE_NODEMANAGEMENT
  24. #cmakedefine UA_ENABLE_SUBSCRIPTIONS
  25. #cmakedefine UA_ENABLE_PUBSUB
  26. #cmakedefine UA_ENABLE_PUBSUB_DELTAFRAMES
  27. #cmakedefine UA_ENABLE_PUBSUB_INFORMATIONMODEL
  28. #cmakedefine UA_ENABLE_ENCRYPTION
  29. #cmakedefine UA_ENABLE_HISTORIZING
  30. #cmakedefine UA_ENABLE_SUBSCRIPTIONS_EVENTS
  31. /* Multithreading */
  32. #cmakedefine UA_ENABLE_MULTITHREADING
  33. #cmakedefine UA_ENABLE_IMMUTABLE_NODES
  34. #if defined(UA_ENABLE_MULTITHREADING) && !defined(UA_ENABLE_IMMUTABLE_NODES)
  35. #error "The multithreading feature requires nodes to be immutable"
  36. #endif
  37. /* Advanced Options */
  38. #cmakedefine UA_ENABLE_STATUSCODE_DESCRIPTIONS
  39. #cmakedefine UA_ENABLE_TYPENAMES
  40. #cmakedefine UA_ENABLE_NODESET_COMPILER_DESCRIPTIONS
  41. #cmakedefine UA_ENABLE_DETERMINISTIC_RNG
  42. #cmakedefine UA_ENABLE_NONSTANDARD_UDP
  43. #cmakedefine UA_ENABLE_DISCOVERY
  44. #cmakedefine UA_ENABLE_DISCOVERY_MULTICAST
  45. #cmakedefine UA_ENABLE_QUERY
  46. #cmakedefine UA_ENABLE_DISCOVERY_SEMAPHORE
  47. #cmakedefine UA_ENABLE_UNIT_TEST_FAILURE_HOOKS
  48. #cmakedefine UA_ENABLE_VALGRIND_INTERACTIVE
  49. #define UA_VALGRIND_INTERACTIVE_INTERVAL ${UA_VALGRIND_INTERACTIVE_INTERVAL}
  50. #cmakedefine UA_GENERATED_NAMESPACE_ZERO
  51. /* Options for Debugging */
  52. #cmakedefine UA_DEBUG
  53. #cmakedefine UA_DEBUG_DUMP_PKGS
  54. /**
  55. * Function Export
  56. * ---------------
  57. * On Win32: Define ``UA_DYNAMIC_LINKING`` and ``UA_DYNAMIC_LINKING_EXPORT`` in
  58. * order to export symbols for a DLL. Define ``UA_DYNAMIC_LINKING`` only to
  59. * import symbols from a DLL.*/
  60. #cmakedefine UA_DYNAMIC_LINKING
  61. /* Select default architecture if non is selected through CMake or compiler define */
  62. #if ${UA_ARCHITECTURES_NODEF}
  63. # ifdef _WIN32
  64. # define UA_ARCHITECTURE_WIN32
  65. # else
  66. # define UA_ARCHITECTURE_POSIX
  67. # endif
  68. #endif
  69. #include "ua_architecture.h"
  70. #ifdef __cplusplus
  71. } // extern "C"
  72. #endif
  73. #endif /* UA_CONFIG_H_ */