From 64ad11a9dcd64c3ba660c69f2366d64ad634ac6e Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Tue, 1 Sep 2015 21:25:57 +0200 Subject: [PATCH] Updated build info. Now building on linux. --- docs/build.md | 58 ++++++++++++++++++++++++++++++++++++++++++++++ docs/mono-build.md | 28 ---------------------- readme.md | 31 ++++++------------------- 3 files changed, 65 insertions(+), 52 deletions(-) create mode 100644 docs/build.md delete mode 100644 docs/mono-build.md diff --git a/docs/build.md b/docs/build.md new file mode 100644 index 0000000000..8ad4788310 --- /dev/null +++ b/docs/build.md @@ -0,0 +1,58 @@ +# Building Perspex + +## Windows + +Perspex requires Visual Studio 2015 to build on Windows. + +### Install GTK Sharp + +To compile the full project under windows, you must have gtk-sharp installed. However, if you're +not interested in building the cross-platform bits you can simply unload the Perspex.Cairo and +Perspex.Gtk project in Visual Studio. + +### Clone the Perspex repository + + git clone https://github.com/grokys/Perspex.git + +We currently need to build our own private version of ReactiveUI as it doesn't work on mono. This +is linked as a submodule in the git repository, so run: + + git submodule update --init + +## Linux +--------------------------- + +This guide Written for Ubuntu 15.04 - I'm not sure how well it applies to other distributions, but +please submit a PR if you have anything to add. + +### Install Latest Mono + +That the time of writing, mono 4.2 aplha was needed to build. Add mono package sources by following +instructions below for the stable channel, and then add the alpha channel to +`/etc/apt/sources.list.d/mono-xamarin-alpha.list` as well. + +http://www.mono-project.com/docs/getting-started/install/linux/#debian-ubuntu-and-derivatives + +Then install the needed packages: + + sudo apt-get install git mono-devel referenceassemblies-pcl monodevelop + +### Clone the Perspex repository + + git clone https://github.com/grokys/Perspex.git + +We currently need to build our own private version of ReactiveUI as it doesn't work on mono. This +is linked as a submodule in the git repository, so run: + + git submodule update --init + +### Load the Project in MonoDevelop + +Start MonoDevelop and open the `Perspex.sln` solution. Wait for MonoDevelop to install the +project's NuGet packages. + +Set the TestApplication project as the startup project and click Run. + +There will be some compile errors in the tests, but ignore them for now. + +You can track the Linux version's progress in the [Linux issue](https://github.com/grokys/Perspex/issues/78). diff --git a/docs/mono-build.md b/docs/mono-build.md deleted file mode 100644 index 60d35fefc4..0000000000 --- a/docs/mono-build.md +++ /dev/null @@ -1,28 +0,0 @@ -Compiling Perspex on Ubuntu ---------------------------- - -Written for Ubuntu 15.04. - -Install Latest Mono -------------------- - -Add mono package sources by following instructions at: - -http://www.mono-project.com/docs/getting-started/install/linux/#debian-ubuntu-and-derivatives - -Then install the needed packages: - - sudo apt-get install git mono-devel referenceassemblies-pcl monodevelop - -Clone the Perspex repository ----------------------------- - - git clone https://github.com/grokys/Perspex.git - -Load the Project in MonoDevelop -------------------------------- - -Start MonoDevelop and open the `Perspex.sln` solution. Wait for MonoDevelop to install the -project's NuGet packages. - -Set the TestApplication-Mono project as the startup project and click Run. diff --git a/readme.md b/readme.md index aca392885b..03f69f235e 100644 --- a/readme.md +++ b/readme.md @@ -9,10 +9,9 @@ A multi-platform .NET UI framework. ## Background -Perspex is a multi-platform windowing toolkit - somewhat like WPF - that is -intended to be multi-platform (more about that below). It supports XAML, -lookless controls and a flexible styling system, and runs on Windows using -Direct2D and other operating systems using Gtk & Cairo. +Perspex is a multi-platform windowing toolkit - somewhat like WPF - that is intended to be multi- +platform. It supports XAML, lookless controls and a flexible styling system, and runs on Windows +using Direct2D and other operating systems using Gtk & Cairo. ## Current Status @@ -29,34 +28,18 @@ framework. As mentioned above, Perspex is still in alpha and as such there's not much documentation yet. You can take a look at the [alpha release announcement](http://grokys.github.io/perspex/perspex-alpha/) for an -overview of how to get started but probably the best thing to do for now is to already know a little bit about WPF/Silverlight/UWP/XAML and ask questions in our [Gitter room](https://gitter.im/grokys/Perspex). +overview of how to get started but probably the best thing to do for now is to already know a little bit +about WPF/Silverlight/UWP/XAML and ask questions in our [Gitter room](https://gitter.im/grokys/Perspex). There's also a high-level [architecture document](docs/architecture.md) that is currently a little bit out of date, and I've also started writing blog posts on Perspex at http://grokys.github.io/. Contributions are always welcome! -# Multi-platform you say? - -Well, yes, that is the intention. However unfortunately as of the time of this -first alpha, Perspex is only shipping with a Windows backend. There *is* a -Gtk/Cairo backend that's working pretty well (at least on Windows) but it's not -included in this release due to packaging issues. In addition, the framework did -work on Linux at one point but with the recent Mono 4.0 something has gone -wrong, and we need time to work out what that is. Getting Perspex working again -on non-windows support is the next thing we'll be concentrating on. You can -track the progress on Linux in the [issue](https://github.com/grokys/Perspex/issues/78). - ## Building and Using -In order to build Perpex under Windows you need a compiler that supports C# 6 such -as Visual Studio 2015. To compile the project under windows, you must have gtk-sharp -installed. However, if you're not interested in building the cross-platform bits you -can simply unload the Perspex.Cairo and Perspex.Gtk project in Visual Studio. - -To build with mono (even though everything's not fully working as yet) check out the -[instructions here](docs/mono-build.md) and the [Linux issue](https://github.com/grokys/Perspex/issues/78). +See the [build instructions here](https://github.com/grokys/Perspex/blob/master/docs/build.md) ## Contributing ## -Please read the [contribution guidelines](Docs/contributing.md) before submitting a pull request. +Please read the [contribution guidelines](docs/contributing.md) before submitting a pull request.