zvec/thirdparty/rocksdb
egolearner e91b7802f3
feat(ci): enable sccache on Windows and propagate compiler launcher to ExternalProject (#439)
feat(ci): enable sccache on Windows and propagate compiler launcher to ExternalProject

Windows CI builds were ~6-9x slower than other platforms (35-40 min vs
4-7 min) due to missing compiler cache. This commit enables sccache for
Windows and ensures all ExternalProject_Add dependencies (Arrow, lz4)
receive the compiler launcher on every platform.

Changes:

MSVC /Zi → /Z7 compatibility:
- Replace /Zi with /Z7 in root CMakeLists.txt for DEBUG and
  RELWITHDEBINFO configurations (MSVC cache variable level)
- Patch rocksdb, antlr4, and googletest source CMakeLists to replace
  hardcoded /Zi with /Z7 at the source, eliminating D9025 warnings
- Clear COMPILE_PDB_NAME on googletest targets to prevent CMake from
  adding /Fd<path>, which causes sccache to look for nonexistent .pdb
- Remove /FS (forced synchronous PDB writes) from Arrow ExternalProject
  MSVC flags — unnecessary with /Z7

Windows CI workflow:
- Add mozilla-actions/sccache-action@v0.0.10
- Set SCCACHE_GHA_ENABLED=true to use GitHub Actions Cache backend
- Pass CMAKE_C/CXX_COMPILER_LAUNCHER=sccache via --config-settings

Compiler launcher propagation:
- Propagate CMAKE_C/CXX_COMPILER_LAUNCHER to Arrow ExternalProject on
  all platforms (Windows, Linux, macOS, Android, iOS)
- Propagate to lz4 ExternalProject on Windows via CMAKE_ARGS, using
  CMP0141=NEW + CMAKE_MSVC_DEBUG_INFORMATION_FORMAT=Embedded for /Z7
2026-06-02 16:23:37 +08:00
..
rocksdb-8.1.1@6a43615041 Initial commit 2025-12-30 11:02:17 +08:00
CMakeLists.txt feat(ci): enable sccache on Windows and propagate compiler launcher to ExternalProject (#439) 2026-06-02 16:23:37 +08:00
rocksdb.android.patch feat: support android platform cross build (#90) 2026-03-04 16:42:23 +08:00
rocksdb.ios.patch feat: add iOS build support (#321) 2026-04-09 16:14:26 +08:00
rocksdb.windows.patch feat(ci): enable sccache on Windows and propagate compiler launcher to ExternalProject (#439) 2026-06-02 16:23:37 +08:00