Skip to content

Instantly share code, notes, and snippets.

@jirihnidek
Created June 26, 2013 08:15
Show Gist options
  • Save jirihnidek/5865660 to your computer and use it in GitHub Desktop.
Save jirihnidek/5865660 to your computer and use it in GitHub Desktop.
This is simple CMake find module for libwebsockets library
# This module tries to find libWebsockets library and include files
#
# LIBWEBSOCKETS_INCLUDE_DIR, path where to find libwebsockets.h
# LIBWEBSOCKETS_LIBRARY_DIR, path where to find libwebsockets.so
# LIBWEBSOCKETS_LIBRARIES, the library to link against
# LIBWEBSOCKETS_FOUND, If false, do not try to use libWebSockets
#
# This currently works probably only for Linux
FIND_PATH ( LIBWEBSOCKETS_INCLUDE_DIR libwebsockets.h
/usr/local/include
/usr/include
)
FIND_LIBRARY ( LIBWEBSOCKETS_LIBRARIES websockets
/usr/local/lib
/usr/lib
)
GET_FILENAME_COMPONENT( LIBWEBSOCKETS_LIBRARY_DIR ${LIBWEBSOCKETS_LIBRARIES} PATH )
SET ( LIBWEBSOCKETS_FOUND "NO" )
IF ( LIBWEBSOCKETS_INCLUDE_DIR )
IF ( LIBWEBSOCKETS_LIBRARIES )
SET ( LIBWEBSOCKETS_FOUND "YES" )
ENDIF ( LIBWEBSOCKETS_LIBRARIES )
ENDIF ( LIBWEBSOCKETS_INCLUDE_DIR )
MARK_AS_ADVANCED(
LIBWEBSOCKETS_LIBRARY_DIR
LIBWEBSOCKETS_INCLUDE_DIR
LIBWEBSOCKETS_LIBRARIES
)
@warmcat
Copy link

warmcat commented Oct 13, 2015

Thanks, I added it... it's alot easier to send a patch.

@dmikushin
Copy link

Thanks for this script. Here is a version that is modified in order to properly complain in case libwebsockets are not found:

# This module tries to find libWebsockets library and include files
#
# LIBWEBSOCKETS_INCLUDE_DIR, path where to find libwebsockets.h
# LIBWEBSOCKETS_LIBRARY_DIR, path where to find libwebsockets.so
# LIBWEBSOCKETS_LIBRARIES, the library to link against
# LIBWEBSOCKETS_FOUND, If false, do not try to use libWebSockets
#
# This currently works probably only for Linux

include(FindPackageHandleStandardArgs)
SET ( LIBWEBSOCKETS_FOUND FALSE )

FIND_PATH ( LIBWEBSOCKETS_INCLUDE_DIR NAMES libwebsockets.h
    HINTS /usr/local/include /usr/include
)

FIND_LIBRARY ( LIBWEBSOCKETS_LIBRARIES NAMES websockets
    HINTS /usr/local/lib /usr/lib
)

GET_FILENAME_COMPONENT( LIBWEBSOCKETS_LIBRARY_DIR ${LIBWEBSOCKETS_LIBRARIES} PATH )

IF ( LIBWEBSOCKETS_INCLUDE_DIR )
    IF ( LIBWEBSOCKETS_LIBRARIES )
        SET ( LIBWEBSOCKETS_FOUND TRUE )
    ENDIF ( LIBWEBSOCKETS_LIBRARIES )
ENDIF ( LIBWEBSOCKETS_INCLUDE_DIR )


IF ( LIBWEBSOCKETS_FOUND )
    MARK_AS_ADVANCED(
        LIBWEBSOCKETS_LIBRARY_DIR
        LIBWEBSOCKETS_INCLUDE_DIR
        LIBWEBSOCKETS_LIBRARIES
    )
ENDIF ( )

find_package_handle_standard_args(LibWebSockets
	DEFAULT_MSG
	LIBWEBSOCKETS_INCLUDE_DIR
	LIBWEBSOCKETS_LIBRARIES)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment