Commit graph

446 commits

Author SHA1 Message Date
Ivailo Monev
f3af1c85c7 cmake: set CMAKE_NO_SYSTEM_FROM_IMPORTED to ON from KDE4Defaults
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-02-03 08:58:51 +02:00
Ivailo Monev
860768f80d generic: bump version to 4.20.0
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-02-03 06:38:21 +02:00
Ivailo Monev
8938d0ad41 cmake: set library version to <major>.<minor>
fixes build of projects depending on kdelibs on OpenBSD

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-02-03 06:37:37 +02:00
Ivailo Monev
63087f5ce3 generic: rewrite LibRaw CMake module
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-01-22 21:29:45 +02:00
Ivailo Monev
1f081d5014 generic: replace cmake_push_check_state() and cmake_pop_check_state() with cmake_reset_check_state()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-01-22 03:04:57 +02:00
Ivailo Monev
4f17227f68 cmake: remove disabled code for cross-compiling
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-01-07 23:33:50 +02:00
Ivailo Monev
5ea7027075 cmake: remove unused kde4_create_manpage() macro
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-01-07 14:36:18 +02:00
Ivailo Monev
b8e0493fa8 cmake: define NDEBUG for non-debug builds
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-12-22 16:21:21 +00:00
Ivailo Monev
d8d265082d generic: replace use of CheckStructMember with CheckStructHasMember
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-11-07 19:38:48 +02:00
Ivailo Monev
1ad37404a1 cmake: fix regression since 126f6a9bd7
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-11-07 19:05:23 +02:00
Ivailo Monev
126f6a9bd7 cmake: replace use of CHECK_POINTER_MEMBER() with CHECK_STRUCT_MEMBER()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-10-21 03:33:05 +03:00
Ivailo Monev
20eb365ce7 cmake: add FFmpegThumbnailer module
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2020-10-04 09:26:42 +03:00
Ivailo Monev
959f5e499d cmake: rewrite LibGPS and Speechd modules
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-04-02 09:31:30 +00:00
Ivailo Monev
1bf96c14b0 cmake: rewrite ENCHANT and Taglib modules
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-03-25 02:05:59 +00:00
Ivailo Monev
bc06c619e3 cmake: rewrite Avhi and EPub modules
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-03-25 01:41:20 +00:00
Ivailo Monev
6b197dc80c cmake: remove unused BlueZ module
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-03-25 01:41:04 +00:00
Ivailo Monev
bdd7699164 cmake: rewrite LibGcrypt and LibKonq modules
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-03-24 03:26:51 +00:00
Ivailo Monev
a2d9a765e1 cmake: remove unused MacroWriteBasicCMakeVersionFile module
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-26 00:03:53 +02:00
Ivailo Monev
7abfb3a5c1 cmake: update installation paths documentation in FinKDE4Internal module
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-25 23:32:16 +02:00
Ivailo Monev
7ce7242ba9 cmake: rewrite Eigen3 and Exiv2 modules
note that Eigen3 does not provide a library. also everywhere Exiv2 package
is searched for a minimum version is specified and is newer than 0.12

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-25 18:07:49 +00:00
Ivailo Monev
a85213ab10 cmake: rewrite Canberra and Fontconfig modules
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-25 17:23:40 +00:00
Ivailo Monev
a6f8ed95fa cmake: remove reference to KDE4Workspace installation paths
removed with 8be5c29d54

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-25 17:23:00 +00:00
Ivailo Monev
bdc43e7ab2 cmake: support different Attica versions
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-21 21:27:17 +00:00
Ivailo Monev
fe8e27f351 cmake: rewrite LibAttica, LibLZMA, LibSSH, Mtp and RAW1394 modules
gets rid of the fragile version parsing and substitutes it with version
based on pkg-config variable
2020-02-21 19:17:25 +00:00
Ivailo Monev
eb8adea4ce cmake: rewrite PCIUTILS module
it was causing overlinkg due to incorrect dependency additions added by the
module because resolv library is used privately. in fact, it uses zlib and
udev too but only privately and none of their include directories are
needed to use libpci.

since the rewrite makes use of pkg-config as primary lookup method any
future changes to that behaviour will be handled correctly without
overlinking.

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-20 22:06:56 +00:00
Ivailo Monev
af9afb46d0 cmake: remove unused MacroLogFeature module
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-20 22:01:39 +00:00
Ivailo Monev
99c9ddc5e6 cmake: rewrite LibMms and LibSpectre modules
the LibSpectre module rewrite fixes warning about use of deprecated
UsePkgConfig module

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-20 18:59:07 +00:00
Ivailo Monev
5996fef58e cmake: rewrite HUNSPELL module
since pkg-config method is used as primary this change should fix forward
compatibility issues related to it being versioned in unusual way. while
at it, added 1.7 to list of names

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-20 04:57:54 +00:00
Ivailo Monev
c755f25fc4 cmake: remove CMAKE_C_FLAGS override from LIBPARTED module
no custom C/C++ flags are set globally during build, the exceptions is
KDE4_ENABLE_EXCEPTIONS which build systems use where needed only

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-19 20:54:26 +00:00
Ivailo Monev
3065f6f156 cmake: review CMake modules rewritten by me
since find_package_handle_standard_args() is used and no status messages
are printed by the modules there is no reason to set <MODULE>_FIND_QUIETLY
variable (which should be prefixed with the actual module name, not upper
case)

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2020-02-19 20:52:40 +00:00
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