File indexing completed on 2024-04-14 05:35:05

0001 #!/usr/bin/perl -w
0002 
0003 # Laurent Montel <montel@kde.org> 2014-2015
0004 # Modifies CMakeLists.txt to use kf5 macro
0005 # find -iname "CMakeLists.txt" |xargs kde-dev-scripts/kf5/adapt_cmakelists_file.pl
0006 
0007 use strict;
0008 
0009 foreach my $file (@ARGV) {
0010 open(my $FILE, "<", $file) || die;
0011 my $modified = 0;
0012 my @l = map {
0013   my $orig = $_;
0014   if (/kde4_no_enable_final/i) {
0015      $_ = "";
0016      $modified = 1;
0017   }
0018   if (/KDE4_INCLUDE_DIR/) {
0019      $_ =~ s/\$\{KDE4_INCLUDE_DIR\}//;
0020      $modified = 1;
0021   }
0022   if (/QT_INCLUDES/ ) {
0023      $_ =~ s/\$\{QT_INCLUDES\}//;
0024      $modified = 1;
0025   }
0026   if (/kde4_install_icons/i) {
0027      $_ =~ s/kde4_install_icons/ecm_install_icons/i;
0028      $modified = 1;
0029   }
0030   if (/kde4_add_library/i) {
0031      $_ =~ s/kde4_add_library/add_library/i;
0032      $modified = 1;
0033   }
0034   if (/kde4_add_ui_files/i) {
0035      $_ =~ s/kde4_add_ui_files/ki18n_wrap_ui/i;
0036      $modified = 1;
0037   }
0038   if (/kde4_add_kcfg_files/i) {
0039       $_ =~ s/kde4_add_kcfg_files/kconfig_add_kcfg_files/i;
0040       $modified = 1;
0041   }
0042   if (/kde4_add_executable\s*\(\s*([\w_]+)/i) {
0043       my $target = $1;
0044       $_ =~ s/kde4_add_executable/add_executable/i;
0045       if (s/ NOGUI//) {
0046           $_ .= "ecm_mark_nongui_executable($target)\n";
0047       }
0048       if (s/ TEST//) {
0049           $_ .= "ecm_mark_as_test($target)\n";
0050       }
0051       $modified = 1;
0052   }
0053   if (/kde4_add_unit_test\s*\(\s*([\w_]+)/i) {
0054       my $target = $1;
0055       $_ =~ s/kde4_add_unit_test/add_executable/i;
0056       s/ TEST//;
0057       $_ .= "add_test($target $target)\n";
0058       $_ .= "ecm_mark_as_test($target)\n";
0059   }
0060 
0061   if (/KDE4_ENABLE_EXCEPTIONS/i) {
0062       $_ =~ s/set\s*\(\s*CMAKE_CXX_FLAGS\s*\"\$\{CMAKE_CXX_FLAGS\} \$\{KDE4_ENABLE_EXCEPTIONS\}\"\s*\)/kde_enable_exceptions\(\)/i;
0063       $_ =~ s/add_definitions\(\s*\$\{KDE4_ENABLE_EXCEPTIONS\}\s*\)/kde_enable_exceptions\(\)/i;
0064       $modified = 1;
0065   } 
0066   if (/qt4_add_dbus_adaptor/i) {
0067       $_ =~ s/qt4_add_dbus_adaptor/qt5_add_dbus_adaptor/i;
0068       $modified = 1;
0069   }
0070   if (/qt4_wrap_ui/i) {
0071       $_ =~ s/qt4_wrap_ui/ki18n_wrap_ui/i;
0072       $modified = 1;
0073   }
0074   if (/KDE4_KCALCORE_LIBS/) {
0075      $_ =~ s/\$\{KDE4_KCALCORE_LIBS\}/KF5::CalendarCore/;
0076      $modified = 1;
0077   }
0078   if (/KDE4_KMIME_LIBRARY/) {
0079      $_ =~ s/\$\{KDE4_KMIME_LIBRARY\}/KF5::Mime/;
0080      $modified = 1;
0081   }
0082   if (/KDEPIMLIBS_AKONADI_LIBS/) {
0083      $_ =~ s/\$\{KDEPIMLIBS_AKONADI_LIBS\}/KF5::AkonadiCore/;
0084      $modified = 1;
0085   }
0086   if (/KDEPIMLIBS_KCALCORE_LIBS/) {
0087      $_ =~ s/\$\{KDEPIMLIBS_KCALCORE_LIBS\}/KF5::CalendarCore/;
0088      $modified = 1;
0089   }
0090   if (/KDEPIMLIBS_KPIMUTILS_LIBS/) {
0091      $_ =~ s/\$\{KDEPIMLIBS_KPIMUTILS_LIBS\}//;
0092      $modified = 1;
0093   }
0094   if (/KDEPIMLIBS_MAILTRANSPORT_LIBS/) {
0095      $_ =~ s/\$\{KDEPIMLIBS_MAILTRANSPORT_LIBS\}/KF5::MailTransport/;
0096      $modified = 1;
0097   }
0098   if (/KDEPIMLIBS_KMIME_LIBS/) {
0099      $_ =~ s/\$\{KDEPIMLIBS_KMIME_LIBS\}/KF5::Mime/;
0100      $modified = 1;
0101   }
0102   if (/KDEPIMLIBS_KPIMIDENTITIES_LIBS/) {
0103      $_ =~ s/\$\{KDEPIMLIBS_KPIMIDENTITIES_LIBS\}/KF5::PimIdentities/;
0104      $modified = 1;
0105   }
0106   if (/KDE4_KIO_LIBS/) {
0107      $_ =~ s/\$\{KDE4_KIO_LIBS\}/KF5::KIOCore/;
0108      $modified = 1;
0109   }
0110   if (/KDE4_KROSSCORE_LIBS/) {
0111      $_ =~ s/\$\{KDE4_KROSSCORE_LIBS\}/KF5::KrossCore/;
0112      $modified = 1;
0113   }
0114   if (/QT_QTDBUS_LIBRARY/) {
0115      $_ =~ s/\$\{QT_QTDBUS_LIBRARY\}/Qt5::DBus/;
0116      $modified = 1;
0117   }
0118   if (/QT_QTXML_LIBRARY/) {
0119      $_ =~ s/\$\{QT_QTXML_LIBRARY\}/Qt5::Xml/;
0120      $modified = 1;
0121   }
0122   if (/QT_QTXML_LIBRARIES/) {
0123      $_ =~ s/\$\{QT_QTXML_LIBRARIES\}/Qt5::Xml/;
0124      $modified = 1;
0125   }
0126   if (/QT_QTCORE_LIBRARY/) {
0127      $_ =~ s/\$\{QT_QTCORE_LIBRARY\}/Qt5::Core/;
0128      $modified = 1;
0129   }
0130   if (/QT_QTCORE_LIBRARIES/) {
0131      $_ =~ s/\$\{QT_QTCORE_LIBRARIES\}/Qt5::Core/;
0132      $modified = 1;
0133   }
0134   if (/QT_QTGUI_LIBRARY/) {
0135      $_ =~ s/\$\{QT_QTGUI_LIBRARY\}/Qt5::Gui/;
0136      $modified = 1;
0137   }
0138   if (/QT_QTGUI_LIBRARIES/) {
0139      $_ =~ s/\$\{QT_QTGUI_LIBRARIES\}/Qt5::Gui/;
0140      $modified = 1;
0141   }
0142   if (/QT_QTHELP_LIBRARIES/) {
0143      $_ =~ s/\$\{QT_QTHELP_LIBRARIES\}/Qt5::Help/;
0144      $modified = 1;
0145   }
0146   if (/QT_QTNETWORK_LIBRARY/) {
0147      $_ =~ s/\$\{QT_QTNETWORK_LIBRARY\}/Qt5::Network/;
0148      $modified = 1;
0149   }
0150   if (/QT_QTSCRIPT_LIBRARY/) {
0151      $_ =~ s/\$\{QT_QTSCRIPT_LIBRARY\}/Qt5::Script/;
0152      $modified = 1;
0153   }
0154   if (/KDE4_KDECORE_LIBS/) {
0155      $_ =~ s/\$\{KDE4_KDECORE_LIBS}/KF5::KDELibs4Support/;
0156      $modified = 1;
0157   }
0158   if (/KDEPIMLIBS_KIMAP_LIBS/) {
0159      $_ =~ s/\$\{KDEPIMLIBS_KIMAP_LIBS}/KF5::IMAP/;
0160      $modified = 1;
0161   }
0162   if (/KDEPIMLIBS_AKONADI_KMIME_LIBS/) {
0163      $_ =~ s/\$\{KDEPIMLIBS_AKONADI_KMIME_LIBS}/KF5::AkonadiMime/;
0164      $modified = 1;
0165   }
0166   if (/KDE4_KNOTIFYCONFIG_LIBS/) {
0167      $_ =~ s/\$\{KDE4_KNOTIFYCONFIG_LIBS}/KF5::NotifyConfig/;
0168      $modified = 1;
0169   }
0170   if (/KDEPIMLIBS_KPIMTEXTEDIT_LIBS/) {
0171      $_ =~ s/\$\{KDEPIMLIBS_KPIMTEXTEDIT_LIBS}/KF5::PimTextEdit/;
0172      $modified = 1;
0173   }
0174   if (/KDE4_KDEWEBKIT_LIBRARY/) {
0175      $_ =~ s/\$\{KDE4_KDEWEBKIT_LIBRARY}/KF5::WebKit/;
0176      $modified = 1;
0177   }
0178   if (/KDEPIMLIBS_KMBOX_LIBS/) {
0179      $_ =~ s/\$\{KDEPIMLIBS_KMBOX_LIBS}/KF5::Mbox/;
0180      $modified = 1;
0181   }
0182   if (/QT_QTUITOOLS_LIBRARY/) {
0183      $_ =~ s/\$\{QT_QTUITOOLS_LIBRARY\}/Qt5::UiTools/;
0184      $modified = 1;
0185 
0186   }
0187   if (/KDEPIMLIBS_KALARMCAL_LIBS/) {
0188      $_ =~ s/\$\{KDEPIMLIBS_KALARMCAL_LIBS}/KF5::AlarmCalendar/;
0189      $modified = 1;
0190   }
0191   if (/KDEPIMLIBS_KABC_LIBS/) {
0192      $_ =~ s/\$\{KDEPIMLIBS_KABC_LIBS}/KF5::Contacts/;
0193      $modified = 1;
0194   }
0195   if (/KF5::Abc/) {
0196      $_ =~ s/KF5::Abc/KF5::Contacts/;
0197      $modified = 1;
0198   }
0199 
0200   if (/KDEPIMLIBS_AKONADI_CONTACT_LIBS/) {
0201      $_ =~ s/\$\{KDEPIMLIBS_AKONADI_CONTACT_LIBS}/KF5::AkonadiContact/;
0202      $modified = 1;
0203   }
0204   if (/KDE4_KDEUI_LIBS/) {
0205      $_ =~ s/\$\{KDE4_KDEUI_LIBS}//;
0206      $modified = 1;
0207   }
0208   if (/KDEPIMLIBS_KTNEF_LIBS/) {
0209      $_ =~ s/\$\{KDEPIMLIBS_KTNEF_LIBS}/KF5::KTnef/;
0210      $modified = 1;
0211   }
0212   if (/KDEPIMLIBS_KBLOG_LIBS/) {
0213      $_ =~ s/\$\{KDEPIMLIBS_KBLOG_LIBS}/KF5::Blog/;
0214      $modified = 1;
0215   }
0216   if (/KDEPIMLIBS_AKONADI_KABC_LIBS/) {
0217      $_ =~ s/\$\{KDEPIMLIBS_AKONADI_KABC_LIBS}/KF5::AkonadiAbc/;
0218      $modified = 1;
0219   }
0220   if (/KDE4_KNEWSTUFF3_LIBS/) {
0221      $_ =~ s/\$\{KDE4_KNEWSTUFF3_LIBS}/KF5::NewStuff/;
0222      $modified = 1;
0223   }
0224   if (/KDE4_KNEWSTUFF3_LIBRARY/) {
0225      $_ =~ s/\$\{KDE4_KNEWSTUFF3_LIBRARY}/KF5::NewStuff/;
0226      $modified = 1;
0227   }
0228   if (/KDEPIMLIBS_KLDAP_LIBS/) {
0229      $_ =~ s/\$\{KDEPIMLIBS_KLDAP_LIBS}/KF5::KLdap/;
0230      $modified = 1;
0231   }
0232   if (/BALOO_LIBRARIES/) {
0233      $_ =~ s/\$\{BALOO_LIBRARIES}/Baloo/;
0234      $modified = 1;
0235   }
0236   if (/KDE4_KCMUTILS_LIBS/) {
0237      $_ =~ s/\$\{KDE4_KCMUTILS_LIBS}/KF5::KCMUtils/;
0238      $modified = 1;
0239   }
0240   if (/KDEPIMLIBS_KCALUTILS_LIBS/) {
0241      $_ =~ s/\$\{KDEPIMLIBS_KCALUTILS_LIBS}/KF5::CalendarUtils/;
0242      $modified = 1;
0243   }
0244   if (/KDEPIMLIBS_KHOLIDAYS_LIBS/) {
0245      $_ =~ s/\$\{KDEPIMLIBS_KHOLIDAYS_LIBS}/KF5::Holidays/;
0246      $modified = 1;
0247   }
0248   if (/KDE4_KUTILS_LIBS/) {
0249      $_ =~ s/\$\{KDE4_KUTILS_LIBS}//;
0250      $modified = 1;
0251   }
0252   if (/KDE4_KDECORE_LIBRARY/) {
0253      $_ =~ s/\$\{KDE4_KDECORE_LIBRARY}//;
0254      $modified = 1;
0255   }
0256   if (/KDE4_KDEUI_LIBRARY/) {
0257      $_ =~ s/\$\{KDE4_KDEUI_LIBRARY}//;
0258      $modified = 1;
0259   }
0260   if (/KDE4_KTEXTEDITOR_LIBS/) {
0261      $_ =~ s/\$\{KDE4_KTEXTEDITOR_LIBS}/KF5::TextEditor/;
0262      $modified = 1;
0263   }
0264   if (/qt4_wrap_cpp/i) {
0265      $_ =~ s/qt4_wrap_cpp/qt5_wrap_cpp/i;
0266      $modified = 1;
0267   }
0268   if (/KDEPIMLIBS_SYNDICATION_LIBS/) {
0269      $_ =~ s/\$\{KDEPIMLIBS_SYNDICATION_LIBS}/KF5::Syndication/;
0270      $modified = 1;
0271   }
0272   if (/KDE4_KHTML_LIBS/) {
0273      $_ =~ s/\$\{KDE4_KHTML_LIBS}/KF5::KHtml/;
0274      $modified = 1;
0275   }
0276   if (/KDEPIMLIBS_KONTACTINTERFACE_LIBS/) {
0277      $_ =~ s/\$\{KDEPIMLIBS_KONTACTINTERFACE_LIBS}/KF5::KontactInterface/;
0278      $modified = 1;
0279   }
0280   if (/KDE4_KNOTIFYCONFIG_LIBRARY/) {
0281      $_ =~ s/\$\{KDE4_KNOTIFYCONFIG_LIBRARY}/KF5::NotifyConfig/;
0282      $modified = 1;
0283   }
0284   if (/QT_QTDECLARATIVE_LIBRARY/) {
0285      $_ =~ s/\$\{QT_QTDECLARATIVE_LIBRARY\}/Qt5::Declarative/;
0286      $modified = 1;
0287   }
0288   if (/QT_QTDECLARATIVE_LIBRARIES/) {
0289      $_ =~ s/\$\{QT_QTDECLARATIVE_LIBRARIES\}/Qt5::Declarative/;
0290      $modified = 1;
0291   }
0292 
0293   if (/KDE4_KPARTS_LIBS/) {
0294      $_ =~ s/\$\{KDE4_KPARTS_LIBS}/KF5::Parts/;
0295      $modified = 1;
0296   }
0297   if (/KDE4_KPARTS_LIBRARY/) {
0298      $_ =~ s/\$\{KDE4_KPARTS_LIBRARY}/KF5::Parts/;
0299      $modified = 1;
0300   }
0301 
0302   if (/KDE4_PHONON_LIBS/) {
0303      $_ =~ s/\$\{KDE4_PHONON_LIBS}/Phonon::phonon4qt5/;
0304      $modified = 1;
0305   }
0306   if (/KDE4_PHONON_LIBRARY/) {
0307      $_ =~ s/\$\{KDE4_PHONON_LIBRARY}/Phonon::phonon4qt5/;
0308      $modified = 1;
0309   }
0310 
0311   if (/QT_QTTEST_LIBRARY/) {
0312      $_ =~ s/\$\{QT_QTTEST_LIBRARY\}/Qt5::Test/;
0313      $modified = 1;
0314   }
0315 
0316   if (/kde4_create_handbook/i) {
0317      $_ =~ s/kde4_create_handbook/kdoctools_create_handbook/i;
0318      $modified = 1;
0319   }
0320   if (/kde4_create_manpage/i) {
0321      $_ =~ s/kde4_create_manpage/kdoctools_create_manpage/i;
0322      $modified = 1;
0323   }
0324   if (/KDEPIMLIBS_MICROBLOG_LIBS/) {
0325      $_ =~ s/\$\{KDEPIMLIBS_MICROBLOG_LIBS}/KF5::MicroBlog/;
0326      $modified = 1;
0327   }
0328   if (/KDE4_SOLID_LIBS/) {
0329      $_ =~ s/\$\{KDE4_SOLID_LIBS}//;
0330      $modified = 1;     
0331   }
0332   if (/QT_QTWEBKIT_LIBRARY/) {
0333      $_ =~ s/\$\{QT_QTWEBKIT_LIBRARY\}/Qt5::WebKitWidgets/;
0334      $modified = 1;
0335   }
0336   if (/QT_QTSQL_LIBRARY/) {
0337      $_ =~ s/\$\{QT_QTSQL_LIBRARY\}/Qt5::Sql/;
0338      $modified = 1;
0339   }
0340   if (/KDE4_KFILE_LIBS/) {
0341      $_ =~ s/\$\{KDE4_KFILE_LIBS}//;
0342      $modified = 1;
0343   }
0344   if (/KDEPIMLIBS_AKONADI_NOTES_LIBS/) {
0345      $_ =~ s/\$\{KDEPIMLIBS_AKONADI_NOTES_LIBS}/KF5::AkonadiNotes/;
0346      $modified = 1;
0347   }
0348   if (/KDE4_KIO_LIBRARY/) {
0349      $_ =~ s/\$\{KDE4_KIO_LIBRARY}/KF5::KIOCore/;
0350      $modified = 1;
0351   }
0352  
0353   if (/KDEVPLATFORM_INTERFACES_LIBRARIES/) {
0354      $_ =~ s/\$\{KDEVPLATFORM_INTERFACES_LIBRARIES}/KDev::Interfaces/;
0355      $modified = 1;
0356   }
0357   if (/KDEVPLATFORM_SHELL_LIBRARIES/) {
0358      $_ =~ s/\$\{KDEVPLATFORM_SHELL_LIBRARIES}/KDev::Shell/;
0359      $modified = 1;
0360   }
0361   if (/KDEVPLATFORM_LANGUAGE_LIBRARIES/) {
0362      $_ =~ s/\$\{KDEVPLATFORM_LANGUAGE_LIBRARIES}/KDev::Language/;
0363      $modified = 1;
0364   }
0365   if (/KDEVPLATFORM_UTIL_LIBRARIES/) {
0366      $_ =~ s/\$\{KDEVPLATFORM_UTIL_LIBRARIES}/KDev::Util/;
0367      $modified = 1;
0368   }
0369   if (/KDEVPLATFORM_PROJECT_LIBRARIES/) {
0370      $_ =~ s/\$\{KDEVPLATFORM_PROJECT_LIBRARIES}/KDev::Project/;
0371      $modified = 1;
0372   }
0373   if (/KDEVPLATFORM_OUTPUTVIEW_LIBRARIES/) {
0374      $_ =~ s/\$\{KDEVPLATFORM_OUTPUTVIEW_LIBRARIES}/KDev::OutputView/;
0375      $modified = 1;
0376   }
0377   if (/KDEVPLATFORM_VCS_LIBRARIES/) {
0378      $_ =~ s/\$\{KDEVPLATFORM_VCS_LIBRARIES}/KDev::Vcs/;
0379      $modified = 1;
0380   }
0381   if (/KDEVPLATFORM_TESTS_LIBRARIES/) {
0382      $_ =~ s/\$\{KDEVPLATFORM_TESTS_LIBRARIES}/KDev::Tests/;
0383      $modified = 1;
0384   }
0385   if (/KDEVPLATFORM_JSONTESTS_LIBRARIES/) {
0386      $_ =~ s/\$\{KDEVPLATFORM_JSONTESTS_LIBRARIES}/KDev::JsonTests/;
0387      $modified = 1;
0388   }
0389   if (/KDEVPLATFORM_DOCUMENTATION_LIBRARIES/) {
0390      $_ =~ s/\$\{KDEVPLATFORM_DOCUMENTATION_LIBRARIES}/KDev::Documentation/;
0391      $modified = 1;
0392   }
0393   if (/KDEVPLATFORM_DEBUGGER_LIBRARIES/) {
0394      $_ =~ s/\$\{KDEVPLATFORM_DEBUGGER_LIBRARIES}/KDev::Debugger/;
0395      $modified = 1;
0396   }
0397   if (/KDEVPLATFORM_SUBLIME_LIBRARIES/) {
0398      $_ =~ s/\$\{KDEVPLATFORM_SUBLIME_LIBRARIES}/KDev::Sublime/;
0399      $modified = 1;
0400   }
0401   if (/KDE4_THREADWEAVER_LIBRARIES/) {
0402      $_ =~ s/\$\{KDE4_THREADWEAVER_LIBRARIES}/KF5::ThreadWeaver/;
0403      $modified = 1;
0404   }
0405   if (/QT_AND_KDECORE_LIBS/) {
0406      $_ =~ s/\$\{QT_AND_KDECORE_LIBS}//;
0407      $modified = 1;
0408   }
0409   if (/KIPI_LIBRARIES/) {
0410      $_ =~ s/\$\{KIPI_LIBRARIES}/KF5::Kipi/;
0411      $modified = 1;
0412   }
0413   if (/KEXIV2_LIBRARIES/) {
0414      $_ =~ s/\$\{KEXIV2_LIBRARIES}/KF5::KExiv2/;
0415      $modified = 1;     
0416   }
0417   if (/KDCRAW_LIBRARIES/) {
0418      $_ =~ s/\$\{KDCRAW_LIBRARIES}/KF5::KDcraw/;
0419      $modified = 1;
0420   }
0421   if (/KSANE_LIBRARY/) {
0422      $_ =~ s/\$\{KSANE_LIBRARY}/KF5::Sane/;
0423      $modified = 1;
0424   }
0425   if (/kdegamesprivate/) {
0426      $_ =~ s/kdegamesprivate/KF5KDEGamesPrivate/;
0427      $modified = 1;
0428   }
0429   if (/KDECLARATIVE_LIBRARIES/) {
0430      $_ =~ s/\$\{KDECLARATIVE_LIBRARIES}/KF5::Declarative/;
0431      $modified = 1;
0432   }
0433   if (/kdegames/) {
0434      $_ =~ s/kdegames/KF5KDEGames/;
0435      $modified = 1;
0436   }
0437   if (/LIBKONQ_LIBRARY/) {
0438      $_ =~ s/\$\{LIBKONQ_LIBRARY}/KF5::Konq/;
0439      $modified = 1;
0440   }
0441   if (/QT_QTOPENGL_LIBRARY/) {
0442      $_ =~ s/\$\{QT_QTOPENGL_LIBRARY\}/Qt5::OpenGL/;
0443      $modified = 1;
0444   }
0445   #if (/macro_optional_add_subdirectory/) {
0446   #   $_ =~ s/macro_optional_add_subdirectory/add_subdirectory/;
0447   #   $modified = 1;
0448   #}
0449 
0450   if (/qt4_add_dbus_interfaces/i) {
0451      $_ =~ s/qt4_add_dbus_interfaces/qt5_add_dbus_interfaces/i;
0452      $modified = 1;
0453   }
0454   if (/qt4_add_dbus_interface/i) {
0455      $_ =~ s/qt4_add_dbus_interface/qt5_add_dbus_interface/i;
0456      $modified = 1;
0457   }
0458   if (/qt4_generate_moc/i) {
0459      $_ =~ s/qt4_generate_moc/qt5_generate_moc/i;
0460      $modified = 1;
0461   }
0462   if (/qt4_generate_dbus_interface/i) {
0463      $_ =~ s/qt4_generate_dbus_interface/qt5_generate_dbus_interface/i;
0464      $modified = 1;
0465   }
0466   if (/kde4_install_auth_helper_files/i) {
0467      $_ =~ s/kde4_install_auth_helper_files/kauth_install_helper_files/i;
0468      $modified = 1;
0469   }
0470   if (/kde4_install_auth_actions/i) {
0471      $_ =~ s/kde4_install_auth_actions/kauth_install_actions/i;
0472      $modified = 1;
0473   }
0474   if (/qt4_add_resources/i) {
0475      $_ =~ s/qt4_add_resources/qt5_add_resources/i;
0476      $modified = 1;
0477   }
0478   if (/KDE4_INCLUDES/) {
0479      $_ =~ s/\$\{KDE4_INCLUDES}//;
0480      $modified = 1;
0481   }
0482   if (/KDE4_KDNSSD_LIBS/) {
0483      $_ =~ s/\$\{KDE4_KDNSSD_LIBS}/KF5::DNSSD/;
0484      $modified = 1;
0485   }
0486 
0487   if (/akonadi-kde/) {
0488      $_ =~ s/akonadi-kde//;
0489      $modified = 1;
0490   }
0491   if (/QT_QTSVG_LIBRARY/) {
0492      $_ =~ s/\$\{QT_QTSVG_LIBRARY\}/Qt5::Svg/;
0493      $modified = 1;
0494   }
0495   if (/KF5::KDE4Support/) {
0496      $_ =~ s/KF5::KDE4Support/KF5::KDELibs4Support/;
0497      $modified = 1;
0498   }
0499   if (/macro_optional_add_subdirectory/i) {
0500      $_ =~ s/macro_optional_add_subdirectory/ecm_optional_add_subdirectory/i;
0501      $modified = 1;
0502      warn "Need to add \'include(ECMOptionalAddSubdirectory)\' in $file \n";
0503   }
0504 
0505   if (/kde4_moc_headers/i) {
0506      $_ = "";
0507      $modified = 1;
0508   }
0509   if (/\.notifyrc/) {
0510      my $regexp = qr/
0511                   ^(\s*install\s*\(\s*FILES\s+[^\s)]+\.notifyrc\s+DESTINATION\s+)
0512                   \$\{DATA_INSTALL_DIR\}\/[^\s)]+
0513                   (.*)$
0514                   /x; # /x Enables extended whitespace mode
0515      if (my ($begin, $end) = $_ =~ $regexp) {
0516         $_ = $begin . "\${KNOTIFYRC_INSTALL_DIR}" . $end . "\n";
0517         $modified = 1;
0518      } elsif (not /KNOTIFYRC_INSTALL_DIR/ and not /_INSTALL_KNOTIFY5RCDIR/) {
0519         my $line = $_;
0520         $line =~ s/\s*$//;
0521         print "Could not fix a .notifyrc file installation call ($line)\n"
0522      }
0523   }
0524 
0525 
0526   #kde4_add_app_icon(importwizard_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi*-app-kontact-import-wizard.png")
0527   my $kde4AppIconRegexp = qr/
0528                ^(\s*)                  # (1) Indentation
0529                kde4_add_app_icon\s*\(    # 
0530                (.*)\s+                   #source name
0531                (.*)\)$                   #end
0532                /x; # /x Enables extended whitespace mode
0533   if (my ($indent, $sourcename, $icons) = $_ =~ $kde4AppIconRegexp) {
0534      warn "found kde4_add_app_icon\n";
0535      warn "You need to increase ecm to 1.7 and add include(ECMAddAppIcon)\n";
0536      if ($icons =~ /\*/) {
0537         $_ = $indent . "file(GLOB ICONS_SRCS " . "$icons" . ")\n";
0538         $_ .= $indent . "ecm_add_app_icon($sourcename ICONS \${ICONS_SRCS})\n";
0539         $modified = 1;
0540      } else {
0541         $_ = $indent . "ecm_add_app_icon($sourcename ICONS $icons)\n";
0542         $modified = 1;
0543      }
0544   }
0545  
0546 
0547 
0548   #kde4_add_plugin(kio_mbox ${kio_mbox_PART_SRCS})
0549   my $regexp = qr/
0550                ^(\s*)                  # (1) Indentation
0551                kde4_add_plugin\s*\(    # 
0552                \s*([^ ]*)\s*           # (2) libname
0553                (.*)$                   # (3) end
0554                /x; # /x Enables extended whitespace mode
0555   if (my ($indent, $libname, $end) = $_ =~ $regexp) {
0556      $_ = $indent . "add_library($libname MODULE " . $end . "\n";
0557      $modified = 1;
0558   }
0559   my $regexpUpperCase = qr/
0560                ^(\s*)                  # (1) Indentation
0561                KDE4_ADD_PLUGIN\s*\(    # 
0562                \s*([^ ]*)\s*           # (2) libname
0563                (.*)$                   # (3) end
0564                /x; # /x Enables extended whitespace mode
0565   if (my ($indent, $libname, $end) = $_ =~ $regexpUpperCase) {
0566      $_ = $indent . "add_library($libname MODULE " . $end . "\n";
0567      $modified = 1;
0568   }
0569   # At the end include_directories can be empty
0570   if (/include_directories\s*\(\s*\)/i) {
0571      $_ = "";
0572      $modified = 1;
0573   }
0574   $modified ||= $orig ne $_;
0575   $_;
0576 } <$FILE>;
0577 
0578 if ($modified) {
0579     open (my $OUT, ">", $file);
0580     print $OUT @l;
0581     close ($OUT);
0582 }
0583 }