aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-08-02Add --gradle to androiddeployqtv5.37.0-rc1v5.37.0Albert Astals Cid
Otherwise when trying to build with the newest Qt/android toolchains it fails Differential Revision: https://phabricator.kde.org/D6875
2017-08-02Fix install apk targetAlbert Astals Cid
Differential Revision: https://phabricator.kde.org/D6876
2017-07-31Make ECMPoQmToolsTest actually fail if a translation is wrongWolfgang Bauer
Currently the test still passed even if one of the check_translations() calls would fail. The reason is that check_translations() is a function which has its own scope, so if it sets "failed" the upper level doesn't see it. Use the PARENT_SCOPE option when setting the variable to properly propagate the value to the upper level. Differential Revision: https://phabricator.kde.org/D6701
2017-07-29Fix usage of query_qmake: differ between calls expecting qmake or notFriedrich W. H. Kossebau
Summary: when KDE_INSTALL_USE_QT_SYS_PATHS has been explicitely set, qmake can be considered a required dependency, otherwise the paths will not be known, which would be unexpected. Also does the code calling query_qmake, besides the one testing for the same install prefix, not handle the case of empty strings being returned and then results in bogus behaviour. Thus this patch makes code fail hard if query_qmake is expected to yield a result, but no qmake executable is found. Reviewers: #frameworks, ltoscano, rdieter, apol Reviewed By: apol Subscribers: #build_system Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D6772
2017-07-20Add API dox for KDEInstallDirs' KDE_INSTALL_USE_QT_SYS_PATHSFriedrich W. H. Kossebau
Reviewers: #frameworks, apol Reviewed By: apol Subscribers: #build_system Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D6773
2017-07-18KDECompilerSettings.cmake - handle Cywgin when setting LINK_FLAGSAllen Winter
Differential Revision: https://phabricator.kde.org/D6762
2017-07-15Fix incomplete default path noted in QTQCHDIR documentationFriedrich W. H. Kossebau
2017-07-13Properly point at ECMAleix Pol
Fix typo
2017-07-13add a metainfo.yaml to make ECM a proper frameworkHarald Sitter
Reviewers: ochurlaud, dfaure, skelly Reviewed By: dfaure Subscribers: #frameworks, #build_system Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D6604
2017-07-08GIT_SILENT Upgrade ECM version to 5.37.0.l10n daemon script
2017-07-08Android: scan for qml files in the source dir, not in the install dir.David Faure
Summary: When the QML files are all bundled into a .qrc file, they don't get copied to the install dir, which would lead to qmlimportscanner not picking up the dependencies (e.g. QtQuick Controls) for android packaging. Looking at commit 1b0496d, I wonder if maybe we should be able to specify two paths to look into? But qmlimportscanner doesn't support that, does it? Test Plan: using this toolchain for a basic QtQuick2 app created from a QtCreator template, with Qt Quick Controls support, and QML files in a Qt resource. Reviewers: apol, mart Reviewed By: apol Subscribers: #build_system, #frameworks Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D6466
2017-07-05Stabilize ECMQtDeclareLoggingCategoryTestKevin Funk
2017-06-23FindQHelpGenerator: avoid picking up Qt4 versionv5.36.0-rc1v5.36.0Michael Palimaka
Summary: Passing NO_DEFAULT_PATH ignores $PATH and ensures that we use the previously-detected Qt5 binary path. Test Plan: qhelpgenerator is now picked up from the same location as Qt5::qmake. Before, anything in $PATH was preferred even if it was the Qt 4 version. Reviewers: #frameworks, kossebau, kfunk Reviewed By: kossebau, kfunk Subscribers: alexeymin, asturmlechner, #build_system Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D6249
2017-06-17ECMAddQch: fail hard if needed tools are not present, to avoid surprisesFriedrich W. H. Kossebau
2017-06-17Drop perl as dep for ecm_add_qch, not needed/usedFriedrich W. H. Kossebau
Cmp. https://bugzilla.gnome.org/show_bug.cgi?id=783759
2017-06-15(always include CheckCXXCompilerFlag before calling it)R.J.V. Bertin
Mea culpa, the project I tested this with apparently used the macro too.
2017-06-15guess less, test moreR.J.V. Bertin
Don't attempt to guess whether (Apple) Clang 3.5 supports -Wdate-time, use CheckCXXCompilerFlag and be certain.
2017-06-14detect Xcode <= 6.2 from Clang version onlyR.J.V. Bertin
This modifies 340b969f54d2f271e925ed7f84c831e1e4b2ccd0 by testing for Xcode <= 6.2 using the AppleClang version scheme only, to account for rare conditions where the compiler ID is not AppleClang.
2017-06-10GIT_SILENT Upgrade ECM version to 5.36.0.l10n daemon script
2017-06-05scan the whole install folder for qml dependenciesMarco Martin
Summary: set qml-root-path as the root install folder of the application, as is used to scan for import dependencies, and both qml files in share should be scanned as well as other qml imports that may be installed in /lib Test Plan: kirigami gallery deployment has again all the needed dependencies Reviewers: apol Reviewed By: apol Subscribers: #frameworks, #build_system Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D6103
2017-06-05New: ECMAddQch, for generating qch & doxygen tag filesFriedrich W. H. Kossebau
Summary: Enables generation of QCH files during a normal build, for documenting the public API of a library. These macros are especially done with release builds in mind, so distributed packages (like from Linux distributions) can include QCH files matching the version of the library and will be also automatically updated on new versions of the libary. Next to that these macros also support linking between different QCH files, so a subclass from another library for which there also is a QCH file installed will be linked to the entry in that other QCH file. This inter-QCH linking is especially useful for libraries extending Qt, where many of the used types are from Qt libraries. The macros come with the needed information for Qt libraries prepared, so the used Qt libraries just need to be listed in the LINK_QCHS argument by target names, like Qt5Core_QCH or Qt5Widgets_QCH. This should be a nice supplement to online services like api.kde.org, like Qt's own QCH files are to doc.qt.io, While QCH files from an abstract POV could be seen similar to code libraries, being components with links to lookup symbols/entries in other QCH files, so the rules and code should be done with similar concepts, currently CMake's target system seems bound to executable code creation. So things like "file(EXPORT ...)" could sadly not be reused, as custom targets are not supported with that. Thus a custom macro had to be created for now. Also could I not find a way to use namespaces like KF5::, for more consistent target naming. The patch also adds two variables to KDEInstallDirs.cmake for controlling where the QCH (and respective doxygen tag files) are installed. The QTQCHDIR variant allows to install QCH files for Qt-extending libraries into the same folder where Qt's own QCH files are, so Qt Assistant & other QCH viewer pick up them automatically to add them to the default help file collection. The QCHDIR variant would provide a neutral, but central installation location. Neutral, as it never "pollutes" the Qt system dirs with files possibly unrelated to Qt-based development (e.g. when simply using qthelp tools for documentation), and central, to help with finding available QCH files for manually adding/loading them into a viewer, given there is no official way currently to register the availability of QCH files on installing. Open questions: a) target system for exporting/importing done in a sane way? Better name pattern for the QCH targets than xxx_QCH (see the targets created for Qt, like Qt5Core_QCH)? b) sharing metadata with kapidox Initially I placed these macros into the kapidox module, as this seems the logic place. And would match what kdoctools does for user manuals. Just, that would create a build dependency on kapidox which complicates usage a little. Having these macros in ECM delivers them with no extra effort needed. The data in metainfo.yaml is partially duplicated with the data feed into the macros. How to deduplicate that is still open. Especially with the need to not depend on external data sources like identify.kde.org. Issues: * doxygen versions before 1.8.13 are broken and miss to include some files with generated QCH (https://bugzilla.gnome.org/show_bug.cgi?id=773693) * Qt Assistant often only built with QTextBrowser, while doxygen uses lots of HTML5 (incl. hardcoded JavaScript) (https://bugzilla.gnome.org/show_bug.cgi?id=773715), needs e.g. distributions to use QtWebKit to work, upcoming Qt versions might soon also have QtWebEngine based help viewer (https://codereview.qt-project.org/#/c/111559/) * inter-QCH links do not work in KDevelop currently (see https://bugs.kde.org/show_bug.cgi?id=372747) if installed as separate QCH files More details/background info at https://frinring.wordpress.com/2016/09/27/adding-api-dox-generation-to-the-build-by-cmake-macros/ Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D2854
2017-06-04tests: improve error reporting for ECMAddAppIconTestPino Toscano
when checking whether there were new sources added (on Windows and Mac), check whether the variable is empty as list, instead of failing because of a cmake syntax error
2017-06-04tests: fix output directory for KDEFetchTranslationsPino Toscano
hopefully the dummy executable will be where expected (on Windows)
2017-06-04tests: fix last change on KDEFetchTranslationsPino Toscano
include the ECMMarkNonGuiExecutable module, so the ecm_mark_nongui_executable can be used
2017-06-04tests: hopefully fix KDEFetchTranslations on WindowsPino Toscano
use ecm_mark_nongui_executable to mark the dummy executable as non-gui, so its linking works
2017-06-04Fix KDEInstallDirsTest.relative_or_absolute_usr, avoid Qt paths being usedFriedrich W. H. Kossebau
Set KDE_INSTALL_USE_QT_SYS_PATHS explicitely to FALSE, to avoid it defaulting to TRUE if Qt is also installed to the /usr prefix
2017-05-30restore hidden-visibility testing with Xcode 6.2v5.35.0-rc1v5.35.0R.J.V. Bertin
Xcode 6.2 (OS X 10.9.5) has a Clang version that is based on Clang 3.5 but does not yet support -Wdate-time . Commit 7af9f8e2b6eb235923a329e8ff24012883fb6b86 introduced a regression where this compiler failed to pass the visibility tests because it prints a warning about -Wdate-time. This in turn leads to linker errors.
2017-05-23ecm_qt_declare_logging_category(): more unique include guard for headerFriedrich W. H. Kossebau
Summary: The old guard was created just from the identifier + _H, which runs the chance to clash in projects which use an identifier matching the project name and which also have a class or central file header which is named by the project and then has an include guard matching the filename. Example: project ABC -> abc.h with ABC_H guard identifier ABC, header debug.h -> debug.h with ABC_H guard any.cpp including both abc.h and debug.h will see only one content Using both the header file name and identifier for the guard name and prefixing it additionally with a macro specific term should make the guard both follow the usual pattern for guards matching the file name and also add some namespacing to allow for similar named header files in bigger projects (e.g. "debug.h") which could be included in the same include tree. Reviewers: #frameworks, #build_system Subscribers: elvisangelaccio Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D5866
2017-05-20Drop modules from attic that are not useful anymorePino Toscano
Even if they are in attic and not actually in use, drop a number of modules (and old tests) that it does not make sense to keep carry further: - FindAlsa.cmake, config-alsa.h.cmake: cmake has been providing a better FindALSA for long time - FindEigen.cmake, FindEigen2.cmake & test: Eigen v1 & v2 are deprecated and unmaintained for years - FindGStreamer.cmake: gstreamer-0.10 is long dead upstream - FindKdcraw.cmake, FindKDE4Workspace.cmake, FindKdeMultimedia.cmake, FindKDevPlatform.cmake, FindKexiv2.cmake, FindKipi.cmake, FindLibAttica.cmake, FindLibKonq.cmake: modules for KDE 4 libraries -- they are provided already by kdelibs 4.x, and the frameworks versions of those libraries provide cmake config files already - FindKNepomuk.cmake, FindKonto.cmake, FindNepomuk.cmake, NepomukAddOntologyClasses.cmake, NepomukMacros.cmake: Nepomuk stuff, which is long dead - FindKopete.cmake: the Frameworks version of Kopete is not released yet, so it'd rather provide own cmake config files - FindKorundum.cmake: Korudum is dead upstream, and so is Ruby 1.8 - FindLCMS.cmake & test: LCMS 1 is dead for many years already - FindMusicBrainz.cmake: libmusicbrainz v2 is long dead, and the web service API it uses was dismantled years ago - FindOpenEXR.cmake & test: ECM already provides an improved and polished version of this module - FindPolkitQt.cmake: polkit-qt is long dead, replaced by polkit-qt-1 - FindPopplerQt4.cmake: ECM 5.19+ already provides a better FindPoppler module - FindSharedDesktopOntologies.cmake: dead upstream, but also used to provide cmake config files already - tests for Blitz, Flex, LibXslt: their modules are not even in attic
2017-05-16Add or improve "Generated. Don't edit" messages and make consistentFriedrich W. H. Kossebau
Reviewers: #frameworks, #build_system, apol Reviewed By: apol Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D5867
2017-05-15Add a new FindGperf modulePino Toscano
Summary: Add a simple module to look for GNU gperf at build time, providing an helper macro for adding generations to a list of sources. gperf will be used to generate the C/C++ sources at build time, instead of using static versions in VCS; at least kcodecs, khtml, and kio-extras will be switched to this method. Reviewers: #windows, #frameworks, #build_system, kde-mac, adridg, rjvbb Reviewed By: adridg, rjvbb Subscribers: kfunk, rjvbb, adridg Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D3830
2017-05-13GIT_SILENT Upgrade ECM version to 5.35.0.l10n daemon script
2017-05-08Change default pkgconfig install path for FreeBSDTobias C. Berner
Summary: FreeBSD, opposed to most other sytems, does not install pkgconfig files to lib/pkgconfig, but to libdata/pkgconfig. Reviewers: #freebsd, apol, kfunk Reviewed By: kfunk Subscribers: kfunk, #frameworks, #build_system Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D5766
2017-05-07Fix test when compiling from a tarballv5.34.0-rc3v5.34.0Aleix Pol
Summary: Otherwise it doesn't work when falling back to the project name. Test Plan: Ran the test locally with and without .git directory Reviewers: #frameworks, joselema, sitter Reviewed By: sitter Subscribers: #build_system Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D5741
2017-05-05GIT_SILENT Upgrade ECM version to 5.34.0.v5.34.0-rc2v5.34.0-rc1l10n daemon script
2017-04-21Sanitizers: Don't use GCC-like flags for e.g. MSVCKevin Funk
Summary: Fixes compiler warnings such as: ``` cl : Command line warning D9002 : ignoring unknown option '-fsanitize=address' cl : Command line warning D9002 : ignoring unknown option '-fno-omit-frame-pointer' ``` Reviewers: aacid, bcooksley Reviewed By: aacid, bcooksley Subscribers: #frameworks, #build_system Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D5489
2017-04-20adapt to fetchpo changes and use vars for target directories to dry codeHarald Sitter
Summary: - fetchpo now expects the output dirs as named arguments - new argument for poqm directories where releaseme will put _qt.po files - variables for both po/ and poqm/ to not repeat the paths all over the place Reviewers: apol Reviewed By: apol Subscribers: #frameworks, #build_system Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D5525
2017-04-20fix documentation, ecm_install_po_files_as_qm generates .qm, not .moHarald Sitter
2017-04-20use correct variable for fetch-translations injectionHarald Sitter
Summary: KDE_L10N_AUTO_TRANSLATIONS is the name of the relevant option Reviewers: apol Reviewed By: apol Subscribers: #frameworks, #build_system Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D5523
2017-04-20KDEPackageAppTemplates: improve API dox notation of function signatureFriedrich W. H. Kossebau
2017-04-20KDEPackageAppTemplates: mark %{dest} as deprecatedFriedrich W. H. Kossebau
2017-04-20KDEPackageAppTemplates: fix note for %{PROJECTDIRNAME}Friedrich W. H. Kossebau
2017-04-20KDEPackageAppTemplates: remove note of placeholder %{src}, never supportedFriedrich W. H. Kossebau
2017-04-18Fix minor CMake warning (CMP0054)Kevin Funk
2017-04-18KDECompilerSettings: Pass -Wvla & -Wdate-timeKevin Funk
Summary: -Wvla: Warn because it's non-standard feature, not supported by MSVC to date -Wdate-time: Warn because using __TIME__ or __DATE__ prevents reproducible builds These warnings are being used for *building* Qt itself as well (cf. qt_common.prf in qtbase) Test Plan: No new warnings from rebuilding KDE Frameworks Reviewers: mpyne Reviewed By: mpyne Subscribers: mpyne, #frameworks, #build_system Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D5430
2017-04-11Don't include tests together with modulesAleix Pol
We have tests that go through the modules directory
2017-04-11Allow test to work with older versions of qmlplugindumpAleix Pol
2017-04-10Don't enable the test by defaultAleix Pol
The build isn't always reproducible and comparisons are unfair
2017-04-10Support older qmlplugindump versionsAleix Pol
2017-04-10Introduce ecm_generate_qmltypesAleix Pol
Summary: Introduces a function that allows to generate plugins.qmltypes files for our qml plugins using qmlplugindump much like Qt does. Test Plan: Introduced it locally on Purpose and it works Reviewers: #frameworks, #build_system Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D5087