From 4c9a4c18a9572b0abf4ca6e4839f966cb5caa828 Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Mon, 19 Sep 2016 14:58:14 +0200 Subject: [PATCH] changed projects to build --- Makefile | 11 +-- README.md | 28 +++++++ appveyor.yml | 74 +++++++++--------- {projects => build}/.gitignore | 0 {projects => build}/README.md | 2 +- .../VS2005/fullbench/fullbench.vcproj | 0 .../VS2005/fuzzer/fuzzer.vcproj | 0 {projects => build}/VS2005/zstd.sln | 0 {projects => build}/VS2005/zstd/zstd.vcproj | 0 .../VS2005/zstdlib/zstdlib.vcproj | 0 .../VS2008/fullbench/fullbench.vcproj | 0 .../VS2008/fuzzer/fuzzer.vcproj | 0 {projects => build}/VS2008/zstd.sln | 0 {projects => build}/VS2008/zstd/zstd.vcproj | 0 .../VS2008/zstdlib/zstdlib.vcproj | 0 {projects => build}/VS2010/CompileAsCpp.props | 0 .../VS2010/datagen/datagen.vcxproj | 0 .../VS2010/fullbench/fullbench.vcxproj | 0 .../VS2010/fuzzer/fuzzer.vcxproj | 0 {projects => build}/VS2010/zstd.sln | 0 .../VS2010/zstd/generate_res/generate_res.bat | 0 .../VS2010/zstd/generate_res/verrsrc.h | 0 .../VS2010/zstd/generate_res/zstd32.res | Bin .../VS2010/zstd/generate_res/zstd64.res | Bin {projects => build}/VS2010/zstd/zstd.rc | 0 {projects => build}/VS2010/zstd/zstd.vcxproj | 0 {projects => build}/VS2010/zstdlib/zstdlib.rc | 0 .../VS2010/zstdlib/zstdlib.vcxproj | 0 .../build => build/VS_scripts}/README.md | 0 .../VS_scripts}/build.VS2010.cmd | 0 .../VS_scripts}/build.VS2012.cmd | 0 .../VS_scripts}/build.VS2013.cmd | 0 .../VS_scripts}/build.VS2015.cmd | 0 .../VS_scripts}/build.generic.cmd | 0 {projects => build}/cmake/.gitignore | 0 {projects => build}/cmake/CMakeLists.txt | 0 .../AddExtraCompilationFlags.cmake | 0 .../cmake/cmake_uninstall.cmake.in | 0 {projects => build}/cmake/lib/CMakeLists.txt | 0 {projects => build}/cmake/programs/.gitignore | 0 .../cmake/programs/CMakeLists.txt | 0 {projects => build}/cmake/tests/.gitignore | 0 .../cmake/tests/CMakeLists.txt | 0 43 files changed, 72 insertions(+), 43 deletions(-) rename {projects => build}/.gitignore (100%) rename {projects => build}/README.md (92%) rename {projects => build}/VS2005/fullbench/fullbench.vcproj (100%) rename {projects => build}/VS2005/fuzzer/fuzzer.vcproj (100%) rename {projects => build}/VS2005/zstd.sln (100%) rename {projects => build}/VS2005/zstd/zstd.vcproj (100%) rename {projects => build}/VS2005/zstdlib/zstdlib.vcproj (100%) rename {projects => build}/VS2008/fullbench/fullbench.vcproj (100%) rename {projects => build}/VS2008/fuzzer/fuzzer.vcproj (100%) rename {projects => build}/VS2008/zstd.sln (100%) rename {projects => build}/VS2008/zstd/zstd.vcproj (100%) rename {projects => build}/VS2008/zstdlib/zstdlib.vcproj (100%) rename {projects => build}/VS2010/CompileAsCpp.props (100%) rename {projects => build}/VS2010/datagen/datagen.vcxproj (100%) rename {projects => build}/VS2010/fullbench/fullbench.vcxproj (100%) rename {projects => build}/VS2010/fuzzer/fuzzer.vcxproj (100%) rename {projects => build}/VS2010/zstd.sln (100%) rename {projects => build}/VS2010/zstd/generate_res/generate_res.bat (100%) rename {projects => build}/VS2010/zstd/generate_res/verrsrc.h (100%) rename {projects => build}/VS2010/zstd/generate_res/zstd32.res (100%) rename {projects => build}/VS2010/zstd/generate_res/zstd64.res (100%) rename {projects => build}/VS2010/zstd/zstd.rc (100%) rename {projects => build}/VS2010/zstd/zstd.vcxproj (100%) rename {projects => build}/VS2010/zstdlib/zstdlib.rc (100%) rename {projects => build}/VS2010/zstdlib/zstdlib.vcxproj (100%) rename {projects/build => build/VS_scripts}/README.md (100%) rename {projects/build => build/VS_scripts}/build.VS2010.cmd (100%) rename {projects/build => build/VS_scripts}/build.VS2012.cmd (100%) rename {projects/build => build/VS_scripts}/build.VS2013.cmd (100%) rename {projects/build => build/VS_scripts}/build.VS2015.cmd (100%) rename {projects/build => build/VS_scripts}/build.generic.cmd (100%) rename {projects => build}/cmake/.gitignore (100%) rename {projects => build}/cmake/CMakeLists.txt (100%) rename {projects => build}/cmake/CMakeModules/AddExtraCompilationFlags.cmake (100%) rename {projects => build}/cmake/cmake_uninstall.cmake.in (100%) rename {projects => build}/cmake/lib/CMakeLists.txt (100%) rename {projects => build}/cmake/programs/.gitignore (100%) rename {projects => build}/cmake/programs/CMakeLists.txt (100%) rename {projects => build}/cmake/tests/.gitignore (100%) rename {projects => build}/cmake/tests/CMakeLists.txt (100%) diff --git a/Makefile b/Makefile index 7860ce1d..b50723e8 100644 --- 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 diff --git a/README.md b/README.md index 2c8e707e..85d5ac32 100644 --- 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. diff --git a/appveyor.yml b/appveyor.yml index 280cbae8..8f4e4504 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -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 diff --git a/projects/.gitignore b/build/.gitignore similarity index 100% rename from projects/.gitignore rename to build/.gitignore diff --git a/projects/README.md b/build/README.md similarity index 92% rename from projects/README.md rename to build/README.md index dd60b56e..8dc67326 100644 --- a/projects/README.md +++ b/build/README.md @@ -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 diff --git a/projects/VS2005/fullbench/fullbench.vcproj b/build/VS2005/fullbench/fullbench.vcproj similarity index 100% rename from projects/VS2005/fullbench/fullbench.vcproj rename to build/VS2005/fullbench/fullbench.vcproj diff --git a/projects/VS2005/fuzzer/fuzzer.vcproj b/build/VS2005/fuzzer/fuzzer.vcproj similarity index 100% rename from projects/VS2005/fuzzer/fuzzer.vcproj rename to build/VS2005/fuzzer/fuzzer.vcproj diff --git a/projects/VS2005/zstd.sln b/build/VS2005/zstd.sln similarity index 100% rename from projects/VS2005/zstd.sln rename to build/VS2005/zstd.sln diff --git a/projects/VS2005/zstd/zstd.vcproj b/build/VS2005/zstd/zstd.vcproj similarity index 100% rename from projects/VS2005/zstd/zstd.vcproj rename to build/VS2005/zstd/zstd.vcproj diff --git a/projects/VS2005/zstdlib/zstdlib.vcproj b/build/VS2005/zstdlib/zstdlib.vcproj similarity index 100% rename from projects/VS2005/zstdlib/zstdlib.vcproj rename to build/VS2005/zstdlib/zstdlib.vcproj diff --git a/projects/VS2008/fullbench/fullbench.vcproj b/build/VS2008/fullbench/fullbench.vcproj similarity index 100% rename from projects/VS2008/fullbench/fullbench.vcproj rename to build/VS2008/fullbench/fullbench.vcproj diff --git a/projects/VS2008/fuzzer/fuzzer.vcproj b/build/VS2008/fuzzer/fuzzer.vcproj similarity index 100% rename from projects/VS2008/fuzzer/fuzzer.vcproj rename to build/VS2008/fuzzer/fuzzer.vcproj diff --git a/projects/VS2008/zstd.sln b/build/VS2008/zstd.sln similarity index 100% rename from projects/VS2008/zstd.sln rename to build/VS2008/zstd.sln diff --git a/projects/VS2008/zstd/zstd.vcproj b/build/VS2008/zstd/zstd.vcproj similarity index 100% rename from projects/VS2008/zstd/zstd.vcproj rename to build/VS2008/zstd/zstd.vcproj diff --git a/projects/VS2008/zstdlib/zstdlib.vcproj b/build/VS2008/zstdlib/zstdlib.vcproj similarity index 100% rename from projects/VS2008/zstdlib/zstdlib.vcproj rename to build/VS2008/zstdlib/zstdlib.vcproj diff --git a/projects/VS2010/CompileAsCpp.props b/build/VS2010/CompileAsCpp.props similarity index 100% rename from projects/VS2010/CompileAsCpp.props rename to build/VS2010/CompileAsCpp.props diff --git a/projects/VS2010/datagen/datagen.vcxproj b/build/VS2010/datagen/datagen.vcxproj similarity index 100% rename from projects/VS2010/datagen/datagen.vcxproj rename to build/VS2010/datagen/datagen.vcxproj diff --git a/projects/VS2010/fullbench/fullbench.vcxproj b/build/VS2010/fullbench/fullbench.vcxproj similarity index 100% rename from projects/VS2010/fullbench/fullbench.vcxproj rename to build/VS2010/fullbench/fullbench.vcxproj diff --git a/projects/VS2010/fuzzer/fuzzer.vcxproj b/build/VS2010/fuzzer/fuzzer.vcxproj similarity index 100% rename from projects/VS2010/fuzzer/fuzzer.vcxproj rename to build/VS2010/fuzzer/fuzzer.vcxproj diff --git a/projects/VS2010/zstd.sln b/build/VS2010/zstd.sln similarity index 100% rename from projects/VS2010/zstd.sln rename to build/VS2010/zstd.sln diff --git a/projects/VS2010/zstd/generate_res/generate_res.bat b/build/VS2010/zstd/generate_res/generate_res.bat similarity index 100% rename from projects/VS2010/zstd/generate_res/generate_res.bat rename to build/VS2010/zstd/generate_res/generate_res.bat diff --git a/projects/VS2010/zstd/generate_res/verrsrc.h b/build/VS2010/zstd/generate_res/verrsrc.h similarity index 100% rename from projects/VS2010/zstd/generate_res/verrsrc.h rename to build/VS2010/zstd/generate_res/verrsrc.h diff --git a/projects/VS2010/zstd/generate_res/zstd32.res b/build/VS2010/zstd/generate_res/zstd32.res similarity index 100% rename from projects/VS2010/zstd/generate_res/zstd32.res rename to build/VS2010/zstd/generate_res/zstd32.res diff --git a/projects/VS2010/zstd/generate_res/zstd64.res b/build/VS2010/zstd/generate_res/zstd64.res similarity index 100% rename from projects/VS2010/zstd/generate_res/zstd64.res rename to build/VS2010/zstd/generate_res/zstd64.res diff --git a/projects/VS2010/zstd/zstd.rc b/build/VS2010/zstd/zstd.rc similarity index 100% rename from projects/VS2010/zstd/zstd.rc rename to build/VS2010/zstd/zstd.rc diff --git a/projects/VS2010/zstd/zstd.vcxproj b/build/VS2010/zstd/zstd.vcxproj similarity index 100% rename from projects/VS2010/zstd/zstd.vcxproj rename to build/VS2010/zstd/zstd.vcxproj diff --git a/projects/VS2010/zstdlib/zstdlib.rc b/build/VS2010/zstdlib/zstdlib.rc similarity index 100% rename from projects/VS2010/zstdlib/zstdlib.rc rename to build/VS2010/zstdlib/zstdlib.rc diff --git a/projects/VS2010/zstdlib/zstdlib.vcxproj b/build/VS2010/zstdlib/zstdlib.vcxproj similarity index 100% rename from projects/VS2010/zstdlib/zstdlib.vcxproj rename to build/VS2010/zstdlib/zstdlib.vcxproj diff --git a/projects/build/README.md b/build/VS_scripts/README.md similarity index 100% rename from projects/build/README.md rename to build/VS_scripts/README.md diff --git a/projects/build/build.VS2010.cmd b/build/VS_scripts/build.VS2010.cmd similarity index 100% rename from projects/build/build.VS2010.cmd rename to build/VS_scripts/build.VS2010.cmd diff --git a/projects/build/build.VS2012.cmd b/build/VS_scripts/build.VS2012.cmd similarity index 100% rename from projects/build/build.VS2012.cmd rename to build/VS_scripts/build.VS2012.cmd diff --git a/projects/build/build.VS2013.cmd b/build/VS_scripts/build.VS2013.cmd similarity index 100% rename from projects/build/build.VS2013.cmd rename to build/VS_scripts/build.VS2013.cmd diff --git a/projects/build/build.VS2015.cmd b/build/VS_scripts/build.VS2015.cmd similarity index 100% rename from projects/build/build.VS2015.cmd rename to build/VS_scripts/build.VS2015.cmd diff --git a/projects/build/build.generic.cmd b/build/VS_scripts/build.generic.cmd similarity index 100% rename from projects/build/build.generic.cmd rename to build/VS_scripts/build.generic.cmd diff --git a/projects/cmake/.gitignore b/build/cmake/.gitignore similarity index 100% rename from projects/cmake/.gitignore rename to build/cmake/.gitignore diff --git a/projects/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt similarity index 100% rename from projects/cmake/CMakeLists.txt rename to build/cmake/CMakeLists.txt diff --git a/projects/cmake/CMakeModules/AddExtraCompilationFlags.cmake b/build/cmake/CMakeModules/AddExtraCompilationFlags.cmake similarity index 100% rename from projects/cmake/CMakeModules/AddExtraCompilationFlags.cmake rename to build/cmake/CMakeModules/AddExtraCompilationFlags.cmake diff --git a/projects/cmake/cmake_uninstall.cmake.in b/build/cmake/cmake_uninstall.cmake.in similarity index 100% rename from projects/cmake/cmake_uninstall.cmake.in rename to build/cmake/cmake_uninstall.cmake.in diff --git a/projects/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt similarity index 100% rename from projects/cmake/lib/CMakeLists.txt rename to build/cmake/lib/CMakeLists.txt diff --git a/projects/cmake/programs/.gitignore b/build/cmake/programs/.gitignore similarity index 100% rename from projects/cmake/programs/.gitignore rename to build/cmake/programs/.gitignore diff --git a/projects/cmake/programs/CMakeLists.txt b/build/cmake/programs/CMakeLists.txt similarity index 100% rename from projects/cmake/programs/CMakeLists.txt rename to build/cmake/programs/CMakeLists.txt diff --git a/projects/cmake/tests/.gitignore b/build/cmake/tests/.gitignore similarity index 100% rename from projects/cmake/tests/.gitignore rename to build/cmake/tests/.gitignore diff --git a/projects/cmake/tests/CMakeLists.txt b/build/cmake/tests/CMakeLists.txt similarity index 100% rename from projects/cmake/tests/CMakeLists.txt rename to build/cmake/tests/CMakeLists.txt