pcbjam/wasm/cmake/Findngspice.cmake
2026-05-29 16:01:17 +02:00

27 lines
1.1 KiB
CMake

# Findngspice.cmake - Stub for WASM builds
# ngspice is not available in WASM builds (KICAD_SPICE=OFF)
# We provide stub values so CMake configuration succeeds
if(EMSCRIPTEN OR NOT KICAD_SPICE)
message(STATUS "ngspice not available for WASM build (using header stub)")
# Set variables to indicate ngspice is "found" but disabled
set(ngspice_FOUND TRUE)
set(NGSPICE_FOUND TRUE)
# Point at our header-only stub at wasm/stubs/ngspice/sharedspice.h so
# eeschema's sim/ngspice.{h,cpp} can compile. The library link line stays
# empty — the simulator frame is never instantiated in WASM.
set(NGSPICE_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}/../stubs")
set(NGSPICE_LIBRARY "")
set(NGSPICE_LIBRARIES "")
mark_as_advanced(NGSPICE_INCLUDE_DIR NGSPICE_LIBRARY)
else()
# For non-WASM builds, use the system findngspice
find_path(NGSPICE_INCLUDE_DIR ngspice/sharedspice.h)
find_library(NGSPICE_LIBRARY NAMES ngspice)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(ngspice DEFAULT_MSG NGSPICE_LIBRARY NGSPICE_INCLUDE_DIR)
endif()