]> git.lizzy.rs Git - dragonblocks_alpha.git/blobdiff - src/CMakeLists.txt
Add configuration files for client and server
[dragonblocks_alpha.git] / src / CMakeLists.txt
index f04e38f64784619b421862a2768060dd8f671fa6..3fa7299a7b1aab8645a55f59edd1d54973154d5c 100644 (file)
@@ -17,49 +17,73 @@ link_libraries(
        z
 )
 
+set(DEPS_DIR "${CMAKE_SOURCE_DIR}/../deps/")
+
 include_directories(SYSTEM
-       "${CMAKE_SOURCE_DIR}/../deps/"
+       ${DEPS_DIR}
 )
 
 include_directories(BEFORE
        ${CMAKE_SOURCE_DIR}
 )
 
-add_compile_options(-Wall -Wextra -Wpedantic -Werror)
+if ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD" OR "${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD")
+       link_directories("/usr/local/lib")
+       include_directories("/usr/local/include")
+endif()
+
+if ("${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD")
+       link_directories("/usr/X11R6/lib")
+       include_directories("/usr/X11R6/include")
+endif()
+
+add_compile_options(-Wall -Wextra -Werror)
+
+set(DEPS_SOURCES
+       "${DEPS_DIR}/dragontype/array.c"
+       "${DEPS_DIR}/dragontype/bintree.c"
+       "${DEPS_DIR}/dragontype/list.c"
+       "${DEPS_DIR}/dragontype/number.c"
+       "${DEPS_DIR}/dragontype/queue.c"
+       "${DEPS_DIR}/dragonport/asprintf.c"
+       "${DEPS_DIR}/perlin/perlin.c"
+)
 
-set(SOURCES_COMMON
-       array.c
-       bintree.c
+set(COMMON_SOURCES
+       ${DEPS_SOURCES}
+       config.c
+       day.c
        environment.c
-       list.c
        map.c
-       signal_handlers.c
-       util.c
-       types.c
        node.c
        perlin.c
-       queue.c
+       signal_handlers.c
+       util.c
 )
 
 add_executable(Dragonblocks
-       ${SOURCES_COMMON}
+       ${COMMON_SOURCES}
        client/blockmesh.c
        client/camera.c
        client/client.c
        client/client_commands.c
+       client/client_config.c
        client/client_map.c
        client/client_node.c
        client/client_player.c
        client/cube.c
+       client/debug_menu.c
        client/facecache.c
        client/font.c
+       client/frustum.c
        client/game.c
-       client/hud.c
+       client/gui.c
        client/input.c
        client/mesh.c
        client/object.c
        client/scene.c
        client/shader.c
+       client/sky.c
        client/texture.c
        client/vertex.c
        client/window.c
@@ -77,19 +101,29 @@ target_include_directories(Dragonblocks PUBLIC
 )
 
 add_executable(DragonblocksServer
-       ${SOURCES_COMMON}
+       ${COMMON_SOURCES}
        server/biomes.c
        server/database.c
        server/mapgen.c
        server/server.c
        server/server_commands.c
+       server/server_config.c
        server/server_map.c
+       server/trees.c
+       server/voxelctx.c
 )
 
 target_link_libraries(DragonblocksServer
        sqlite3
 )
 
+add_custom_target(version
+       COMMAND ${CMAKE_COMMAND} -DSOURCE_DIR=${CMAKE_SOURCE_DIR} -P ${CMAKE_SOURCE_DIR}/version.cmake
+)
+
+add_dependencies(Dragonblocks version)
+add_dependencies(DragonblocksServer version)
+
 if (CMAKE_BUILD_TYPE STREQUAL "Release")
        add_compile_definitions(RELEASE)
 endif()