- 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>
26 lines
688 B
CMake
26 lines
688 B
CMake
# 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)
|