diff options
Diffstat (limited to 'cmake/platforms/emscripten.cmake')
| -rw-r--r-- | cmake/platforms/emscripten.cmake | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/cmake/platforms/emscripten.cmake b/cmake/platforms/emscripten.cmake new file mode 100644 index 0000000..d6b5cd2 --- /dev/null +++ b/cmake/platforms/emscripten.cmake @@ -0,0 +1,47 @@ +set(platform_common_sources emcc.c) +set(platform_gui_libs) +set(platform_libs) +set(CMAKE_EXECUTABLE_SUFFIX ".js") + +set(emcc_export_list + # Event handlers for mouse and keyboard input + _mouseup + _mousedown + _mousemove + _key + # Callback when the program activates timing + _timer_callback + # Callback from button presses in the UI outside the canvas + _command + # Game-saving and game-loading functions + _get_save_file + _free_save_file + _load_game + # Callbacks to return values from dialog boxes + _dlg_return_sval + _dlg_return_ival + # Callbacks when the resizing controls are used + _resize_puzzle + _restore_puzzle_size + # Main program, run at initialisation time + _main) + +list(TRANSFORM emcc_export_list PREPEND \") +list(TRANSFORM emcc_export_list APPEND \") +string(JOIN "," emcc_export_string ${emcc_export_list}) +set(CMAKE_C_LINK_FLAGS "-s ASM_JS=1 -s EXPORTED_FUNCTIONS='[${emcc_export_string}]'") +message("link=${CMAKE_C_LINK_EXECUTABLE}") + +set(build_cli_programs FALSE) + +function(get_platform_puzzle_extra_source_files OUTVAR NAME) + set(${OUTVAR} PARENT_SCOPE) +endfunction() + +function(set_platform_puzzle_target_properties NAME TARGET) + em_link_pre_js(${TARGET} ${CMAKE_SOURCE_DIR}/emccpre.js) + em_link_js_library(${TARGET} ${CMAKE_SOURCE_DIR}/emcclib.js) +endfunction() + +function(build_platform_extras) +endfunction() |