DEADSOFTWARE

1a511c654e61aecd5dafdf802e4c7b9ce9d90644
[flatwaifu.git] / src / CMakeLists.txt
1 cmake_minimum_required(VERSION 3.6)
2 project(doom2d C)
4 option(WITH_OPENGL "Build with OpenGL render" ON)
5 option(WITH_SOFTWARE "Build with Software render" ON)
7 set(D2D_GAME_ROOT .)
8 set(D2D_OPENGL_ROOT ${D2D_GAME_ROOT}/gl)
9 set(D2D_SOFTWARE_ROOT ${D2D_GAME_ROOT}/soft)
10 set(D2D_SDL_ROOT ${D2D_GAME_ROOT}/sdl)
12 find_package(SDL REQUIRED)
13 find_package(SDL_mixer REQUIRED)
14 if (WITH_OPENGL)
15 find_package(OpenGL REQUIRED)
16 endif (WITH_OPENGL)
18 aux_source_directory(${D2D_GAME_ROOT} D2D_GAME_SRC)
19 aux_source_directory(${D2D_OPENGL_ROOT} D2D_OPENGL_SRC)
20 aux_source_directory(${D2D_SOFTWARE_ROOT} D2D_SOFTWARE_SRC)
21 aux_source_directory(${D2D_SDL_ROOT} D2D_SDL_SRC)
23 if (NOT CMAKE_BUILD_TYPE)
24 set(CMAKE_BUILD_TYPE Release)
25 endif (NOT CMAKE_BUILD_TYPE)
26 set(CMAKE_C_FLAGS "")
27 set(CMAKE_C_FLAGS_DEBUG "-g -O0 -Wall")
28 set(CMAKE_C_FLAGS_RELEASE "-O3") # -DNDEBUG
29 set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}")
30 set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
31 set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
33 message(STATUS "=== BUILD OPTIONS ===")
34 message(STATUS "BUILD: " ${CMAKE_BUILD_TYPE})
35 message(STATUS "CFLAGS: " ${CMAKE_C_FLAGS})
37 message(STATUS "=== RENDERS ===")
38 message(STATUS "SOFTWARE: " ${WITH_SOFTWARE})
39 message(STATUS "OPENGL: " ${WITH_OPENGL})
41 if (WITH_OPENGL)
42 add_executable(doom2d-gl ${D2D_GAME_SRC} ${D2D_SDL_SRC} ${D2D_OPENGL_SRC})
43 target_include_directories(doom2d-gl PRIVATE "${D2D_GAME_ROOT}" "${SDL_INCLUDE_DIR}" "${SDLMIXER_INCLUDE_DIR}" "${OPENGL_INCLUDE_DIR}")
44 target_link_libraries(doom2d-gl "${SDL_LIBRARY}" "${SDLMIXER_LIBRARY}" "${OPENGL_LIBRARY}")
45 endif (WITH_OPENGL)
47 if (WITH_SOFTWARE)
48 add_executable(doom2d-soft ${D2D_GAME_SRC} ${D2D_SDL_SRC} ${D2D_SOFTWARE_SRC})
49 target_include_directories(doom2d-soft PRIVATE "${D2D_GAME_ROOT}" "${SDL_INCLUDE_DIR}" "${SDLMIXER_INCLUDE_DIR}")
50 target_link_libraries(doom2d-soft "${SDL_LIBRARY}" "${SDLMIXER_LIBRARY}")
51 endif (WITH_SOFTWARE)