Git commit 98d6363ad17559b87e8b203954381727ebd305d8 by Alex Merry. Committed on 10/01/2015 at 16:23. Pushed by alexmerry into branch 'master'.
Add script to convert to new KDEInstallDirs variable names. This is a separate script to adapt_cmakelists_file.pl, because it produces CMakeLists.txt files that depend on e-c-m 1.6.0 or later, and that may not be acceptable for all projects. CCMAIL: kde-buildsys...@kde.org CCMAIL: kde-frameworks-devel@kde.org M +1 -1 kf5/adapt_cmakelists_file.pl A +98 -0 kf5/cmakelists_install_vars.pl http://commits.kde.org/kde-dev-scripts/98d6363ad17559b87e8b203954381727ebd305d8 diff --git a/kf5/adapt_cmakelists_file.pl b/kf5/adapt_cmakelists_file.pl index 0834d4e..4f4cb76 100755 --- a/kf5/adapt_cmakelists_file.pl +++ b/kf5/adapt_cmakelists_file.pl @@ -492,7 +492,7 @@ my @l = map { if (my ($begin, $end) = $_ =~ $regexp) { $_ = $begin . "\${KNOTIFYRC_INSTALL_DIR}" . $end . "\n"; $modified = 1; - } elsif (not /KNOTIFYRC_INSTALL_DIR/) { + } elsif (not /KNOTIFYRC_INSTALL_DIR/ and not /_INSTALL_KNOTIFY5RCDIR/) { my $line = $_; $line =~ s/\s*$//; print "Could not fix a .notifyrc file installation call ($line)\n" diff --git a/kf5/cmakelists_install_vars.pl b/kf5/cmakelists_install_vars.pl new file mode 100755 index 0000000..8926048 --- /dev/null +++ b/kf5/cmakelists_install_vars.pl @@ -0,0 +1,98 @@ +#!/usr/bin/perl -w + +# Alex Merry <alex.me...@kde.org> 2015 +# +# Modifies CMakeLists.txt in current directory to use the new (as of +# extra-cmake-modules 1.6.0) install variables. +# +# Do not use unless your project depends on extra-cmake-modules 1.6.0 +# or later. + +use strict; +my $file = "CMakeLists.txt"; + +my %old_var_map = ( + BUNDLE_INSTALL_DIR => 'BUNDLEDIR', + EXEC_INSTALL_PREFIX => 'EXECROOTDIR', + BIN_INSTALL_DIR => 'BINDIR', + SBIN_INSTALL_DIR => 'SBINDIR', + LIB_INSTALL_DIR => 'LIBDIR', + LIBEXEC_INSTALL_DIR => 'LIBEXECDIR', + KF5_LIBEXEC_INSTALL_DIR => 'LIBEXECDIR_KF5', + CMAKECONFIG_INSTALL_PREFIX => 'CMAKEPACKAGEDIR', + QT_PLUGIN_INSTALL_DIR => 'QTPLUGINDIR', + PLUGIN_INSTALL_DIR => 'PLUGINDIR', + IMPORTS_INSTALL_DIR => 'QTQUICKIMPORTSDIR', + QML_INSTALL_DIR => 'QMLDIR', + INCLUDE_INSTALL_DIR => 'INCLUDEDIR', + KF5_INCLUDE_INSTALL_DIR => 'INCLUDEDIR_KF5', + DATA_INSTALL_DIR => 'DATADIR', + KF5_DATA_INSTALL_DIR => 'DATADIR_KF5', + HTML_INSTALL_DIR => 'DOCBUNDLEDIR', + KCFG_INSTALL_DIR => 'KCFGDIR', + KCONF_UPDATE_INSTALL_DIR => 'KCONFUPDATEDIR', + SERVICES_INSTALL_DIR => 'KSERVICES5DIR', + SERVICETYPES_INSTALL_DIR => 'KSERVICETYPES5DIR', + KXMLGUI_INSTALL_DIR => 'KXMLGUI5DIR', + KNOTIFYRC_INSTALL_DIR => 'KNOTIFY5RCDIR', + ICON_INSTALL_DIR => 'ICONDIR', + LOCALE_INSTALL_DIR => 'LOCALEDIR', + SOUND_INSTALL_DIR => 'SOUNDDIR', + TEMPLATES_INSTALL_DIR => 'TEMPLATEDIR', + WALLPAPER_INSTALL_DIR => 'WALLPAPERDIR', + XDG_APPS_INSTALL_DIR => 'APPDIR', + XDG_DIRECTORY_INSTALL_DIR => 'DESKTOPDIR', + XDG_MIME_INSTALL_DIR => 'MIMEDIR', + MAN_INSTALL_DIR => 'MANDIR', + DBUS_INTERFACES_INSTALL_DIR => 'DBUSINTERFACEDIR', + DBUS_SERVICES_INSTALL_DIR => 'DBUSSERVICEDIR', + DBUS_SYSTEM_SERVICES_INSTALL_DIR => 'DBUSSYSTEMSERVICEDIR', + SYSCONF_INSTALL_DIR => 'SYSCONFDIR', + CONFIG_INSTALL_DIR => 'CONFDIR', + AUTOSTART_INSTALL_DIR => 'AUTOSTARTDIR', + SHARE_INSTALL_PREFIX => 'DATAROOTDIR', +); + +my @new_var_suffixes = ( + 'METAINFODIR', + 'INFODIR', + 'DBUSDIR', + 'LOCALSTATEDIR', + 'SHAREDSTATEDIR', + 'LIBEXECDIR_KF5', +); +push(@new_var_suffixes, values %old_var_map); + +my %extra_changes = ( + INSTALL_TARGETS_DEFAULT_ARGS => 'KDE_INSTALL_TARGETS_DEFAULT_ARGS' +); + +open(my $FILE, "<", $file) || die; +my $modified = 0; +my @l = map { + my $orig = $_; + my $updated = $_; + + # all variables we care about have "INSTALL" in their name + if (/INSTALL/) { + while (my ($oldvar,$suffix) = each(%old_var_map)) { + $updated =~ s/\b$oldvar\b/KDE_INSTALL_$suffix/; + } + foreach (@new_var_suffixes) { + $updated =~ s/\bCMAKE_INSTALL_$_\b/KDE_INSTALL_$_/; + } + while (my ($oldvalue,$newvalue) = each(%extra_changes)) { + $updated =~ s/\b$oldvalue\b/$newvalue/; + } + } + + $modified ||= $orig ne $updated; + $updated; +} <$FILE>; + +if ($modified) { + open (my $OUT, ">", $file); + print $OUT @l; + close ($OUT); +} +# vi:et:sts=4:sw=4 _______________________________________________ Kde-frameworks-devel mailing list Kde-frameworks-devel@kde.org https://mail.kde.org/mailman/listinfo/kde-frameworks-devel