X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=CMakeLists.txt;h=5dfc857d364fad852049354fe5e5ed32f79805f4;hb=a65f6f07f3a5601207b790edcc8cc945133112f7;hp=e542d3509c44ac3f94d0dd3c0c81704e95b3cef5;hpb=2dc73d239a42218fcf4de7b21f2898f0935b96b1;p=minetest.git diff --git a/CMakeLists.txt b/CMakeLists.txt index e542d3509..5dfc857d3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,13 +11,14 @@ endif() project(minetest) set(PROJECT_NAME_CAPITALIZED "Minetest") -set(CMAKE_CXX_STANDARD 11) -set(GCC_MINIMUM_VERSION "4.8") -set(CLANG_MINIMUM_VERSION "3.4") +set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD_REQUIRED TRUE) +set(GCC_MINIMUM_VERSION "5.1") +set(CLANG_MINIMUM_VERSION "3.5") # Also remember to set PROTOCOL_VERSION in network/networkprotocol.h when releasing set(VERSION_MAJOR 5) -set(VERSION_MINOR 5) +set(VERSION_MINOR 6) set(VERSION_PATCH 0) set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string") @@ -26,7 +27,7 @@ set(DEVELOPMENT_BUILD TRUE) set(VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") if(VERSION_EXTRA) - set(VERSION_STRING ${VERSION_STRING}-${VERSION_EXTRA}) + set(VERSION_STRING "${VERSION_STRING}-${VERSION_EXTRA}") elseif(DEVELOPMENT_BUILD) set(VERSION_STRING "${VERSION_STRING}-dev") endif() @@ -52,7 +53,6 @@ set(BUILD_CLIENT TRUE CACHE BOOL "Build client") set(BUILD_SERVER FALSE CACHE BOOL "Build server") set(BUILD_UNITTESTS TRUE CACHE BOOL "Build unittests") - set(WARN_ALL TRUE CACHE BOOL "Enable -Wall for Release build") if(NOT CMAKE_BUILD_TYPE) @@ -64,8 +64,21 @@ endif() set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/") +set(IRRLICHTMT_BUILD_DIR "" CACHE PATH "Path to IrrlichtMt build directory.") +if(NOT "${IRRLICHTMT_BUILD_DIR}" STREQUAL "") + find_package(IrrlichtMt QUIET + PATHS "${IRRLICHTMT_BUILD_DIR}" + NO_DEFAULT_PATH + ) + + if(NOT TARGET IrrlichtMt::IrrlichtMt) + # find_package() searches certain subdirectories. ${PATH}/cmake is not + # the only one, but it is the one where IrrlichtMt is supposed to export + # IrrlichtMtConfig.cmake + message(FATAL_ERROR "Could not find IrrlichtMtConfig.cmake in ${IRRLICHTMT_BUILD_DIR}/cmake.") + endif() # This is done here so that relative search paths are more reasonable -if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/lib/irrlichtmt") +elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/lib/irrlichtmt") message(STATUS "Using user-provided IrrlichtMt at subdirectory 'lib/irrlichtmt'") if(BUILD_CLIENT) # tell IrrlichtMt to create a static library @@ -101,11 +114,13 @@ else() # Note that we can't use target_include_directories() since that doesn't work for IMPORTED targets before CMake 3.11 set_target_properties(IrrlichtMt::IrrlichtMt PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${IRRLICHT_INCLUDE_DIR}") - else() - message(STATUS "Found IrrlichtMt ${IrrlichtMt_VERSION}") endif() endif() +if(TARGET IrrlichtMt::IrrlichtMt) + message(STATUS "Found IrrlichtMt ${IrrlichtMt_VERSION}") +endif() + # Installation @@ -247,10 +262,10 @@ endif() find_package(GMP REQUIRED) find_package(Json REQUIRED) find_package(Lua REQUIRED) - -# JsonCpp doesn't compile well on GCC 4.8 -if(NOT USE_SYSTEM_JSONCPP) - set(GCC_MINIMUM_VERSION "4.9") +if(NOT USE_LUAJIT) + set(LUA_BIT_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/bitop) + set(LUA_BIT_LIBRARY bitop) + add_subdirectory(lib/bitop) endif() if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") @@ -267,7 +282,6 @@ endif() # Subdirectories # Be sure to add all relevant definitions above this - add_subdirectory(src)