From be9b4bbdfc226c6387304552bbc0312ed60bd602 Mon Sep 17 00:00:00 2001 From: Alexey Bader Date: Wed, 9 Dec 2020 21:01:06 +0300 Subject: [PATCH] [MCJIT] Add cmake variables to customize ittapi git location and revision. To support llorg builds this patch provides the following changes: 1) Added cmake variable ITTAPI_GIT_REPOSITORY to control the location of ITTAPI repository. Default value of ITTAPI_GIT_REPOSITORY is github location: https://github.com/intel/ittapi.git Also, the separate cmake variable ITTAPI_GIT_TAG was added for repo tag. 2) Added cmake variable ITTAPI_SOURCE_DIR to control the place where the repo will be cloned. Default value of ITTAPI_SOURCE_DIR is build area: PROJECT_BINARY_DIR Reviewed By: etyurin, bader Patch by ekovanov. Differential Revision: https://reviews.llvm.org/D91935 --- .../ExecutionEngine/IntelJITEvents/CMakeLists.txt | 31 ++++++++++++++-------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt b/llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt index 7f84b150581..9fe3fe0b754 100644 --- a/llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt +++ b/llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt @@ -1,25 +1,34 @@ include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/.. ) -set(GIT_REPOSITORY https://github.com/intel/ittapi.git) -set(GIT_TAG v3.18.8) +if(NOT DEFINED ITTAPI_GIT_REPOSITORY) + set(ITTAPI_GIT_REPOSITORY https://github.com/intel/ittapi.git) +endif() + +if(NOT DEFINED ITTAPI_GIT_TAG) + set(ITTAPI_GIT_TAG v3.18.8) +endif() + +if(NOT DEFINED ITTAPI_SOURCE_DIR) + set(ITTAPI_SOURCE_DIR ${PROJECT_BINARY_DIR}) +endif() -if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/ittapi) - execute_process(COMMAND ${GIT_EXECUTABLE} clone ${GIT_REPOSITORY} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +if(NOT EXISTS ${ITTAPI_SOURCE_DIR}/ittapi) + execute_process(COMMAND ${GIT_EXECUTABLE} clone ${ITTAPI_GIT_REPOSITORY} + WORKING_DIRECTORY ${ITTAPI_SOURCE_DIR} RESULT_VARIABLE GIT_CLONE_RESULT) if(NOT GIT_CLONE_RESULT EQUAL "0") - message(FATAL_ERROR "git clone ${GIT_REPOSITORY} failed with ${GIT_CLONE_RESULT}, please clone ${GIT_REPOSITORY}") + message(FATAL_ERROR "git clone ${ITTAPI_GIT_REPOSITORY} failed with ${GIT_CLONE_RESULT}, please clone ${ITTAPI_GIT_REPOSITORY}") endif() endif() -execute_process(COMMAND ${GIT_EXECUTABLE} checkout ${GIT_TAG} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/ittapi +execute_process(COMMAND ${GIT_EXECUTABLE} checkout ${ITTAPI_GIT_TAG} + WORKING_DIRECTORY ${ITTAPI_SOURCE_DIR}/ittapi RESULT_VARIABLE GIT_CHECKOUT_RESULT) if(NOT GIT_CHECKOUT_RESULT EQUAL "0") - message(FATAL_ERROR "git checkout ${GIT_TAG} failed with ${GIT_CHECKOUT_RESULT}, please checkout ${GIT_TAG} at ${CMAKE_CURRENT_SOURCE_DIR}/ittapi") + message(FATAL_ERROR "git checkout ${ITTAPI_GIT_TAG} failed with ${GIT_CHECKOUT_RESULT}, please checkout ${ITTAPI_GIT_TAG} at ${ITTAPI_SOURCE_DIR}/ittapi") endif() -include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/ittapi/include/ ) +include_directories( ${ITTAPI_SOURCE_DIR}/ittapi/include/ ) if( HAVE_LIBDL ) set(LLVM_INTEL_JIT_LIBS ${CMAKE_DL_LIBS}) @@ -31,7 +40,7 @@ set(LLVM_INTEL_JIT_LIBS ${LLVM_PTHREAD_LIB} ${LLVM_INTEL_JIT_LIBS}) add_llvm_component_library(LLVMIntelJITEvents IntelJITEventListener.cpp jitprofiling.c - ittapi/src/ittnotify/ittnotify_static.c + ${ITTAPI_SOURCE_DIR}/ittapi/src/ittnotify/ittnotify_static.c LINK_LIBS ${LLVM_INTEL_JIT_LIBS} -- 2.11.0