From 22805562b0d3c58495de5b4f63f0b2eab84bd3f9 Mon Sep 17 00:00:00 2001 From: Jonny Date: Thu, 28 Feb 2019 18:13:00 +0000 Subject: [PATCH] Updates for emscripten, along with travis builds --- .travis.yml | 12 ++++++++++++ cmake/examples.cmake | 9 ++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 96d819f..f98ce6e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -71,6 +71,18 @@ matrix: env: - AMALGAMATED=ON + - name: "Emscripten" + os: linux + dist: xenial + language: node_js + services: + - docker + before_script: + - docker run -dit --name emscripten -v $(pwd):/src trzeci/emscripten:sdk-incoming-64bit bash + script: + - docker exec -it emscripten emconfigure cmake . -DBGFX_BUILD_TOOLS=OFF + - docker exec -it emscripten emmake make + script: - mkdir build && cd build - cmake $CMAKE_FLAGS -DBGFX_INSTALL_EXAMPLES=ON -DBGFX_AMALGAMATED=$AMALGAMATED -DBX_AMALGAMATED=$AMALGAMATED .. diff --git a/cmake/examples.cmake b/cmake/examples.cmake index 0b6b5d8..ea801ec 100755 --- a/cmake/examples.cmake +++ b/cmake/examples.cmake @@ -143,13 +143,20 @@ function( add_example ARG_NAME ) target_compile_definitions( example-${ARG_NAME} PRIVATE "-D_CRT_SECURE_NO_WARNINGS" "-D__STDC_FORMAT_MACROS" "-DENTRY_CONFIG_IMPLEMENT_MAIN=1" ) # Configure shaders - if( NOT ARG_COMMON ) + if( NOT ARG_COMMON AND NOT IOS AND NOT EMSCRIPTEN) foreach( SHADER ${SHADERS} ) add_bgfx_shader( ${SHADER} ${ARG_NAME} ) endforeach() source_group( "Shader Files" FILES ${SHADERS}) endif() + if (NOT ARG_COMMON AND EMSCRIPTEN) + target_link_libraries(example-${ARG_NAME} + "-s PRECISE_F32=1" + "-s TOTAL_MEMORY=268435456" + "--memory-init-file 1") + endif() + # Directory name set_target_properties( example-${ARG_NAME} PROPERTIES FOLDER "bgfx/examples" ) endfunction()