@@ -21,27 +21,36 @@ if(NOT EXECUTORCH_ROOT)
2121 set (EXECUTORCH_ROOT ${CMAKE_CURRENT_SOURCE_DIR} /../..)
2222endif ()
2323
24- include (${EXECUTORCH_ROOT} /build /Utils.cmake)
24+ # include(${EXECUTORCH_ROOT}/build/Utils.cmake)
2525
26- find_package (CUDA)
27-
28- set (_common_include_directories ${EXECUTORCH_ROOT} /..)
26+ find_package (CUDAToolkit REQUIRED)
2927
3028set (_aoti_sources runtime/AotiBackend.cpp)
31-
3229add_library (aoti_backend STATIC ${_aoti_sources} )
3330target_include_directories (
34- aoti_backend PUBLIC ${_common_include_directories} ${CUDA_INCLUDE_DIRS}
31+ aoti_backend
32+ PUBLIC
33+ ${CUDAToolkit_INCLUDE_DIRS}
34+ $<BUILD_INTERFACE:${EXECUTORCH_ROOT} >
35+ $<INSTALL_INTERFACE:include >
3536)
36-
3737target_compile_options (aoti_backend PUBLIC -fexceptions -frtti -fPIC)
38- target_link_libraries (aoti_backend PUBLIC extension_tensor ${CUDA_LIBRARIES} )
38+ # Ensure symbols are exported properly
39+ target_link_options (aoti_backend PUBLIC -Wl,--export-dynamic)
40+ # Link against CUDA::cudart (the CUDA runtime library)
41+ target_link_libraries (
42+ aoti_backend
43+ PUBLIC
44+ extension_tensor
45+ CUDA::cudart
46+ ${CMAKE_DL_LIBS}
47+ )
48+ # If you need other CUDA libraries, link them similarly:
49+ # target_link_libraries(aoti_backend PUBLIC CUDA::cublas CUDA::cufft ...)
50+ # If you have a custom function, keep it
3951executorch_target_link_options_shared_lib(aoti_backend)
40-
4152install (
4253 TARGETS aoti_backend
4354 EXPORT ExecuTorchTargets
4455 DESTINATION lib
45- INCLUDES
46- DESTINATION ${_common_include_directories}
4756)
0 commit comments