mirror of
https://github.com/facebook/zstd.git
synced 2025-07-30 22:23:13 +03:00
changed projects to build
This commit is contained in:
11
Makefile
11
Makefile
@ -7,8 +7,9 @@
|
|||||||
# of patent rights can be found in the PATENTS file in the same directory.
|
# of patent rights can be found in the PATENTS file in the same directory.
|
||||||
# ################################################################
|
# ################################################################
|
||||||
|
|
||||||
PRGDIR = programs
|
PRGDIR = programs
|
||||||
ZSTDDIR = lib
|
ZSTDDIR = lib
|
||||||
|
BUILDIR = build
|
||||||
ZWRAPDIR = zlibWrapper
|
ZWRAPDIR = zlibWrapper
|
||||||
TESTDIR = tests
|
TESTDIR = tests
|
||||||
|
|
||||||
@ -121,9 +122,9 @@ endif
|
|||||||
ifneq (,$(filter $(HOST_OS),MSYS POSIX))
|
ifneq (,$(filter $(HOST_OS),MSYS POSIX))
|
||||||
cmaketest:
|
cmaketest:
|
||||||
cmake --version
|
cmake --version
|
||||||
$(RM) -r projects/cmake/build
|
$(RM) -r $(BUILDDIR)/cmake/build
|
||||||
mkdir projects/cmake/build
|
mkdir $(BUILDDIR)/cmake/build
|
||||||
cd projects/cmake/build ; cmake -DPREFIX:STRING=~/install_test_dir $(CMAKE_PARAMS) .. ; $(MAKE) install ; $(MAKE) uninstall
|
cd $(BUILDDIR)/cmake/build ; cmake -DPREFIX:STRING=~/install_test_dir $(CMAKE_PARAMS) .. ; $(MAKE) install ; $(MAKE) uninstall
|
||||||
|
|
||||||
c90test: clean
|
c90test: clean
|
||||||
CFLAGS="-std=c90" $(MAKE) all # will fail, due to // and long long
|
CFLAGS="-std=c90" $(MAKE) all # will fail, due to // and long long
|
||||||
|
28
README.md
28
README.md
@ -73,6 +73,34 @@ Hence, deploying one dictionary per type of data will provide the greatest benef
|
|||||||
|
|
||||||
`zstd --decompress FILE.zst -D dictionaryName`
|
`zstd --decompress FILE.zst -D dictionaryName`
|
||||||
|
|
||||||
|
### Build
|
||||||
|
|
||||||
|
Once you have the repository cloned, there are multiple ways provided to build Zstandard.
|
||||||
|
|
||||||
|
#### Makefile
|
||||||
|
|
||||||
|
If your system is compatible with `make`, you can simply run `make` at the root directory.
|
||||||
|
It will generate `zstd` within root directory.
|
||||||
|
|
||||||
|
Other available options include :
|
||||||
|
- `make install` : create and install zstd binary, library and man page
|
||||||
|
- `make test` : create and run `zstd` and test tools on local platform
|
||||||
|
|
||||||
|
#### cmake
|
||||||
|
|
||||||
|
A `cmake` project generator is provided within `build/cmake`.
|
||||||
|
It can generate Makefiles or other build scripts
|
||||||
|
to create `zstd` binary, and `libzstd` dynamic and static libraries.
|
||||||
|
|
||||||
|
#### Visual (Windows)
|
||||||
|
|
||||||
|
Going into `build` directory, you will find additional possibilities :
|
||||||
|
- Projects for Visual Studio 2005, 2008 and 2010
|
||||||
|
+ VS2010 project is compatible with VS2012, VS2013 and VS2015
|
||||||
|
- Automated build scripts for Visual compiler by @KrzysFR , in `build/VS_scripts`,
|
||||||
|
which will build `zstd` cli and `libzstd` library without any need to open Visual Studio solution.
|
||||||
|
|
||||||
|
|
||||||
### Status
|
### Status
|
||||||
|
|
||||||
Zstandard is currently deployed within Facebook. It is used daily to compress and decompress very large amounts of data in multiple formats and use cases.
|
Zstandard is currently deployed within Facebook. It is used daily to compress and decompress very large amounts of data in multiple formats and use cases.
|
||||||
|
74
appveyor.yml
74
appveyor.yml
@ -36,8 +36,8 @@ install:
|
|||||||
|
|
||||||
build_script:
|
build_script:
|
||||||
- ECHO Building %COMPILER% %PLATFORM% %CONFIGURATION%
|
- ECHO Building %COMPILER% %PLATFORM% %CONFIGURATION%
|
||||||
- if [%PLATFORM%]==[mingw32] SET PATH=%PATH_MINGW32%;%PATH_ORIGINAL%
|
- if [%PLATFORM%]==[mingw32] SET PATH=%PATH_MINGW32%;%PATH_ORIGINAL%
|
||||||
- if [%PLATFORM%]==[mingw64] SET PATH=%PATH_MINGW64%;%PATH_ORIGINAL%
|
- if [%PLATFORM%]==[mingw64] SET PATH=%PATH_MINGW64%;%PATH_ORIGINAL%
|
||||||
- if [%PLATFORM%]==[mingw64] (
|
- if [%PLATFORM%]==[mingw64] (
|
||||||
make clean &&
|
make clean &&
|
||||||
ECHO *** &&
|
ECHO *** &&
|
||||||
@ -76,51 +76,51 @@ build_script:
|
|||||||
ECHO *** &&
|
ECHO *** &&
|
||||||
ECHO *** Building Visual Studio 2008 %PLATFORM%\%CONFIGURATION% in %APPVEYOR_BUILD_FOLDER% &&
|
ECHO *** Building Visual Studio 2008 %PLATFORM%\%CONFIGURATION% in %APPVEYOR_BUILD_FOLDER% &&
|
||||||
ECHO *** &&
|
ECHO *** &&
|
||||||
msbuild "projects\VS2008\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v90 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
msbuild "build\VS2008\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v90 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
||||||
DIR projects\VS2008\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
|
DIR build\VS2008\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
|
||||||
MD5sum projects/VS2008/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
|
MD5sum build/VS2008/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
|
||||||
COPY projects\VS2008\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2008_%PLATFORM%_%CONFIGURATION%.exe &&
|
COPY build\VS2008\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2008_%PLATFORM%_%CONFIGURATION%.exe &&
|
||||||
ECHO *** &&
|
ECHO *** &&
|
||||||
ECHO *** Building Visual Studio 2010 %PLATFORM%\%CONFIGURATION% &&
|
ECHO *** Building Visual Studio 2010 %PLATFORM%\%CONFIGURATION% &&
|
||||||
ECHO *** &&
|
ECHO *** &&
|
||||||
msbuild "projects\VS2010\zstd.sln" %ADDITIONALPARAM% /m /verbosity:minimal /property:PlatformToolset=v100 /p:ForceImportBeforeCppTargets=%APPVEYOR_BUILD_FOLDER%\projects\VS2010\CompileAsCpp.props /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
msbuild "build\VS2010\zstd.sln" %ADDITIONALPARAM% /m /verbosity:minimal /property:PlatformToolset=v100 /p:ForceImportBeforeCppTargets=%APPVEYOR_BUILD_FOLDER%\build\VS2010\CompileAsCpp.props /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
||||||
DIR projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
|
DIR build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
|
||||||
MD5sum projects/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
|
MD5sum build/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
|
||||||
msbuild "projects\VS2010\zstd.sln" %ADDITIONALPARAM% /m /verbosity:minimal /property:PlatformToolset=v100 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
msbuild "build\VS2010\zstd.sln" %ADDITIONALPARAM% /m /verbosity:minimal /property:PlatformToolset=v100 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
||||||
DIR projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
|
DIR build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
|
||||||
MD5sum projects/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
|
MD5sum build/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
|
||||||
COPY projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2010_%PLATFORM%_%CONFIGURATION%.exe &&
|
COPY build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2010_%PLATFORM%_%CONFIGURATION%.exe &&
|
||||||
ECHO *** &&
|
ECHO *** &&
|
||||||
ECHO *** Building Visual Studio 2012 %PLATFORM%\%CONFIGURATION% &&
|
ECHO *** Building Visual Studio 2012 %PLATFORM%\%CONFIGURATION% &&
|
||||||
ECHO *** &&
|
ECHO *** &&
|
||||||
msbuild "projects\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v110 /p:ForceImportBeforeCppTargets=%APPVEYOR_BUILD_FOLDER%\projects\VS2010\CompileAsCpp.props /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v110 /p:ForceImportBeforeCppTargets=%APPVEYOR_BUILD_FOLDER%\build\VS2010\CompileAsCpp.props /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
||||||
DIR projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
|
DIR build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
|
||||||
MD5sum projects/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
|
MD5sum build/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
|
||||||
msbuild "projects\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v110 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v110 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
||||||
DIR projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
|
DIR build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
|
||||||
MD5sum projects/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
|
MD5sum build/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
|
||||||
COPY projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2012_%PLATFORM%_%CONFIGURATION%.exe &&
|
COPY build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2012_%PLATFORM%_%CONFIGURATION%.exe &&
|
||||||
ECHO *** &&
|
ECHO *** &&
|
||||||
ECHO *** Building Visual Studio 2013 %PLATFORM%\%CONFIGURATION% &&
|
ECHO *** Building Visual Studio 2013 %PLATFORM%\%CONFIGURATION% &&
|
||||||
ECHO *** &&
|
ECHO *** &&
|
||||||
msbuild "projects\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v120 /p:ForceImportBeforeCppTargets=%APPVEYOR_BUILD_FOLDER%\projects\VS2010\CompileAsCpp.props /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v120 /p:ForceImportBeforeCppTargets=%APPVEYOR_BUILD_FOLDER%\build\VS2010\CompileAsCpp.props /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
||||||
DIR projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
|
DIR build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
|
||||||
MD5sum projects/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
|
MD5sum build/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
|
||||||
msbuild "projects\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v120 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v120 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
||||||
DIR projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
|
DIR build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
|
||||||
MD5sum projects/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
|
MD5sum build/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
|
||||||
COPY projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2013_%PLATFORM%_%CONFIGURATION%.exe &&
|
COPY build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2013_%PLATFORM%_%CONFIGURATION%.exe &&
|
||||||
ECHO *** &&
|
ECHO *** &&
|
||||||
ECHO *** Building Visual Studio 2015 %PLATFORM%\%CONFIGURATION% &&
|
ECHO *** Building Visual Studio 2015 %PLATFORM%\%CONFIGURATION% &&
|
||||||
ECHO *** &&
|
ECHO *** &&
|
||||||
msbuild "projects\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v140 /p:ForceImportBeforeCppTargets=%APPVEYOR_BUILD_FOLDER%\projects\VS2010\CompileAsCpp.props /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v140 /p:ForceImportBeforeCppTargets=%APPVEYOR_BUILD_FOLDER%\build\VS2010\CompileAsCpp.props /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
||||||
DIR projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
|
DIR build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
|
||||||
MD5sum projects/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
|
MD5sum build/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
|
||||||
msbuild "projects\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v140 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
msbuild "build\VS2010\zstd.sln" /m /verbosity:minimal /property:PlatformToolset=v140 /t:Clean,Build /p:Platform=%PLATFORM% /p:Configuration=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" &&
|
||||||
DIR projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
|
DIR build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
|
||||||
MD5sum projects/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
|
MD5sum build/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
|
||||||
COPY projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2015_%PLATFORM%_%CONFIGURATION%.exe &&
|
COPY build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2015_%PLATFORM%_%CONFIGURATION%.exe &&
|
||||||
COPY projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe tests\
|
COPY build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe tests\
|
||||||
)
|
)
|
||||||
|
|
||||||
test_script:
|
test_script:
|
||||||
@ -144,7 +144,7 @@ test_script:
|
|||||||
|
|
||||||
artifacts:
|
artifacts:
|
||||||
- path: bin\zstd.exe
|
- path: bin\zstd.exe
|
||||||
- path: bin\zstd32.exe
|
- path: bin\zstd32.exe
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
- provider: GitHub
|
- provider: GitHub
|
||||||
@ -160,7 +160,7 @@ deploy:
|
|||||||
- provider: GitHub
|
- provider: GitHub
|
||||||
auth_token:
|
auth_token:
|
||||||
secure: LgJo8emYc3sFnlNWkGl4/VYK3nk/8+RagcsqDlAi3xeqNGNutnKjcftjg84uJoT4
|
secure: LgJo8emYc3sFnlNWkGl4/VYK3nk/8+RagcsqDlAi3xeqNGNutnKjcftjg84uJoT4
|
||||||
artifact: bin\zstd32.exe
|
artifact: bin\zstd32.exe
|
||||||
force_update: true
|
force_update: true
|
||||||
on:
|
on:
|
||||||
branch: autobuild
|
branch: autobuild
|
||||||
|
0
projects/.gitignore → build/.gitignore
vendored
0
projects/.gitignore → build/.gitignore
vendored
@ -8,7 +8,7 @@ The following projects are included with the zstd distribution:
|
|||||||
- `VS2005` - Visual Studio 2005 project
|
- `VS2005` - Visual Studio 2005 project
|
||||||
- `VS2008` - Visual Studio 2008 project
|
- `VS2008` - Visual Studio 2008 project
|
||||||
- `VS2010` - Visual Studio 2010 project (which also works well with Visual Studio 2012, 2013, 2015)
|
- `VS2010` - Visual Studio 2010 project (which also works well with Visual Studio 2012, 2013, 2015)
|
||||||
- `build` - command line scripts prepared for Visual Studio compilation without IDE
|
- `VS_scripts` - command line scripts prepared for Visual Studio compilation without IDE
|
||||||
|
|
||||||
|
|
||||||
#### How to compile zstd with Visual Studio
|
#### How to compile zstd with Visual Studio
|
Reference in New Issue
Block a user