mirror of
				https://github.com/facebook/zstd.git
				synced 2025-10-31 08:37:43 +02:00 
			
		
		
		
	* Make a variable `PublicHeaders` for Zstd's public headers
* Add `PublicHeaders` to `Headers`, which was missing
* Only export `${LIBRARY_DIR}` publicly, not `common/`
* Switch the `target_include_directories()` to `INTERFACE` because zstd uses relative includes internally, so doesn't need any include directories to build
* Switch installation to use the `PublicHeaders` variable, and test that the right headers are installed
		
	
Projects for various integrated development environments (IDE)
Included projects
The following projects are included with the zstd distribution:
- cmake- CMake project contributed by Artyom Dymchenko
- VS2005- Visual Studio 2005 Project (this project has been moved to the contrib directory and will no longer be supported)
- VS2008- Visual Studio 2008 project
- VS2010- Visual Studio 2010 project (which also works well with Visual Studio 2012, 2013, 2015)
- VS_scripts- command line scripts prepared for Visual Studio compilation without IDE
How to compile zstd with Visual Studio
- Install Visual Studio e.g. VS 2015 Community Edition (it's free).
- Download the latest version of zstd from https://github.com/facebook/zstd/releases
- Decompress ZIP archive.
- Go to decompressed directory then to projectsthenVS2010and openzstd.sln
- Visual Studio will ask about converting VS2010 project to VS2015 and you should agree.
- Change DebugtoReleaseand if you have 64-bit Windows change alsoWin32tox64.
- Press F7 on keyboard or select BUILDfrom the menu bar and chooseBuild Solution.
- If compilation will be fine a compiled executable will be in projects\VS2010\bin\x64\Release\zstd.exe
Projects available within zstd.sln
The Visual Studio solution file visual\VS2010\zstd.sln contains many projects that will be compiled to the
visual\VS2010\bin\$(Platform)_$(Configuration) directory. For example zstd set to x64 and
Release will be compiled to visual\VS2010\bin\x64_Release\zstd.exe. The solution file contains the
following projects:
- zstd: Command Line Utility, supporting gzip-like arguments
- datagen: Synthetic and parametrable data generator, for tests
- fullbench: Precisely measure speed for each zstd inner functions
- fuzzer: Test tool, to check zstd integrity on target platform
- libzstd: A static ZSTD library compiled to- libzstd_static.lib
- libzstd-dll: A dynamic ZSTD library (DLL) compiled to- libzstd.dllwith the import library- libzstd.lib
- fullbench-dll: The fullbench program compiled with the import library; the executable requires ZSTD DLL
Using ZSTD DLL with Microsoft Visual C++ project
The header file lib\zstd.h and the import library
visual\VS2010\bin\$(Platform)_$(Configuration)\libzstd.lib are required to compile
a project using Visual C++.
- The path to header files should be added to Additional Include Directoriesthat can be found in Project Properties of Visual Studio IDE in theC/C++Property Pages on theGeneralpage.
- The import library has to be added to Additional Dependenciesthat can be found in Project Properties in theLinkerProperty Pages on theInputpage. If one will provide only the namelibzstd.libwithout a full path to the library then the directory has to be added toLinker\General\Additional Library Directories.
The compiled executable will require ZSTD DLL which is available at
visual\VS2010\bin\$(Platform)_$(Configuration)\libzstd.dll.