summaryrefslogtreecommitdiffstats
path: root/project/cmake/modules/FindYajl.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'project/cmake/modules/FindYajl.cmake')
-rw-r--r--project/cmake/modules/FindYajl.cmake27
1 files changed, 27 insertions, 0 deletions
diff --git a/project/cmake/modules/FindYajl.cmake b/project/cmake/modules/FindYajl.cmake
new file mode 100644
index 0000000..c27b03a
--- /dev/null
+++ b/project/cmake/modules/FindYajl.cmake
@@ -0,0 +1,27 @@
1# Base Io build system
2# Written by Jeremy Tregunna <jeremy.tregunna@me.com>
3#
4# Find libyajl
5pkg_check_modules(YAJL yajl>=2.0)
6if(YAJL_FOUND)
7 list(APPEND YAJL_DEFINITIONS -DYAJL_MAJOR=2)
8endif()
9
10if(NOT YAJL_FOUND)
11 find_path(YAJL_INCLUDE_DIRS yajl/yajl_common.h)
12 find_library(YAJL_LIBRARIES NAMES yajl)
13
14 file(STRINGS ${YAJL_INCLUDE_DIRS}/yajl/yajl_version.h version_header)
15 string(REGEX MATCH "YAJL_MAJOR ([0-9]+)" YAJL_VERSION_MAJOR ${version_header})
16 string(REGEX REPLACE "YAJL_MAJOR ([0-9]+)" "\\1" YAJL_VERSION_MAJOR "${YAJL_VERSION_MAJOR}")
17 if (YAJL_VERSION_MINOR LESS 2)
18 set(YAJL_INCLUDE_DIRS)
19 set(YALJ_LIBRARIES)
20 endif()
21 list(APPEND YAJL_DEFINITIONS -DYAJL_MAJOR=${YAJL_VERSION_MAJOR})
22endif()
23
24include(FindPackageHandleStandardArgs)
25find_package_handle_standard_args(Yajl DEFAULT_MSG YAJL_INCLUDE_DIRS YAJL_LIBRARIES)
26
27mark_as_advanced(YAJL_INCLUDE_DIRS YAJL_LIBRARIES YAJL_DEFINITIONS)