forked from mirror/OpenTTD
Add: support for emscripten (play-OpenTTD-in-the-browser)
Emscripten compiles to WASM, which can be loaded via HTML / JavaScript. This allows you to play OpenTTD inside a browser. Co-authored-by: milek7 <me@milek7.pl>
This commit is contained in:
committed by
Patric Stout
parent
2da07f7615
commit
d15dc9f40f
20
os/emscripten/cmake/FindLibLZMA.cmake
Normal file
20
os/emscripten/cmake/FindLibLZMA.cmake
Normal file
@@ -0,0 +1,20 @@
|
||||
# LibLZMA is a recent addition to the emscripten SDK, so it is possible
|
||||
# someone hasn't updated his SDK yet. Test out if the SDK supports LibLZMA.
|
||||
include(CheckCXXSourceCompiles)
|
||||
set(CMAKE_REQUIRED_FLAGS "-sUSE_LIBLZMA=1")
|
||||
|
||||
check_cxx_source_compiles("
|
||||
#include <lzma.h>
|
||||
int main() { return 0; }"
|
||||
LIBLZMA_FOUND
|
||||
)
|
||||
|
||||
if (LIBLZMA_FOUND)
|
||||
add_library(LibLZMA::LibLZMA INTERFACE IMPORTED)
|
||||
set_target_properties(LibLZMA::LibLZMA PROPERTIES
|
||||
INTERFACE_COMPILE_OPTIONS "-sUSE_LIBLZMA=1"
|
||||
INTERFACE_LINK_LIBRARIES "-sUSE_LIBLZMA=1"
|
||||
)
|
||||
else()
|
||||
message(WARNING "You are using an emscripten SDK without LibLZMA support. Many savegames won't be able to load in OpenTTD. Please apply 'emsdk-liblzma.patch' to your local emsdk installation.")
|
||||
endif()
|
7
os/emscripten/cmake/FindPNG.cmake
Normal file
7
os/emscripten/cmake/FindPNG.cmake
Normal file
@@ -0,0 +1,7 @@
|
||||
add_library(PNG::PNG INTERFACE IMPORTED)
|
||||
set_target_properties(PNG::PNG PROPERTIES
|
||||
INTERFACE_COMPILE_OPTIONS "-sUSE_LIBPNG=1"
|
||||
INTERFACE_LINK_LIBRARIES "-sUSE_LIBPNG=1"
|
||||
)
|
||||
|
||||
set(PNG_FOUND on)
|
7
os/emscripten/cmake/FindSDL2.cmake
Normal file
7
os/emscripten/cmake/FindSDL2.cmake
Normal file
@@ -0,0 +1,7 @@
|
||||
add_library(SDL2::SDL2 INTERFACE IMPORTED)
|
||||
set_target_properties(SDL2::SDL2 PROPERTIES
|
||||
INTERFACE_COMPILE_OPTIONS "-sUSE_SDL=2"
|
||||
INTERFACE_LINK_LIBRARIES "-sUSE_SDL=2"
|
||||
)
|
||||
|
||||
set(SDL2_FOUND on)
|
7
os/emscripten/cmake/FindZLIB.cmake
Normal file
7
os/emscripten/cmake/FindZLIB.cmake
Normal file
@@ -0,0 +1,7 @@
|
||||
add_library(ZLIB::ZLIB INTERFACE IMPORTED)
|
||||
set_target_properties(ZLIB::ZLIB PROPERTIES
|
||||
INTERFACE_COMPILE_OPTIONS "-sUSE_ZLIB=1"
|
||||
INTERFACE_LINK_LIBRARIES "-sUSE_ZLIB=1"
|
||||
)
|
||||
|
||||
set(ZLIB_FOUND on)
|
Reference in New Issue
Block a user