From 5de5619b125108338dbc4dfd382f488a3a0c850b Mon Sep 17 00:00:00 2001 From: realtradam Date: Tue, 11 Apr 2023 22:20:04 -0400 Subject: rework cmake build system + rodeo bump --- CMakeLists.txt | 101 ++++++++++++++++++++++----------------------------- build_web | 2 +- external/RodeoEngine | 2 +- run | 2 +- 4 files changed, 47 insertions(+), 60 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 $/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 $/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 $/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 index 271ff35..7506dd3 160000 --- a/external/RodeoEngine +++ b/external/RodeoEngine @@ -1 +1 @@ -Subproject commit 271ff350f3155001418876a2fd5829b77be1e976 +Subproject commit 7506dd3f0983485348a7483cf65aef6a12e4270c 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) -- cgit v1.2.3