diff options
author | wsnipex <wsnipex@a1.net> | 2018-04-23 09:53:10 +0200 |
---|---|---|
committer | wsnipex <wsnipex@a1.net> | 2018-04-23 13:59:12 +0200 |
commit | 550266177d153ed8dc87f5c458977c76aed95131 (patch) | |
tree | f5127d49549eecc8b1ca3b124f38ee5d905afbce /cmake | |
parent | 8ca46799ec502abad20f03edc11cd0c1b5b4b068 (diff) |
[cmake] fix FindWaylandpp
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) |