Files
workinf_Blender_Wasm/web/engine/CMakeLists.txt
2026-08-12 04:47:48 -04:00

28 lines
1.4 KiB
CMake

cmake_minimum_required(VERSION 3.24)
project(blender_web_engine LANGUAGES C CXX)
set(WITH_WEB ON CACHE BOOL "Build the browser Blender engine")
option(WEB_ENGINE_THREADS "Build the pthread variant" OFF)
include("${CMAKE_CURRENT_LIST_DIR}/../../blender-5.2.0/build_files/cmake/platform/web.cmake")
if(WEB_ENGINE_THREADS)
add_compile_options(-pthread)
add_link_options(-pthread -sPTHREAD_POOL_SIZE=1)
endif()
add_library(blender_web_engine_core STATIC
"${CMAKE_CURRENT_LIST_DIR}/../../blender-5.2.0/source/blender/web_engine/web_engine_api.cpp"
"${CMAKE_CURRENT_LIST_DIR}/web_engine_native_reader_stub.cpp"
)
target_include_directories(blender_web_engine_core PUBLIC
"${CMAKE_CURRENT_LIST_DIR}/../../blender-5.2.0/source/blender/web_engine"
)
add_executable(web_engine web_engine_smoke.cpp)
target_link_libraries(web_engine PRIVATE blender_web_engine_core)
target_link_options(web_engine PRIVATE
"-sEXPORTED_FUNCTIONS=['_malloc','_free','_web_engine_create','_web_engine_destroy','_web_engine_get_memory_stats','_web_engine_get_live_handles','_web_engine_get_allocated_bytes','_web_engine_open_blend','_web_engine_apply_command','_web_engine_get_scene_snapshot','_web_engine_save_blend','_web_engine_free_buffer','_web_engine_last_error_code','_web_engine_last_error_message']"
"-sEXPORTED_RUNTIME_METHODS=['ccall','cwrap']"
)
set_target_properties(web_engine PROPERTIES OUTPUT_NAME "web_engine")