mirror of
https://github.com/nicbarker/clay.git
synced 2025-04-18 20:28:01 +00:00
- CMake was not compiling to WebAssembly - This changes adds missing CMake directives for compiling to Wasm Signed-off-by: Avinal Kumar <avinal.xlvii@gmail.com>
34 lines
1.3 KiB
CMake
34 lines
1.3 KiB
CMake
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 .)
|
|
|
|
# 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")
|