diff options
| author | realtradam <[email protected]> | 2023-03-04 19:53:46 -0500 |
|---|---|---|
| committer | realtradam <[email protected]> | 2023-03-04 19:53:46 -0500 |
| commit | e507454912f69b202c0a49d772696eabcccaa024 (patch) | |
| tree | e2f51bce8eee08d6c96b7abb7f74063b159210e7 /CMakeLists.txt | |
| parent | 50d4ca3c7df7ca7d67a4435ea726a6c68375a814 (diff) | |
| download | TOJam2023-e507454912f69b202c0a49d772696eabcccaa024.tar.gz TOJam2023-e507454912f69b202c0a49d772696eabcccaa024.zip | |
add emscripten
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 46 |
1 files changed, 44 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index c885377..5a81e2e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,15 +1,28 @@ cmake_minimum_required(VERSION 3.25.1) -set(CMAKE_BUILD_TYPE Debug) - project(space_squad) +if (${CMAKE_SYSTEM_NAME} MATCHES "Emscripten") + set(CMAKE_EXECUTABLE_SUFFIX ".html") +endif() + +set(CMAKE_BUILD_TYPE Debug) + file(GLOB SOURCES "src/main.c" ) add_executable(${PROJECT_NAME} ${SOURCES}) +if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "Emscripten") +target_compile_options(${PROJECT_NAME} PRIVATE +-Wall +-Wextra +-Wpedantic +#-Werror +) +endif() + find_package(Git QUIET) if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git") # Update submodules as needed @@ -27,6 +40,8 @@ endif() add_subdirectory(external/RodeoEngine) +add_dependencies(${PROJECT_NAME} RodeoEngine) + target_include_directories(${PROJECT_NAME} PUBLIC external/RodeoEngine/include ) @@ -34,3 +49,30 @@ target_include_directories(${PROJECT_NAME} target_link_libraries(${PROJECT_NAME} RodeoEngine ) + +add_custom_command(TARGET ${PROJECT_NAME} PRE_BUILD + DEPENDS RodeoEngine + COMMAND ${CMAKE_COMMAND} -E copy_directory + ${CMAKE_SOURCE_DIR}/external/RodeoEngine/build_dir/shaders $<TARGET_FILE_DIR:${PROJECT_NAME}>/shaders + ) + +if (${CMAKE_SYSTEM_NAME} MATCHES "Emscripten") + set_target_properties(space_squad PROPERTIES LINK_FLAGS "-s USE_SDL=2 -s USE_SDL_IMAGE=2 -s ALLOW_MEMORY_GROWTH") + + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} \ + -s MAX_WEBGL_VERSION=2 \ + -s WASM=1 \ + -s NO_EXIT_RUNTIME=1 \ + -s DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR=1 \ + -s OFFSCREENCANVAS_SUPPORT=1 \ + -s ALLOW_MEMORY_GROWTH=1\ + --preload-file shaders") + + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \ + -fno-exceptions \ + -fno-rtti \ + -s USE_SDL=2") + #-s USE_SDL_IMAGE=2 \ + +endif () + |
