xref: /aosp_15_r20/external/zstd/build/README.md (revision 01826a4963a0d8a59bc3812d29bdf0fb76416722)
1*01826a49SYabin CuiProjects for various integrated development environments (IDE)
2*01826a49SYabin Cui==============================================================
3*01826a49SYabin Cui
4*01826a49SYabin Cui#### Included projects
5*01826a49SYabin Cui
6*01826a49SYabin CuiThe following projects are included with the zstd distribution:
7*01826a49SYabin Cui- `cmake` - CMake project contributed by Artyom Dymchenko
8*01826a49SYabin Cui- `VS2005` - Visual Studio 2005 Project (this project has been moved to the contrib directory and will no longer be supported)
9*01826a49SYabin Cui- `VS2008` - Visual Studio 2008 project
10*01826a49SYabin Cui- `VS2010` - Visual Studio 2010 project (which also works well with Visual Studio 2012, 2013, 2015)
11*01826a49SYabin Cui- `VS_scripts` - command line scripts prepared for Visual Studio compilation without IDE
12*01826a49SYabin Cui
13*01826a49SYabin Cui
14*01826a49SYabin Cui#### How to compile zstd with Visual Studio
15*01826a49SYabin Cui
16*01826a49SYabin Cui1. Install Visual Studio e.g. VS 2015 Community Edition (it's free).
17*01826a49SYabin Cui2. Download the latest version of zstd from https://github.com/facebook/zstd/releases
18*01826a49SYabin Cui3. Decompress ZIP archive.
19*01826a49SYabin Cui4. Go to decompressed directory then to `projects` then `VS2010` and open `zstd.sln`
20*01826a49SYabin Cui5. Visual Studio will ask about converting VS2010 project to VS2015 and you should agree.
21*01826a49SYabin Cui6. Change `Debug` to `Release` and if you have 64-bit Windows change also `Win32` to `x64`.
22*01826a49SYabin Cui7. Press F7 on keyboard or select `BUILD` from the menu bar and choose `Build Solution`.
23*01826a49SYabin Cui8. If compilation will be fine a compiled executable will be in `projects\VS2010\bin\x64\Release\zstd.exe`
24*01826a49SYabin Cui
25*01826a49SYabin Cui
26*01826a49SYabin Cui#### Projects available within zstd.sln
27*01826a49SYabin Cui
28*01826a49SYabin CuiThe Visual Studio solution file `visual\VS2010\zstd.sln` contains many projects that will be compiled to the
29*01826a49SYabin Cui`visual\VS2010\bin\$(Platform)_$(Configuration)` directory. For example `zstd` set to `x64` and
30*01826a49SYabin Cui`Release` will be compiled to `visual\VS2010\bin\x64_Release\zstd.exe`. The solution file contains the
31*01826a49SYabin Cuifollowing projects:
32*01826a49SYabin Cui
33*01826a49SYabin Cui- `zstd` : Command Line Utility, supporting gzip-like arguments
34*01826a49SYabin Cui- `datagen` : Synthetic and parametrable data generator, for tests
35*01826a49SYabin Cui- `fullbench`  : Precisely measure speed for each zstd inner functions
36*01826a49SYabin Cui- `fuzzer` : Test tool, to check zstd integrity on target platform
37*01826a49SYabin Cui- `libzstd` : A static ZSTD library compiled to `libzstd_static.lib`
38*01826a49SYabin Cui- `libzstd-dll` : A dynamic ZSTD library (DLL) compiled to `libzstd.dll` with the import library `libzstd.lib`
39*01826a49SYabin Cui- `fullbench-dll` : The fullbench program compiled with the import library; the executable requires ZSTD DLL
40*01826a49SYabin Cui
41*01826a49SYabin Cui
42*01826a49SYabin Cui#### Using ZSTD DLL with Microsoft Visual C++ project
43*01826a49SYabin Cui
44*01826a49SYabin CuiThe header file `lib\zstd.h` and the import library
45*01826a49SYabin Cui`visual\VS2010\bin\$(Platform)_$(Configuration)\libzstd.lib` are required to compile
46*01826a49SYabin Cuia project using Visual C++.
47*01826a49SYabin Cui
48*01826a49SYabin Cui1. The path to header files should be added to `Additional Include Directories` that can
49*01826a49SYabin Cui   be found in Project Properties of Visual Studio IDE in the `C/C++` Property Pages on the `General` page.
50*01826a49SYabin Cui2. The import library has to be added to `Additional Dependencies` that can
51*01826a49SYabin Cui   be found in Project Properties in the `Linker` Property Pages on the `Input` page.
52*01826a49SYabin Cui   If one will provide only the name `libzstd.lib` without a full path to the library
53*01826a49SYabin Cui   then the directory has to be added to `Linker\General\Additional Library Directories`.
54*01826a49SYabin Cui
55*01826a49SYabin CuiThe compiled executable will require ZSTD DLL which is available at
56*01826a49SYabin Cui`visual\VS2010\bin\$(Platform)_$(Configuration)\libzstd.dll`.
57