mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
extend Metrics Discovery/Library detection
By default, use Metrics headers according to manifest. If not available, use those from third_party as before. Related-To: NEO-5615 Signed-off-by: Grzegorz Choinski <grzegorz.choinski@intel.com> Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
This commit is contained in:

committed by
Compute-Runtime-Automation

parent
1f9f001599
commit
f663c509fe
@ -333,24 +333,6 @@ else()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Metrics Library
|
||||
get_filename_component(METRICS_LIBRARY_HEADERS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/third_party${BRANCH_DIR_SUFFIX}metrics_library" ABSOLUTE)
|
||||
if(IS_DIRECTORY ${METRICS_LIBRARY_HEADERS_DIR})
|
||||
message(STATUS "Metrics Library dir: ${METRICS_LIBRARY_HEADERS_DIR}")
|
||||
include_directories(${NEO_SOURCE_DIR}/third_party${BRANCH_DIR_SUFFIX}metrics_library)
|
||||
else()
|
||||
message(FATAL_ERROR "Metrics Library headers not available!")
|
||||
endif()
|
||||
|
||||
# Metrics Discovery
|
||||
get_filename_component(METRICS_DISCOVERY_HEADERS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/third_party${BRANCH_DIR_SUFFIX}metrics_discovery" ABSOLUTE)
|
||||
if(IS_DIRECTORY ${METRICS_DISCOVERY_HEADERS_DIR})
|
||||
message(STATUS "Metrics Discovery dir: ${METRICS_DISCOVERY_HEADERS_DIR}")
|
||||
include_directories(${NEO_SOURCE_DIR}/third_party${BRANCH_DIR_SUFFIX}metrics_discovery)
|
||||
else()
|
||||
message(FATAL_ERROR "Metrics Discovery headers not available!")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED KHRONOS_HEADERS_DIR)
|
||||
get_filename_component(DIR_tmp "${CMAKE_CURRENT_SOURCE_DIR}/third_party/opencl_headers" ABSOLUTE)
|
||||
if(IS_DIRECTORY ${DIR_tmp})
|
||||
@ -383,6 +365,9 @@ include(cmake/find_igc.cmake)
|
||||
# GmmLib detection
|
||||
include(cmake/find_gmmlib.cmake)
|
||||
|
||||
# Metrics detection
|
||||
include(cmake/find_metrics.cmake)
|
||||
|
||||
# LibVA detection
|
||||
if(NOT DISABLE_LIBVA)
|
||||
if(UNIX)
|
||||
|
79
cmake/find_metrics.cmake
Normal file
79
cmake/find_metrics.cmake
Normal file
@ -0,0 +1,79 @@
|
||||
#
|
||||
# Copyright (C) 2021 Intel Corporation
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
|
||||
# DEPENDENCY DETECTION
|
||||
function(dependency_detect COMPONENT_NAME DLL_NAME VAR_NAME REL_LOCATION IS_THIRD_PARTY)
|
||||
if(DEFINED ${VAR_NAME}_DIR)
|
||||
get_filename_component(LIBRARY_DIR "${${VAR_NAME}_DIR}" ABSOLUTE)
|
||||
else()
|
||||
get_filename_component(LIBRARY_DIR_tmp "${NEO_SOURCE_DIR}/${REL_LOCATION}" ABSOLUTE)
|
||||
if(IS_DIRECTORY "${LIBRARY_DIR_tmp}")
|
||||
set(LIBRARY_DIR "${LIBRARY_DIR_tmp}")
|
||||
endif()
|
||||
endif()
|
||||
if(UNIX)
|
||||
if(DEFINED LIBRARY_DIR)
|
||||
if(IS_DIRECTORY "${LIBRARY_DIR}/lib/pkgconfig/")
|
||||
set(__tmp_LIBDIR "lib")
|
||||
elseif(IS_DIRECTORY "${LIBRARY_DIR}/${CMAKE_INSTALL_LIBDIR}/pkgconfig/")
|
||||
set(__tmp_LIBDIR ${CMAKE_INSTALL_LIBDIR})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
find_package(PkgConfig)
|
||||
if(DEFINED __tmp_LIBDIR)
|
||||
set(OLD_PKG_CONFIG_PATH $ENV{PKG_CONFIG_PATH})
|
||||
set(ENV{PKG_CONFIG_PATH} "${LIBRARY_DIR}/${__tmp_LIBDIR}/pkgconfig/")
|
||||
endif()
|
||||
pkg_check_modules(NEO__${VAR_NAME} ${DLL_NAME})
|
||||
if(DEFINED __tmp_LIBDIR)
|
||||
set(ENV{PKG_CONFIG_PATH} ${OLD_PKG_CONFIG_PATH})
|
||||
endif()
|
||||
|
||||
if(NEO__${VAR_NAME}_FOUND)
|
||||
if(DEFINED __tmp_LIBDIR)
|
||||
if(NOT NEO__${VAR_NAME}_INCLUDE_DIRS STREQUAL "")
|
||||
string(REPLACE "${NEO__${VAR_NAME}_INCLUDEDIR}" "${LIBRARY_DIR}/include/${DLL_NAME}" NEO__${VAR_NAME}_INCLUDE_DIRS "${NEO__${VAR_NAME}_INCLUDE_DIRS}")
|
||||
else()
|
||||
set(NEO__${VAR_NAME}_INCLUDE_DIRS "${LIBRARY_DIR}/include")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(NEO__${VAR_NAME}_INCLUDE_DIR "${NEO__${VAR_NAME}_INCLUDE_DIRS}")
|
||||
set(NEO__${VAR_NAME}_INCLUDE_DIR "${NEO__${VAR_NAME}_INCLUDE_DIRS}" PARENT_SCOPE)
|
||||
|
||||
set(NEO__${VAR_NAME}_LIBRARIES ${NEO__${VAR_NAME}_LIBRARIES} PARENT_SCOPE)
|
||||
|
||||
message(STATUS "${COMPONENT_NAME} include dirs: ${NEO__${VAR_NAME}_INCLUDE_DIR}")
|
||||
|
||||
return()
|
||||
endif()
|
||||
else()
|
||||
# Windows
|
||||
endif()
|
||||
|
||||
if(IS_THIRD_PARTY)
|
||||
string(TOLOWER ${VAR_NAME} _VAR_NAME_LOWER)
|
||||
get_filename_component(${VAR_NAME}_HEADERS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/third_party${BRANCH_DIR_SUFFIX}/${_VAR_NAME_LOWER}" ABSOLUTE)
|
||||
if(IS_DIRECTORY ${${VAR_NAME}_HEADERS_DIR})
|
||||
message(STATUS "${COMPONENT_NAME} dir: ${${VAR_NAME}_HEADERS_DIR}")
|
||||
set(NEO__${VAR_NAME}_INCLUDE_DIR "${${VAR_NAME}_HEADERS_DIR}" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
message(FATAL_ERROR "${COMPONENT_NAME} not found!")
|
||||
|
||||
endfunction()
|
||||
|
||||
# Metrics Library Detection
|
||||
dependency_detect("Metrics Library" libigdml METRICS_LIBRARY "../metrics/library" TRUE)
|
||||
include_directories("${NEO__METRICS_LIBRARY_INCLUDE_DIR}")
|
||||
|
||||
# Metrics Discovery Detection
|
||||
dependency_detect("Metrics Discovery" libmd METRICS_DISCOVERY "../metrics/discovery" TRUE)
|
||||
include_directories("${NEO__METRICS_DISCOVERY_INCLUDE_DIR}")
|
||||
|
Reference in New Issue
Block a user