aboutsummaryrefslogtreecommitdiff
path: root/CMake
diff options
context:
space:
mode:
authorMarius Orcsik <marius.orcsik@rocket-internet.de>2017-10-27 12:14:40 +0200
committerMarius Orcsik <marius.orcsik@rocket-internet.de>2017-10-27 12:17:02 +0200
commit69e9b1386ffa2f78bfa69ccd84e815c9f1d5920e (patch)
treead7b8b58b12924e640c93f549fa33933936f558b /CMake
parentd75ee3f9ce1e7143375252cc86aeccbbc752599b (diff)
downloadsway-69e9b1386ffa2f78bfa69ccd84e815c9f1d5920e.tar.xz
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)