2017-07-23 02:45:36 +03:00
|
|
|
# Setup the project and settings
|
|
|
|
project(games)
|
|
|
|
|
2020-03-08 20:04:29 +03:00
|
|
|
# Get the source together
|
2017-07-23 02:45:36 +03:00
|
|
|
file(GLOB sources *.c)
|
|
|
|
|
2018-07-25 01:39:17 +03:00
|
|
|
set(OUTPUT_EXT)
|
|
|
|
|
|
|
|
if(${PLATFORM} MATCHES "Web")
|
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Os -s USE_GLFW=3 -s ASSERTIONS=1 -s WASM=1 -s EMTERPRETIFY=1 -s EMTERPRETIFY_ASYNC=1")
|
2019-05-22 11:40:51 +03:00
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --shell-file ${CMAKE_SOURCE_DIR}/src/shell.html")
|
2018-07-25 01:39:17 +03:00
|
|
|
set(OUTPUT_EXT ".html")
|
2019-11-01 21:09:38 +03:00
|
|
|
|
|
|
|
# Remove the -rdynamic flag because otherwise emscripten
|
|
|
|
# does not generate HTML+JS+WASM files, only a non-working
|
|
|
|
# and fat HTML
|
|
|
|
string(REPLACE "-rdynamic" "" CMAKE_SHARED_LIBRARY_LINK_C_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS})
|
2018-07-25 01:39:17 +03:00
|
|
|
endif()
|
|
|
|
|
2018-07-28 17:08:41 +03:00
|
|
|
if (NOT TARGET raylib)
|
2020-03-08 20:04:29 +03:00
|
|
|
find_package(raylib REQUIRED)
|
2018-07-28 17:08:41 +03:00
|
|
|
endif()
|
2018-07-25 01:39:17 +03:00
|
|
|
|
2017-07-23 02:45:36 +03:00
|
|
|
# Do each game
|
|
|
|
foreach(game_source ${sources})
|
|
|
|
# Create the basename for the game
|
|
|
|
get_filename_component(game_name ${game_source} NAME)
|
2018-07-25 01:39:17 +03:00
|
|
|
string(REPLACE ".c" "${OUTPUT_EXT}" game_name ${game_name})
|
2018-07-28 17:08:41 +03:00
|
|
|
|
2017-07-23 02:45:36 +03:00
|
|
|
# Setup the game
|
|
|
|
add_executable(${game_name} ${game_source})
|
|
|
|
|
|
|
|
# Link the libraries
|
2018-07-28 17:08:41 +03:00
|
|
|
target_link_libraries(${game_name} raylib)
|
2017-07-23 02:45:36 +03:00
|
|
|
endforeach()
|
|
|
|
|
|
|
|
# Do the games with subdirectories
|
|
|
|
add_subdirectory(drturtle)
|
|
|
|
add_subdirectory(just_do)
|
|
|
|
add_subdirectory(koala_seasons)
|
|
|
|
add_subdirectory(light_my_ritual)
|
|
|
|
add_subdirectory(skully_escape)
|
|
|
|
add_subdirectory(wave_collector)
|