Age | Commit message (Collapse) | Author |
|
Summary:
This works with both the old and the new way of Qt's asset deployment, ie.
with Qt 5.13 and Qt 5.14.
Reviewers: apol
Reviewed By: apol
Subscribers: apol, kde-frameworks-devel, kde-buildsystem
Tags: #frameworks, #build_system
Maniphest Tasks: T12520
Differential Revision: https://phabricator.kde.org/D27596
|
|
With some build configurations no catgories might be registered for
a given export id.
Instead of failing hard and thus forcing to catch this situation
explicitly on the caller side, be grateful on the callee side
and just generate an empty file, so the installed file set is consistent.
GIT_SILENT
|
|
NAME_WLE might be more nice to support any people who might want to use
a dot in the base filename, but that needs newer cmake.
GIT_SILENT
|
|
Summary:
Having to manually maintain a separate copy of all the data about qt logging
categories in the categories files comes with the usual disadvantages.
The new macro ecm_qt_install_logging_categories together with the additions
of arguments DESCRIPTION & EXPORT to ecm_qt_declare_logging_category allows
to have just one place with one copy of the data, and have the categories
file automatically generated from that data, linked via the EXPORT id.
For cases not using ecm_qt_declare_logging_category, but having categories
manually defined in code, yet wanting to have info about those categories in
the installed fiel, ecm_qt_export_logging_category allows to add those data
to the system.
Test Plan:
Added unit tests work, porting of some repos created categories files whose
diff against the manually created files were only the DO_NOT_EDIT header.
Reviewers: #build_system, #frameworks, broulik, mlaurent
Reviewed By: mlaurent
Subscribers: kde-frameworks-devel, kde-buildsystem
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D27150
|
|
|
|
Summary:
Populate module_config with staticlib. This is needed for Qt 5.12, as
Makefiles contain the full path to the library instead of just the base
name. QMake needs to be aware of the build type. This issue was found in
KDStateMachineEditor's .pri files.
Before this patch the linker tried to link against .so files even for
static libraries.
Note: Probably not very relevenat to KDE Frameworks (since it's all
about shared libraries, but I'd like to keep the original
ECMGeneratePriFile version up-to-date)
Compare:
```
% cat kdsme-qmake-test.pro
QT += KDSMEDebugInterfaceSource
!qtHaveModule(KDSMEDebugInterfaceSource): warning("Library not found")
SOURCES += main.cpp
% qmake --version
QMake version 3.1
Using Qt version 5.9.8 in /home/kfunk/devel/build/qt5.9/qtbase/lib
% qmake .
% make
...
g++ -Wl,-rpath,/home/kfunk/devel/build/qt5.9/qtbase/lib ... -L.../lib -lkdstatemachineeditor_debuginterfacesource ...
% make clean
% env-qt5.12
% qmake --version
QMake version 3.1
Using Qt version 5.12.5 in /home/kfunk/devel/build/qt5.12/qtbase/lib
% qmake .
% make
...
g++ -Wl,-rpath,/home/kfunk/devel/build/qt5.12/qtbase/lib ... .../lib/libkdstatemachineeditor_debuginterfacesource.a ...
Reviewers: dfaure, winterz, vkrause, apol
Reviewed By: apol
Subscribers: kde-frameworks-devel, kde-buildsystem
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D26394
|
|
Summary: Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
Reviewers: tcanabrava, apol
Reviewed By: tcanabrava, apol
Subscribers: kde-frameworks-devel, kde-buildsystem
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D26751
|
|
|
|
Summary: Correct spelling in extra-cmake-modules comments.
Reviewers: apol
Reviewed By: apol
Subscribers: kde-frameworks-devel, kde-buildsystem
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D25752
|
|
Summary:
The original intention has been that by default during the build of a
library no warnings should be emitted on using own deprecated API,
as for one that has to be implemented as well as often deprecated API
is implemented using other deprecated API, so the warnings are not
helpful, and having to add lots of push/pop warnings instructions
in the code for the compiler harms readability more than it helps
ensuring to only use deprecated API where one has to.
The original intention was satisfied due to the default mechanism in the
generated export header code, where DEPRECATED_WARNINGS_SINCE if not set
defaults to DISABLE_DEPRECATED_BEFORE_AND_AT. That though breaks once
the group version of DEPRECATED_WARNINGS_SINCE is set in the build, as
this default has higher priority by design, even if the usage here only
wants to target dependency libs of the same group, not the current library.
To restore the intented default behaviour, by default
DEPRECATED_WARNINGS_SINCE is now explicitely set for the library build
itself to the EXCLUDE_DEPRECATED_BEFORE_AND_AT value, and a new macro
option allows to disable this.
Reviewers: #build_system, #frameworks, dfaure
Reviewed By: dfaure
Subscribers: kde-frameworks-devel, kde-buildsystem
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D25589
|
|
GIT_SILENT
|
|
GIT_SILENT
|
|
|
|
GIT_SILENT
|
|
GIT_SILENT
|
|
More friendly to users which mix arguments DEPRECATED_BASE_VERSION &
EXCLUDE_DEPRECATED_BEFORE_AND_AT, but e.g. allow the latter to be
configured during library build setup
GIT_SILENT
|
|
GIT_SILENT
|
|
GIT_SILENT
|
|
GIT_SILENT
|
|
Summary:
Generates additional macros in the export header which can be used for
fine-grained disabling of warnings & visibility as well as excluding from
the build.
Reviewers: #frameworks, #build_system
Subscribers: chehrlic, dfaure, cgiboudeaux, kde-frameworks-devel, kde-buildsystem
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D23789
|
|
Summary:
simply sets a variable when the source is under version control. use it to
auto-enable Debug builds. there are also plans to switch special assertion
logic on in KIO when used from git, so there definitely is a more generic
use case of wanting to control behavior based on whether it the source is
likely used to make a development or production build.
conceivably the module could be used in the future to get git rev-parse or
the like, hence the generic name.
Test Plan: with .git the var is true, without it is false
Reviewers: kde-buildsystem, dfaure
Reviewed By: dfaure
Subscribers: apol, kossebau, kde-frameworks-devel
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D24159
|
|
As intended by original code, to generate consistent output per
this document for the given lists of variables
GIT_SILENT
|
|
Summary:
Allows to have headers be found by doxygen, e.g. to properly process
preprocessor macros.
Reviewers: #build_system, dfaure
Reviewed By: dfaure
Subscribers: dfaure, kde-frameworks-devel, kde-buildsystem
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D23791
|
|
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
|
|
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
|
|
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
|
|
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
|
|
GIT_SILENT
|
|
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
|
|
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
|
|
Summary:
Patch by Eike Ziller from https://github.com/KDAB/GammaRay/pull/526 in
response to Qt change https://codereview.qt-project.org/#/c/248684/.
Reviewers: apol
Reviewed By: apol
Subscribers: kde-frameworks-devel, kde-buildsystem
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D18243
|
|
|
|
|
|
|
|
This is for compatibility with Apple's Xcode
compilers which identify as AppleClang.
Differential Revision: https://phabricator.kde.org/D16816
|
|
|
|
Summary:
easier to read with spaces
SCM_SILENT
Reviewers: apol
Reviewed By: apol
Subscribers: kde-frameworks-devel, kde-buildsystem
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D16221
|
|
|
|
Summary: Use a similar strategy as D14528 to find qm files.
Test Plan: Analitza parts of KAlgebra are translated too.
Reviewers: #frameworks, aacid
Reviewed By: aacid
Subscribers: svuorela, aacid, kde-frameworks-devel, kde-buildsystem
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D14529
|
|
|
|
On Windows at least this is simply broken and leads to tests failing because plugins from other modules cannot be found at all.
Based on this it is likely that it is broken on other platforms as well, it's just being hidden there by other logic.
CCMAIL: kde-frameworks-devel@kde.org
|
|
Summary:
ECMPoQmTools will need to have the translations downloaded at configure time instead of on build time, otherwise it needs an awkward second configure.
To that end we introduce a KDE_L10N_SYNC_TRANSLATIONS variable that allows it to do so.
ECMPoTools will download the translations in the build directory, because cmake shouldn't touch the sources. Have it check the build directory too when the macro is called.
Test Plan: Built analitza translations.
Reviewers: #frameworks, cgiboudeaux
Reviewed By: cgiboudeaux
Subscribers: cgiboudeaux, kde-frameworks-devel, kde-buildsystem
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D14569
|
|
Subscribers: kde-frameworks-devel, kde-buildsystem
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D14541
|
|
These changes are not available in ECM 5.48.0.
|
|
Summary:
- Add support for SIDEBAR_ICONS on macOS
- Allow specifying a basename for the icon file via OUTFILE_BASENAME
- Add support for HiRes icons on Windows via icotool
I'm sorry this went all into one big change. I see that it's not optimal,
but it's really hard to rip it apart...
Also to me the whole code with support for two flavors of png2ico and icotool seems very spaghetti-ish. IMHO there's no good reason to keep supporting all three, icotool is the only maintained project and the only one supporting more than 128px wide icons. That's why I would suggest to simplify the whole code by only supporting icotool in one of the next releases.
Test Plan:
We use this version of ECMAddAppIconMacro in ownCloud client and it works...
I tested icotool natively and while cross-compiling on linux.
SIDEBAR_ICONS are also working...
If you want to test this with the ownCloud client, it's best to use
https://github.com/dschmidt/owncloud-client/tree/fix-app-icon-macro
because that contains a small fix I just PR'ed and which is not
in master yet. (We maintain a fork of the module there, so compiling it for Windows or macOS will automatically use the version of the module that I'm submitting)
Reviewers: vonreth, vpinon, apol, alexmerry, cgiboudeaux
Reviewed By: cgiboudeaux
Subscribers: cgiboudeaux, kde-frameworks-devel, kde-buildsystem
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D13698
|
|
Summary:
Quite some C++-based projects do not use .h as header file extension, but
.hpp, .hxx or other variants. Making the header file extension configurable
enables to make use of ECMGenerateHeaders in such projects.
Test Plan:
The added unit test works, existing unit tests work as before.
Also using in project with .hpp files works.
Reviewers: apol
Reviewed By: apol
Subscribers: apol, kde-frameworks-devel, kde-buildsystem
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D13721
|
|
Summary:
These typos show up in the generated manpages.
Reviewers: #frameworks, alexmerry, kossebau, cgiboudeaux
Reviewed By: cgiboudeaux
Subscribers: cgiboudeaux, kde-frameworks-devel, kde-buildsystem
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D12867
|
|
|
|
Summary:
This macro helps with setting up all the boilerplate CMake code needed
to instruct automoc about the custom C++ macros used to define Qt-style
plugin class instances.
Reviewers: #build_system, #frameworks, apol
Reviewed By: apol
Subscribers: apol
Tags: #frameworks, #build_system
Differential Revision: https://phabricator.kde.org/D10749
|
|
|