mirror of
https://github.com/weechat/weechat.git
synced 2026-06-12 22:24:47 +02:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2429c9dc5a | |||
| c8445cc225 | |||
| a198d22213 | |||
| 80f477f2c3 |
@@ -1,8 +0,0 @@
|
||||
# files/directories excluded from tarballs
|
||||
|
||||
.git* export-ignore
|
||||
debian-devel export-ignore
|
||||
debian-stable export-ignore
|
||||
weechat.spec export-ignore
|
||||
.mailmap export-ignore
|
||||
tools/build-debian.sh export-ignore
|
||||
@@ -1 +0,0 @@
|
||||
custom: https://weechat.org/donate/
|
||||
@@ -1,43 +0,0 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a bug report (please do not report security issues here)
|
||||
labels: bug
|
||||
|
||||
---
|
||||
|
||||
<!-- Please do not report any security issue here, see file Contributing.adoc -->
|
||||
|
||||
## Bug summary
|
||||
|
||||
|
||||
|
||||
## Steps to reproduce
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
## Current behavior
|
||||
|
||||
|
||||
|
||||
## Expected behavior
|
||||
|
||||
|
||||
|
||||
## Suggested solutions
|
||||
|
||||
|
||||
|
||||
## Additional information
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
<!-- MANDATORY INFO: -->
|
||||
|
||||
- WeeChat version:
|
||||
- OS, distribution and version:
|
||||
- Terminal:
|
||||
- Terminal multiplexer (screen/tmux/…/none):
|
||||
@@ -1 +0,0 @@
|
||||
blank_issues_enabled: false
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Request a new feature / enhancement
|
||||
labels: feature
|
||||
|
||||
---
|
||||
|
||||
## Feature description
|
||||
@@ -1,15 +0,0 @@
|
||||
---
|
||||
name: Question
|
||||
about: Ask a question (please read first FAQ and docs)
|
||||
labels: question
|
||||
|
||||
---
|
||||
|
||||
## Question
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
- WeeChat version:
|
||||
- OS, distribution and version:
|
||||
@@ -1,168 +0,0 @@
|
||||
name: CI
|
||||
|
||||
on:
|
||||
- push
|
||||
- pull_request
|
||||
|
||||
env:
|
||||
WEECHAT_DEPENDENCIES: devscripts equivs python3-pip autopoint cmake ninja-build lcov pkg-config libncursesw5-dev gem2deb libperl-dev python2-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-2.2-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev libzstd-dev zlib1g-dev curl libcpputest-dev php8.0-dev libphp8.0-embed libargon2-dev libsodium-dev pylint python3-bandit asciidoctor ruby-pygments.rb
|
||||
|
||||
jobs:
|
||||
|
||||
tests_linux:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- ubuntu-22.04
|
||||
config:
|
||||
- { name: "cmake_gcc", cc: "gcc", cxx: "g++", tool: "cmake", args: "" }
|
||||
- { name: "cmake_gcc_ninja", cc: "gcc", cxx: "g++", tool: "cmake", args: "-G Ninja" }
|
||||
- { name: "cmake_gcc_no_nls", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_NLS=OFF" }
|
||||
- { name: "cmake_gcc_py2", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_PYTHON2=ON" }
|
||||
- { name: "cmake_gcc_coverage", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_CODE_COVERAGE=ON" }
|
||||
- { name: "cmake_clang", cc: "clang", cxx: "clang++", tool: "cmake", args: "" }
|
||||
- { name: "autotools_gcc", cc: "gcc", cxx: "g++", tool: "autotools", args: "" }
|
||||
- { name: "autotools_clang", cc: "clang", cxx: "clang++", tool: "autotools", args: "" }
|
||||
|
||||
name: "Tests: ${{ matrix.config.name }} on ${{ matrix.os }}"
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-add-repository --yes ppa:ondrej/php
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get --yes purge php8.1-dev
|
||||
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
|
||||
sudo -H pip3 install --ignore-installed msgcheck
|
||||
|
||||
- name: Check gettext files
|
||||
run: msgcheck po/*.po
|
||||
|
||||
- name: Check Python scripts
|
||||
run: |
|
||||
pylint --additional-builtins=_ doc/docgen.py
|
||||
pylint doc/python_stub.py
|
||||
pylint tests/scripts/python/testapigen.py tests/scripts/python/testapi.py tests/scripts/python/unparse.py
|
||||
bandit doc/docgen.py doc/python_stub.py
|
||||
bandit tests/scripts/python/testapigen.py tests/scripts/python/testapi.py tests/scripts/python/unparse.py
|
||||
|
||||
- name: Check Python stub file
|
||||
run: ./doc/python_stub.py | diff src/plugins/python/weechat.pyi -
|
||||
|
||||
- name: Build and run tests
|
||||
env:
|
||||
CC: ${{ matrix.config.cc }}
|
||||
CXX: ${{ matrix.config.cxx }}
|
||||
BUILDTOOL: ${{ matrix.config.tool }}
|
||||
BUILDARGS: ${{ matrix.config.args }}
|
||||
run: ./tools/build-test.sh
|
||||
|
||||
- name: Run WeeChat
|
||||
env:
|
||||
TERM: xterm-256color
|
||||
run: |
|
||||
weechat --help
|
||||
weechat-curses --help
|
||||
weechat --colors
|
||||
weechat --license
|
||||
weechat --version
|
||||
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
|
||||
|
||||
- name: Code coverage
|
||||
if: ${{ matrix.config.name == 'cmake_gcc_coverage' }}
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
run: |
|
||||
cd build-tmp-*
|
||||
lcov --directory . --capture --output-file coverage.info
|
||||
lcov --remove coverage.info '/usr/*' --output-file coverage.info
|
||||
lcov --list coverage.info
|
||||
bash <(curl -s https://codecov.io/bash) -f coverage.info || echo 'Codecov error'
|
||||
|
||||
tests_macos:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- macos-12
|
||||
- macos-11
|
||||
config:
|
||||
- { name: "cmake_gcc", cc: "gcc", cxx: "g++" }
|
||||
- { name: "cmake_clang", cc: "clang", cxx: "clang++" }
|
||||
|
||||
name: "Tests: ${{ matrix.config.name }} on ${{ matrix.os }}"
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
brew update
|
||||
brew install asciidoctor lua ruby
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
CC: ${{ matrix.config.cc }}
|
||||
CXX: ${{ matrix.config.cxx }}
|
||||
run: |
|
||||
mkdir build-tmp && cd build-tmp
|
||||
cmake .. -DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_PHP=OFF
|
||||
make VERBOSE=1 -j2
|
||||
sudo make install
|
||||
|
||||
- name: Run WeeChat
|
||||
env:
|
||||
TERM: xterm-256color
|
||||
run: |
|
||||
weechat --help
|
||||
weechat-curses --help
|
||||
weechat --colors
|
||||
weechat --license
|
||||
weechat --version
|
||||
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
|
||||
|
||||
build_debian:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- ubuntu-22.04
|
||||
|
||||
name: "Build Debian on ${{ matrix.os }}"
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-add-repository --yes ppa:ondrej/php
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get --yes purge php8.1-dev
|
||||
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }} php-dev
|
||||
|
||||
- name: Test Debian patches
|
||||
run: ./tools/build-debian.sh test-patches
|
||||
|
||||
- name: Build Debian packages
|
||||
run: ./tools/build-debian.sh devel ubuntu/jammy
|
||||
|
||||
- name: Install Debian packages
|
||||
run: sudo dpkg -i ../weechat-devel*.deb
|
||||
|
||||
- name: Run WeeChat
|
||||
env:
|
||||
TERM: xterm-256color
|
||||
run: |
|
||||
weechat --help
|
||||
weechat-curses --help
|
||||
weechat --version
|
||||
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
|
||||
+8
-14
@@ -2,6 +2,7 @@
|
||||
|
||||
*.a
|
||||
*.gmo
|
||||
*.html
|
||||
*.la
|
||||
*.lai
|
||||
*.lo
|
||||
@@ -12,27 +13,18 @@
|
||||
*.so
|
||||
*.so.0
|
||||
*.so.0.0.0
|
||||
*.1
|
||||
|
||||
ABOUT-NLS
|
||||
autom4te*
|
||||
build/*
|
||||
builddir/*
|
||||
compile
|
||||
build*/*
|
||||
config.guess
|
||||
config.h
|
||||
config.h.in*
|
||||
config-git.h
|
||||
config.h*
|
||||
config.log
|
||||
config.rpath
|
||||
config.status
|
||||
config.sub
|
||||
configure
|
||||
debian
|
||||
!tools/debian
|
||||
debian-devel/changelog
|
||||
debian-devel/*.log
|
||||
debian-stable/*.log
|
||||
debian/*.log
|
||||
depcomp
|
||||
insert-header.sin
|
||||
install-sh
|
||||
@@ -48,10 +40,12 @@ POTFILES
|
||||
remove-potcdate.sed
|
||||
Rules-quot
|
||||
weechat.pc
|
||||
weechat-*.cygport
|
||||
doc/de/build/*
|
||||
doc/en/build/*
|
||||
doc/fr/build/*
|
||||
|
||||
*stamp
|
||||
stamp*
|
||||
|
||||
src/gui/curses/weechat
|
||||
src/gui/curses/weechat-curses
|
||||
src/gui/gtk/weechat-gtk
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
# Map author and committer names and email addresses to canonical real names
|
||||
# and email addresses.
|
||||
#
|
||||
# For example with these commands:
|
||||
# git shortlog -nse
|
||||
# git shortlog -se | cut -f2 | sort
|
||||
|
||||
Sébastien Helleu <flashcode@flashtux.org>
|
||||
Sébastien Helleu <flashcode@flashtux.org> <flashcode@krypton>
|
||||
Sébastien Helleu <flashcode@flashtux.org> <flashcode>
|
||||
Sébastien Helleu <flashcode@flashtux.org> <uid67137>
|
||||
Nils Görs <weechatter@arcor.de>
|
||||
Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
Krzysztof Korościk <soltys@soltys.info>
|
||||
Krzysztof Korościk <soltys@soltys.info> <soltys1@gmail.com>
|
||||
Krzysztof Korościk <soltys@soltys.info> <soltys@szluug.org>
|
||||
Marco Paolone <marcopaolone@gmail.com>
|
||||
<marcopaolone@gmail.com> <marco@DrB4tch.sitecomwl601>
|
||||
<mikaela.suomalainen@outlook.com> <mkaysi@outlook.com>
|
||||
<simon@arlott.org> <sa.me.uk>
|
||||
<Simon.Kuhnle@cs.fau.de> <simon@blarzwurst.de>
|
||||
@@ -0,0 +1,53 @@
|
||||
WeeChat Authors
|
||||
===============
|
||||
|
||||
Developers
|
||||
----------
|
||||
|
||||
* General code
|
||||
|
||||
** Sébastien Helleu <flashcode@flashtux.org>
|
||||
*** Web: http://www.weechat.org/
|
||||
*** IRC: 'FlashCode' on irc.freenode.net
|
||||
|
||||
|
||||
* Scripts plugins, debian packager
|
||||
|
||||
** Emmanuel Bouthenot <kolter@openics.org>
|
||||
*** IRC: 'kolter' on irc.freenode.net
|
||||
|
||||
|
||||
Contributors
|
||||
------------
|
||||
|
||||
* Julien Louis <ptitlouis@sysif.net>, IRC: 'ptitlouis'
|
||||
* Rudolf Polzer <rpolzer-rp@durchnull.de>, IRC: 'divVerent'
|
||||
* Jiri Golembiovsky <golemj@gmail.com>, IRC: 'GolemJ'
|
||||
* Jim Ramsay <i.am@jimramsay.com>, IRC: 'lack'
|
||||
* Odin <odin@dtdm.org>, IRC: 'Odin'
|
||||
* Pistos, IRC: 'pistos'
|
||||
* Gwenn, IRC: 'gwenn'
|
||||
* Voroskoi, IRC: 'voroskoi'
|
||||
* Frank Zacharias
|
||||
* Pavel Shevchuk, IRC: 'Stalwart'
|
||||
* soltys
|
||||
* Nils Görs
|
||||
* rettub
|
||||
* Elián Hanisch, IRC: 'm4v'
|
||||
* Marco Paolone
|
||||
* Dmitry Kobylin
|
||||
* Dominik Honnef
|
||||
* JD Horelick, IRC: 'jdhore'
|
||||
* Stefano Pigozzi
|
||||
* Ivan Sichmann Freitas
|
||||
* Gu1ll4um3r0m41n
|
||||
|
||||
|
||||
Contact
|
||||
-------
|
||||
|
||||
Whole team is connected to IRC:
|
||||
server: 'irc.freenode.net', channels: '#weechat' (english) and '#weechat-fr' (french)
|
||||
|
||||
|
||||
See README file for license detail.
|
||||
-158
@@ -1,158 +0,0 @@
|
||||
= WeeChat Authors
|
||||
:author: Sébastien Helleu
|
||||
:email: flashcode@flashtux.org
|
||||
:lang: en
|
||||
|
||||
|
||||
== Developers
|
||||
|
||||
* General code
|
||||
** Sébastien Helleu (FlashCode) <flashcode@flashtux.org>
|
||||
* Scripts plugins, debian packager
|
||||
** Emmanuel Bouthenot (kolter) <kolter@openics.org>
|
||||
|
||||
== Contributors
|
||||
|
||||
Alphabetically:
|
||||
|
||||
* Adam Saponara (adsr)
|
||||
* Adrian Bjugård
|
||||
* Ailin Nemui (Nei)
|
||||
* Aleksey V Zapparov
|
||||
* Alex Tarkovsky
|
||||
* Anders Bergh
|
||||
* Andrew Potter (talisein)
|
||||
* Antoine Pietri (seirl)
|
||||
* Arvydas Sidorenko
|
||||
* Asakura
|
||||
* Bazerka
|
||||
* Benoit Papillault (benoit)
|
||||
* Chris Hills
|
||||
* Christian Duerr
|
||||
* Christian Heinz
|
||||
* Christopher O'Neill (deltafire)
|
||||
* coypoop
|
||||
* Danilo Spinella
|
||||
* David Flatz
|
||||
* Dmitry Kobylin
|
||||
* Dominik Honnef
|
||||
* Dominique Martinet
|
||||
* dotflac
|
||||
* Eduardo Elias
|
||||
* Eli Schwartz
|
||||
* Elizabeth Myers (Elizacat)
|
||||
* Elián Hanisch (m4v)
|
||||
* Emanuele Giaquinta
|
||||
* Emir Sarı
|
||||
* emk
|
||||
* Érico Nogueira
|
||||
* Esteban I. Ruiz Moreno (Exio)
|
||||
* Evgeny Shmarnev
|
||||
* Felix Eckhofer
|
||||
* Frank Zacharias
|
||||
* Fredrik Fornwall
|
||||
* Grant Wu
|
||||
* Gu1ll4um3r0m41n
|
||||
* Guido Berhoerster
|
||||
* Gwenn
|
||||
* Hasan Kiran (turgay)
|
||||
* Ivan Pešić
|
||||
* Ivan Sichmann Freitas
|
||||
* Jakub Jirutka
|
||||
* Jan Palus
|
||||
* Jason A. Donenfeld (zx2c4)
|
||||
* JD Horelick (jdhore)
|
||||
* jesopo
|
||||
* Jim Ramsay (lack)
|
||||
* Jiri Golembiovsky (GolemJ)
|
||||
* Joey Pabalinas (alyptik)
|
||||
* Johan Rylander
|
||||
* Joram Schrijver
|
||||
* Jos Ahrens
|
||||
* Joseph Kichline
|
||||
* Juan Francisco Cantero Hurtado
|
||||
* Julien Louis (ptitlouis)
|
||||
* Karthik K
|
||||
* Koka El Kiwi (KiwiDash)
|
||||
* Krzysztof Koroscik (soltys)
|
||||
* Kyle Fuller (kylef)
|
||||
* Kyle Sabo
|
||||
* Leonid Evdokimov
|
||||
* Lázaro A.
|
||||
* Linus Heckemann
|
||||
* Maarten de Vries
|
||||
* Mantas Mikulėnas (grawity)
|
||||
* Marco Paolone
|
||||
* Marco Sirabella
|
||||
* Mateusz Poszwa
|
||||
* Matt Robinson
|
||||
* Matthew Horan
|
||||
* Matthew Martin
|
||||
* Matti Virkkunen
|
||||
* Max Anton Teufel
|
||||
* Maxim Baz
|
||||
* Michael Siegel
|
||||
* Miroslav Koskar
|
||||
* Murilo Opsfelder Araujo
|
||||
* Neui
|
||||
* Nick (SolitaryCipher)
|
||||
* Nicolas Cavigneaux
|
||||
* Nils Görs (nils_2)
|
||||
* nyuszika7h
|
||||
* Odin
|
||||
* Ondřej Súkup
|
||||
* Patrick Steinhardt
|
||||
* Patrik Janoušek
|
||||
* Paul Komkoff
|
||||
* Pavel Shevchuk (Stalwart)
|
||||
* Peter Boström (pbos)
|
||||
* Phillip Sz
|
||||
* Pierre Carru
|
||||
* Piotr Szymaniak
|
||||
* Pistos
|
||||
* Quentin Glidic (SardemFF7)
|
||||
* Quentin Pradet
|
||||
* Quico Noizeux
|
||||
* rafasc
|
||||
* Raghavendra Prabhu
|
||||
* raspbeguy
|
||||
* Rettub
|
||||
* Rob Campbell
|
||||
* Romero B. de S. Malaquias
|
||||
* Rudolf Polzer (divVerent)
|
||||
* Ruslan Bekenev
|
||||
* Ryan Farley
|
||||
* Ryuunosuke Ayanokouzi
|
||||
* scumjr
|
||||
* Sergio Durigan Junior
|
||||
* Shane McCarron
|
||||
* Shawn Smith
|
||||
* Shun Sakai
|
||||
* Simmo Saan (sim642)
|
||||
* Simon Arlott
|
||||
* Simon Kuhnle
|
||||
* Simon Ser
|
||||
* Stefano Pigozzi
|
||||
* Stfn
|
||||
* Sven Knurr (Cthulhux)
|
||||
* Tim D. Smith
|
||||
* Tim Harder
|
||||
* Tobias Stoeckmann
|
||||
* Tom Alsberg
|
||||
* Tom Fitzhenry
|
||||
* Tomoe Mami
|
||||
* Tor Hveem (xt)
|
||||
* Trevor Bergeron
|
||||
* Valentin Lorentz (progval)
|
||||
* Vasco Almeida
|
||||
* Victorhck
|
||||
* Voroskoi
|
||||
* Wojciech Kwolek
|
||||
* W. Trevor King
|
||||
* Yannick Palanque
|
||||
* ZethJack
|
||||
* Ørjan Malde
|
||||
|
||||
== Contact
|
||||
|
||||
See the https://weechat.org/about/support/[support page].
|
||||
+107
-268
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2003-2012 Sebastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2007-2008 Julien Louis <ptitlouis@sysif.net>
|
||||
# Copyright (C) 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||
#
|
||||
@@ -16,309 +16,148 @@
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
PROJECT(weechat C)
|
||||
|
||||
project(weechat C)
|
||||
cmake_minimum_required(VERSION 2.4)
|
||||
|
||||
# CMake options
|
||||
set(CMAKE_VERBOSE_MAKEFILE OFF)
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
|
||||
set(CMAKE_SKIP_RPATH ON)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra -Werror-implicit-function-declaration")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra")
|
||||
SET(CMAKE_VERBOSE_MAKEFILE OFF)
|
||||
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
|
||||
SET(CMAKE_SKIP_RPATH ON)
|
||||
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -W -Werror-implicit-function-declaration")
|
||||
IF(PREFIX)
|
||||
SET(CMAKE_INSTALL_PREFIX ${PREFIX} CACHE PATH "Install path prefix" FORCE)
|
||||
ENDIF(PREFIX)
|
||||
|
||||
# version
|
||||
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/version.sh devel-major OUTPUT_VARIABLE VERSION_MAJOR)
|
||||
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/version.sh devel-minor OUTPUT_VARIABLE VERSION_MINOR)
|
||||
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/version.sh devel-patch OUTPUT_VARIABLE VERSION_PATCH)
|
||||
string(REGEX REPLACE "\n" "" VERSION_MAJOR "${VERSION_MAJOR}")
|
||||
string(REGEX REPLACE "\n" "" VERSION_MINOR "${VERSION_MINOR}")
|
||||
string(REGEX REPLACE "\n" "" VERSION_PATCH "${VERSION_PATCH}")
|
||||
if(VERSION_PATCH STREQUAL "")
|
||||
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR})
|
||||
else()
|
||||
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
|
||||
endif()
|
||||
SET(VERSION_MAJOR "0")
|
||||
SET(VERSION_MINOR "3")
|
||||
SET(VERSION_PATCH "9.2")
|
||||
SET(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
|
||||
SET(LICENSE "GPL3")
|
||||
SET(PKG_STRING "${PROJECT_NAME} ${VERSION}")
|
||||
STRING(REPLACE "\";\"" "\ " PKG_STRING ${PKG_STRING})
|
||||
|
||||
# license
|
||||
set(LICENSE "GPL3")
|
||||
IF(DEFINED LIBDIR)
|
||||
SET(LIBDIR ${LIBDIR}/${PROJECT_NAME})
|
||||
ELSE(DEFINED LIBDIR)
|
||||
SET(LIBDIR ${CMAKE_INSTALL_PREFIX}/lib/${PROJECT_NAME})
|
||||
ENDIF(DEFINED LIBDIR)
|
||||
|
||||
# add definitions for version and license
|
||||
if(COMMAND cmake_policy)
|
||||
cmake_policy(SET CMP0005 NEW)
|
||||
add_definitions(-DWEECHAT_VERSION="${VERSION}" -DWEECHAT_LICENSE="${LICENSE}")
|
||||
else()
|
||||
add_definitions(-DWEECHAT_VERSION='"${VERSION}"' -DWEECHAT_LICENSE='"${LICENSE}"')
|
||||
endif()
|
||||
IF(NOT DEFINED SHAREDIR)
|
||||
SET(SHAREDIR ${CMAKE_INSTALL_PREFIX}/share)
|
||||
ENDIF(NOT DEFINED SHAREDIR)
|
||||
|
||||
# package string
|
||||
set(PKG_STRING "${PROJECT_NAME} ${VERSION}")
|
||||
string(REPLACE "\";\"" "\ " PKG_STRING ${PKG_STRING})
|
||||
IF(NOT DEFINED MANDIR)
|
||||
SET(MANDIR ${SHAREDIR}/man)
|
||||
ENDIF(NOT DEFINED MANDIR)
|
||||
|
||||
if(NOT DEFINED LIBDIR)
|
||||
set(LIBDIR ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
endif()
|
||||
IF(NOT DEFINED LOCALEDIR)
|
||||
SET(LOCALEDIR ${SHAREDIR}/locale)
|
||||
ENDIF(NOT DEFINED LOCALEDIR)
|
||||
|
||||
if(NOT DEFINED WEECHAT_LIBDIR)
|
||||
set(WEECHAT_LIBDIR ${LIBDIR}/${PROJECT_NAME})
|
||||
endif()
|
||||
IF(DEFINED INCLUDEDIR)
|
||||
SET(INCLUDEDIR ${INCLUDEDIR}/${PROJECT_NAME})
|
||||
ELSE(DEFINED INCLUDEDIR)
|
||||
SET(INCLUDEDIR ${CMAKE_INSTALL_PREFIX}/include/${PROJECT_NAME})
|
||||
ENDIF(DEFINED INCLUDEDIR)
|
||||
|
||||
if(NOT DEFINED DATAROOTDIR)
|
||||
set(DATAROOTDIR ${CMAKE_INSTALL_PREFIX}/share)
|
||||
endif()
|
||||
OPTION(ENABLE_NCURSES "Enable Ncurses interface" ON)
|
||||
OPTION(ENABLE_GTK "Enable GTK interface" OFF)
|
||||
OPTION(ENABLE_NLS "Enable Native Language Support" ON)
|
||||
OPTION(ENABLE_GNUTLS "Enable SSLv3/TLS support" ON)
|
||||
OPTION(ENABLE_LARGEFILE "Enable Large File Support" ON)
|
||||
OPTION(ENABLE_ALIAS "Enable Alias plugin" ON)
|
||||
OPTION(ENABLE_ASPELL "Enable Aspell plugin" ON)
|
||||
OPTION(ENABLE_CHARSET "Enable Charset plugin" ON)
|
||||
OPTION(ENABLE_DEMO "Enable Demo plugin" OFF)
|
||||
OPTION(ENABLE_FIFO "Enable FIFO plugin" ON)
|
||||
OPTION(ENABLE_IRC "Enable IRC plugin" ON)
|
||||
OPTION(ENABLE_LOGGER "Enable Logger plugin" ON)
|
||||
OPTION(ENABLE_RELAY "Enable Relay plugin" ON)
|
||||
OPTION(ENABLE_RMODIFIER "Enable Rmodifier plugin" ON)
|
||||
OPTION(ENABLE_SCRIPT "Enable Script plugin (scripts manager)" ON)
|
||||
OPTION(ENABLE_SCRIPTS "Enable script plugins (perl, python, ...)" ON)
|
||||
OPTION(ENABLE_PERL "Enable Perl scripting language" ON)
|
||||
OPTION(ENABLE_PYTHON "Enable Python scripting language" ON)
|
||||
OPTION(ENABLE_RUBY "Enable Ruby scripting language" ON)
|
||||
OPTION(ENABLE_LUA "Enable Lua scripting language" ON)
|
||||
OPTION(ENABLE_TCL "Enable Tcl scripting language" ON)
|
||||
OPTION(ENABLE_GUILE "Enable Scheme (guile) scripting language" ON)
|
||||
OPTION(ENABLE_XFER "Enable Xfer plugin" ON)
|
||||
OPTION(ENABLE_DOC "Enable Documentation" ON)
|
||||
|
||||
if(NOT DEFINED WEECHAT_SHAREDIR)
|
||||
set(WEECHAT_SHAREDIR ${DATAROOTDIR}/weechat)
|
||||
endif()
|
||||
IF(NOT DEFINED WEECHAT_HOME OR "${WEECHAT_HOME}" STREQUAL "")
|
||||
SET(WEECHAT_HOME "~/.weechat")
|
||||
ENDIF(NOT DEFINED WEECHAT_HOME OR "${WEECHAT_HOME}" STREQUAL "")
|
||||
|
||||
if(NOT DEFINED MANDIR)
|
||||
set(MANDIR ${DATAROOTDIR}/man)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED LOCALEDIR)
|
||||
set(LOCALEDIR ${DATAROOTDIR}/locale)
|
||||
endif()
|
||||
|
||||
if(DEFINED INCLUDEDIR)
|
||||
set(INCLUDEDIR ${INCLUDEDIR}/${PROJECT_NAME})
|
||||
else()
|
||||
set(INCLUDEDIR ${CMAKE_INSTALL_PREFIX}/include/${PROJECT_NAME})
|
||||
endif()
|
||||
|
||||
option(ENABLE_NCURSES "Compile the Ncurses interface" ON)
|
||||
option(ENABLE_HEADLESS "Compile the headless binary (required for tests)" ON)
|
||||
option(ENABLE_NLS "Enable Native Language Support" ON)
|
||||
option(ENABLE_LARGEFILE "Enable Large File Support" ON)
|
||||
option(ENABLE_ALIAS "Enable Alias plugin" ON)
|
||||
option(ENABLE_BUFLIST "Enable Buflist plugin" ON)
|
||||
option(ENABLE_CHARSET "Enable Charset plugin" ON)
|
||||
option(ENABLE_EXEC "Enable Exec plugin" ON)
|
||||
option(ENABLE_FIFO "Enable FIFO plugin" ON)
|
||||
option(ENABLE_FSET "Enable Fast Set plugin" ON)
|
||||
option(ENABLE_IRC "Enable IRC plugin" ON)
|
||||
option(ENABLE_LOGGER "Enable Logger plugin" ON)
|
||||
option(ENABLE_RELAY "Enable Relay plugin" ON)
|
||||
option(ENABLE_SCRIPT "Enable Script plugin (script manager)" ON)
|
||||
option(ENABLE_SCRIPTS "Enable script plugins (perl, python, ...)" ON)
|
||||
option(ENABLE_PERL "Enable Perl scripting language" ON)
|
||||
option(ENABLE_PYTHON "Enable Python scripting language" ON)
|
||||
option(ENABLE_PYTHON2 "Use Python 2 instead of Python 3" OFF)
|
||||
option(ENABLE_RUBY "Enable Ruby scripting language" ON)
|
||||
option(ENABLE_LUA "Enable Lua scripting language" ON)
|
||||
option(ENABLE_TCL "Enable Tcl scripting language" ON)
|
||||
option(ENABLE_GUILE "Enable Scheme (guile) scripting language" ON)
|
||||
option(ENABLE_JAVASCRIPT "Enable JavaScript scripting language" OFF)
|
||||
option(ENABLE_PHP "Enable PHP scripting language" ON)
|
||||
option(ENABLE_SPELL "Enable Spell checker plugin" ON)
|
||||
option(ENABLE_ENCHANT "Enable Enchant lib for Spell checker plugin" OFF)
|
||||
option(ENABLE_TRIGGER "Enable Trigger plugin" ON)
|
||||
option(ENABLE_TYPING "Enable Typing plugin" ON)
|
||||
option(ENABLE_XFER "Enable Xfer plugin" ON)
|
||||
option(ENABLE_MAN "Enable build of man page" OFF)
|
||||
option(ENABLE_DOC "Enable build of documentation" OFF)
|
||||
option(ENABLE_TESTS "Enable tests" OFF)
|
||||
option(ENABLE_CODE_COVERAGE "Enable code coverage" OFF)
|
||||
|
||||
# code coverage
|
||||
add_library(coverage_config INTERFACE)
|
||||
if(ENABLE_CODE_COVERAGE)
|
||||
target_compile_options(coverage_config INTERFACE -O0 -g --coverage)
|
||||
target_link_libraries(coverage_config INTERFACE --coverage)
|
||||
endif()
|
||||
|
||||
# headless mode is required for tests
|
||||
if(ENABLE_TESTS AND NOT ENABLE_HEADLESS)
|
||||
message(FATAL_ERROR "Headless mode is required for tests.")
|
||||
endif()
|
||||
|
||||
# option WEECHAT_HOME
|
||||
set(WEECHAT_HOME "${WEECHAT_HOME}" CACHE
|
||||
STRING "Force a single WeeChat home directory for config, logs, scripts, etc."
|
||||
SET(WEECHAT_HOME "${WEECHAT_HOME}" CACHE
|
||||
STRING "WeeChat home directory for config, logs, scripts.. (default is \"~/.weechat\")"
|
||||
FORCE)
|
||||
mark_as_advanced(CLEAR WEECHAT_HOME)
|
||||
MARK_AS_ADVANCED(CLEAR WEECHAT_HOME)
|
||||
|
||||
if(COMMAND cmake_policy)
|
||||
if(POLICY CMP0003)
|
||||
cmake_policy(SET CMP0003 NEW)
|
||||
endif()
|
||||
if(POLICY CMP0017)
|
||||
cmake_policy(SET CMP0017 NEW)
|
||||
endif()
|
||||
endif()
|
||||
IF(ENABLE_NLS)
|
||||
ADD_SUBDIRECTORY( po )
|
||||
ENDIF(ENABLE_NLS)
|
||||
|
||||
add_definitions(-DHAVE_CONFIG_H)
|
||||
ADD_SUBDIRECTORY( src )
|
||||
ADD_SUBDIRECTORY( doc )
|
||||
|
||||
include(FindPkgConfig)
|
||||
CONFIGURE_FILE(config.h.cmake config.h @ONLY)
|
||||
|
||||
include(CheckIncludeFiles)
|
||||
include(CheckFunctionExists)
|
||||
include(CheckSymbolExists)
|
||||
CONFIGURE_FILE(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/makedist.sh.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/makedist.sh" IMMEDIATE
|
||||
@ONLY)
|
||||
|
||||
check_include_files("langinfo.h" HAVE_LANGINFO_CODESET)
|
||||
check_include_files("sys/resource.h" HAVE_SYS_RESOURCE_H)
|
||||
|
||||
check_function_exists(mallinfo HAVE_MALLINFO)
|
||||
check_function_exists(mallinfo2 HAVE_MALLINFO2)
|
||||
|
||||
check_symbol_exists("eat_newline_glitch" "term.h" HAVE_EAT_NEWLINE_GLITCH)
|
||||
|
||||
# Check for Large File Support
|
||||
if(ENABLE_LARGEFILE)
|
||||
add_definitions(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_LARGE_FILES)
|
||||
endif()
|
||||
|
||||
# Check for Gettext
|
||||
if(ENABLE_NLS)
|
||||
find_package(Gettext)
|
||||
if(GETTEXT_FOUND)
|
||||
add_definitions(-DENABLE_NLS)
|
||||
find_package(Intl)
|
||||
if(Intl_FOUND)
|
||||
list(APPEND EXTRA_LIBS "${Intl_LIBRARIES}")
|
||||
endif()
|
||||
else()
|
||||
message(SEND_ERROR "Gettext not found")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Check for libgcrypt
|
||||
find_package(GCRYPT REQUIRED)
|
||||
add_definitions(-DHAVE_GCRYPT)
|
||||
list(APPEND EXTRA_LIBS ${GCRYPT_LDFLAGS})
|
||||
|
||||
# Check for GnuTLS
|
||||
find_package(GnuTLS REQUIRED)
|
||||
string(REGEX REPLACE "/[^/]*$" "" GNUTLS_LIBRARY_PATH "${GNUTLS_LIBRARY}")
|
||||
include_directories(${GNUTLS_INCLUDE_PATH})
|
||||
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -L${GNUTLS_LIBRARY_PATH}")
|
||||
list(APPEND EXTRA_LIBS gnutls)
|
||||
|
||||
# Check for zlib
|
||||
find_package(ZLIB REQUIRED)
|
||||
|
||||
# Check for zstd
|
||||
pkg_check_modules(LIBZSTD REQUIRED libzstd)
|
||||
|
||||
# Check for iconv
|
||||
find_package(Iconv)
|
||||
if(ICONV_FOUND)
|
||||
add_definitions(-DHAVE_ICONV)
|
||||
endif()
|
||||
|
||||
# Check for CURL
|
||||
find_package(CURL REQUIRED)
|
||||
|
||||
# weechat_gui_common MUST be the first lib in the list
|
||||
set(STATIC_LIBS weechat_gui_common)
|
||||
|
||||
find_library(DL_LIBRARY
|
||||
NAMES dl
|
||||
PATHS /lib /usr/lib /usr/libexec /usr/local/lib /usr/local/libexec
|
||||
)
|
||||
list(APPEND STATIC_LIBS weechat_plugins)
|
||||
if(DL_LIBRARY)
|
||||
string(REGEX REPLACE "/[^/]*$" "" DL_LIBRARY_PATH "${DL_LIBRARY}")
|
||||
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -L${DL_LIBRARY_PATH}")
|
||||
list(APPEND EXTRA_LIBS dl)
|
||||
endif()
|
||||
|
||||
add_subdirectory(icons)
|
||||
|
||||
if(ENABLE_NLS)
|
||||
add_subdirectory(po)
|
||||
endif()
|
||||
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(doc)
|
||||
|
||||
if(ENABLE_TESTS)
|
||||
find_package(CppUTest)
|
||||
if(CPPUTEST_FOUND)
|
||||
enable_testing()
|
||||
add_subdirectory(tests)
|
||||
else()
|
||||
message(SEND_ERROR "CppUTest not found")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
configure_file(config.h.cmake config.h @ONLY)
|
||||
|
||||
# set the git version in "config-git.h"
|
||||
add_custom_target(version_git ALL
|
||||
COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/git-version.sh" "${CMAKE_CURRENT_SOURCE_DIR}" "${VERSION}" "config-git.h"
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
)
|
||||
|
||||
configure_file(
|
||||
CONFIGURE_FILE(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
|
||||
IMMEDIATE @ONLY
|
||||
)
|
||||
IMMEDIATE @ONLY)
|
||||
|
||||
add_custom_target(uninstall
|
||||
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
|
||||
)
|
||||
ADD_CUSTOM_TARGET(uninstall
|
||||
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
|
||||
|
||||
add_custom_target(dist
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/tools/makedist.sh" "${VERSION}" "HEAD" "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
ADD_CUSTOM_TARGET(dist
|
||||
"${CMAKE_BINARY_DIR}/makedist.sh"
|
||||
DEPENDS doc
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
|
||||
# pkgconfig file
|
||||
set(PACKAGE "${PROJECT_NAME}")
|
||||
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||
set(exec_prefix "\${prefix}")
|
||||
string(REPLACE "${CMAKE_INSTALL_PREFIX}" "\${prefix}" libdir "${LIBDIR}")
|
||||
set(includedir "\${prefix}/include")
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/weechat.pc.in ${CMAKE_CURRENT_BINARY_DIR}/weechat.pc @ONLY)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat.pc DESTINATION ${LIBDIR}/pkgconfig)
|
||||
|
||||
# cygport file (used to build Cygwin packages)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/weechat.cygport.in ${CMAKE_CURRENT_BINARY_DIR}/weechat-${VERSION}-1.cygport @ONLY)
|
||||
|
||||
# install some files (only on Cygwin)
|
||||
if(CYGWIN)
|
||||
install(FILES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/AUTHORS.adoc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/ChangeLog.adoc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Contributing.adoc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/README.adoc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/ReleaseNotes.adoc
|
||||
DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME}
|
||||
)
|
||||
endif()
|
||||
|
||||
# desktop file
|
||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/weechat.desktop DESTINATION ${DATAROOTDIR}/applications)
|
||||
SET(PACKAGE "${PROJECT_NAME}")
|
||||
SET(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||
SET(exec_prefix "\${prefix}")
|
||||
SET(libdir "\${exec_prefix}/lib")
|
||||
SET(includedir "\${prefix}/include")
|
||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/weechat.pc.in ${CMAKE_CURRENT_BINARY_DIR}/weechat.pc @ONLY)
|
||||
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat.pc DESTINATION ${LIBDIR}/../pkgconfig)
|
||||
|
||||
# packages
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Fast, light and extensible chat client")
|
||||
set(CPACK_PACKAGE_VENDOR "Sébastien Helleu")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.adoc")
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR})
|
||||
set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR})
|
||||
set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH})
|
||||
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Fast, light and extensible chat client")
|
||||
SET(CPACK_PACKAGE_VENDOR "Sebastien Helleu")
|
||||
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
|
||||
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
|
||||
SET(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR})
|
||||
SET(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR})
|
||||
SET(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH})
|
||||
|
||||
# binary package
|
||||
set(CPACK_GENERATOR "STGZ;TGZ;TBZ2")
|
||||
set(CPACK_PACKAGE_FILE_NAME weechat-binary-${VERSION})
|
||||
SET(CPACK_GENERATOR "STGZ;TGZ;TBZ2")
|
||||
SET(CPACK_PACKAGE_FILE_NAME weechat-binary-${VERSION})
|
||||
|
||||
# source package
|
||||
set(CPACK_SOURCE_GENERATOR "TGZ;TBZ2")
|
||||
set(CPACK_SOURCE_PACKAGE_FILE_NAME weechat-${VERSION})
|
||||
set(CPACK_SOURCE_IGNORE_FILES
|
||||
"/\\\\.git" "/build/" "/m4/"
|
||||
SET(CPACK_SOURCE_GENERATOR "TGZ;TBZ2")
|
||||
SET(CPACK_SOURCE_PACKAGE_FILE_NAME weechat-${VERSION})
|
||||
SET(CPACK_SOURCE_IGNORE_FILES "/\\\\.git" "/build/" "/m4/"
|
||||
"/autom4te\\\\.cache/" "/ABOUT-NLS$" "/config\\\\.guess$" "/config\\\\.h$"
|
||||
"/config\\\\.h.in$" "/config\\\\.log$" "/config\\\\.rpath$"
|
||||
"/config\\\\.status$" "/config\\\\.sub$" "/configure$" "/depcomp$"
|
||||
"/install-sh$" "/missing$" "/intl/" "/libtool$" "/\\\\.libs/"
|
||||
"/ltmain\\\\.sh$" "/\\\\.deps/" "/html/" "/html1/" "/Makefile$"
|
||||
"/Makefile\\\\.in$" "stamp" "/po/.*\\\\.header$" "\\\\.gmo$" "~$" "\\\\.o$"
|
||||
"\\\\.lo$" "\\\\.a$" "\\\\.la$" "\\\\.lai$" "\\\\.Plo$" "/weechat$"
|
||||
"\\\\.lo$" "\\\\.a$" "\\\\.la$" "\\\\.lai$" "\\\\.Plo$" "/weechat-curses$"
|
||||
"/weechat-gtk$"
|
||||
)
|
||||
|
||||
include(CPack)
|
||||
INCLUDE(CPack)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
@@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found.
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
@@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU GPL, see
|
||||
<https://www.gnu.org/licenses/>.
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
||||
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
||||
|
||||
-3472
File diff suppressed because it is too large
Load Diff
@@ -1,89 +0,0 @@
|
||||
= Contributing to WeeChat
|
||||
:author: Sébastien Helleu
|
||||
:email: flashcode@flashtux.org
|
||||
:lang: en
|
||||
|
||||
|
||||
== Reporting bugs
|
||||
|
||||
First, some basic things:
|
||||
|
||||
* Use only English to communicate with developers.
|
||||
* Search in issues if the same problem or feature request has already been
|
||||
reported (a duplicate is waste of time for you and the developers!).
|
||||
* If you can, please check if the problem has been fixed in development version
|
||||
(if you are using a stable release or old version).
|
||||
* Report only one bug or feature request per issue.
|
||||
|
||||
=== Security reports
|
||||
|
||||
Please *DO NOT* file a GitHub issue for security related problems, but send an
|
||||
email to <security@weechat.org> instead.
|
||||
|
||||
=== Required info
|
||||
|
||||
When reporting https://github.com/weechat/weechat/issues[issues] on GitHub,
|
||||
please include:
|
||||
|
||||
* Your *WeeChat version*: the output of `/v` in WeeChat, for example:
|
||||
_WeeChat 1.7-dev (git: v1.6-6-g997f47f)_. +
|
||||
If WeeChat does not start at all, please include the version displayed by
|
||||
`weechat --help` (or the version installed with your package manager).
|
||||
* Your *operating system*: its name and version (examples: Linux Debian Bullseye,
|
||||
FreeBSD 13.0, Windows/Cygwin 64-bit, Windows/Ubuntu 64-bit...).
|
||||
* The *steps to reproduce*: if possible, please include a reproducible example:
|
||||
explain the steps which led you to the problem. +
|
||||
It's even better if you can reproduce the problem with a new config (and no
|
||||
scripts loaded): try `weechat --dir /tmp/weechat` and check if you have the
|
||||
problem here.
|
||||
* The *gdb's backtrace* (only for a crash): if you can reproduce the crash
|
||||
(or if you have a core file), please include the backtrace from gdb (look at
|
||||
https://weechat.org/doc/user/#report_crashes[User's guide] for more info).
|
||||
* The *actual result*.
|
||||
* The *expected result*: the correct result you are expecting.
|
||||
|
||||
[IMPORTANT]
|
||||
Most of times, the WeeChat crash log file (_weechat_crash_YYYYMMDD_xxx.log_) is
|
||||
*NOT USEFUL* to fix the bug, so please report this file *ONLY* if a developer
|
||||
asked you to send it (and be extremely careful, this file can contain personal
|
||||
data like passwords and contents of your chats).
|
||||
|
||||
=== Scripts related issues
|
||||
|
||||
If you are using scripts, they can cause problems/crashes. To check if the
|
||||
problem is related to one script, try to unload them one by one (using
|
||||
command `/script unload <name>`).
|
||||
|
||||
Many issues reported are in fact related to bugs in scripts, so please first
|
||||
check that before reporting any issue on WeeChat itself.
|
||||
|
||||
If you think the problem comes from a specific script, please report the issue
|
||||
in the https://github.com/weechat/scripts/issues[scripts git repository]
|
||||
instead.
|
||||
|
||||
== Translations
|
||||
|
||||
Pull requests on GitHub for fixes or new translations are welcome at any
|
||||
time, for https://github.com/weechat/weechat[WeeChat] and the website
|
||||
https://github.com/weechat/weechat.org[weechat.org].
|
||||
|
||||
To start a translation in a new language (not yet supported), please look at
|
||||
https://weechat.org/doc/dev/#translations[translations]
|
||||
in Developer's guide.
|
||||
|
||||
== Feature requests
|
||||
|
||||
WeeChat is under active development, so your idea may already have been
|
||||
implemented, or scheduled for a future version (you can check in
|
||||
https://weechat.org/dev/[roadmap] or
|
||||
https://github.com/weechat/weechat/milestones[milestones] on GitHub.
|
||||
|
||||
Pull requests on GitHub are welcome for minor new features.
|
||||
|
||||
For major new features, it's better to discuss about it in IRC
|
||||
(server: _irc.libera.chat_, channel _#weechat_).
|
||||
|
||||
Before submitting any pull request, be sure you have read the
|
||||
https://weechat.org/doc/dev/#coding_rules[coding rules]
|
||||
in Developer's guide, which contains info about styles used, naming convention
|
||||
and other useful info.
|
||||
@@ -0,0 +1,36 @@
|
||||
WeeChat Installation instructions
|
||||
=================================
|
||||
|
||||
You can build WeeChat with cmake (recommended way) or autotools.
|
||||
|
||||
|
||||
With cmake
|
||||
----------
|
||||
|
||||
------------------------------------------------------------------
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DPREFIX=/where/you/want/install -DCMAKE_BUILD_TYPE=Debug
|
||||
make
|
||||
make install (as root for installation in system directories)
|
||||
------------------------------------------------------------------
|
||||
|
||||
|
||||
With autotools
|
||||
--------------
|
||||
|
||||
----------------------------------------------------------------------
|
||||
./autogen.sh (for cloned git repository only, not .tar.XX package)
|
||||
./configure --prefix=/where/you/want/install
|
||||
make
|
||||
make install (as root for installation in system directories)
|
||||
----------------------------------------------------------------------
|
||||
|
||||
|
||||
If you want to report bugs/crashes to developers, please:
|
||||
|
||||
- compile with debug info (type "Debug" for cmake build, default for autotools),
|
||||
- enable core files (for bash shell, add "ulimit -c unlimited" to your ~/.bashrc).
|
||||
|
||||
|
||||
See AUTHORS for support, feel free to contact us for any problem.
|
||||
+17
-39
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2003-2012 Sebastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
|
||||
# Copyright (C) 2006-2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||
#
|
||||
@@ -16,38 +16,24 @@
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# This target will update file config-git.h with output of command "git describe"
|
||||
# (if needed, and only for a devel/rc version).
|
||||
BUILT_SOURCES = build-config-git.h
|
||||
build-config-git.h:
|
||||
-$(abs_top_srcdir)/tools/git-version.sh "$(abs_top_srcdir)" "$(VERSION)" config-git.h
|
||||
|
||||
if TESTS
|
||||
tests_dir = tests
|
||||
if DOC
|
||||
doc_dir = doc
|
||||
endif
|
||||
|
||||
SUBDIRS = icons po doc intl src $(tests_dir)
|
||||
SUBDIRS = po $(doc_dir) intl src
|
||||
|
||||
EXTRA_DIST = AUTHORS.adoc \
|
||||
ChangeLog.adoc \
|
||||
Contributing.adoc \
|
||||
README.adoc \
|
||||
ReleaseNotes.adoc \
|
||||
CMakeLists.txt \
|
||||
EXTRA_DIST = CMakeLists.txt \
|
||||
config.rpath \
|
||||
config.h.cmake \
|
||||
cmake/CMakeParseArguments.cmake \
|
||||
cmake/FindAsciidoctor.cmake \
|
||||
cmake/cmake_uninstall.cmake.in \
|
||||
cmake/FindAsciidoc.cmake \
|
||||
cmake/FindAspell.cmake \
|
||||
cmake/FindCppUTest.cmake \
|
||||
cmake/FindENCHANT.cmake \
|
||||
cmake/FindGCRYPT.cmake \
|
||||
cmake/FindGcrypt.cmake \
|
||||
cmake/FindGettext.cmake \
|
||||
cmake/FindGnuTLS.cmake \
|
||||
cmake/FindGuile.cmake \
|
||||
cmake/FindIconv.cmake \
|
||||
cmake/FindLua.cmake \
|
||||
cmake/FindNcurses.cmake \
|
||||
@@ -55,26 +41,18 @@ EXTRA_DIST = AUTHORS.adoc \
|
||||
cmake/FindPkgConfig.cmake \
|
||||
cmake/FindPython.cmake \
|
||||
cmake/FindRuby.cmake \
|
||||
cmake/FindV8.cmake \
|
||||
cmake/FindZLIB.cmake \
|
||||
cmake/cmake_uninstall.cmake.in \
|
||||
cmake/FindSourcehighlight.cmake \
|
||||
cmake/FindTCL.cmake \
|
||||
cmake/FindGuile.cmake \
|
||||
cmake/makedist.sh.in \
|
||||
po/CMakeLists.txt \
|
||||
po/srcfiles.cmake \
|
||||
tools/build-test.sh \
|
||||
tools/git-version.sh \
|
||||
tools/makedist.sh \
|
||||
version.sh \
|
||||
weechat.desktop \
|
||||
weechat.spec \
|
||||
weechat_icon_32.png \
|
||||
weechat.pc.in \
|
||||
weechat.cygport.in
|
||||
UPGRADE_0.3
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = weechat.pc
|
||||
|
||||
desktopdir = $(datadir)/applications
|
||||
desktop_DATA = weechat.desktop
|
||||
|
||||
clean-local:
|
||||
$(RM) config-git.h
|
||||
|
||||
@@ -0,0 +1,405 @@
|
||||
WeeChat Release Notes
|
||||
=====================
|
||||
Sébastien Helleu <flashcode@flashtux.org>
|
||||
v0.3.9.2, 2012-11-18
|
||||
|
||||
|
||||
Version 0.3.9.2 (2012-11-18)
|
||||
----------------------------
|
||||
|
||||
This version fixes a security vulnerability when a plugin/script gives untrusted
|
||||
command to API function "hook_process".
|
||||
|
||||
Version 0.3.9.1 (2012-11-09)
|
||||
----------------------------
|
||||
|
||||
This version fixes crash when decoding IRC colors in strings.
|
||||
|
||||
Version 0.3.9 (2012-09-29)
|
||||
--------------------------
|
||||
|
||||
Important release notes:
|
||||
|
||||
* options moved from core (weechat.conf) to irc plugin (irc.conf):
|
||||
** 'weechat.look.nickmode' moved to 'irc.look.nick_mode' (new type: integer
|
||||
with values: none/prefix/action/both)
|
||||
** 'weechat.look.nickmode_empty' moved to 'irc.look.nick_mode_empty'
|
||||
* new bar item has been added: 'buffer_modes' and irc option
|
||||
'irc.look.item_channel_modes' has been removed; to display irc channel modes
|
||||
in status bar (after channel name), you have to manually add the new item
|
||||
'buffer_modes' (this is now used by default in status bar items), default
|
||||
value for status bar items becomes:
|
||||
** `/set weechat.bar.status.items "[time],[buffer_count],[buffer_plugin],buffer_number+:+buffer_name+(buffer_modes)+{buffer_nicklist_count}+buffer_filter,[lag],[hotlist],completion,scroll"`
|
||||
* changes in options for command `/aspell`:
|
||||
** new option `enable`: enable aspell
|
||||
** new option `disable`: disable aspell
|
||||
** new option `toggle`: toggle aspell (new default key: alt+"s")
|
||||
** option `enable` renamed to `setdict` (set dictionary for current buffer)
|
||||
** option `disable` renamed to `deldict` (delete dictionary used on current buffer)
|
||||
** option `dictlist` renamed to `listdict` (show installed dictionaries)
|
||||
* an horizontal separator has been added between split windows, and two options
|
||||
have been added to toggle separators (both are enabled by default):
|
||||
** 'weechat.look.window_separator_horizontal'
|
||||
** 'weechat.look.window_separator_vertical'
|
||||
* new keys were added, use command `/key missing` to add them or `/key listdiff`
|
||||
to see differences between your current keys and WeeChat default keys
|
||||
|
||||
Version 0.3.8 (2012-06-03)
|
||||
--------------------------
|
||||
|
||||
Important release notes:
|
||||
|
||||
* options 'weechat.look.prefix_align_more' and
|
||||
'weechat.look.prefix_buffer_align_more' have been converted from type boolean
|
||||
to string:
|
||||
** if the value was on (default), new value is "+" and you can now customize
|
||||
this char
|
||||
** if the value was off, you have to set " " (string with one space)
|
||||
* option 'weechat.look.paste_max_lines' can now be used with value 0 to detect
|
||||
paste with one line (only if terminal "bracketed paste mode" is enabled when
|
||||
option 'weechat.look.paste_bracketed' is on); so now the value -1 is used
|
||||
to disable paste detection: if your value was 0, you should set it to -1:
|
||||
** `/set weechat.look.paste_max_lines -1`
|
||||
* rmodifier "nickserv" has a new default regex which includes option "release"
|
||||
for command "/msg nickserv". If you never added/changed rmodifiers, you can
|
||||
just reset all rmodifiers (command: `/rmodifier default -yes`).
|
||||
If you added/changed some rmodifiers, do it manually with these two commannds:
|
||||
** `/rmodifier del nickserv`
|
||||
** `/rmodifier add nickserv history_add,input_text_display 1,4* ^(/(msg|quote) +nickserv +(id|identify|ghost \S+|release \S+) +)(.*)`
|
||||
|
||||
Version 0.3.7 (2012-02-26)
|
||||
--------------------------
|
||||
|
||||
Important release notes:
|
||||
|
||||
* option `scroll_unread` has been moved from command `/input` to `/window`,
|
||||
therefore default command of key alt+"u" has been updated. To bind key with
|
||||
new default value:
|
||||
** `/key bind meta-u /window scroll_unread`
|
||||
* extended regex is used in filters and irc ignore, so some chars that
|
||||
needed escape in past do not need any more (for example `[0-9]\+` becomes
|
||||
`[0-9]+`), filters and ignore have to be manually fixed
|
||||
* option 'weechat.look.highlight_regex' becomes case insensitive by default,
|
||||
to make it case sensitive, use "(?-i)" at beginning of string, for example:
|
||||
"(?-i)FlashCode|flashy"
|
||||
* option 'weechat.history.max_lines' has been renamed to
|
||||
'weechat.history.max_buffer_lines_number'
|
||||
* option 'weechat.plugin.extension' now supports list of extensions, and new
|
||||
default value is ".so,.dll" (with this value, weechat.conf is compatible with
|
||||
Cygwin)
|
||||
|
||||
Version 0.3.6 (2011-10-22)
|
||||
--------------------------
|
||||
|
||||
Important release notes:
|
||||
|
||||
* bold is not used any more for basic colors (used only if terminal has less
|
||||
than 16 colors), a new option has been added to force bold if needed:
|
||||
'weechat.look.color_basic_force_bold'
|
||||
* option 'weechat.look.hline_char' has been renamed to
|
||||
'weechat.look.separator_horizontal'
|
||||
|
||||
Version 0.3.5 (2011-05-15)
|
||||
--------------------------
|
||||
|
||||
Important release notes:
|
||||
|
||||
* if you have some colors defined in section "palette" with version 0.3.4, you
|
||||
should remove all colors defined, and add new aliases (it's not needed any
|
||||
more to add colors before using them)
|
||||
* colors for nick prefixes (char for op, voice, ..) are defined in a single
|
||||
option 'irc.color.nick_prefixes', therefore following options will be lost:
|
||||
'irc.color.nick_prefix_op', 'irc.color.nick_prefix_halfop',
|
||||
'irc.color.nick_prefix_voice', 'irc.color.nick_prefix_user'
|
||||
* count of messages have been added to hotlist by default, if you want to come
|
||||
back to old behaviour, do that:
|
||||
** `/set weechat.look.hotlist_count_max 0`
|
||||
** `/set weechat.look.hotlist_buffer_separator ","`
|
||||
* when you are away, all buffers are now added to hotlist by default (even if
|
||||
they are displayed in a window), if you want to come back to old behaviour, do
|
||||
that:
|
||||
** `/set weechat.look.hotlist_add_buffer_if_away off`
|
||||
* new keys were added, use command `/key missing` to add them or `/key listdiff`
|
||||
to see differences between your current keys and WeeChat default keys
|
||||
|
||||
Version 0.3.4 (2011-01-16)
|
||||
--------------------------
|
||||
|
||||
Important release notes:
|
||||
|
||||
* if you are using `/upgrade` from a previous release:
|
||||
** some nick prefixes can be wrong, so it is recommended to do `/allchan names`
|
||||
** nick colors are defined with a new option 'weechat.color.chat_nick_colors',
|
||||
therefore old options 'weechat.color.chat_nick_color1..10' will be lost when
|
||||
upgrading
|
||||
** nick colors in messages displayed will be wrong if you changed some nick colors
|
||||
(old default colors will be used)
|
||||
* some IRC options have been renamed, before upgrading to this version, note
|
||||
value for old options, and set them again with new name:
|
||||
** options moved from 'network' section to servers (with global value, and server
|
||||
value, like other server options):
|
||||
*** 'irc.network.connection_timeout' moved to 'irc.server_default.connection_timeout'
|
||||
*** 'irc.network.anti_flood_prio_high' moved to 'irc.server_default.anti_flood_prio_high'
|
||||
*** 'irc.network.anti_flood_prio_low' moved to 'irc.server_default.anti_flood_prio_low'
|
||||
*** 'irc.network.away_check' moved to 'irc.server_default.away_check'
|
||||
*** 'irc.network.away_check_max_nicks' moved to 'irc.server_default.away_check_max_nicks'
|
||||
*** 'irc.network.default_msg_part' moved to 'irc.server_default.default_msg_part'
|
||||
*** 'irc.network.default_msg_quit' moved to 'irc.server_default.default_msg_quit'
|
||||
** other IRC options renamed:
|
||||
*** 'irc.look.open_channel_near_server' moved to 'irc.look.new_channel_position'
|
||||
(old option was boolean, new is integer with value as string)
|
||||
*** 'irc.look.open_pv_near_server' moved to 'irc.look.new_pv_position'
|
||||
(old option was boolean, new is integer with value as string)
|
||||
|
||||
Version 0.3.3 (2010-08-07)
|
||||
--------------------------
|
||||
|
||||
Important release notes:
|
||||
|
||||
* if you are using `/upgrade` from a previous release, then you must reconnect
|
||||
to IRC servers in order to use new command /wallchops.
|
||||
* option 'irc.network.lag_min_show' is now in milliseconds, you should set new
|
||||
value: your current value multiplied by 1000 (new default value is 500).
|
||||
|
||||
Version 0.3.2 (2010-04-18)
|
||||
--------------------------
|
||||
|
||||
If you are using `/upgrade` from a previous release, then you must execute this
|
||||
command on all IRC servers/channels/private buffers and xfer DCC chats (not
|
||||
needed on WeeChat core buffer or buffers from other plugins/scripts): +
|
||||
`/buffer set highlight_words $nick`
|
||||
|
||||
Version 0.3.1.1 (2010-01-31)
|
||||
----------------------------
|
||||
|
||||
This version fixes crashs with SSL connection and purge of old DCC chats.
|
||||
|
||||
All users of version 0.3.1 should upgrade to this version.
|
||||
|
||||
Version 0.3.1 (2010-01-23)
|
||||
--------------------------
|
||||
|
||||
IRC commands /ame and /amsg are now aliases, if you are upgrading from version
|
||||
0.3.0, you must create aliases with following commands: +
|
||||
`/alias aaway allserv /away` +
|
||||
`/alias ame allchan /me` +
|
||||
`/alias amsg allchan /amsg *` +
|
||||
`/alias anick allserv /nick`
|
||||
|
||||
Version 0.3.0 (2009-09-06)
|
||||
--------------------------
|
||||
|
||||
This version brings major changes, especially for configuration files and plugin
|
||||
API.
|
||||
|
||||
For more information about this version, please read file 'UPGRADE_0.3'.
|
||||
|
||||
Version 0.2.6.3 (2009-06-13)
|
||||
----------------------------
|
||||
|
||||
This version fixes gnutls detection.
|
||||
|
||||
Version 0.2.6.2 (2009-04-18)
|
||||
----------------------------
|
||||
|
||||
This version fixes a bug with charset decoding (like 'iso2022jp').
|
||||
|
||||
Version 0.2.6.1 (2009-03-14)
|
||||
----------------------------
|
||||
|
||||
This version fixes a major bug: crash with some special chars in IRC messages.
|
||||
|
||||
Version 0.2.6 (2007-09-06)
|
||||
--------------------------
|
||||
|
||||
No release note.
|
||||
|
||||
Version 0.2.5 (2007-06-07)
|
||||
--------------------------
|
||||
|
||||
No release note.
|
||||
|
||||
Version 0.2.4 (2007-03-29)
|
||||
--------------------------
|
||||
|
||||
No release note.
|
||||
|
||||
Version 0.2.3 (2007-01-10)
|
||||
--------------------------
|
||||
|
||||
This version fixes several major bugs of version 0.2.2.
|
||||
|
||||
All users of version 0.2.2 should upgrade to this version.
|
||||
|
||||
Version 0.2.2 (2007-01-06)
|
||||
--------------------------
|
||||
|
||||
Important release notes:
|
||||
|
||||
* new charset plugin:
|
||||
** for users of any previous version, all your charset settings in weechat.rc
|
||||
will be LOST! You should save your weechat.rc to keep your values and set
|
||||
them again with new 'charset' plugin.
|
||||
** for ISO users: history of channels may be without accents (after `/upgrade`),
|
||||
this is not recoverable, but this is not a bug. All new messages should be
|
||||
ok.
|
||||
** be careful, now default encode is UTF-8 for all channels (before it was
|
||||
terminal charset). If you still want to send messages as 'ISO-8859-1', you
|
||||
should send either global encode or server specific encode to 'ISO-8859-1':
|
||||
*** for global encode: `/setp charset.global.encode = "ISO-8859-1"`
|
||||
*** for server encode (on server buffer): `/charset encode ISO-8859-1`
|
||||
* new keys for topic scroll:
|
||||
** new keys for scrolling topic: F9/F10
|
||||
** key F10 was used for `infobar_clear` in previous WeeChat versions,
|
||||
you have to manually rebind this key (except for new WeeChat users):
|
||||
*** `/key <press alt+"k" then F10> scroll_topic_right` (which gives something
|
||||
like: `/key meta2-21~ scroll_topic_right`).
|
||||
|
||||
Version 0.2.1 (2006-10-01)
|
||||
--------------------------
|
||||
|
||||
No release note.
|
||||
|
||||
Version 0.2.0 (2006-08-19)
|
||||
--------------------------
|
||||
|
||||
Important release notes:
|
||||
|
||||
* if you upgraded with `/upgrade` in WeeChat, you should `/disconnect` and then
|
||||
`/reconnect` on each server, to display properly channel/user modes.
|
||||
* if you're using plugins, you should remove some old plugins libraries in
|
||||
WeeChat system library directory (commonly '/usr/local/lib/weechat/plugins'):
|
||||
remove `lib*` files (like `libperl.*`, `libpython.*`, ..) and keep only new
|
||||
libraries (`perl.*`, `python.*`, ..).
|
||||
|
||||
Version 0.1.9 (2006-05-25)
|
||||
--------------------------
|
||||
|
||||
Important release notes:
|
||||
|
||||
* please close all DCC chat buffers before using /upgrade command, otherwise you
|
||||
may experience problems with DCC chats.
|
||||
* some changes in script API: now timer handlers functions takes exactly
|
||||
0 (zero) argument (in version 0.1.8, two arguments were mandatory but not
|
||||
used: server and args).
|
||||
|
||||
Version 0.1.8 (2006-03-18)
|
||||
--------------------------
|
||||
|
||||
Important release notes:
|
||||
|
||||
* it is recommended for users of version 0.1.7 (or any older), to
|
||||
replace values in setup file ('~/.weechat/weechat.rc'):
|
||||
** option: log_path: replace '~/.weechat/logs' by '%h/logs'
|
||||
** option: plugins_path: replace '~/.weechat/plugins' by '%h/plugins' +
|
||||
'%h' is replaced by WeeChat home (default: '~/.weechat', may be overriden
|
||||
by new command line arg `--dir`).
|
||||
* after installing 0.1.8 (or with `/upgrade`), issue both commands (if you
|
||||
didn't redefine these keys (alt+{home|end}):
|
||||
** `/key unbind meta-meta2-1~`
|
||||
** `/key unbind meta-meta2-4~`
|
||||
** then launch again WeeChat (or issue `/upgrade`).
|
||||
* Keys alt+{home|end} were used for nicklist scroll, they're now replaced by
|
||||
alt+{F11|F12}.
|
||||
|
||||
Version 0.1.7 (2006-01-14)
|
||||
--------------------------
|
||||
|
||||
Important release notes:
|
||||
|
||||
* Ruby script plugin has been added but is experimental in this release.
|
||||
You're warned!
|
||||
* `/away` command was changed to be RFC 2812 compliant. Now argument is required
|
||||
to set away, and no argument means remove away ("back"). Option
|
||||
'irc_default_msg_away' has been removed.
|
||||
|
||||
Version 0.1.6 (2005-11-11)
|
||||
--------------------------
|
||||
|
||||
Important release notes:
|
||||
|
||||
* incompatibility with some old scripts: now all handlers have to return a code
|
||||
for completion, and to do some actions about message to ignore (please look at
|
||||
documentation for detail).
|
||||
* on OpenBSD, the new option 'plugins_extension' should be set to '.so.0.0'
|
||||
since the plugins names are ending by '.so.0.0' and not '.so'.
|
||||
* with new and full UTF-8 support, the option 'look_charset_internal' should be
|
||||
set to blank for most cases. Forces it only if your locale is not properly
|
||||
detected by WeeChat (you can set 'UTF-8' or 'ISO-8859-15' for example,
|
||||
depending on your locale). WeeChat is looking for 'UTF-8' in your locale name
|
||||
at startup.
|
||||
|
||||
Version 0.1.5 (2005-09-24)
|
||||
--------------------------
|
||||
|
||||
No release note.
|
||||
|
||||
Version 0.1.4 (2005-07-30)
|
||||
--------------------------
|
||||
|
||||
No release note.
|
||||
|
||||
Version 0.1.3 (2005-07-02)
|
||||
--------------------------
|
||||
|
||||
No release note.
|
||||
|
||||
Version 0.1.2 (2005-05-21)
|
||||
--------------------------
|
||||
|
||||
No release note.
|
||||
|
||||
Version 0.1.1 (2005-03-20)
|
||||
--------------------------
|
||||
|
||||
No release note.
|
||||
|
||||
Version 0.1.0 (2005-02-12)
|
||||
--------------------------
|
||||
|
||||
No release note.
|
||||
|
||||
Version 0.0.9 (2005-01-01)
|
||||
--------------------------
|
||||
|
||||
No release note.
|
||||
|
||||
Version 0.0.8 (2004-10-30)
|
||||
--------------------------
|
||||
|
||||
No release note.
|
||||
|
||||
Version 0.0.7 (2004-08-08)
|
||||
--------------------------
|
||||
|
||||
No release note.
|
||||
|
||||
Version 0.0.6 (2004-06-05)
|
||||
--------------------------
|
||||
|
||||
No release note.
|
||||
|
||||
Version 0.0.5 (2004-02-07)
|
||||
--------------------------
|
||||
|
||||
No release note.
|
||||
|
||||
Version 0.0.4 (2004-01-01)
|
||||
--------------------------
|
||||
|
||||
No release note.
|
||||
|
||||
Version 0.0.3 (2003-11-03)
|
||||
--------------------------
|
||||
|
||||
No release note.
|
||||
|
||||
Version 0.0.2 (2003-10-05)
|
||||
--------------------------
|
||||
|
||||
No release note.
|
||||
|
||||
Version 0.0.1 (2003-09-27)
|
||||
--------------------------
|
||||
|
||||
No release note.
|
||||
@@ -0,0 +1,40 @@
|
||||
WeeChat Readme
|
||||
==============
|
||||
|
||||
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat
|
||||
environment for many operating systems. Everything can be done with a keyboard.
|
||||
It is customizable and extensible with scripts.
|
||||
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
* chat client with multi-protocols/servers connection
|
||||
* small, fast and very light
|
||||
* customizable and extensible with plugins (C, Perl, Python, Ruby, Lua, Tcl, Guile)
|
||||
* compliant with IRC RFCs 1459, 2810, 2811, 2812 and 2813
|
||||
* developed from scratch
|
||||
* multi-platform (GNU/Linux, *BSD, Mac OS X, QNX, Windows & other)
|
||||
* free software, released under GPLv3
|
||||
|
||||
|
||||
Copyright
|
||||
---------
|
||||
|
||||
Copyright (C) 2003-2012 Sébastien Helleu <flashcode@flashtux.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/>.
|
||||
-63
@@ -1,63 +0,0 @@
|
||||
:author: Sébastien Helleu
|
||||
:email: flashcode@flashtux.org
|
||||
:lang: en
|
||||
|
||||
|
||||
pass:[<p align="center">] image:https://weechat.org/media/images/weechat_logo_large.png[align="center"] pass:[</p>]
|
||||
|
||||
image:https://img.shields.io/badge/diaspora*-follow-blue.svg["Diaspora*", link="https://diasp.eu/u/weechat"]
|
||||
image:https://img.shields.io/badge/mastodon-follow-blue.svg["Mastodon", link="https://hostux.social/@weechat"]
|
||||
image:https://img.shields.io/badge/twitter-follow-blue.svg["Twitter", link="https://twitter.com/WeeChatClient"]
|
||||
image:https://img.shields.io/badge/devel%20blog-follow-blue.svg["Devel blog", link="https://blog.weechat.org/"]
|
||||
image:https://img.shields.io/badge/slant-recommend-28acad.svg["Slant", link="https://www.slant.co/topics/1323/~best-irc-clients-for-linux"]
|
||||
image:https://img.shields.io/badge/help-donate%20%E2%9D%A4-ff69b4.svg["Donate", link="https://weechat.org/donate/"]
|
||||
|
||||
image:https://github.com/weechat/weechat/workflows/CI/badge.svg["CI", link="https://github.com/weechat/weechat/actions"]
|
||||
image:https://codecov.io/gh/weechat/weechat/branch/master/graph/badge.svg["Code coverage", link="https://codecov.io/gh/weechat/weechat"]
|
||||
|
||||
*WeeChat* (Wee Enhanced Environment for Chat) is a free chat client, fast and
|
||||
light, designed for many operating systems.
|
||||
It is highly customizable and extensible with scripts.
|
||||
|
||||
Homepage: https://weechat.org/
|
||||
|
||||
== Features
|
||||
|
||||
* *Modular chat client*: WeeChat has a lightweight core and optional https://weechat.org/doc/user/#plugins[plugins]. All plugins (including https://weechat.org/doc/user/#irc[IRC]) are independent and can be unloaded.
|
||||
* *Multi-platform*: WeeChat runs on GNU/Linux, *BSD, GNU/Hurd, Haiku, macOS and Windows (Bash/Ubuntu and Cygwin).
|
||||
* *Multi-protocols*: WeeChat is designed to support multiple protocols by plugins, like IRC.
|
||||
* *Standards-compliant*: the IRC plugin is compliant with RFCs https://tools.ietf.org/html/rfc1459[1459], https://tools.ietf.org/html/rfc2810[2810], https://tools.ietf.org/html/rfc2811[2811], https://tools.ietf.org/html/rfc2812[2812], and https://tools.ietf.org/html/rfc2813[2813].
|
||||
* *Small, fast, and very light*: the core is and should stay as light and fast as possible.
|
||||
* *Customizable and extensible*: there are a lot of options to customize WeeChat, and it is extensible with C plugins and https://weechat.org/scripts/[scripts] (https://weechat.org/scripts/language/perl/[Perl], https://weechat.org/scripts/language/python/[Python], https://weechat.org/scripts/language/ruby[Ruby], https://weechat.org/scripts/language/lua/[Lua], https://weechat.org/scripts/language/tcl/[Tcl], https://weechat.org/scripts/language/guile/[Scheme], https://weechat.org/scripts/language/javascript/[JavaScript] and https://weechat.org/scripts/language/php/[PHP]).
|
||||
* *Fully documented*: there is comprehensive https://weechat.org/doc/[documentation], which is https://weechat.org/doc/dev/#translations[translated] into several languages.
|
||||
* *Developed from scratch*: WeeChat was built from scratch and is not based on any other client.
|
||||
* *Free software*: WeeChat is released under https://www.gnu.org/licenses/gpl-3.0.html[GPLv3].
|
||||
|
||||
pass:[<p align="center">] image:https://weechat.org/media/images/screenshots/weechat/medium/weechat_2013-04-27_phlux_shadow.png[align="center"] pass:[</p>]
|
||||
|
||||
On WeeChat's website you can find https://weechat.org/about/screenshots/[more screenshots].
|
||||
|
||||
== Installation
|
||||
|
||||
WeeChat can be installed using your favorite package manager (recommended) or by compiling it yourself.
|
||||
|
||||
For detailed instructions, please check the https://weechat.org/doc/user/#install[WeeChat user's guide].
|
||||
|
||||
== Copyright
|
||||
|
||||
Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.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 <https://www.gnu.org/licenses/>.
|
||||
-2814
File diff suppressed because it is too large
Load Diff
+83
@@ -0,0 +1,83 @@
|
||||
WeeChat Upgrade to 0.3.x
|
||||
========================
|
||||
Sébastien Helleu <flashcode@flashtux.org>
|
||||
v0.3.0, 2009-09-06
|
||||
|
||||
|
||||
This document lists major changes introduced in version 0.3.0 and not compatible
|
||||
with versions 0.2.x.
|
||||
|
||||
|
||||
Upgrade to version 0.3.x
|
||||
------------------------
|
||||
|
||||
It is *NOT POSSIBLE* to use command `/upgrade` from a version 0.2.x to 0.3.x.
|
||||
You have to quit your old WeeChat, then run new version.
|
||||
|
||||
Of course, command `/upgrade` is working fine once you'll be with 0.3.x to
|
||||
upgrade to another 0.3.x (unless this command is broken again, please look
|
||||
at release notes (file 'NEWS') for version you're currently installing).
|
||||
|
||||
|
||||
Configuration files
|
||||
-------------------
|
||||
|
||||
Changes with previous versions
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
New configuration files (`*.conf`) are not compatible with old files (`*.rc`).
|
||||
|
||||
Name of options is similar to old versions, but there is now one configuration
|
||||
file by plugin, and one file for WeeChat core.
|
||||
|
||||
There is *no automatic conversion* for your old options to new configuration files,
|
||||
so you'll have to setup again your IRC servers and all other options.
|
||||
|
||||
In WeeChat, option names are now with format: `plugin.section.option` (for
|
||||
WeeChat core, `plugin` is `weechat`).
|
||||
|
||||
Examples:
|
||||
|
||||
* WeeChat options: `weechat.xxx.yyy`
|
||||
* IRC options: `irc.xxx.yyy`
|
||||
|
||||
You should read quickstart guide to be familiar with basic commands and syntax
|
||||
(some commands like `/server` have changed): http://www.weechat.org/doc
|
||||
|
||||
|
||||
List of configuration files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Old configuration files:
|
||||
** weechat.rc
|
||||
** plugins.rc
|
||||
* New configuration files are now (with default plugins):
|
||||
** weechat.conf
|
||||
** alias.conf
|
||||
** aspell.conf
|
||||
** charset.conf
|
||||
** irc.conf
|
||||
** jabber.conf
|
||||
** logger.conf
|
||||
** plugins.conf
|
||||
** relay.conf
|
||||
** xfer.conf
|
||||
|
||||
|
||||
Plugin API
|
||||
----------
|
||||
|
||||
Plugin API has been rewritten and is not compatible with previous versions.
|
||||
Accordingly, scripts and plugins must have been designed for version 0.3.x to
|
||||
be loaded into WeeChat.
|
||||
|
||||
There is no migration script today to convert old script to new API.
|
||||
Therefore, if you plan to use old script, you'll have to wait for new version
|
||||
or you can convert script yourself and send us new version ;)
|
||||
|
||||
You can download scripts for new API on plugins page:
|
||||
http://www.weechat.org/plugins
|
||||
|
||||
More information about new API is available on wiki:
|
||||
http://wiki.flashtux.org/wiki/WeeChat_0.3.0
|
||||
and http://wiki.flashtux.org/wiki/WeeChat_0.3.0_API
|
||||
+26
-14
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2003-2012 Sebastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
|
||||
# Copyright (C) 2005-2006 Emmanuel Bouthenot <kolter@openics.org>
|
||||
#
|
||||
@@ -17,16 +17,13 @@
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
###
|
||||
### common stuff
|
||||
###
|
||||
|
||||
DIR=$(cd "$(dirname "$0")" || exit 1; pwd)
|
||||
cd "$DIR" || exit 1
|
||||
|
||||
AUTOGEN_LOG=autogen.log
|
||||
|
||||
err ()
|
||||
@@ -34,15 +31,16 @@ err ()
|
||||
echo "-------"
|
||||
echo "Error :"
|
||||
echo "---8<-----------------------------------"
|
||||
cat "$AUTOGEN_LOG"
|
||||
cat $AUTOGEN_LOG
|
||||
echo "----------------------------------->8---"
|
||||
exit 1
|
||||
}
|
||||
|
||||
run ()
|
||||
{
|
||||
printf "Running \"%s\"..." "$@"
|
||||
if eval "$@" >"$AUTOGEN_LOG" 2>&1 ; then
|
||||
echo -n "Running \"$@\"..."
|
||||
eval $@ >$AUTOGEN_LOG 2>&1
|
||||
if [ $? = 0 ] ; then
|
||||
echo " OK"
|
||||
else
|
||||
echo " FAILED"
|
||||
@@ -50,20 +48,34 @@ run ()
|
||||
fi
|
||||
}
|
||||
|
||||
# remove autotools stuff
|
||||
###
|
||||
### cleanning part
|
||||
###
|
||||
# remove autotools stuff
|
||||
run "rm -rf config"
|
||||
run "rm -f config.h.in"
|
||||
run "rm -f aclocal.m4 configure config.log config.status"
|
||||
run "rm -rf autom4te*.cache"
|
||||
|
||||
# remove libtool stuff
|
||||
run "rm -f libtool"
|
||||
|
||||
# remove gettext stuff
|
||||
run "rm -f ABOUT-NLS"
|
||||
run "rm -rf intl"
|
||||
|
||||
# execute autoreconf cmds
|
||||
run "autoreconf -vi"
|
||||
###
|
||||
### configuration part
|
||||
###
|
||||
# create the config directory
|
||||
run "mkdir -p config/m4"
|
||||
run "mkdir intl"
|
||||
|
||||
# execute autotools cmds
|
||||
run "autopoint -f"
|
||||
run "libtoolize --automake --force --copy"
|
||||
run "aclocal --force -I config/m4"
|
||||
run "autoheader"
|
||||
run "autoconf"
|
||||
run "automake --add-missing --copy --gnu"
|
||||
|
||||
# ending
|
||||
rm -f "$AUTOGEN_LOG"
|
||||
rm -f $AUTOGEN_LOG
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
#
|
||||
# Copyright (C) 2003-2012 Sebastien Helleu <flashcode@flashtux.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/>.
|
||||
#
|
||||
|
||||
# - Find Asciidoc
|
||||
# This module finds if asciidoc (version 8 or newer) is installed.
|
||||
|
||||
IF (ASCIIDOC_FOUND)
|
||||
# Already in cache, be silent
|
||||
SET(ASCIIDOC_FIND_QUIETLY TRUE)
|
||||
ENDIF (ASCIIDOC_FOUND)
|
||||
|
||||
FIND_PROGRAM(
|
||||
ASCIIDOC_EXECUTABLE asciidoc
|
||||
PATHS /bin /usr/bin /usr/local/bin /usr/pkg/bin
|
||||
)
|
||||
|
||||
IF(ASCIIDOC_EXECUTABLE)
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${ASCIIDOC_EXECUTABLE} --version
|
||||
OUTPUT_VARIABLE ASCIIDOC_VERSION
|
||||
)
|
||||
|
||||
IF(${ASCIIDOC_VERSION} MATCHES "asciidoc 8.*")
|
||||
SET(ASCIIDOC_FOUND TRUE)
|
||||
ENDIF(${ASCIIDOC_VERSION} MATCHES "asciidoc 8.*")
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
ASCIIDOC_EXECUTABLE
|
||||
)
|
||||
ENDIF(ASCIIDOC_EXECUTABLE)
|
||||
@@ -1,49 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.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 <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Asciidoctor
|
||||
# This module finds if asciidoctor (version 1.5.4 or newer) is installed.
|
||||
|
||||
if(ASCIIDOCTOR_FOUND)
|
||||
# Already in cache, be silent
|
||||
set(ASCIIDOCTOR_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
|
||||
find_program(
|
||||
ASCIIDOCTOR_EXECUTABLE asciidoctor
|
||||
PATHS /bin /usr/bin /usr/local/bin /usr/pkg/bin
|
||||
)
|
||||
|
||||
if(ASCIIDOCTOR_EXECUTABLE)
|
||||
execute_process(
|
||||
COMMAND ${ASCIIDOCTOR_EXECUTABLE} --version
|
||||
OUTPUT_VARIABLE ASCIIDOCTOR_VERSION
|
||||
)
|
||||
|
||||
string(REGEX REPLACE "^Asciidoctor ([^ ]+) .*" "\\1" ASCIIDOCTOR_VERSION "${ASCIIDOCTOR_VERSION}")
|
||||
|
||||
if(ASCIIDOCTOR_VERSION VERSION_EQUAL "1.5.4" OR ASCIIDOCTOR_VERSION VERSION_GREATER "1.5.4")
|
||||
set(ASCIIDOCTOR_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
mark_as_advanced(
|
||||
ASCIIDOCTOR_EXECUTABLE
|
||||
ASCIIDOCTOR_VERSION
|
||||
)
|
||||
endif()
|
||||
+11
-18
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2003-2012 Sebastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
@@ -14,7 +14,7 @@
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Aspell
|
||||
@@ -26,33 +26,26 @@
|
||||
# ASPELL_INCLUDE_PATH = path to where aspell.h can be found
|
||||
# ASPELL_LIBRARY = path to where libaspell.so* can be found
|
||||
|
||||
if(ASPELL_FOUND)
|
||||
IF (ASPELL_FOUND)
|
||||
# Already in cache, be silent
|
||||
SET(ASPELL_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
ENDIF (ASPELL_FOUND)
|
||||
|
||||
find_path(ASPELL_INCLUDE_PATH
|
||||
FIND_PATH(ASPELL_INCLUDE_PATH
|
||||
NAMES aspell.h
|
||||
PATHS /usr/include /usr/local/include /usr/pkg/include
|
||||
)
|
||||
|
||||
find_library(ASPELL_LIBRARY
|
||||
FIND_LIBRARY(ASPELL_LIBRARY
|
||||
NAMES aspell aspell-15
|
||||
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
|
||||
)
|
||||
|
||||
if(ASPELL_INCLUDE_PATH AND ASPELL_LIBRARY)
|
||||
set(ASPELL_FOUND TRUE)
|
||||
IF (ASPELL_INCLUDE_PATH AND ASPELL_LIBRARY)
|
||||
SET(ASPELL_FOUND TRUE)
|
||||
ENDIF (ASPELL_INCLUDE_PATH AND ASPELL_LIBRARY)
|
||||
|
||||
# check if function aspell_version_string() exists
|
||||
set(CMAKE_REQUIRED_INCLUDES ${ASPELL_INCLUDE_PATH})
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${ASPELL_LIBRARY})
|
||||
check_symbol_exists(aspell_version_string "aspell.h" HAVE_ASPELL_VERSION_STRING)
|
||||
set(CMAKE_REQUIRED_INCLUDES)
|
||||
set(CMAKE_REQUIRED_LIBRARIES)
|
||||
endif()
|
||||
|
||||
mark_as_advanced(
|
||||
MARK_AS_ADVANCED(
|
||||
ASPELL_INCLUDE_PATH
|
||||
ASPELL_LIBRARY
|
||||
)
|
||||
)
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2014-2022 Sébastien Helleu <flashcode@flashtux.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 <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find CppUTest
|
||||
# This module finds if CppUTest is installed and determines where the include
|
||||
# files and libraries are. It also determines what the name of the library is.
|
||||
# This code sets the following variables:
|
||||
#
|
||||
# CPPUTEST_FOUND = CppUTest is installed
|
||||
# CPPUTEST_INCLUDE_DIRS = CppUTest include directory
|
||||
# CPPUTEST_LIBRARIES = Link options to compile with CppUTest
|
||||
|
||||
if(CPPUTEST_FOUND)
|
||||
# Already in cache, be silent
|
||||
set(CPPUTEST_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
|
||||
find_package(PkgConfig)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_search_module(CPPUTEST cpputest)
|
||||
endif()
|
||||
@@ -1,50 +0,0 @@
|
||||
# - Try to find the Enchant spell checker
|
||||
# Once done this will define
|
||||
#
|
||||
# ENCHANT_FOUND - system has ENCHANT
|
||||
# ENCHANT_INCLUDE_DIR - the ENCHANT include directory
|
||||
# ENCHANT_LIBRARIES - Link these to use ENCHANT
|
||||
# ENCHANT_DEFINITIONS - Compiler switches required for using ENCHANT
|
||||
|
||||
# Copyright (c) 2006, Zack Rusin, <zack@kde.org>
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
|
||||
|
||||
if(ENCHANT_INCLUDE_DIR AND ENCHANT_LIBRARIES)
|
||||
# in cache already
|
||||
set(ENCHANT_FOUND TRUE)
|
||||
else()
|
||||
if(NOT WIN32)
|
||||
# use pkg-config to get the directories and then use these values
|
||||
# in the FIND_PATH() and FIND_LIBRARY() calls
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules(PC_ENCHANT enchant)
|
||||
set(ENCHANT_DEFINITIONS ${PC_ENCHANT_CFLAGS_OTHER})
|
||||
endif()
|
||||
|
||||
find_path(ENCHANT_INCLUDE_DIR
|
||||
NAMES enchant++.h
|
||||
HINTS ${PC_ENCHANT_INCLUDEDIR} ${PC_ENCHANT_INCLUDE_DIRS}
|
||||
PATH_SUFFIXES enchant
|
||||
)
|
||||
|
||||
find_library(ENCHANT_LIBRARIES
|
||||
NAMES enchant
|
||||
HINTS ${PC_ENCHANT_LIBDIR}
|
||||
${PC_ENCHANT_LIBRARY_DIRS}
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(ENCHANT DEFAULT_MSG ENCHANT_INCLUDE_DIR ENCHANT_LIBRARIES)
|
||||
|
||||
mark_as_advanced(ENCHANT_INCLUDE_DIR ENCHANT_LIBRARIES)
|
||||
|
||||
# check if function enchant_get_version() exists
|
||||
set(CMAKE_REQUIRED_INCLUDES ${ENCHANT_INCLUDE_DIR})
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${ENCHANT_LIBRARIES})
|
||||
check_symbol_exists(enchant_get_version "enchant.h" HAVE_ENCHANT_GET_VERSION)
|
||||
set(CMAKE_REQUIRED_INCLUDES)
|
||||
set(CMAKE_REQUIRED_LIBRARIES)
|
||||
endif()
|
||||
@@ -1,53 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.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 <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Gcrypt
|
||||
# This module finds if libgcrypt is installed and determines where
|
||||
# the include files and libraries are.
|
||||
#
|
||||
# This code sets the following variables:
|
||||
#
|
||||
# GCRYPT_CFLAGS = cflags to use to compile
|
||||
# GCRYPT_LDFLAGS = ldflags to use to compile
|
||||
#
|
||||
|
||||
find_program(LIBGCRYPT_CONFIG_EXECUTABLE NAMES libgcrypt-config)
|
||||
|
||||
set(GCRYPT_LDFLAGS)
|
||||
set(GCRYPT_CFLAGS)
|
||||
|
||||
if(LIBGCRYPT_CONFIG_EXECUTABLE)
|
||||
|
||||
execute_process(COMMAND ${LIBGCRYPT_CONFIG_EXECUTABLE} --libs RESULT_VARIABLE _return_VALUE OUTPUT_VARIABLE GCRYPT_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
|
||||
execute_process(COMMAND ${LIBGCRYPT_CONFIG_EXECUTABLE} --cflags RESULT_VARIABLE _return_VALUE OUTPUT_VARIABLE GCRYPT_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
|
||||
|
||||
if(NOT DEFINED ${GCRYPT_CFLAGS})
|
||||
set(GCRYPT_CFLAGS " ")
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set GCRYPT_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(GCRYPT REQUIRED_VARS GCRYPT_LDFLAGS GCRYPT_CFLAGS)
|
||||
|
||||
if(GCRYPT_FOUND)
|
||||
mark_as_advanced(GCRYPT_CFLAGS GCRYPT_LDFLAGS)
|
||||
endif()
|
||||
@@ -0,0 +1,50 @@
|
||||
#
|
||||
# Copyright (C) 2003-2012 Sebastien Helleu <flashcode@flashtux.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/>.
|
||||
#
|
||||
|
||||
# - Find Gcrypt
|
||||
# This module finds if libgcrypt is installed and determines where
|
||||
# the include files and libraries are.
|
||||
#
|
||||
# This code sets the following variables:
|
||||
#
|
||||
# GCRYPT_CFLAGS = cflags to use to compile
|
||||
# GCRYPT_LDFLAGS = ldflags to use to compile
|
||||
#
|
||||
|
||||
FIND_PROGRAM(LIBGCRYPT_CONFIG_EXECUTABLE NAMES libgcrypt-config)
|
||||
|
||||
set(GCRYPT_LDFLAGS)
|
||||
set(GCRYPT_CFLAGS)
|
||||
|
||||
IF(LIBGCRYPT_CONFIG_EXECUTABLE)
|
||||
|
||||
EXEC_PROGRAM(${LIBGCRYPT_CONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE GCRYPT_LDFLAGS)
|
||||
EXEC_PROGRAM(${LIBGCRYPT_CONFIG_EXECUTABLE} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE GCRYPT_CFLAGS)
|
||||
|
||||
IF(${GCRYPT_CFLAGS} MATCHES "\n")
|
||||
SET(GCRYPT_CFLAGS " ")
|
||||
ENDIF(${GCRYPT_CFLAGS} MATCHES "\n")
|
||||
|
||||
IF(GCRYPT_LDFLAGS AND GCRYPT_CFLAGS)
|
||||
SET(GCRYPT_FOUND TRUE)
|
||||
ENDIF(GCRYPT_LDFLAGS AND GCRYPT_CFLAGS)
|
||||
|
||||
ENDIF(LIBGCRYPT_CONFIG_EXECUTABLE)
|
||||
|
||||
MARK_AS_ADVANCED(GCRYPT_CFLAGS GCRYPT_LDFLAGS)
|
||||
+34
-32
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2003-2012 Sebastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2007 Julien Louis <ptitlouis@sysif.net>
|
||||
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||
#
|
||||
@@ -16,7 +16,7 @@
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Gettext
|
||||
@@ -27,44 +27,46 @@
|
||||
#
|
||||
# GETTEXT_FOUND = is gettext usable on system?
|
||||
|
||||
if(GETTEXT_FOUND)
|
||||
# Already in cache, be silent
|
||||
set(GETTEXT_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
IF(GETTEXT_FOUND)
|
||||
# Already in cache, be silent
|
||||
SET(GETTEXT_FIND_QUIETLY TRUE)
|
||||
ENDIF(GETTEXT_FOUND)
|
||||
|
||||
include(CheckIncludeFiles)
|
||||
include(CheckLibraryExists)
|
||||
include(CheckFunctionExists)
|
||||
INCLUDE(CheckIncludeFiles)
|
||||
INCLUDE(CheckLibraryExists)
|
||||
INCLUDE(CheckFunctionExists)
|
||||
|
||||
find_path(LIBINTL_INCLUDE
|
||||
FIND_PATH(LIBINTL_INCLUDE
|
||||
NAMES libintl.h
|
||||
PATH /usr/local/include /usr/pkg/include /usr/include
|
||||
)
|
||||
|
||||
set(CMAKE_REQUIRED_INCLUDES ${LIBINTL_INCLUDE})
|
||||
SET(CMAKE_REQUIRED_INCLUDES ${LIBINTL_INCLUDE})
|
||||
|
||||
check_include_files(libintl.h HAVE_LIBINTL_H)
|
||||
CHECK_INCLUDE_FILES(libintl.h HAVE_LIBINTL_H)
|
||||
|
||||
if(HAVE_LIBINTL_H)
|
||||
check_function_exists(dgettext LIBC_HAS_DGETTEXT)
|
||||
if(LIBC_HAS_DGETTEXT)
|
||||
set(GETTEXT_FOUND TRUE)
|
||||
else()
|
||||
find_library(LIBINTL_LIBRARY NAMES intl
|
||||
IF(HAVE_LIBINTL_H)
|
||||
|
||||
CHECK_FUNCTION_EXISTS(dgettext LIBC_HAS_DGETTEXT)
|
||||
IF(LIBC_HAS_DGETTEXT)
|
||||
SET(GETTEXT_FOUND TRUE)
|
||||
ELSE(LIBC_HAS_DGETTEXT)
|
||||
FIND_LIBRARY(LIBINTL_LIBRARY NAMES intl
|
||||
PATHS
|
||||
/usr/local/lib
|
||||
/usr/lib
|
||||
)
|
||||
if(LIBINTL_LIBRARY)
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
|
||||
set(CMAKE_REQUIRED_LIBRARIES "iconv")
|
||||
check_library_exists(${LIBINTL_LIBRARY} "libintl_dgettext" "" LIBINTL_HAS_DGETTEXT)
|
||||
else()
|
||||
check_library_exists(${LIBINTL_LIBRARY} "dgettext" "" LIBINTL_HAS_DGETTEXT)
|
||||
endif()
|
||||
if(LIBINTL_HAS_DGETTEXT)
|
||||
set(GETTEXT_FOUND TRUE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
)
|
||||
IF(LIBINTL_LIBRARY)
|
||||
IF(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
|
||||
SET(CMAKE_REQUIRED_LIBRARIES "iconv")
|
||||
CHECK_LIBRARY_EXISTS(${LIBINTL_LIBRARY} "libintl_dgettext" "" LIBINTL_HAS_DGETTEXT)
|
||||
ELSE(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
|
||||
CHECK_LIBRARY_EXISTS(${LIBINTL_LIBRARY} "dgettext" "" LIBINTL_HAS_DGETTEXT)
|
||||
ENDIF(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
|
||||
|
||||
IF(LIBINTL_HAS_DGETTEXT)
|
||||
SET(GETTEXT_FOUND TRUE)
|
||||
ENDIF(LIBINTL_HAS_DGETTEXT)
|
||||
ENDIF(LIBINTL_LIBRARY)
|
||||
ENDIF(LIBC_HAS_DGETTEXT)
|
||||
ENDIF(HAVE_LIBINTL_H)
|
||||
|
||||
+23
-23
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2003-2012 Sebastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
@@ -15,7 +15,7 @@
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find GnuTLS
|
||||
@@ -29,45 +29,45 @@
|
||||
# GNUTLS_CFLAGS = cflags to use to compile
|
||||
# GNUTLS_LDFLAGS = ldflags to use to compile
|
||||
|
||||
if(GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
|
||||
# Already in cache, be silent
|
||||
set(GNUTLS_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
IF(GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
|
||||
# Already in cache, be silent
|
||||
set(GNUTLS_FIND_QUIETLY TRUE)
|
||||
ENDIF(GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
|
||||
|
||||
find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config)
|
||||
FIND_PROGRAM(PKG_CONFIG_EXECUTABLE NAMES pkg-config)
|
||||
|
||||
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=prefix gnutls
|
||||
OUTPUT_VARIABLE GNUTLS_PREFIX
|
||||
EXECUTE_PROCESS(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=prefix gnutls
|
||||
OUTPUT_VARIABLE GNUTLS_PREFIX
|
||||
)
|
||||
|
||||
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --cflags gnutls
|
||||
OUTPUT_VARIABLE GNUTLS_CFLAGS
|
||||
EXECUTE_PROCESS(COMMAND ${PKG_CONFIG_EXECUTABLE} --cflags gnutls
|
||||
OUTPUT_VARIABLE GNUTLS_CFLAGS
|
||||
)
|
||||
string(REGEX REPLACE "[\r\n]" "" GNUTLS_CFLAGS "${GNUTLS_CFLAGS}")
|
||||
STRING(REGEX REPLACE "[\r\n]" "" GNUTLS_CFLAGS "${GNUTLS_FLAGS}")
|
||||
|
||||
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --libs gnutls
|
||||
OUTPUT_VARIABLE GNUTLS_LDFLAGS
|
||||
EXECUTE_PROCESS(COMMAND ${PKG_CONFIG_EXECUTABLE} --libs gnutls
|
||||
OUTPUT_VARIABLE GNUTLS_LDFLAGS
|
||||
)
|
||||
string(REGEX REPLACE "[\r\n]" "" GNUTLS_LDFLAGS "${GNUTLS_LDFLAGS}")
|
||||
STRING(REGEX REPLACE "[\r\n]" "" GNUTLS_LDFLAGS "${GNUTLS_LDFLAGS}")
|
||||
|
||||
set(GNUTLS_POSSIBLE_INCLUDE_PATH "${GNUTLS_PREFIX}/include")
|
||||
set(GNUTLS_POSSIBLE_LIB_DIR "${GNUTLS_PREFIX}/lib")
|
||||
SET(GNUTLS_POSSIBLE_INCLUDE_PATH "${GNUTLS_PREFIX}/include")
|
||||
SET(GNUTLS_POSSIBLE_LIB_DIR "${GNUTLS_PREFIX}/lib")
|
||||
|
||||
find_path(GNUTLS_INCLUDE_PATH
|
||||
FIND_PATH(GNUTLS_INCLUDE_PATH
|
||||
NAMES gnutls/gnutls.h
|
||||
PATHS GNUTLS_POSSIBLE_INCLUDE_PATH
|
||||
)
|
||||
|
||||
find_library(GNUTLS_LIBRARY
|
||||
FIND_LIBRARY(GNUTLS_LIBRARY
|
||||
NAMES gnutls
|
||||
PATHS GNUTLS_POSSIBLE_LIB_DIR
|
||||
)
|
||||
|
||||
if(NOT GNUTLS_INCLUDE_PATH OR NOT GNUTLS_LIBRARY)
|
||||
message(FATAL_ERROR "GnuTLS was not found")
|
||||
endif()
|
||||
IF (GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
|
||||
SET(GNUTLS_FOUND TRUE)
|
||||
ENDIF (GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
|
||||
|
||||
mark_as_advanced(
|
||||
MARK_AS_ADVANCED(
|
||||
GNUTLS_INCLUDE_PATH
|
||||
GNUTLS_LIBRARY
|
||||
GNUTLS_CFLAGS
|
||||
|
||||
+24
-18
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2011-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2011-2012 Sebastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
@@ -14,7 +14,7 @@
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Guile
|
||||
@@ -26,20 +26,26 @@
|
||||
# GUILE_INCLUDE_DIRS = Guile include directory
|
||||
# GUILE_LIBRARIES = Link options to compile Guile
|
||||
|
||||
if(GUILE_FOUND)
|
||||
# Already in cache, be silent
|
||||
set(GUILE_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
IF(GUILE_FOUND)
|
||||
# Already in cache, be silent
|
||||
SET(GUILE_FIND_QUIETLY TRUE)
|
||||
ENDIF(GUILE_FOUND)
|
||||
|
||||
find_package(PkgConfig)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_search_module(GUILE guile-3.0 guile-2.2 guile-2.0)
|
||||
if(GUILE_FOUND)
|
||||
# check if variable "scm_install_gmp_memory_functions" exists
|
||||
set(CMAKE_REQUIRED_INCLUDES ${GUILE_INCLUDE_DIRS})
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${GUILE_LDFLAGS})
|
||||
check_symbol_exists(scm_install_gmp_memory_functions "libguile.h" HAVE_GUILE_GMP_MEMORY_FUNCTIONS)
|
||||
set(CMAKE_REQUIRED_INCLUDES)
|
||||
set(CMAKE_REQUIRED_LIBRARIES)
|
||||
endif()
|
||||
endif()
|
||||
FIND_PATH(GUILE_INCLUDE_DIR libguile.h /usr/include /usr/local/include /usr/include/libguile /usr/local/include/libguile)
|
||||
|
||||
FIND_LIBRARY(GUILE_LIBRARY NAMES guile PATH /usr/lib /usr/local/lib)
|
||||
|
||||
IF(GUILE_INCLUDE_DIR AND GUILE_LIBRARY)
|
||||
SET(GUILE_FOUND TRUE)
|
||||
SET(GUILE_INCLUDE_DIRS ${GUILE_INCLUDE_DIR})
|
||||
SET(GUILE_LIBRARIES ${GUILE_LIBRARY})
|
||||
ELSE(GUILE_INCLUDE_DIR AND GUILE_LIBRARY)
|
||||
SET(GUILE_FOUND FALSE)
|
||||
SET(GUILE_INCLUDE_DIRS)
|
||||
SET(GUILE_LIBRARIES)
|
||||
ENDIF(GUILE_INCLUDE_DIR AND GUILE_LIBRARY)
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
GUILE_INCLUDE_DIR
|
||||
GUILE_LIBRARY
|
||||
)
|
||||
|
||||
+27
-28
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2003-2012 Sebastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
@@ -14,7 +14,7 @@
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Iconv
|
||||
@@ -28,44 +28,44 @@
|
||||
#
|
||||
# ICONV_FOUND = is iconv usable on system?
|
||||
|
||||
if(ICONV_FOUND)
|
||||
# Already in cache, be silent
|
||||
set(ICONV_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
IF(ICONV_FOUND)
|
||||
# Already in cache, be silent
|
||||
set(ICONV_FIND_QUIETLY TRUE)
|
||||
ENDIF(ICONV_FOUND)
|
||||
|
||||
include(CheckLibraryExists)
|
||||
include(CheckFunctionExists)
|
||||
INCLUDE(CheckLibraryExists)
|
||||
INCLUDE(CheckFunctionExists)
|
||||
|
||||
find_path(ICONV_INCLUDE_PATH
|
||||
FIND_PATH(ICONV_INCLUDE_PATH
|
||||
NAMES iconv.h
|
||||
PATHS /usr/include /usr/local/include /usr/pkg/include
|
||||
)
|
||||
|
||||
find_library(ICONV_LIBRARY
|
||||
FIND_LIBRARY(ICONV_LIBRARY
|
||||
NAMES iconv
|
||||
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
|
||||
)
|
||||
|
||||
if(ICONV_INCLUDE_PATH)
|
||||
if(ICONV_LIBRARY)
|
||||
check_library_exists("${ICONV_LIBRARY}" libiconv_open "" LIBICONV_OPEN_FOUND)
|
||||
check_library_exists("${ICONV_LIBRARY}" iconv_open "" ICONV_OPEN_FOUND)
|
||||
if(LIBICONV_OPEN_FOUND OR ICONV_OPEN_FOUND)
|
||||
set(ICONV_FOUND TRUE)
|
||||
endif()
|
||||
else()
|
||||
check_function_exists(iconv_open ICONV_FOUND)
|
||||
endif()
|
||||
endif()
|
||||
IF(ICONV_INCLUDE_PATH)
|
||||
IF(ICONV_LIBRARY)
|
||||
STRING(REGEX REPLACE "/[^/]*$" "" ICONV_LIB_PATH "${ICONV_LIBRARY}")
|
||||
CHECK_LIBRARY_EXISTS(iconv libiconv_open ${ICONV_LIB_PATH} ICONV_FOUND)
|
||||
IF(NOT ICONV_FOUND)
|
||||
CHECK_LIBRARY_EXISTS(iconv iconv_open ${ICONV_LIB_PATH} ICONV_FOUND)
|
||||
ENDIF(NOT ICONV_FOUND)
|
||||
ELSE(ICONV_LIBRARY)
|
||||
CHECK_FUNCTION_EXISTS(iconv_open ICONV_FOUND)
|
||||
ENDIF(ICONV_LIBRARY)
|
||||
ENDIF(ICONV_INCLUDE_PATH)
|
||||
|
||||
include(CheckCSourceCompiles)
|
||||
|
||||
if(ICONV_LIBRARY)
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARY})
|
||||
set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_PATH})
|
||||
endif()
|
||||
IF(ICONV_LIBRARY)
|
||||
SET(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARY})
|
||||
SET(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_PATH})
|
||||
ENDIF(ICONV_LIBRARY)
|
||||
|
||||
set(CMAKE_REQUIRED_FLAGS -Werror)
|
||||
SET(CMAKE_REQUIRED_FLAGS -Werror)
|
||||
check_c_source_compiles("
|
||||
#include <iconv.h>
|
||||
int main(){
|
||||
@@ -78,8 +78,7 @@ check_c_source_compiles("
|
||||
return 0;
|
||||
}
|
||||
" ICONV_2ARG_IS_CONST)
|
||||
|
||||
mark_as_advanced(
|
||||
MARK_AS_ADVANCED(
|
||||
ICONV_INCLUDE_PATH
|
||||
ICONV_LIBRARY
|
||||
ICONV_FOUND
|
||||
|
||||
+58
-10
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2003-2012 Sebastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
@@ -14,7 +14,7 @@
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Lua
|
||||
@@ -28,12 +28,60 @@
|
||||
#
|
||||
# LUA_FOUND = is liblua usable on system?
|
||||
|
||||
if(LUA_FOUND)
|
||||
# Already in cache, be silent
|
||||
set(LUA_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
IF(LUA_FOUND)
|
||||
# Already in cache, be silent
|
||||
SET(LUA_FIND_QUIETLY TRUE)
|
||||
ENDIF(LUA_FOUND)
|
||||
|
||||
find_package(PkgConfig)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_search_module(LUA lua5.4 lua-5.4 lua54 lua5.3 lua-5.3 lua53 lua5.2 lua-5.2 lua52 lua5.1 lua-5.1 lua51 lua-5.0 lua5.0 lua50 lua)
|
||||
endif()
|
||||
FIND_PATH(
|
||||
LUA51_INCLUDE_PATH lua.h
|
||||
PATHS /usr/include /usr/local/include /usr/pkg/include
|
||||
PATH_SUFFIXES lua51 lua5.1 lua-5.1
|
||||
)
|
||||
|
||||
FIND_LIBRARY(
|
||||
LUA51_LIBRARY NAMES lua51 lua5.1 lua-5.1 lua
|
||||
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
|
||||
PATH_SUFFIXES lua51 lua5.1 lua-5.1
|
||||
)
|
||||
|
||||
IF(LUA51_INCLUDE_PATH AND LUA51_LIBRARY)
|
||||
SET(LUA_INCLUDE_PATH "${LUA51_INCLUDE_PATH}")
|
||||
SET(LUA_LIBRARY "${LUA51_LIBRARY}")
|
||||
SET(LUA_VERSION "5.1")
|
||||
SET(LUA_FOUND TRUE)
|
||||
ELSE(LUA51_INCLUDE_PATH AND LUA51_LIBRARY)
|
||||
FIND_PATH(
|
||||
LUA50_INCLUDE_PATH lua.h
|
||||
PATHS /usr/include /usr/local/include /usr/pkg/include
|
||||
PATH_SUFFIXES lua50 lua5.0 lua-5.0 lua
|
||||
)
|
||||
|
||||
FIND_LIBRARY(
|
||||
LUA50_LIBRARY NAMES lua50 lua5.0 lua-5.0 lua
|
||||
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
|
||||
PATH_SUFFIXES lua50 lua5.0 lua-5.0 lua
|
||||
)
|
||||
|
||||
FIND_LIBRARY(
|
||||
LUALIB50_LIBRARY NAMES lualib50 lualib5.0 lualib-5.0 lualib
|
||||
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
|
||||
PATH_SUFFIXES lua50 lua5.0 lua-5.0 lua
|
||||
)
|
||||
|
||||
IF(LUA50_INCLUDE_PATH AND LUA50_LIBRARY AND LUALIB50_LIBRARY)
|
||||
SET(LUA_INCLUDE_PATH "${LUA50_INCLUDE_PATH}")
|
||||
SET(LUA_LIBRARY "${LUA50_LIBRARY}")
|
||||
SET(LUALIB_LIBRARY "${LUALIB50_LIBRARY}")
|
||||
SET(LUA_VERSION "5.0")
|
||||
SET(LUA_FOUND TRUE)
|
||||
ENDIF(LUA50_INCLUDE_PATH AND LUA50_LIBRARY AND LUALIB50_LIBRARY)
|
||||
ENDIF(LUA51_INCLUDE_PATH AND LUA51_LIBRARY)
|
||||
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
LUA_INCLUDE_PATH
|
||||
LUA_LIBRARY
|
||||
LUALIB_LIBRARY
|
||||
# LUA_VERSION
|
||||
)
|
||||
|
||||
+22
-31
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2003-2012 Sebastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
@@ -14,53 +14,44 @@
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
if(NCURSES_FOUND)
|
||||
set(NCURSES_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
IF(NCURSES_FOUND)
|
||||
SET(NCURSES_FIND_QUIETLY TRUE)
|
||||
ENDIF(NCURSES_FOUND)
|
||||
|
||||
find_path(NCURSES_INCLUDE_PATH
|
||||
FIND_PATH(NCURSES_INCLUDE_PATH
|
||||
NAMES ncurses.h curses.h
|
||||
PATH_SUFFIXES ncursesw ncurses
|
||||
PATHS /usr/include /usr/local/include /usr/pkg/include
|
||||
PATHS /usr/include/ncursesw /usr/include/ncurses /usr/include
|
||||
/usr/local/include/ncursesw /usr/local/include/ncurses /usr/local/include
|
||||
/usr/pkg/include/ncursesw /usr/pkg/include/ncurses /usr/pkg/include
|
||||
)
|
||||
|
||||
find_library(NCURSESW_LIBRARY
|
||||
FIND_LIBRARY(NCURSESW_LIBRARY
|
||||
NAMES ncursesw
|
||||
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
|
||||
)
|
||||
|
||||
if(NCURSESW_LIBRARY)
|
||||
find_package(PkgConfig QUIET)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_search_module(NCURSES ncursesw)
|
||||
set(NCURSESW_LIBRARY ${NCURSES_LIBRARIES} ${NCURSES_CFLAGS_OTHER})
|
||||
endif()
|
||||
set(NCURSES_LIBRARY ${NCURSESW_LIBRARY})
|
||||
else()
|
||||
find_library(NCURSES_LIBRARY
|
||||
IF (NCURSESW_LIBRARY)
|
||||
SET(NCURSES_LIBRARY ${NCURSESW_LIBRARY})
|
||||
ELSE(NCURSESW_LIBRARY)
|
||||
FIND_LIBRARY(NCURSES_LIBRARY
|
||||
NAMES ncurses
|
||||
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
|
||||
)
|
||||
find_package(PkgConfig QUIET)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_search_module(NCURSES ncurses)
|
||||
set(NCURSES_LIBRARY ${NCURSES_LIBRARIES} ${NCURSES_CFLAGS_OTHER})
|
||||
endif()
|
||||
if(NCURSES_LIBRARY)
|
||||
message("*** WARNING:\n"
|
||||
IF (NCURSES_LIBRARY)
|
||||
MESSAGE("*** WARNING:\n"
|
||||
"*** ncursesw library not found! Falling back to \"ncurses\"\n"
|
||||
"*** Be careful, UTF-8 display may not work properly if your locale is UTF-8.")
|
||||
endif()
|
||||
endif()
|
||||
ENDIF(NCURSES_LIBRARY)
|
||||
ENDIF(NCURSESW_LIBRARY)
|
||||
|
||||
if(NCURSES_INCLUDE_PATH AND NCURSES_LIBRARY)
|
||||
set(NCURSES_FOUND TRUE)
|
||||
endif()
|
||||
IF (NCURSES_INCLUDE_PATH AND NCURSES_LIBRARY)
|
||||
SET(NCURSES_FOUND TRUE)
|
||||
ENDIF(NCURSES_INCLUDE_PATH AND NCURSES_LIBRARY)
|
||||
|
||||
mark_as_advanced(
|
||||
MARK_AS_ADVANCED(
|
||||
NCURSES_INCLUDE_PATH
|
||||
NCURSES_LIBRARY
|
||||
)
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2017 Adam Saponara <as@php.net>
|
||||
# Copyright (C) 2017-2022 Sébastien Helleu <flashcode@flashtux.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 <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
if(PHP_FOUND)
|
||||
set(PHP_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
|
||||
find_package(PkgConfig)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_search_module(PHP php8 php7)
|
||||
endif()
|
||||
|
||||
if(NOT PHP_FOUND)
|
||||
find_program(PHP_CONFIG_EXECUTABLE NAMES
|
||||
php-config8.1 php-config81
|
||||
php-config8.0 php-config80
|
||||
php-config8
|
||||
php-config7.4 php-config74
|
||||
php-config7.3 php-config73
|
||||
php-config7.2 php-config72
|
||||
php-config7.1 php-config71
|
||||
php-config7.0 php-config70
|
||||
php-config7
|
||||
php-config
|
||||
)
|
||||
if (PHP_CONFIG_EXECUTABLE)
|
||||
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --prefix OUTPUT_VARIABLE PHP_LIB_PREFIX OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --includes OUTPUT_VARIABLE PHP_INCLUDE_DIRS OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --libs OUTPUT_VARIABLE PHP_LIBS OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --version OUTPUT_VARIABLE PHP_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
if(${PHP_VERSION} MATCHES "^[78]")
|
||||
find_library(PHP_LIB
|
||||
NAMES php8.1 php8.0 php8 php7.4 php7.3 php7.2 php7.1 php7.0 php7 php
|
||||
HINTS ${PHP_LIB_PREFIX} ${PHP_LIB_PREFIX}/lib ${PHP_LIB_PREFIX}/lib64
|
||||
)
|
||||
if(PHP_LIB)
|
||||
get_filename_component(PHP_LIB_DIR ${PHP_LIB} DIRECTORY)
|
||||
string(REPLACE "-I" "" PHP_INCLUDE_DIRS ${PHP_INCLUDE_DIRS})
|
||||
SEPARATE_ARGUMENTS(PHP_INCLUDE_DIRS)
|
||||
set(PHP_LDFLAGS "-L${PHP_LIB_DIR} ${PHP_LIBS}")
|
||||
set(PHP_FOUND 1)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT PHP_FOUND)
|
||||
message(WARNING "Could not find libphp. "
|
||||
"Ensure PHP >=7.0.0 development libraries are installed and compiled with `--enable-embed`. "
|
||||
"Ensure `php-config` is in `PATH`. "
|
||||
"You may set `-DCMAKE_LIBRARY_PATH=...` to the directory containing libphp."
|
||||
)
|
||||
endif()
|
||||
@@ -0,0 +1,260 @@
|
||||
# FIND_PACKAGE_HANDLE_STANDARD_ARGS(<name> ... )
|
||||
#
|
||||
# This function is intended to be used in FindXXX.cmake modules files.
|
||||
# It handles the REQUIRED, QUIET and version-related arguments to FIND_PACKAGE().
|
||||
# It also sets the <UPPERCASED_NAME>_FOUND variable.
|
||||
# The package is considered found if all variables <var1>... listed contain
|
||||
# valid results, e.g. valid filepaths.
|
||||
#
|
||||
# There are two modes of this function. The first argument in both modes is
|
||||
# the name of the Find-module where it is called (in original casing).
|
||||
#
|
||||
# The first simple mode looks like this:
|
||||
# FIND_PACKAGE_HANDLE_STANDARD_ARGS(<name> (DEFAULT_MSG|"Custom failure message") <var1>...<varN> )
|
||||
# If the variables <var1> to <varN> are all valid, then <UPPERCASED_NAME>_FOUND
|
||||
# will be set to TRUE.
|
||||
# If DEFAULT_MSG is given as second argument, then the function will generate
|
||||
# itself useful success and error messages. You can also supply a custom error message
|
||||
# for the failure case. This is not recommended.
|
||||
#
|
||||
# The second mode is more powerful and also supports version checking:
|
||||
# FIND_PACKAGE_HANDLE_STANDARD_ARGS(NAME [REQUIRED_VARS <var1>...<varN>]
|
||||
# [VERSION_VAR <versionvar>
|
||||
# [CONFIG_MODE]
|
||||
# [FAIL_MESSAGE "Custom failure message"] )
|
||||
#
|
||||
# As above, if <var1> through <varN> are all valid, <UPPERCASED_NAME>_FOUND
|
||||
# will be set to TRUE.
|
||||
# After REQUIRED_VARS the variables which are required for this package are listed.
|
||||
# Following VERSION_VAR the name of the variable can be specified which holds
|
||||
# the version of the package which has been found. If this is done, this version
|
||||
# will be checked against the (potentially) specified required version used
|
||||
# in the find_package() call. The EXACT keyword is also handled. The default
|
||||
# messages include information about the required version and the version
|
||||
# which has been actually found, both if the version is ok or not.
|
||||
# Use the option CONFIG_MODE if your FindXXX.cmake module is a wrapper for
|
||||
# a find_package(... NO_MODULE) call, in this case all the information
|
||||
# provided by the config-mode of find_package() will be evaluated
|
||||
# automatically.
|
||||
# Via FAIL_MESSAGE a custom failure message can be specified, if this is not
|
||||
# used, the default message will be displayed.
|
||||
#
|
||||
# Example for mode 1:
|
||||
#
|
||||
# FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXml2 DEFAULT_MSG LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)
|
||||
#
|
||||
# LibXml2 is considered to be found, if both LIBXML2_LIBRARY and
|
||||
# LIBXML2_INCLUDE_DIR are valid. Then also LIBXML2_FOUND is set to TRUE.
|
||||
# If it is not found and REQUIRED was used, it fails with FATAL_ERROR,
|
||||
# independent whether QUIET was used or not.
|
||||
# If it is found, success will be reported, including the content of <var1>.
|
||||
# On repeated Cmake runs, the same message won't be printed again.
|
||||
#
|
||||
# Example for mode 2:
|
||||
#
|
||||
# FIND_PACKAGE_HANDLE_STANDARD_ARGS(BISON REQUIRED_VARS BISON_EXECUTABLE
|
||||
# VERSION_VAR BISON_VERSION)
|
||||
# In this case, BISON is considered to be found if the variable(s) listed
|
||||
# after REQUIRED_VAR are all valid, i.e. BISON_EXECUTABLE in this case.
|
||||
# Also the version of BISON will be checked by using the version contained
|
||||
# in BISON_VERSION.
|
||||
# Since no FAIL_MESSAGE is given, the default messages will be printed.
|
||||
#
|
||||
# Another example for mode 2:
|
||||
#
|
||||
# FIND_PACKAGE(Automoc4 QUIET NO_MODULE HINTS /opt/automoc4)
|
||||
# FIND_PACKAGE_HANDLE_STANDARD_ARGS(Automoc4 CONFIG_MODE)
|
||||
# In this case, FindAutmoc4.cmake wraps a call to FIND_PACKAGE(Automoc4 NO_MODULE)
|
||||
# and adds an additional search directory for automoc4.
|
||||
# The following FIND_PACKAGE_HANDLE_STANDARD_ARGS() call produces a proper
|
||||
# success/error message.
|
||||
|
||||
#=============================================================================
|
||||
# Copyright 2007-2009 Kitware, Inc.
|
||||
#
|
||||
# Distributed under the OSI-approved BSD License (the "License");
|
||||
# see accompanying file Copyright.txt for details.
|
||||
#
|
||||
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
# See the License for more information.
|
||||
#=============================================================================
|
||||
# (To distribute this file outside of CMake, substitute the full
|
||||
# License text for the above reference.)
|
||||
|
||||
INCLUDE(FindPackageMessage)
|
||||
INCLUDE(CMakeParseArguments)
|
||||
|
||||
# internal helper macro
|
||||
MACRO(_FPHSA_FAILURE_MESSAGE _msg)
|
||||
IF (${_NAME}_FIND_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR "${_msg}")
|
||||
ELSE (${_NAME}_FIND_REQUIRED)
|
||||
IF (NOT ${_NAME}_FIND_QUIETLY)
|
||||
MESSAGE(STATUS "${_msg}")
|
||||
ENDIF (NOT ${_NAME}_FIND_QUIETLY)
|
||||
ENDIF (${_NAME}_FIND_REQUIRED)
|
||||
ENDMACRO(_FPHSA_FAILURE_MESSAGE _msg)
|
||||
|
||||
|
||||
# internal helper macro to generate the failure message when used in CONFIG_MODE:
|
||||
MACRO(_FPHSA_HANDLE_FAILURE_CONFIG_MODE)
|
||||
# <name>_CONFIG is set, but FOUND is false, this means that some other of the REQUIRED_VARS was not found:
|
||||
IF(${_NAME}_CONFIG)
|
||||
_FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: missing: ${MISSING_VARS} (found ${${_NAME}_CONFIG} ${VERSION_MSG})")
|
||||
ELSE(${_NAME}_CONFIG)
|
||||
# If _CONSIDERED_CONFIGS is set, the config-file has been found, but no suitable version.
|
||||
# List them all in the error message:
|
||||
IF(${_NAME}_CONSIDERED_CONFIGS)
|
||||
SET(configsText "")
|
||||
LIST(LENGTH ${_NAME}_CONSIDERED_CONFIGS configsCount)
|
||||
MATH(EXPR configsCount "${configsCount} - 1")
|
||||
FOREACH(currentConfigIndex RANGE ${configsCount})
|
||||
LIST(GET ${_NAME}_CONSIDERED_CONFIGS ${currentConfigIndex} filename)
|
||||
LIST(GET ${_NAME}_CONSIDERED_VERSIONS ${currentConfigIndex} version)
|
||||
SET(configsText "${configsText} ${filename} (version ${version})\n")
|
||||
ENDFOREACH(currentConfigIndex)
|
||||
_FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} ${VERSION_MSG}, checked the following files:\n${configsText}")
|
||||
|
||||
ELSE(${_NAME}_CONSIDERED_CONFIGS)
|
||||
# Simple case: No Config-file was found at all:
|
||||
_FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: found neither ${_NAME}Config.cmake nor ${_NAME_LOWER}-config.cmake ${VERSION_MSG}")
|
||||
ENDIF(${_NAME}_CONSIDERED_CONFIGS)
|
||||
ENDIF(${_NAME}_CONFIG)
|
||||
ENDMACRO(_FPHSA_HANDLE_FAILURE_CONFIG_MODE)
|
||||
|
||||
|
||||
FUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG)
|
||||
|
||||
# set up the arguments for CMAKE_PARSE_ARGUMENTS and check whether we are in
|
||||
# new extended or in the "old" mode:
|
||||
SET(options CONFIG_MODE)
|
||||
SET(oneValueArgs FAIL_MESSAGE VERSION_VAR)
|
||||
SET(multiValueArgs REQUIRED_VARS)
|
||||
SET(_KEYWORDS_FOR_EXTENDED_MODE ${options} ${oneValueArgs} ${multiValueArgs} )
|
||||
LIST(FIND _KEYWORDS_FOR_EXTENDED_MODE "${_FIRST_ARG}" INDEX)
|
||||
|
||||
IF(${INDEX} EQUAL -1)
|
||||
SET(FPHSA_FAIL_MESSAGE ${_FIRST_ARG})
|
||||
SET(FPHSA_REQUIRED_VARS ${ARGN})
|
||||
SET(FPHSA_VERSION_VAR)
|
||||
ELSE(${INDEX} EQUAL -1)
|
||||
|
||||
CMAKE_PARSE_ARGUMENTS(FPHSA "${options}" "${oneValueArgs}" "${multiValueArgs}" ${_FIRST_ARG} ${ARGN})
|
||||
|
||||
IF(FPHSA_UNPARSED_ARGUMENTS)
|
||||
MESSAGE(FATAL_ERROR "Unknown keywords given to FIND_PACKAGE_HANDLE_STANDARD_ARGS(): \"${FPHSA_UNPARSED_ARGUMENTS}\"")
|
||||
ENDIF(FPHSA_UNPARSED_ARGUMENTS)
|
||||
|
||||
IF(NOT FPHSA_FAIL_MESSAGE)
|
||||
SET(FPHSA_FAIL_MESSAGE "DEFAULT_MSG")
|
||||
ENDIF(NOT FPHSA_FAIL_MESSAGE)
|
||||
ENDIF(${INDEX} EQUAL -1)
|
||||
|
||||
# now that we collected all arguments, process them
|
||||
|
||||
IF("${FPHSA_FAIL_MESSAGE}" STREQUAL "DEFAULT_MSG")
|
||||
SET(FPHSA_FAIL_MESSAGE "Could NOT find ${_NAME}")
|
||||
ENDIF("${FPHSA_FAIL_MESSAGE}" STREQUAL "DEFAULT_MSG")
|
||||
|
||||
# In config-mode, we rely on the variable <package>_CONFIG, which is set by find_package()
|
||||
# when it successfully found the config-file, including version checking:
|
||||
IF(FPHSA_CONFIG_MODE)
|
||||
LIST(INSERT FPHSA_REQUIRED_VARS 0 ${_NAME}_CONFIG)
|
||||
LIST(REMOVE_DUPLICATES FPHSA_REQUIRED_VARS)
|
||||
SET(FPHSA_VERSION_VAR ${_NAME}_VERSION)
|
||||
ENDIF(FPHSA_CONFIG_MODE)
|
||||
|
||||
IF(NOT FPHSA_REQUIRED_VARS)
|
||||
MESSAGE(FATAL_ERROR "No REQUIRED_VARS specified for FIND_PACKAGE_HANDLE_STANDARD_ARGS()")
|
||||
ENDIF(NOT FPHSA_REQUIRED_VARS)
|
||||
|
||||
LIST(GET FPHSA_REQUIRED_VARS 0 _FIRST_REQUIRED_VAR)
|
||||
|
||||
STRING(TOUPPER ${_NAME} _NAME_UPPER)
|
||||
STRING(TOLOWER ${_NAME} _NAME_LOWER)
|
||||
|
||||
# collect all variables which were not found, so they can be printed, so the
|
||||
# user knows better what went wrong (#6375)
|
||||
SET(MISSING_VARS "")
|
||||
SET(DETAILS "")
|
||||
SET(${_NAME_UPPER}_FOUND TRUE)
|
||||
# check if all passed variables are valid
|
||||
FOREACH(_CURRENT_VAR ${FPHSA_REQUIRED_VARS})
|
||||
IF(NOT ${_CURRENT_VAR})
|
||||
SET(${_NAME_UPPER}_FOUND FALSE)
|
||||
SET(MISSING_VARS "${MISSING_VARS} ${_CURRENT_VAR}")
|
||||
ELSE(NOT ${_CURRENT_VAR})
|
||||
SET(DETAILS "${DETAILS}[${${_CURRENT_VAR}}]")
|
||||
ENDIF(NOT ${_CURRENT_VAR})
|
||||
ENDFOREACH(_CURRENT_VAR)
|
||||
|
||||
|
||||
# version handling:
|
||||
SET(VERSION_MSG "")
|
||||
SET(VERSION_OK TRUE)
|
||||
SET(VERSION ${${FPHSA_VERSION_VAR}} )
|
||||
IF (${_NAME}_FIND_VERSION)
|
||||
|
||||
IF(VERSION)
|
||||
|
||||
IF(${_NAME}_FIND_VERSION_EXACT) # exact version required
|
||||
IF (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}")
|
||||
SET(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is exact version \"${${_NAME}_FIND_VERSION}\"")
|
||||
SET(VERSION_OK FALSE)
|
||||
ELSE (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}")
|
||||
SET(VERSION_MSG "(found suitable exact version \"${VERSION}\")")
|
||||
ENDIF (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}")
|
||||
|
||||
ELSE(${_NAME}_FIND_VERSION_EXACT) # minimum version specified:
|
||||
IF ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}")
|
||||
SET(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is at least \"${${_NAME}_FIND_VERSION}\"")
|
||||
SET(VERSION_OK FALSE)
|
||||
ELSE ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}")
|
||||
SET(VERSION_MSG "(found suitable version \"${VERSION}\", required is \"${${_NAME}_FIND_VERSION}\")")
|
||||
ENDIF ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}")
|
||||
ENDIF(${_NAME}_FIND_VERSION_EXACT)
|
||||
|
||||
ELSE(VERSION)
|
||||
|
||||
# if the package was not found, but a version was given, add that to the output:
|
||||
IF(${_NAME}_FIND_VERSION_EXACT)
|
||||
SET(VERSION_MSG "(Required is exact version \"${${_NAME}_FIND_VERSION}\")")
|
||||
ELSE(${_NAME}_FIND_VERSION_EXACT)
|
||||
SET(VERSION_MSG "(Required is at least version \"${${_NAME}_FIND_VERSION}\")")
|
||||
ENDIF(${_NAME}_FIND_VERSION_EXACT)
|
||||
|
||||
ENDIF(VERSION)
|
||||
ELSE (${_NAME}_FIND_VERSION)
|
||||
IF(VERSION)
|
||||
SET(VERSION_MSG "(found version \"${VERSION}\")")
|
||||
ENDIF(VERSION)
|
||||
ENDIF (${_NAME}_FIND_VERSION)
|
||||
|
||||
IF(VERSION_OK)
|
||||
SET(DETAILS "${DETAILS}[v${VERSION}(${${_NAME}_FIND_VERSION})]")
|
||||
ELSE(VERSION_OK)
|
||||
SET(${_NAME_UPPER}_FOUND FALSE)
|
||||
ENDIF(VERSION_OK)
|
||||
|
||||
|
||||
# print the result:
|
||||
IF (${_NAME_UPPER}_FOUND)
|
||||
FIND_PACKAGE_MESSAGE(${_NAME} "Found ${_NAME}: ${${_FIRST_REQUIRED_VAR}} ${VERSION_MSG}" "${DETAILS}")
|
||||
ELSE (${_NAME_UPPER}_FOUND)
|
||||
|
||||
IF(FPHSA_CONFIG_MODE)
|
||||
_FPHSA_HANDLE_FAILURE_CONFIG_MODE()
|
||||
ELSE(FPHSA_CONFIG_MODE)
|
||||
IF(NOT VERSION_OK)
|
||||
_FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: ${VERSION_MSG} (found ${${_FIRST_REQUIRED_VAR}})")
|
||||
ELSE(NOT VERSION_OK)
|
||||
_FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} (missing: ${MISSING_VARS}) ${VERSION_MSG}")
|
||||
ENDIF(NOT VERSION_OK)
|
||||
ENDIF(FPHSA_CONFIG_MODE)
|
||||
|
||||
ENDIF (${_NAME_UPPER}_FOUND)
|
||||
|
||||
SET(${_NAME_UPPER}_FOUND ${${_NAME_UPPER}_FOUND} PARENT_SCOPE)
|
||||
|
||||
ENDFUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _FIRST_ARG)
|
||||
+29
-28
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2003-2012 Sebastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
@@ -14,7 +14,7 @@
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Perl libraries
|
||||
@@ -28,57 +28,58 @@
|
||||
# PERL_CFLAGS = perl compiler options for compiling
|
||||
# PERL_LFLAGS = perl compiler options for linking
|
||||
|
||||
if(PERL_FOUND)
|
||||
# Already in cache, be silent
|
||||
set(PERL_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
IF(PERL_FOUND)
|
||||
# Already in cache, be silent
|
||||
SET(PERL_FIND_QUIETLY TRUE)
|
||||
ENDIF(PERL_FOUND)
|
||||
|
||||
find_program(PERL_EXECUTABLE
|
||||
FIND_PROGRAM(PERL_EXECUTABLE
|
||||
NAMES perl perl5
|
||||
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
|
||||
)
|
||||
)
|
||||
|
||||
if(PERL_EXECUTABLE)
|
||||
IF(PERL_EXECUTABLE)
|
||||
|
||||
execute_process(
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \"\$Config{archlibexp}/CORE\""
|
||||
OUTPUT_VARIABLE PERL_INTERNAL_DIR
|
||||
)
|
||||
)
|
||||
|
||||
execute_process(
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${PERL_EXECUTABLE} -MExtUtils::Embed -e ccopts
|
||||
OUTPUT_VARIABLE PERL_CFLAGS
|
||||
)
|
||||
)
|
||||
|
||||
execute_process(
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${PERL_EXECUTABLE} -MExtUtils::Embed -e ldopts
|
||||
OUTPUT_VARIABLE PERL_LFLAGS
|
||||
)
|
||||
)
|
||||
|
||||
# remove the new lines from the output by replacing them with empty strings
|
||||
string(REPLACE "\n" "" PERL_INTERNAL_DIR "${PERL_INTERNAL_DIR}")
|
||||
string(REPLACE "\n" "" PERL_CFLAGS "${PERL_CFLAGS}")
|
||||
string(REPLACE "\n" "" PERL_LFLAGS "${PERL_LFLAGS}")
|
||||
STRING(REPLACE "\n" "" PERL_INTERNAL_DIR "${PERL_INTERNAL_DIR}")
|
||||
STRING(REPLACE "\n" "" PERL_CFLAGS "${PERL_CFLAGS}")
|
||||
STRING(REPLACE "\n" "" PERL_LFLAGS "${PERL_LFLAGS}")
|
||||
|
||||
find_path(PERL_INCLUDE_PATH
|
||||
FIND_PATH(PERL_INCLUDE_PATH
|
||||
NAMES perl.h
|
||||
PATHS ${PERL_INTERNAL_DIR}
|
||||
)
|
||||
)
|
||||
|
||||
find_library(PERL_LIBRARY
|
||||
FIND_LIBRARY(PERL_LIBRARY
|
||||
NAMES perl
|
||||
PATHS /usr/lib /usr/local/lib /usr/pkg/lib ${PERL_INTERNAL_DIR}
|
||||
)
|
||||
)
|
||||
|
||||
if(PERL_LIBRARY AND PERL_INCLUDE_PATH)
|
||||
set(PERL_FOUND TRUE)
|
||||
endif()
|
||||
IF(PERL_LIBRARY AND PERL_INCLUDE_PATH)
|
||||
SET(PERL_FOUND TRUE)
|
||||
ENDIF(PERL_LIBRARY AND PERL_INCLUDE_PATH)
|
||||
|
||||
mark_as_advanced(
|
||||
MARK_AS_ADVANCED(
|
||||
PERL_EXECUTABLE
|
||||
PERL_INCLUDE_PATH
|
||||
PERL_LIBRARY
|
||||
PERL_CFLAGS
|
||||
PERL_LFLAGS
|
||||
)
|
||||
endif()
|
||||
)
|
||||
ENDIF(PERL_EXECUTABLE)
|
||||
|
||||
|
||||
+185
-597
@@ -1,60 +1,117 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
# - a pkg-config module for CMake
|
||||
#
|
||||
# Usage:
|
||||
# pkg_check_modules(<PREFIX> [REQUIRED] <MODULE> [<MODULE>]*)
|
||||
# checks for all the given modules
|
||||
#
|
||||
# pkg_search_module(<PREFIX> [REQUIRED] <MODULE> [<MODULE>]*)
|
||||
# checks for given modules and uses the first working one
|
||||
#
|
||||
# When the 'REQUIRED' argument was set, macros will fail with an error
|
||||
# when module(s) could not be found
|
||||
#
|
||||
# It sets the following variables:
|
||||
# PKG_CONFIG_FOUND ... true iff pkg-config works on the system
|
||||
# PKG_CONFIG_EXECUTABLE ... pathname of the pkg-config program
|
||||
# <PREFIX>_FOUND ... set to 1 iff module(s) exist
|
||||
#
|
||||
# For the following variables two sets of values exist; first one is the
|
||||
# common one and has the given PREFIX. The second set contains flags
|
||||
# which are given out when pkgconfig was called with the '--static'
|
||||
# option.
|
||||
# <XPREFIX>_LIBRARIES ... only the libraries (w/o the '-l')
|
||||
# <XPREFIX>_LIBRARY_DIRS ... the paths of the libraries (w/o the '-L')
|
||||
# <XPREFIX>_LDFLAGS ... all required linker flags
|
||||
# <XPREFIX>_LDFLAGS_OTHER ... all other linker flags
|
||||
# <XPREFIX>_INCLUDE_DIRS ... the '-I' preprocessor flags (w/o the '-I')
|
||||
# <XPREFIX>_CFLAGS ... all required cflags
|
||||
# <XPREFIX>_CFLAGS_OTHER ... the other compiler flags
|
||||
#
|
||||
# <XPREFIX> = <PREFIX> for common case
|
||||
# <XPREFIX> = <PREFIX>_STATIC for static linking
|
||||
#
|
||||
# There are some special variables whose prefix depends on the count
|
||||
# of given modules. When there is only one module, <PREFIX> stays
|
||||
# unchanged. When there are multiple modules, the prefix will be
|
||||
# changed to <PREFIX>_<MODNAME>:
|
||||
# <XPREFIX>_VERSION ... version of the module
|
||||
# <XPREFIX>_PREFIX ... prefix-directory of the module
|
||||
# <XPREFIX>_INCLUDEDIR ... include-dir of the module
|
||||
# <XPREFIX>_LIBDIR ... lib-dir of the module
|
||||
#
|
||||
# <XPREFIX> = <PREFIX> when |MODULES| == 1, else
|
||||
# <XPREFIX> = <PREFIX>_<MODNAME>
|
||||
#
|
||||
# A <MODULE> parameter can have the following formats:
|
||||
# {MODNAME} ... matches any version
|
||||
# {MODNAME}>={VERSION} ... at least version <VERSION> is required
|
||||
# {MODNAME}={VERSION} ... exactly version <VERSION> is required
|
||||
# {MODNAME}<={VERSION} ... modules must not be newer than <VERSION>
|
||||
#
|
||||
# Examples
|
||||
# pkg_check_modules (GLIB2 glib-2.0)
|
||||
#
|
||||
# pkg_check_modules (GLIB2 glib-2.0>=2.10)
|
||||
# requires at least version 2.10 of glib2 and defines e.g.
|
||||
# GLIB2_VERSION=2.10.3
|
||||
#
|
||||
# pkg_check_modules (FOO glib-2.0>=2.10 gtk+-2.0)
|
||||
# requires both glib2 and gtk2, and defines e.g.
|
||||
# FOO_glib-2.0_VERSION=2.10.3
|
||||
# FOO_gtk+-2.0_VERSION=2.8.20
|
||||
#
|
||||
# pkg_check_modules (XRENDER REQUIRED xrender)
|
||||
# defines e.g.:
|
||||
# XRENDER_LIBRARIES=Xrender;X11
|
||||
# XRENDER_STATIC_LIBRARIES=Xrender;X11;pthread;Xau;Xdmcp
|
||||
#
|
||||
# pkg_search_module (BAR libxml-2.0 libxml2 libxml>=2)
|
||||
|
||||
#[========================================[.rst:
|
||||
FindPkgConfig
|
||||
-------------
|
||||
|
||||
A ``pkg-config`` module for CMake.
|
||||
# Copyright (C) 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
|
||||
#
|
||||
# Redistribution and use, with or without modification, are permitted
|
||||
# provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# 2. The name of the author may not be used to endorse or promote
|
||||
# products derived from this software without specific prior
|
||||
# written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
||||
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
||||
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Finds the ``pkg-config`` executable and adds the :command:`pkg_get_variable`,
|
||||
:command:`pkg_check_modules` and :command:`pkg_search_module` commands. The
|
||||
following variables will also be set:
|
||||
|
||||
``PKG_CONFIG_FOUND``
|
||||
if pkg-config executable was found
|
||||
``PKG_CONFIG_EXECUTABLE``
|
||||
pathname of the pkg-config program
|
||||
``PKG_CONFIG_VERSION_STRING``
|
||||
version of pkg-config (since CMake 2.8.8)
|
||||
|
||||
#]========================================]
|
||||
|
||||
### Common stuff ####
|
||||
set(PKG_CONFIG_VERSION 1)
|
||||
set(PKG_CONFIG_FOUND 0)
|
||||
|
||||
# find pkg-config, use PKG_CONFIG if set
|
||||
if((NOT PKG_CONFIG_EXECUTABLE) AND (NOT "$ENV{PKG_CONFIG}" STREQUAL ""))
|
||||
set(PKG_CONFIG_EXECUTABLE "$ENV{PKG_CONFIG}" CACHE FILEPATH "pkg-config executable")
|
||||
endif()
|
||||
find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config DOC "pkg-config executable")
|
||||
mark_as_advanced(PKG_CONFIG_EXECUTABLE)
|
||||
|
||||
if (PKG_CONFIG_EXECUTABLE)
|
||||
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --version
|
||||
OUTPUT_VARIABLE PKG_CONFIG_VERSION_STRING
|
||||
ERROR_QUIET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
endif ()
|
||||
if(PKG_CONFIG_EXECUTABLE)
|
||||
set(PKG_CONFIG_FOUND 1)
|
||||
endif(PKG_CONFIG_EXECUTABLE)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(PkgConfig
|
||||
REQUIRED_VARS PKG_CONFIG_EXECUTABLE
|
||||
VERSION_VAR PKG_CONFIG_VERSION_STRING)
|
||||
|
||||
# This is needed because the module name is "PkgConfig" but the name of
|
||||
# this variable has always been PKG_CONFIG_FOUND so this isn't automatically
|
||||
# handled by FPHSA.
|
||||
set(PKG_CONFIG_FOUND "${PKGCONFIG_FOUND}")
|
||||
|
||||
# Unsets the given variables
|
||||
macro(_pkgconfig_unset var)
|
||||
set(${var} "" CACHE INTERNAL "")
|
||||
endmacro()
|
||||
endmacro(_pkgconfig_unset)
|
||||
|
||||
macro(_pkgconfig_set var value)
|
||||
set(${var} ${value} CACHE INTERNAL "")
|
||||
endmacro()
|
||||
endmacro(_pkgconfig_set)
|
||||
|
||||
# Invokes pkgconfig, cleans up the result and sets variables
|
||||
macro(_pkgconfig_invoke _pkglist _prefix _varname _regexp)
|
||||
@@ -63,311 +120,55 @@ macro(_pkgconfig_invoke _pkglist _prefix _varname _regexp)
|
||||
execute_process(
|
||||
COMMAND ${PKG_CONFIG_EXECUTABLE} ${ARGN} ${_pkglist}
|
||||
OUTPUT_VARIABLE _pkgconfig_invoke_result
|
||||
RESULT_VARIABLE _pkgconfig_failed
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
RESULT_VARIABLE _pkgconfig_failed)
|
||||
|
||||
if (_pkgconfig_failed)
|
||||
set(_pkgconfig_${_varname} "")
|
||||
_pkgconfig_unset(${_prefix}_${_varname})
|
||||
else()
|
||||
string(REGEX REPLACE "[\r\n]" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
|
||||
else(_pkgconfig_failed)
|
||||
string(REGEX REPLACE "[\r\n]" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
|
||||
string(REGEX REPLACE " +$" "" _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
|
||||
|
||||
if (NOT ${_regexp} STREQUAL "")
|
||||
string(REGEX REPLACE "${_regexp}" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
|
||||
endif()
|
||||
endif(NOT ${_regexp} STREQUAL "")
|
||||
|
||||
separate_arguments(_pkgconfig_invoke_result)
|
||||
|
||||
#message(STATUS " ${_varname} ... ${_pkgconfig_invoke_result}")
|
||||
set(_pkgconfig_${_varname} ${_pkgconfig_invoke_result})
|
||||
_pkgconfig_set(${_prefix}_${_varname} "${_pkgconfig_invoke_result}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
# Internal version of pkg_get_variable; expects PKG_CONFIG_PATH to already be set
|
||||
function (_pkg_get_variable result pkg variable)
|
||||
_pkgconfig_invoke("${pkg}" "prefix" "result" "" "--variable=${variable}")
|
||||
set("${result}"
|
||||
"${prefix_result}"
|
||||
PARENT_SCOPE)
|
||||
endfunction ()
|
||||
endif(_pkgconfig_failed)
|
||||
endmacro(_pkgconfig_invoke)
|
||||
|
||||
# Invokes pkgconfig two times; once without '--static' and once with
|
||||
# '--static'
|
||||
macro(_pkgconfig_invoke_dyn _pkglist _prefix _varname cleanup_regexp)
|
||||
_pkgconfig_invoke("${_pkglist}" ${_prefix} ${_varname} "${cleanup_regexp}" ${ARGN})
|
||||
_pkgconfig_invoke("${_pkglist}" ${_prefix} STATIC_${_varname} "${cleanup_regexp}" --static ${ARGN})
|
||||
endmacro()
|
||||
endmacro(_pkgconfig_invoke_dyn)
|
||||
|
||||
# Splits given arguments into options and a package list
|
||||
macro(_pkgconfig_parse_options _result _is_req _is_silent _no_cmake_path _no_cmake_environment_path _imp_target _imp_target_global)
|
||||
macro(_pkgconfig_parse_options _result _is_req)
|
||||
set(${_is_req} 0)
|
||||
set(${_is_silent} 0)
|
||||
set(${_no_cmake_path} 0)
|
||||
set(${_no_cmake_environment_path} 0)
|
||||
set(${_imp_target} 0)
|
||||
set(${_imp_target_global} 0)
|
||||
if(DEFINED PKG_CONFIG_USE_CMAKE_PREFIX_PATH)
|
||||
if(NOT PKG_CONFIG_USE_CMAKE_PREFIX_PATH)
|
||||
set(${_no_cmake_path} 1)
|
||||
set(${_no_cmake_environment_path} 1)
|
||||
endif()
|
||||
elseif(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 3.1)
|
||||
set(${_no_cmake_path} 1)
|
||||
set(${_no_cmake_environment_path} 1)
|
||||
endif()
|
||||
|
||||
foreach(_pkg ${ARGN})
|
||||
if (_pkg STREQUAL "REQUIRED")
|
||||
set(${_is_req} 1)
|
||||
endif ()
|
||||
if (_pkg STREQUAL "QUIET")
|
||||
set(${_is_silent} 1)
|
||||
endif ()
|
||||
if (_pkg STREQUAL "NO_CMAKE_PATH")
|
||||
set(${_no_cmake_path} 1)
|
||||
endif()
|
||||
if (_pkg STREQUAL "NO_CMAKE_ENVIRONMENT_PATH")
|
||||
set(${_no_cmake_environment_path} 1)
|
||||
endif()
|
||||
if (_pkg STREQUAL "IMPORTED_TARGET")
|
||||
set(${_imp_target} 1)
|
||||
endif()
|
||||
if (_pkg STREQUAL "GLOBAL")
|
||||
set(${_imp_target_global} 1)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if (${_imp_target_global} AND NOT ${_imp_target})
|
||||
message(SEND_ERROR "the argument GLOBAL may only be used together with IMPORTED_TARGET")
|
||||
endif()
|
||||
endif (_pkg STREQUAL "REQUIRED")
|
||||
endforeach(_pkg ${ARGN})
|
||||
|
||||
set(${_result} ${ARGN})
|
||||
list(REMOVE_ITEM ${_result} "REQUIRED")
|
||||
list(REMOVE_ITEM ${_result} "QUIET")
|
||||
list(REMOVE_ITEM ${_result} "NO_CMAKE_PATH")
|
||||
list(REMOVE_ITEM ${_result} "NO_CMAKE_ENVIRONMENT_PATH")
|
||||
list(REMOVE_ITEM ${_result} "IMPORTED_TARGET")
|
||||
list(REMOVE_ITEM ${_result} "GLOBAL")
|
||||
endmacro()
|
||||
|
||||
# Add the content of a variable or an environment variable to a list of
|
||||
# paths
|
||||
# Usage:
|
||||
# - _pkgconfig_add_extra_path(_extra_paths VAR)
|
||||
# - _pkgconfig_add_extra_path(_extra_paths ENV VAR)
|
||||
function(_pkgconfig_add_extra_path _extra_paths_var _var)
|
||||
set(_is_env 0)
|
||||
if(ARGC GREATER 2 AND _var STREQUAL "ENV")
|
||||
set(_var ${ARGV2})
|
||||
set(_is_env 1)
|
||||
endif()
|
||||
if(NOT _is_env)
|
||||
if(NOT "${${_var}}" STREQUAL "")
|
||||
list(APPEND ${_extra_paths_var} ${${_var}})
|
||||
endif()
|
||||
else()
|
||||
if(NOT "$ENV{${_var}}" STREQUAL "")
|
||||
file(TO_CMAKE_PATH "$ENV{${_var}}" _path)
|
||||
list(APPEND ${_extra_paths_var} ${_path})
|
||||
unset(_path)
|
||||
endif()
|
||||
endif()
|
||||
set(${_extra_paths_var} ${${_extra_paths_var}} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
# scan the LDFLAGS returned by pkg-config for library directories and
|
||||
# libraries, figure out the absolute paths of that libraries in the
|
||||
# given directories
|
||||
function(_pkg_find_libs _prefix _no_cmake_path _no_cmake_environment_path)
|
||||
unset(_libs)
|
||||
unset(_find_opts)
|
||||
|
||||
# set the options that are used as long as the .pc file does not provide a library
|
||||
# path to look into
|
||||
if(_no_cmake_path)
|
||||
list(APPEND _find_opts "NO_CMAKE_PATH")
|
||||
endif()
|
||||
if(_no_cmake_environment_path)
|
||||
list(APPEND _find_opts "NO_CMAKE_ENVIRONMENT_PATH")
|
||||
endif()
|
||||
|
||||
unset(_search_paths)
|
||||
foreach (flag IN LISTS ${_prefix}_LDFLAGS)
|
||||
if (flag MATCHES "^-L(.*)")
|
||||
list(APPEND _search_paths ${CMAKE_MATCH_1})
|
||||
continue()
|
||||
endif()
|
||||
if (flag MATCHES "^-l(.*)")
|
||||
set(_pkg_search "${CMAKE_MATCH_1}")
|
||||
else()
|
||||
continue()
|
||||
endif()
|
||||
|
||||
if(_search_paths)
|
||||
# Firstly search in -L paths
|
||||
find_library(pkgcfg_lib_${_prefix}_${_pkg_search}
|
||||
NAMES ${_pkg_search}
|
||||
HINTS ${_search_paths} NO_DEFAULT_PATH)
|
||||
endif()
|
||||
find_library(pkgcfg_lib_${_prefix}_${_pkg_search}
|
||||
NAMES ${_pkg_search}
|
||||
${_find_opts})
|
||||
mark_as_advanced(pkgcfg_lib_${_prefix}_${_pkg_search})
|
||||
if(pkgcfg_lib_${_prefix}_${_pkg_search})
|
||||
list(APPEND _libs "${pkgcfg_lib_${_prefix}_${_pkg_search}}")
|
||||
else()
|
||||
list(APPEND _libs ${_pkg_search})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
set(${_prefix}_LINK_LIBRARIES "${_libs}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
# create an imported target from all the information returned by pkg-config
|
||||
function(_pkg_create_imp_target _prefix _imp_target_global)
|
||||
# only create the target if it is linkable, i.e. no executables
|
||||
if (NOT TARGET PkgConfig::${_prefix}
|
||||
AND ( ${_prefix}_INCLUDE_DIRS OR ${_prefix}_LINK_LIBRARIES OR ${_prefix}_LDFLAGS_OTHER OR ${_prefix}_CFLAGS_OTHER ))
|
||||
if(${_imp_target_global})
|
||||
set(_global_opt "GLOBAL")
|
||||
else()
|
||||
unset(_global_opt)
|
||||
endif()
|
||||
add_library(PkgConfig::${_prefix} INTERFACE IMPORTED ${_global_opt})
|
||||
|
||||
if(${_prefix}_INCLUDE_DIRS)
|
||||
set_property(TARGET PkgConfig::${_prefix} PROPERTY
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${${_prefix}_INCLUDE_DIRS}")
|
||||
endif()
|
||||
if(${_prefix}_LINK_LIBRARIES)
|
||||
set_property(TARGET PkgConfig::${_prefix} PROPERTY
|
||||
INTERFACE_LINK_LIBRARIES "${${_prefix}_LINK_LIBRARIES}")
|
||||
endif()
|
||||
if(${_prefix}_LDFLAGS_OTHER)
|
||||
set_property(TARGET PkgConfig::${_prefix} PROPERTY
|
||||
INTERFACE_LINK_OPTIONS "${${_prefix}_LDFLAGS_OTHER}")
|
||||
endif()
|
||||
if(${_prefix}_CFLAGS_OTHER)
|
||||
set_property(TARGET PkgConfig::${_prefix} PROPERTY
|
||||
INTERFACE_COMPILE_OPTIONS "${${_prefix}_CFLAGS_OTHER}")
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# recalculate the dynamic output
|
||||
# this is a macro and not a function so the result of _pkg_find_libs is automatically propagated
|
||||
macro(_pkg_recalculate _prefix _no_cmake_path _no_cmake_environment_path _imp_target _imp_target_global)
|
||||
_pkg_find_libs(${_prefix} ${_no_cmake_path} ${_no_cmake_environment_path})
|
||||
if(${_imp_target})
|
||||
_pkg_create_imp_target(${_prefix} ${_imp_target_global})
|
||||
endif()
|
||||
endmacro()
|
||||
endmacro(_pkgconfig_parse_options)
|
||||
|
||||
###
|
||||
macro(_pkg_set_path_internal)
|
||||
set(_extra_paths)
|
||||
|
||||
if(NOT _no_cmake_path)
|
||||
_pkgconfig_add_extra_path(_extra_paths CMAKE_PREFIX_PATH)
|
||||
_pkgconfig_add_extra_path(_extra_paths CMAKE_FRAMEWORK_PATH)
|
||||
_pkgconfig_add_extra_path(_extra_paths CMAKE_APPBUNDLE_PATH)
|
||||
endif()
|
||||
|
||||
if(NOT _no_cmake_environment_path)
|
||||
_pkgconfig_add_extra_path(_extra_paths ENV CMAKE_PREFIX_PATH)
|
||||
_pkgconfig_add_extra_path(_extra_paths ENV CMAKE_FRAMEWORK_PATH)
|
||||
_pkgconfig_add_extra_path(_extra_paths ENV CMAKE_APPBUNDLE_PATH)
|
||||
endif()
|
||||
|
||||
if(NOT _extra_paths STREQUAL "")
|
||||
# Save the PKG_CONFIG_PATH environment variable, and add paths
|
||||
# from the CMAKE_PREFIX_PATH variables
|
||||
set(_pkgconfig_path_old "$ENV{PKG_CONFIG_PATH}")
|
||||
set(_pkgconfig_path "${_pkgconfig_path_old}")
|
||||
if(NOT _pkgconfig_path STREQUAL "")
|
||||
file(TO_CMAKE_PATH "${_pkgconfig_path}" _pkgconfig_path)
|
||||
endif()
|
||||
|
||||
# Create a list of the possible pkgconfig subfolder (depending on
|
||||
# the system
|
||||
set(_lib_dirs)
|
||||
if(NOT DEFINED CMAKE_SYSTEM_NAME
|
||||
OR (CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU)$"
|
||||
AND NOT CMAKE_CROSSCOMPILING))
|
||||
if(EXISTS "/etc/debian_version") # is this a debian system ?
|
||||
if(CMAKE_LIBRARY_ARCHITECTURE)
|
||||
list(APPEND _lib_dirs "lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig")
|
||||
endif()
|
||||
else()
|
||||
# not debian, check the FIND_LIBRARY_USE_LIB32_PATHS and FIND_LIBRARY_USE_LIB64_PATHS properties
|
||||
get_property(uselib32 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS)
|
||||
if(uselib32 AND CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
list(APPEND _lib_dirs "lib32/pkgconfig")
|
||||
endif()
|
||||
get_property(uselib64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
|
||||
if(uselib64 AND CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
list(APPEND _lib_dirs "lib64/pkgconfig")
|
||||
endif()
|
||||
get_property(uselibx32 GLOBAL PROPERTY FIND_LIBRARY_USE_LIBX32_PATHS)
|
||||
if(uselibx32 AND CMAKE_INTERNAL_PLATFORM_ABI STREQUAL "ELF X32")
|
||||
list(APPEND _lib_dirs "libx32/pkgconfig")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" AND NOT CMAKE_CROSSCOMPILING)
|
||||
list(APPEND _lib_dirs "libdata/pkgconfig")
|
||||
endif()
|
||||
list(APPEND _lib_dirs "lib/pkgconfig")
|
||||
list(APPEND _lib_dirs "share/pkgconfig")
|
||||
|
||||
# Check if directories exist and eventually append them to the
|
||||
# pkgconfig path list
|
||||
foreach(_prefix_dir ${_extra_paths})
|
||||
foreach(_lib_dir ${_lib_dirs})
|
||||
if(EXISTS "${_prefix_dir}/${_lib_dir}")
|
||||
list(APPEND _pkgconfig_path "${_prefix_dir}/${_lib_dir}")
|
||||
list(REMOVE_DUPLICATES _pkgconfig_path)
|
||||
endif()
|
||||
endforeach()
|
||||
endforeach()
|
||||
|
||||
# Prepare and set the environment variable
|
||||
if(NOT _pkgconfig_path STREQUAL "")
|
||||
# remove empty values from the list
|
||||
list(REMOVE_ITEM _pkgconfig_path "")
|
||||
file(TO_NATIVE_PATH "${_pkgconfig_path}" _pkgconfig_path)
|
||||
if(UNIX)
|
||||
string(REPLACE ";" ":" _pkgconfig_path "${_pkgconfig_path}")
|
||||
string(REPLACE "\\ " " " _pkgconfig_path "${_pkgconfig_path}")
|
||||
endif()
|
||||
set(ENV{PKG_CONFIG_PATH} "${_pkgconfig_path}")
|
||||
endif()
|
||||
|
||||
# Unset variables
|
||||
unset(_lib_dirs)
|
||||
unset(_pkgconfig_path)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(_pkg_restore_path_internal)
|
||||
if(NOT _extra_paths STREQUAL "")
|
||||
# Restore the environment variable
|
||||
set(ENV{PKG_CONFIG_PATH} "${_pkgconfig_path_old}")
|
||||
endif()
|
||||
|
||||
unset(_extra_paths)
|
||||
unset(_pkgconfig_path_old)
|
||||
endmacro()
|
||||
|
||||
###
|
||||
macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cmake_environment_path _imp_target _imp_target_global _prefix)
|
||||
macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
|
||||
_pkgconfig_unset(${_prefix}_FOUND)
|
||||
_pkgconfig_unset(${_prefix}_VERSION)
|
||||
_pkgconfig_unset(${_prefix}_PREFIX)
|
||||
_pkgconfig_unset(${_prefix}_INCLUDEDIR)
|
||||
_pkgconfig_unset(${_prefix}_LIBDIR)
|
||||
_pkgconfig_unset(${_prefix}_MODULE_NAME)
|
||||
_pkgconfig_unset(${_prefix}_LIBS)
|
||||
_pkgconfig_unset(${_prefix}_LIBS_L)
|
||||
_pkgconfig_unset(${_prefix}_LIBS_PATHS)
|
||||
@@ -392,77 +193,83 @@ macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cma
|
||||
# give out status message telling checked module
|
||||
if (NOT ${_is_silent})
|
||||
if (_pkg_check_modules_cnt EQUAL 1)
|
||||
message(STATUS "Checking for module '${_pkg_check_modules_list}'")
|
||||
else()
|
||||
message(STATUS "Checking for modules '${_pkg_check_modules_list}'")
|
||||
endif()
|
||||
endif()
|
||||
message(STATUS "checking for module '${_pkg_check_modules_list}'")
|
||||
else(_pkg_check_modules_cnt EQUAL 1)
|
||||
message(STATUS "checking for modules '${_pkg_check_modules_list}'")
|
||||
endif(_pkg_check_modules_cnt EQUAL 1)
|
||||
endif(NOT ${_is_silent})
|
||||
|
||||
set(_pkg_check_modules_packages)
|
||||
set(_pkg_check_modules_failed)
|
||||
|
||||
_pkg_set_path_internal()
|
||||
|
||||
# iterate through module list and check whether they exist and match the required version
|
||||
foreach (_pkg_check_modules_pkg ${_pkg_check_modules_list})
|
||||
set(_pkg_check_modules_exist_query)
|
||||
|
||||
# check whether version is given
|
||||
if (_pkg_check_modules_pkg MATCHES "(.*[^><])(=|[><]=?)(.*)")
|
||||
set(_pkg_check_modules_pkg_name "${CMAKE_MATCH_1}")
|
||||
set(_pkg_check_modules_pkg_op "${CMAKE_MATCH_2}")
|
||||
set(_pkg_check_modules_pkg_ver "${CMAKE_MATCH_3}")
|
||||
else()
|
||||
if (_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
|
||||
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\1" _pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}")
|
||||
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\2" _pkg_check_modules_pkg_op "${_pkg_check_modules_pkg}")
|
||||
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\3" _pkg_check_modules_pkg_ver "${_pkg_check_modules_pkg}")
|
||||
else(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
|
||||
set(_pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}")
|
||||
set(_pkg_check_modules_pkg_op)
|
||||
set(_pkg_check_modules_pkg_ver)
|
||||
endif()
|
||||
endif(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
|
||||
|
||||
# handle the operands
|
||||
if (_pkg_check_modules_pkg_op STREQUAL ">=")
|
||||
list(APPEND _pkg_check_modules_exist_query --atleast-version)
|
||||
endif(_pkg_check_modules_pkg_op STREQUAL ">=")
|
||||
|
||||
if (_pkg_check_modules_pkg_op STREQUAL "=")
|
||||
list(APPEND _pkg_check_modules_exist_query --exact-version)
|
||||
endif(_pkg_check_modules_pkg_op STREQUAL "=")
|
||||
|
||||
if (_pkg_check_modules_pkg_op STREQUAL "<=")
|
||||
list(APPEND _pkg_check_modules_exist_query --max-version)
|
||||
endif(_pkg_check_modules_pkg_op STREQUAL "<=")
|
||||
|
||||
# create the final query which is of the format:
|
||||
# * --atleast-version <version> <pkg-name>
|
||||
# * --exact-version <version> <pkg-name>
|
||||
# * --max-version <version> <pkg-name>
|
||||
# * --exists <pkg-name>
|
||||
if (_pkg_check_modules_pkg_op)
|
||||
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_ver}")
|
||||
else(_pkg_check_modules_pkg_op)
|
||||
list(APPEND _pkg_check_modules_exist_query --exists)
|
||||
endif(_pkg_check_modules_pkg_op)
|
||||
|
||||
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_VERSION)
|
||||
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_PREFIX)
|
||||
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_INCLUDEDIR)
|
||||
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_LIBDIR)
|
||||
|
||||
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name}")
|
||||
list(APPEND _pkg_check_modules_packages "${_pkg_check_modules_pkg_name}")
|
||||
|
||||
# create the final query which is of the format:
|
||||
# * <pkg-name> > <version>
|
||||
# * <pkg-name> >= <version>
|
||||
# * <pkg-name> = <version>
|
||||
# * <pkg-name> <= <version>
|
||||
# * <pkg-name> < <version>
|
||||
# * --exists <pkg-name>
|
||||
list(APPEND _pkg_check_modules_exist_query --print-errors --short-errors)
|
||||
if (_pkg_check_modules_pkg_op)
|
||||
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name} ${_pkg_check_modules_pkg_op} ${_pkg_check_modules_pkg_ver}")
|
||||
else()
|
||||
list(APPEND _pkg_check_modules_exist_query --exists)
|
||||
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name}")
|
||||
endif()
|
||||
|
||||
# execute the query
|
||||
execute_process(
|
||||
COMMAND ${PKG_CONFIG_EXECUTABLE} ${_pkg_check_modules_exist_query}
|
||||
RESULT_VARIABLE _pkgconfig_retval
|
||||
ERROR_VARIABLE _pkgconfig_error
|
||||
ERROR_STRIP_TRAILING_WHITESPACE)
|
||||
RESULT_VARIABLE _pkgconfig_retval)
|
||||
|
||||
# evaluate result and tell failures
|
||||
if (_pkgconfig_retval)
|
||||
if(NOT ${_is_silent})
|
||||
message(STATUS " ${_pkgconfig_error}")
|
||||
endif()
|
||||
message(STATUS " package '${_pkg_check_modules_pkg}' not found")
|
||||
endif(NOT ${_is_silent})
|
||||
|
||||
set(_pkg_check_modules_failed 1)
|
||||
endif()
|
||||
endforeach()
|
||||
endif(_pkgconfig_retval)
|
||||
endforeach(_pkg_check_modules_pkg)
|
||||
|
||||
if(_pkg_check_modules_failed)
|
||||
# fail when requested
|
||||
if (${_is_required})
|
||||
message(FATAL_ERROR "A required package was not found")
|
||||
endif ()
|
||||
else()
|
||||
message(SEND_ERROR "A required package was not found")
|
||||
endif (${_is_required})
|
||||
else(_pkg_check_modules_failed)
|
||||
# when we are here, we checked whether requested modules
|
||||
# exist. Now, go through them and set variables
|
||||
|
||||
@@ -474,23 +281,17 @@ macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cma
|
||||
# handle case when there is only one package required
|
||||
if (pkg_count EQUAL 1)
|
||||
set(_pkg_check_prefix "${_prefix}")
|
||||
else()
|
||||
else(pkg_count EQUAL 1)
|
||||
set(_pkg_check_prefix "${_prefix}_${_pkg_check_modules_pkg}")
|
||||
endif()
|
||||
endif(pkg_count EQUAL 1)
|
||||
|
||||
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" VERSION "" --modversion )
|
||||
pkg_get_variable("${_pkg_check_prefix}_PREFIX" ${_pkg_check_modules_pkg} "prefix")
|
||||
pkg_get_variable("${_pkg_check_prefix}_INCLUDEDIR" ${_pkg_check_modules_pkg} "includedir")
|
||||
pkg_get_variable("${_pkg_check_prefix}_LIBDIR" ${_pkg_check_modules_pkg} "libdir")
|
||||
foreach (variable IN ITEMS PREFIX INCLUDEDIR LIBDIR)
|
||||
_pkgconfig_set("${_pkg_check_prefix}_${variable}" "${${_pkg_check_prefix}_${variable}}")
|
||||
endforeach ()
|
||||
_pkgconfig_set("${_pkg_check_prefix}_MODULE_NAME" "${_pkg_check_modules_pkg}")
|
||||
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" PREFIX "" --variable=prefix )
|
||||
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" INCLUDEDIR "" --variable=includedir )
|
||||
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" LIBDIR "" --variable=libdir )
|
||||
|
||||
if (NOT ${_is_silent})
|
||||
message(STATUS " Found ${_pkg_check_modules_pkg}, version ${_pkgconfig_VERSION}")
|
||||
endif ()
|
||||
endforeach()
|
||||
message(STATUS " found ${_pkg_check_modules_pkg}, version ${_pkgconfig_VERSION}")
|
||||
endforeach(_pkg_check_modules_pkg)
|
||||
|
||||
# set variables which are combined for multiple modules
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARIES "(^| )-l" --libs-only-l )
|
||||
@@ -501,271 +302,58 @@ macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cma
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" INCLUDE_DIRS "(^| )-I" --cflags-only-I )
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS "" --cflags )
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS_OTHER "" --cflags-only-other )
|
||||
|
||||
_pkg_recalculate("${_prefix}" ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} ${_imp_target_global})
|
||||
endif()
|
||||
|
||||
_pkg_restore_path_internal()
|
||||
else()
|
||||
endif(_pkg_check_modules_failed)
|
||||
else(PKG_CONFIG_EXECUTABLE)
|
||||
if (${_is_required})
|
||||
message(SEND_ERROR "pkg-config tool not found")
|
||||
endif ()
|
||||
endif()
|
||||
endmacro()
|
||||
endif (${_is_required})
|
||||
endif(PKG_CONFIG_EXECUTABLE)
|
||||
endmacro(_pkg_check_modules_internal)
|
||||
|
||||
###
|
||||
### User visible macros start here
|
||||
###
|
||||
|
||||
#[========================================[.rst:
|
||||
.. command:: pkg_check_modules
|
||||
|
||||
Checks for all the given modules, setting a variety of result variables in
|
||||
the calling scope.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_check_modules(<prefix>
|
||||
[REQUIRED] [QUIET]
|
||||
[NO_CMAKE_PATH]
|
||||
[NO_CMAKE_ENVIRONMENT_PATH]
|
||||
[IMPORTED_TARGET [GLOBAL]]
|
||||
<moduleSpec> [<moduleSpec>...])
|
||||
|
||||
When the ``REQUIRED`` argument is given, the command will fail with an error
|
||||
if module(s) could not be found.
|
||||
|
||||
When the ``QUIET`` argument is given, no status messages will be printed.
|
||||
|
||||
By default, if :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.1 or
|
||||
later, or if :variable:`PKG_CONFIG_USE_CMAKE_PREFIX_PATH` is set to a
|
||||
boolean ``True`` value, then the :variable:`CMAKE_PREFIX_PATH`,
|
||||
:variable:`CMAKE_FRAMEWORK_PATH`, and :variable:`CMAKE_APPBUNDLE_PATH` cache
|
||||
and environment variables will be added to the ``pkg-config`` search path.
|
||||
The ``NO_CMAKE_PATH`` and ``NO_CMAKE_ENVIRONMENT_PATH`` arguments
|
||||
disable this behavior for the cache variables and environment variables
|
||||
respectively.
|
||||
|
||||
The ``IMPORTED_TARGET`` argument will create an imported target named
|
||||
``PkgConfig::<prefix>`` that can be passed directly as an argument to
|
||||
:command:`target_link_libraries`. The ``GLOBAL`` argument will make the
|
||||
imported target available in global scope.
|
||||
|
||||
Each ``<moduleSpec>`` can be either a bare module name or it can be a
|
||||
module name with a version constraint (operators ``=``, ``<``, ``>``,
|
||||
``<=`` and ``>=`` are supported). The following are examples for a module
|
||||
named ``foo`` with various constraints:
|
||||
|
||||
- ``foo`` matches any version.
|
||||
- ``foo<2`` only matches versions before 2.
|
||||
- ``foo>=3.1`` matches any version from 3.1 or later.
|
||||
- ``foo=1.2.3`` requires that foo must be exactly version 1.2.3.
|
||||
|
||||
The following variables may be set upon return. Two sets of values exist:
|
||||
One for the common case (``<XXX> = <prefix>``) and another for the
|
||||
information ``pkg-config`` provides when called with the ``--static``
|
||||
option (``<XXX> = <prefix>_STATIC``).
|
||||
|
||||
``<XXX>_FOUND``
|
||||
set to 1 if module(s) exist
|
||||
``<XXX>_LIBRARIES``
|
||||
only the libraries (without the '-l')
|
||||
``<XXX>_LINK_LIBRARIES``
|
||||
the libraries and their absolute paths
|
||||
``<XXX>_LIBRARY_DIRS``
|
||||
the paths of the libraries (without the '-L')
|
||||
``<XXX>_LDFLAGS``
|
||||
all required linker flags
|
||||
``<XXX>_LDFLAGS_OTHER``
|
||||
all other linker flags
|
||||
``<XXX>_INCLUDE_DIRS``
|
||||
the '-I' preprocessor flags (without the '-I')
|
||||
``<XXX>_CFLAGS``
|
||||
all required cflags
|
||||
``<XXX>_CFLAGS_OTHER``
|
||||
the other compiler flags
|
||||
|
||||
All but ``<XXX>_FOUND`` may be a :ref:`;-list <CMake Language Lists>` if the
|
||||
associated variable returned from ``pkg-config`` has multiple values.
|
||||
|
||||
There are some special variables whose prefix depends on the number of
|
||||
``<moduleSpec>`` given. When there is only one ``<moduleSpec>``,
|
||||
``<YYY>`` will simply be ``<prefix>``, but if two or more ``<moduleSpec>``
|
||||
items are given, ``<YYY>`` will be ``<prefix>_<moduleName>``.
|
||||
|
||||
``<YYY>_VERSION``
|
||||
version of the module
|
||||
``<YYY>_PREFIX``
|
||||
prefix directory of the module
|
||||
``<YYY>_INCLUDEDIR``
|
||||
include directory of the module
|
||||
``<YYY>_LIBDIR``
|
||||
lib directory of the module
|
||||
|
||||
Examples:
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_check_modules (GLIB2 glib-2.0)
|
||||
|
||||
Looks for any version of glib2. If found, the output variable
|
||||
``GLIB2_VERSION`` will hold the actual version found.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_check_modules (GLIB2 glib-2.0>=2.10)
|
||||
|
||||
Looks for at least version 2.10 of glib2. If found, the output variable
|
||||
``GLIB2_VERSION`` will hold the actual version found.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_check_modules (FOO glib-2.0>=2.10 gtk+-2.0)
|
||||
|
||||
Looks for both glib2-2.0 (at least version 2.10) and any version of
|
||||
gtk2+-2.0. Only if both are found will ``FOO`` be considered found.
|
||||
The ``FOO_glib-2.0_VERSION`` and ``FOO_gtk+-2.0_VERSION`` variables will be
|
||||
set to their respective found module versions.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_check_modules (XRENDER REQUIRED xrender)
|
||||
|
||||
Requires any version of ``xrender``. Example output variables set by a
|
||||
successful call::
|
||||
|
||||
XRENDER_LIBRARIES=Xrender;X11
|
||||
XRENDER_STATIC_LIBRARIES=Xrender;X11;pthread;Xau;Xdmcp
|
||||
#]========================================]
|
||||
###
|
||||
macro(pkg_check_modules _prefix _module0)
|
||||
_pkgconfig_parse_options(_pkg_modules _pkg_is_required _pkg_is_silent _no_cmake_path _no_cmake_environment_path _imp_target _imp_target_global "${_module0}" ${ARGN})
|
||||
# check cached value
|
||||
if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND OR
|
||||
(NOT "${ARGN}" STREQUAL "" AND NOT "${__pkg_config_arguments_${_prefix}}" STREQUAL "${_module0};${ARGN}") OR
|
||||
( "${ARGN}" STREQUAL "" AND NOT "${__pkg_config_arguments_${_prefix}}" STREQUAL "${_module0}"))
|
||||
_pkg_check_modules_internal("${_pkg_is_required}" "${_pkg_is_silent}" ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} ${_imp_target_global} "${_prefix}" ${_pkg_modules})
|
||||
if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION})
|
||||
_pkgconfig_parse_options (_pkg_modules _pkg_is_required "${_module0}" ${ARGN})
|
||||
_pkg_check_modules_internal("${_pkg_is_required}" 0 "${_prefix}" ${_pkg_modules})
|
||||
|
||||
_pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
|
||||
if (${_prefix}_FOUND)
|
||||
_pkgconfig_set(__pkg_config_arguments_${_prefix} "${_module0};${ARGN}")
|
||||
endif()
|
||||
else()
|
||||
if (${_prefix}_FOUND)
|
||||
_pkg_recalculate("${_prefix}" ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} ${_imp_target_global})
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION})
|
||||
endmacro(pkg_check_modules)
|
||||
|
||||
|
||||
#[========================================[.rst:
|
||||
.. command:: pkg_search_module
|
||||
|
||||
The behavior of this command is the same as :command:`pkg_check_modules`,
|
||||
except that rather than checking for all the specified modules, it searches
|
||||
for just the first successful match.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_search_module(<prefix>
|
||||
[REQUIRED] [QUIET]
|
||||
[NO_CMAKE_PATH]
|
||||
[NO_CMAKE_ENVIRONMENT_PATH]
|
||||
[IMPORTED_TARGET [GLOBAL]]
|
||||
<moduleSpec> [<moduleSpec>...])
|
||||
|
||||
If a module is found, the ``<prefix>_MODULE_NAME`` variable will contain the
|
||||
name of the matching module. This variable can be used if you need to run
|
||||
:command:`pkg_get_variable`.
|
||||
|
||||
Example:
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_search_module (BAR libxml-2.0 libxml2 libxml>=2)
|
||||
#]========================================]
|
||||
###
|
||||
macro(pkg_search_module _prefix _module0)
|
||||
_pkgconfig_parse_options(_pkg_modules_alt _pkg_is_required _pkg_is_silent _no_cmake_path _no_cmake_environment_path _imp_target _imp_target_global "${_module0}" ${ARGN})
|
||||
# check cached value
|
||||
if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND)
|
||||
set(_pkg_modules_found 0)
|
||||
_pkgconfig_parse_options(_pkg_modules_alt _pkg_is_required "${_module0}" ${ARGN})
|
||||
|
||||
if (NOT ${_pkg_is_silent})
|
||||
message(STATUS "Checking for one of the modules '${_pkg_modules_alt}'")
|
||||
endif ()
|
||||
message(STATUS "checking for one of the modules '${_pkg_modules_alt}'")
|
||||
|
||||
# iterate through all modules and stop at the first working one.
|
||||
foreach(_pkg_alt ${_pkg_modules_alt})
|
||||
if(NOT _pkg_modules_found)
|
||||
_pkg_check_modules_internal(0 1 ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} ${_imp_target_global} "${_prefix}" "${_pkg_alt}")
|
||||
endif()
|
||||
_pkg_check_modules_internal(0 1 "${_prefix}" "${_pkg_alt}")
|
||||
endif(NOT _pkg_modules_found)
|
||||
|
||||
if (${_prefix}_FOUND)
|
||||
set(_pkg_modules_found 1)
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
endif(${_prefix}_FOUND)
|
||||
endforeach(_pkg_alt)
|
||||
|
||||
if (NOT ${_prefix}_FOUND)
|
||||
if(${_pkg_is_required})
|
||||
message(SEND_ERROR "None of the required '${_pkg_modules_alt}' found")
|
||||
endif()
|
||||
endif()
|
||||
endif(${_pkg_is_required})
|
||||
endif(NOT ${_prefix}_FOUND)
|
||||
|
||||
_pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
|
||||
elseif (${_prefix}_FOUND)
|
||||
_pkg_recalculate("${_prefix}" ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} ${_imp_target_global})
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
#[========================================[.rst:
|
||||
.. command:: pkg_get_variable
|
||||
|
||||
Retrieves the value of a pkg-config variable ``varName`` and stores it in the
|
||||
result variable ``resultVar`` in the calling scope.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_get_variable(<resultVar> <moduleName> <varName>)
|
||||
|
||||
If ``pkg-config`` returns multiple values for the specified variable,
|
||||
``resultVar`` will contain a :ref:`;-list <CMake Language Lists>`.
|
||||
|
||||
For example:
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_get_variable(GI_GIRDIR gobject-introspection-1.0 girdir)
|
||||
#]========================================]
|
||||
function (pkg_get_variable result pkg variable)
|
||||
_pkg_set_path_internal()
|
||||
_pkgconfig_invoke("${pkg}" "prefix" "result" "" "--variable=${variable}")
|
||||
set("${result}"
|
||||
"${prefix_result}"
|
||||
PARENT_SCOPE)
|
||||
_pkg_restore_path_internal()
|
||||
endfunction ()
|
||||
|
||||
|
||||
#[========================================[.rst:
|
||||
Variables Affecting Behavior
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. variable:: PKG_CONFIG_EXECUTABLE
|
||||
|
||||
This can be set to the path of the pkg-config executable. If not provided,
|
||||
it will be set by the module as a result of calling :command:`find_program`
|
||||
internally. The ``PKG_CONFIG`` environment variable can be used as a hint.
|
||||
|
||||
.. variable:: PKG_CONFIG_USE_CMAKE_PREFIX_PATH
|
||||
|
||||
Specifies whether :command:`pkg_check_modules` and
|
||||
:command:`pkg_search_module` should add the paths in the
|
||||
:variable:`CMAKE_PREFIX_PATH`, :variable:`CMAKE_FRAMEWORK_PATH` and
|
||||
:variable:`CMAKE_APPBUNDLE_PATH` cache and environment variables to the
|
||||
``pkg-config`` search path.
|
||||
|
||||
If this variable is not set, this behavior is enabled by default if
|
||||
:variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.1 or later, disabled
|
||||
otherwise.
|
||||
#]========================================]
|
||||
|
||||
endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND)
|
||||
endmacro(pkg_search_module)
|
||||
|
||||
### Local Variables:
|
||||
### mode: cmake
|
||||
|
||||
+65
-13
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2003-2012 Sebastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2009 Julien Louis <ptitlouis@sysif.net>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
@@ -15,7 +15,7 @@
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Python
|
||||
@@ -24,15 +24,67 @@
|
||||
# code sets the following variables:
|
||||
#
|
||||
# PYTHON_EXECUTABLE = full path to the python binary
|
||||
# PYTHON_INCLUDE_DIRS = path to where python.h can be found
|
||||
# PYTHON_LIBRARIES = path to where libpython.so* can be found
|
||||
# PYTHON_LDFLAGS = python compiler options for linking
|
||||
# PYTHON_INCLUDE_PATH = path to where python.h can be found
|
||||
# PYTHON_LIBRARY = path to where libpython.so* can be found
|
||||
# PYTHON_LFLAGS = python compiler options for linking
|
||||
|
||||
if(ENABLE_PYTHON2)
|
||||
pkg_check_modules(PYTHON python2 IMPORTED_TARGET GLOBAL)
|
||||
else()
|
||||
pkg_check_modules(PYTHON python3-embed IMPORTED_TARGET GLOBAL)
|
||||
if(NOT PYTHON_FOUND)
|
||||
pkg_check_modules(PYTHON python3 IMPORTED_TARGET GLOBAL)
|
||||
endif()
|
||||
endif()
|
||||
IF(PYTHON_FOUND)
|
||||
# Already in cache, be silent
|
||||
SET(PYTHON_FIND_QUIETLY TRUE)
|
||||
ENDIF(PYTHON_FOUND)
|
||||
|
||||
FIND_PROGRAM(PYTHON_EXECUTABLE
|
||||
NAMES python2.7 python2.6 python2.5 python
|
||||
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
|
||||
)
|
||||
|
||||
IF(PYTHON_EXECUTABLE)
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${PYTHON_EXECUTABLE} -c "import sys; from distutils.sysconfig import *; sys.stdout.write(get_config_var('CONFINCLUDEPY'))"
|
||||
OUTPUT_VARIABLE PYTHON_INC_DIR
|
||||
)
|
||||
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${PYTHON_EXECUTABLE} -c "import sys; from distutils.sysconfig import *; sys.stdout.write(get_config_var('LIBPL'))"
|
||||
OUTPUT_VARIABLE PYTHON_POSSIBLE_LIB_PATH
|
||||
)
|
||||
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${PYTHON_EXECUTABLE} -c "import sys; from distutils.sysconfig import *; sys.stdout.write(get_config_var('LINKFORSHARED'))"
|
||||
OUTPUT_VARIABLE PYTHON_LFLAGS
|
||||
)
|
||||
|
||||
FIND_PATH(PYTHON_INCLUDE_PATH
|
||||
NAMES Python.h
|
||||
PATHS ${PYTHON_INC_DIR}
|
||||
)
|
||||
|
||||
FIND_LIBRARY(PYTHON_LIBRARY
|
||||
NAMES python2.7 python2.6 python2.5 python
|
||||
PATHS ${PYTHON_POSSIBLE_LIB_PATH}
|
||||
)
|
||||
|
||||
IF(PYTHON_LIBRARY AND PYTHON_INCLUDE_PATH)
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${PYTHON_EXECUTABLE} -c "import sys; sys.stdout.write(sys.version[:3])"
|
||||
OUTPUT_VARIABLE PYTHON_VERSION
|
||||
)
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${PYTHON_EXECUTABLE} -c "import sys; sys.stdout.write(str(sys.version_info < (2,5)))"
|
||||
OUTPUT_VARIABLE PYTHON_OLD_VERSION
|
||||
)
|
||||
IF(${PYTHON_OLD_VERSION} STREQUAL "True")
|
||||
MESSAGE("Python >= 2.5 is needed to build python plugin, version found: ${PYTHON_VERSION}")
|
||||
ELSE()
|
||||
SET(PYTHON_FOUND TRUE)
|
||||
ENDIF(${PYTHON_OLD_VERSION} STREQUAL "True")
|
||||
ENDIF(PYTHON_LIBRARY AND PYTHON_INCLUDE_PATH)
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
PYTHON_EXECUTABLE
|
||||
PYTHON_INCLUDE_PATH
|
||||
PYTHON_LIBRARY
|
||||
PYTHON_LFLAGS
|
||||
)
|
||||
|
||||
ENDIF(PYTHON_EXECUTABLE)
|
||||
|
||||
+68
-21
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2003-2012 Sebastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
@@ -14,7 +14,7 @@
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Ruby
|
||||
@@ -22,24 +22,71 @@
|
||||
# and libraries are. It also determines what the name of the library is. This
|
||||
# code sets the following variables:
|
||||
#
|
||||
# RUBY_INCLUDE_DIRS = C flags to compile with ruby
|
||||
# RUBY_LIBRARY_DIRS = linker flags to compile with ruby (found with pkg-config)
|
||||
# RUBY_LIB = ruby library (found without pkg-config)
|
||||
# RUBY_EXECUTABLE = full path to the ruby binary
|
||||
# RUBY_INCLUDE_PATH = path to where ruby.h can be found
|
||||
# RUBY_LIBRARY = path to where libruby.so* can be found
|
||||
|
||||
if(RUBY_FOUND)
|
||||
# Already in cache, be silent
|
||||
set(RUBY_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
IF(RUBY_FOUND)
|
||||
# Already in cache, be silent
|
||||
SET(RUBY_FIND_QUIETLY TRUE)
|
||||
ENDIF(RUBY_FOUND)
|
||||
|
||||
find_package(PkgConfig)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
# set specific search path for macOS
|
||||
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/opt/ruby/lib/pkgconfig")
|
||||
endif()
|
||||
pkg_search_module(RUBY ruby-3.1 ruby-3.0 ruby-2.7 ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9 ruby)
|
||||
if(RUBY_FOUND AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
# FIXME: weird hack: hardcoding the Ruby lib location on macOS
|
||||
set(RUBY_LDFLAGS "${RUBY_LDFLAGS} -L/usr/local/opt/ruby/lib")
|
||||
endif()
|
||||
endif()
|
||||
FIND_PROGRAM(RUBY_EXECUTABLE
|
||||
NAMES ruby1.9.3 ruby193 ruby1.9.2 ruby192 ruby1.9.1 ruby191 ruby1.9 ruby19 ruby1.8 ruby18 ruby1.6 ruby16 ruby
|
||||
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
|
||||
)
|
||||
|
||||
IF(RUBY_EXECUTABLE)
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['rubyhdrdir'] || RbConfig::CONFIG['archdir']"
|
||||
OUTPUT_VARIABLE RUBY_ARCH_DIR
|
||||
)
|
||||
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['arch']"
|
||||
OUTPUT_VARIABLE RUBY_ARCH
|
||||
)
|
||||
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['libdir']"
|
||||
OUTPUT_VARIABLE RUBY_POSSIBLE_LIB_PATH
|
||||
)
|
||||
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['rubylibdir']"
|
||||
OUTPUT_VARIABLE RUBY_RUBY_LIB_PATH
|
||||
)
|
||||
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['ruby_version']"
|
||||
OUTPUT_VARIABLE RUBY_VERSION
|
||||
)
|
||||
|
||||
FIND_PATH(RUBY_INCLUDE_PATH
|
||||
NAMES ruby.h
|
||||
PATHS ${RUBY_ARCH_DIR}
|
||||
)
|
||||
|
||||
SET(RUBY_ARCH
|
||||
"${RUBY_INCLUDE_PATH}/${RUBY_ARCH}")
|
||||
|
||||
FIND_LIBRARY(RUBY_LIBRARY
|
||||
NAMES ruby-1.9.3 ruby1.9.3 ruby193 ruby-1.9.2 ruby1.9.2 ruby192 ruby-1.9.1 ruby1.9.1 ruby191 ruby1.9 ruby19 ruby1.8 ruby18 ruby1.6 ruby16 ruby
|
||||
PATHS ${RUBY_POSSIBLE_LIB_PATH} ${RUBY_RUBY_LIB_PATH}
|
||||
)
|
||||
|
||||
IF(RUBY_LIBRARY AND RUBY_INCLUDE_PATH)
|
||||
SET(RUBY_FOUND TRUE)
|
||||
ENDIF(RUBY_LIBRARY AND RUBY_INCLUDE_PATH)
|
||||
|
||||
IF(${RUBY_VERSION} STREQUAL "1.9.0")
|
||||
SET(RUBY_FOUND FALSE)
|
||||
ENDIF(${RUBY_VERSION} STREQUAL "1.9.0")
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
RUBY_EXECUTABLE
|
||||
RUBY_LIBRARY
|
||||
RUBY_ARCH
|
||||
RUBY_INCLUDE_PATH
|
||||
)
|
||||
ENDIF(RUBY_EXECUTABLE)
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
#
|
||||
# Copyright (C) 2003-2012 Sebastien Helleu <flashcode@flashtux.org>
|
||||
# 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/>.
|
||||
#
|
||||
|
||||
# - Find Source-Highlight
|
||||
# This module finds if source-highlight is installed.
|
||||
|
||||
IF (SOURCEHIGHLIGHT_FOUND)
|
||||
# Already in cache, be silent
|
||||
SET(SOURCEHIGHLIGHT_FIND_QUIETLY TRUE)
|
||||
ENDIF (SOURCEHIGHLIGHT_FOUND)
|
||||
|
||||
FIND_PROGRAM(
|
||||
SOURCEHIGHLIGHT_EXECUTABLE source-highlight
|
||||
PATHS /bin /usr/bin /usr/local/bin /usr/pkg/bin
|
||||
)
|
||||
|
||||
IF(SOURCEHIGHLIGHT_EXECUTABLE)
|
||||
SET(SOURCEHIGHLIGHT_FOUND TRUE)
|
||||
MARK_AS_ADVANCED(
|
||||
SOURCEHIGHLIGHT_EXECUTABLE
|
||||
)
|
||||
ENDIF(SOURCEHIGHLIGHT_EXECUTABLE)
|
||||
@@ -0,0 +1,163 @@
|
||||
#
|
||||
# Copyright (C) 2008 Julien Louis <ptitlouis@sysif.net>
|
||||
# Copyright (C) 2008-2012 Sebastien Helleu <flashcode@flashtux.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/>.
|
||||
#
|
||||
|
||||
# - Find Tcl includes and libraries.
|
||||
# This module finds if Tcl is installed and determines where the
|
||||
# include files and libraries are. It also determines what the name of
|
||||
# the library is. This code sets the following variables:
|
||||
# TCL_FOUND = Tcl was found
|
||||
# TK_FOUND = Tk was found
|
||||
# TCLTK_FOUND = Tcl and Tk were found
|
||||
# TCL_LIBRARY = path to Tcl library (tcl tcl80)
|
||||
# TCL_INCLUDE_PATH = path to where tcl.h can be found
|
||||
# TCL_TCLSH = path to tclsh binary (tcl tcl80)
|
||||
# TK_LIBRARY = path to Tk library (tk tk80 etc)
|
||||
# TK_INCLUDE_PATH = path to where tk.h can be found
|
||||
# TK_WISH = full path to the wish executable
|
||||
#
|
||||
# In an effort to remove some clutter and clear up some issues for people
|
||||
# who are not necessarily Tcl/Tk gurus/developpers, some variables were
|
||||
# moved or removed. Changes compared to CMake 2.4 are:
|
||||
# - The stub libraries are now found in FindTclStub.cmake
|
||||
# => they were only useful for people writing Tcl/Tk extensions.
|
||||
# - TCL_LIBRARY_DEBUG and TK_LIBRARY_DEBUG were removed.
|
||||
# => these libs are not packaged by default with Tcl/Tk distributions.
|
||||
# Even when Tcl/Tk is built from source, several flavors of debug libs
|
||||
# are created and there is no real reason to pick a single one
|
||||
# specifically (say, amongst tcl84g, tcl84gs, or tcl84sgx).
|
||||
# Let's leave that choice to the user by allowing him to assign
|
||||
# TCL_LIBRARY to any Tcl library, debug or not.
|
||||
# - TK_INTERNAL_PATH was removed.
|
||||
# => this ended up being only a Win32 variable, and there is a lot of
|
||||
# confusion regarding the location of this file in an installed Tcl/Tk
|
||||
# tree anyway (see 8.5 for example). If you need the internal path at
|
||||
# this point it is safer you ask directly where the *source* tree is
|
||||
# and dig from there.
|
||||
|
||||
IF(TCL_FOUND)
|
||||
SET(TCL_FIND_QUIETLY TRUE)
|
||||
ENDIF(TCL_FOUND)
|
||||
|
||||
INCLUDE(CMakeFindFrameworks)
|
||||
INCLUDE(FindTclsh)
|
||||
|
||||
GET_FILENAME_COMPONENT(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
|
||||
GET_FILENAME_COMPONENT(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
|
||||
STRING(REGEX REPLACE
|
||||
"^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
|
||||
|
||||
GET_FILENAME_COMPONENT(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
|
||||
|
||||
GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
|
||||
GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
|
||||
STRING(REGEX REPLACE
|
||||
"^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_VERSION "${TCL_LIBRARY}")
|
||||
|
||||
SET(TCL_POSSIBLE_LIB_PATHS
|
||||
"${TCL_INCLUDE_PATH_PARENT}/lib"
|
||||
"${TCL_INCLUDE_PATH_PARENT}/lib64"
|
||||
"${TCL_LIBRARY_PATH}"
|
||||
"${TCL_TCLSH_PATH_PARENT}/lib"
|
||||
"${TCL_TCLSH_PATH_PARENT}/lib64"
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
)
|
||||
|
||||
IF(WIN32)
|
||||
GET_FILENAME_COMPONENT(
|
||||
ActiveTcl_CurrentVersion
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
|
||||
NAME)
|
||||
SET(TCLTK_POSSIBLE_LIB_PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/lib"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/lib"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/lib"
|
||||
"$ENV{ProgramFiles}/Tcl/Lib"
|
||||
"C:/Program Files/Tcl/lib"
|
||||
"C:/Tcl/lib"
|
||||
)
|
||||
ENDIF(WIN32)
|
||||
|
||||
FIND_LIBRARY(TCL_LIBRARY
|
||||
NAMES
|
||||
tcl86 tcl8.6
|
||||
tcl85 tcl8.5
|
||||
tcl
|
||||
tcl${TCL_VERSION} tcl${TCL_TCLSH_VERSION}
|
||||
PATHS ${TCL_POSSIBLE_LIB_PATHS}
|
||||
)
|
||||
|
||||
CMAKE_FIND_FRAMEWORKS(Tcl)
|
||||
|
||||
SET(TCL_FRAMEWORK_INCLUDES)
|
||||
IF(Tcl_FRAMEWORKS)
|
||||
IF(NOT TCL_INCLUDE_PATH)
|
||||
FOREACH(dir ${Tcl_FRAMEWORKS})
|
||||
SET(TCL_FRAMEWORK_INCLUDES ${TCL_FRAMEWORK_INCLUDES} ${dir}/Headers)
|
||||
ENDFOREACH(dir)
|
||||
ENDIF(NOT TCL_INCLUDE_PATH)
|
||||
ENDIF(Tcl_FRAMEWORKS)
|
||||
|
||||
SET(TCL_POSSIBLE_INCLUDE_PATHS
|
||||
"${TCL_LIBRARY_PATH_PARENT}/include"
|
||||
"${TCL_INCLUDE_PATH}"
|
||||
${TCL_FRAMEWORK_INCLUDES}
|
||||
"${TCL_TCLSH_PATH_PARENT}/include"
|
||||
/usr/include/tcl8.6
|
||||
/usr/include/tcl8.5
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/usr/include/tcl${TCL_VERSION}
|
||||
/usr/local/include/tcl${TCL_VERSION}
|
||||
/usr/local/include/tcl8.6
|
||||
/usr/local/include/tcl8.5
|
||||
)
|
||||
|
||||
|
||||
IF(WIN32)
|
||||
SET(TCLTK_POSSIBLE_INCLUDE_PATHS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/include"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/include"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/include"
|
||||
"$ENV{ProgramFiles}/Tcl/include"
|
||||
"C:/Program Files/Tcl/include"
|
||||
"C:/Tcl/include"
|
||||
)
|
||||
ENDIF(WIN32)
|
||||
|
||||
FIND_PATH(TCL_INCLUDE_PATH
|
||||
NAMES tcl.h
|
||||
PATHS ${TCL_POSSIBLE_INCLUDE_PATHS}
|
||||
)
|
||||
|
||||
IF(TCL_LIBRARY AND TCL_INCLUDE_PATH)
|
||||
SET(TCL_VERSION ${TCL_VERSION})
|
||||
SET(TCL_LIBARY ${TCL_LIBRARY})
|
||||
SET(TCL_INCLUDE_PATH ${TCL_INCLUDE_PATH})
|
||||
SET(TCL_FOUND TRUE)
|
||||
ENDIF(TCL_LIBRARY AND TCL_INCLUDE_PATH)
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
TCL_INCLUDE_PATH
|
||||
TCL_LIBRARY
|
||||
TCL_VERSION
|
||||
)
|
||||
@@ -1,49 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2015-2022 Sébastien Helleu <flashcode@flashtux.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 <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find V8 (Google's JavaScript engine)
|
||||
# This module finds if libv8 is installed and determines where
|
||||
# the include files and libraries are.
|
||||
#
|
||||
# This code sets the following variables:
|
||||
#
|
||||
# V8_INCLUDE_DIR = path to where v8.h can be found
|
||||
# V8_LIBRARY = path to where libv8.so* can be found
|
||||
|
||||
if(V8_FOUND)
|
||||
# Already in cache, be silent
|
||||
SET(V8_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
|
||||
set(V8_INC_PATHS
|
||||
/usr/include
|
||||
${CMAKE_INCLUDE_PATH}
|
||||
)
|
||||
find_path(V8_INCLUDE_DIR v8.h PATHS ${V8_INC_PATHS})
|
||||
find_library(V8_LIBRARY
|
||||
NAMES v8
|
||||
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
|
||||
)
|
||||
|
||||
find_package_handle_standard_args(V8 DEFAULT_MSG V8_LIBRARY V8_INCLUDE_DIR)
|
||||
|
||||
mark_as_advanced(
|
||||
V8_INCLUDE_DIR
|
||||
V8_LIBRARY
|
||||
)
|
||||
+34
-32
@@ -31,46 +31,48 @@
|
||||
# (To distribute this file outside of CMake, substitute the full
|
||||
# License text for the above reference.)
|
||||
|
||||
find_path(ZLIB_INCLUDE_DIR zlib.h
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Zlib;InstallPath]/include"
|
||||
FIND_PATH(ZLIB_INCLUDE_DIR zlib.h
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Zlib;InstallPath]/include"
|
||||
)
|
||||
|
||||
set(ZLIB_NAMES z zlib zdll zlib1 zlibd zlibd1)
|
||||
find_library(ZLIB_LIBRARY
|
||||
NAMES
|
||||
${ZLIB_NAMES}
|
||||
PATHS
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Zlib;InstallPath]/lib"
|
||||
SET(ZLIB_NAMES z zlib zdll zlib1 zlibd zlibd1)
|
||||
FIND_LIBRARY(ZLIB_LIBRARY
|
||||
NAMES
|
||||
${ZLIB_NAMES}
|
||||
PATHS
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Zlib;InstallPath]/lib"
|
||||
)
|
||||
mark_as_advanced(ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
|
||||
MARK_AS_ADVANCED(ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
|
||||
|
||||
if(ZLIB_INCLUDE_DIR AND EXISTS "${ZLIB_INCLUDE_DIR}/zlib.h")
|
||||
file(STRINGS "${ZLIB_INCLUDE_DIR}/zlib.h" ZLIB_H REGEX "^#define ZLIB_VERSION \"[^\"]*\"$")
|
||||
IF(ZLIB_INCLUDE_DIR AND EXISTS "${ZLIB_INCLUDE_DIR}/zlib.h")
|
||||
FILE(STRINGS "${ZLIB_INCLUDE_DIR}/zlib.h" ZLIB_H REGEX "^#define ZLIB_VERSION \"[^\"]*\"$")
|
||||
|
||||
string(REGEX REPLACE "^.*ZLIB_VERSION \"([0-9]+).*$" "\\1" ZLIB_VERSION_MAJOR "${ZLIB_H}")
|
||||
string(REGEX REPLACE "^.*ZLIB_VERSION \"[0-9]+\\.([0-9]+).*$" "\\1" ZLIB_VERSION_MINOR "${ZLIB_H}")
|
||||
string(REGEX REPLACE "^.*ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.([0-9]+).*$" "\\1" ZLIB_VERSION_PATCH "${ZLIB_H}")
|
||||
set(ZLIB_VERSION_STRING "${ZLIB_VERSION_MAJOR}.${ZLIB_VERSION_MINOR}.${ZLIB_VERSION_PATCH}")
|
||||
STRING(REGEX REPLACE "^.*ZLIB_VERSION \"([0-9]+).*$" "\\1" ZLIB_VERSION_MAJOR "${ZLIB_H}")
|
||||
STRING(REGEX REPLACE "^.*ZLIB_VERSION \"[0-9]+\\.([0-9]+).*$" "\\1" ZLIB_VERSION_MINOR "${ZLIB_H}")
|
||||
STRING(REGEX REPLACE "^.*ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.([0-9]+).*$" "\\1" ZLIB_VERSION_PATCH "${ZLIB_H}")
|
||||
SET(ZLIB_VERSION_STRING "${ZLIB_VERSION_MAJOR}.${ZLIB_VERSION_MINOR}.${ZLIB_VERSION_PATCH}")
|
||||
|
||||
# only append a TWEAK version if it exists:
|
||||
set(ZLIB_VERSION_TWEAK "")
|
||||
if("${ZLIB_H}" MATCHES "^.*ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.[0-9]+\\.([0-9]+).*$")
|
||||
set(ZLIB_VERSION_TWEAK "${CMAKE_MATCH_1}")
|
||||
set(ZLIB_VERSION_STRING "${ZLIB_VERSION_STRING}.${ZLIB_VERSION_TWEAK}")
|
||||
endif()
|
||||
# only append a TWEAK version if it exists:
|
||||
SET(ZLIB_VERSION_TWEAK "")
|
||||
IF( "${ZLIB_H}" MATCHES "^.*ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.[0-9]+\\.([0-9]+).*$")
|
||||
SET(ZLIB_VERSION_TWEAK "${CMAKE_MATCH_1}")
|
||||
SET(ZLIB_VERSION_STRING "${ZLIB_VERSION_STRING}.${ZLIB_VERSION_TWEAK}")
|
||||
ENDIF( "${ZLIB_H}" MATCHES "^.*ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.[0-9]+\\.([0-9]+).*$")
|
||||
|
||||
set(ZLIB_MAJOR_VERSION "${ZLIB_VERSION_MAJOR}")
|
||||
set(ZLIB_MINOR_VERSION "${ZLIB_VERSION_MINOR}")
|
||||
set(ZLIB_PATCH_VERSION "${ZLIB_VERSION_PATCH}")
|
||||
endif()
|
||||
SET(ZLIB_MAJOR_VERSION "${ZLIB_VERSION_MAJOR}")
|
||||
SET(ZLIB_MINOR_VERSION "${ZLIB_VERSION_MINOR}")
|
||||
SET(ZLIB_PATCH_VERSION "${ZLIB_VERSION_PATCH}")
|
||||
ENDIF()
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set ZLIB_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(ZLIB REQUIRED_VARS ZLIB_LIBRARY ZLIB_INCLUDE_DIR
|
||||
VERSION_VAR ZLIB_VERSION_STRING)
|
||||
#INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
|
||||
INCLUDE(${CMAKE_HOME_DIRECTORY}/cmake/FindPackageHandleStandardArgs.cmake)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(ZLIB REQUIRED_VARS ZLIB_LIBRARY ZLIB_INCLUDE_DIR
|
||||
VERSION_VAR ZLIB_VERSION_STRING)
|
||||
|
||||
IF(ZLIB_FOUND)
|
||||
SET(ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR})
|
||||
SET(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
|
||||
ENDIF()
|
||||
|
||||
if(ZLIB_FOUND)
|
||||
set(ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR})
|
||||
set(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
|
||||
endif()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2003-2012 Sebastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
@@ -14,25 +14,27 @@
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||
message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
|
||||
endif()
|
||||
IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||
MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
|
||||
ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||
|
||||
FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
|
||||
STRING(REGEX REPLACE "\n" ";" files "${files}")
|
||||
FOREACH(file ${files})
|
||||
MESSAGE(STATUS "Uninstalling \"${file}\"")
|
||||
IF(NOT EXISTS "${file}")
|
||||
MESSAGE(FATAL_ERROR "File \"${file}\" does not exists.")
|
||||
ENDIF(NOT EXISTS "${file}")
|
||||
EXEC_PROGRAM("@CMAKE_COMMAND@" ARGS "-E remove \"${file}\""
|
||||
OUTPUT_VARIABLE rm_out
|
||||
RETURN_VARIABLE rm_retval)
|
||||
IF("${rm_retval}" GREATER 0)
|
||||
MESSAGE(FATAL_ERROR "Problem when removing \"${file}\"")
|
||||
ENDIF("${rm_retval}" GREATER 0)
|
||||
ENDFOREACH(file)
|
||||
|
||||
|
||||
|
||||
file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
|
||||
string(REGEX REPLACE "\n" ";" files "${files}")
|
||||
string(REGEX REPLACE ";$" "" files "${files}")
|
||||
list(REVERSE files)
|
||||
foreach(file ${files})
|
||||
message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
|
||||
if(EXISTS "$ENV{DESTDIR}${file}")
|
||||
execute_process(COMMAND "@CMAKE_COMMAND@" -E remove "$ENV{DESTDIR}${file}" OUTPUT_VARIABLE rm_out RESULT_VARIABLE rm_retval)
|
||||
if("${rm_retval}" GREATER 0)
|
||||
message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
|
||||
endif()
|
||||
else()
|
||||
message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
Executable
+52
@@ -0,0 +1,52 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2003-2012 Sebastien Helleu <flashcode@flashtux.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/>.
|
||||
#
|
||||
|
||||
VERSION=@VERSION@
|
||||
SRCROOT=@CMAKE_SOURCE_DIR@
|
||||
BUILDDIR=@CMAKE_BINARY_DIR@
|
||||
PROJECT=@PROJECT_NAME@
|
||||
TAG=release-$(echo $VERSION | sed -e 's/\./-/g')
|
||||
|
||||
EXCLUDE="@DIST_EXCLUDE@"
|
||||
EXPORT_DIR="${PROJECT}-${VERSION}"
|
||||
|
||||
if [ -z $CVSROOT ]; then
|
||||
echo "The CVSROOT variable must be set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Exporting source tree"
|
||||
if [ $(echo $VERSION | grep cvs) ]; then
|
||||
cvs export -r HEAD -d $PROJECT-$VERSION $PROJECT
|
||||
else
|
||||
cvs export -r $TAG -d $PROJECT-$VERSION $PROJECT
|
||||
fi
|
||||
|
||||
echo "Removing not needed stuff"
|
||||
for i in $EXCLUDE ; do
|
||||
echo " $i"
|
||||
rm -rf $EXPORT_DIR/$i
|
||||
done
|
||||
|
||||
echo "Generating archive"
|
||||
tar cjf ${BUILDDIR}/${PROJECT}-${VERSION}.tar.bz2 ${EXPORT_DIR}
|
||||
|
||||
echo "Cleaning up"
|
||||
rm -rf ${EXPORT_DIR}
|
||||
+20
-6
@@ -1,21 +1,35 @@
|
||||
#cmakedefine HAVE_ARPA_INET_H
|
||||
#cmakedefine HAVE_LIBINTL_H
|
||||
#cmakedefine HAVE_LIMITS_H
|
||||
#cmakedefine HAVE_LOCALE_H
|
||||
#cmakedefine HAVE_NETDB_H
|
||||
#cmakedefine HAVE_NETINET_IN_H
|
||||
#cmakedefine HAVE_STDLIB_H
|
||||
#cmakedefine HAVE_STRING_H
|
||||
#cmakedefine HAVE_SYS_SOCKET_H
|
||||
#cmakedefine HAVE_SYS_TIME_H
|
||||
#cmakedefine HAVE_SYS_TYPES_H
|
||||
#cmakedefine HAVE_UNISTD_H
|
||||
#cmakedefine HAVE_PWD_H
|
||||
#cmakedefine HAVE_ERRNO_H
|
||||
#cmakedefine HAVE_REGEX_H
|
||||
#cmakedefine HAVE_WCHAR_H
|
||||
#cmakedefine HAVE_SYS_FILE_H
|
||||
#cmakedefine HAVE_SYS_RESOURCE_H
|
||||
#cmakedefine HAVE_FLOCK
|
||||
#cmakedefine HAVE_LANGINFO_CODESET
|
||||
#cmakedefine HAVE_STRNDUP
|
||||
#cmakedefine HAVE_BACKTRACE
|
||||
#cmakedefine ICONV_2ARG_IS_CONST 1
|
||||
#cmakedefine HAVE_TCL_CREATE_NS
|
||||
#cmakedefine HAVE_MALLINFO
|
||||
#cmakedefine HAVE_MALLINFO2
|
||||
#cmakedefine HAVE_EAT_NEWLINE_GLITCH
|
||||
#cmakedefine HAVE_ASPELL_VERSION_STRING
|
||||
#cmakedefine HAVE_ENCHANT_GET_VERSION
|
||||
#cmakedefine HAVE_GUILE_GMP_MEMORY_FUNCTIONS
|
||||
#define PACKAGE_VERSION "@VERSION@"
|
||||
#define PACKAGE "@PROJECT_NAME@"
|
||||
#define PACKAGE_NAME "@PROJECT_NAME@"
|
||||
#define PACKAGE_STRING "@PKG_STRING@"
|
||||
#define WEECHAT_LIBDIR "@WEECHAT_LIBDIR@"
|
||||
#define WEECHAT_SHAREDIR "@WEECHAT_SHAREDIR@"
|
||||
#define WEECHAT_LIBDIR "@LIBDIR@"
|
||||
#define WEECHAT_SHAREDIR "@SHAREDIR@"
|
||||
#define LOCALEDIR "@LOCALEDIR@"
|
||||
#define WEECHAT_HOME "@WEECHAT_HOME@"
|
||||
#define _GNU_SOURCE 1
|
||||
|
||||
+318
-683
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
12
|
||||
@@ -1,272 +0,0 @@
|
||||
Source: weechat-devel
|
||||
Section: net
|
||||
Priority: optional
|
||||
Maintainer: Sébastien Helleu <flashcode@flashtux.org>
|
||||
Build-Depends:
|
||||
asciidoctor (>= 1.5.4),
|
||||
ruby-pygments.rb,
|
||||
debhelper (>= 12),
|
||||
cmake, pkg-config,
|
||||
libncursesw5-dev,
|
||||
gem2deb,
|
||||
libperl-dev,
|
||||
python3-dev,
|
||||
libaspell-dev,
|
||||
liblua5.3-dev,
|
||||
tcl8.6-dev,
|
||||
guile-2.2-dev,
|
||||
php-dev, libphp-embed, libargon2-dev, libsodium-dev,
|
||||
libxml2-dev,
|
||||
libcurl4-gnutls-dev,
|
||||
libgcrypt20-dev,
|
||||
libgnutls28-dev,
|
||||
libzstd-dev,
|
||||
zlib1g-dev
|
||||
Standards-Version: 4.6.0.1
|
||||
Homepage: https://weechat.org/
|
||||
Vcs-Git: https://salsa.debian.org/kolter/weechat.git
|
||||
Vcs-Browser: https://salsa.debian.org/kolter/weechat
|
||||
|
||||
Package: weechat-devel
|
||||
Architecture: all
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
weechat-devel-curses (>= ${source:Version}) | weechat-devel-headless (>= ${source:Version})
|
||||
Suggests: weechat-devel-doc (= ${source:Version})
|
||||
Conflicts: weechat
|
||||
Description: Fast, light and extensible chat client (metapackage)
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
It is customizable and extensible with plugins/scripts, and includes:
|
||||
- support of IRC protocol (native)
|
||||
- support of XMPP/Jabber protocol (with additional script)
|
||||
- nicklist
|
||||
- smart hotlist
|
||||
- horizontal and vertical split
|
||||
- double charset support (decode/encode)
|
||||
- FIFO pipe for remote control
|
||||
- 256 colors support
|
||||
- incremental text search
|
||||
- dynamic filtering of buffer content
|
||||
- Perl, Python, Ruby, Lua, Tcl, Scheme and PHP scripting
|
||||
- script manager
|
||||
- spell checking
|
||||
- highly customizable and extensible
|
||||
- and much more!
|
||||
|
||||
Package: weechat-devel-curses
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
weechat-devel-core (= ${binary:Version})
|
||||
Recommends:
|
||||
weechat-devel-plugins (= ${binary:Version})
|
||||
Suggests: weechat-devel-doc (= ${source:Version})
|
||||
Conflicts: weechat-curses
|
||||
Description: Fast, light and extensible chat client - console client
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
It is customizable and extensible with plugins/scripts, and includes:
|
||||
- support of IRC protocol (native)
|
||||
- support of XMPP/Jabber protocol (with additional script)
|
||||
- nicklist
|
||||
- smart hotlist
|
||||
- horizontal and vertical split
|
||||
- double charset support (decode/encode)
|
||||
- FIFO pipe for remote control
|
||||
- 256 colors support
|
||||
- incremental text search
|
||||
- dynamic filtering of buffer content
|
||||
- Perl, Python, Ruby, Lua, Tcl, Scheme and PHP scripting
|
||||
- script manager
|
||||
- spell checking
|
||||
- highly customizable and extensible
|
||||
- and much more!
|
||||
.
|
||||
This package provides the console client (ncurses).
|
||||
|
||||
Package: weechat-devel-headless
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
weechat-devel-core (= ${binary:Version})
|
||||
Recommends: weechat-devel-plugins (= ${binary:Version})
|
||||
Suggests: weechat-devel-doc (= ${source:Version})
|
||||
Conflicts: weechat-headless
|
||||
Description: Fast, light and extensible chat client - headless client
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
It is customizable and extensible with plugins/scripts, and includes:
|
||||
- support of IRC protocol (native)
|
||||
- support of XMPP/Jabber protocol (with additional script)
|
||||
- nicklist
|
||||
- smart hotlist
|
||||
- horizontal and vertical split
|
||||
- double charset support (decode/encode)
|
||||
- FIFO pipe for remote control
|
||||
- 256 colors support
|
||||
- incremental text search
|
||||
- dynamic filtering of buffer content
|
||||
- Perl, Python, Ruby, Lua, Tcl, Scheme and PHP scripting
|
||||
- script manager
|
||||
- spell checking
|
||||
- highly customizable and extensible
|
||||
- and much more!
|
||||
.
|
||||
This package provides the headless client.
|
||||
|
||||
Package: weechat-devel-core
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends}
|
||||
Suggests: weechat-devel-doc (= ${source:Version})
|
||||
Conflicts: weechat-core
|
||||
Description: Fast, light and extensible chat client - core files
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package provides core plugins and locales files for WeeChat. It
|
||||
currently ships the following plugins: alias, buflist, charset, fset, irc,
|
||||
logger and xfer. It is useless without weechat-curses or weechat-headless.
|
||||
|
||||
Package: weechat-devel-plugins
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
|
||||
Recommends:
|
||||
weechat-devel-perl,
|
||||
weechat-devel-python,
|
||||
weechat-devel-ruby
|
||||
Suggests: weechat-scripts (>> 20090221-1)
|
||||
Conflicts: weechat-plugins
|
||||
Description: Fast, light and extensible chat client - plugins
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package provides some plugins to enhance WeeChat. It currently
|
||||
ships the following plugins:
|
||||
- script manager
|
||||
- Spell checking (thanks to aspell)
|
||||
- FIFO pipe for remote control
|
||||
- Relay (IRC proxy and WeeChat protocol)
|
||||
- Trigger
|
||||
- Typing
|
||||
|
||||
Package: weechat-devel-python
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
|
||||
Conflicts: weechat-python
|
||||
Description: Fast, light and extensible chat client - Python 3 plugin
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package provides the Python 3 scripting API plugin.
|
||||
|
||||
Package: weechat-devel-perl
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
|
||||
Conflicts: weechat-perl
|
||||
Description: Fast, light and extensible chat client - Perl plugin
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package provides the Perl scripting API plugin.
|
||||
|
||||
Package: weechat-devel-ruby
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
|
||||
Conflicts: weechat-ruby
|
||||
Description: Fast, light and extensible chat client - Ruby plugin
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package provides the Ruby scripting API plugin.
|
||||
|
||||
Package: weechat-devel-lua
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
|
||||
Conflicts: weechat-lua
|
||||
Description: Fast, light and extensible chat client - Lua plugin
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package provides the Lua scripting API plugin.
|
||||
|
||||
Package: weechat-devel-tcl
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
|
||||
Conflicts: weechat-tcl
|
||||
Description: Fast, light and extensible chat client - Tcl plugin
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package provides the Tcl scripting API plugin.
|
||||
|
||||
Package: weechat-devel-guile
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
|
||||
Conflicts: weechat-guile
|
||||
Description: Fast, light and extensible chat client - Guile plugin
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package provides the Guile scripting API plugin.
|
||||
|
||||
Package: weechat-devel-php
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version}),
|
||||
libphp-embed
|
||||
Conflicts: weechat-php
|
||||
Description: Fast, light and extensible chat client - PHP plugin
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package provides the PHP scripting API plugin.
|
||||
|
||||
Package: weechat-devel-doc
|
||||
Section: doc
|
||||
Architecture: all
|
||||
Depends: ${misc:Depends}
|
||||
Conflicts: weechat-doc
|
||||
Description: Fast, light and extensible chat client - documentation
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package contains the html documentation for WeeChat.
|
||||
|
||||
Package: weechat-devel-dev
|
||||
Section: devel
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends}
|
||||
Conflicts: weechat-dev
|
||||
Description: Fast, light and extensible chat client - development headers
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package contains the headers needed to build plugins.
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/copyright
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/gbp.conf
|
||||
@@ -1,33 +0,0 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
export DEB_BUILD_MAINT_OPTIONS=hardening=+all
|
||||
|
||||
BUILDDIR = builddir
|
||||
|
||||
$(BUILDDIR)/Makefile:
|
||||
mkdir -p $(BUILDDIR)
|
||||
cd $(BUILDDIR) && \
|
||||
cmake .. \
|
||||
-DCMAKE_INSTALL_PREFIX:FILEPATH=/usr \
|
||||
-DLIBDIR=/usr/lib/${DEB_HOST_MULTIARCH} \
|
||||
-DENABLE_DOC:BOOL=ON \
|
||||
-DENABLE_MAN:BOOL=ON \
|
||||
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
|
||||
-DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING="$(CFLAGS) -D_FORTIFY_SOURCE=2" \
|
||||
-DCMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING="$(LDFLAGS)" \
|
||||
-DCMAKE_SKIP_RPATH:BOOL=ON \
|
||||
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
|
||||
|
||||
override_dh_auto_configure:
|
||||
# the package also has autotools buildsys and
|
||||
# debhelper try to use it but that's not needed
|
||||
echo
|
||||
|
||||
override_dh_auto_build: $(BUILDDIR)/Makefile
|
||||
dh_auto_build
|
||||
|
||||
override_dh_installchangelogs:
|
||||
dh_installchangelogs ChangeLog.adoc
|
||||
|
||||
%:
|
||||
dh $@ --builddirectory=$(BUILDDIR) --without autoreconf
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/watch
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-core.docs
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-core.install
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-curses.dirs
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-curses.install
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-curses.links
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-curses.menu
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-dev.dirs
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-dev.install
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-dev-en
|
||||
Title: WeeChat developer's guide (English)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes WeeChat internals and
|
||||
how to contribute to WeeChat (English version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_dev.en.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_dev.en.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-dev-fr
|
||||
Title: WeeChat developer's guide (French)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes WeeChat internals and
|
||||
how to contribute to WeeChat (French version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_dev.fr.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_dev.fr.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-dev-ja
|
||||
Title: WeeChat developer's guide (Japanese)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes WeeChat internals and
|
||||
how to contribute to WeeChat (Japanese version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_dev.ja.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_dev.ja.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-faq-de
|
||||
Title: WeeChat FAQ (German)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document answers frequently asked questions
|
||||
about the WeeChat IRC client (German version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.de.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.de.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-faq-en
|
||||
Title: WeeChat FAQ (English)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document answers frequently asked questions
|
||||
about the WeeChat IRC client (English version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.en.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.en.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-faq-es
|
||||
Title: WeeChat FAQ (Spanish)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document answers frequently asked questions
|
||||
about the WeeChat IRC client (Spanish version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.es.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.es.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-faq-fr
|
||||
Title: WeeChat FAQ (French)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document answers frequently asked questions
|
||||
about the WeeChat IRC client (French version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.fr.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.fr.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-faq-it
|
||||
Title: WeeChat FAQ (Italian)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document answers frequently asked questions
|
||||
about the WeeChat IRC client (Italian version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.it.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.it.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-faq-ja
|
||||
Title: WeeChat FAQ (Japanese)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document answers frequently asked questions
|
||||
about the WeeChat IRC client (Japanese version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.ja.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.ja.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-faq-pl
|
||||
Title: WeeChat FAQ (Polish)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document answers frequently asked questions
|
||||
about the WeeChat IRC client (Polish version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.pl.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.pl.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-plugin-en
|
||||
Title: WeeChat plugin API reference (English)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create plugins
|
||||
for WeeChat (English version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.en.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.en.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-plugin-fr
|
||||
Title: WeeChat plugin API reference (French)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create plugins
|
||||
for WeeChat (French version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.fr.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.fr.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-plugin-it
|
||||
Title: WeeChat plugin API reference (Italian)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create plugins
|
||||
for WeeChat (Italian version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.it.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.it.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-plugin-ja
|
||||
Title: WeeChat plugin API reference (Japanese)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create plugins
|
||||
for WeeChat (Japanese version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.ja.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.ja.html
|
||||
@@ -1,9 +0,0 @@
|
||||
Document: weechat-quickstart-de
|
||||
Title: WeeChat quick start guide (German)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: A short HowTo for new WeeChat users (German version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.de.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.de.html
|
||||
@@ -1,9 +0,0 @@
|
||||
Document: weechat-quickstart-en
|
||||
Title: WeeChat quick start guide (English)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: A short HowTo for new WeeChat users (English version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.en.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.en.html
|
||||
@@ -1,9 +0,0 @@
|
||||
Document: weechat-quickstart-es
|
||||
Title: WeeChat quick start guide (Spanish)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: A short HowTo for new WeeChat users (Spanish version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.es.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.es.html
|
||||
@@ -1,9 +0,0 @@
|
||||
Document: weechat-quickstart-fr
|
||||
Title: WeeChat quick start guide (French)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: A short HowTo for new WeeChat users (French version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.fr.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.fr.html
|
||||
@@ -1,9 +0,0 @@
|
||||
Document: weechat-quickstart-it
|
||||
Title: WeeChat quick start guide (Italian)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: A short HowTo for new WeeChat users (Italian version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.it.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.it.html
|
||||
@@ -1,9 +0,0 @@
|
||||
Document: weechat-quickstart-ja
|
||||
Title: WeeChat quick start guide (Japanese)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: A short HowTo for new WeeChat users (Japanese version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.ja.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.ja.html
|
||||
@@ -1,9 +0,0 @@
|
||||
Document: weechat-quickstart-pl
|
||||
Title: WeeChat quick start guide (Polish)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: A short HowTo for new WeeChat users (Polish version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.pl.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.pl.html
|
||||
@@ -1,9 +0,0 @@
|
||||
Document: weechat-quickstart-ru
|
||||
Title: WeeChat quick start guide (Russian)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: A short HowTo for new WeeChat users (Russian version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.ru.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.ru.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-relay-protocol-en
|
||||
Title: WeeChat Relay protocol (English)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes WeeChat Relay Protocol, used by
|
||||
remote GUI to communicate with Relay plugin (English version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_protocol.en.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_protocol.en.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-relay-protocol-fr
|
||||
Title: WeeChat Relay protocol (French)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes WeeChat Relay Protocol, used by
|
||||
remote GUI to communicate with Relay plugin (French version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_protocol.fr.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_protocol.fr.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-relay-protocol-ja
|
||||
Title: WeeChat Relay protocol (Japanese)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes WeeChat Relay Protocol, used by
|
||||
remote GUI to communicate with Relay plugin (Japanese version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_protocol.ja.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_protocol.ja.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-scripting-de
|
||||
Title: WeeChat scripting guide (German)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create scripts
|
||||
for WeeChat (German version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.de.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.de.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-scripting-en
|
||||
Title: WeeChat scripting guide (English)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create scripts
|
||||
for WeeChat (English version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.en.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.en.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-scripting-fr
|
||||
Title: WeeChat scripting guide (French)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create scripts
|
||||
for WeeChat (French version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.fr.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.fr.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-scripting-it
|
||||
Title: WeeChat scripting guide (Italian)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create scripts
|
||||
for WeeChat (Italian version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.it.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.it.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-scripting-ja
|
||||
Title: WeeChat scripting guide (Japanese)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create scripts
|
||||
for WeeChat (Japanese version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.ja.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.ja.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-scripting-pl
|
||||
Title: WeeChat scripting guide (Polish)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create scripts
|
||||
for WeeChat (Polish version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.pl.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.pl.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-user-de
|
||||
Title: WeeChat user's guide (German)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes how to use the WeeChat
|
||||
IRC client (German version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_user.de.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_user.de.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-user-en
|
||||
Title: WeeChat user's guide (English)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes how to use the WeeChat
|
||||
IRC client (English version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_user.en.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_user.en.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-user-fr
|
||||
Title: WeeChat user's guide (French)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes how to use the WeeChat
|
||||
IRC client (French version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_user.fr.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_user.fr.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-user-it
|
||||
Title: WeeChat user's guide (Italian)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes how to use the WeeChat
|
||||
IRC client (Italian version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_user.it.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_user.it.html
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user