28 lines
1.4 KiB
CMake
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")
|