Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/llfio.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spamtrap@nedprod.com>2018-11-07 00:08:44 +0300
committerNiall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spamtrap@nedprod.com>2018-11-07 00:08:44 +0300
commitce75f03eef536dab71dce8ea7bed24f69e26e11b (patch)
treec5b654b5bc4a5525904f490086fd6bffb23c3bed /Build.md
parent16c49eeb473fca306a00cc057a62745e96203f91 (diff)
Add dedicated build page, hopefully help solving issues #13 and #14.
Diffstat (limited to 'Build.md')
-rw-r--r--Build.md95
1 files changed, 95 insertions, 0 deletions
diff --git a/Build.md b/Build.md
new file mode 100644
index 00000000..320e4550
--- /dev/null
+++ b/Build.md
@@ -0,0 +1,95 @@
+# Build instructions
+
+These compilers and OS are regularly tested:
+- GCC 7.0 (Linux 4,x x64)
+- clang 4.0 (Linux 4.x x64)
+- clang 5.0 (OS X 10.12 x64)
+- Visual Studio 2017 (Windows 10 x64)
+
+Other compilers, architectures and OSs may work, but are not tested regularly. You will
+need a working Filesystem TS implementation in your STL, and C++ 14.
+
+## Get a copy of the source
+
+- https://dedi5.nedprod.com/static/files/llfio-v2.0-source-latest.tar.xz
+
+Or from github:
+
+~~~
+git config --system core.longpaths true
+git clone https://github.com/ned14/llfio.git
+cd llfio
+git submodule update --init --recursive
+~~~
+
+## Header only usage
+
+LLFIO defaults to header only library configuration, so you don't actually need any of the prebuilt
+binaries below, or to build anything. Simply:
+
+~~~cpp
+#include "llfio/include/llfio.hpp"
+~~~
+
+## Prebuilt binaries
+
+It is faster to build programs using LLFIO if you don't user header only build.
+In this situation, define `LLFIO_HEADERS_ONLY=0`, and choose one of `LLFIO_DYN_LINK`
+or `LLFIO_STATIC_LINK` depending on whether you are using the prebuilt shared or
+static libraries respectively.
+
+- https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-linux64-latest.tgz
+- https://dedi5.nedprod.com/static/files/llfio-v2.0-binaries-win64-latest.zip
+
+## Build static libraries from source
+
+You will need cmake installed, v3.1 or better.
+
+To build and test on POSIX (make, ninja etc):
+
+~~~
+mkdir build
+cd build
+cmake ..
+cmake --build .
+ctest -R llfio_sl
+~~~
+
+To build and test on Windows or Mac OS (Visual Studio, XCode etc):
+
+~~~
+mkdir build
+cd build
+cmake .. -G<your generator here>
+cmake --build . --config Release
+ctest -C Release -R llfio_sl
+~~~
+
+## Build shared libraries from source
+
+You will need cmake installed, v3.1 or better.
+
+To build and test on POSIX (make, ninja etc):
+
+~~~
+mkdir build
+cd build
+cmake ..
+cmake --build . -- _dl
+ctest -R llfio_dl
+~~~
+
+To build and test on Windows or Mac OS (Visual Studio, XCode etc):
+
+~~~
+mkdir build
+cd build
+cmake .. -G<your generator here>
+cmake --build . --config Release --target _dl
+ctest -C Release -R llfio_dl
+~~~
+
+## Installing libraries from source
+
+Installing the libraries from cmake does not currently work right due to unfinished
+single header generation. It's a todo fixme item.