aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-09-06ECMAddQtDesignerPlugin: pass code sample indirectly via variable name argv5.62.0-rc1v5.62.0Friedrich W. H. Kossebau
Summary: The initial API asked to have custom C++ code to be parsed as string arguments. As any ";" in such strings would be treated as list separators, the initial API as workaround required to encode those in the passed code text with "@SEMICOLON@". As alternative variant the approach from the GENERATE_EXPORT_HEADER() macro and its CUSTOM_CONTENT_FROM_VARIABLE is now used, where instead the name of the variable is passed, from which then the full code could be fetched and directly used. As API user one no longer can pass code snippets directly inline as argument, but no longer needs to use the awkward @SEMICOLON@. As ECMAddQtDesignerPlugin is not yet part of a released version, the API can be still changed. Reviewers: #frameworks, #build_system, vkrause Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D23725
2019-08-28Keep 'lib' as default LIBDIR on Arch Linux based systemsAntonio Rojas
Port of upstream commit https://gitlab.kitware.com/cmake/cmake/commit/18365587c86396f988e256b5acf4d2312f3be2bb Differential Revision: https://phabricator.kde.org/D23497
2019-08-19disable autouic again - it breaks buildsHarald Sitter
Summary: autouic (like automoc) assumes that every ui_*.h include statement it finds relates to a .ui file that needs generating. this is not always true. e.g. we have software which generates ui_debug.h which is simply a qloggingcategory header for the UI category of that software which would then trip up autouic because it would assume there's a .ui file when there really isn't one. unfortunately the ui_ assumption cannot be selectively disabled, so we can't have explicit listing of .ui in source lists ``` set(foo_SRCS foo.cpp foo.ui) ``` without also getting the not particularly compatible include assumptions. this should be revisited for kf6 since there isn't a technical need for files to be called ui_*, they could just as well be *_ui or anything else so as to not clash with autouic assumption. autorcc does not suffer from this problem so we can leave it enabled, for now anyway. Test Plan: sonnet builds again Reviewers: apol, nicolasfella, cullmann Reviewed By: apol Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D23262
2019-08-19set autorcc and autouic by defaultHarald Sitter
Summary: I couldn't find any pertinent discussion on the topic but some reviews I stumbled over did set it on some of our application repos and also wonder why we don't enable it by default. autorcc allows more idiomatic use of qrc as they may be used like any "ordinary" source file and cmake will know what to do with them (namely compile into relevant cpp for inclusion in target) without the developer having to worry about anything. autouic does the same albeit for .ui files. Test Plan: .qrc files can be added to src list variables and will get automatically generated into cpp files in the binary dir and built into the target Reviewers: apol Reviewed By: apol Subscribers: cgiboudeaux, vkrause, kossebau, apol, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D22805
2019-08-15Define install location for JAR/AAR files for AndroidVolker Krause
Summary: This follows where Qt installs those, and thus androiddeployqt looks for them. Currently this is hardcoded in knotifications for example, seems cleaner to have this here. Reviewers: #build_system, #android, apol Reviewed By: #android, apol Subscribers: apol, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D23131
2019-08-11GIT_SILENT Upgrade ECM version to 5.62.0.l10n daemon script
2019-08-05Add ECMAddQtDesignerPluginFriedrich W. H. Kossebau
Summary: ECMAddQtDesignerPlugin provides two macros that can be used to replace the usage of the tool kgendesignerplugin from KDesignerPlugin. This allows to have ECM-using libraries to create Qt Designer plugins without the need for another separate tool. For that purpose option structure & defaults are inspired from that one, to allow simple porting. Main difference is that ECMAddQtDesignerPlugin expects the widget metadata definition to be done in CMake code, using a dedicated function, instead of in a ini-style separate ".widgets" file. Porting of ".widgets" files basically means: copy content into cmake, transform ini code into arguments to util method. Key names need a bit of adaption, current names are open for dicussion. Porting example: ``` [KActionSelector] IncludeFile=kactionselector.h ToolTip=A widget for selecting and arranging actions/objects Group=Views (KF5) ``` gets ``` ecm_qtdesignerplugin_widget(KActionSelector INCLUDE_FILE kactionselector.h TOOLTIP "A widget for selecting and arranging actions/objects" GROUP "Views (KF5)" ) ``` Reviewers: #build_system, #frameworks Subscribers: apol, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D22724
2019-07-29android: Allow overriding ANDROID_ARCH and ANDROID_ARCH_ABI as envvarsv5.61.0-rc1v5.61.0Aleix Pol
2019-07-25Notify users when not using KDE_INSTALL_USE_QT_SYS_PATHS about prefix.shAleix Pol
Summary: It's especially when KDE_INSTALL_USE_QT_SYS_PATHS=OFF that the different environment variables will have to be initialised. This adds a message that should tell users about the script so they have a hint of what is going on. Reviewers: #frameworks, albertvaka, cgiboudeaux Reviewed By: albertvaka, cgiboudeaux Subscribers: cgiboudeaux, albertvaka, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D22580
2019-07-23Provide a more sensible CMAKE_INSTALL_PREFIX defaultAleix Pol
Summary: If no prefix is passed, use ECM's by default, instead of defaulting to /usr/local which isn't optimal in any case. Reviewers: cgiboudeaux Reviewed By: cgiboudeaux Subscribers: cgiboudeaux, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D22676
2019-07-23Make the default build type "Debug" when compiling a git checkout.David Faure
Summary: The idea comes from https://blog.kitware.com/cmake-and-the-default-build-type/ but I adapted it to leave it empty for tarballs, to avoid messing up distribution packaging. The goal is to make this more sensible for [new] developers who just run cmake and end up with a "no debug symbols, no optimizations" build, i.e. the one and only completely useless combination of those two flags. Possible risk: distributions who compile from git checkouts... Test Plan: "mkdir build ; cd build ; cmake .." in kblog leads to CMAKE_BUILD_TYPE=Debug Reviewers: kde-buildsystem, cgiboudeaux Reviewed By: cgiboudeaux Subscribers: cgiboudeaux, apol, kde-frameworks-devel Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D22667
2019-07-13GIT_SILENT Upgrade ECM version to 5.61.0.l10n daemon script
2019-07-08Fix type names casingAleix Pol
Summary: It's supposed to be uppercase, cmake was warning about it. Test Plan: Now it builds as well, but cmake doesn't complain. Reviewers: #frameworks, #android, vkrause Reviewed By: #android, vkrause Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D22317
2019-06-29Small API docs fixesv5.60.0-rc1v5.60.0Pino Toscano
2019-06-08GIT_SILENT Upgrade ECM version to 5.60.0.l10n daemon script
2019-05-31Create specific directory for Qt logging categories filev5.59.0-rc1v5.59.0Laurent Montel
Summary: kdebugsettings categories files Reviewers: dfaure, cgiboudeaux Reviewed By: cgiboudeaux Subscribers: kossebau, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D21313
2019-05-22Don't enable QT_STRICT_ITERATORS on Windows.David Faure
Summary: Strict iterators can't be used on Windows, they lead to a link error when application code iterates over a QVector<QPoint> for instance, unless Qt itself was also built with strict iterators. See example at https://bugreports.qt.io/browse/AUTOSUITE-946 Technically this would be fine for mingw, but not for MSVC neither clang-cl (which also uses the MSVC ABI). I think it's fine to just disable it for all Windows compilers, since any iterators misuse will be detected on Unix anyway. Test Plan: None, I'm relying on Volker's findings. Reviewers: vkrause, dvratil Reviewed By: dvratil Subscribers: apol, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D21314
2019-05-15GIT_SILENT Upgrade ECM version to 5.59.0.l10n daemon script
2019-04-17Bug fix: find c++ stl using regexv5.58.0-rc1v5.58.0Sharaf Zaman
Summary: Find C++ shared lib path using regex. This change makes finding path independent of the order in which it was added by cmake. Reviewers: apol Reviewed By: apol Subscribers: kde-buildsystem, kde-frameworks-devel Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D20558
2019-04-15Detect duplicate ANDROID_EXTRA_LIBS and minor bug fixSharaf Zaman
Summary: Don't include same dependency twice, one which was found from `readelf` in `specifydependencies.cmake` and other in `ANDROID_EXTRA_LIBS`. Bug fix: find stl was dependent on the order in which libc++ was added, now it is independent. Test Plan: * add the same dependency in ANDROID_EXTRA_LIBS Reviewers: apol, vkrause Reviewed By: apol Subscribers: kde-buildsystem, kde-frameworks-devel Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D20509
2019-04-13GIT_SILENT Upgrade ECM version to 5.58.0.l10n daemon script
2019-04-07Unconditionally enable -DQT_STRICT_ITERATORS, not just in debug modeDavid Faure
Summary: It turns out QT_STRICT_ITERATORS does not introduce any overhead (they are inlined so everything gets optimized), confirmed by Dan comparing the produced assembly in Compiler Explorer. Reviewers: dvratil, mlaurent, aacid Reviewed By: aacid Subscribers: aacid, kde-buildsystem, kde-frameworks-devel Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D20349
2019-03-31Re-enable the setting of QT_PLUGIN_PATH, without the strange backslash.v5.57.0-rc1v5.57.0David Faure
Let's see if purpose unittests still work on Windows (which was the reason this got commented out, kio_file wasn't found anymore). CCMAIL: bcooksley@kde.org, kfunk@kde.org
2019-03-29ecm_add_wayland_client_protocol: Improve error messagesAleix Pol
Summary: Instead of passing the data from stdin, pass the path, this way if there's an error wayland-scanner will be able to tell us the file and line where it's failing. Test Plan: Built kwayland and kwin with it Reviewers: #kwin, #frameworks, zzag Reviewed By: #kwin, zzag Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D20105
2019-03-23Revert "Take clang-cl into account"Christian Mollekopf
This reverts commit 2e1cb0c453f419da134b850052da6c804cae05e0. This was an accidental push to master, sorry for the noise.
2019-03-23Take clang-cl into accountChristian Mollekopf
2019-03-09GIT_SILENT Upgrade ECM version to 5.57.0.l10n daemon script
2019-03-05ECMGeneratePkgConfigFile: make all vars dependent on ${prefix}David Faure
Summary: Note that the first test had a comment "without optional arguments" so I removed the INCLUDE_INSTALL_DIR variable to test what happens by default. The other tests still pass an absolute path there (which is unusual in practice, and breaks the idea of using ${prefix}). Test Plan: `ctest -R PkgConfig` passes Reviewers: kossebau, apol, cgiboudeaux Reviewed By: apol Subscribers: kde-frameworks-devel, kde-buildsystem, fazevedo Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D19538
2019-03-04Add UDev find moduleVolker Krause
Summary: This one is originally coming from Solid, but there are several more copies in our repositories (plasma-desktop, kwin, powerdevil, etc). Reviewers: cgiboudeaux Reviewed By: cgiboudeaux Subscribers: cgiboudeaux, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D19486
2019-03-04Fix harmless warnings when creating the doc.Christophe Giboudeaux
GIT_SILENT
2019-03-04Also ignore __pycache__Christophe Giboudeaux
2019-03-04ECMGeneratePkgConfigFile: add variables used by pkg_check_modulesDavid Faure
Summary: If we ever end up in a situation where the generated .pc file is actually used by cmake's pkg_check_modules, then we need the includedir and libdir variables; pkg_check_modules ignores the Makefile-like Libs and Cflags lines of the .pc file. Context: craft adds a cmake buildsystem for sqlite3, which is then found using pkgconfig in akonadi. Test Plan: Filipe Azevedo is doing all the testing, I'm just providing patches :) Reviewers: apol, fazevedo, cgiboudeaux Reviewed By: fazevedo, cgiboudeaux Subscribers: cgiboudeaux, fazevedo, kde-buildsystem, kde-frameworks-devel Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D19506
2019-03-04Restore FindFontconfig backward compatibility for plasma-desktopVolker Krause
Summary: I don't understand where plasma-desktop actually finds that old find module, but this fixes the build at least. Reviewers: cgiboudeaux Reviewed By: cgiboudeaux Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D19499
2019-03-04GIT_SILENT: add gitignoreLaurent Montel
2019-03-03Add Fontconfig find modudleVolker Krause
Summary: Originally coming from KWin, but now also needed by qtbase. Reviewers: cgiboudeaux Reviewed By: cgiboudeaux Subscribers: kossebau, apol, cgiboudeaux, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D18943
2019-02-26Android: Reflect on using clang nowv5.56.0-rc1v5.56.0Aleix Pol
2019-02-22Fix releaseme checkout when this is included in a sub-directoryVolker Krause
Summary: This fixes the Marble build on binary factory. Reviewers: apol Reviewed By: apol Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D19223
2019-02-21Fix a typo in the compatibility vars.Christophe Giboudeaux
2019-02-19Fix FindEGLTobias C. Berner
Summary: ${EGL_INCLUDE_DIR} is the path up to 'egl.h' -- so the header is ${EGL_INCLUDE_DIR}/egl.h The compile test on the other hand includes 'EGL/egl.h', so the path that needs to be passed to the compile test is "${EGL_INCLUDE_DIR}/..". Reviewers: #automotive, hausmann, #freebsd, apol Reviewed By: #automotive, hausmann, apol Subscribers: bcooksley, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D19075
2019-02-19new find module for CanberraHarald Sitter
Summary: used by: - knotification - (possibly also knotifyconfig at some point) - plasma-pa - kmix Reviewers: cgiboudeaux Reviewed By: cgiboudeaux Subscribers: aacid, apol, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D18952
2019-02-15Update Android toolchain files to realityVolker Krause
Summary: - NDK r18 does not ship GCC anymore, it's only clang now - same for STL, there's only libc++ there - API level 14 is not supported either anymore, the minimum supported by the current NDK is 16 - The minimum supported API level by KF5 right now is 21 though, so use that as the default Reviewers: apol Reviewed By: apol Subscribers: apol, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D19016
2019-02-12Add compile check to FindEGLSimon Hausmann
Perform additional sanity checking by doing a compile test. Differential Revision: https://phabricator.kde.org/D18960
2019-02-11ECMGeneratePkgConfigFile API dox: fix "Since" for DESCRIPTION argFriedrich W. H. Kossebau
Summary: Also place "Since" next to both argument and argument description. Reviewers: cgiboudeaux Reviewed By: cgiboudeaux Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D18913
2019-02-09Fix destroying QThread while still running -> warning -> crashDavid Faure
2019-02-09GIT_SILENT Upgrade ECM version to 5.56.0.l10n daemon script
2019-02-03Fix ENABLE_CLAZY option with clazy >= 1.5Elvis Angelaccio
Summary: clazy 1.5 renamed its plugin from from `ClangLazy.so` to `ClazyPlugin.so` and from `clang-lazy` to `clazy`. Reviewers: apol, smartins Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D18680
2019-02-02GIT_SILENT Upgrade ECM version to 5.55.0.v5.55.0-rc1v5.55.0l10n daemon script
2019-01-25FindGperf: in ecm_gperf_generate set SKIP_AUTOMOC for generated fileFriedrich W. H. Kossebau
Summary: Avoids to have manually set the property on the generated source file to deal with changed CMake policy CMP0071. Reviewers: #frameworks, pino, apol Reviewed By: apol Subscribers: kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D18088
2019-01-19Move -Wsuggest-override -Wlogical-op to regular compiler settingsAlbert Astals Cid
Summary: They really help making the code better so it's good to have all applications getting those warnings Subscribers: apol, vkrause, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D18167
2019-01-18Fix python binding generation for classes with deleted copy constructorsAlbert Astals Cid
Test Plan: kcoreaddons compiles again Reviewers: lbeltrame Reviewed By: lbeltrame Subscribers: cgiboudeaux, skelly, kde-frameworks-devel, kde-buildsystem Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D18345