Skip to content

ccmake: Fix compilation with ncurses on Solaris

Brad King requested to merge brad.king/cmake:ccmake-solaris into master

On Solaris the ncurses header may define an __attribute__ macro. This breaks C++ headers that use __attribute__(...) syntax. Somehow it causes references to unresolved symbols:

__gthrw_pthread_once
__gthrw_pthread_mutex_lock
__gthrw_pthread_mutex_unlock

instead of references to the correct symbols:

pthread_once
pthread_mutex_lock
pthread_mutex_unlock

Detect this case and undefine the __attribute__ macro after including the curses headers.

Merge request reports