summaryrefslogtreecommitdiffstats
path: root/build/README.md
diff options
context:
space:
mode:
authorNick Terrell <terrelln@fb.com>2020-08-20 01:06:49 (GMT)
committerNick Terrell <terrelln@fb.com>2020-08-20 01:08:43 (GMT)
commit31d477db07c999afd639c3a37105894ecbf710fc (patch)
treee78732be6e4b08577d37973aa78ba25a38407863 /build/README.md
parentfa5435bca9140c10bd1756d96e1b52a11e88d0ad (diff)
downloadlz4-31d477db07c999afd639c3a37105894ecbf710fc.zip
lz4-31d477db07c999afd639c3a37105894ecbf710fc.tar.gz
lz4-31d477db07c999afd639c3a37105894ecbf710fc.tar.bz2
[build] Move CMake and Visual build systems to build/
Fixes #852.
Diffstat (limited to 'build/README.md')
-rw-r--r--build/README.md55
1 files changed, 55 insertions, 0 deletions
diff --git a/build/README.md b/build/README.md
new file mode 100644
index 0000000..d416aeb
--- /dev/null
+++ b/build/README.md
@@ -0,0 +1,55 @@
+Projects for various integrated development environments (IDE)
+==============================================================
+
+#### Included projects
+
+The following projects are included with the lz4 distribution:
+- `cmake` - CMake project
+- `VS2010` - Visual Studio 2010 project (which also works well with Visual Studio 2012, 2013, 2015)
+- `VS2017` - Visual Studio 2017 project
+
+
+#### How to compile lz4 with Visual Studio
+
+1. Install Visual Studio e.g. VS 2015 Community Edition (it's free).
+2. Download the latest version of lz4 from https://github.com/lz4/lz4/releases
+3. Decompress ZIP archive.
+4. Go to decompressed directory then to `build` then `VS2010` and open `lz4.sln`
+5. Visual Studio will ask about converting VS2010 project to VS2015 and you should agree.
+6. Change `Debug` to `Release` and if you have 64-bit Windows change also `Win32` to `x64`.
+7. Press F7 on keyboard or select `BUILD` from the menu bar and choose `Build Solution`.
+8. If compilation will be fine a compiled executable will be in `build\VS2010\bin\x64_Release\lz4.exe`
+
+
+#### Projects available within lz4.sln
+
+The Visual Studio solution file `lz4.sln` contains many projects that will be compiled to the
+`build\VS2010\bin\$(Platform)_$(Configuration)` directory. For example `lz4` set to `x64` and
+`Release` will be compiled to `build\VS2010\bin\x64_Release\lz4.exe`. The solution file contains the
+following projects:
+
+- `lz4` : Command Line Utility, supporting gzip-like arguments
+- `datagen` : Synthetic and parametrable data generator, for tests
+- `frametest` : Test tool that checks lz4frame integrity on target platform
+- `fullbench` : Precisely measure speed for each lz4 inner functions
+- `fuzzer` : Test tool, to check lz4 integrity on target platform
+- `liblz4` : A static LZ4 library compiled to `liblz4_static.lib`
+- `liblz4-dll` : A dynamic LZ4 library (DLL) compiled to `liblz4.dll` with the import library `liblz4.lib`
+- `fullbench-dll` : The fullbench program compiled with the import library; the executable requires LZ4 DLL
+
+
+#### Using LZ4 DLL with Microsoft Visual C++ project
+
+The header files `lib\lz4.h`, `lib\lz4hc.h`, `lib\lz4frame.h` and the import library
+`build\VS2010\bin\$(Platform)_$(Configuration)\liblz4.lib` are required to
+compile a project using Visual C++.
+
+1. The path to header files should be added to `Additional Include Directories` that can
+ be found in Project Properties of Visual Studio IDE in the `C/C++` Property Pages on the `General` page.
+2. The import library has to be added to `Additional Dependencies` that can
+ be found in Project Properties in the `Linker` Property Pages on the `Input` page.
+ If one will provide only the name `liblz4.lib` without a full path to the library
+ then the directory has to be added to `Linker\General\Additional Library Directories`.
+
+The compiled executable will require LZ4 DLL which is available at
+`build\VS2010\bin\$(Platform)_$(Configuration)\liblz4.dll`.