Commit graph

25 commits

Author SHA1 Message Date
Marcus Tomlinson 343577afb6
Add liblzma as an explicit dependancy on Linux (#70617) 2020-11-16 14:48:02 -08:00
George Wright 678f3cb4fb
Update Linux template app to pass through command line arguments to the Dart entrypoint (#68535) 2020-10-30 12:26:16 +13:00
Robert Ancell 16b9933d85
Disable header bar when not using GNOME Shell. (#68452)
Fixes https://github.com/flutter/flutter/issues/68253
2020-10-22 10:24:19 +13:00
Robert Ancell b200baebd7
Try the Wayland GDK backend, the engine now supports it (#66519)
* Try the Wayland GDK backend, the engine now supports it

* Update comment from review

* Just do default GTK behaviour
2020-10-22 09:38:11 +13:00
stuartmorgan bcfad2068e
Put the unbundled Linux executable in a subdirectory (#64992)
People frequently assume they can run the executable they find at the
top level of the build directory, and don't understand why they get
resource errors from the engine. To avoid that, this puts the unbundled
copy of the executable in a subdirectory with a name that should warn
people away from running it.

Fixes #64963
2020-09-01 05:34:25 -07:00
Marcus Tomlinson 145df39953
Explicitly find and link blkid using pkg-config (#62979) 2020-08-05 14:56:19 -07:00
Robert Ancell 392e25c8f2
Set the application-id in the Linux shell (#60053) 2020-07-30 08:46:29 +12:00
Robert Ancell 266aeb81a0
Only try the GDK X11 backend, as the FlView only currently supports X11 (#60654) 2020-07-09 14:23:48 +12:00
stuartmorgan d9902a5474
Consider the Linux template stable (#60163)
Remove the version checking and associated warnings. The Linux template
and build process will now be subject to more typical Flutter breaking
change policy, and should no longer require regularly deleting and
recreating the platform directory.
2020-06-24 12:23:57 -07:00
Robert Ancell 65ea2be51b
Remove Linux shell window_configuration.cc (#59802)
Remove Linux shell window_configuration.cc/.h

It was a temporary solution while the shell was changing.
2020-06-23 15:18:30 +12:00
stuartmorgan b5ddf85595
Fix typo in Linux CMake template (#60017) 2020-06-22 19:08:02 -07:00
Robert Ancell e6de0de8f7
Fix Linux shell window default size (#59630)
The previous call set the minimum size, not just the initial size.
2020-06-19 11:56:01 +12:00
Robert Ancell dd9fd2c851
Use a HeaderBar for Linux applications. (#59714) 2020-06-19 11:30:36 +12:00
stuartmorgan 61c198e766
Switch Linux to the GTK embedding (#59287)
Updates the tooling to use the GTK embedding, rather than the GLFW embedding:
- Adds new requirements to `doctor`
- Updates the app and plugin templates to make GTK-based runners and plugins
- Stops downloading and installing the GLFW artifacts

Final part of #54860, other than cleanup.
2020-06-16 13:31:24 -07:00
stuartmorgan 401690a64f
CMake fix for projects without plugins (#59343)
This install step fails if the list is empty, which is the case for projects without plugins (or Dart-only plugins, so flutter/plugins presubmits are currently broken).
2020-06-12 19:45:48 -07:00
Marcus Tomlinson 1fe0f22645
Remove use of BundleUtilities in Linux build (#59080)
* Explicitly install the Flutter library

* Publish ${FLUTTER_LIBRARY} to parent scope

* Bundle plugin libraries

* Bundle <plugin_name>_bundled_libraries too

* BUNDLED_LIBRARIES -> PLUGIN_BUNDLED_LIBRARIES

* Update Linux plugin test

* Address review comments
2020-06-11 22:00:28 +01:00
Marcus Tomlinson 5ee5490a63
[flutter_tools] Support profile and release builds on Linux (#57135) 2020-05-29 15:38:02 -07:00
stuartmorgan ca0d60087b
Start from a clean slate when bundling Linux build (#58174)
BundleUtilities apparently doesn't do build-system-style timestamp
analysis when deciding what to copy, and instead just doesn't copy
things that are already present. This cleans that bundle directory on
each build, so that it includes the up-to-date library versions.

Since this is just copying from build artifacts, this is very fast; the
build steps themselves are not affected.

Fixes https://github.com/flutter/flutter/issues/58049
2020-05-28 12:14:57 -07:00
stuartmorgan 27e652c882
Fix Linux plugin template build visibility (#58069)
The CMake plugin build wasn't setting visibility to hidden by default,
which meant that plugins exported everything by default. This would make
bad interactions between plugins much more likely; only the intended API
should be exported by the shared library.
2020-05-27 10:55:34 -07:00
Ken VanDine e013fc2484
Desktop default window size (#57274) 2020-05-21 14:42:03 -07:00
stuartmorgan 97b7e15532
Re-add line to Linux template CMakeLists.txt (#57538)
Re-adds a line that was accidentally removed in #57515
2020-05-19 18:17:41 -07:00
stuartmorgan b07516875d
Remove TRANSFORM from Linux CMake files (#57515)
The Linux CMakeLists.txt are intended to be compatible with 3.10, but
accedintally used a list construct that wasn't added until 3.12. This
adds a custom replacement function.

This makes the build compatible with 3.10 as originally intended.
2020-05-18 12:42:01 -07:00
stuartmorgan 8abf0a6d8c
Switch to CMake for Linux desktop (#57238)
Updates the Linux templates to use CMake+ninja, rather than Make, and updates the tooling to generate CMake support files rather than Make support files, and to drive the build using cmake and ninja.

Also updates doctor to check for cmake and ninja in place of make.

Note: While we could use CMake+Make rather than CMake+ninja, in testing ninja handled the tool_backend.sh call much better, calling it only once rather than once per dependent target. While it does add another dependency that people are less likely to already have, it's widely available in package managers, as well as being available as a direct download. Longer term, we could potentially switch from ninja to Make if it's an issue.

Fixes #52751
2020-05-16 15:07:34 -07:00
stuartmorgan 9d4b0cb844
Update Linux template for headless mode (#56618) 2020-05-09 21:09:03 -07:00
stuartmorgan 8d8439f8e3
Add pre-stable support for create on Linux (#51832)
Adds initial support for `flutter create` of apps and plugins. This is derived from the current FDE example app and sample plugin, with a few changes:
- Added template values where it makes sense.
- Moved some likely-to-change values into separate files for now, to simplify the delete/recreate cycle that will be necessary until it's stable.
- Added some minor Makefile flag handling improvements

Since the APIs/tooling/template aren't stable yet, the app template includes a version marker, which will be updated each time there's a breaking change. The build now checks that the template version matches the version known by that version of the tool, and gives a specific error message when there's a mismatch, which improves over the current breaking change experience of hitting whatever build failure the breaking change causes and having to figure out that the problem is that the runner is out of date. It also adds a warning to the `create` output about the fact that it won't be stable.
2020-03-03 22:42:52 +01:00