include_guard()
add_library(hccl_libs INTERFACE)
target_include_directories(hccl_libs INTERFACE ${ASCEND_SDK_HEADERS_PATH}/include/hccl/external/)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/_fake.cc
COMMAND touch ${CMAKE_CURRENT_BINARY_DIR}/_fake.cc
)
set(fake_sources ${CMAKE_CURRENT_BINARY_DIR}/_fake.cc)
add_library(hccl SHARED ${fake_sources})
target_link_libraries(hccl_libs INTERFACE
hccl)
add_library(hccl_stub SHARED ${fake_sources} ${CMAKE_CURRENT_LIST_DIR}/hccl_stub.cpp)
target_compile_options(hccl_stub PRIVATE -D_GLIBCXX_USE_CXX11_ABI=0)
target_link_libraries(hccl PRIVATE hccl_stub)
target_include_directories(hccl_stub PRIVATE ${ASCEND_SDK_HEADERS_PATH}/include/hccl/external/)