X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=CMakeLists.txt;h=bb17c3764827939eaec32cb1cf9747591f957ab5;hb=98a78a7935e46bb8d4975d622fdfb2881043d044;hp=1a69d904ac64e1de840c8fbb556de6aa4e0df65a;hpb=db9eae64ccbbd26203101bcd3110d6880ee9f0f4;p=nothing.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 1a69d904..bb17c376 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,30 +1,118 @@ cmake_minimum_required(VERSION 3.2) project(nothing) +if(WIN32) + # Conan integration + include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) + conan_basic_setup() +endif() + set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) find_package(SDL2 REQUIRED) -include_directories(${SDL2_INCLUDE_DIR}) +find_package(SDL2_mixer REQUIRED) -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror -Wextra -pedantic -Wconversion -std=c11") +include_directories(src/) +include_directories(${SDL2_INCLUDE_DIR}) +include_directories(${SDL2_MIXER_INCLUDE_DIR}) set(SOURCE_FILES + src/color.c + src/game.c + src/game/camera.c + src/game/level.c + src/game/level/background.c + src/game/level/boxes.c + src/game/level/goals.c + src/game/level/lava.c + src/game/level/lava/wavy_rect.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/main.c - src/player.c - src/platforms.c - src/rect.c - src/point.c - src/camera.c + src/math/mat3x3.c + src/math/point.c + src/math/rand.c + src/math/rect.c + src/math/triangle.c + src/rigid_bodies.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 ) set(HEADER_FILES - src/player.h - src/platforms.h - src/rect.h - src/point.h - src/camera.h + src/color.h + src/game.h + src/game/camera.h + src/game/level.h + src/game/level/background.h + src/game/level/boxes.h + src/game/level/goals.h + src/game/level/lava.h + src/game/level/lava/wavy_rect.h + 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/math/mat3x3.h + src/math/pi.h + src/math/point.h + src/math/rand.h + src/math/rect.h + src/math/triangle.h + src/rigid_bodies.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 ) add_executable(nothing ${SOURCE_FILES} ${HEADER_FILES}) -target_link_libraries(nothing ${SDL2_LIBRARY} m) +target_link_libraries(nothing ${SDL2_LIBRARY} ${SDL2_MIXER_LIBRARY}) + +if(("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "CLANG")) + set(CMAKE_C_FLAGS + "${CMAKE_C_FLAGS} \ + -Wall \ + -Werror \ + -Wextra \ + -Wconversion \ + -Wunused \ + -Wunused-function \ + -Wunused-label \ + -Wunused-macros \ + -Wunused-parameter \ + -Wunused-value \ + -Wunused-variable \ + -Wcast-align \ + -Wcast-qual \ + -Wmissing-declarations \ + -Wredundant-decls \ + -Wmissing-prototypes \ + -Wnested-externs \ + -Wpointer-arith \ + -Wshadow \ + -Wstrict-prototypes \ + -Wwrite-strings \ + -Wswitch \ + -fno-common \ + -pedantic \ + -std=c11 \ + -O3") + target_link_libraries(nothing m) +endif() +if(WIN32) + target_link_libraries(nothing Imm32 Version winmm) +endif() + +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/sounds DESTINATION ${CMAKE_CURRENT_BINARY_DIR})