Commit Graph

50811 Commits

Author SHA1 Message Date
Christoph Reiter
26d32f3bd0 meson: build all input modules; fix static build on Linux 2019-04-11 16:45:36 +02:00
Christoph Reiter
e41ec3c62e meson: install public broadway headers 2019-04-11 16:45:36 +02:00
Christoph Reiter
cb89ad18a2 meson: immodules: unset the name_prefix to match autotools 2019-04-11 16:45:36 +02:00
Christoph Reiter
fd758bb2e9 meson: install unix-print headers 2019-04-11 16:45:36 +02:00
Christoph Reiter
1882ff9be3 CI: enable broadway and xinerama 2019-04-11 16:45:36 +02:00
Christoph Reiter
fb9e3e1830 CI: autotools: test with srcdir!=buildir 2019-04-11 16:45:36 +02:00
Christoph Reiter
310dc4b6c4 meson: cloudproviders fixes
Set min cloudproviders version.
Add libcloudproviders to gdk Requires.private.
CI: build/test with cloudproviders
2019-04-11 16:45:36 +02:00
Christoph Reiter
b1bc86e905 meson: mkenums: only write basenames in the comments
The autotools build uses relative filenames here while with meson
we get absolute paths. Switch to basename so we get the same result
for both and don't break reproducible builds with absolute paths
in public headers.
2019-04-11 16:45:36 +02:00
Christoph Reiter
59055fd9f7 meson: set interface age; pass soversion to libgdk as well 2019-04-11 16:45:36 +02:00
Christoph Reiter
a33bf3da56 meson: Install gail-3.0.pc and gtk-3.0.m4 2019-04-11 16:45:36 +02:00
Christoph Reiter
490cf8dff6 meson: make the gtk/gdk .pc files match autotools on Linux
Try to include the same things and in a similar order so differences
are easier to catch.

This also adds the backend specific .pc files for gdk like gdk-x11-3.0.pc
2019-04-11 16:45:36 +02:00
Christoph Reiter
331a92d559 meson: gtk gir: depend on xlib and include gtkx.h if X11 is enabled
To match what the autotools build does.
2019-04-11 16:45:36 +02:00
Christoph Reiter
1bbd244517 meson: install desktop/gschema files for demos 2019-04-11 16:45:36 +02:00
Christoph Reiter
c9d4f53cfc meson: install gtkbuilder.rng/its/loc files 2019-04-11 16:45:36 +02:00
Christoph Reiter
dbf7e1d23b meson: widget-factory: install icons 2019-04-11 16:45:36 +02:00
Christoph Reiter
212efbdd81 meson: build docs and man pages
Lots of warnings, so something is probably still missing.
2019-04-11 16:45:36 +02:00
Christoph Reiter
5a84730b4a meson: build and install translations 2019-04-11 16:45:36 +02:00
Christoph Reiter
1ee995fd0f meson: Install im-multipress.conf 2019-04-11 16:45:36 +02:00
Christoph Reiter
9709d7eb61 meson: Install key themes 2019-04-11 16:45:36 +02:00
Christoph Reiter
7bc1aeef8e CI: run the tests with meson
Not all are ported I think, but this is a start.
2019-04-11 16:45:36 +02:00
Christoph Reiter
73fcf0d3d4 CI: save meson build logs 2019-04-11 16:45:36 +02:00
Christoph Reiter
fb083b6de2 tests: don't overwrite GSETTINGS_SCHEMA_DIR when running under meson
Under autotools the compiled schemas are in the build directory and with
meson they are in the root build dir. Avoid changing the autotools build for
now and add a special GTK_TEST_MESON env var which we can use to differentiate
the two.

See 1253e7bfcb for a similar fix on master.
2019-04-11 16:45:36 +02:00
Christoph Reiter
09fe0b0edc meson: disable some broken immodules for now
To fix the build.
We need to port the source generation logic from gtk4 for this.
2019-04-11 16:45:36 +02:00
Christoph Reiter
857b9a55a4 meson: fix build of immultipress.c with mingw
There is no need to escape the quotes since we are not in a shell here
and things get passed to the compiler as is.
2019-04-11 16:45:36 +02:00
Christoph Reiter
dc5698ad55 CI: add meson build jobs for Fedora and MSYS2 2019-04-11 16:45:36 +02:00
Christoph Reiter
b185f69334 meson: check for and set HAVE_IPRINTDIALOGCALLBACK
It's needed under mingw in the print backend
2019-04-11 16:45:36 +02:00
Christoph Reiter
ca33855793 meson: gdk: add missing pangowin32 dep 2019-04-11 16:45:36 +02:00
Christoph Reiter
74f6832001 meson: add fribidi dep 2019-04-11 16:45:36 +02:00
Chun-wei Fan
6db8e62ae7 meson: Install the icons for the demo programs
Those should be installed as well, and will also eliminate the error
that gtk-update-icon-cache failed during the post install.
2019-04-11 16:45:36 +02:00
Chun-wei Fan
c1e40a5fbd meson: Really fix Broadway builds
We must also feed rawinflate.min.js into gen-c-array.py, so that the
windows really show up in the browser when running GTK programs using
broadway.
2019-04-11 16:45:36 +02:00
Chun-wei Fan
7586e88204 meson: Build libgail-util
This adds libgail-util to the build process.
2019-04-11 16:45:36 +02:00
Chun-wei Fan
5e8edec254 meson: Build the input modules
Build the input modules for GTK+, either as modules or built directly
into GTK.  Also provide a configure option to build the specified
immodules, or all, or the backend immodule(s) or none of the immodules
into GTK.  Note that for Visual Studio all immodules are built into
the GTK DLL by default, like what is done in the Visual Studio projects.

Note that building the backend immodules for Quartz, X11 and Wayland are
currently untested.
2019-04-11 16:45:36 +02:00
Chun-wei Fan
6b079afa0a meson: Fix GDK-Win32 build
We have a new source file that we must build,
gdkwin32langnotification.c.
2019-04-11 16:45:36 +02:00
Chun-wei Fan
e24e0dd8a5 meson: Make post-install script a Python script
This is so that the post install script will work on environments where
*NIX shell scripts are not supported, such as on Windows cmd.exe for
Visual Studio builds.
2019-04-11 16:45:36 +02:00
Chun-wei Fan
1cd99d63d1 meson: Build the .rc files on Windows
This will ensure that the version info is easily visible from the
GDK/GTK+ DLLs, and ensure that the print dialogs will have a more modern
look and feel.
2019-04-11 16:45:36 +02:00
Chun-wei Fan
0e24d35e3b tests/: Declare variables at the top-of-block
This will ensure that the code will build for pre-C99 compilers.
2019-04-11 16:45:36 +02:00
Chun-wei Fan
92206fe23b tests/animated-resizing.c: Include gtk/fallback-c89.c
This is to ensure that compilers that do not have round() in math.h can
still build the code.
2019-04-11 16:45:36 +02:00
Chun-wei Fan
7d0364a127 testsuite/gtk/stylecontext.c: Declare variables at top-of-block
This will ensure the code builds on pre-C99 compilers.
2019-04-11 16:45:36 +02:00
Chun-wei Fan
988d2dd077 examples/bp/bloatpad.c: Declare variables at top-of-block
This is to ensure that the code will build on pre-C99 compilers.
2019-04-11 16:45:36 +02:00
Chun-wei Fan
397471d604 demos/gtk-demo/meson.build: Build gtk3-demo-application
This should also get built as well.
2019-04-11 16:45:36 +02:00
Chun-wei Fan
b0a31fefd7 meson: Fix Broadway builds
Make sure the source files are in line with GTK+-3.x Broadway backend
sources.
2019-04-11 16:45:36 +02:00
Chun-wei Fan
4da82356bc meson: Enable GLES Windows builds via libANGLE
Check whether the libepoxy library is built on Windows with support for
GLES.  If so, enable GLES/EGL support on Windows as well.
2019-04-11 16:45:36 +02:00
Chun-wei Fan
ac1f66a35b gdk/meson.build: Force-export gdk_win32_display_manager_get_type()
...on Visual Studio builds, as it seems that the linker is optimizing
that symbol out (hence it is not exported in the DLL).  This is to
ensure that the introspection files for GdkWin32 build.
2019-04-11 16:45:36 +02:00
Chun-wei Fan
2912363104 gdk/meson.build: Fix typo for GdkWin32 Introspection
It is gdk_win32_gir, not gdk_x11_gir...
2019-04-11 16:45:36 +02:00
Chun-wei Fan
1e7988531a meson: Only use fallbacks for PangoFT2 and FreeType when needed
PangoFT2 is optional on Windows, so we only really need the fallback if
when it is required.

Along with that, since FreeType does not typically ship with pkg-config
files in its CMake builds, check for the needed headers, .lib and
function and then use the fallback when they could not be found and
PangoFT2 is used.
2019-04-11 16:45:36 +02:00
Chun-wei Fan
2d2ad0a997 meson: Only use cairo fallbacks when needed
On Visual Studio builds, since Cairo builds tend not to generate
pkg-config files for us, look for the headers and .lib's, before
attempting to download the Cairo repo (which is quite large) and
building it.

We can simplify this process when Meson gains the ability to check
for the dependencies in a declarative fashion, but before that, this
is what must be done.
2019-04-11 16:45:36 +02:00
Chun-wei Fan
8dc95560e2 meson.build: Bump version 2019-04-11 16:45:36 +02:00
Nirbheek Chauhan
dbce9ee870 meson: Add wrap files for building with subprojects 2019-04-11 16:45:36 +02:00
Nirbheek Chauhan
ead77a4628 meson: Cleanup tests and gdk testsuite 2019-04-11 16:45:36 +02:00
Nirbheek Chauhan
20c29fd8c0 meson: Fix introspection generation on Linux 2019-04-11 16:45:36 +02:00