From: Juan Ramos Date: Tue, 27 Dec 2022 19:05:40 +0000 (-0700) Subject: cmake: Use PkgConfig to find XCB X-Git-Tag: upstream/1.3.240~16 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=99cce136a531ebfd5ecd6199b36d92d15c19f9e6;p=platform%2Fupstream%2FVulkan-Tools.git cmake: Use PkgConfig to find XCB --- diff --git a/cmake/FindX11_XCB.cmake b/cmake/FindX11_XCB.cmake deleted file mode 100644 index 956bf89..0000000 --- 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 -# Copyright (c) 2008 Helio Chissini de Castro, -# Copyright (c) 2007 Matthias Kretz, -# -# 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 b01c246..0000000 --- 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 9db7d5b..e7a1db2 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 ded0baa..41772f7 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 69842ba..d91dd79 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()