]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
changed projects to build
authorYann Collet <yann.collet.73@gmail.com>
Mon, 19 Sep 2016 12:58:14 +0000 (14:58 +0200)
committerYann Collet <yann.collet.73@gmail.com>
Mon, 19 Sep 2016 12:58:14 +0000 (14:58 +0200)
43 files changed:
Makefile
README.md
appveyor.yml
build/.gitignore [moved from projects/.gitignore with 100% similarity]
build/README.md [moved from projects/README.md with 92% similarity]
build/VS2005/fullbench/fullbench.vcproj [moved from projects/VS2005/fullbench/fullbench.vcproj with 100% similarity]
build/VS2005/fuzzer/fuzzer.vcproj [moved from projects/VS2005/fuzzer/fuzzer.vcproj with 100% similarity]
build/VS2005/zstd.sln [moved from projects/VS2005/zstd.sln with 100% similarity]
build/VS2005/zstd/zstd.vcproj [moved from projects/VS2005/zstd/zstd.vcproj with 100% similarity]
build/VS2005/zstdlib/zstdlib.vcproj [moved from projects/VS2005/zstdlib/zstdlib.vcproj with 100% similarity]
build/VS2008/fullbench/fullbench.vcproj [moved from projects/VS2008/fullbench/fullbench.vcproj with 100% similarity]
build/VS2008/fuzzer/fuzzer.vcproj [moved from projects/VS2008/fuzzer/fuzzer.vcproj with 100% similarity]
build/VS2008/zstd.sln [moved from projects/VS2008/zstd.sln with 100% similarity]
build/VS2008/zstd/zstd.vcproj [moved from projects/VS2008/zstd/zstd.vcproj with 100% similarity]
build/VS2008/zstdlib/zstdlib.vcproj [moved from projects/VS2008/zstdlib/zstdlib.vcproj with 100% similarity]
build/VS2010/CompileAsCpp.props [moved from projects/VS2010/CompileAsCpp.props with 100% similarity]
build/VS2010/datagen/datagen.vcxproj [moved from projects/VS2010/datagen/datagen.vcxproj with 100% similarity]
build/VS2010/fullbench/fullbench.vcxproj [moved from projects/VS2010/fullbench/fullbench.vcxproj with 100% similarity]
build/VS2010/fuzzer/fuzzer.vcxproj [moved from projects/VS2010/fuzzer/fuzzer.vcxproj with 100% similarity]
build/VS2010/zstd.sln [moved from projects/VS2010/zstd.sln with 100% similarity]
build/VS2010/zstd/generate_res/generate_res.bat [moved from projects/VS2010/zstd/generate_res/generate_res.bat with 100% similarity]
build/VS2010/zstd/generate_res/verrsrc.h [moved from projects/VS2010/zstd/generate_res/verrsrc.h with 100% similarity]
build/VS2010/zstd/generate_res/zstd32.res [moved from projects/VS2010/zstd/generate_res/zstd32.res with 100% similarity]
build/VS2010/zstd/generate_res/zstd64.res [moved from projects/VS2010/zstd/generate_res/zstd64.res with 100% similarity]
build/VS2010/zstd/zstd.rc [moved from projects/VS2010/zstd/zstd.rc with 100% similarity]
build/VS2010/zstd/zstd.vcxproj [moved from projects/VS2010/zstd/zstd.vcxproj with 100% similarity]
build/VS2010/zstdlib/zstdlib.rc [moved from projects/VS2010/zstdlib/zstdlib.rc with 100% similarity]
build/VS2010/zstdlib/zstdlib.vcxproj [moved from projects/VS2010/zstdlib/zstdlib.vcxproj with 100% similarity]
build/VS_scripts/README.md [moved from projects/build/README.md with 100% similarity]
build/VS_scripts/build.VS2010.cmd [moved from projects/build/build.VS2010.cmd with 100% similarity]
build/VS_scripts/build.VS2012.cmd [moved from projects/build/build.VS2012.cmd with 100% similarity]
build/VS_scripts/build.VS2013.cmd [moved from projects/build/build.VS2013.cmd with 100% similarity]
build/VS_scripts/build.VS2015.cmd [moved from projects/build/build.VS2015.cmd with 100% similarity]
build/VS_scripts/build.generic.cmd [moved from projects/build/build.generic.cmd with 100% similarity]
build/cmake/.gitignore [moved from projects/cmake/.gitignore with 100% similarity]
build/cmake/CMakeLists.txt [moved from projects/cmake/CMakeLists.txt with 100% similarity]
build/cmake/CMakeModules/AddExtraCompilationFlags.cmake [moved from projects/cmake/CMakeModules/AddExtraCompilationFlags.cmake with 100% similarity]
build/cmake/cmake_uninstall.cmake.in [moved from projects/cmake/cmake_uninstall.cmake.in with 100% similarity]
build/cmake/lib/CMakeLists.txt [moved from projects/cmake/lib/CMakeLists.txt with 100% similarity]
build/cmake/programs/.gitignore [moved from projects/cmake/programs/.gitignore with 100% similarity]
build/cmake/programs/CMakeLists.txt [moved from projects/cmake/programs/CMakeLists.txt with 100% similarity]
build/cmake/tests/.gitignore [moved from projects/cmake/tests/.gitignore with 100% similarity]
build/cmake/tests/CMakeLists.txt [moved from projects/cmake/tests/CMakeLists.txt with 100% similarity]

index 7860ce1dba0cac3a164d2b0cd97260d47753c9df..b50723e850f4e5ca409198eec65257954f12dc75 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -7,8 +7,9 @@
 # of patent rights can be found in the PATENTS file in the same directory.
 # ################################################################
 
-PRGDIR  = programs
-ZSTDDIR = lib
+PRGDIR   = programs
+ZSTDDIR  = lib
+BUILDIR  = build
 ZWRAPDIR = zlibWrapper
 TESTDIR  = tests
 
@@ -121,9 +122,9 @@ endif
 ifneq (,$(filter $(HOST_OS),MSYS POSIX))
 cmaketest:
        cmake --version
-       $(RM) -r projects/cmake/build
-       mkdir projects/cmake/build
-       cd projects/cmake/build ; cmake -DPREFIX:STRING=~/install_test_dir $(CMAKE_PARAMS) .. ; $(MAKE) install ; $(MAKE) uninstall
+       $(RM) -r $(BUILDDIR)/cmake/build
+       mkdir $(BUILDDIR)/cmake/build
+       cd $(BUILDDIR)/cmake/build ; cmake -DPREFIX:STRING=~/install_test_dir $(CMAKE_PARAMS) .. ; $(MAKE) install ; $(MAKE) uninstall
 
 c90test: clean
        CFLAGS="-std=c90" $(MAKE) all  # will fail, due to // and long long
index 2c8e707e9225f21b99fc84840bb83a42bc87ffdd..85d5ac32429c3e57bf9c8cf5792c13b8fed5a6aa 100644 (file)
--- a/README.md
+++ b/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`
 
+### 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
 
 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.
index 280cbae86c8aeb93433f48e0ea487eaf3772513e..8f4e4504419956b0491777746919b75c85120c07 100644 (file)
@@ -36,8 +36,8 @@ install:
 
 build_script:
   - ECHO Building %COMPILER% %PLATFORM% %CONFIGURATION%
-  - if [%PLATFORM%]==[mingw32] SET PATH=%PATH_MINGW32%;%PATH_ORIGINAL% 
-  - if [%PLATFORM%]==[mingw64] SET PATH=%PATH_MINGW64%;%PATH_ORIGINAL% 
+  - if [%PLATFORM%]==[mingw32] SET PATH=%PATH_MINGW32%;%PATH_ORIGINAL%
+  - if [%PLATFORM%]==[mingw64] SET PATH=%PATH_MINGW64%;%PATH_ORIGINAL%
   - if [%PLATFORM%]==[mingw64] (
       make clean &&
       ECHO *** &&
@@ -76,51 +76,51 @@ build_script:
       ECHO *** &&
       ECHO *** Building Visual Studio 2008 %PLATFORM%\%CONFIGURATION% in %APPVEYOR_BUILD_FOLDER% &&
       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" &&
-      DIR projects\VS2008\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
-      MD5sum projects/VS2008/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
-      COPY projects\VS2008\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2008_%PLATFORM%_%CONFIGURATION%.exe &&
+      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 build\VS2008\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
+      MD5sum build/VS2008/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
+      COPY build\VS2008\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2008_%PLATFORM%_%CONFIGURATION%.exe &&
       ECHO *** &&
       ECHO *** Building Visual Studio 2010 %PLATFORM%\%CONFIGURATION% &&
       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" &&
-      DIR projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
-      MD5sum projects/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" &&
-      DIR projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
-      MD5sum projects/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
-      COPY projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2010_%PLATFORM%_%CONFIGURATION%.exe &&
+      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 build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
+      MD5sum build/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
+      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 build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
+      MD5sum build/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
+      COPY build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2010_%PLATFORM%_%CONFIGURATION%.exe &&
       ECHO *** &&
       ECHO *** Building Visual Studio 2012 %PLATFORM%\%CONFIGURATION% &&
       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" &&
-      DIR projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
-      MD5sum projects/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" &&
-      DIR projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
-      MD5sum projects/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
-      COPY projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2012_%PLATFORM%_%CONFIGURATION%.exe &&
+      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 build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
+      MD5sum build/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
+      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 build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
+      MD5sum build/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
+      COPY build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2012_%PLATFORM%_%CONFIGURATION%.exe &&
       ECHO *** &&
       ECHO *** Building Visual Studio 2013 %PLATFORM%\%CONFIGURATION% &&
       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" &&
-      DIR projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
-      MD5sum projects/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" &&
-      DIR projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
-      MD5sum projects/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
-      COPY projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2013_%PLATFORM%_%CONFIGURATION%.exe &&
+      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 build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
+      MD5sum build/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
+      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 build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
+      MD5sum build/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
+      COPY build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2013_%PLATFORM%_%CONFIGURATION%.exe &&
       ECHO *** &&
       ECHO *** Building Visual Studio 2015 %PLATFORM%\%CONFIGURATION% &&
       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" &&
-      DIR projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
-      MD5sum projects/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" &&
-      DIR projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
-      MD5sum projects/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
-      COPY projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2015_%PLATFORM%_%CONFIGURATION%.exe &&
-      COPY projects\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe tests\
+      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 build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
+      MD5sum build/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
+      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 build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe &&
+      MD5sum build/VS2010/bin/%PLATFORM%/%CONFIGURATION%/*.exe &&
+      COPY build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\fuzzer.exe tests\fuzzer_VS2015_%PLATFORM%_%CONFIGURATION%.exe &&
+      COPY build\VS2010\bin\%PLATFORM%\%CONFIGURATION%\*.exe tests\
     )
 
 test_script:
@@ -144,7 +144,7 @@ test_script:
 
 artifacts:
   - path: bin\zstd.exe
-  - path: bin\zstd32.exe 
+  - path: bin\zstd32.exe
 
 deploy:
 - provider: GitHub
@@ -160,7 +160,7 @@ deploy:
 - provider: GitHub
   auth_token:
     secure: LgJo8emYc3sFnlNWkGl4/VYK3nk/8+RagcsqDlAi3xeqNGNutnKjcftjg84uJoT4
-  artifact: bin\zstd32.exe 
+  artifact: bin\zstd32.exe
   force_update: true
   on:
     branch: autobuild
similarity index 100%
rename from projects/.gitignore
rename to build/.gitignore
similarity index 92%
rename from projects/README.md
rename to build/README.md
index dd60b56e830b417d167ec67a2541e280c7348413..8dc67326b6c8b47ed010b28089a2fbcd7fc483c0 100644 (file)
@@ -8,7 +8,7 @@ The following projects are included with the zstd distribution:
 - `VS2005` - Visual Studio 2005 project
 - `VS2008` - Visual Studio 2008 project
 - `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