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:
authorOliver Schneider <oliver@assarbad.net>2018-11-09 00:35:16 +0300
committerOliver Schneider <oliver@assarbad.net>2018-11-09 00:35:16 +0300
commitc7d30395a84494e547f1c1546213dd485bb4941b (patch)
treeadf59a0c2941794f6ba11272b8a66f27a7d4ee36 /Build.md
parent205761009bbd93c75efafb9a56915d4f6d2b3b7b (diff)
Some enhancements (hopefully) to the build documentation.
- This also contains one spelling correction (user -> use a) - Rendering names of used tools the way they are rendered by their creators - Added a few links
Diffstat (limited to 'Build.md')
-rw-r--r--Build.md47
1 files changed, 25 insertions, 22 deletions
diff --git a/Build.md b/Build.md
index 320e4550..6d5e4e15 100644
--- a/Build.md
+++ b/Build.md
@@ -1,31 +1,37 @@
# 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)
+These compilers and OSs are regularly tested:
+
+- [GCC](https://gcc.gnu.org/) 7.0 (Linux 4.x x64)
+- [Clang](https://clang.llvm.org/) 4.0 (Linux 4.x x64)
+- Clang 5.0 (macOS 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.
+Other compilers, architectures and OSs may work, but are not tested regularly. You will need a working [Filesystem TS](https://en.cppreference.com/w/cpp/experimental/fs) 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:
+Download [this archive](https://dedi5.nedprod.com/static/files/llfio-v2.0-source-latest.tar.xz) or clone from the GitHub repository:
~~~
git config --system core.longpaths true
-git clone https://github.com/ned14/llfio.git
+git clone --recursive https://github.com/ned14/llfio.git
cd llfio
+~~~
+
+The first command is relevant so deeply nested paths on Windows will work when cloning the repository and submodules. It may require elevated privileges, but you can also use `git config --global core.longpaths true` instead.
+
+### If you already cloned before reading this
+
+If you had already cloned _this_ repository, but didn't use the `--recursive` switch, you can simply run the following command from inside the work tree:
+
+~~~
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:
+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"
@@ -33,19 +39,17 @@ binaries below, or to build anything. Simply:
## 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.
+It is faster to build programs using LLFIO if you don't use a 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.
+You will need [CMake](https://cmake.org/) installed, v3.1 or better. It is important to do an out-of-tree build, because the build will otherwise fail.
-To build and test on POSIX (make, ninja etc):
+To build and test on POSIX (`make`, `ninja` etc):
~~~
mkdir build
@@ -67,9 +71,9 @@ ctest -C Release -R llfio_sl
## Build shared libraries from source
-You will need cmake installed, v3.1 or better.
+You will need [CMake](https://cmake.org/) installed, v3.1 or better. It is important to do an out-of-tree build, because the build will otherwise fail.
-To build and test on POSIX (make, ninja etc):
+To build and test on POSIX (`make`, `ninja` etc):
~~~
mkdir build
@@ -91,5 +95,4 @@ 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.
+Installing the libraries from CMake does not currently work right due to unfinished single header generation. It's a TODO/FIXME item.