1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-10 03:33:12 +02:00
Files
weechat/src/gui/curses/CMakeLists.txt
T
Sebastien Helleu e0781f0390 core: add mouse support (task #5435), free cursor movement, hook_focus, fix bugs with key "^" (bug #32072, bug #21381), fix bugs with bar windows, completion and /buffer
New features and bugs fixed:
- mouse support: new command /mouse, new option weechat.look.mouse, new key context "mouse"
- free movement of cursor: new command /cursor, new key context "cursor"
- new hook_focus (used by cursor and mouse)
- info "cursor_mode"
- bugs fixed with key "^"
- allow plugin name in /buffer name
- fix bugs with bar windows: do not create bar windows for hidden bars
- fix completion bug when two words for completion are equal but with different case
- automatic scroll direction in /bar scroll (x/y is now optional)
2011-07-26 18:50:29 +02:00

82 lines
2.4 KiB
CMake

#
# Copyright (C) 2003-2011 Sebastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2007-2008 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
#
if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)
SET(WEECHAT_CURSES_SRC
gui-curses.h
gui-curses-bar-window.c
gui-curses-chat.c
gui-curses-color.c
gui-curses-key.c
gui-curses-main.c
gui-curses-mouse.c
gui-curses-term.c
gui-curses-window.c)
SET(EXECUTABLE weechat-curses)
FIND_PACKAGE(Ncurses)
IF(NCURSES_FOUND)
CHECK_INCLUDE_FILES(ncursesw/ncurses.h NCURSESW_HEADERS)
IF(NCURSESW_HEADERS)
ADD_DEFINITIONS(-DHAVE_NCURSESW_CURSES_H)
ELSE(NCURSESW_HEADERS)
CHECK_INCLUDE_FILES(ncurses.h NCURSES_HEADERS)
IF(NCURSES_HEADERS)
ADD_DEFINITIONS(-DHAVE_NCURSES_H)
ENDIF(NCURSES_HEADERS)
ENDIF(NCURSESW_HEADERS)
LIST(APPEND EXTRA_LIBS ${NCURSES_LIBRARY})
ENDIF(NCURSES_FOUND)
IF(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
LIST(APPEND EXTRA_LIBS "utf8")
ENDIF(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
IF(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
IF(HAVE_BACKTRACE)
LIST(APPEND EXTRA_LIBS "execinfo")
ENDIF(HAVE_BACKTRACE)
ENDIF(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
IF(ICONV_LIBRARY)
LIST(APPEND EXTRA_LIBS ${ICONV_LIBRARY})
ENDIF(ICONV_LIBRARY)
IF(LIBINTL_LIBRARY)
LIST(APPEND EXTRA_LIBS ${LIBINTL_LIBRARY})
ENDIF(LIBINTL_LIBRARY)
LIST(APPEND EXTRA_LIBS "m")
ADD_EXECUTABLE(${EXECUTABLE} ${WEECHAT_CURSES_SRC})
INCLUDE_DIRECTORIES(.. ../../core ../../plugins)
# Because of a linker bug, we have to link 2 times with libweechat_core.a
TARGET_LINK_LIBRARIES(${EXECUTABLE} ${STATIC_LIBS} ${EXTRA_LIBS} ${STATIC_LIBS})
INSTALL(TARGETS ${EXECUTABLE} RUNTIME DESTINATION bin)