summaryrefslogtreecommitdiff
path: root/cmake
AgeCommit message (Collapse)Author
2019-11-12build: support python 3.8Eli Schwartz
In python 3.8, in order to link to -lpython3.8, you need to use the exported pkg-config interface 'python3-embed' (or 'python3-config --libs --embed'), see https://bugs.python.org/issue36721 for details.
2019-11-12python: use more idiomatic cmake pkg-config linkingEli Schwartz
cmake documentation is absolutely atrocious, and I don't know why they mention all the wrong things to use, and the cargo cult of successfully writing a cmake build definition (copy-pasting what works from other projects) also uses all the wrong things. But it turns out it is possible to correctly link a PkgConfig target despite all that, at least, *iff* you use cmake >= 3.13. I've chosen option 2, which is to vendor in cmake >= 3.13's FindPkgConfig module in the previous commit. Using IMPORTED_TARGET GLOBAL in a pkg-config check will result in a proper linker target being created. For comparison, this is like using meson's dependency() target, except meson forces you to do this by default. The result is that the build system's internal representation of how to link something, is used instead of manually passing build flags defined in variables. This is an important distinction to make, because cmake does not have a list datatype, and instead turns lists into strings separated by ';' which are indistinguishable from, like, strings which contain ';' characters. When you pass the resulting list-which-isn't-really-a-list to link an executable/library, you either need to preprocess the variable to replace ';' with ' ' (just in case there are multiple elements) or use cmake functions which magically know to do this themselves -- or at least, I assume there are cmake functions that correctly handle so-called "lists", or there would be no need for "lists" to exist. The IMPORTED_TARGET will define a bunch of INTERFACE_* properties which do seem to do exactly this. The resulting build definition should actually, correctly, link python, thereby fixing #1398 in a better way.
2019-11-12cmake: vendor in a new version of FindPkgConfigEli Schwartz
The current one is anciently ancient, and dates back to commit 4d2925ef1c3dd5df288be55557358b60cbb0926e which vendored this "for old versions of cmake". Well, currently it just stops using new versions of FindPkgConfig, so we're stuck on the 2006 version from cmake 2.5.0. Instead of deleting it entirely (the minimum version of cmake is currently 3.0) make this vendored file continue to be useful by using it to vendor in the latest version of FindPkgConfig from cmake 3.16.0-rc3 with a bunch of useful improvements.
2019-10-01core: fix style in CMake filesSébastien Helleu
2019-09-21core: remove detection of Ruby 1.8, since Ruby >= 1.9.1 is now required ↵Sébastien Helleu
(issue #1404)
2019-09-21guile: add support of Guile 2.2 (issue #1098)Sébastien Helleu
2019-09-15core: remove obsolete file FindTCL.cmake (issue #916, issue #956)Sébastien Helleu
This is file is provided by CMake and is not needed any more. Moreover, it causes an error on FreeBSD (TCL not found), even if TCL was properly detected and used during the build.
2019-07-31build: use pkg-config to properly link pythonEli Schwartz
fixes incorrect (non)detection of libpython3.Ym.so due to PEP 3149 since python's officially exported build flags know how to correctly link to python.
2019-07-01core: compile with Python 3 by defaultSébastien Helleu
The CMake option ENABLE_PYTHON3 is renamed to ENABLE_PYTHON2, to use Python 2 first then fallback on Python 3. In the same way, the configure option --enable-python3 is renamed to --enable-python2, to use Python 2 first then fallback on Python 3.
2019-06-28Merge remote-tracking branch 'origin/pr/1345'Sébastien Helleu
2019-05-13gui: simplify and revert FindNcurses using PATH_SUFFIXES for system default ↵Simmo Saan
search
2019-05-13gui: fix wide ncurses header on FreeBSD (issue #1343)Simmo Saan
2019-05-11core: add detection for Ruby 2.6J0WI
2019-01-01core: update copyright datesSébastien Helleu
2018-11-29core: use https for links to GNU GPL licenseSébastien Helleu
2018-10-16php: add detection of PHP 7.3Sébastien Helleu
2018-07-12python: add detection of Python 3.7Sébastien Helleu
2018-01-05core: update copyright datesSébastien Helleu
2017-12-26core: add detection for Ruby 2.5Jakub Jirutka
2017-10-27core: add fix for ncurses with separate tinfo (closes #1090)alyptik
2017-10-14build: fix PHP library used to compile PHP plugin (closes #1078)Sébastien Helleu
This was causing a dependency missing in debian packaging.
2017-09-28Merge pull request #1069 from adsr/masterSébastien Helleu
php: use find_library to find libphp7.so
2017-09-23core: fix typo: Javascript -> JavaScriptSébastien Helleu
2017-09-17php: use find_library to find libphp7.soAdam Saponara
2017-09-05php: ensure CMake script finds PHP 7Adam Saponara
2017-09-03php: new php pluginAdam Saponara
This plugin requires PHP >= 7.0.
2017-05-08python: add detection of Python 3.6Sébastien Helleu
2017-01-24core: add detection for Ruby 2.4Tim Harder
2017-01-01core: update copyright datesSébastien Helleu
2016-08-19Revert "api: fix connection to servers with hook_connect() on Windows 10 ↵Sébastien Helleu
with Windows subsystem for Linux (closes #770)" This reverts commit 399636f98453bdc1fca19b4dbc742993549aa6c3.
2016-08-06api: fix connection to servers with hook_connect() on Windows 10 with ↵Sébastien Helleu
Windows subsystem for Linux (closes #770)
2016-06-21python: add detection of Python 3.5Sébastien Helleu
2016-05-15core: remove obsolete file FindSourcehighlight.cmake (issue #722)Sébastien Helleu
2016-05-14core: require asciidoctor 1.5.4 instead of 1.5.0 (issue #722)Sébastien Helleu
2016-05-14doc: use asciidoctor instead of asciidoc (issue #722)Sébastien Helleu
2016-03-31Merge pull request #513 from rakuco/cmake-iconv-detectionSébastien Helleu
core: do not hardcode iconv library name
2016-02-29core: search Ruby 2.3 executableSébastien Helleu
2016-02-29Add detection for Ruby 2.3Christian Hofstaedtler
2016-02-01Python plugin shared libraries missingShane McCarron
When linking against a python with shared libraries, this script ONLY asked for the LD flags, not any additional libraries. This could result in a condition where required libraries (such as libutil on Centos 6.7 against Python 2.7) are not loaded and the load of the plugin thus fails. This change asks the python being linked against which libraries it was linked using, and then ensures those are also linked against by the python plugin for weechat.
2016-01-01core: update copyright datesSébastien Helleu
2015-09-07ruby: fix Ruby detection when pkg-config is not installedSébastien Helleu
The package "pkgconf" is not installed by default on FreeBSD 10.2, so the detection of Ruby was failing.
2015-09-02FindIconv: Stop hardcoding the library name.Raphael Kubo da Costa
Instead of splitting ${ICONV_LIBRARY}'s path and then assuming the library is called "libiconv.so", use ${ICONV_LIBRARY}'s entire value in the calls to check_library_exists(). If that is not done, the iconv detection fails if one sets ICONV_LIBRARY to, for example, /usr/lib/libc.so, as the previous calls would still pass "-liconv" to the linker instead of the chosen value.
2015-06-12core: fix package name in comment (FindCppUTest.cmake)Sébastien Helleu
2015-06-11core: fix package name in comment (FindV8.cmake)Sébastien Helleu
2015-06-10ruby: add detection of Ruby 2.2Sébastien Helleu
2015-05-17core: make cpputest optional in cmake compilationSébastien Helleu
With this fix, WeeChat can be built without tests (if cpputest is not found), without having to explicitely disable tests ("-DENABLE_TESTS=OFF").
2015-05-17lua: add detection of Lua 5.3Sébastien Helleu
2015-03-07javascript: add new plugin to run javascript scripts in WeeChatSébastien Helleu
This plugin was originally written by Koka El Kiwi (repository: https://github.com/KokaKiwi/weechat-js-plugin). This plugin uses Google V8 engine to execute JS scripts.
2015-01-12doc: add translators in docs, move table of contents on the left, build HTML5Sébastien Helleu
2015-01-01core: update copyright datesSébastien Helleu