mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
refactoring dependencies lookup on Linux
Dependending on Linux Distribution location of pkgconfig may change and be under lib/, lib64/ or other subfolder. Let's use GNUinstallDirs to pick correct location when checking for prebuilts Change-Id: Ic2323e2408eae3d91f0af71cb04e268bcb43bd46 Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
This commit is contained in:

committed by
sys_ocldev

parent
9d705e7905
commit
bb1cdcaa30
@ -262,24 +262,34 @@ if(NOT IGC__IGC_TARGETS)
|
||||
if(UNIX)
|
||||
# on Unix-like use pkg-config
|
||||
find_package(PkgConfig)
|
||||
if(DEFINED IGC_DIR AND IS_DIRECTORY "${IGC_DIR}/lib/pkgconfig/")
|
||||
if(DEFINED IGC_DIR)
|
||||
if(IS_DIRECTORY "${IGC_DIR}/lib/pkgconfig/")
|
||||
set(__tmp_LIBDIR "lib")
|
||||
elseif(IS_DIRECTORY "${IGC_DIR}/${CMAKE_INSTALL_LIBDIR}/pkgconfig/")
|
||||
set(__tmp_LIBDIR ${CMAKE_INSTALL_LIBDIR})
|
||||
endif()
|
||||
endif()
|
||||
if(DEFINED __tmp_LIBDIR)
|
||||
set(OLD_PKG_CONFIG_PATH $ENV{PKG_CONFIG_PATH})
|
||||
set(ENV{PKG_CONFIG_PATH} "${IGC_DIR}/lib/pkgconfig/")
|
||||
set(ENV{PKG_CONFIG_PATH} "${IGC_DIR}/${__tmp_LIBDIR}/pkgconfig")
|
||||
endif()
|
||||
pkg_check_modules(IGDRCL__IGC igc-opencl)
|
||||
if(DEFINED IGC_DIR AND IS_DIRECTORY "${IGC_DIR}/lib/pkgconfig/")
|
||||
if(DEFINED __tmp_LIBDIR)
|
||||
set(ENV{PKG_CONFIG_PATH} ${OLD_PKG_CONFIG_PATH})
|
||||
set(IGDRCL__IGC_LIBRARY_PATH "${IGC_DIR}/lib/")
|
||||
set(IGDRCL__IGC_LIBRARY_PATH "${IGC_DIR}/${__tmp_LIBDIR}/")
|
||||
endif()
|
||||
|
||||
if(IGDRCL__IGC_FOUND)
|
||||
if(DEFINED IGC_DIR AND IS_DIRECTORY "${IGC_DIR}/lib/pkgconfig/")
|
||||
if(DEFINED IGC_DIR AND IS_DIRECTORY "${IGC_DIR}/${__tmp_LIBDIR}/pkgconfig/")
|
||||
string(REPLACE "${IGDRCL__IGC_INCLUDEDIR}" "${IGC_DIR}/include/igc" IGDRCL__IGC_INCLUDE_DIRS "${IGDRCL__IGC_INCLUDE_DIRS}")
|
||||
endif()
|
||||
|
||||
set(IGDRCL__IGC_INCLUDE_DIR ${IGDRCL__IGC_INCLUDE_DIRS})
|
||||
message(STATUS "IGC include dirs: ${IGDRCL__IGC_INCLUDE_DIR}")
|
||||
endif()
|
||||
if(DEFINED __tmp_LIBDIR)
|
||||
unset(__tmp_LIBDIR)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(IGDRCL__IGC_FOUND)
|
||||
@ -365,30 +375,38 @@ if(NOT DEFINED GMMUMD_LIB_NAME)
|
||||
set(IGDRCL__GMM_LIBRARY_PATH "$<TARGET_FILE_DIR:${GMMUMD_LIB_NAME}>")
|
||||
endif()
|
||||
else()
|
||||
if(DEFINED GMM_SOURCE_DIR)
|
||||
get_filename_component(GMM_SOURCE_DIR "${GMM_SOURCE_DIR}" ABSOLUTE)
|
||||
if(DEFINED GMM_DIR)
|
||||
get_filename_component(GMM_DIR "${GMM_DIR}" ABSOLUTE)
|
||||
else()
|
||||
get_filename_component(GMM_SOURCE_DIR_tmp "${NEO_SOURCE_DIR}/../gmmlib" ABSOLUTE)
|
||||
if(IS_DIRECTORY "${GMM_SOURCE_DIR_tmp}")
|
||||
set(GMM_SOURCE_DIR "${GMM_SOURCE_DIR_tmp}")
|
||||
get_filename_component(GMM_DIR_tmp "${NEO_SOURCE_DIR}/../gmmlib" ABSOLUTE)
|
||||
if(IS_DIRECTORY "${GMM_DIR_tmp}")
|
||||
set(GMM_DIR "${GMM_DIR_tmp}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
if(DEFINED GMM_DIR)
|
||||
if(IS_DIRECTORY "${GMM_DIR}/lib/pkgconfig/")
|
||||
set(__tmp_LIBDIR "lib")
|
||||
elseif(IS_DIRECTORY "${GMM_DIR}/${CMAKE_INSTALL_LIBDIR}/pkgconfig/")
|
||||
set(__tmp_LIBDIR ${CMAKE_INSTALL_LIBDIR})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
find_package(PkgConfig)
|
||||
if(DEFINED GMM_SOURCE_DIR AND IS_DIRECTORY "${GMM_SOURCE_DIR}/lib/pkgconfig/")
|
||||
if(DEFINED __tmp_LIBDIR)
|
||||
set(OLD_PKG_CONFIG_PATH $ENV{PKG_CONFIG_PATH})
|
||||
set(ENV{PKG_CONFIG_PATH} "${GMM_SOURCE_DIR}/lib/pkgconfig/")
|
||||
set(ENV{PKG_CONFIG_PATH} "${GMM_DIR}/${__tmp_LIBDIR}/pkgconfig/")
|
||||
endif()
|
||||
pkg_check_modules(IGDRCL__GMM igdgmm)
|
||||
if(DEFINED GMM_SOURCE_DIR AND IS_DIRECTORY "${GMM_SOURCE_DIR}/lib/pkgconfig/")
|
||||
if(DEFINED __tmp_LIBDIR)
|
||||
set(ENV{PKG_CONFIG_PATH} ${OLD_PKG_CONFIG_PATH})
|
||||
endif()
|
||||
|
||||
if(IGDRCL__GMM_FOUND)
|
||||
if(DEFINED GMM_SOURCE_DIR AND IS_DIRECTORY "${GMM_SOURCE_DIR}/lib/pkgconfig/")
|
||||
string(REPLACE "${IGDRCL__GMM_INCLUDEDIR}" "${GMM_SOURCE_DIR}/include/igdgmm" IGDRCL__GMM_INCLUDE_DIRS "${IGDRCL__GMM_INCLUDE_DIRS}")
|
||||
string(REPLACE "${IGDRCL__GMM_LIBDIR}" "${GMM_SOURCE_DIR}/lib" IGDRCL__GMM_LIBDIR "${IGDRCL__GMM_LIBDIR}")
|
||||
if(DEFINED __tmp_LIBDIR)
|
||||
string(REPLACE "${IGDRCL__GMM_INCLUDEDIR}" "${GMM_DIR}/include/igdgmm" IGDRCL__GMM_INCLUDE_DIRS "${IGDRCL__GMM_INCLUDE_DIRS}")
|
||||
string(REPLACE "${IGDRCL__GMM_LIBDIR}" "${GMM_DIR}/${__tmp_LIBDIR}" IGDRCL__GMM_LIBDIR "${IGDRCL__GMM_LIBDIR}")
|
||||
set(IGDRCL__GMM_LIBRARY_PATH "${IGDRCL__GMM_LIBDIR}")
|
||||
endif()
|
||||
|
||||
@ -400,10 +418,13 @@ if(NOT DEFINED GMMUMD_LIB_NAME)
|
||||
else()
|
||||
message(FATAL_ERROR "GmmLib not found!")
|
||||
endif()
|
||||
if(DEFINED __tmp_LIBDIR)
|
||||
unset(__tmp_LIBDIR)
|
||||
endif()
|
||||
else()
|
||||
if(EXISTS "${GMM_SOURCE_DIR}/CMakeLists.txt")
|
||||
message(STATUS "GmmLib source dir is: ${GMM_SOURCE_DIR}")
|
||||
add_subdirectory_unique("${GMM_SOURCE_DIR}" "${NEO_BUILD_DIR}/gmmlib")
|
||||
if(EXISTS "${GMM_DIR}/CMakeLists.txt")
|
||||
message(STATUS "GmmLib source dir is: ${GMM_DIR}")
|
||||
add_subdirectory_unique("${GMM_DIR}" "${NEO_BUILD_DIR}/gmmlib")
|
||||
|
||||
if(NOT DEFINED GMMUMD_LIB_NAME)
|
||||
set(GMMUMD_LIB_NAME "igfx_gmmumd_dll")
|
||||
|
Reference in New Issue
Block a user