From 3d4049bc395b24204f597454b85373edb627f455 Mon Sep 17 00:00:00 2001 From: BodgeMaster <> Date: Mon, 16 Jan 2023 08:00:35 +0100 Subject: [PATCH] doc: Add Windows-specific notes --- README.md | 4 +++- doc/windows.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 doc/windows.md diff --git a/README.md b/README.md index bea76d2..c3571a0 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,9 @@ Immediate goals: - [x] decode and encode data -## Project Setup Instructions +## Working with the project + +WINDOWS USERS READ THIS: [Windows-specific notes](doc/windows.md) ### Prerequisites: diff --git a/doc/windows.md b/doc/windows.md new file mode 100644 index 0000000..eab84dd --- /dev/null +++ b/doc/windows.md @@ -0,0 +1,47 @@ +# Notes for Windows Users + +FOSS-VG is focused on development on UNIX-like systems for UNIX-like systems. +The development environment is built in a way that requires UNIX tools. + +There are two options to deal with this on Windows: + +1) Use Cygwin to get a UNIX-like environment on Windows. +This is the option to choose if you want to develop FOSS-VG on Windows. +Working on FOSS-VG on Cygwin is pretty much the same as on other +operating systems with the exception that special care needs to be taken +setting up the development environment. + +2) Use the `windows` branch. +This is the option to use when just building on Windows. +Might need some fixing up to actually work properly. +Don't commit new code to that branch as it cannot be merged back into master. +Merging from the `windows` branch into master would break master for all other +operating systems. + +# Using Cygwin + +The build system has special provisions built-in to deal with the Windows-iness +of Cygwin environments. But it still needs some specific setup to work properly. + +When getting the prerequisites set up, make sure to install CMake on Windows, +NOT on Cygwin. CMake is used for dependencies that aren't easy to build +on Cygwin, therefore they are built on Windows. + +You will also need MinGW tools on Windows that CMake can use to build the +dependencies. In case they aren't in your PATH variable, you can use the +`.localenv.bashrc` to automatically add them when loading the development +environment like so: +```sh +PATH=$PATH:/cygdrive/c/path/to/your/mingw/bin +``` +Note that the mingw tools are added to the end of the path variable so they +don't override Cygwin's programs in regular use. + +# Using the `windows` Branch + +Good luck. + +It's currently not actively being maintained as only building FOSS-VG is not +a task that is commonly needed. +This will probably change when Windows-only builds have to be performed +regularly.