Configure.hxx.in 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file Copyright.txt or https://cmake.org/licensing#kwsys for details. */
  3. #ifndef @KWSYS_NAMESPACE@_Configure_hxx
  4. #define @KWSYS_NAMESPACE@_Configure_hxx
  5. /* Include C configuration. */
  6. #include <@KWSYS_NAMESPACE@/Configure.h>
  7. /* Whether wstring is available. */
  8. #define @KWSYS_NAMESPACE@_STL_HAS_WSTRING @KWSYS_STL_HAS_WSTRING@
  9. /* Whether <ext/stdio_filebuf.h> is available. */
  10. #define @KWSYS_NAMESPACE@_CXX_HAS_EXT_STDIO_FILEBUF_H \
  11. @KWSYS_CXX_HAS_EXT_STDIO_FILEBUF_H@
  12. #if defined(__SUNPRO_CC) && __SUNPRO_CC > 0x5130 && defined(__has_attribute)
  13. #define @KWSYS_NAMESPACE@__has_cpp_attribute(x) __has_attribute(x)
  14. #elif defined(__has_cpp_attribute)
  15. #define @KWSYS_NAMESPACE@__has_cpp_attribute(x) __has_cpp_attribute(x)
  16. #else
  17. #define @KWSYS_NAMESPACE@__has_cpp_attribute(x) 0
  18. #endif
  19. #if __cplusplus >= 201103L
  20. #define @KWSYS_NAMESPACE@_NULLPTR nullptr
  21. #else
  22. #define @KWSYS_NAMESPACE@_NULLPTR 0
  23. #endif
  24. #ifndef @KWSYS_NAMESPACE@_FALLTHROUGH
  25. #if __cplusplus >= 201703L && @KWSYS_NAMESPACE@__has_cpp_attribute(fallthrough)
  26. #define @KWSYS_NAMESPACE@_FALLTHROUGH [[fallthrough]]
  27. #elif __cplusplus >= 201103L && \
  28. @KWSYS_NAMESPACE@__has_cpp_attribute(gnu::fallthrough)
  29. #define @KWSYS_NAMESPACE@_FALLTHROUGH [[gnu::fallthrough]]
  30. #elif __cplusplus >= 201103L && \
  31. @KWSYS_NAMESPACE@__has_cpp_attribute(clang::fallthrough)
  32. #define @KWSYS_NAMESPACE@_FALLTHROUGH [[clang::fallthrough]]
  33. #endif
  34. #endif
  35. #ifndef @KWSYS_NAMESPACE@_FALLTHROUGH
  36. #define @KWSYS_NAMESPACE@_FALLTHROUGH static_cast<void>(0)
  37. #endif
  38. #undef @KWSYS_NAMESPACE@__has_cpp_attribute
  39. /* If building a C++ file in kwsys itself, give the source file
  40. access to the macros without a configured namespace. */
  41. #if defined(KWSYS_NAMESPACE)
  42. #if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS
  43. #define kwsys @KWSYS_NAMESPACE@
  44. #endif
  45. #define KWSYS_NAME_IS_KWSYS @KWSYS_NAMESPACE@_NAME_IS_KWSYS
  46. #define KWSYS_STL_HAS_WSTRING @KWSYS_NAMESPACE@_STL_HAS_WSTRING
  47. #define KWSYS_CXX_HAS_EXT_STDIO_FILEBUF_H \
  48. @KWSYS_NAMESPACE@_CXX_HAS_EXT_STDIO_FILEBUF_H
  49. #define KWSYS_FALLTHROUGH @KWSYS_NAMESPACE@_FALLTHROUGH
  50. #define KWSYS_NULLPTR @KWSYS_NAMESPACE@_NULLPTR
  51. #endif
  52. #endif