❯ git clone [email protected]:google/brotli.git
Cloning into 'brotli'...
remote: Enumerating objects: 7589, done.
remote: Counting objects: 100% (1516/1516), done.
remote: Compressing objects: 100% (345/345), done.
remote: Total 7589 (delta 1278), reused 1176 (delta 1171), pack-reused 6073 (from 1)
Receiving objects: 100% (7589/7589), 36.48 MiB | 13.14 MiB/s, done.
Resolving deltas: 100% (4991/4991), done.
❯ z brotli
brotli master ✓
❯ cmake -DCMAKE_BUILD_TYPE=Release -B out && cmake --build out --config Release --target install -j1
-- Building for: Ninja
-- The C compiler identification is MSVC 19.41.34120.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/Tools/MSVC/14.41.34120/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Build type is 'Release'
-- Performing Test BROTLI_EMSCRIPTEN
-- Performing Test BROTLI_EMSCRIPTEN - Failed
-- Compiler is not EMSCRIPTEN
-- Looking for log2 in m
-- Looking for log2 in m - not found
-- Configuring done (4.2s)
-- Generating done (0.1s)
-- Build files have been written to: .../woff2/brotli/out
[36/37] Install the project...-- Install configuration: "Release"
-- Installing: C:/Program Files (x86)/brotli/bin/brotli.exe
-- Installing: C:/Program Files (x86)/brotli/lib/brotlienc.lib
-- Installing: C:/Program Files (x86)/brotli/bin/brotlienc.dll
-- Installing: C:/Program Files (x86)/brotli/lib/brotlidec.lib
-- Installing: C:/Program Files (x86)/brotli/bin/brotlidec.dll
-- Installing: C:/Program Files (x86)/brotli/lib/brotlicommon.lib
-- Installing: C:/Program Files (x86)/brotli/bin/brotlicommon.dll
-- Installing: C:/Program Files (x86)/brotli/include/brotli
-- Installing: C:/Program Files (x86)/brotli/include/brotli/decode.h
-- Installing: C:/Program Files (x86)/brotli/include/brotli/encode.h
-- Installing: C:/Program Files (x86)/brotli/include/brotli/port.h
-- Installing: C:/Program Files (x86)/brotli/include/brotli/shared_dictionary.h
-- Installing: C:/Program Files (x86)/brotli/include/brotli/types.h
-- Installing: C:/Program Files (x86)/brotli/lib/pkgconfig/libbrotlicommon.pc
-- Installing: C:/Program Files (x86)/brotli/lib/pkgconfig/libbrotlidec.pc
-- Installing: C:/Program Files (x86)/brotli/lib/pkgconfig/libbrotlienc.pc
-- Installing: C:/Program Files (x86)/brotli/share/man/man1/brotli.1
-- Installing: C:/Program Files (x86)/brotli/share/man/man3/constants.h.3
-- Installing: C:/Program Files (x86)/brotli/share/man/man3/decode.h.3
-- Installing: C:/Program Files (x86)/brotli/share/man/man3/encode.h.3
-- Installing: C:/Program Files (x86)/brotli/share/man/man3/types.h.3
❯ git clone [email protected]:google/woff2.git
Cloning into 'woff2'...
remote: Enumerating objects: 1150, done.
remote: Counting objects: 100% (24/24), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 1150 (delta 2), reused 20 (delta 0), pack-reused 1126 (from 1)
Receiving objects: 100% (1150/1150), 3.48 MiB | 5.82 MiB/s, done.
Resolving deltas: 100% (680/680), done.
❯ z woff2
woff2 master ✓ ⇢1
❯ git submodule sync; git submodule deinit -f .; git submodule update --init --recursive
Cleared directory 'brotli'
error: could not lock config file .git/modules/brotli/config: No such file or directory
warning: Could not unset core.worktree setting in submodule 'brotli'
Submodule 'brotli' (https://github.com/google/brotli.git) registered for path 'brotli'
Cloning into '.../woff2/brotli'...
Submodule path 'brotli': checked out '533843e3546cd24c8344eaa899c6b0b681c8d222'
Submodule 'research/esaxx' (https://github.com/hillbig/esaxx) registered for path 'brotli/research/esaxx'
Submodule 'research/libdivsufsort' (https://github.com/y-256/libdivsufsort.git) registered for path 'brotli/research/libdivsufsort'
Cloning into '.../woff2/brotli/research/esaxx'...
Cloning into '.../woff2/brotli/research/libdivsufsort'...
Submodule path 'brotli/research/esaxx': checked out 'ca7cb332011ec37a8436487f210f396b84bd8273'
Submodule path 'brotli/research/libdivsufsort': checked out '5f60d6f026c30fb4ac296f696b3c8b0eb71bd428'
woff2 master ✓8s
❯ $env:BROTLIDEC_INCLUDE_DIRS='C:\Program Files (x86)\brotli\include'
woff2 master ✓
❯ $env:BROTLIDEC_LIBRARIES='C:\Program Files (x86)\brotli\lib'
woff2 master ✓
❯ $env:CMAKE_PREFIX_PATH+=';C:\Program Files (x86)\brotli'
woff2 master ✓
❯ cmake -B build
CMake Deprecation Warning at CMakeLists.txt:10 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
-- Found BrotliEnc: C:/Program Files (x86)/brotli/include (found version "")
-- Configuring done (0.9s)
CMake Warning at CMakeLists.txt:80 (target_link_libraries):
Target "woff2dec" requests linking to directory "C:/Program Files
(x86)/brotli/lib". Targets may link only to libraries. CMake is dropping
the item.
CMake Warning at CMakeLists.txt:80 (target_link_libraries):
Target "woff2_decompress" requests linking to directory "C:/Program Files
(x86)/brotli/lib". Targets may link only to libraries. CMake is dropping
the item.
CMake Warning at CMakeLists.txt:80 (target_link_libraries):
Target "convert_woff2ttf_fuzzer" requests linking to directory "C:/Program
Files (x86)/brotli/lib". Targets may link only to libraries. CMake is
dropping the item.
CMake Warning at CMakeLists.txt:80 (target_link_libraries):
Target "convert_woff2ttf_fuzzer_new_entry" requests linking to directory
"C:/Program Files (x86)/brotli/lib". Targets may link only to libraries.
CMake is dropping the item.
-- Generating done (0.0s)
-- Build files have been written to: .../woff2/build
woff2 master ✓
❯ cmake --build build
[1/23] Building CXX object CMakeFiles\woff2enc.dir\src\woff2_enc.cc.obj
FAILED: CMakeFiles/woff2enc.dir/src/woff2_enc.cc.obj
sccache C:\PROGRA~2\MICROS~4\2022\BUILDT~1\VC\Tools\MSVC\1441~1.341\bin\Hostx64\x64\cl.exe /nologo /TP -DFONT_COMPRESSION_BIN -D__STDC_FORMAT_MACROS -Dwoff2enc_EXPORTS -I...\woff2\src -I...\woff2\include -I"C:\Program Files (x86)\brotli\include" /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 -no-canonical-prefixes /showIncludes /FoCMakeFiles\woff2enc.dir\src\woff2_enc.cc.obj /FdCMakeFiles\woff2enc.dir\ /FS -c ...\woff2\src\woff2_enc.cc
...\woff2\src\woff2_enc.cc: fatal error C1041: cannot open program database '...\woff2\build\CMakeFiles\woff2enc.dir\vc140.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[2/23] Building CXX object CMakeFiles\woff2enc.dir\src\normalize.cc.obj
FAILED: CMakeFiles/woff2enc.dir/src/normalize.cc.obj
sccache C:\PROGRA~2\MICROS~4\2022\BUILDT~1\VC\Tools\MSVC\1441~1.341\bin\Hostx64\x64\cl.exe /nologo /TP -DFONT_COMPRESSION_BIN -D__STDC_FORMAT_MACROS -Dwoff2enc_EXPORTS -I...\woff2\src -I...\woff2\include -I"C:\Program Files (x86)\brotli\include" /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 -no-canonical-prefixes /showIncludes /FoCMakeFiles\woff2enc.dir\src\normalize.cc.obj /FdCMakeFiles\woff2enc.dir\ /FS -c ...\woff2\src\normalize.cc
...\woff2\src\normalize.cc: fatal error C1041: cannot open program database '...\woff2\build\CMakeFiles\woff2enc.dir\vc140.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[3/23] Building CXX object CMakeFiles\woff2common.dir\src\variable_length.cc.obj
FAILED: CMakeFiles/woff2common.dir/src/variable_length.cc.obj
sccache C:\PROGRA~2\MICROS~4\2022\BUILDT~1\VC\Tools\MSVC\1441~1.341\bin\Hostx64\x64\cl.exe /nologo /TP -DFONT_COMPRESSION_BIN -D__STDC_FORMAT_MACROS -Dwoff2common_EXPORTS -I...\woff2\src -I...\woff2\include -I"C:\Program Files (x86)\brotli\include" /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 -no-canonical-prefixes /showIncludes /FoCMakeFiles\woff2common.dir\src\variable_length.cc.obj /FdCMakeFiles\woff2common.dir\ /FS -c ...\woff2\src\variable_length.cc
...\woff2\src\variable_length.cc: fatal error C1041: cannot open program database '...\woff2\build\CMakeFiles\woff2common.dir\vc140.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[4/23] Building CXX object CMakeFiles\woff2common.dir\src\table_tags.cc.obj
FAILED: CMakeFiles/woff2common.dir/src/table_tags.cc.obj
sccache C:\PROGRA~2\MICROS~4\2022\BUILDT~1\VC\Tools\MSVC\1441~1.341\bin\Hostx64\x64\cl.exe /nologo /TP -DFONT_COMPRESSION_BIN -D__STDC_FORMAT_MACROS -Dwoff2common_EXPORTS -I...\woff2\src -I...\woff2\include -I"C:\Program Files (x86)\brotli\include" /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 -no-canonical-prefixes /showIncludes /FoCMakeFiles\woff2common.dir\src\table_tags.cc.obj /FdCMakeFiles\woff2common.dir\ /FS -c ...\woff2\src\table_tags.cc
...\woff2\src\table_tags.cc: fatal error C1041: cannot open program database '...\woff2\build\CMakeFiles\woff2common.dir\vc140.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[5/23] Building CXX object CMakeFiles\woff2dec.dir\src\woff2_dec.cc.obj
FAILED: CMakeFiles/woff2dec.dir/src/woff2_dec.cc.obj
sccache C:\PROGRA~2\MICROS~4\2022\BUILDT~1\VC\Tools\MSVC\1441~1.341\bin\Hostx64\x64\cl.exe /nologo /TP -DFONT_COMPRESSION_BIN -D__STDC_FORMAT_MACROS -Dwoff2dec_EXPORTS -I...\woff2\src -I...\woff2\include -I"C:\Program Files (x86)\brotli\include" /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 -no-canonical-prefixes /showIncludes /FoCMakeFiles\woff2dec.dir\src\woff2_dec.cc.obj /FdCMakeFiles\woff2dec.dir\ /FS -c ...\woff2\src\woff2_dec.cc
...\woff2\src\woff2_dec.cc: fatal error C1041: cannot open program database '...\woff2\build\CMakeFiles\woff2dec.dir\vc140.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[6/23] Building CXX object CMakeFiles\woff2enc.dir\src\transform.cc.obj
FAILED: CMakeFiles/woff2enc.dir/src/transform.cc.obj
sccache C:\PROGRA~2\MICROS~4\2022\BUILDT~1\VC\Tools\MSVC\1441~1.341\bin\Hostx64\x64\cl.exe /nologo /TP -DFONT_COMPRESSION_BIN -D__STDC_FORMAT_MACROS -Dwoff2enc_EXPORTS -I...\woff2\src -I...\woff2\include -I"C:\Program Files (x86)\brotli\include" /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 -no-canonical-prefixes /showIncludes /FoCMakeFiles\woff2enc.dir\src\transform.cc.obj /FdCMakeFiles\woff2enc.dir\ /FS -c ...\woff2\src\transform.cc
...\woff2\src\transform.cc: fatal error C1041: cannot open program database '...\woff2\build\CMakeFiles\woff2enc.dir\vc140.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[7/23] Building CXX object CMakeFiles\woff2enc.dir\src\font.cc.obj
FAILED: CMakeFiles/woff2enc.dir/src/font.cc.obj
sccache C:\PROGRA~2\MICROS~4\2022\BUILDT~1\VC\Tools\MSVC\1441~1.341\bin\Hostx64\x64\cl.exe /nologo /TP -DFONT_COMPRESSION_BIN -D__STDC_FORMAT_MACROS -Dwoff2enc_EXPORTS -I...\woff2\src -I...\woff2\include -I"C:\Program Files (x86)\brotli\include" /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 -no-canonical-prefixes /showIncludes /FoCMakeFiles\woff2enc.dir\src\font.cc.obj /FdCMakeFiles\woff2enc.dir\ /FS -c ...\woff2\src\font.cc
...\woff2\src\font.cc: fatal error C1041: cannot open program database '...\woff2\build\CMakeFiles\woff2enc.dir\vc140.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[8/23] Building CXX object CMakeFiles\woff2common.dir\src\woff2_common.cc.obj
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[9/23] Building CXX object CMakeFiles\woff2enc.dir\src\glyph.cc.obj
...\woff2\src\glyph.cc(62): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\glyph.cc(235): warning C4267: '+=': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\glyph.cc(369): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[10/23] Building CXX object CMakeFiles\convert_woff2ttf_f...ew_entry.dir\src\convert_woff2ttf_fuzzer_new_entry.cc.obj
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[11/23] Building CXX object CMakeFiles\convert_woff2ttf_fuzzer.dir\src\convert_woff2ttf_fuzzer.cc.obj
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[12/23] Building CXX object CMakeFiles\woff2dec.dir\src\woff2_out.cc.obj
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[13/23] Building CXX object CMakeFiles\woff2_compress.dir\src\woff2_compress.cc.obj
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[14/23] Building CXX object CMakeFiles\woff2_decompress.dir\src\woff2_decompress.cc.obj
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[15/23] Building CXX object CMakeFiles\woff2_info.dir\src\woff2_info.cc.obj
...\woff2\src\woff2_info.cc(123): warning C4018: '<': signed/unsigned mismatch
...\woff2\src\woff2_info.cc(129): warning C4018: '<': signed/unsigned mismatch
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
ninja: build stopped: subcommand failed.
woff2 master ✓3s
❯ cmake --build build -j1
[1/15] Building CXX object CMakeFiles\woff2common.dir\src\table_tags.cc.obj
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[2/15] Building CXX object CMakeFiles\woff2common.dir\src\variable_length.cc.obj
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[4/15] Building CXX object CMakeFiles\woff2dec.dir\src\woff2_dec.cc.obj
...\woff2\src\woff2_dec.cc(280): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\woff2_dec.cc(289): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\woff2_dec.cc(368): warning C4267: 'initializing': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(645): warning C4267: '=': conversion from 'size_t' to '_Ty', possible loss of data
with
[
_Ty=uint32_t
]
...\woff2\src\woff2_dec.cc(667): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(668): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(675): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(886): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(887): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(888): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(889): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(898): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(995): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(1004): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(1015): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(1222): warning C4477: 'fprintf' : format string '%lu' requires an argument of type 'unsigned long', but variadic argument 2 has type 'size_t'
...\woff2\src\woff2_dec.cc(1222): note: consider using '%zu' in the format string
...\woff2\src\woff2_dec.cc(1286): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(1305): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(1308): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(1310): warning C4267: 'argument': conversion from 'size_t' to 'uint16_t', possible loss of data
...\woff2\src\woff2_dec.cc(1314): warning C4267: '=': conversion from 'size_t' to 'unsigned int', possible loss of data
...\woff2\src\woff2_dec.cc(1315): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(1325): warning C4267: '=': conversion from 'size_t' to 'unsigned int', possible loss of data
...\woff2\src\woff2_dec.cc(1326): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[5/15] Building CXX object CMakeFiles\woff2enc.dir\src\font.cc.obj
...\woff2\src\font.cc(296): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\font.cc(313): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\font.cc(330): warning C4018: '<': signed/unsigned mismatch
...\woff2\src\font.cc(370): warning C4018: '>': signed/unsigned mismatch
...\woff2\src\font.cc(395): warning C4267: '=': conversion from 'size_t' to 'uint16_t', possible loss of data
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[6/15] Building CXX object CMakeFiles\woff2enc.dir\src\normalize.cc.obj
...\woff2\src\normalize.cc(71): warning C4267: '+=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\normalize.cc(100): warning C4018: '>': signed/unsigned mismatch
...\woff2\src\normalize.cc(144): warning C4244: 'initializing': conversion from 'double' to 'size_t', possible loss of data
...\woff2\src\normalize.cc(277): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\normalize.cc(276): warning C4267: 'initializing': conversion from 'size_t' to 'uint32_t', possible loss of data
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[7/15] Building CXX object CMakeFiles\woff2enc.dir\src\transform.cc.obj
...\woff2\src\transform.cc(79): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\transform.cc(80): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\transform.cc(81): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\transform.cc(82): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\transform.cc(83): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\transform.cc(84): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\transform.cc(85): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\transform.cc(141): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\transform.cc(147): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\transform.cc(152): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\transform.cc(293): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\transform.cc(423): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[8/15] Building CXX object CMakeFiles\woff2enc.dir\src\woff2_enc.cc.obj
...\woff2\src\woff2_enc.cc(44): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_enc.cc(109): warning C4267: 'argument': conversion from 'size_t' to 'uint16_t', possible loss of data
...\woff2\src\woff2_enc.cc(114): warning C4267: 'argument': conversion from 'size_t' to 'uint16_t', possible loss of data
...\woff2\src\woff2_enc.cc(152): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_enc.cc(191): warning C4244: 'return': conversion from 'double' to 'uint32_t', possible loss of data
...\woff2\src\woff2_enc.cc(255): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_enc.cc(257): warning C4267: 'initializing': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_enc.cc(294): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_enc.cc(325): warning C4267: '=': conversion from 'size_t' to 'unsigned short', possible loss of data
...\woff2\src\woff2_enc.cc(370): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_enc.cc(371): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\woff2_enc.cc(374): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_enc.cc(381): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_enc.cc(384): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_enc.cc(403): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[9/15] Linking CXX shared library woff2dec.dll
FAILED: woff2dec.dll woff2dec.lib
C:\windows\system32\cmd.exe /C "cd . && ~\scoop\apps\cmake-nightly\3.30.20240914\bin\cmake.exe -E vs_link_dll --msvc-ver=1941 --intdir=CMakeFiles\woff2dec.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100226~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100226~1.0\x64\mt.exe --manifests -- C:\PROGRA~2\MICROS~4\2022\BUILDT~1\VC\Tools\MSVC\1441~1.341\bin\Hostx64\x64\link.exe /nologo CMakeFiles\woff2dec.dir\src\woff2_dec.cc.obj CMakeFiles\woff2dec.dir\src\woff2_out.cc.obj /out:woff2dec.dll /implib:woff2dec.lib /pdb:woff2dec.pdb /dll /version:1.0 /machine:x64 /debug /INCREMENTAL woff2common.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
LINK Pass 1: command "C:\PROGRA~2\MICROS~4\2022\BUILDT~1\VC\Tools\MSVC\1441~1.341\bin\Hostx64\x64\link.exe /nologo CMakeFiles\woff2dec.dir\src\woff2_dec.cc.obj CMakeFiles\woff2dec.dir\src\woff2_out.cc.obj /out:woff2dec.dll /implib:woff2dec.lib /pdb:woff2dec.pdb /dll /version:1.0 /machine:x64 /debug /INCREMENTAL woff2common.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:CMakeFiles\woff2dec.dir/intermediate.manifest CMakeFiles\woff2dec.dir/manifest.res" failed (exit code 1104) with the following output:
LINK : fatal error LNK1104: cannot open file 'woff2common.lib'
ninja: build stopped: subcommand failed.
woff2 master ✓4s
❯ rm -rec build
woff2 master ✓
❯ cmake -B build -DBUILD_SHARED_LIBS=OFF
-- Building for: Ninja
CMake Deprecation Warning at CMakeLists.txt:10 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
-- The C compiler identification is MSVC 19.41.34120.0
-- The CXX compiler identification is MSVC 19.41.34120.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/Tools/MSVC/14.41.34120/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 (x86)/Microsoft Visual Studio/2022/BuildTools/VC/Tools/MSVC/14.41.34120/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
-- Found BrotliDec: C:/Program Files (x86)/brotli/include (found version "")
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
-- Found BrotliEnc: C:/Program Files (x86)/brotli/include (found version "")
-- Configuring done (2.5s)
-- Generating done (0.0s)
-- Build files have been written to: .../woff2/build
woff2 master ✓
❯ cmake --build build -j1
[1/23] Building CXX object CMakeFiles\woff2common.dir\src\table_tags.cc.obj
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[2/23] Building CXX object CMakeFiles\woff2common.dir\src\variable_length.cc.obj
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[3/23] Building CXX object CMakeFiles\woff2common.dir\src\woff2_common.cc.obj
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[5/23] Building CXX object CMakeFiles\woff2dec.dir\src\woff2_dec.cc.obj
...\woff2\src\woff2_dec.cc(280): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\woff2_dec.cc(289): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\woff2_dec.cc(368): warning C4267: 'initializing': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(645): warning C4267: '=': conversion from 'size_t' to '_Ty', possible loss of data
with
[
_Ty=uint32_t
]
...\woff2\src\woff2_dec.cc(667): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(668): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(675): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(886): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(887): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(888): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(889): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(898): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(995): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(1004): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(1015): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(1222): warning C4477: 'fprintf' : format string '%lu' requires an argument of type 'unsigned long', but variadic argument 2 has type 'size_t'
...\woff2\src\woff2_dec.cc(1222): note: consider using '%zu' in the format string
...\woff2\src\woff2_dec.cc(1286): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(1305): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(1308): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(1310): warning C4267: 'argument': conversion from 'size_t' to 'uint16_t', possible loss of data
...\woff2\src\woff2_dec.cc(1314): warning C4267: '=': conversion from 'size_t' to 'unsigned int', possible loss of data
...\woff2\src\woff2_dec.cc(1315): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_dec.cc(1325): warning C4267: '=': conversion from 'size_t' to 'unsigned int', possible loss of data
...\woff2\src\woff2_dec.cc(1326): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[6/23] Building CXX object CMakeFiles\woff2dec.dir\src\woff2_out.cc.obj
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[7/23] Building CXX object CMakeFiles\woff2enc.dir\src\font.cc.obj
...\woff2\src\font.cc(296): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\font.cc(313): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\font.cc(330): warning C4018: '<': signed/unsigned mismatch
...\woff2\src\font.cc(370): warning C4018: '>': signed/unsigned mismatch
...\woff2\src\font.cc(395): warning C4267: '=': conversion from 'size_t' to 'uint16_t', possible loss of data
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[8/23] Building CXX object CMakeFiles\woff2enc.dir\src\glyph.cc.obj
...\woff2\src\glyph.cc(62): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\glyph.cc(235): warning C4267: '+=': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\glyph.cc(369): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[9/23] Building CXX object CMakeFiles\woff2enc.dir\src\normalize.cc.obj
...\woff2\src\normalize.cc(71): warning C4267: '+=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\normalize.cc(100): warning C4018: '>': signed/unsigned mismatch
...\woff2\src\normalize.cc(144): warning C4244: 'initializing': conversion from 'double' to 'size_t', possible loss of data
...\woff2\src\normalize.cc(277): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\normalize.cc(276): warning C4267: 'initializing': conversion from 'size_t' to 'uint32_t', possible loss of data
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[10/23] Building CXX object CMakeFiles\woff2enc.dir\src\transform.cc.obj
...\woff2\src\transform.cc(79): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\transform.cc(80): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\transform.cc(81): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\transform.cc(82): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\transform.cc(83): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\transform.cc(84): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\transform.cc(85): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\transform.cc(141): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\transform.cc(147): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\transform.cc(152): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\transform.cc(293): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\transform.cc(423): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[11/23] Building CXX object CMakeFiles\woff2enc.dir\src\woff2_enc.cc.obj
...\woff2\src\woff2_enc.cc(44): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_enc.cc(109): warning C4267: 'argument': conversion from 'size_t' to 'uint16_t', possible loss of data
...\woff2\src\woff2_enc.cc(114): warning C4267: 'argument': conversion from 'size_t' to 'uint16_t', possible loss of data
...\woff2\src\woff2_enc.cc(152): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_enc.cc(191): warning C4244: 'return': conversion from 'double' to 'uint32_t', possible loss of data
...\woff2\src\woff2_enc.cc(255): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_enc.cc(257): warning C4267: 'initializing': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_enc.cc(294): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_enc.cc(325): warning C4267: '=': conversion from 'size_t' to 'unsigned short', possible loss of data
...\woff2\src\woff2_enc.cc(370): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_enc.cc(371): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
...\woff2\src\woff2_enc.cc(374): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_enc.cc(381): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_enc.cc(384): warning C4267: 'argument': conversion from 'size_t' to 'uint32_t', possible loss of data
...\woff2\src\woff2_enc.cc(403): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[13/23] Building CXX object CMakeFiles\woff2_decompress.dir\src\woff2_decompress.cc.obj
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[15/23] Building CXX object CMakeFiles\woff2_compress.dir\src\woff2_compress.cc.obj
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[16/23] Building CXX object CMakeFiles\woff2_info.dir\src\woff2_info.cc.obj
...\woff2\src\woff2_info.cc(123): warning C4018: '<': signed/unsigned mismatch
...\woff2\src\woff2_info.cc(129): warning C4018: '<': signed/unsigned mismatch
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[17/23] Building CXX object CMakeFiles\convert_woff2ttf_fuzzer.dir\src\convert_woff2ttf_fuzzer.cc.obj
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[18/23] Building CXX object CMakeFiles\convert_woff2ttf_f...ew_entry.dir\src\convert_woff2ttf_fuzzer_new_entry.cc.obj
cl : Command line warning D9002 : ignoring unknown option '-no-canonical-prefixes'
[23/23] Linking CXX static library convert_woff2ttf_fuzzer_new_entry.lib
woff2 master ✓
❯ z build
woff2\build master ✓
❯ fd -e exe
CMakeFiles\3.30.20240914-g4fcdf1a\CompilerIdC\CMakeCCompilerId.exe
CMakeFiles\3.30.20240914-g4fcdf1a\CompilerIdCXX\CMakeCXXCompilerId.exe
woff2_compress.exe
woff2_decompress.exe
woff2_info.exe
woff2\build master ✓
❯ ./woff2_decompress.exe -h
woff2\build master ✓
❯ ./woff2_decompress.exe --help
woff2\build master ✓
❯ cp .../file.woff2 .
woff2\build master ✓
❯ ./woff2_decompress.exe file.woff2
woff2\build master ✓
❯ cmake --version
cmake version 3.30.20240914-g4fcdf1a
CMake suite maintained and supported by Kitware (kitware.com/cmake).
woff2\build master ✓
❯ $_=Get-ItemProperty 'HKLM:/SOFTWARE/Microsoft/Windows NT/CurrentVersion';$_.CurrentMajorVersionNumber.ToString()+'.'+$_.CurrentMinorVersionNumber.ToString()+'.'+$_.CurrentBuild+'.'+$_.UBR
10.0.19044.4780
There's no
file.ttf, however when the binary from https://github.com/lencil/woff2_build is used, there are no such problems, andfile.ttfis output to the working directory.build logs
It could be because I used brotli master, and not the submodule, but I'm doubtful.build logs regarding brotli master->submodule head
When launched with gdb, an exit code does appear.
gdb logs