]> git.lizzy.rs Git - minetest.git/blob - cmake/Modules/FindJson.cmake
Tile: Fix segfault caused by invalid PNG data
[minetest.git] / cmake / Modules / FindJson.cmake
1 # Look for JsonCpp, with fallback to bundeled version
2
3 mark_as_advanced(JSON_LIBRARY JSON_INCLUDE_DIR)
4 option(ENABLE_SYSTEM_JSONCPP "Enable using a system-wide JsonCpp" TRUE)
5 set(USE_SYSTEM_JSONCPP FALSE)
6
7 if(ENABLE_SYSTEM_JSONCPP)
8         find_library(JSON_LIBRARY NAMES jsoncpp)
9         find_path(JSON_INCLUDE_DIR json/allocator.h PATH_SUFFIXES jsoncpp)
10
11         if(JSON_LIBRARY AND JSON_INCLUDE_DIR)
12                 message(STATUS "Using JsonCpp provided by system.")
13                 set(USE_SYSTEM_JSONCPP TRUE)
14         endif()
15 endif()
16
17 if(NOT USE_SYSTEM_JSONCPP)
18         message(STATUS "Using bundled JsonCpp library.")
19         set(JSON_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/jsoncpp)
20         set(JSON_LIBRARY jsoncpp)
21         add_subdirectory(lib/jsoncpp)
22 endif()
23
24 include(FindPackageHandleStandardArgs)
25 find_package_handle_standard_args(Json DEFAULT_MSG JSON_LIBRARY JSON_INCLUDE_DIR)