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)
42 "${DEPS_DIR}/dragontype/implementation.c"
43 "${DEPS_DIR}/dragonport/asprintf.c"
44 "${DEPS_DIR}/perlin/perlin.c"
47 add_executable(Dragonblocks
52 client/client_commands.c
55 client/client_player.c
73 target_link_libraries(Dragonblocks
80 target_include_directories(Dragonblocks PUBLIC
81 ${FREETYPE_INCLUDE_DIRS}
84 add_executable(DragonblocksServer
90 server/server_commands.c
94 target_link_libraries(DragonblocksServer
98 add_custom_target(version
99 COMMAND ${CMAKE_COMMAND} -DSOURCE_DIR=${CMAKE_SOURCE_DIR} -P ${CMAKE_SOURCE_DIR}/version.cmake
102 add_dependencies(Dragonblocks version)
103 add_dependencies(DragonblocksServer version)
105 if (CMAKE_BUILD_TYPE STREQUAL "Release")
106 add_compile_definitions(RELEASE)