summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorrealtradam <[email protected]>2023-04-11 22:20:04 -0400
committerrealtradam <[email protected]>2023-04-11 22:20:04 -0400
commit5de5619b125108338dbc4dfd382f488a3a0c850b (patch)
tree4eb1ad006a562f9c914f012d8ed8122b47a8379f
parentdbe60ec68ff64c918bc32cf216fc3a6932f5e3c4 (diff)
downloadrodeo_sample_game-5de5619b125108338dbc4dfd382f488a3a0c850b.tar.gz
rodeo_sample_game-5de5619b125108338dbc4dfd382f488a3a0c850b.zip
rework cmake build system + rodeo bump
-rw-r--r--CMakeLists.txt101
-rwxr-xr-xbuild_web2
m---------external/RodeoEngine0
-rwxr-xr-xrun2
4 files changed, 46 insertions, 59 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 56f36b6..f6b5cb9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,32 +1,58 @@
cmake_minimum_required(VERSION 3.25.1)
-project(space_squad)
-
-if (${CMAKE_SYSTEM_NAME} MATCHES "Emscripten")
- set(CMAKE_EXECUTABLE_SUFFIX ".html")
-endif()
-
-set(CMAKE_BUILD_TYPE Debug)
+project(demo
+ LANGUAGES C
+ )
-file(GLOB SOURCES
+add_executable(${PROJECT_NAME}
"src/main.c"
)
-add_executable(${PROJECT_NAME} ${SOURCES})
+set_property(TARGET ${PROJECT_NAME} PROPERTY C_STANDARD 11)
+
+add_subdirectory(external/RodeoEngine)
+add_dependencies(${PROJECT_NAME} RodeoKit)
+target_include_directories(${PROJECT_NAME} PUBLIC external/RodeoEngine/include)
+target_link_libraries(${PROJECT_NAME} PUBLIC RodeoKit)
+
+if(DEFINED EMSCRIPTEN)
+ set(CMAKE_EXECUTABLE_SUFFIX ".html")
-if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "Emscripten")
-target_compile_options(${PROJECT_NAME} PRIVATE
--Wall
--Wextra
--Wpedantic
-#-Werror
--Wconversion
-)
+ # bundle in assets and shaders
+ set_target_properties(${PROJECT_NAME}
+ PROPERTIES
+ LINK_FLAGS
+ "--preload-file ${PROJECT_SOURCE_DIR}/external/RodeoEngine/build_dir/shaders@shaders --preload-file ${PROJECT_SOURCE_DIR}/assets@assets --use-preload-plugins"
+ )
endif()
+if (NOT DEFINED EMSCRIPTEN)
+ target_compile_options(${PROJECT_NAME} PRIVATE
+ -Wall
+ -Wextra
+ -Wpedantic
+ #-Werror
+ -Wconversion
+ )
+
+ # copy over shaders to build directory
+ add_custom_command(TARGET ${PROJECT_NAME} PRE_BUILD
+ DEPENDS RodeoKit
+ COMMAND ${CMAKE_COMMAND} -E copy_directory
+ ${CMAKE_SOURCE_DIR}/external/RodeoEngine/build_dir/shaders $<TARGET_FILE_DIR:${PROJECT_NAME}>/shaders
+ )
+
+ # copy over assets to build directory
+ add_custom_command(TARGET ${PROJECT_NAME} PRE_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy_directory
+ ${CMAKE_SOURCE_DIR}/assets $<TARGET_FILE_DIR:${PROJECT_NAME}>/assets
+ )
+endif()
+
+# pull all git submodules recursively
find_package(Git QUIET)
if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
-# Update submodules as needed
+ # Update submodules as needed
option(GIT_SUBMODULE "Check submodules during build" ON)
if(GIT_SUBMODULE)
message(STATUS "Submodule update")
@@ -39,42 +65,3 @@ if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
endif()
endif()
-add_subdirectory(external/RodeoEngine)
-
-add_dependencies(${PROJECT_NAME} RodeoEngine)
-
-target_include_directories(${PROJECT_NAME}
- PUBLIC external/RodeoEngine/include
- )
-
-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 \
- --preload-file assets")
-
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \
- -fno-exceptions \
- -fno-rtti \
- -s USE_SDL=2")
- #-s USE_SDL_IMAGE=2 \
-
-endif ()
-
diff --git a/build_web b/build_web
index fe236d2..5e63896 100755
--- a/build_web
+++ b/build_web
@@ -1,3 +1,3 @@
#! /bin/sh
-
+#cd build_dir/tux ; make
cd build_dir/web ; emmake make
diff --git a/external/RodeoEngine b/external/RodeoEngine
-Subproject 271ff350f3155001418876a2fd5829b77be1e97
+Subproject 7506dd3f0983485348a7483cf65aef6a12e4270
diff --git a/run b/run
index 3d6af5c..5210c0f 100755
--- a/run
+++ b/run
@@ -1,4 +1,4 @@
#! /bin/sh
#gdb ./build_dir/space_squad
-(cd ./build_dir/tux/ ; ./space_squad)
+(cd ./build_dir/tux/ ; ./demo)