1 cmake_minimum_required(VERSION 3.12)
5 if(NOT CMAKE_BUILD_TYPE)
6 set(CMAKE_BUILD_TYPE Debug)
9 find_package(OpenGL REQUIRED)
10 find_package(GLEW REQUIRED)
11 find_package(glfw3 3.3 REQUIRED)
12 find_package(Freetype REQUIRED)
20 set(DEPS_DIR "${CMAKE_SOURCE_DIR}/../deps/")
22 add_compile_definitions(DRAGONTYPE_ENDIAN_HEADER="${CMAKE_SOURCE_DIR}/../deps/endian.h/endian.h")
24 include_directories(SYSTEM
28 include_directories(BEFORE
32 add_compile_options(-Wall -Wextra -Wpedantic -Werror)
41 "${DEPS_DIR}/dragontype/implementation.c"
42 "${DEPS_DIR}/perlin/perlin.c"
45 add_executable(Dragonblocks
50 client/client_commands.c
53 client/client_player.c
70 target_link_libraries(Dragonblocks
77 target_include_directories(Dragonblocks PUBLIC
78 ${FREETYPE_INCLUDE_DIRS}
81 add_executable(DragonblocksServer
87 server/server_commands.c
91 target_link_libraries(DragonblocksServer
95 add_custom_target(version
96 COMMAND ${CMAKE_COMMAND} -DSOURCE_DIR=${CMAKE_SOURCE_DIR} -P ${CMAKE_SOURCE_DIR}/version.cmake
99 add_dependencies(Dragonblocks version)
100 add_dependencies(DragonblocksServer version)
102 if (CMAKE_BUILD_TYPE STREQUAL "Release")
103 add_compile_definitions(RELEASE)