From fa0de480f041a420e618d91e601d9a6bbc0c3425 Mon Sep 17 00:00:00 2001 From: Pablo Marcos Oltra Date: Wed, 25 Jul 2018 00:39:17 +0200 Subject: [PATCH] Fix HTML5 examples and games using CMake (#589) Mimic the Makefile by outputting html + js instead of LLVM IR. --- examples/CMakeLists.txt | 8 ++++++-- games/CMakeLists.txt | 12 +++++++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index a71ec565..613fea6a 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -35,6 +35,7 @@ endforeach() include(CheckIncludeFiles) list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/standard_lighting.c) +set(OUTPUT_EXT) if(${PLATFORM} MATCHES "Android") list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/others/rlgl_standalone.c) @@ -56,7 +57,10 @@ if(${PLATFORM} MATCHES "Android") list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/shaders/shaders_custom_uniform.c) list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/shaders/shaders_model_shader.c) list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/shaders/shaders_postprocessing.c) - +elseif(${PLATFORM} MATCHES "Web") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Os -s USE_GLFW=3 -s ASSERTIONS=1 -s WASM=1 -s EMTERPRETIFY=1 -s EMTERPRETIFY_ASYNC=1") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --shell-file ${CMAKE_SOURCE_DIR}/templates/web_shell/shell.html") + set(OUTPUT_EXT ".html") endif() @@ -64,7 +68,7 @@ endif() foreach(example_source ${example_sources}) # Create the basename for the example get_filename_component(example_name ${example_source} NAME) - string(REPLACE ".c" "" example_name ${example_name}) + string(REPLACE ".c" "${OUTPUT_EXT}" example_name ${example_name}) # Setup the example add_executable(${example_name} ${example_source}) diff --git a/games/CMakeLists.txt b/games/CMakeLists.txt index 35c99139..563dbb61 100644 --- a/games/CMakeLists.txt +++ b/games/CMakeLists.txt @@ -11,11 +11,21 @@ include_directories("../build/release") # Get the source toegher file(GLOB sources *.c) +message("PLATFORM = ${PLATFORM}") +set(OUTPUT_EXT) + +if(${PLATFORM} MATCHES "Web") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Os -s USE_GLFW=3 -s ASSERTIONS=1 -s WASM=1 -s EMTERPRETIFY=1 -s EMTERPRETIFY_ASYNC=1") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --shell-file ${CMAKE_SOURCE_DIR}/templates/web_shell/shell.html") + set(OUTPUT_EXT ".html") +endif() + + # Do each game foreach(game_source ${sources}) # Create the basename for the game get_filename_component(game_name ${game_source} NAME) - string(REPLACE ".c" "" game_name ${game_name}) + string(REPLACE ".c" "${OUTPUT_EXT}" game_name ${game_name}) # Setup the game add_executable(${game_name} ${game_source})