update method to find Instrumentation library

search order is:
1. check if variable INSTRUMENTATION_LIB_NAME is set. if yes it will
provide lib name and target have to be present
2. check if source location was given. use it if yes
3. check if folder in workspace exists

When library is found then dependency is added to ensure build order
When none of above found support in Neo will be disabled (stub is used)

Change-Id: I9151f4002997ab5cfd1a397794f11cc18dfe44fa
This commit is contained in:
Artur Harasimiuk
2018-03-01 16:00:45 +01:00
committed by sys_ocldev
parent 64e37fdf72
commit e6a956d7c9
2 changed files with 25 additions and 14 deletions

View File

@@ -317,19 +317,26 @@ else(ARTIFACTS_DIR)
endforeach(TARGET_tmp)
message(STATUS "IGC targets: ${IGDRCL__IGC_TARGETS}")
if(INSTRUMENTATION_SOURCE_DIR)
get_filename_component(INSTRUMENTATION_SOURCE_DIR "${INSTRUMENTATION_SOURCE_DIR}" ABSOLUTE)
else(INSTRUMENTATION_SOURCE_DIR)
get_filename_component(INSTRUMENTATION_SOURCE_DIR_tmp "${CMAKE_SOURCE_DIR}/../instrumentation" ABSOLUTE)
if(IS_DIRECTORY "${INSTRUMENTATION_SOURCE_DIR_tmp}")
set(INSTRUMENTATION_SOURCE_DIR "${INSTRUMENTATION_SOURCE_DIR_tmp}")
endif()
endif()
if(IS_DIRECTORY "${INSTRUMENTATION_SOURCE_DIR}")
message(STATUS "Intrumentation source dir is: ${INSTRUMENTATION_SOURCE_DIR}")
add_subdirectory("${INSTRUMENTATION_SOURCE_DIR}" "${IGDRCL_BUILD_DIR}/instrumentation")
set(HAVE_INSTRUMENTATION TRUE)
endif()
# Instrumentation detection
if(NOT INSTRUMENTATION_LIB_NAME)
if(INSTRUMENTATION_SOURCE_DIR)
get_filename_component(INSTRUMENTATION_SOURCE_DIR "${INSTRUMENTATION_SOURCE_DIR}" ABSOLUTE)
else(INSTRUMENTATION_SOURCE_DIR)
get_filename_component(INSTRUMENTATION_SOURCE_DIR_tmp "${CMAKE_SOURCE_DIR}/../instrumentation" ABSOLUTE)
if(IS_DIRECTORY "${INSTRUMENTATION_SOURCE_DIR_tmp}")
set(INSTRUMENTATION_SOURCE_DIR "${INSTRUMENTATION_SOURCE_DIR_tmp}")
endif()
endif()
if(IS_DIRECTORY "${INSTRUMENTATION_SOURCE_DIR}")
message(STATUS "Intrumentation source dir is: ${INSTRUMENTATION_SOURCE_DIR}")
add_subdirectory("${INSTRUMENTATION_SOURCE_DIR}" "${IGDRCL_BUILD_DIR}/instrumentation")
set(INSTRUMENTATION_LIB_NAME "instrumentation_umd")
set(HAVE_INSTRUMENTATION TRUE)
endif()
else()
set(HAVE_INSTRUMENTATION TRUE)
message(STATUS "Instrumentation library name: ${INSTRUMENTATION_LIB_NAME}")
endif()
endif(ARTIFACTS_DIR)
add_definitions(-DGMM_OCL)
@@ -528,7 +535,7 @@ set(HW_SRC_INCLUDE_PATH ${IGDRCL_SOURCE_DIR}/runtime/gen_common)
if(HAVE_INSTRUMENTATION)
set(IGDRCL__INSTRUMENTATION_DIR_SUFFIX ${BRANCH_DIR_SUFFIX})
include_directories($<TARGET_PROPERTY:instrumentation_umd,INTERFACE_INCLUDE_DIRECTORIES>)
include_directories($<TARGET_PROPERTY:${INSTRUMENTATION_LIB_NAME},INTERFACE_INCLUDE_DIRECTORIES>)
else()
set(IGDRCL__INSTRUMENTATION_DIR_SUFFIX "/")
endif()

View File

@@ -104,6 +104,10 @@ link_directories(${GMM_LIB_PATHS})
target_link_libraries(${NEO_STATIC_LIB_NAME} ${GMMUMD_LIB_NAME})
if(INSTRUMENTATION_LIB_NAME)
add_dependencies(${NEO_STATIC_LIB_NAME} ${INSTRUMENTATION_LIB_NAME})
endif()
if(WIN32)
if(GTPIN_HEADERS_DIR)
set( DEF_FILE "${CMAKE_CURRENT_SOURCE_DIR}/dll/windows/GTPinExports${IGDRCL_OPTION__BITS}.def" )