Add KiCad WASM build infrastructure and dependency scripts
- Add build environment setup (scripts/common/env.sh, versions.sh, functions.sh) - Add dependency build scripts for Zstd, GLM, FreeType, HarfBuzz, Pixman, Cairo - Add placeholder scripts for OpenCASCADE, ngspice, protobuf - Add WASM compatibility layer (wasm/kiplatform/, wasm/libcontext/) - Add CMake modules for KiCad WASM cross-compilation - Add PCBnew test infrastructure (tests/kicad/) - Add build plan documentation Successfully tested builds: Zstd 1.5.5, GLM 0.9.9.8, FreeType 2.13.2, HarfBuzz 8.3.0, Pixman 0.42.2, Cairo 1.18.0 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
756feb35da
commit
3034d9d76f
36 changed files with 3708 additions and 0 deletions
26
wasm/CMakeLists.txt
Normal file
26
wasm/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
# WASM Compatibility Layer for KiCad
|
||||
# This directory contains WASM-specific implementations that replace
|
||||
# platform-specific code in KiCad without modifying KiCad's source.
|
||||
|
||||
cmake_minimum_required(VERSION 3.22)
|
||||
project(kicad_wasm_compat)
|
||||
|
||||
# Only build for Emscripten
|
||||
if(NOT EMSCRIPTEN)
|
||||
message(FATAL_ERROR "This project is only for Emscripten builds")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
# Include directories
|
||||
include_directories(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/config
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/shims
|
||||
)
|
||||
|
||||
# kiplatform WASM implementation
|
||||
add_subdirectory(kiplatform)
|
||||
|
||||
# libcontext Asyncify fiber implementation
|
||||
add_subdirectory(libcontext)
|
||||
Loading…
Reference in a new issue