set(BIN_OUTPUT_NAME kernel-launcher)
add_library(kernel_launcher_obj OBJECT
KernelConfigParser.cpp
RuntimeApi.cpp
KernelRunner.cpp
Launcher.cpp
)
add_dependencies(kernel_launcher_obj core_obj)
target_include_directories(kernel_launcher_obj PUBLIC
${JSON_DIR}
${HOST_INJECTION_CSRC}
${INJECTION_THIRDPARTY_INCLUDE}
)
target_link_libraries(kernel_launcher_obj
$<TARGET_OBJECTS:core_obj>
stdc++fs
kernel_launcher_runtime
kernel_launcher_acl
dl
pthread
)
add_library(
kernel_launcher_runtime SHARED
Runtime.cpp
)
add_library(
kernel_launcher_acl SHARED
AscendCl.cpp
)
set_target_properties(kernel_launcher_runtime PROPERTIES OUTPUT_NAME runtime)
set_target_properties(kernel_launcher_acl PROPERTIES OUTPUT_NAME acl_rt)
target_include_directories(kernel_launcher_runtime PUBLIC
${HOST_INJECTION_CSRC}
${INJECTION_THIRDPARTY_INCLUDE}
)
target_include_directories(kernel_launcher_acl PUBLIC
${HOST_INJECTION_CSRC}
${INJECTION_THIRDPARTY_INCLUDE}
)
add_executable(kernel_launcher_bin
main.cpp
)
target_link_options(kernel_launcher_bin PRIVATE "-pie")
add_dependencies(kernel_launcher_bin kernel_launcher_obj)
target_include_directories(kernel_launcher_bin PUBLIC
${JSON_DIR}
${HOST_INJECTION_CSRC}
${INJECTION_THIRDPARTY_INCLUDE}
)
target_link_libraries(kernel_launcher_bin
$<TARGET_OBJECTS:kernel_launcher_obj>
$<TARGET_OBJECTS:core_obj>
stdc++fs
kernel_launcher_runtime
kernel_launcher_acl
dl
pthread
)
set_target_properties(kernel_launcher_bin PROPERTIES OUTPUT_NAME ${BIN_OUTPUT_NAME})
install(TARGETS kernel_launcher_bin
DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
)