Use public scope to fix shared windows build
Hello all!
The CMake target libzstd_shared requires the file libzstd-dll.rc to expose library's symbols in DLL, when building with MSVC and configured to shared.
https://github.com/facebook/zstd/blob/72c16b187d27016b7634f5c6b7290e7c66ba44b3/build/cmake/lib/CMakeLists.txt#L125
Still, the file libzstd-dll.rc includes the public header zstd.h to be able to read those publuc methods.
https://github.com/facebook/zstd/blob/72c16b187d27016b7634f5c6b7290e7c66ba44b3/build/VS2010/libzstd-dll/libzstd-dll.rc#L4
The same does not occur with Linux/OSX, because only Windows needs that file to expose symbols.
To be able to access the zstd.h, CMake needs to know where this file is available. One way to do that is using the target_include_directories method, pointing a folder to be included to that CMake target only. The same is configured with the scope INTERFACE, which is only visible to the consumers of the target, not to the target itself. The result is follow error, because that folder is not visible when building on Windows (the OS does not matter).
In order to fix the situation, the zstd.h should be visible when both building the target, but also when consuming it. It describes the PUBLIC scope.
fixes #3999
OS: Windows 10 Compiler: Visual Studio 17 2022 CMake: version 3.29.0
This patch uses PUBLIC as scope to fix the current build.
Here is the build log using https://github.com/facebook/zstd/releases/download/v1.5.6/zstd-1.5.6.tar.gz without the patch.
Details
> cmake -S build/cmake -B build-cmake -DZSTD_BUILD_PROGRAMS=OFF -DZSTD_BUILD_STATIC=OFF -DZSTD_BUILD_SHARED=ON -DZSTD_MULTITHREAD_SUPPORT=ON -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=ON
-- Building for: Visual Studio 17 2022
-- Selecting Windows SDK version 10.0.22000.0 to target Windows 10.0.19045.
-- The C compiler identification is MSVC 19.33.31630.0
-- The ASM compiler identification is MSVC
-- Found assembler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.33.31629/bin/Hostx64/x64/cl.exe
-- The CXX compiler identification is MSVC 19.33.31630.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.33.31629/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.33.31629/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- ZSTD VERSION: 1.5.6
-- Performing Test C_FLAG_MP
-- Performing Test C_FLAG_MP - Success
-- Performing Test CXX_FLAG_MP
-- Performing Test CXX_FLAG_MP - Success
-- Performing Test C_FLAG_D_UNICODE
-- Performing Test C_FLAG_D_UNICODE - Success
-- Performing Test CXX_FLAG_D_UNICODE
-- Performing Test CXX_FLAG_D_UNICODE - Success
-- Performing Test C_FLAG_DUNICODE
-- Performing Test C_FLAG_DUNICODE - Success
-- Performing Test CXX_FLAG_DUNICODE
-- Performing Test CXX_FLAG_DUNICODE - Success
-- CMAKE_INSTALL_PREFIX: C:/Program Files (x86)/zstd
-- CMAKE_INSTALL_LIBDIR: lib
-- ZSTD_LEGACY_SUPPORT defined!
-- ZSTD_MULTITHREAD_SUPPORT is enabled
-- Configuring done (6.6s)
-- Generating done (0.0s)
-- Build files have been written to: C:/Users/uilia/AppData/Local/Temp/zstd-1.5.6/build-cmake
C:\Temp\zstd-1.5.6
> cmake --build build-cmake\
Change Dir: 'C:/Users/uilia/AppData/Local/Temp/zstd-1.5.6/build-cmake'
Run Build Command(s): "C:/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin/amd64/MSBuild.exe" ALL_BUILD.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=17.0 /v:n
MSBuild version 17.3.1+2badb37d1 for .NET Framework
Build started 2024-04-01 01:10:18 PM.
Project "C:\Temp\zstd-1.5.6\build-cmake\ALL_BUILD.vcxproj" on node 1 (default targets).
Project "C:\Temp\zstd-1.5.6\build-cmake\ALL_BUILD.vcxproj" (1) is building "C:\Temp\zstd-1.5.6\build-cmake\ZERO_CHECK.vcxproj" (2) on node 1 (default targets).
PrepareForBuild:
Creating directory "x64\Debug\ZERO_CHECK\".
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(544,5): warning MSB8029: The Intermediate directory or Output directory cannot reside under the Temporary directory as it could lead to issues with incremental build. [C:\Temp\zstd-1 .5.6\build-cmake\ZERO_CHECK.vcxproj]
Creating directory "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\".
InitializeBuildStatus:
Creating "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
1>Checking Build System
FinalizeBuildStatus:
Deleting file "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild".
Touching "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\ZERO_CHECK.lastbuildstate".
Done Building Project "C:\Temp\zstd-1.5.6\build-cmake\ZERO_CHECK.vcxproj" (default targets).
Project "C:\Temp\zstd-1.5.6\build-cmake\ALL_BUILD.vcxproj" (1) is building "C:\Temp\zstd-1.5.6\build-cmake\lib\libzstd_shared.vcxproj" (3) on node 1 (default targets).
PrepareForBuild:
Creating directory "libzstd_shared.dir\Debug\".
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(544,5): warning MSB8029: The Intermediate directory or Output directory cannot reside under the Temporary directory as it could lead to issues with incremental build. [C:\Temp\zstd-1 .5.6\build-cmake\lib\libzstd_shared.vcxproj]
Creating directory "C:\Temp\zstd-1.5.6\build-cmake\lib\Debug\".
Creating directory "libzstd_shared.dir\Debug\libzstd_shared.tlog\".
InitializeBuildStatus:
Creating "libzstd_shared.dir\Debug\libzstd_shared.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
Building Custom Rule C:/Users/uilia/AppData/Local/Temp/zstd-1.5.6/build/cmake/lib/CMakeLists.txt
ClCompile:
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.33.31629\bin\HostX64\x64\CL.exe /c /I"C:\Temp\zstd-1.5.6\build-cmake\lib" /I"C:\Temp\zstd-1.5.6\build\cmake\lib" /Zi /W3 /WX- /diagnostics:column /MP /Od /Ob0 /D _WINDLL /D _UNICODE /D UNICO
DE /D WIN32 /D _WINDOWS /D _UNICODE /D UNICODE /D ZSTD_DISABLE_ASM /D ZSTD_MULTITHREAD /D ZSTD_DLL_EXPORT=1 /D ZSTD_HEAPMODE=0 /D _CONSOLE /D _CRT_SECURE_NO_WARNINGS /D XXH_NAMESPACE=ZSTD_ /D ZSTD_LEGACY_SUPPORT=5 /D "CMAKE_INTDIR=\"Debug\"" /D libzstd_shared_EXPORTS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc
:forScope /Zc:inline /Fo"libzstd_shared.dir\Debug\\" /Fd"libzstd_shared.dir\Debug\vc143.pdb" /external:W3 /Gd /TC /errorReport:queue "C:\Temp\zstd-1.5.6\lib\common\debug.c" "C:\Temp\zstd-1.5.6\lib\common\entropy_common.c" "C:\Temp\zstd-1
.5.6\lib\common\error_private.c" "C:\Temp\zstd-1.5.6\lib\common\fse_decompress.c" "C:\Temp\zstd-1.5.6\lib\common\pool.c" "C:\Temp\zstd-1.5.6\lib\common\threading.c" "C:\Temp\zstd-1.5.6\lib\common\xxhash.c" "C:\U
sers\uilia\AppData\Local\Temp\zstd-1.5.6\lib\common\zstd_common.c" "C:\Temp\zstd-1.5.6\lib\compress\fse_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\hist.c" "C:\Temp\zstd-1.5.6\lib\compress\huf_compress.c" "C:\Users\uilia\AppData\Local\T
emp\zstd-1.5.6\lib\compress\zstd_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_literals.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_sequences.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_superblock.c" "C:\Users\ui
lia\AppData\Local\Temp\zstd-1.5.6\lib\compress\zstd_double_fast.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_fast.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_lazy.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_ldm.c" "C:\Users\uilia\AppData\Local\Tem
p\zstd-1.5.6\lib\compress\zstd_opt.c" "C:\Temp\zstd-1.5.6\lib\compress\zstdmt_compress.c" "C:\Temp\zstd-1.5.6\lib\decompress\huf_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_ddict.c" "C:\Temp\zstd-1.5.6
\lib\decompress\zstd_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_decompress_block.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\cover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\divsufsort.c" "C:\Temp\zstd-1.5.6\l
ib\dictBuilder\fastcover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\zdict.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v01.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v02.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v03.c" "C:\Users
\uilia\AppData\Local\Temp\zstd-1.5.6\lib\legacy\zstd_v04.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v05.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v06.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v07.c"
Microsoft (R) C/C++ Optimizing Compiler Version 19.33.31630 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
cl /c /I"C:\Temp\zstd-1.5.6\build-cmake\lib" /I"C:\Temp\zstd-1.5.6\build\cmake\lib" /Zi /W3 /WX- /diagnostics:column /MP /Od /Ob0 /D _WINDLL /D _UNICODE /D UNICODE /D WIN32 /D _WINDOWS /D _UNICODE /D UNICODE /D ZSTD_DISABLE_ASM /D ZSTD_MULTITHREAD /D ZSTD_DLL_EXP
ORT=1 /D ZSTD_HEAPMODE=0 /D _CONSOLE /D _CRT_SECURE_NO_WARNINGS /D XXH_NAMESPACE=ZSTD_ /D ZSTD_LEGACY_SUPPORT=5 /D "CMAKE_INTDIR=\"Debug\"" /D libzstd_shared_EXPORTS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"libzstd_shared.dir\Debug\\" /Fd"libzstd_shared.dir\Debug\vc143.pdb" /external
:W3 /Gd /TC /errorReport:queue "C:\Temp\zstd-1.5.6\lib\common\debug.c" "C:\Temp\zstd-1.5.6\lib\common\entropy_common.c" "C:\Temp\zstd-1.5.6\lib\common\error_private.c" "C:\Temp\zstd-1.5.6\lib\common\fse_decompre
ss.c" "C:\Temp\zstd-1.5.6\lib\common\pool.c" "C:\Temp\zstd-1.5.6\lib\common\threading.c" "C:\Temp\zstd-1.5.6\lib\common\xxhash.c" "C:\Temp\zstd-1.5.6\lib\common\zstd_common.c" "C:\Temp\
zstd-1.5.6\lib\compress\fse_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\hist.c" "C:\Temp\zstd-1.5.6\lib\compress\huf_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress.c" "C:\Temp\zstd-1.5.6\lib\compres
s\zstd_compress_literals.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_sequences.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_superblock.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_double_fast.c" "C:\Temp\
zstd-1.5.6\lib\compress\zstd_fast.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_lazy.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_ldm.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_opt.c" "C:\Temp\zstd-1.5.6\lib\compress\zstdm
t_compress.c" "C:\Temp\zstd-1.5.6\lib\decompress\huf_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_ddict.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_d
ecompress_block.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\cover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\divsufsort.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\fastcover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\zdict.c" "C:
\Temp\zstd-1.5.6\lib\legacy\zstd_v01.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v02.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v03.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v04.c" "C:\Temp\zstd-1.
5.6\lib\legacy\zstd_v05.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v06.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v07.c"
cl /c /I"C:\Temp\zstd-1.5.6\build-cmake\lib" /I"C:\Temp\zstd-1.5.6\build\cmake\lib" /Zi /W3 /WX- /diagnostics:column /MP /Od /Ob0 /D _WINDLL /D _UNICODE /D UNICODE /D WIN32 /D _WINDOWS /D _UNICODE /D UNICODE /D ZSTD_DISABLE_ASM /D ZSTD_MULTITHREAD /D ZSTD_DLL_EXP
ORT=1 /D ZSTD_HEAPMODE=0 /D _CONSOLE /D _CRT_SECURE_NO_WARNINGS /D XXH_NAMESPACE=ZSTD_ /D ZSTD_LEGACY_SUPPORT=5 /D "CMAKE_INTDIR=\"Debug\"" /D libzstd_shared_EXPORTS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"libzstd_shared.dir\Debug\\" /Fd"libzstd_shared.dir\Debug\vc143.pdb" /external
:W3 /Gd /TC /errorReport:queue "C:\Temp\zstd-1.5.6\lib\common\debug.c" "C:\Temp\zstd-1.5.6\lib\common\entropy_common.c" "C:\Temp\zstd-1.5.6\lib\common\error_private.c" "C:\Temp\zstd-1.5.6\lib\common\fse_decompre
ss.c" "C:\Temp\zstd-1.5.6\lib\common\pool.c" "C:\Temp\zstd-1.5.6\lib\common\threading.c" "C:\Temp\zstd-1.5.6\lib\common\xxhash.c" "C:\Temp\zstd-1.5.6\lib\common\zstd_common.c" "C:\Temp\
zstd-1.5.6\lib\compress\fse_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\hist.c" "C:\Temp\zstd-1.5.6\lib\compress\huf_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress.c" "C:\Temp\zstd-1.5.6\lib\compres
s\zstd_compress_literals.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_sequences.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_superblock.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_double_fast.c" "C:\Temp\
zstd-1.5.6\lib\compress\zstd_fast.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_lazy.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_ldm.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_opt.c" "C:\Temp\zstd-1.5.6\lib\compress\zstdm
t_compress.c" "C:\Temp\zstd-1.5.6\lib\decompress\huf_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_ddict.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_d
ecompress_block.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\cover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\divsufsort.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\fastcover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\zdict.c" "C:
\Temp\zstd-1.5.6\lib\legacy\zstd_v01.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v02.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v03.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v04.c" "C:\Temp\zstd-1.
5.6\lib\legacy\zstd_v05.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v06.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v07.c"
cl /c /I"C:\Temp\zstd-1.5.6\build-cmake\lib" /I"C:\Temp\zstd-1.5.6\build\cmake\lib" /Zi /W3 /WX- /diagnostics:column /MP /Od /Ob0 /D _WINDLL /D _UNICODE /D UNICODE /D WIN32 /D _WINDOWS /D _UNICODE /D UNICODE /D ZSTD_DISABLE_ASM /D ZSTD_MULTITHREAD /D ZSTD_DLL_EXP
ORT=1 /D ZSTD_HEAPMODE=0 /D _CONSOLE /D _CRT_SECURE_NO_WARNINGS /D XXH_NAMESPACE=ZSTD_ /D ZSTD_LEGACY_SUPPORT=5 /D "CMAKE_INTDIR=\"Debug\"" /D libzstd_shared_EXPORTS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"libzstd_shared.dir\Debug\\" /Fd"libzstd_shared.dir\Debug\vc143.pdb" /external
:W3 /Gd /TC /errorReport:queue "C:\Temp\zstd-1.5.6\lib\common\debug.c" "C:\Temp\zstd-1.5.6\lib\common\entropy_common.c" "C:\Temp\zstd-1.5.6\lib\common\error_private.c" "C:\Temp\zstd-1.5.6\lib\common\fse_decompre
ss.c" "C:\Temp\zstd-1.5.6\lib\common\pool.c" "C:\Temp\zstd-1.5.6\lib\common\threading.c" "C:\Temp\zstd-1.5.6\lib\common\xxhash.c" "C:\Temp\zstd-1.5.6\lib\common\zstd_common.c" "C:\Temp\
zstd-1.5.6\lib\compress\fse_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\hist.c" "C:\Temp\zstd-1.5.6\lib\compress\huf_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress.c" "C:\Temp\zstd-1.5.6\lib\compres
s\zstd_compress_literals.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_sequences.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_superblock.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_double_fast.c" "C:\Temp\
zstd-1.5.6\lib\compress\zstd_fast.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_lazy.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_ldm.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_opt.c" "C:\Temp\zstd-1.5.6\lib\compress\zstdm
t_compress.c" "C:\Temp\zstd-1.5.6\lib\decompress\huf_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_ddict.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_d
ecompress_block.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\cover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\divsufsort.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\fastcover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\zdict.c" "C:
\Temp\zstd-1.5.6\lib\legacy\zstd_v01.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v02.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v03.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v04.c" "C:\Temp\zstd-1.
5.6\lib\legacy\zstd_v05.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v06.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v07.c"
debug.c
entropy_common.c
cl /c /I"C:\Temp\zstd-1.5.6\build-cmake\lib" /I"C:\Temp\zstd-1.5.6\build\cmake\lib" /Zi /W3 /WX- /diagnostics:column /MP /Od /Ob0 /D _WINDLL /D _UNICODE /D UNICODE /D WIN32 /D _WINDOWS /D _UNICODE /D UNICODE /D ZSTD_DISABLE_ASM /D ZSTD_MULTITHREAD /D ZSTD_DLL_EXP
ORT=1 /D ZSTD_HEAPMODE=0 /D _CONSOLE /D _CRT_SECURE_NO_WARNINGS /D XXH_NAMESPACE=ZSTD_ /D ZSTD_LEGACY_SUPPORT=5 /D "CMAKE_INTDIR=\"Debug\"" /D libzstd_shared_EXPORTS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"libzstd_shared.dir\Debug\\" /Fd"libzstd_shared.dir\Debug\vc143.pdb" /external
:W3 /Gd /TC /errorReport:queue "C:\Temp\zstd-1.5.6\lib\common\debug.c" "C:\Temp\zstd-1.5.6\lib\common\entropy_common.c" "C:\Temp\zstd-1.5.6\lib\common\error_private.c" "C:\Temp\zstd-1.5.6\lib\common\fse_decompre
ss.c" "C:\Temp\zstd-1.5.6\lib\common\pool.c" "C:\Temp\zstd-1.5.6\lib\common\threading.c" "C:\Temp\zstd-1.5.6\lib\common\xxhash.c" "C:\Temp\zstd-1.5.6\lib\common\zstd_common.c" "C:\Temp\
zstd-1.5.6\lib\compress\fse_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\hist.c" "C:\Temp\zstd-1.5.6\lib\compress\huf_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress.c" "C:\Temp\zstd-1.5.6\lib\compres
s\zstd_compress_literals.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_sequences.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_superblock.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_double_fast.c" "C:\Temp\
zstd-1.5.6\lib\compress\zstd_fast.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_lazy.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_ldm.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_opt.c" "C:\Temp\zstd-1.5.6\lib\compress\zstdm
t_compress.c" "C:\Temp\zstd-1.5.6\lib\decompress\huf_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_ddict.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_d
ecompress_block.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\cover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\divsufsort.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\fastcover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\zdict.c" "C:
\Temp\zstd-1.5.6\lib\legacy\zstd_v01.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v02.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v03.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v04.c" "C:\Temp\zstd-1.
5.6\lib\legacy\zstd_v05.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v06.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v07.c"
cl /c /I"C:\Temp\zstd-1.5.6\build-cmake\lib" /I"C:\Temp\zstd-1.5.6\build\cmake\lib" /Zi /W3 /WX- /diagnostics:column /MP /Od /Ob0 /D _WINDLL /D _UNICODE /D UNICODE /D WIN32 /D _WINDOWS /D _UNICODE /D UNICODE /D ZSTD_DISABLE_ASM /D ZSTD_MULTITHREAD /D ZSTD_DLL_EXP
ORT=1 /D ZSTD_HEAPMODE=0 /D _CONSOLE /D _CRT_SECURE_NO_WARNINGS /D XXH_NAMESPACE=ZSTD_ /D ZSTD_LEGACY_SUPPORT=5 /D "CMAKE_INTDIR=\"Debug\"" /D libzstd_shared_EXPORTS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"libzstd_shared.dir\Debug\\" /Fd"libzstd_shared.dir\Debug\vc143.pdb" /external
:W3 /Gd /TC /errorReport:queue "C:\Temp\zstd-1.5.6\lib\common\debug.c" "C:\Temp\zstd-1.5.6\lib\common\entropy_common.c" "C:\Temp\zstd-1.5.6\lib\common\error_private.c" "C:\Temp\zstd-1.5.6\lib\common\fse_decompre
ss.c" "C:\Temp\zstd-1.5.6\lib\common\pool.c" "C:\Temp\zstd-1.5.6\lib\common\threading.c" "C:\Temp\zstd-1.5.6\lib\common\xxhash.c" "C:\Temp\zstd-1.5.6\lib\common\zstd_common.c" "C:\Temp\
zstd-1.5.6\lib\compress\fse_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\hist.c" "C:\Temp\zstd-1.5.6\lib\compress\huf_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress.c" "C:\Temp\zstd-1.5.6\lib\compres
s\zstd_compress_literals.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_sequences.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_superblock.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_double_fast.c" "C:\Temp\
zstd-1.5.6\lib\compress\zstd_fast.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_lazy.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_ldm.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_opt.c" "C:\Temp\zstd-1.5.6\lib\compress\zstdm
t_compress.c" "C:\Temp\zstd-1.5.6\lib\decompress\huf_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_ddict.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_d
ecompress_block.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\cover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\divsufsort.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\fastcover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\zdict.c" "C:
\Temp\zstd-1.5.6\lib\legacy\zstd_v01.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v02.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v03.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v04.c" "C:\Temp\zstd-1.
5.6\lib\legacy\zstd_v05.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v06.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v07.c"
cl /c /I"C:\Temp\zstd-1.5.6\build-cmake\lib" /I"C:\Temp\zstd-1.5.6\build\cmake\lib" /Zi /W3 /WX- /diagnostics:column /MP /Od /Ob0 /D _WINDLL /D _UNICODE /D UNICODE /D WIN32 /D _WINDOWS /D _UNICODE /D UNICODE /D ZSTD_DISABLE_ASM /D ZSTD_MULTITHREAD /D ZSTD_DLL_EXP
ORT=1 /D ZSTD_HEAPMODE=0 /D _CONSOLE /D _CRT_SECURE_NO_WARNINGS /D XXH_NAMESPACE=ZSTD_ /D ZSTD_LEGACY_SUPPORT=5 /D "CMAKE_INTDIR=\"Debug\"" /D libzstd_shared_EXPORTS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"libzstd_shared.dir\Debug\\" /Fd"libzstd_shared.dir\Debug\vc143.pdb" /external
:W3 /Gd /TC /errorReport:queue "C:\Temp\zstd-1.5.6\lib\common\debug.c" "C:\Temp\zstd-1.5.6\lib\common\entropy_common.c" "C:\Temp\zstd-1.5.6\lib\common\error_private.c" "C:\Temp\zstd-1.5.6\lib\common\fse_decompre
ss.c" "C:\Temp\zstd-1.5.6\lib\common\pool.c" "C:\Temp\zstd-1.5.6\lib\common\threading.c" "C:\Temp\zstd-1.5.6\lib\common\xxhash.c" "C:\Temp\zstd-1.5.6\lib\common\zstd_common.c" "C:\Temp\
zstd-1.5.6\lib\compress\fse_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\hist.c" "C:\Temp\zstd-1.5.6\lib\compress\huf_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress.c" "C:\Temp\zstd-1.5.6\lib\compres
s\zstd_compress_literals.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_sequences.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_superblock.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_double_fast.c" "C:\Temp\
zstd-1.5.6\lib\compress\zstd_fast.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_lazy.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_ldm.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_opt.c" "C:\Temp\zstd-1.5.6\lib\compress\zstdm
t_compress.c" "C:\Temp\zstd-1.5.6\lib\decompress\huf_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_ddict.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_d
ecompress_block.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\cover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\divsufsort.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\fastcover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\zdict.c" "C:
\Temp\zstd-1.5.6\lib\legacy\zstd_v01.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v02.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v03.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v04.c" "C:\Temp\zstd-1.
5.6\lib\legacy\zstd_v05.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v06.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v07.c"
cl /c /I"C:\Temp\zstd-1.5.6\build-cmake\lib" /I"C:\Temp\zstd-1.5.6\build\cmake\lib" /Zi /W3 /WX- /diagnostics:column /MP /Od /Ob0 /D _WINDLL /D _UNICODE /D UNICODE /D WIN32 /D _WINDOWS /D _UNICODE /D UNICODE /D ZSTD_DISABLE_ASM /D ZSTD_MULTITHREAD /D ZSTD_DLL_EXP
ORT=1 /D ZSTD_HEAPMODE=0 /D _CONSOLE /D _CRT_SECURE_NO_WARNINGS /D XXH_NAMESPACE=ZSTD_ /D ZSTD_LEGACY_SUPPORT=5 /D "CMAKE_INTDIR=\"Debug\"" /D libzstd_shared_EXPORTS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"libzstd_shared.dir\Debug\\" /Fd"libzstd_shared.dir\Debug\vc143.pdb" /external
:W3 /Gd /TC /errorReport:queue "C:\Temp\zstd-1.5.6\lib\common\debug.c" "C:\Temp\zstd-1.5.6\lib\common\entropy_common.c" "C:\Temp\zstd-1.5.6\lib\common\error_private.c" "C:\Temp\zstd-1.5.6\lib\common\fse_decompre
ss.c" "C:\Temp\zstd-1.5.6\lib\common\pool.c" "C:\Temp\zstd-1.5.6\lib\common\threading.c" "C:\Temp\zstd-1.5.6\lib\common\xxhash.c" "C:\Temp\zstd-1.5.6\lib\common\zstd_common.c" "C:\Temp\
zstd-1.5.6\lib\compress\fse_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\hist.c" "C:\Temp\zstd-1.5.6\lib\compress\huf_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress.c" "C:\Temp\zstd-1.5.6\lib\compres
s\zstd_compress_literals.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_sequences.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_superblock.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_double_fast.c" "C:\Temp\
zstd-1.5.6\lib\compress\zstd_fast.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_lazy.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_ldm.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_opt.c" "C:\Temp\zstd-1.5.6\lib\compress\zstdm
t_compress.c" "C:\Temp\zstd-1.5.6\lib\decompress\huf_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_ddict.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_d
ecompress_block.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\cover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\divsufsort.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\fastcover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\zdict.c" "C:
\Temp\zstd-1.5.6\lib\legacy\zstd_v01.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v02.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v03.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v04.c" "C:\Temp\zstd-1.
5.6\lib\legacy\zstd_v05.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v06.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v07.c"
error_private.c
cl /c /I"C:\Temp\zstd-1.5.6\build-cmake\lib" /I"C:\Temp\zstd-1.5.6\build\cmake\lib" /Zi /W3 /WX- /diagnostics:column /MP /Od /Ob0 /D _WINDLL /D _UNICODE /D UNICODE /D WIN32 /D _WINDOWS /D _UNICODE /D UNICODE /D ZSTD_DISABLE_ASM /D ZSTD_MULTITHREAD /D ZSTD_DLL_EXP
ORT=1 /D ZSTD_HEAPMODE=0 /D _CONSOLE /D _CRT_SECURE_NO_WARNINGS /D XXH_NAMESPACE=ZSTD_ /D ZSTD_LEGACY_SUPPORT=5 /D "CMAKE_INTDIR=\"Debug\"" /D libzstd_shared_EXPORTS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"libzstd_shared.dir\Debug\\" /Fd"libzstd_shared.dir\Debug\vc143.pdb" /external
:W3 /Gd /TC /errorReport:queue "C:\Temp\zstd-1.5.6\lib\common\debug.c" "C:\Temp\zstd-1.5.6\lib\common\entropy_common.c" "C:\Temp\zstd-1.5.6\lib\common\error_private.c" "C:\Temp\zstd-1.5.6\lib\common\fse_decompre
ss.c" "C:\Temp\zstd-1.5.6\lib\common\pool.c" "C:\Temp\zstd-1.5.6\lib\common\threading.c" "C:\Temp\zstd-1.5.6\lib\common\xxhash.c" "C:\Temp\zstd-1.5.6\lib\common\zstd_common.c" "C:\Temp\
zstd-1.5.6\lib\compress\fse_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\hist.c" "C:\Temp\zstd-1.5.6\lib\compress\huf_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress.c" "C:\Temp\zstd-1.5.6\lib\compres
s\zstd_compress_literals.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_sequences.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_superblock.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_double_fast.c" "C:\Temp\
zstd-1.5.6\lib\compress\zstd_fast.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_lazy.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_ldm.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_opt.c" "C:\Temp\zstd-1.5.6\lib\compress\zstdm
t_compress.c" "C:\Temp\zstd-1.5.6\lib\decompress\huf_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_ddict.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_d
ecompress_block.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\cover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\divsufsort.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\fastcover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\zdict.c" "C:
\Temp\zstd-1.5.6\lib\legacy\zstd_v01.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v02.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v03.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v04.c" "C:\Temp\zstd-1.
5.6\lib\legacy\zstd_v05.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v06.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v07.c"
cl /c /I"C:\Temp\zstd-1.5.6\build-cmake\lib" /I"C:\Temp\zstd-1.5.6\build\cmake\lib" /Zi /W3 /WX- /diagnostics:column /MP /Od /Ob0 /D _WINDLL /D _UNICODE /D UNICODE /D WIN32 /D _WINDOWS /D _UNICODE /D UNICODE /D ZSTD_DISABLE_ASM /D ZSTD_MULTITHREAD /D ZSTD_DLL_EXP
ORT=1 /D ZSTD_HEAPMODE=0 /D _CONSOLE /D _CRT_SECURE_NO_WARNINGS /D XXH_NAMESPACE=ZSTD_ /D ZSTD_LEGACY_SUPPORT=5 /D "CMAKE_INTDIR=\"Debug\"" /D libzstd_shared_EXPORTS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"libzstd_shared.dir\Debug\\" /Fd"libzstd_shared.dir\Debug\vc143.pdb" /external
:W3 /Gd /TC /errorReport:queue "C:\Temp\zstd-1.5.6\lib\common\debug.c" "C:\Temp\zstd-1.5.6\lib\common\entropy_common.c" "C:\Temp\zstd-1.5.6\lib\common\error_private.c" "C:\Temp\zstd-1.5.6\lib\common\fse_decompre
ss.c" "C:\Temp\zstd-1.5.6\lib\common\pool.c" "C:\Temp\zstd-1.5.6\lib\common\threading.c" "C:\Temp\zstd-1.5.6\lib\common\xxhash.c" "C:\Temp\zstd-1.5.6\lib\common\zstd_common.c" "C:\Temp\
zstd-1.5.6\lib\compress\fse_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\hist.c" "C:\Temp\zstd-1.5.6\lib\compress\huf_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress.c" "C:\Temp\zstd-1.5.6\lib\compres
s\zstd_compress_literals.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_sequences.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_superblock.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_double_fast.c" "C:\Temp\
zstd-1.5.6\lib\compress\zstd_fast.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_lazy.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_ldm.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_opt.c" "C:\Temp\zstd-1.5.6\lib\compress\zstdm
t_compress.c" "C:\Temp\zstd-1.5.6\lib\decompress\huf_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_ddict.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_d
ecompress_block.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\cover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\divsufsort.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\fastcover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\zdict.c" "C:
\Temp\zstd-1.5.6\lib\legacy\zstd_v01.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v02.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v03.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v04.c" "C:\Temp\zstd-1.
5.6\lib\legacy\zstd_v05.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v06.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v07.c"
cl /c /I"C:\Temp\zstd-1.5.6\build-cmake\lib" /I"C:\Temp\zstd-1.5.6\build\cmake\lib" /Zi /W3 /WX- /diagnostics:column /MP /Od /Ob0 /D _WINDLL /D _UNICODE /D UNICODE /D WIN32 /D _WINDOWS /D _UNICODE /D UNICODE /D ZSTD_DISABLE_ASM /D ZSTD_MULTITHREAD /D ZSTD_DLL_EXP
ORT=1 /D ZSTD_HEAPMODE=0 /D _CONSOLE /D _CRT_SECURE_NO_WARNINGS /D XXH_NAMESPACE=ZSTD_ /D ZSTD_LEGACY_SUPPORT=5 /D "CMAKE_INTDIR=\"Debug\"" /D libzstd_shared_EXPORTS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"libzstd_shared.dir\Debug\\" /Fd"libzstd_shared.dir\Debug\vc143.pdb" /external
:W3 /Gd /TC /errorReport:queue "C:\Temp\zstd-1.5.6\lib\common\debug.c" "C:\Temp\zstd-1.5.6\lib\common\entropy_common.c" "C:\Temp\zstd-1.5.6\lib\common\error_private.c" "C:\Temp\zstd-1.5.6\lib\common\fse_decompre
ss.c" "C:\Temp\zstd-1.5.6\lib\common\pool.c" "C:\Temp\zstd-1.5.6\lib\common\threading.c" "C:\Temp\zstd-1.5.6\lib\common\xxhash.c" "C:\Temp\zstd-1.5.6\lib\common\zstd_common.c" "C:\Temp\
zstd-1.5.6\lib\compress\fse_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\hist.c" "C:\Temp\zstd-1.5.6\lib\compress\huf_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress.c" "C:\Temp\zstd-1.5.6\lib\compres
s\zstd_compress_literals.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_sequences.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_superblock.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_double_fast.c" "C:\Temp\
zstd-1.5.6\lib\compress\zstd_fast.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_lazy.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_ldm.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_opt.c" "C:\Temp\zstd-1.5.6\lib\compress\zstdm
t_compress.c" "C:\Temp\zstd-1.5.6\lib\decompress\huf_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_ddict.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_d
ecompress_block.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\cover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\divsufsort.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\fastcover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\zdict.c" "C:
\Temp\zstd-1.5.6\lib\legacy\zstd_v01.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v02.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v03.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v04.c" "C:\Temp\zstd-1.
5.6\lib\legacy\zstd_v05.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v06.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v07.c"
cl /c /I"C:\Temp\zstd-1.5.6\build-cmake\lib" /I"C:\Temp\zstd-1.5.6\build\cmake\lib" /Zi /W3 /WX- /diagnostics:column /MP /Od /Ob0 /D _WINDLL /D _UNICODE /D UNICODE /D WIN32 /D _WINDOWS /D _UNICODE /D UNICODE /D ZSTD_DISABLE_ASM /D ZSTD_MULTITHREAD /D ZSTD_DLL_EXP
ORT=1 /D ZSTD_HEAPMODE=0 /D _CONSOLE /D _CRT_SECURE_NO_WARNINGS /D XXH_NAMESPACE=ZSTD_ /D ZSTD_LEGACY_SUPPORT=5 /D "CMAKE_INTDIR=\"Debug\"" /D libzstd_shared_EXPORTS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"libzstd_shared.dir\Debug\\" /Fd"libzstd_shared.dir\Debug\vc143.pdb" /external
:W3 /Gd /TC /errorReport:queue "C:\Temp\zstd-1.5.6\lib\common\debug.c" "C:\Temp\zstd-1.5.6\lib\common\entropy_common.c" "C:\Temp\zstd-1.5.6\lib\common\error_private.c" "C:\Temp\zstd-1.5.6\lib\common\fse_decompre
ss.c" "C:\Temp\zstd-1.5.6\lib\common\pool.c" "C:\Temp\zstd-1.5.6\lib\common\threading.c" "C:\Temp\zstd-1.5.6\lib\common\xxhash.c" "C:\Temp\zstd-1.5.6\lib\common\zstd_common.c" "C:\Temp\
zstd-1.5.6\lib\compress\fse_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\hist.c" "C:\Temp\zstd-1.5.6\lib\compress\huf_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress.c" "C:\Temp\zstd-1.5.6\lib\compres
s\zstd_compress_literals.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_sequences.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_superblock.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_double_fast.c" "C:\Temp\
zstd-1.5.6\lib\compress\zstd_fast.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_lazy.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_ldm.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_opt.c" "C:\Temp\zstd-1.5.6\lib\compress\zstdm
t_compress.c" "C:\Temp\zstd-1.5.6\lib\decompress\huf_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_ddict.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_d
ecompress_block.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\cover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\divsufsort.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\fastcover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\zdict.c" "C:
\Temp\zstd-1.5.6\lib\legacy\zstd_v01.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v02.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v03.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v04.c" "C:\Temp\zstd-1.
5.6\lib\legacy\zstd_v05.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v06.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v07.c"
cl /c /I"C:\Temp\zstd-1.5.6\build-cmake\lib" /I"C:\Temp\zstd-1.5.6\build\cmake\lib" /Zi /W3 /WX- /diagnostics:column /MP /Od /Ob0 /D _WINDLL /D _UNICODE /D UNICODE /D WIN32 /D _WINDOWS /D _UNICODE /D UNICODE /D ZSTD_DISABLE_ASM /D ZSTD_MULTITHREAD /D ZSTD_DLL_EXP
ORT=1 /D ZSTD_HEAPMODE=0 /D _CONSOLE /D _CRT_SECURE_NO_WARNINGS /D XXH_NAMESPACE=ZSTD_ /D ZSTD_LEGACY_SUPPORT=5 /D "CMAKE_INTDIR=\"Debug\"" /D libzstd_shared_EXPORTS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"libzstd_shared.dir\Debug\\" /Fd"libzstd_shared.dir\Debug\vc143.pdb" /external
:W3 /Gd /TC /errorReport:queue "C:\Temp\zstd-1.5.6\lib\common\debug.c" "C:\Temp\zstd-1.5.6\lib\common\entropy_common.c" "C:\Temp\zstd-1.5.6\lib\common\error_private.c" "C:\Temp\zstd-1.5.6\lib\common\fse_decompre
ss.c" "C:\Temp\zstd-1.5.6\lib\common\pool.c" "C:\Temp\zstd-1.5.6\lib\common\threading.c" "C:\Temp\zstd-1.5.6\lib\common\xxhash.c" "C:\Temp\zstd-1.5.6\lib\common\zstd_common.c" "C:\Temp\
zstd-1.5.6\lib\compress\fse_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\hist.c" "C:\Temp\zstd-1.5.6\lib\compress\huf_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress.c" "C:\Temp\zstd-1.5.6\lib\compres
s\zstd_compress_literals.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_sequences.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_superblock.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_double_fast.c" "C:\Temp\
zstd-1.5.6\lib\compress\zstd_fast.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_lazy.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_ldm.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_opt.c" "C:\Temp\zstd-1.5.6\lib\compress\zstdm
t_compress.c" "C:\Temp\zstd-1.5.6\lib\decompress\huf_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_ddict.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_d
ecompress_block.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\cover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\divsufsort.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\fastcover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\zdict.c" "C:
\Temp\zstd-1.5.6\lib\legacy\zstd_v01.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v02.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v03.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v04.c" "C:\Temp\zstd-1.
5.6\lib\legacy\zstd_v05.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v06.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v07.c"
fse_decompress.c
pool.c
threading.c
xxhash.c
zstd_common.c
fse_compress.c
cl /c /I"C:\Temp\zstd-1.5.6\build-cmake\lib" /I"C:\Temp\zstd-1.5.6\build\cmake\lib" /Zi /W3 /WX- /diagnostics:column /MP /Od /Ob0 /D _WINDLL /D _UNICODE /D UNICODE /D WIN32 /D _WINDOWS /D _UNICODE /D UNICODE /D ZSTD_DISABLE_ASM /D ZSTD_MULTITHREAD /D ZSTD_DLL_EXP
ORT=1 /D ZSTD_HEAPMODE=0 /D _CONSOLE /D _CRT_SECURE_NO_WARNINGS /D XXH_NAMESPACE=ZSTD_ /D ZSTD_LEGACY_SUPPORT=5 /D "CMAKE_INTDIR=\"Debug\"" /D libzstd_shared_EXPORTS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"libzstd_shared.dir\Debug\\" /Fd"libzstd_shared.dir\Debug\vc143.pdb" /external
:W3 /Gd /TC /errorReport:queue "C:\Temp\zstd-1.5.6\lib\common\debug.c" "C:\Temp\zstd-1.5.6\lib\common\entropy_common.c" "C:\Temp\zstd-1.5.6\lib\common\error_private.c" "C:\Temp\zstd-1.5.6\lib\common\fse_decompre
ss.c" "C:\Temp\zstd-1.5.6\lib\common\pool.c" "C:\Temp\zstd-1.5.6\lib\common\threading.c" "C:\Temp\zstd-1.5.6\lib\common\xxhash.c" "C:\Temp\zstd-1.5.6\lib\common\zstd_common.c" "C:\Temp\
zstd-1.5.6\lib\compress\fse_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\hist.c" "C:\Temp\zstd-1.5.6\lib\compress\huf_compress.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress.c" "C:\Temp\zstd-1.5.6\lib\compres
s\zstd_compress_literals.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_sequences.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_compress_superblock.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_double_fast.c" "C:\Temp\
zstd-1.5.6\lib\compress\zstd_fast.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_lazy.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_ldm.c" "C:\Temp\zstd-1.5.6\lib\compress\zstd_opt.c" "C:\Temp\zstd-1.5.6\lib\compress\zstdm
t_compress.c" "C:\Temp\zstd-1.5.6\lib\decompress\huf_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_ddict.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_decompress.c" "C:\Temp\zstd-1.5.6\lib\decompress\zstd_d
ecompress_block.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\cover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\divsufsort.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\fastcover.c" "C:\Temp\zstd-1.5.6\lib\dictBuilder\zdict.c" "C:
\Temp\zstd-1.5.6\lib\legacy\zstd_v01.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v02.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v03.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v04.c" "C:\Temp\zstd-1.
5.6\lib\legacy\zstd_v05.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v06.c" "C:\Temp\zstd-1.5.6\lib\legacy\zstd_v07.c"
hist.c
huf_compress.c
zstd_compress.c
zstd_compress_literals.c
zstd_compress_sequences.c
zstd_compress_superblock.c
zstd_double_fast.c
zstd_fast.c
zstd_lazy.c
zstd_ldm.c
zstd_opt.c
zstdmt_compress.c
huf_decompress.c
zstd_ddict.c
zstd_decompress.c
zstd_decompress_block.c
cover.c
divsufsort.c
fastcover.c
zdict.c
zstd_v01.c
zstd_v02.c
zstd_v03.c
zstd_v04.c
zstd_v05.c
zstd_v06.c
zstd_v07.c
ResourceCompile:
C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x64\rc.exe /D _UNICODE /D UNICODE /D WIN32 /D _DEBUG /D _WINDOWS /D _UNICODE /D UNICODE /D ZSTD_DISABLE_ASM /D ZSTD_MULTITHREAD /D ZSTD_DLL_EXPORT=1 /D ZSTD_HEAPMODE=0 /D _CONSOLE /D _CRT_SECURE_NO_WARNINGS /D XXH_NAMESPACE=ZSTD_ /D ZSTD_LEGACY_SUPPORT=5 /D "
CMAKE_INTDIR=\\\"Debug\\\"" /D libzstd_shared_EXPORTS /l"0x0409" /I"C:\Temp\zstd-1.5.6\build-cmake\lib" /I"C:\Temp\zstd-1.5.6\build\cmake\lib" /nologo /fo"libzstd_shared.dir\Debug\libzstd-dll.res" "C:\Temp\zstd-1.5.6\build\VS2010\libzstd
-dll\libzstd-dll.rc"
C:\Temp\zstd-1.5.6\build\VS2010\libzstd-dll\libzstd-dll.rc(4): fatal error RC1015: cannot open include file 'zstd.h'. [C:\Temp\zstd-1.5.6\build-cmake\lib\libzstd_shared.vcxproj]
Done Building Project "C:\Temp\zstd-1.5.6\build-cmake\lib\libzstd_shared.vcxproj" (default targets) -- FAILED.
Done Building Project "C:\Temp\zstd-1.5.6\build-cmake\ALL_BUILD.vcxproj" (default targets) -- FAILED.
Build FAILED.
"C:\Temp\zstd-1.5.6\build-cmake\ALL_BUILD.vcxproj" (default target) (1) ->
"C:\Temp\zstd-1.5.6\build-cmake\ZERO_CHECK.vcxproj" (default target) (2) ->
(PrepareForBuild target) ->
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(544,5): warning MSB8029: The Intermediate directory or Output directory cannot reside under the Temporary directory as it could lead to issues with incremental build. [C:\Temp\zstd -1.5.6\build-cmake\ZERO_CHECK.vcxproj]
"C:\Temp\zstd-1.5.6\build-cmake\ALL_BUILD.vcxproj" (default target) (1) ->
"C:\Temp\zstd-1.5.6\build-cmake\lib\libzstd_shared.vcxproj" (default target) (3) ->
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(544,5): warning MSB8029: The Intermediate directory or Output directory cannot reside under the Temporary directory as it could lead to issues with incremental build. [C:\Temp\zstd -1.5.6\build-cmake\lib\libzstd_shared.vcxproj]
"C:\Temp\zstd-1.5.6\build-cmake\ALL_BUILD.vcxproj" (default target) (1) ->
"C:\Temp\zstd-1.5.6\build-cmake\lib\libzstd_shared.vcxproj" (default target) (3) ->
(ResourceCompile target) ->
C:\Temp\zstd-1.5.6\build\VS2010\libzstd-dll\libzstd-dll.rc(4): fatal error RC1015: cannot open include file 'zstd.h'. [C:\Temp\zstd-1.5.6\build-cmake\lib\libzstd_shared.vcxproj]
2 Warning(s)
1 Error(s)
Time Elapsed 00:00:01.51
Hi @uilianries!
Thank you for your pull request and welcome to our community.
Action Required
In order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you.
Process
In order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.
Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with CLA signed. The tagging process may take up to 1 hour after signing. Please give it that time before contacting us about it.
If you have received this in error or have any questions, please contact us at [email protected]. Thanks!
Hi @uilianries!
Thank you for your pull request and welcome to our community.
Action Required
In order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you.
Process
In order for us to review and merge your suggested changes, please sign at code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.
Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with
CLA signed. The tagging process may take up to 1 hour after signing. Please give it that time before contacting us about it.If you have received this in error or have any questions, please contact us at [email protected]. Thanks!
Done, CLA has been signed.
Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Meta Open Source project. Thanks!
@uilianries Zstd should not require the public include directory to build, because it uses relative includes. Is this a deficiency in the Windows cmake build, or have I misunderstood something about cmake?
I'm happy to accept the PR, I would just like to understand why this is happening first
@terrelln Sorry my delay. When building shared on Windows, in order to generate the DLL, the file libzstd-dll.rc will be consumed here: https://github.com/facebook/zstd/blob/72c16b187d27016b7634f5c6b7290e7c66ba44b3/build/cmake/lib/CMakeLists.txt#L125
Then, it requires zstd.h (the public header) too: https://github.com/facebook/zstd/blob/72c16b187d27016b7634f5c6b7290e7c66ba44b3/build/VS2010/libzstd-dll/libzstd-dll.rc#L4
However, properties marked as interface are only visible to the consumers of the target, not to the target itself. The result is follow error, because that folder is not visible when building the shared library on Windows.
Another option would be adding an expression to use PUBLIC or INTERFACE according to MSVC value, but I guess is too much.
Then, it requires zstd.h (the public header) too:
Thanks! I didn't even realize that that file existed! We've switched all of our other headers over to relative includes. Would it be possible to use a relative include for that file as well?
But this makes sense, and I will merge this PR. Could you please just add a comment explaining why it needs to be PUBLIC for Windows, so we don't accidentally remove it again in the future.
@terrelln I just updated the PR description with more details. Please, take a look.
About the relative include, do you mean changing the libzstd-dll.rc to include zstd.h from a relative path, like:
#include "../../../lib/zstd.h" /* ZSTD_VERSION_STRING */
It would work yes, it tested locally on Windows + CMake and compiled the DLL without errors. But is really fragile, as any layout change in the folder would break it. Plus, I see not only CMake is consuming the .rc file, but also Meson and VS2010, so would need to build with them too to make sure.
There is also #4019.
I did run into the same issue. The PR worked for me. Thanks!
https://github.com/facebook/zstd/pull/4019 was merged, so this PR might be obsolete.
Closing in favor of #4019