diff options
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/modules/FindWaylandpp.cmake | 54 |
1 files changed, 41 insertions, 13 deletions
diff --git a/cmake/modules/FindWaylandpp.cmake b/cmake/modules/FindWaylandpp.cmake index 20d9d38c64..fa63ec1b0a 100644 --- a/cmake/modules/FindWaylandpp.cmake +++ b/cmake/modules/FindWaylandpp.cmake @@ -10,15 +10,30 @@ # WAYLANDPP_DEFINITIONS - the waylandpp definitions # WAYLANDPP_SCANNER - path to wayland-scanner++ -pkg_check_modules(WAYLANDPP wayland-client++ wayland-egl++ wayland-cursor++) -pkg_check_modules(PC_WAYLANDPP_SCANNER wayland-scanner++) -if(WAYLANDPP_FOUND) +pkg_check_modules(PC_WAYLANDPP wayland-client++ wayland-egl++ wayland-cursor++ QUIET) +pkg_check_modules(PC_WAYLANDPP_SCANNER wayland-scanner++ QUIET) +if(PC_WAYLANDPP_FOUND) pkg_get_variable(PC_WAYLANDPP_PKGDATADIR wayland-client++ pkgdatadir) endif() if(PC_WAYLANDPP_SCANNER_FOUND) pkg_get_variable(PC_WAYLANDPP_SCANNER wayland-scanner++ wayland_scannerpp) endif() +find_path(WAYLANDPP_INCLUDE_DIR wayland-client.hpp PATHS ${PC_WAYLANDPP_INCLUDEDIR}) + +find_library(WAYLANDPP_CLIENT_LIBRARY NAMES wayland-client++ + PATHS ${PC_WAYLANDPP_LIBRARY_DIRS}) + +find_library(WAYLANDPP_CLIENT_EXTRA_LIBRARY NAMES wayland-client-extra++ + PATHS ${PC_WAYLANDPP_LIBRARY_DIRS}) + +find_library(WAYLANDPP_CURSOR_LIBRARY NAMES wayland-cursor++ + PATHS ${PC_WAYLANDPP_LIBRARY_DIRS}) + +find_library(WAYLANDPP_EGL NAMES wayland-egl++ + PATHS ${PC_WAYLANDPP_LIBRARY_DIRS}) + + # Promote to cache variables so all code can access it set(WAYLANDPP_PROTOCOLS_DIR "${PC_WAYLANDPP_PKGDATADIR}/protocols" CACHE INTERNAL "") @@ -27,13 +42,26 @@ set(WAYLANDPP_PROTOCOLS_DIR "${PC_WAYLANDPP_PKGDATADIR}/protocols" CACHE INTERNA find_program(WAYLANDPP_SCANNER wayland-scanner++ PATHS ${PC_WAYLANDPP_SCANNER}) include (FindPackageHandleStandardArgs) -find_package_handle_standard_args (Waylandpp - REQUIRED_VARS - WAYLANDPP_FOUND - WAYLANDPP_SCANNER - VERSION_VAR - WAYLANDPP_wayland-client++_VERSION) - -set(WAYLANDPP_DEFINITIONS -DHAVE_WAYLAND=1) -# Also pass on library directories -set(WAYLANDPP_LIBRARIES ${WAYLANDPP_LDFLAGS}) +find_package_handle_standard_args(Waylandpp + REQUIRED_VARS WAYLANDPP_INCLUDE_DIR + WAYLANDPP_CLIENT_LIBRARY + WAYLANDPP_CLIENT_EXTRA_LIBRARY + WAYLANDPP_CURSOR_LIBRARY + WAYLANDPP_EGL + WAYLANDPP_SCANNER + VERSION_VAR WAYLANDPP_wayland-client++_VERSION) + +if(WAYLANDPP_FOUND) + set(WAYLANDPP_INCLUDE_DIRS ${WAYLANDPP_INCLUDE_DIR}) + set(WAYLANDPP_LIBRARIES ${WAYLANDPP_CLIENT_LIBRARY} + ${WAYLANDPP_CLIENT_EXTRA_LIBRARY} + ${WAYLANDPP_CURSOR_LIBRARY} + ${WAYLANDPP_EGL}) + set(WAYLANDPP_DEFINITIONS -DHAVE_WAYLAND=1) +endif() + +mark_as_advanced(WAYLANDPP_INCLUDE_DIR + WAYLANDPP_CLIENT_LIBRARY + WAYLANDPP_CLIENT_EXTRA_LIBRARY + WAYLANDPP_CURSOR_LIBRARY + WAYLANDPP_EGL WAYLANDPP_SCANNER) |