diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e2fb4e6..8181138d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,6 +23,8 @@ option(TVM_FFI_USE_LIBBACKTRACE "Enable libbacktrace" ON) option(TVM_FFI_USE_EXTRA_CXX_API "Enable extra CXX API in shared lib" ON) option(TVM_FFI_BACKTRACE_ON_SEGFAULT "Set signal handler to print backtrace on segfault" ON) +find_package(Threads REQUIRED) + include(${CMAKE_CURRENT_LIST_DIR}/cmake/Utils/DetectTargetTriple.cmake) if (TVM_FFI_USE_LIBBACKTRACE) @@ -122,6 +124,14 @@ endif () tvm_ffi_add_msvc_flags(tvm_ffi_objs) tvm_ffi_add_target_from_obj(tvm_ffi tvm_ffi_objs) +target_link_libraries(tvm_ffi_shared PRIVATE Threads::Threads) +target_link_libraries(tvm_ffi_static INTERFACE Threads::Threads) + +if (TVM_FFI_USE_EXTRA_CXX_API AND CMAKE_DL_LIBS) + target_link_libraries(tvm_ffi_shared PRIVATE ${CMAKE_DL_LIBS}) + target_link_libraries(tvm_ffi_static INTERFACE ${CMAKE_DL_LIBS}) +endif () + if (TARGET libbacktrace) target_link_libraries(tvm_ffi_objs PRIVATE libbacktrace) target_link_libraries(tvm_ffi_shared PRIVATE libbacktrace)