Skip to content

Minor improvements in logging and patching #211

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Oct 27, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
if(NOT PREFERRED_LLVM_VERSION)
set(PREFERRED_LLVM_VERSION "10.0.0")
endif(NOT PREFERRED_LLVM_VERSION)
message(STATUS "Looking for LLVM version ${PREFERRED_LLVM_VERSION}")
message(STATUS "[OPENCL-CLANG] Looking for LLVM version ${PREFERRED_LLVM_VERSION}")
find_package(LLVM ${PREFERRED_LLVM_VERSION} REQUIRED)

message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}")
message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
message(STATUS "[OPENCL-CLANG] Using LLVMConfig.cmake in: ${LLVM_DIR}")
message(STATUS "[OPENCL-CLANG] Found LLVM ${LLVM_PACKAGE_VERSION}")

set(CMAKE_MODULE_PATH
${CMAKE_MODULE_PATH}
Expand All @@ -38,12 +38,12 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
option(LLVMSPIRV_INCLUDED_IN_LLVM
"Set to ON if libLLVMSPIRVLib is linked into libLLVM" ON)
if(LLVMSPIRV_INCLUDED_IN_LLVM)
message(STATUS "Assuming that libLLVMSPIRVLib is linked into libLLVM")
message(STATUS "[OPENCL-CLANG] Assuming that libLLVMSPIRVLib is linked into libLLVM")
else(LLVMSPIRV_INCLUDED_IN_LLVM)
message(STATUS
"Assuming that libLLVMSPIRVLib is NOT linked into libLLVM")
"[OPENCL-CLANG] Assuming that libLLVMSPIRVLib is NOT linked into libLLVM")
if(NOT SPIRV_TRANSLATOR_DIR)
message(FATAL_ERROR "SPIRV_TRANSLATOR_DIR is required")
message(FATAL_ERROR "[OPENCL-CLANG] SPIRV_TRANSLATOR_DIR is required")
endif(NOT SPIRV_TRANSLATOR_DIR)
endif(LLVMSPIRV_INCLUDED_IN_LLVM)
else(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
Expand Down Expand Up @@ -89,10 +89,10 @@ if(NOT USE_PREBUILT_LLVM)
set(CLANG_BASE_REVISION release/10.x)
endif()
if(EXISTS ${CLANG_SOURCE_DIR})
message(STATUS "Using Clang source code direcotry: ${CLANG_SOURCE_DIR}")
message(STATUS "[OPENCL-CLANG] Using Clang source code direcotry: ${CLANG_SOURCE_DIR}")
else()
message(FATAL_ERROR
"Can't find Clang source code directory!\n"
"[OPENCL-CLANG] Can't find Clang source code directory!\n"
"If you are using LLVM monorepo:\n"
" 1. Clean CMake cache: `rm CMakeCache.txt`\n"
" 2. Enable Clang project with `-DLLVM_ENABLE_PROJECTS=\"clang\"` option\n"
Expand All @@ -107,10 +107,10 @@ if(NOT USE_PREBUILT_LLVM)
set(SPIRV_SOURCE_DIR ${LLVM_EXTERNAL_LLVM_SPIRV_SOURCE_DIR})
endif()
if(EXISTS ${SPIRV_SOURCE_DIR})
message(STATUS "Using SPIRV-LLVM-Translator source code directory: ${SPIRV_SOURCE_DIR}")
message(STATUS "[OPENCL-CLANG] Using SPIRV-LLVM-Translator source code directory: ${SPIRV_SOURCE_DIR}")
else()
message(FATAL_ERROR
"Can't find SPIRV-LLVM-Translator source code dir!\n"
"[OPENCL-CLANG] Can't find SPIRV-LLVM-Translator source code dir!\n"
"If you are using LLVM monorepo, SPIRV-LLVM-Translator should be checked out "
"at '<monorepo_root_dir>/llvm-spirv' and it should be enabled as an external LLVM "
"project using the following 2 options:\n"
Expand Down
14 changes: 10 additions & 4 deletions cmake/modules/CMakeFunctions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -92,24 +92,27 @@ function(apply_patches repo_dir patches_dirs base_revision target_branch ret)
COMMAND ${GIT_EXECUTABLE} rev-parse --verify --no-revs -q ${target_branch}
WORKING_DIRECTORY ${repo_dir}
RESULT_VARIABLE patches_needed
ERROR_QUIET
OUTPUT_QUIET
)
if(patches_needed EQUAL 128) # not a git repo
set(ret_not_git_repo 1)
message(STATUS "[OPENCL-CLANG] Is not a git repo")
elseif(patches_needed) # The target branch doesn't exist
list(SORT patches)
execute_process( # Create the target branch
COMMAND ${GIT_EXECUTABLE} branch
execute_process( # Take current branch name
COMMAND ${GIT_EXECUTABLE} symbolic-ref --short HEAD
WORKING_DIRECTORY ${repo_dir}
OUTPUT_VARIABLE git_out_base_branch
OUTPUT_VARIABLE base_branch
ERROR_QUIET
)
STRING(REGEX REPLACE "\\* (.*)" "\\1" base_branch ${git_out_base_branch})
message(STATUS "[OPENCL-CLANG] Base branch : ${base_branch}")
execute_process( # Create the target branch
COMMAND ${GIT_EXECUTABLE} checkout -b ${target_branch} ${base_revision}
WORKING_DIRECTORY ${repo_dir}
RESULT_VARIABLE ret_check_out
ERROR_VARIABLE checkout_log
OUTPUT_QUIET
)
message(STATUS "[OPENCL-CLANG] ${checkout_log}")
foreach(patch ${patches})
Expand All @@ -121,6 +124,7 @@ function(apply_patches repo_dir patches_dirs base_revision target_branch ret)
COMMAND ${GIT_EXECUTABLE} am --3way --ignore-whitespace ${patch}
WORKING_DIRECTORY ${repo_dir}
OUTPUT_VARIABLE patching_log
ERROR_QUIET
)
message(STATUS "[OPENCL-CLANG] Not present - ${patching_log}")
endif()
Expand All @@ -130,6 +134,8 @@ function(apply_patches repo_dir patches_dirs base_revision target_branch ret)
COMMAND ${GIT_EXECUTABLE} checkout ${target_branch}
WORKING_DIRECTORY ${repo_dir}
RESULT_VARIABLE ret_check_out
ERROR_QUIET
OUTPUT_QUIET
)
endif()
if (NOT (ret_not_git_repo OR ret_check_out OR ret_apply_patch))
Expand Down