diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 1bf36930e8..941ecf28f0 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -510,6 +510,10 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin|iOS") endif() find_package(Threads) +find_package(Patch) +if(Patch_FOUND) + message("Patch found: ${Patch_EXECUTABLE}") +endif() macro(check_nvcc_compiler_flag _FLAG _RESULT) execute_process(COMMAND ${onnxruntime_CUDA_HOME}/bin/nvcc "${_FLAG}" RESULT_VARIABLE NVCC_OUT ERROR_VARIABLE NVCC_ERROR) diff --git a/cmake/external/abseil-cpp.cmake b/cmake/external/abseil-cpp.cmake index f142aaa2a3..98276ef4af 100644 --- a/cmake/external/abseil-cpp.cmake +++ b/cmake/external/abseil-cpp.cmake @@ -7,12 +7,18 @@ include(FetchContent) set(ABSL_PROPAGATE_CXX_STD 1) set(BUILD_TESTING 0) +if(Patch_FOUND) + set(ABSL_PATCH_COMMAND ${Patch_EXECUTABLE} --ignore-whitespace -p1 < ${PROJECT_SOURCE_DIR}/patches/abseil/Fix_Nvidia_Build_Break.patch) +else() + set(ABSL_PATCH_COMMAND git apply --ignore-space-change --ignore-whitespace ${PROJECT_SOURCE_DIR}/patches/abseil/Fix_Nvidia_Build_Break.patch) +endif() + FetchContent_Declare( abseil_cpp PREFIX "${CMAKE_CURRENT_BINARY_DIR}/abseil-cpp" BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/external/abseil-cpp" URL https://github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.zip - PATCH_COMMAND git apply --ignore-space-change --ignore-whitespace ${PROJECT_SOURCE_DIR}/patches/abseil/Fix_Nvidia_Build_Break.patch + PATCH_COMMAND ${ABSL_PATCH_COMMAND} ) FetchContent_MakeAvailable(abseil_cpp)