--- /dev/null
+find_path ( YAJL_INCLUDE_DIR NAMES yajl/yajl_parse.h yajl/yajl_version.h DOC "Path to YAJL header files." )
+mark_as_advanced ( YAJL_INCLUDE_DIR )
+
+find_library ( YAJL_LIB NAMES yajl DOC "Location of YAJL library." )
+mark_as_advanced ( YAJL_LIB )
+
+if ( YAJL_INCLUDE_DIR )
+ file ( READ "${YAJL_INCLUDE_DIR}/yajl/yajl_version.h" ver )
+
+ string ( REGEX MATCH "YAJL_MAJOR ([0-9]*)" _ ${ver} )
+ set ( ver_major ${CMAKE_MATCH_1} )
+
+ string ( REGEX MATCH "YAJL_MINOR ([0-9]*)" _ ${ver} )
+ set ( ver_minor ${CMAKE_MATCH_1} )
+
+ string ( REGEX MATCH "YAJL_MICRO ([0-9]*)" _ ${ver} )
+ set ( ver_micro ${CMAKE_MATCH_1} )
+
+ set ( YAJL_VERSION "${ver_major}.${ver_minor}.${ver_micro}" )
+
+ unset ( ver )
+ unset ( ver_major )
+ unset ( ver_minor )
+ unset ( ver_micro )
+endif ( YAJL_INCLUDE_DIR )
+
+include ( FindPackageHandleStandardArgs )
+find_package_handle_standard_args ( YAJL
+ REQUIRED_VARS YAJL_LIB YAJL_INCLUDE_DIR
+ VERSION_VAR YAJL_VERSION )
+
+# Create the imported target
+if ( YAJL_FOUND )
+ set ( YAJL_INCLUDE_DIRS ${YAJL_INCLUDE_DIR} )
+ set ( YAJL_LIBRARIES ${YAJL_LIB} )
+ if ( NOT TARGET YAJL::YAJL )
+ add_library ( YAJL::YAJL UNKNOWN IMPORTED )
+ set_target_properties ( YAJL::YAJL PROPERTIES
+ IMPORTED_LOCATION "${YAJL_LIB}"
+ INTERFACE_INCLUDE_DIRECTORIES "${YAJL_INCLUDE_DIR}" )
+ endif ( NOT TARGET YAJL::YAJL )
+endif ( YAJL_FOUND )