From 5c0154023426921b9d60d2d043328584ed4bc457 Mon Sep 17 00:00:00 2001 From: Avinal Kumar Date: Sat, 4 Jan 2025 19:02:02 +0530 Subject: [PATCH] [Examples/Website] Fix CMakeLists.txt to compile to wasm - CMake was not compiling to WebAssembly - This changes adds missing CMake directives for compiling to Wasm Signed-off-by: Avinal Kumar --- examples/clay-official-website/CMakeLists.txt | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/examples/clay-official-website/CMakeLists.txt b/examples/clay-official-website/CMakeLists.txt index 9702d21..4336dae 100644 --- a/examples/clay-official-website/CMakeLists.txt +++ b/examples/clay-official-website/CMakeLists.txt @@ -2,10 +2,32 @@ cmake_minimum_required(VERSION 3.27) project(clay_official_website C) set(CMAKE_C_STANDARD 99) +set(CMAKE_C_COMPILER clang) + +# Specify WebAssembly as target +set(CMAKE_C_FLAGS + "${CMAKE_C_FLAGS} -Wall -Werror -Os -DCLAY_WASM -mbulk-memory --target=wasm32 -nostdlib" +) +set(CMAKE_EXE_LINKER_FLAGS + "${CMAKE_EXE_LINKER_FLAGS} -Wl,--strip-all,--export-dynamic,--no-entry,--export=__heap_base,--export=ACTIVE_RENDERER_INDEX,--initial-memory=6553600" +) add_executable(clay_official_website main.c) target_compile_options(clay_official_website PUBLIC -Wall -Werror -Wno-unknown-pragmas -Wno-error=missing-braces) target_include_directories(clay_official_website PUBLIC .) -set(CMAKE_C_FLAGS_RELEASE "-O3") \ No newline at end of file +# Adjust WebAssembly output binary name +set_target_properties(clay_official_website PROPERTIES + OUTPUT_NAME index.wasm + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/clay +) + +# Custom commands to copy additional resources +add_custom_command(TARGET clay_official_website POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/index.html ${CMAKE_BINARY_DIR}/clay/index.html + COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/fonts ${CMAKE_BINARY_DIR}/clay/fonts + COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/images ${CMAKE_BINARY_DIR}/clay/images +) + +set(CMAKE_C_FLAGS_RELEASE "-O3")