1
0
Герхард PICCORO Lenz McKAY d2649999a9 fix package , fix ci build, tune cmake flags and rules
* tune up gitlab ci:
  * remove package part cos we have obs service
  * add feladora 38 and feladora 37 too
  * remove winbuntu 14, add debian 11, 12, winbuntu 17, 20, 22
  * use minenux minetest repo game (seems not work)
  * remove non buildable stages.. only build and package shit win
  * set multicraft as prefix path and artifacts
  * back cmake in list new behaviour for blacklist locales
  * gitlab ci buil for debian 8 using backports on jsoncpp
  * solved https://github.com/minetest/minetest/issues/6567
  * solved https://github.com/minetest/minetest/issues/7681
* cmake fixed to minimum supported and c++11 standar able
  * close https://codeberg.org/minenux/minetest-engine-multicraft2/issues/51
  * allow distro hardening and cflags env
    close https://codeberg.org/minenux/minetest-engine-multicraft2/issues/55
  * Fix no locales being generated when APPLY_LOCALE_BLACKLIST=0
  * Fix linking with Postgres libs:
  * closes https://github.com/minetest/minetest/issues/12149
  * closes https://github.com/minetest/minetest/issues/11219
  * PostgreSQL fallback code missed the includes
  https://github.com/minetest/minetest/issues/11219
  * a24899bf2d
  * 3e2145d662
  * integrates https://github.com/minetest/minetest/pull/11215
  *  a24899bf2d
  * backported 998e4820c9
* tune up windoser build scripts for multicraft:
  * fix build paths builds script due repo change name
  * fix winbuntu image fosal and fix missing deploy for win shit package
* use SSE registers for FP operations on i386 for modern gcc platforms only
  * only use if related are given, by example 32bit using gcc 
    compilers/stdlibs becouse of the long time bugs around those 
    errors by desing, its not about to crash the engine.. its about to 
    permits to hacked clients (either players or the client program per se)
    making predictable results, so predictable results permits to catch 
    securit issues!
  * floating point problems are only on modern gcc and modern platform 
    arches, raising problems like bad calculations positions.. 
    a long time bug  reported at https://git.minetest.land/Mineclonia/Mineclonia/issues/201
    and addressed at https://github.com/minetest/minetest/issues/11742#issuecomment-994444462
    with enought explanations but not accepted byt stupid developers..
    now years later.. the problems were solved and reconiced as big bug!
    A workaround were proposed at https://github.com/minetest/minetest/pull/12389/files
    but never accepted (included in this repository), cos was superset by 8ff3fadba0
  * closes https://codeberg.org/minenux/minetest-engine-multicraft2/issues/57
2023-09-16 02:16:25 +00:00

31 lines
1.1 KiB
CMake

# Look for JSONCPP if asked to.
# We use a bundled version by default because some distros ship versions of
# JSONCPP that cause segfaults and other memory errors when we link with them.
# See https://github.com/minetest/minetest/issues/1793
mark_as_advanced(JSON_LIBRARY JSON_INCLUDE_DIR)
option(ENABLE_SYSTEM_JSONCPP "Enable using a system-wide JSONCPP. May cause segfaults and other memory errors!" FALSE)
if(ENABLE_SYSTEM_JSONCPP)
find_library(JSON_LIBRARY NAMES jsoncpp)
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5)
find_path(JSON_INCLUDE_DIR json/features.h PATH_SUFFIXES jsoncpp)
else()
find_path(JSON_INCLUDE_DIR json/allocator.h PATH_SUFFIXES jsoncpp)
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Json DEFAULT_MSG JSON_LIBRARY JSON_INCLUDE_DIR)
if(JSON_FOUND)
message(STATUS "Using system JSONCPP library.")
endif()
endif()
if(NOT JSON_FOUND)
message(STATUS "Using bundled JSONCPP library.")
set(JSON_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/jsoncpp)
set(JSON_LIBRARY jsoncpp)
add_subdirectory(lib/jsoncpp)
endif()