Commit graph

216 commits

Author SHA1 Message Date
Ivailo Monev
ab1248d072 cmake: amend dependencies variables only if package itself is found
this ensures package will be considered as not found in case the
dependencies of the package are found but not the actual package that the
module is looking for

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-19 22:04:29 +02:00
Ivailo Monev
220edf11d7 generic: replace use of MacroPushRequiredVars CMake module with CMakePushCheckState
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-19 17:32:31 +00:00
Ivailo Monev
21697dadf6 cmake: rewrite Qalculate module
neither the Plasma runner nor the applet actually used the QALCULATE_CFLAGS
variable meaning that if Qalculate was installed in non-standard prefix
the build was likely to fail, this fixes that problem by replacing it with
QALCULATE_INCLUDE_DIR which will be used in the build system for the applet
and runner.

also fixes a CMake deprecation warning about using obsolete UsePkgConfig
module.

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-19 16:48:14 +00:00
Ivailo Monev
45eb9a8097 cmake: remove unused systeminfo file
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-19 15:35:54 +00:00
Ivailo Monev
c020af37da cmake: remove QT_VISIBILITY_AVAILABLE check
Katie supports only compilers which have support for visibility attributes

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-18 21:47:20 +00:00
Ivailo Monev
33e6c2e39c cmake: use identical _KDE4_PLATFORM_DEFINITIONS for all compilers on GNU/Linux host
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-18 21:30:13 +00:00
Ivailo Monev
d78dec7d88 cmake: remove Qt support leftovers
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-18 21:25:02 +00:00
Ivailo Monev
33cad70fd6 cmake: remove unused SubversionLibrary module
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-18 18:01:23 +00:00
Ivailo Monev
a49ebef7c5 cmake: remove unused Eigen2 module
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-18 17:58:05 +00:00
Ivailo Monev
6de0aa57cc cmake: MacroLogFeature rewrite
logging found and otherwise packages will no longer be done thus
macro_display_feature_log() is removed. the reason for not doing is because
it simply does not cover all package lookups, only those logged via
macro_log_feature(). if I was to fix that, I would probably resort to
CMakeCache.txt parsing trickery since it includes indirect package lookups
aswell as header, struct, member, etc. checks however that would be
fragile and require common pattern in the checks

macro_log_feature() incorrectly quoted DESCRIPTION and PURPOSE in the
CMake output but that is fixed now. it will be replaced with actual
set_package_properties() macro calls in the future.

in any case, it is addition disk I/O so the configuration/build time will
be reduced with this change.

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-18 16:41:32 +00:00
Ivailo Monev
addf9315b4 cmake: set version variables to non-PC_ prefixed
for possible version checks in build systems which expect the variable
prefix to match that of the other variables

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-18 15:53:03 +00:00
Ivailo Monev
1ba57b3b8d cmake: move GIO, IBus and SCIM modules from kde-extraapps
the modules were also rewritten

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-18 15:35:24 +00:00
Ivailo Monev
12a4d15d41 cmake: remove unused Xmms module
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-18 14:38:28 +00:00
Ivailo Monev
d6b3f6ad59 cmake: remove unused LCMS2 module
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-18 14:12:24 +00:00
Ivailo Monev
d11526f95b cmake: remove unused PkgConfigGetVar module
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-18 14:07:46 +00:00
Ivailo Monev
3eb17fdf2b cmake: review modules rewritten so far by me
using pkg-config search as primary method with fallback to path lookup,
this may result in overlinking however if libraries require additional
include paths (as is the case with PulseAudio) with this change that will
not be a problem.

it will also reduce the lookups done during configuration/build since path
lookups will not be done, unless pkg-config lookup does not set the
required variables.

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-10 20:52:45 +00:00
Ivailo Monev
f1304e5c21 cmake: rewrite PulseAudio module
this gets rid of the GLib2 package search requirement in KMix build system

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-10 19:41:14 +00:00
Ivailo Monev
c27f1ffae1 cmake: remove unused SLP module
TODO from https://github.com/fluxer/katana/issues/8

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-10 01:24:16 +00:00
Ivailo Monev
4d6fb007e7 generic: fix most of the overlinking issues
TODO from https://github.com/fluxer/katana/issues/7. I've decided to
keep KDE4 and Katie libraries as PUBLIC, all other libraries as PRIVATE
for that and not use INTERFACE at all since that will not require a lot
of changes to all other sub-projects (kde-baseapps, kde-workspace and
kde-extraapps) build systems.

MusicBrainz5 CMake module was also rewritten as the actual library that
should be linked to is libmusicbrainz5cc, libmusicbrainz5 is the C
version of it.

common checks for X11 extensions where move to main config header,
eventually to be moved to separate config-x11 header.

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-09 21:58:11 +00:00
Ivailo Monev
478ca250a2 generic: replace installation paths with KDE4_ prefixed
this is TODO from issue #9. CPack and CTest configs will not be
supported. most of the changes done to other repisitories is automated
via:

find -type f -exec sed -i -e 's|${INSTALL_DIR}|${KDE4_INSTALL_DIR}|g' \
    -e 's|${EXEC_INSTALL_PREFIX}|${KDE4_EXEC_INSTALL_PREFIX}|g' \
    -e 's|${SHARE_INSTALL_PREFIX}|${KDE4_SHARE_INSTALL_PREFIX}|g' \
    -e 's|${BIN_INSTALL_DIR}|${KDE4_BIN_INSTALL_DIR}|g' \
    -e 's|${SBIN_INSTALL_DIR}|${KDE4_SBIN_INSTALL_DIR}|g' \
    -e 's|${LIB_INSTALL_DIR}|${KDE4_LIB_INSTALL_DIR}|g' \
    -e 's|${LIBEXEC_INSTALL_DIR}|${KDE4_LIBEXEC_INSTALL_DIR}|g' \
    -e 's|${INCLUDE_INSTALL_DIR}|${KDE4_INCLUDE_INSTALL_DIR}|g' \
    -e 's|${PLUGIN_INSTALL_DIR}|${KDE4_PLUGIN_INSTALL_DIR}|g' \
    -e 's|${IMPORTS_INSTALL_DIR}|${KDE4_IMPORTS_INSTALL_DIR}|g' \
    -e 's|${CONFIG_INSTALL_DIR}|${KDE4_CONFIG_INSTALL_DIR}|g' \
    -e 's|${DATA_INSTALL_DIR}|${KDE4_DATA_INSTALL_DIR}|g' \
    -e 's|${ICON_INSTALL_DIR}|${KDE4_ICON_INSTALL_DIR}|g' \
    -e 's|${KCFG_INSTALL_DIR}|${KDE4_KCFG_INSTALL_DIR}|g' \
    -e 's|${LOCALE_INSTALL_DIR}|${KDE4_LOCALE_INSTALL_DIR}|g' \
    -e 's|${MIME_INSTALL_DIR}|${KDE4_MIME_INSTALL_DIR}|g' \
    -e 's|${SERVICES_INSTALL_DIR}|${KDE4_SERVICES_INSTALL_DIR}|g' \
    -e 's|${SERVICETYPES_INSTALL_DIR}|${KDE4_SERVICETYPES_INSTALL_DIR}|g' \
    -e 's|${SOUND_INSTALL_DIR}|${KDE4_SOUND_INSTALL_DIR}|g' \
    -e 's|${TEMPLATES_INSTALL_DIR}|${KDE4_TEMPLATES_INSTALL_DIR}|g' \
    -e 's|${WALLPAPER_INSTALL_DIR}|${KDE4_WALLPAPER_INSTALL_DIR}|g' \
    -e 's|${AUTOSTART_INSTALL_DIR}|${KDE4_AUTOSTART_INSTALL_DIR}|g' \
    -e 's|${XDG_APPS_INSTALL_DIR}|${KDE4_XDG_APPS_INSTALL_DIR}|g' \
    -e 's|${XDG_DIRECTORY_INSTALL_DIR}|${KDE4_XDG_DIRECTORY_INSTALL_DIR}|g' \
    -e 's|${XDG_MIME_INSTALL_DIR}|${KDE4_XDG_MIME_INSTALL_DIR}|g' \
    -e 's|${SYSCONF_INSTALL_DIR}|${KDE4_SYSCONF_INSTALL_DIR}|g' \
    -e 's|${MAN_INSTALL_DIR}|${KDE4_MAN_INSTALL_DIR}|g' \
    -e 's|${INFO_INSTALL_DIR}|${KDE4_INFO_INSTALL_DIR}|g' \
    -e 's|${DBUS_INTERFACES_INSTALL_DIR}|${KDE4_DBUS_INTERFACES_INSTALL_DIR}|g' \
    -e 's|${DBUS_SERVICES_INSTALL_DIR}|${KDE4_DBUS_SERVICES_INSTALL_DIR}|g' \
    -e 's|${DBUS_SYSTEM_SERVICES_INSTALL_DIR}|${KDE4_DBUS_SYSTEM_SERVICES_INSTALL_DIR}|g' \
    -e 's|${KAUTH_HELPER_PLUGIN_DIR}|${KDE4_KAUTH_HELPER_PLUGIN_DIR}|g' \
    -e 's|${KAUTH_BACKEND_PLUGIN_DIR}|${KDE4_KAUTH_BACKEND_PLUGIN_DIR}|g' {} +

note that if you execute this command you may corrupt the git repository
files so move the .git directory out of the way. you can also verify
that there are no other reference to the compatibility installation
paths via:

git grep \
    -e INSTALL_DIR \
    -e EXEC_INSTALL_PREFIX \
    -e SHARE_INSTALL_PREFIX \
    -e BIN_INSTALL_DIR \
    -e SBIN_INSTALL_DIR \
    -e LIB_INSTALL_DIR \
    -e LIBEXEC_INSTALL_DIR \
    -e INCLUDE_INSTALL_DIR \
    -e PLUGIN_INSTALL_DIR \
    -e IMPORTS_INSTALL_DIR \
    -e CONFIG_INSTALL_DIR \
    -e DATA_INSTALL_DIR \
    -e ICON_INSTALL_DIR \
    -e KCFG_INSTALL_DIR \
    -e LOCALE_INSTALL_DIR \
    -e MIME_INSTALL_DIR \
    -e SERVICES_INSTALL_DIR \
    -e SERVICETYPES_INSTALL_DIR \
    -e SOUND_INSTALL_DIR \
    -e TEMPLATES_INSTALL_DIR \
    -e WALLPAPER_INSTALL_DIR \
    -e AUTOSTART_INSTALL_DIR \
    -e XDG_APPS_INSTALL_DIR \
    -e XDG_DIRECTORY_INSTALL_DIR \
    -e XDG_MIME_INSTALL_DIR \
    -e SYSCONF_INSTALL_DIR \
    -e MAN_INSTALL_DIR \
    -e INFO_INSTALL_DIR \
    -e DBUS_INTERFACES_INSTALL_DIR \
    -e DBUS_SERVICES_INSTALL_DIR \
    -e DBUS_SYSTEM_SERVICES_INSTALL_DIR \
    -e KAUTH_HELPER_PLUGIN_DIR \
    -e KAUTH_BACKEND_PLUGIN_DIR | grep -v KDE4_

this change should make default installation Filesystem Hierarchy
Standard (FHS) compliant and packaging easier since library suffix (e.g.
64 for x86_64 hosts) will not have to be specified explicitly, it may
solve possible conflicts with installation path variables from other
projects which use custom installation paths aswell

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-08 20:46:43 +00:00
Ivailo Monev
80959a284b cmake: rewrite Alsa module
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-08 18:05:50 +00:00
Ivailo Monev
d5184d50b1 cmake: rewrite GMP, MPFR, MPV and Sqlite modules
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-08 17:13:19 +00:00
Ivailo Monev
6199ce1520 cmake: remove unused DBus and MySQL modules
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-08 15:38:24 +00:00
Ivailo Monev
a83285f6b5 cmake: remove unused modules
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-08 05:15:41 +02:00
Ivailo Monev
8d3ea2c1bc generic: purge Qt support with fire
this includes QtWebKit support removal since it is not going to be
maintained, fancy headers removal, CMake modules rewrite/removal
and removing conditionals from the build system. Pre-processor
definitions checks are still in place on purpose

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-07 13:00:55 +00:00
Ivailo Monev
ee349923a3 generic: bump version to 4.19.0
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-06 17:42:19 +00:00
Ivailo Monev
bfd1b6edd4 cmake: fix detection of recent NetworkManager versions detection
libnm-util and libnm-glib have been merged into libnm since NetworkManager v1.0

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-05 17:26:43 +00:00
Ivailo Monev
7491c27479 cmake: remove unused MusicBrainz CMake module
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-05 15:41:46 +00:00
Ivailo Monev
82bc2feec0 cmake: indent and improve GSSAPI CMake module
on Debian krb5-config is .mit suffixed, also since recent KRB5 versions
cflags prefix include directories with -isystem instead of -I

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-05 15:32:31 +00:00
Ivailo Monev
cd8cf2c017 cmake: remove redundant Poppler module
duplicate, same as PopplerQt4

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-04 23:38:43 +00:00
Ivailo Monev
eb1c4f4e6c cmake: detect Katie specific DBusMenuQt library
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-01-29 13:04:13 +00:00
Ivailo Monev
4a49bf3808 cmake: deal with CMP0071 policy warnings
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-11-17 18:55:32 +00:00
Ivailo Monev
aea83f844f cmake: add FLAC++ module for audio thumbnailers
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-07-11 19:05:02 +00:00
Ivailo Monev
7bd3ee46b7 cmake: rely only on pkg-config files to find Taglib
it is more reliable in case of an issue with locales in which case output
can contain warning messages

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-07-11 19:04:18 +00:00
Ivailo Monev
b08f412618 cmake: remove FAM module leftover
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-06-21 20:09:07 +00:00
Ivailo Monev
e5869fc88c generic: remove now redundant check for FAM
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-06-21 18:53:36 +00:00
Ivailo Monev
ad2ccd6b2d cmake: remove KDE3 compatibility from KDE4Macros
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-05-21 17:09:50 +00:00
Ivailo Monev
ad93157003 cmake: drop custom build flags setup
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-05-16 01:01:15 +00:00
Ivailo Monev
ead23d2f84 cmake: fix Exiv2 version detection
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-05-03 05:12:31 +00:00
Ivailo Monev
1e35c73f37 cmake: remove reference to CLN from Qalculate module
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2018-10-29 05:02:53 +00:00
Ivailo Monev
9d1580ceb6 cmake: enhance Enchant module to detect v2.0 or newer
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2018-02-10 12:07:49 +00:00
Ivailo Monev
922258e5e1 cmake: fix dev warning in kde4_cmake_uninstall
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2017-08-02 17:19:39 +00:00
Ivailo Monev
6bc3ee471f cmake: use SET_PACKAGE_PROPERTIES instead of SET_PACKAGE_INFO in MacroLogFeature
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2017-06-24 03:03:05 +00:00
Ivailo Monev
3034a50842 cmake: improve detection of Hunspell
some distributions provide a non-versioned library symlink

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-12-12 01:35:52 +00:00
Ivailo Monev
adb1d5694d cmake: fix detection of newer Hunspell
sadly, Hunspell does not provide non-versioned library

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-12-12 01:32:11 +00:00
Ivailo Monev
bf8850ce6f cmake: add PolkitQt-1 module
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-12-10 02:48:47 +00:00
Ivailo Monev
8e58c9a6dd cmake: that duplicate condition was used as NOT
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-11-07 15:50:45 +00:00
Ivailo Monev
2a2ca4370e cmake: remove duplicate condition from uninstall script
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-11-07 15:08:44 +00:00
Ivailo Monev
6246a67419 cmake: remove redundant modules
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-10-30 15:08:09 +00:00
Ivailo Monev
5cf0eafa90 cmake: remove redundant modules
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2016-10-30 05:21:45 +00:00