mirror of
https://github.com/k4zmu2a/SpaceCadetPinball.git
synced 2025-09-06 16:30:14 +02:00
initial wip emscripten port
This commit is contained in:
parent
22ce8ac538
commit
d63e081b7a
13 changed files with 270418 additions and 181 deletions
|
@ -14,8 +14,21 @@ if(WIN32)
|
|||
set(SDL2_MIXER_PATH "${CMAKE_CURRENT_LIST_DIR}/Libs/SDL2_mixer")
|
||||
endif()
|
||||
|
||||
find_package(SDL2 REQUIRED)
|
||||
FIND_PACKAGE(SDL2_mixer REQUIRED)
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Emscripten")
|
||||
set(USE_FLAGS "-s USE_SDL=2 -s USE_SDL_MIXER=2")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${USE_FLAGS}")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${USE_FLAGS}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${USE_FLAGS}")
|
||||
set(CMAKE_EXECUTABLE_SUFFIX .html)
|
||||
|
||||
set(SDL2_FOUND TRUE)
|
||||
set(SDL2_INCLUDE_DIR "${EMSCRIPTEN_ROOT_PATH}/system/include/SDL2/")
|
||||
set(SDL2_MIXER_INCLUDE_DIR "${EMSCRIPTEN_ROOT_PATH}/system/include/SDL2/")
|
||||
set(SDL2_LIBRARIES "nul")
|
||||
else()
|
||||
find_package(SDL2 REQUIRED)
|
||||
find_package(SDL2_mixer REQUIRED)
|
||||
endif()
|
||||
|
||||
include_directories(${SDL2_INCLUDE_DIR} ${SDL2_MIXER_INCLUDE_DIR})
|
||||
get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
|
||||
|
@ -23,8 +36,6 @@ foreach(dir ${dirs})
|
|||
message(STATUS "Include dir='${dir}'")
|
||||
endforeach()
|
||||
|
||||
|
||||
|
||||
set(SOURCE_FILES
|
||||
SpaceCadetPinball/control.cpp
|
||||
SpaceCadetPinball/control.h
|
||||
|
@ -164,6 +175,10 @@ set(SOURCE_FILES
|
|||
SpaceCadetPinball/imstb_textedit.h
|
||||
SpaceCadetPinball/imstb_rectpack.h
|
||||
SpaceCadetPinball/imstb_truetype.h
|
||||
SpaceCadetPinball/gm_sf2.cpp
|
||||
SpaceCadetPinball/tsf.cpp
|
||||
SpaceCadetPinball/tml.h
|
||||
SpaceCadetPinball/tsf.h
|
||||
)
|
||||
|
||||
add_executable(SpaceCadetPinball ${SOURCE_FILES})
|
||||
|
@ -185,6 +200,15 @@ target_precompile_headers(SpaceCadetPinball
|
|||
)
|
||||
|
||||
target_link_libraries(SpaceCadetPinball ${SDL2_LIBRARY} ${SDL2_MIXER_LIBRARY})
|
||||
target_compile_definitions(SpaceCadetPinball PRIVATE -DMUSIC_TSF)
|
||||
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Emscripten")
|
||||
target_link_libraries(SpaceCadetPinball idbfs.js)
|
||||
set_target_properties(SpaceCadetPinball PROPERTIES LINK_FLAGS
|
||||
"-s ALLOW_MEMORY_GROWTH=1 -s FORCE_FILESYSTEM=1 -s DEMANGLE_SUPPORT=1 \
|
||||
--shell-file ${CMAKE_CURRENT_SOURCE_DIR}/SpaceCadetPinball/emscripten_shell.html \
|
||||
--preload-file ${CMAKE_CURRENT_SOURCE_DIR}/game_resources@game_resources --bind")
|
||||
endif()
|
||||
|
||||
# On Windows, copy DLL to output
|
||||
if(WIN32)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue