X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=CMakeLists.txt;h=3f29c2e2ec40e6522c789bffd1a6526872a9d378;hb=0bbefa2e98126636b98a0efccf43faf9f4ec2850;hp=785ebbd181a8a4b3f7636a6fc6bedde72cf3f30e;hpb=61d0c957d241eb247ce72637ae6f315d2a8878f6;p=nothing.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 785ebbd1..3f29c2e2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,7 +10,6 @@ endif() set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) find_package(SDL2 REQUIRED) - find_package(SDL2_mixer REQUIRED) include_directories(src/) @@ -18,59 +17,146 @@ include_directories(${SDL2_INCLUDE_DIR}) include_directories(${SDL2_MIXER_INCLUDE_DIR}) set(SOURCE_FILES - src/main.c - src/player.c - src/platforms.c - src/rect.c - src/point.c - src/camera.c - src/error.c - src/game.c - src/lt.c - src/lt/lt_slot.c - src/level.c - src/goals.c - src/renderer.c - src/triangle.c src/color.c - src/rigid_rect.c - src/dying_rect.c - src/lava.c - src/wavy_rect.c - src/sound_medium.c - src/path.c - src/mat3x3.c - src/algo.c + src/game.c + src/game/camera.c + src/game/debug_tree.c + src/game/edit_field.c + src/game/level.c + src/game/level/background.c + src/game/level/boxes.c + src/game/level/goals.c + src/game/level/labels.c + src/game/level/lava.c + src/game/level/lava/wavy_rect.c + src/game/level/physical_world.c + src/game/level/platforms.c + src/game/level/player.c + src/game/level/player/dying_rect.c + src/game/level/player/rigid_rect.c + src/game/level/solid.c + src/game/sound_samples.c + src/game/sprite_font.c + src/main.c + src/math/mat3x3.c + src/math/point.c + src/math/rand.c + src/math/rect.c + src/math/triangle.c + src/script/expr.c + src/script/interpreter.c + src/script/parser.c + src/script/tokenizer.c + src/script/gc.c + src/script/scope.c + src/sdl/renderer.c + src/system/error.c + src/system/lt.c + src/system/lt/lt_adapters.c + src/system/lt/lt_slot.c + src/game/level/console.c ) set(HEADER_FILES - src/player.h - src/platforms.h - src/rect.h - src/point.h - src/camera.h - src/error.h - src/game.h - src/lt.h - src/lt/lt_slot.h - src/level.h - src/goals.h - src/renderer.h - src/triangle.h - src/pi.h src/color.h - src/rigid_rect.h - src/dying_rect.h - src/lava.h - src/wavy_rect.h - src/sound_medium.h - src/path.h - src/mat3x3.h - src/algo.h + src/game.h + src/game/camera.h + src/game/debug_node.h + src/game/debug_tree.h + src/game/edit_field.h + src/game/level.h + src/game/level/background.h + src/game/level/boxes.h + src/game/level/goals.h + src/game/level/labels.h + src/game/level/lava.h + src/game/level/lava/wavy_rect.h + src/game/level/physical_world.c + src/game/level/platforms.h + src/game/level/player.h + src/game/level/player/dying_rect.h + src/game/level/player/rigid_rect.h + src/game/level/solid.h + src/game/sound_samples.h + src/game/sprite_font.h + src/math/mat3x3.h + src/math/pi.h + src/math/point.h + src/math/rand.h + src/math/rect.h + src/math/triangle.h + src/script/builtins.c + src/script/builtins.h + src/script/expr.h + src/script/gc.h + src/script/scope.h + src/script/interpreter.h + src/script/parser.h + src/script/tokenizer.h + src/sdl/renderer.h + src/system/error.h + src/system/lt.h + src/system/lt/lt_adapters.h + src/system/lt/lt_slot.h + src/game/level/console.h ) add_executable(nothing ${SOURCE_FILES} ${HEADER_FILES}) +add_executable(repl + src/script/builtins.c + src/script/builtins.h + src/script/expr.c + src/script/expr.h + src/script/interpreter.c + src/script/interpreter.h + src/script/parser.c + src/script/parser.h + src/script/scope.c + src/script/scope.h + src/script/tokenizer.c + src/script/tokenizer.h + src/script/repl.c + src/system/lt.c + src/system/lt.h + src/system/lt/lt_adapters.c + src/system/lt/lt_adapters.h + src/system/lt/lt_slot.c + src/system/lt/lt_slot.h + src/system/error.c + src/system/error.h + src/script/gc.h + src/script/gc.c + ) +add_executable(nothing_test + src/script/builtins.c + src/script/builtins.h + src/script/expr.c + src/script/expr.h + src/script/interpreter.c + src/script/interpreter.h + src/script/parser.c + src/script/parser.h + src/script/scope.c + src/script/scope.h + src/script/tokenizer.c + src/script/tokenizer.h + src/script/gc.h + src/script/gc.c + src/system/error.c + src/system/error.h + src/system/lt.c + src/system/lt.h + src/system/lt/lt_adapters.c + src/system/lt/lt_adapters.h + src/system/lt/lt_slot.c + src/system/lt/lt_slot.h + test/main.c + test/test.h + test/tokenizer_suite.h + ) target_link_libraries(nothing ${SDL2_LIBRARY} ${SDL2_MIXER_LIBRARY}) +target_link_libraries(nothing_test ${SDL2_LIBRARY} ${SDL2_MIXER_LIBRARY}) +target_link_libraries(repl ${SDL2_LIBRARY} ${SDL2_MIXER_LIBRARY}) if(("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "CLANG")) set(CMAKE_C_FLAGS @@ -96,6 +182,8 @@ if(("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" ST -Wshadow \ -Wstrict-prototypes \ -Wwrite-strings \ + -Wswitch \ + -Wmissing-field-initializers \ -fno-common \ -pedantic \ -std=c11 \ @@ -107,3 +195,5 @@ if(WIN32) endif() file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/sounds DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/fonts DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/test-data DESTINATION ${CMAKE_CURRENT_BINARY_DIR})