Warning, file /sdk/kde-dev-scripts/kf5/cmakelists_install_vars.pl was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 #!/usr/bin/perl -w 0002 0003 # Alex Merry <alex.merry@kde.org> 2015 0004 # 0005 # Modifies CMakeLists.txt in current directory to use the new (as of 0006 # extra-cmake-modules 1.6.0) install variables. 0007 # 0008 # Do not use unless your project depends on extra-cmake-modules 1.6.0 0009 # or later. 0010 # find -iname "CMakeLists.txt" |xargs kde-dev-scripts/kf5/cmakelists_install_vars.pl 0011 0012 use strict; 0013 0014 my %old_var_map = ( 0015 BUNDLE_INSTALL_DIR => 'BUNDLEDIR', 0016 EXEC_INSTALL_PREFIX => 'EXECROOTDIR', 0017 BIN_INSTALL_DIR => 'BINDIR', 0018 SBIN_INSTALL_DIR => 'SBINDIR', 0019 LIB_INSTALL_DIR => 'LIBDIR', 0020 LIBEXEC_INSTALL_DIR => 'LIBEXECDIR', 0021 KF5_LIBEXEC_INSTALL_DIR => 'LIBEXECDIR_KF5', 0022 CMAKECONFIG_INSTALL_PREFIX => 'CMAKEPACKAGEDIR', 0023 QT_PLUGIN_INSTALL_DIR => 'QTPLUGINDIR', 0024 PLUGIN_INSTALL_DIR => 'PLUGINDIR', 0025 IMPORTS_INSTALL_DIR => 'QTQUICKIMPORTSDIR', 0026 QML_INSTALL_DIR => 'QMLDIR', 0027 INCLUDE_INSTALL_DIR => 'INCLUDEDIR', 0028 KF5_INCLUDE_INSTALL_DIR => 'INCLUDEDIR_KF5', 0029 DATA_INSTALL_DIR => 'DATADIR', 0030 KF5_DATA_INSTALL_DIR => 'DATADIR_KF5', 0031 HTML_INSTALL_DIR => 'DOCBUNDLEDIR', 0032 KCFG_INSTALL_DIR => 'KCFGDIR', 0033 KCONF_UPDATE_INSTALL_DIR => 'KCONFUPDATEDIR', 0034 SERVICES_INSTALL_DIR => 'KSERVICES5DIR', 0035 SERVICETYPES_INSTALL_DIR => 'KSERVICETYPES5DIR', 0036 KXMLGUI_INSTALL_DIR => 'KXMLGUI5DIR', 0037 KNOTIFYRC_INSTALL_DIR => 'KNOTIFY5RCDIR', 0038 ICON_INSTALL_DIR => 'ICONDIR', 0039 LOCALE_INSTALL_DIR => 'LOCALEDIR', 0040 SOUND_INSTALL_DIR => 'SOUNDDIR', 0041 TEMPLATES_INSTALL_DIR => 'TEMPLATEDIR', 0042 WALLPAPER_INSTALL_DIR => 'WALLPAPERDIR', 0043 XDG_APPS_INSTALL_DIR => 'APPDIR', 0044 XDG_DIRECTORY_INSTALL_DIR => 'DESKTOPDIR', 0045 XDG_MIME_INSTALL_DIR => 'MIMEDIR', 0046 MAN_INSTALL_DIR => 'MANDIR', 0047 DBUS_INTERFACES_INSTALL_DIR => 'DBUSINTERFACEDIR', 0048 DBUS_SERVICES_INSTALL_DIR => 'DBUSSERVICEDIR', 0049 DBUS_SYSTEM_SERVICES_INSTALL_DIR => 'DBUSSYSTEMSERVICEDIR', 0050 SYSCONF_INSTALL_DIR => 'SYSCONFDIR', 0051 CONFIG_INSTALL_DIR => 'CONFDIR', 0052 AUTOSTART_INSTALL_DIR => 'AUTOSTARTDIR', 0053 SHARE_INSTALL_PREFIX => 'DATAROOTDIR', 0054 SYSTEMD_UNIT_INSTALL_DIR => 'SYSTEMDUNITDIR', 0055 SYSTEMD_USER_UNIT_INSTALL_DIR => 'SYSTEMDUSERUNITDIR', 0056 ); 0057 0058 my @new_var_suffixes = ( 0059 'METAINFODIR', 0060 'INFODIR', 0061 'DBUSDIR', 0062 'LOCALSTATEDIR', 0063 'SHAREDSTATEDIR', 0064 'LIBEXECDIR_KF5', 0065 ); 0066 push(@new_var_suffixes, values %old_var_map); 0067 0068 my %extra_changes = ( 0069 INSTALL_TARGETS_DEFAULT_ARGS => 'KDE_INSTALL_TARGETS_DEFAULT_ARGS' 0070 ); 0071 0072 foreach my $file (@ARGV) { 0073 open(my $FILE, "<", $file) || die; 0074 my $modified = 0; 0075 my @l = map { 0076 my $orig = $_; 0077 my $updated = $_; 0078 0079 # all variables we care about have "INSTALL" in their name 0080 if (/INSTALL/) { 0081 while (my ($oldvar,$suffix) = each(%old_var_map)) { 0082 $updated =~ s/\${$oldvar}/\${KDE_INSTALL_$suffix}/; 0083 } 0084 foreach (@new_var_suffixes) { 0085 $updated =~ s/\${CMAKE_INSTALL_$_}/\${KDE_INSTALL_$_}/; 0086 } 0087 while (my ($oldvalue,$newvalue) = each(%extra_changes)) { 0088 $updated =~ s/\${$oldvalue}/\${$newvalue}/; 0089 } 0090 } 0091 0092 $modified ||= $orig ne $updated; 0093 $updated; 0094 } <$FILE>; 0095 0096 if ($modified) { 0097 open (my $OUT, ">", $file); 0098 print $OUT @l; 0099 close ($OUT); 0100 } 0101 } 0102 # vi:et:sts=4:sw=4