Commit 19aee58
committed
fix: resolve Windows CI segfaults from CRT mismatch and FreeType-HarfBuzz interaction
Three fixes for MSVC/clang-cl test crashes:
1. Set CMP0091 to NEW before project() so CMAKE_MSVC_RUNTIME_LIBRARY
(static CRT /MT) takes effect for the top-level build.
2. Set CMAKE_POLICY_DEFAULT_CMP0091 NEW before each FetchContent subproject
(FreeType, HarfBuzz) whose cmake_minimum_required resets the policy,
preventing CRT mismatch between /MT and /MD that causes heap corruption.
3. Set FT_DISABLE_HARFBUZZ ON before building FreeType to prevent its
find_package(HarfBuzz) from finding a partial match when HarfBuzz is
also enabled, which would enable FT_CONFIG_OPTION_USE_HARFBUZZ inside
FreeType and cause unresolved symbol crashes in test binaries.1 parent 1955edb commit 19aee58
1 file changed
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
3 | 7 | | |
4 | 8 | | |
5 | 9 | | |
| |||
22 | 26 | | |
23 | 27 | | |
24 | 28 | | |
| 29 | + | |
25 | 30 | | |
26 | 31 | | |
27 | 32 | | |
| |||
30 | 35 | | |
31 | 36 | | |
32 | 37 | | |
| 38 | + | |
33 | 39 | | |
| 40 | + | |
34 | 41 | | |
35 | 42 | | |
36 | 43 | | |
| 44 | + | |
37 | 45 | | |
38 | 46 | | |
39 | 47 | | |
40 | 48 | | |
41 | 49 | | |
42 | 50 | | |
43 | 51 | | |
| 52 | + | |
44 | 53 | | |
45 | 54 | | |
46 | 55 | | |
| |||
0 commit comments