daandemeyer added a comment.
To give an example of how the addition would improve KDE CMake build scripts, let's look at part of Kate's CMake build script. It currently looks like this: # collect the needed source files set (KATE_LIBRARY_SRCS kateappadaptor.cpp kateapp.cpp kateconfigdialog.cpp kateconfigplugindialogpage.cpp katedocmanager.cpp katefileactions.cpp katemainwindow.cpp katepluginmanager.cpp kateviewmanager.cpp kateviewspace.cpp katesavemodifieddialog.cpp katemwmodonhddialog.cpp katecolorschemechooser.cpp katequickopenmodel.cpp katetabbutton.cpp katetabbar.cpp # session session/katesessionsaction.cpp session/katesessionmanager.cpp session/katesessionmanagedialog.cpp session/katesession.cpp katemdi.cpp katerunninginstanceinfo.cpp katequickopen.cpp katewaiter.h ) ki18n_wrap_ui(KATE_LIBRARY_SRCS ui/sessionconfigwidget.ui session/katesessionmanagedialog.ui ) add_library(kdeinit_kate STATIC ${KATE_LIBRARY_SRCS}) If the proposed change is accepted, it could be refactored to the following: add_library(kdeinit_kate STATIC "") ki18n_wrap_ui(kdeinit_kate ui/sessionconfigwidget.ui session/katesessionmanagedialog.ui ) target_sources(kdeinit_kate PRIVATE kateappadaptor.cpp kateapp.cpp kateconfigdialog.cpp kateconfigplugindialogpage.cpp katedocmanager.cpp katefileactions.cpp katemainwindow.cpp katepluginmanager.cpp kateviewmanager.cpp kateviewspace.cpp katesavemodifieddialog.cpp katemwmodonhddialog.cpp katecolorschemechooser.cpp katequickopenmodel.cpp katetabbutton.cpp katetabbar.cpp # session session/katesessionsaction.cpp session/katesessionmanager.cpp session/katesessionmanagedialog.cpp session/katesession.cpp katemdi.cpp katerunninginstanceinfo.cpp katequickopen.cpp katewaiter.h ) - We don't need a `SRCS` variable anymore. Instead, generated files are added directly to the library target using the `target_sources` command. - The order commands are called in becomes more intuitive. We can call `add_library` first, follow with the `ki18n_wrap_ui` command and end with specifying the long list of source files instead of having to start the script with specifying all source files. REVISION DETAIL https://phabricator.kde.org/D22698 To: daandemeyer, ilic Cc: ltoscano, alexmerry, turbov, cgiboudeaux, kde-frameworks-devel, LeGast00n, sbergeron, michaelh, ngraham, bruns