aboutsummaryrefslogtreecommitdiff
path: root/CMake
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2017-10-27 12:14:40 +0200
committerFurkan Sahin <furkan-dev@proton.me>2017-10-27 12:14:40 +0200
commit89b612f891eda2d2e9816614271b5a298d140cc6 (patch)
treead7b8b58b12924e640c93f549fa33933936f558b /CMake
parentdb4557555b42412b701bcf654e44f76107107009 (diff)
Explicitly setting the version of json-c required
to 0.12.1. This is needed because the development version breaks the existing API of json_object_array_length() by moving the return from int to size_t. This would fix #1355
Diffstat (limited to 'CMake')
-rw-r--r--CMake/FindJsonC.cmake16
1 files changed, 14 insertions, 2 deletions
diff --git a/CMake/FindJsonC.cmake b/CMake/FindJsonC.cmake
index 2ca0df39..bbf6930c 100644
--- a/CMake/FindJsonC.cmake
+++ b/CMake/FindJsonC.cmake
@@ -8,10 +8,22 @@
#
find_package(PkgConfig)
-pkg_check_modules(PC_JSONC QUIET JSONC)
+
+if (JsonC_FIND_REQUIRED)
+ set(_pkgconfig_REQUIRED "REQUIRED")
+else()
+ set(_pkgconfig_REQUIRED "")
+endif()
+
+if(JsonC_FIND_VERSION)
+ pkg_check_modules(PC_JSONC ${_pkgconfig_REQUIRED} json-c=${JsonC_FIND_VERSION})
+else()
+ pkg_check_modules(PC_JSONC ${_pkgconfig_REQUIRED} json-c)
+endif()
+
find_path(JSONC_INCLUDE_DIRS NAMES json-c/json.h HINTS ${PC_JSONC_INCLUDE_DIRS})
find_library(JSONC_LIBRARIES NAMES json-c HINTS ${PC_JSONC_LIBRARY_DIRS})
-
include(FindPackageHandleStandardArgs)
+
find_package_handle_standard_args(JSONC DEFAULT_MSG JSONC_LIBRARIES JSONC_INCLUDE_DIRS)
mark_as_advanced(JSONC_LIBRARIES JSONC_INCLUDE_DIRS)