/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ #ifndef cmCursesStandardIncludes_h #define cmCursesStandardIncludes_h #include "cmConfigure.h" // IWYU pragma: keep // Record whether __attribute__ is currently defined. See purpose below. #ifndef __attribute__ # define cm_no__attribute__ #endif #if defined(__hpux) # define _BOOL_DEFINED # include #endif #include // on some machines move erase and clear conflict with stl // so remove them from the namespace inline void curses_move(unsigned int x, unsigned int y) { move(x, y); } inline void curses_clear() { erase(); clearok(stdscr, TRUE); } #undef move #undef erase #undef clear // The curses headers on some platforms (e.g. Solaris) may // define __attribute__ as a macro. This breaks C++ headers // in some cases, so undefine it now. #if defined(cm_no__attribute__) && defined(__attribute__) # undef __attribute__ #endif #undef cm_no__attribute__ #endif // cmCursesStandardIncludes_h