]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - CMakeLists.txt
Add minetest.bulk_set_node call + optimize Environment::set_node call (#6958)
[dragonfireclient.git] / CMakeLists.txt
index df5c00e08a3223238aa768ad61606a9d756375a4..33e7c93b3914f451bc7d9a9186e9ec5dec8bd0bd 100644 (file)
@@ -11,11 +11,13 @@ set(PROJECT_NAME_CAPITALIZED "Minetest")
 
 # Works only for cmake 3.1 and greater
 set(CMAKE_CXX_STANDARD 11)
+set(GCC_MINIMUM_VERSION "4.8")
+set(CLANG_MINIMUM_VERSION "3.4")
 
 # Also remember to set PROTOCOL_VERSION in network/networkprotocol.h when releasing
 set(VERSION_MAJOR 0)
-set(VERSION_MINOR 4)
-set(VERSION_PATCH 16)
+set(VERSION_MINOR 5)
+set(VERSION_PATCH 0)
 set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string")
 
 # Change to false for releases
@@ -203,6 +205,23 @@ find_package(GMP REQUIRED)
 find_package(Json REQUIRED)
 find_package(Lua REQUIRED)
 
+# JsonCPP doesn't compile well on GCC 4.8
+if(NOT ENABLE_SYSTEM_JSONCPP)
+       set(GCC_MINIMUM_VERSION "4.9")
+endif()
+
+if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+       if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "${GCC_MINIMUM_VERSION}")
+               message(FATAL_ERROR "Insufficient gcc version, found ${CMAKE_CXX_COMPILER_VERSION}. "
+                       "Version ${GCC_MINIMUM_VERSION} or higher is required.")
+       endif()
+elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+       if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "${CLANG_MINIMUM_VERSION}")
+               message(FATAL_ERROR "Insufficient clang version, found ${CMAKE_CXX_COMPILER_VERSION}. "
+                       "Version ${CLANG_MINIMUM_VERSION} or higher is required.")
+       endif()
+endif()
+
 # Subdirectories
 # Be sure to add all relevant definitions above this