summaryrefslogtreecommitdiff
path: root/meson_options.txt
Commit message (Collapse)AuthorAgeFilesLines
* build: Start using meson feature optionsMatthias Clasen2020-08-231-44/+98
| | | | | | | | | | | | | Use feature options for things that are optional features, update the docs. Visible changes here is that the 'print-backends' option got renamed to 'print' to go better with 'media', and the 'tracker3' option got renamed to 'tracker'. For options that have been changed into features, the syntax now is -Dfeature=enabled or -Dfeature=disabled or -Dfeature=auto.
* Rename the profiler optionMatthias Clasen2020-08-211-2/+6
| | | | | | | We don't support any profilers other than sysprof, so name the option accordingly. While we are at it, change it to a meson feature option, so -Dprofiler=true becomes -Dsysprof=enabled
* macos: prototype new GDK backend for macOSChristian Hergert2020-07-211-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is fairly substantial rewrite of the GDK backend for quartz and renamed to macOS to allow for a greenfield implementation. Many things have come across from the quartz implementation fairly intact such as the eventloop integration design and discovery of event windows from the NSEvent. However much has been changed to fit in with the new GDK design and how removal of child GdkWindow have been completely eliminated. Furthermore, the new GdkPopup allows for regular NSWindow to be used to provide popovers unlike the previous implementation. The object design more closely follows the ideal for a GDK backend. Views have been broken out into subclasses so that we can support multiple GSK renderer paths such as GL and Cairo (and Metal in the future). However mixed mode GL and Cairo will not be supported. Currently only the Cairo renderer has been implemented. A new frame clock implementation using CVDisplayLink provides more accurate information about when to draw drawing the next frame. Some testing will need to be done here to understand the power implications of this. This implementation has also gained edge snapping for CSD windows. Some work was also done to ensure that CSD windows have opaque regions registered with the display server. ** This is still very much a work-in-progress ** Some outstanding work that needs to be done: - Finish a GL context for macOS and alternate NSView for GL rendering (possibly using speciailized CALayer for OpenGL). - Input rework to ensure that we don't loose remapping of keys that was dropped from GDK during GTK 4 development. - Make sure input methods continue to work. - Drag-n-Drop is still very much a work in progress - High resolution input scrolling needs various work in GDK to land first before we can plumb that to NSEvent. - gtk/ has a number of things based on GDK_WINDOWING_QUARTZ that need to be updated to use the macOS backend. But this is good enough to start playing with and breaking things which is what I'd like to see.
* gtksearchengine: Add tracker3 search engineCarlos Garnacho2020-05-191-0/+2
| | | | | Make this dependency optional at build time, and prefer it over the old tracker <= 2.x implementation.
* meson: Rename documentation option to gtk_docMatthias Clasen2019-07-011-1/+1
| | | | | | This name is what most of the stack is using. Lets follow along, even though it is (imo) uglier.
* profiler: port GdkProfiler to sysprof-3Christian Hergert2019-05-291-0/+2
| | | | | | | | | | This uses the new sysprof-3 ABI to implement the capture writer. It also uses the statically linked libsysprof-capture-3.a that is provided with Sysprof for the capture writing to ensure that we do not leak any symbols nor depend on any additional libraries. The GTK_TRACE_FD can be used to pass a FD for tracing into Gtk. Sysprof uses this when the Gtk instrument is selected for recording.
* build: Make the default setting work on non-Linux Unix-like systemsTing-Wei Lan2018-04-221-2/+2
| | | | | | | | | | | | | | | | | | All of the four platform-dependent backends are enabled by default. It is usually a good default because it requires users to explicitly choose backends they want to use. Rules in meson.build also automatically disable unavailable backends for macOS, Windows, Linux, so users on these 3 major platforms don't have to manually disable things when running meson commands. However, meson.build doesn't do the same thing for other Unix-like systems, which is acceptable but not ideal. To make it easier to build GTK+ on these systems, the Linux case, which enables X11 and Wayland and disables Win32 and Quartz, is made the default for all operating systems that are not Windows or macOS. This commit also changes most 'host_machine.system()' calls to os_* variables, which are easier to read and less likely to be used wrongly.
* Add an option for building examplesEmmanuele Bassi2018-03-291-1/+3
| | | | | | Examples are not like demos; the latter are installed, and provide a Flatpak manifest for CI pipelines and GNOME Builder. We should not be using a single configure time option to gate building both.
* build: Make GStreamer backend the defaultBenjamin Otte2018-03-181-1/+1
| | | | | | | Instead of compiling without media backend by default, we now use the GStreamer backend. This means that CI now requires gstreamer support.
* mediafile: Turn into an extension pointMatthias Clasen2018-03-181-0/+4
| | | | | | | | | | | | | | | This way, we can support external libraries providing implementations of GtkMediaFile. We also add a media backend called 'nomedia' that can be enabled to not compile any support for GtkMediaFile. This is useful when people want to statically compile GTK into an application that does not use media. For now, this option is the default. We also support a new environment variable GTK_MEDIA that allows selecting the implementation to use. GTK_MEDIA=help can be used to get info about the available implementations.
* Always include platform immodulesMatthias Clasen2018-02-241-6/+0
| | | | | No need to load these as gio modules, we just include them in libgtk.
* Don't mention papi in options docsMatthias Clasen2018-02-241-1/+1
| | | | The papi print backend has been removed.
* build: Rename last 'enable' optionsissue-2Emmanuele Bassi2018-02-141-3/+3
| | | | | Drop the 'enable-' prefix to conform to the best practices for naming configuration options in Meson.
* build: Rename GDK backend optionsEmmanuele Bassi2018-02-141-9/+9
| | | | | | Drop the 'enable-' prefix, and always enable all platform-specific backends. We can disable them depending on the platform. This way, the documentation printed by `meson configure` remains accurate.
* build: Coalesce print backends options into oneEmmanuele Bassi2018-02-141-12/+17
| | | | | | Instead of having separate options for each print backend, we can use the same approach as the input method modules: a single option, with a comma-separated list of print backends.
* build: Rename the 'enable-colord' optionEmmanuele Bassi2018-02-141-1/+1
| | | | | Drop the 'enable-' prefix, to follow the naming best practices for Meson configuration options.
* build: Rename 'with-included-immodules' optionEmmanuele Bassi2018-02-141-2/+2
| | | | | | We can call it 'included-immodules', and simplify its logic by always attempting to split the value, to avoid turning an array into a string and then back into an array again.
* build: Rename 'disable-modules' optionEmmanuele Bassi2018-02-141-2/+2
| | | | | We should not have 'disable' in the name, to conform with the Meson best practices for boolean options.
* Drop the mir backendMatthias Clasen2018-02-051-2/+0
| | | | | Mir is in the process of switching over to the Wayland protocol, so we don't need to maintain a separate backend, going forward.
* Add an install-tests optionMatthias Clasen2017-10-101-0/+2
| | | | Use this to enable or disable installed tests.
* Rename enable-documentation and enable-man-pages optionsMatthias Clasen2017-09-061-2/+2
| | | | | You can now disable the documentation build with -Ddocumentation=false and -Dman-pages=false.
* Rename and document the enable-gir optionMatthias Clasen2017-09-061-1/+1
| | | | You can disable introspection now with -Dintrospection=false.
* Allow building without tests and demosMatthias Clasen2017-09-061-0/+4
| | | | | | | This is meant to cut down build time in flatpak and similar situations. Since it produces technically incomplete builds, we list these options in the status output at the end of the meson run.
* gtkplacessidebar: implement libcloudproviders supportJulius Härtl2017-09-041-0/+2
| | | | | | | | | | | | | | | | Add integration of the libcloudproviders DBus API to the GtkPlacesSidebar by showing name and sync status of the cloud providers. The exported menu is rendered as a GtkPopover. The sidebar will be updated if the list of cloudproviders changes e.g. by adding or removing an account. If any cloud provider changes detailed information like sync status only the individual sidebar row gets updated. Co-authored-by: Carlos Soriano <csoriano@gnome.org> Co-authored-by: Daniel Boles <dboles@src.gnome.org> https://bugzilla.gnome.org/show_bug.cgi?id=786123
* build: Add option to enable/disable GIR generationEmmanuele Bassi2017-09-021-0/+2
| | | | | And drop the unnecessary is_cross_build() check: it's entirely possible to generate introspection data when cross-compiling.
* meson: Generate man pages for the installed toolsEmmanuele Bassi2017-05-051-0/+2
|
* build: Add Meson options for quartz/win32 backendsEmmanuele Bassi2017-05-031-0/+4
|
* build: Generate the API references (WIP)Emmanuele Bassi2017-05-031-0/+2
| | | | Still a work in progress.
* meson: build input modulesTim-Philipp Müller2017-05-031-0/+4
| | | | | | | | | We have to work around some ordering problems here. We still manage to keep most of the guts in modules/input/meson.build, so it's not too ugly overall. (The autotools build solves this with a 'make -C ../../input/modules' inside gtk/Makefile, but that's not something we can or want to do.)
* meson: check for xineramaTim-Philipp Müller2017-05-031-0/+2
|
* meson: move colord checks into cups printbackendTim-Philipp Müller2017-05-031-0/+2
| | | | Which is the only user of it. Also add option to enable/disable.
* meson: modules: add printbackendsTim-Philipp Müller2017-05-031-0/+8
| | | | | The cups checks might not work properly everywhere yet, since they don't use cups-config and parse the output yet.
* meson: gdk: add Mir backend bitsTim-Philipp Müller2017-05-031-4/+10
| | | | Completely untested, might not even build.
* meson: add vulkan bitsTim-Philipp Müller2017-05-031-0/+1
|
* meson: Disable broadway buildTimm Bäder2017-05-031-1/+1
|
* meson: Build gtk3-demoTimm Bäder2017-05-031-1/+1
|
* build: Generate wayland protocol filesTimm Bäder2017-05-031-1/+1
|
* meson: Add options for x/wayland/broadway backendsTimm Bäder2017-05-031-0/+3