Commit Graph

13 Commits

Author SHA1 Message Date
stuartmorgan
7eb1035af6 Restructure Windows plugin template (#93511) 2022-02-03 20:30:18 -08:00
Daco Harkes
0e2f51dfd0 FFI plugins (#96225) 2022-01-26 23:44:45 +01:00
stuartmorgan
27e79d55a4 Document template CMake files (#96534) 2022-01-14 14:55:14 -08:00
Zachary Anderson
65c6e88223 Revert "FFI plugins (#94101)" (#96122)
This reverts commit 5257f0290c.
2022-01-04 08:09:12 -08:00
Daco Harkes
5257f0290c FFI plugins (#94101)
* Building shared C source code as part of the native build for platforms Android, iOS, Linux desktop, MacOS desktop, and Windows desktop.
* Sample code doing a synchronous FFI call.
* Sample code doing a long running synchronous FFI call on a helper isolate.
* Use of `package:ffigen` to generate the bindings.
2022-01-04 10:14:27 +01:00
Chris Bracken
1c36271b05 Reduce required Windows CMake version to 3.14 (#89390)
When we landed the CMake minimum requirement constraint for Visual
Studio 2019, we landed it with minimum version 3.15, since that's what
was shipping with the current version of VS 2019 at the time. Looking at
the release notes of earlier versions, it's clear that earlier versions
of Visual Studio 2019 shipped with version 3.14. See:
https://devblogs.microsoft.com/cppblog/visual-studio-cmake-support-clang-llvm-cmake-3-14-vcpkg-and-performance-improvements/

Looking at release notes for CMake 3.15, there are no features/fixes
introduced in that version that we are dependent on.
https://cmake.org/cmake/help/latest/release/3.15.html

Issue: https://github.com/flutter/flutter/issues/88589
2021-09-03 21:05:58 -07:00
stuartmorgan
be4cc764de Clean up Windows plugin template (#70403)
Removes a comment that is left over from early iterations of the
template.
2020-11-18 10:01:53 -08:00
stuartmorgan
b92bb62d4d Fix Windows and Linux plugin template filenames (#66997) 2020-09-30 16:07:03 -07:00
stuartmorgan
dd0c881275 [windows] Update plugin template (#64521)
The pointer-argument-based version of Success() is deprecated; this
updates the template to use the new reference-based version (which
allows for inline construction of the response value).

Part of https://github.com/flutter/flutter/issues/63975
2020-08-25 08:30:05 -07:00
stuartmorgan
4b12050112 Switch Windows to CMake (#60629)
* First pass at CMake files; untested

* First pass of adding CMake generation logic on Windows

* Misc fixes

* Get bundling working, start incoprorating CMake build into tool

* Fix debug, exe name.

* Add resources

* Move cmake.dart

* Rip out all the vcxproj/solution plumbing

* Fix plugin cmake generation

* Build with cmake rather than calling VS directly

* Adjust Windows plugin template to match standard header directory structure

* Pass config selection when building

* Partially fix multi-config handling

* Rev template version

* Share the CMake generation instead of splitting it out

* VS build/run cycle works, with slightly awkward requirement to always build all

* Update manifest

* Plugin template fixes

* Minor adjustments

* Build install as part of build command, instead of separately

* Test cleanup

* Update Linux test for adjusted generated CMake approach

* Plugin test typo fix

* Add missing stub file for project test

* Add a constant for VS generator
2020-07-06 12:59:16 -07: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
b429e7eb00 Update Windows and Linux plugin templates (#53876)
Updates Windows and Linux templates to use the new PluginRegistrarManager, improving lifetime handling and reducing boilerplate.
2020-04-07 09:03:49 -07:00
stuartmorgan
685e9d1e47 Add pre-stable support for create on Windows (#51895)
Adds initial support for flutter create of apps and plugins. This is derived from the current FDE example app and sample plugin, adding template values where relevant.

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.

Plugins don't currently have a version marker since in practice this is not a significant problem for plugins yet the way it is for runners; we can add it later if that changes.

Fixes #30704
2020-03-23 10:42:26 -07:00