Use generate headers instead of having them stored in the repository.
Figure out how relative paths are forwarded around, there were some weird
things.
Stop installing plasma header files in the KDE/ prefix.
Introduces a new optional dependency to EGL. If EGL is found the
WindowThumbnail gets compiled with EGL support. The EGL support is
unlike Qt's XCB plugin not mutual exclusive to the GLX backend, thus
it's possible to compile with EGL and GLX at the same time.
By that this implementation is prepared for the case that Qt supports
EGL or GLX through runtime selection.
In practice EGL support is only useful if Qt is compiled with GLESv2.
In that case the corebindingsplugin gets linked against Qt5::Gui_GLESv2
to get the dependency to GLES.
The implementation makes use of the EGL_KHR_image extension
(or EGL_KHR_image_base and EGL_KHR_Image_pixmap) and
the GL_OES_EGL_image extension to bind the X pixmap to an EGLImageKHR.
REVIEW: 116627
Only link against OpenGL if Qt links against OpenGL. This ensures
that we don't run into issues if Qt links GLES and plasma links
GL because that's found.
REVIEW: 115990
- plasma_appletscript_declarative includes QtUiTools but doesn't use it
- QtPrintSupport is not used anywhere
- Xss, Xext, and SM are not used anywhere
- OpenSSL is not used anywhere
REVIEW: 115830
* X11 is optional dependency
* XCB is optional dependency
* Qt::X11Extras is only found if both X11 and XCB are found
* switch to HAVE_X11 instead of X11_FOUND in CMakeLists
* remove/fix custom added definitions
* use #if HAVE_X11 instead of #ifdef HAVE_X11 (that is always true)
REVIEW: 115698
The outputOnly property allows to specify that the dialog should not
accept any input. Thus it's an output only window which supports click
through. This is obviously platform specific and so far it is only
implemented for the X11 platform using the shape extension.
The input shape needs to be set once the window is visible and thus
the functionality is bound to the visible changed signal. The code
ensures that the required shape extension version is present and only
fetches it once.
REVIEW: 115139
This removes the last dependency from plasma-framework on kde4support.
This change is a bit more involved than other kde4support removals because
QSharedPointer does not provide a count() method. I therefore reworked the code
to store the SharedSvgRenderer as a QWeakPointer in s_renderers, making it
possible to detect when the last one goes away by creating a QWeakPointer guard
in SvgPrivate::eraseRenderer().
REVIEW: 114912
Stop using classes from kde4support:
- KComponentData is deprecated, it will be using QCoreApplication::
applicationName() and QCoreApplication::applicationVersion(). Of course,
this means that the existing shells will have to be ported. I have no
problem with doing that port myself, if I'm told where to look into.
- Drop usage of KLocale, ported to QLocale
- Drop usage of KStandardDirs, ported to QStandardPaths
- Drop usage of KIcon, ported to QIcon
Furthermore, there's a module in src/declarativeimports/locale that IIUC
exposes KLocale bindings to QML. A specific plan to port it should happen
as well.
REVIEW: 113920
There's no need to make all the framework look for the QCA includes while
they're only being used by the remote part. It could possibly be made more
specific, but I don't think those are yet being used anyway.
Removes the find_package(Qt5Transitional) and does the proper
find_package(Qt5) with the list of modules.
Most of the porting is about using the Qt5:: targets.
REVIEW: 113345
New qquick item in PlasmaCore to render a live updating window
thumbnail. The implementation uses XCB to redirect the specified
window using the composite extension. This means a running compositor
is not required. Through the damage extension the item tracks changes
to the window and triggers updates of the texture. Furthermore the
item tracks geometry changes of the window to recreate the window
pixmap.
If the pixmap of the window is valid, a texture is generated from it
using the glx texture from pixmap extension. For this a new optional
dependency for glx is added. On platform where glx is not available
(e.g. Windows, Linux with OpenGL ES) this will not get compiled and
the window's icon is used instead as a fallback.
REVIEW: 112142
Uses the new components syntax of FindXCB. So far plasma frameworks
only need the XCB component and that one is optional just like XLib.
The find xcb is moved to the toplevel CMakeLists.txt together with
the find x11 and HAVE_X11 gets set only if both X11 and XCB are found.
REVIEW: 112499
plasma-frameworks doesn't seem to build with 2.8.10.1:
qt5/include/QtCore/qglobal.h:975:4: error: #error "You must build your code with position independent code if Qt was built with -reduce-relocations. " "Compile your code with -fPIC or -fPIE."
This is most probably related to all the target-property related work from Stephen in CMake 2.8.11.
Alex
Those components are required by some libraries. It seems to me that
this should be fixed elsewhere, but also it's not acceptable to have
modules that aren't compiling.
This reverts commit 7c5e2e49ae.
In KF5, C++11 is not to be assumed on all our platforms. So don't force
it from cmake. That said we have to make sure our code builds in both
case (C++11 available or not). I'll get in touch with the build.kde.org
admins to sort that out.
CCMAIL: ivan.cukic@kde.org
- Installs PlasmaConfig, FindPlasma, PlasmaMacros, etc.
- find_package Plasma works
- version set to 2.0.0, do we dare that?
This might bump into FindPlasma.cmake, which is installed by kdelibs,
and should be removed: it applies to Plasma 4.1 only and bails out,
since after that, we used the KDE4 libs find_package foo. Now we're kind
of going back to pre-4.2 times. :-)
Make it possible to install any type into any path prefix. We just add
an optional argument to also specify the type, so from now on installed
service files will not all be plasma-applet-<pluginname>.desktop, but
for example plasma-wallpaper-<pluginname>.desktop.
CCMAIL:plasma-devel@kde.org
I thin using the variables is safer, this way you are somewhat guarded against changes
in the names of targets, and a typo leads to an empty variable, instead to
"ld: cannot find -lkcoreaddons" which looks very much like a missing normal library
Alex
All cpp code moves into the src/ subdirectory, as the Frameworks policy
suggests.
Directory structure should now be in line with other, future frameworks.
kdelibs frameworks now installs a KDELibs4Config.cmake, which
can be searched more or less normally using
find_package(KDELibs4 NO_MODULE)
Preparing CMAKE_MODULE_PATH is no longer necessary.
KDELibs4Config.cmake does not anymore containg compiler or cmake settings,
so must now load these settings:
find_package(KF5... CMake Compiler)
Alex
- remove usage of old macro_*() macros
- testing for kdelibs_SOURCE_DIR doesn't make sense here, this is only set inside a project(kdelibs)
- don't append a subdir to ${CMAKE_PREFIX_PATH}, this is a list of directories
- don't add ${CMAKE_SOURCE_DIR}/cmake/modules/ to CMAKE_MODULE_PATH, this directory doesn't exist
Alex
- add MODULE and NO_MODULE keywords to find_package() to make it obvious what we are looking for
- add kdeqt5staging include dir
- add plasma/includes/ to the includes dirs (why was this missing ?)
Alex