diff options
author | Juan Ramos <juan@lunarg.com> | 2022-12-27 12:05:40 -0700 |
---|---|---|
committer | Juan Ramos <114601453+juan-lunarg@users.noreply.github.com> | 2022-12-27 13:30:48 -0700 |
commit | 99cce136a531ebfd5ecd6199b36d92d15c19f9e6 (patch) | |
tree | 2ad6740315a5eaa260c1f3338caced9a0a8ebd86 | |
parent | dda9ae0f9113ad3816ba5f84e1a59b1529e82630 (diff) | |
download | vulkan-tools-99cce136a531ebfd5ecd6199b36d92d15c19f9e6.tar.gz |
cmake: Use PkgConfig to find XCB
-rw-r--r-- | cmake/FindX11_XCB.cmake | 32 | ||||
-rw-r--r-- | cmake/FindXCB.cmake | 51 | ||||
-rw-r--r-- | cube/CMakeLists.txt | 8 | ||||
-rw-r--r-- | icd/CMakeLists.txt | 2 | ||||
-rw-r--r-- | vulkaninfo/CMakeLists.txt | 8 |
5 files changed, 8 insertions, 93 deletions
diff --git a/cmake/FindX11_XCB.cmake b/cmake/FindX11_XCB.cmake deleted file mode 100644 index 956bf89d..00000000 --- a/cmake/FindX11_XCB.cmake +++ /dev/null @@ -1,32 +0,0 @@ -# - Try to find libX11-xcb -# Once done this will define -# -# X11_XCB_FOUND - system has libX11-xcb -# X11_XCB_LIBRARIES - Link these to use libX11-xcb -# X11_XCB_INCLUDE_DIR - the libX11-xcb include dir -# X11_XCB_DEFINITIONS - compiler switches required for using libX11-xcb - -# Copyright (c) 2011 Fredrik Höglund <fredrik@kde.org> -# Copyright (c) 2008 Helio Chissini de Castro, <helio@kde.org> -# Copyright (c) 2007 Matthias Kretz, <kretz@kde.org> -# -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - -IF (NOT WIN32) - # use pkg-config to get the directories and then use these values - # in the FIND_PATH() and FIND_LIBRARY() calls - FIND_PACKAGE(PkgConfig) - PKG_CHECK_MODULES(PKG_X11_XCB QUIET x11-xcb) - - SET(X11_XCB_DEFINITIONS ${PKG_X11_XCB_CFLAGS}) - - FIND_PATH(X11_XCB_INCLUDE_DIR NAMES X11/Xlib-xcb.h HINTS ${PKG_X11_XCB_INCLUDE_DIRS}) - FIND_LIBRARY(X11_XCB_LIBRARIES NAMES X11-xcb HINTS ${PKG_X11_XCB_LIBRARY_DIRS}) - - include(FindPackageHandleStandardArgs) - FIND_PACKAGE_HANDLE_STANDARD_ARGS(X11_XCB DEFAULT_MSG X11_XCB_LIBRARIES X11_XCB_INCLUDE_DIR) - - MARK_AS_ADVANCED(X11_XCB_INCLUDE_DIR X11_XCB_LIBRARIES) -ENDIF (NOT WIN32) - diff --git a/cmake/FindXCB.cmake b/cmake/FindXCB.cmake deleted file mode 100644 index b01c2463..00000000 --- a/cmake/FindXCB.cmake +++ /dev/null @@ -1,51 +0,0 @@ -# - FindXCB -# -# Copyright (C) 2015 Valve Corporation - -find_package(PkgConfig) - -if(NOT XCB_FIND_COMPONENTS) - set(XCB_FIND_COMPONENTS xcb) -endif() - -include(FindPackageHandleStandardArgs) -set(XCB_FOUND true) -set(XCB_INCLUDE_DIRS "") -set(XCB_LIBRARIES "") -foreach(comp ${XCB_FIND_COMPONENTS}) - # component name - string(TOUPPER ${comp} compname) - string(REPLACE "-" "_" compname ${compname}) - # header name - string(REPLACE "xcb-" "" headername xcb/${comp}.h) - # library name - set(libname ${comp}) - - pkg_check_modules(PC_${comp} QUIET ${comp}) - - find_path(${compname}_INCLUDE_DIR NAMES ${headername} - HINTS - ${PC_${comp}_INCLUDEDIR} - ${PC_${comp}_INCLUDE_DIRS} - ) - - find_library(${compname}_LIBRARY NAMES ${libname} - HINTS - ${PC_${comp}_LIBDIR} - ${PC_${comp}_LIBRARY_DIRS} - ) - - find_package_handle_standard_args(${compname} - FOUND_VAR ${compname}_FOUND - REQUIRED_VARS ${compname}_INCLUDE_DIR ${compname}_LIBRARY) - mark_as_advanced(${compname}_INCLUDE_DIR ${compname}_LIBRARY) - - list(APPEND XCB_INCLUDE_DIRS ${${compname}_INCLUDE_DIR}) - list(APPEND XCB_LIBRARIES ${${compname}_LIBRARY}) - - if(NOT ${compname}_FOUND) - set(XCB_FOUND false) - endif() -endforeach() - -list(REMOVE_DUPLICATES XCB_INCLUDE_DIRS) diff --git a/cube/CMakeLists.txt b/cube/CMakeLists.txt index 9db7d5ba..e7a1db2e 100644 --- a/cube/CMakeLists.txt +++ b/cube/CMakeLists.txt @@ -49,15 +49,16 @@ else() endif() if(UNIX AND NOT APPLE) # i.e. Linux - find_package(PkgConfig) option(BUILD_WSI_XCB_SUPPORT "Build XCB WSI support" ON) option(BUILD_WSI_XLIB_SUPPORT "Build Xlib WSI support" ON) option(BUILD_WSI_WAYLAND_SUPPORT "Build Wayland WSI support" ON) option(BUILD_WSI_DIRECTFB_SUPPORT "Build DirectFB WSI support" OFF) set(CUBE_WSI_SELECTION "XCB" CACHE STRING "Select WSI target for vkcube (XCB, XLIB, WAYLAND, DIRECTFB, DISPLAY)") + find_package(PkgConfig REQUIRED QUIET) # Use PkgConfig to find Linux system libraries + if(BUILD_WSI_XCB_SUPPORT) - find_package(XCB REQUIRED) + pkg_check_modules(XCB REQUIRED QUIET IMPORTED_TARGET xcb) endif() if(BUILD_WSI_XLIB_SUPPORT) @@ -134,8 +135,7 @@ elseif(UNIX AND NOT APPLE) # i.e. Linux if(NOT BUILD_WSI_XCB_SUPPORT) message(FATAL_ERROR "Selected XCB for vkcube build but not building Xcb support") endif() - set(CUBE_INCLUDE_DIRS ${XCB_INCLUDE_DIRS} ${CUBE_INCLUDE_DIRS}) - link_libraries(${XCB_LIBRARIES}) + link_libraries(PkgConfig::XCB) set(CUBE_PLATFORM VK_USE_PLATFORM_XCB_KHR) elseif(CUBE_WSI_SELECTION STREQUAL "XLIB") if(NOT BUILD_WSI_XLIB_SUPPORT) diff --git a/icd/CMakeLists.txt b/icd/CMakeLists.txt index ded0baaf..41772f70 100644 --- a/icd/CMakeLists.txt +++ b/icd/CMakeLists.txt @@ -23,8 +23,6 @@ elseif(APPLE) add_definitions(-DVK_USE_PLATFORM_MACOS_MVK) elseif(UNIX AND NOT APPLE) # i.e. Linux if(BUILD_WSI_XCB_SUPPORT) - find_package(XCB REQUIRED) - include_directories(${XCB_INCLUDE_DIR}) add_definitions(-DVK_USE_PLATFORM_XCB_KHR -DVK_USE_PLATFORM_XCB_KHX) endif() diff --git a/vulkaninfo/CMakeLists.txt b/vulkaninfo/CMakeLists.txt index 69842ba5..d91dd79e 100644 --- a/vulkaninfo/CMakeLists.txt +++ b/vulkaninfo/CMakeLists.txt @@ -61,16 +61,16 @@ if (NOT WIN32) endif() if(UNIX AND NOT APPLE) # i.e. Linux - find_package(PkgConfig) option(BUILD_WSI_XCB_SUPPORT "Build XCB WSI support" ON) option(BUILD_WSI_XLIB_SUPPORT "Build Xlib WSI support" ON) option(BUILD_WSI_WAYLAND_SUPPORT "Build Wayland WSI support" ON) option(BUILD_WSI_DIRECTFB_SUPPORT "Build DirectFB WSI support" OFF) + find_package(PkgConfig REQUIRED QUIET) # Use PkgConfig to find Linux system libraries + if(BUILD_WSI_XCB_SUPPORT) - find_package(XCB REQUIRED) - target_include_directories(vulkaninfo PRIVATE ${XCB_INCLUDE_DIRS}) - target_link_libraries(vulkaninfo ${XCB_LIBRARIES}) + pkg_check_modules(XCB REQUIRED QUIET IMPORTED_TARGET xcb) + target_link_libraries(vulkaninfo PkgConfig::XCB) target_compile_definitions(vulkaninfo PRIVATE -DVK_USE_PLATFORM_XCB_KHR -DVK_NO_PROTOTYPES) endif() |