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 include_directories(SYSTEM
26 include_directories(BEFORE
30 if ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD" OR "${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD")
31 link_directories("/usr/local/lib")
32 include_directories("/usr/local/include")
35 if ("${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD")
36 link_directories("/usr/X11R6/lib")
37 include_directories("/usr/X11R6/include")
40 add_compile_options(-Wall -Wextra -Wpedantic -Werror)
43 "${DEPS_DIR}/dragontype/array.c"
44 "${DEPS_DIR}/dragontype/bintree.c"
45 "${DEPS_DIR}/dragontype/list.c"
46 "${DEPS_DIR}/dragontype/number.c"
47 "${DEPS_DIR}/dragontype/queue.c"
48 "${DEPS_DIR}/dragonport/asprintf.c"
49 "${DEPS_DIR}/perlin/perlin.c"
63 add_executable(Dragonblocks
68 client/client_commands.c
71 client/client_player.c
90 target_link_libraries(Dragonblocks
97 target_include_directories(Dragonblocks PUBLIC
98 ${FREETYPE_INCLUDE_DIRS}
101 add_executable(DragonblocksServer
107 server/server_commands.c
113 target_link_libraries(DragonblocksServer
117 add_custom_target(version
118 COMMAND ${CMAKE_COMMAND} -DSOURCE_DIR=${CMAKE_SOURCE_DIR} -P ${CMAKE_SOURCE_DIR}/version.cmake
121 add_dependencies(Dragonblocks version)
122 add_dependencies(DragonblocksServer version)
124 if (CMAKE_BUILD_TYPE STREQUAL "Release")
125 add_compile_definitions(RELEASE)