From e6a956d7c907af5cfc78f6366cb1eb773483e60c Mon Sep 17 00:00:00 2001 From: Artur Harasimiuk Date: Thu, 1 Mar 2018 16:00:45 +0100 Subject: [PATCH] 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 --- CMakeLists.txt | 35 +++++++++++++++++++++-------------- runtime/CMakeLists.txt | 4 ++++ 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fb89721b32..a170a0df58 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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($) + include_directories($) else() set(IGDRCL__INSTRUMENTATION_DIR_SUFFIX "/") endif() diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt index b24885190b..d04c298730 100644 --- a/runtime/CMakeLists.txt +++ b/runtime/CMakeLists.txt @@ -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" )