]> git.lizzy.rs Git - nothing.git/blobdiff - CMakeLists.txt
(#122) Add Lava pit to the level 01
[nothing.git] / CMakeLists.txt
index 1a69d904ac64e1de840c8fbb556de6aa4e0df65a..3d8ba684e04bc68377566e515e37a2604c2fd4a8 100644 (file)
@@ -1,13 +1,20 @@
 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(${SDL2_INCLUDE_DIR})
+include_directories(${SDL2_MIXER_INCLUDE_DIR})
 
 set(SOURCE_FILES
   src/main.c
@@ -16,6 +23,20 @@ set(SOURCE_FILES
   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/glitchy_rect.c
+  src/wavy_rect.c
 )
 
 set(HEADER_FILES
@@ -24,7 +45,56 @@ set(HEADER_FILES
   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/glitchy_rect.h
+  src/wavy_rect.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 \
+     -fno-common \
+     -pedantic \
+     -std=c11 \
+     -O3")
+  target_link_libraries(nothing m)
+endif()
+if(WIN32)
+  target_link_libraries(nothing Imm32 Version winmm)
+endif()