aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-12-30Add Clang Sanitizer CMAKE_C_FLAGS for C projectLeslie Zhai
Test plan: Clang and GCC for simple C project, kcoreaddons, kjs, etc. BUG: 374195 REVIEW: 129708 Reviewers: #extracmakemodules, alexmerry Reviewed By: dfaure, aacid
2016-12-30Enable -Wsuggest-override for g++ >= 5.0.0Albert Astals Cid
REVIEW: 129724
2016-12-29Enable colored warnings in ninja's outputElvis Angelaccio
Summary: Colored compiler warnings in ninja output only work with the `-fdiagnostics-color=always` flag. See https://github.com/ninja-build/ninja/issues/814 for a rationale. This commit adds such flag in ecm for gcc >= 4.9 and clang >= 3.5, and only if the CMAKE_GENERATOR is Ninja. Test Plan: ninja+gcc and ninja+clang now show nice colored compiler warnings. Reviewers: #frameworks Differential Revision: https://phabricator.kde.org/D3733
2016-12-28Revert "Add Clang Sanitizer CMAKE_C_FLAGS for C project"Albert Astals Cid
This reverts commit 1e7f3d5ba91e79a47d69a48e8f991ee0e7794b53. It's breaking compilation of anything that uses pthreads
2016-12-28Add Clang Sanitizer CMAKE_C_FLAGS for C projectLeslie Zhai
BUG: 374195 REVIEW: 129708 Reviewers: #extracmakemodules, alexmerry Reviewed By: dfaure
2016-12-21Fix missing :: in API docs to trigger code stylingFriedrich W. H. Kossebau
2016-12-19Ignore host libs/includes/cmakeconfig files in Android toolchainFriedrich W. H. Kossebau
Summary: Currently (since 123d0d14017a25fb387efd8fe3c2c1323f9c3815) any find_library() and find_path() calls look both at the host and the toolchain paths, which often results in includes and/or libraries wrongly being picked up from the host system, which then results in a failed build. CMake config files have always been also looked for on the host, which most often also is not wanted and resulting in a failed build. This patch fixes that by changing the mode for finding libraries, includes & packages to ONLY (again), as also recommended in the cmake-toolchains documentation. While before CMAKE_PREFIX_PATH was recommended to let cmake e.g. discover the Qt5 for Android libs, this patch wants a custom variable ECM_ADDITIONAL_FIND_ROOT_PATH to be used instead. Reason is that CMAKE_PREFIX_PATH would be subject to the root handling, while here instead the root paths themselves are wanted. This patch does not add backward compatibility for still passing the Qt5 install prefix via CMAKE_PREFIX_PATH, as there are not that many users known yet and the old code did not work for many anyway, so the extra code hassle is not worth it. Instead the few build instructions would need to be updated (and should ask to use latest ECM in any case). Test Plan: Building Marble now works without trying to use stuff from the host system. Reviewers: #frameworks, #gcompris, #minuet, mutlaqja, sandsmark, cordlandwehr, nienhueser, apol Reviewed By: cordlandwehr, nienhueser, apol Differential Revision: https://phabricator.kde.org/D3646
2016-12-19Document usage of gnustl_shared with Android toolchainFriedrich W. H. Kossebau
Reviewers: #frameworks, cordlandwehr, apol Reviewed By: apol Differential Revision: https://phabricator.kde.org/D3732
2016-12-12Upgrade ECM version to 5.30.0.l10n daemon script
2016-12-11Never use -Wl,--no-undefined on Mac (APPLE).R.J.V. Bertin
While unusual it is not impossible to use GCC on Macs, esp. not when using older OS X versions. Intel also makes compilers for Mac, so it may in fact be better to rewrite the check ((GNU or Clang or Intel) IF NOT (APPLE or WIN32)).
2016-12-10Accept AppleClang as an alternative to ClangR.J.V. Bertin
Apple's clang v3.1 corresponds to clang 3.1 and started following the Xcode versioning scheme from 4.4 onwards (though loosely). An overview of the version correspondance can be found here: https://gist.github.com/yamaya/2924292
2016-12-03Find the correct path to the cmake commandv5.29.0-rc1v5.29.0Ovidiu-Florin BOGDAN
Summary: When running tests with hardcoded `cmake`, it get's suffixed to the project's build path. Setting it with an absolute path ensures using the right cmake binary. Test Plan: Compiled, installed. Used to generate tests for kdev-embedded. `cmake` binary is now prefixed with the absolute system path, and no longer with the project's build dir. Reviewers: kfunk, #frameworks, apol Reviewed By: kfunk, apol Subscribers: kfunk Differential Revision: https://phabricator.kde.org/D3568
2016-12-01Fix typoElvis Angelaccio
GIT_SILENT
2016-11-18Minor: Remove extra new lineKevin Funk
Triggered my OCD
2016-11-16Use the generic redirect and add the doc linkLuigi Toscano
https://commits.kde.org/<repo>?path=...&branch=... is guaranteed to redirect to the proper repository browser. Add a link to the generated ECM documentation. REVIEW: 129367
2016-11-16Use commits.kde.org in links instead of now outdated quickgit.kde.orgFriedrich W. H. Kossebau
also correct link to clazy's README.md (former README)
2016-11-15Upgrade ECM version to 5.29.0.l10n daemon script
2016-11-07Skip Python bindings test if PyQt isn't installedDavid Faure
2016-11-07Only add the test if python is foundStephen Kelly
2016-11-07Reduce the CMake minimum requiredStephen Kelly
This works with 3.2, and I don't remember why I made it 3.3.
2016-11-07Add missing includesStephen Kelly
Don't rely on transitive inclusion
2016-11-07Print path to Qtcoremod.sip file if there is a problemStephen Kelly
2016-11-05Add ecm_win_resolve_symlinks module.Gleb Popov
REVIEW: 128112
2016-11-05Make KDECMakeSettings work with KDE_INSTALL_DIRS_NO_DEPRECATEDv5.28.0-rc1Friedrich W. H. Kossebau
REVIEW: 128806
2016-10-31Don't require the python bindings dependencies for ECMStephen Kelly
It should be optional.
2016-10-31Add the PythonModuleGeneration moduleStephen Kelly
This can be used by KF5 libraries to generate python 2 and 3 bindings.
2016-10-31Add a sip wrapperStephen Kelly
When sip is executed it is passed one .sip file. However, it uses that to generate multiple cpp source files, one per class in the sip file. Buildsystems need to know the outputs of commands, so this does not work well as the output can't easily be predicted. So, create a unity build of all files to compile into the python module.
2016-10-31Add Qt5 Ruleset.Stephen Kelly
The ruleset is used to transform or omit artifacts in C++ header files when determining the SIP content to generate. Some content common to all Qt-using libraries can be processed by using the rule set present here. For example, most Q_METATYPE internal declarations should be discarded.
2016-10-31Add the rules_engine and sip_generatorShaheed Haque
These files process C++ headers with libclang and python-clang bindings, using the AST to generate SIP files for PyQt binding library generation. The design allows for further extensions which can process other artifacts found in headers. This iteration of the design is a simple minimum which suffices to generate headers for KItemModels and some other libraries.
2016-10-09Upgrade ECM version to 5.28.0.l10n daemon script
2016-10-08Revert "Teach KDECompilerSettings about clang-cl, a mode of Clang compiler ↵Ben Cooksley
that simulates MSVC." This reverts commit 4b8e8dcc8856d8f438860783e7641d02d1c05630.
2016-09-30Teach KDECompilerSettings about clang-cl, a mode of Clang compiler that ↵Gleb Popov
simulates MSVC. REVIEW: 128779
2016-09-15Make sure we don't add the appstream test twicev5.27.0-rc2v5.27.0-rc1v5.27.0v5.26.0-rc2Bhushan Shah
Guard variable we used to ensure this doesn't happen was not scopped to parent and hence was being reset when funciton returns REVIEW: 128917
2016-09-10Upgrade ECM version to 5.27.0.l10n daemon script
2016-09-06Add .arcconfig fileAleix Pol
2016-09-05Upgrade ECM version to 5.26.0.v5.26.0-rc1v5.26.0l10n daemon script
2016-09-05ecm_process_po_files_as_qm: Skip fuzzy translationsAlexander Potashev
REVIEW: 128823
2016-09-02Android.cmake: fix typo in commentDavid Faure
2016-09-02The default level for logging categories should be Info rather than Warning.David Faure
The whole point of Info is to be used by apps who want to print out some info for the user, not disabled by default. Example use case: ksmserver could output the name of the autostart files it's starting, so user can check their own scripts are started, and associate any errors with the corresponding script. In other words: Debug = debugging for the developer Info = debugging for the user :-) This commit shows the benefit of having a central place for changing this (many category definitions do not use this macro though) REVIEW: 128232
2016-08-31add full license textAllen Winter
REVIEW: 128780
2016-08-24Fix the harmless warningsChristophe Giboudeaux
GIT_SILENT
2016-08-24Document ARGS variable in the create-apk-* targetsAleix Pol
Explains how to install and sign apks REVIEW: 128634
2016-08-24Create a test that validates projects' appstream informationAleix Pol
At the moment, we're validating it in build.kde.org, but I feel it will be easier for developers to test if we do so locally. This patch does it by seeing which *.appdata.xml files are being installed and validating them. This way we can keep it generic for all KDE projects. REVIEW: 128533
2016-08-21trivial: Fix documentationMatthias Klumpp
2016-07-27Fix inclusion when there's no Qt5v5.25.0-rc1v5.25.0Aleix Pol
ECMQueryQmake will fail as it's designed to only work with Qt5. We don't want to terminate the execution there, just to spit a warning and leave. If we suggest qmake-qt5 as a command, we'll end up performing the call anyway. This will fix the ExecuteCoreModules test under latest-qt4 build.
2016-07-26Add a fallback method for query_qmake() when there's no Qt5 installationAleix Pol
Addresses its usage on systems where Qt5 isn't installed, it allows for modules using it to decide what they should do. REVIEW: 128488
2016-07-18Make sure ECMGeneratePriFile.cmake behaves like the rest of ECMAleix Pol
In KDEInstallDirs we have some code to make sure that qmake is asked when the project shares the prefix with the installed Qt, to make sure that if something was changed in the distribution it would reflect on the projects. Make sure PRI files are installed using the same reasoning. REVIEW: 128427
2016-07-18Appstream data changed its preferred locationJonathan Riddell
Update preferred path of appstream data files to /usr/share/metainfo Requires modern versions of appstream metadata generators. FEATURE REVIEW: 128174
2016-07-09Upgrade ECM version to 5.25.0.l10n daemon script
2016-06-15Integrate relative library paths to APKv5.24.0-rc1v5.24.0Andreas Cord-Landwehr
Needed for many unit tests to add them to APK files. REVIEW: 128175