Skip to content

Commit

Permalink
Adjust INSTALL.md to GitHubs Markdown
Browse files Browse the repository at this point in the history
  • Loading branch information
tstenner committed Nov 10, 2017
1 parent 4b52ebf commit 6eb1d9e
Showing 1 changed file with 13 additions and 13 deletions.
26 changes: 13 additions & 13 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,13 +63,13 @@ On Mac, if using homebrew Qt5, it is necessary to run the following from the pro

There are two build types:

1. [in tree builds](#intreebuilds) build the LSL library and all apps you explicitely enable. This is probably what you want.
1. [out of tree builds](#outoftreebuild) build only a single app and require you to have a prebuilt LSL library and the exported build configuration (`LSLConfig.cmake`).
1. [in tree builds](#in-tree-builds-recommended) build the LSL library and all apps you explicitely enable. This is probably what you want.
1. [out of tree builds](#out-of-tree-builds) build only a single app and require you to have a prebuilt LSL library and the exported build configuration (`LSLConfig.cmake`).

## In tree builds (recommended) {#intreebuilds}
## In tree builds (recommended)

1. extract the zip file or clone the repository (`git clone https://github.com/sccn/labstreaminglayer.git`)
2. Windows only: start `build_windows.bat` and follow the isntructions in step 4
2. Windows only: start `build_windows.bat` and follow the instructions in step 4
3. change to the build directory (git: `cd labstreaminglayer/build`)
4. open the configuration UI (`cmake-gui ../`) and click on `Configure`
- select your compiler
Expand All @@ -80,11 +80,11 @@ There are two build types:
- a path where redistributable binaries get copied (`CMAKE_INSTALL_PREFIX`)
- build type (`CMAKE_BUILD_TYPE`, either `Release` or `Debug`). You can change this in Visual Studio later.
- click on `Generate` to create the build files / Visual Studio Solution file (open it with `Open Project`)
5. start the build process (`cmake --build . --config Release --target install`[*](#installtarget)) or load the generated VS Solution file
5. start the build process (`cmake --build . --config Release --target install`[*](#regarding-the-install-target)) or load the generated VS Solution file

This will create a distribution tree in the folder specified by `CMAKE_INSTALL_PREFIX` similar to this:
This will create a distribution tree in the folder specified by `CMAKE_INSTALL_PREFIX`[*](#regarding-the-install-target) similar to this:

## 'installed' directory tree {#installtree}
## 'installed' directory tree

├── AppX
│ ├── AppX.exe
Expand Down Expand Up @@ -123,28 +123,28 @@ On Windows, the library is copied to (and searched in) the executable folder.
The resulting folder `LSL` contains three subfolders:

`cmake` contains the exported build configuration (`LSLConfig.cmake`) that can be used to import
the library in [out of tree builds](#outoftreebuilds).
the library in [out of tree builds](#out-of-tree-builds).

`include` contains the include headers for C (`lsl_c.h`) and C++ (`lsl_cpp.h`) programs.

`lib` contains the library files. To run a program, you need the `liblslXY.dll` (Windows) or `.so` (Linux / OS X).

## Notes regarding the `install` target {#installtarget}
## Regarding the `install` target

CMake places built binary files as well as build sideproducts in a build tree that should be separate from
the source directory. To copy only the needed files (and additional library files they depend on) to a folder
you can share with colleagues or onto another PC, you need to 'install' them.
This doesn't mean 'installing' them in a traditional sense (with Windows installers or package managers on
Linux / OS X), but only copying them to a separate folder and fixing some hardcoded paths in the binaries.

## Out of tree builds {#outoftreebuilds}
## Out of tree builds

An out of tree build doesn't include the whole `labstreaminglayer` directory but only a single application
(a minimal example is contained in the folder `OutOfTreeTest`).

Building the LSL library should take only 1-2 minutes, so you should prefer [in tree builds](#intreebuilds)
Building the LSL library should take only 1-2 minutes, so you should prefer [in tree builds](#in-tree-builds-recommended)
unless you know what you're doing.

To import the LSL library in a separate CMake build, you need to set the ['installed' LSL directory](#installtree)
To import the LSL library in a separate CMake build, you need to set the ['installed' LSL directory](#install-directory-tree)
in the `LSL_ROOT` variable (e.g. `-DLSL_ROOT=C:/LSL/build/install/lsl_Release/LSL`) or add the `LSL/cmake` subfolder
of the ['installed' LSL directory](#installtree) to your `CMAKE_PREFIX_PATH`.
of the ['installed' LSL directory](#install-directory-tree) to your `CMAKE_PREFIX_PATH`.

0 comments on commit 6eb1d9e

Please sign in to comment.