]> git.lizzy.rs Git - minetest.git/blobdiff - src/CMakeLists.txt
Small fixes of minetest.has_feature
[minetest.git] / src / CMakeLists.txt
index 0ed0b8015358a446423c68cd82c4c8eee14edf35..32e25c3bd00639bb7043724d26ecbf4c55355942 100644 (file)
@@ -27,6 +27,12 @@ set(CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING
 mark_as_advanced(EXECUTABLE_OUTPUT_PATH LIBRARY_OUTPUT_PATH)
 
 
+if(NOT (BUILD_CLIENT OR BUILD_SERVER))
+       message(WARNING "Neither BUILD_CLIENT nor BUILD_SERVER is set! Setting BUILD_SERVER=true")
+       set(BUILD_SERVER TRUE)
+endif()
+
+
 option(ENABLE_CURL "Enable cURL support for fetching media" TRUE)
 set(USE_CURL FALSE)
 
@@ -40,6 +46,15 @@ else()
        mark_as_advanced(CLEAR CURL_LIBRARY CURL_INCLUDE_DIR)
 endif()
 
+if(NOT USE_CURL)
+       if(BUILD_CLIENT)
+               message(WARNING "cURL is required to load the server list")
+       endif()
+       if(BUILD_SERVER)
+               message(WARNING "cURL is required to announce to the server list")
+       endif()
+endif()
+
 
 option(ENABLE_GETTEXT "Use GetText for internationalization" FALSE)
 set(USE_GETTEXT FALSE)
@@ -180,6 +195,21 @@ endif(ENABLE_REDIS)
 find_package(SQLite3 REQUIRED)
 find_package(Json REQUIRED)
 
+OPTION(ENABLE_SPATIAL "Enable SpatialIndex AreaStore backend" TRUE)
+set(USE_SPATIAL FALSE)
+
+if(ENABLE_SPATIAL)
+       find_library(SPATIAL_LIBRARY spatialindex)
+       find_path(SPATIAL_INCLUDE_DIR spatialindex/SpatialIndex.h)
+       if(SPATIAL_LIBRARY AND SPATIAL_INCLUDE_DIR)
+               set(USE_SPATIAL TRUE)
+               message(STATUS "SpatialIndex AreaStore backend enabled.")
+               include_directories(${SPATIAL_INCLUDE_DIR})
+       else(SPATIAL_LIBRARY AND SPATIAL_INCLUDE_DIR)
+               message(STATUS "SpatialIndex not found!")
+       endif(SPATIAL_LIBRARY AND SPATIAL_INCLUDE_DIR)
+endif(ENABLE_SPATIAL)
+
 
 if(NOT MSVC)
        set(USE_GPROF FALSE CACHE BOOL "Use -pg flag for g++")
@@ -282,13 +312,14 @@ add_custom_target(GenerateVersion
        WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
 
 
-add_subdirectory(jthread)
+add_subdirectory(threading)
 add_subdirectory(network)
 add_subdirectory(script)
 add_subdirectory(unittest)
 add_subdirectory(util)
 
 set(common_SRCS
+       areastore.cpp
        ban.cpp
        cavegen.cpp
        clientiface.cpp
@@ -532,6 +563,9 @@ if(BUILD_CLIENT)
        if (USE_REDIS)
                target_link_libraries(${PROJECT_NAME} ${REDIS_LIBRARY})
        endif()
+       if (USE_SPATIAL)
+               target_link_libraries(${PROJECT_NAME} ${SPATIAL_LIBRARY})
+       endif()
 endif(BUILD_CLIENT)
 
 
@@ -556,6 +590,9 @@ if(BUILD_SERVER)
        if (USE_REDIS)
                target_link_libraries(${PROJECT_NAME}server ${REDIS_LIBRARY})
        endif()
+       if (USE_SPATIAL)
+               target_link_libraries(${PROJECT_NAME}server ${SPATIAL_LIBRARY})
+       endif()
        if(USE_CURL)
                target_link_libraries(
                        ${PROJECT_NAME}server