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 if ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD" OR "${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD")
33 link_directories("/usr/local/lib")
34 include_directories("/usr/local/include")
37 if ("${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD")
38 link_directories("/usr/X11R6/lib")
39 include_directories("/usr/X11R6/include")
42 add_compile_options(-Wall -Wextra -Wpedantic -Werror)
52 "${DEPS_DIR}/dragontype/implementation.c"
53 "${DEPS_DIR}/dragonport/asprintf.c"
54 "${DEPS_DIR}/perlin/perlin.c"
57 add_executable(Dragonblocks
62 client/client_commands.c
65 client/client_player.c
84 target_link_libraries(Dragonblocks
91 target_include_directories(Dragonblocks PUBLIC
92 ${FREETYPE_INCLUDE_DIRS}
95 add_executable(DragonblocksServer
101 server/server_commands.c
105 target_link_libraries(DragonblocksServer
109 add_custom_target(version
110 COMMAND ${CMAKE_COMMAND} -DSOURCE_DIR=${CMAKE_SOURCE_DIR} -P ${CMAKE_SOURCE_DIR}/version.cmake
113 add_dependencies(Dragonblocks version)
114 add_dependencies(DragonblocksServer version)
116 if (CMAKE_BUILD_TYPE STREQUAL "Release")
117 add_compile_definitions(RELEASE)