bolt/deps/llvm-18.1.8/libc/startup/gpu/nvptx/CMakeLists.txt
2025-02-14 19:21:04 +01:00

27 lines
823 B
CMake

get_nvptx_compile_options(nvptx_options ${LIBC_GPU_TARGET_ARCHITECTURE})
add_startup_object(
crt1
SRC
start.cpp
DEPENDS
libc.src.__support.RPC.rpc_client
libc.src.__support.GPU.utils
libc.src.stdlib.exit
libc.src.stdlib.atexit
COMPILE_OPTIONS
-ffreestanding # To avoid compiler warnings about calling the main function.
-fno-builtin
-nogpulib # Do not include any GPU vendor libraries.
--target=${LIBC_GPU_TARGET_TRIPLE}
${nvptx_options}
NO_GPU_BUNDLE # Compile this file directly without special GPU handling.
)
get_fq_target_name(crt1 fq_name)
# Ensure that clang uses the correct linker for this object type.
target_link_libraries(${fq_name}
PUBLIC
"-march=${LIBC_GPU_TARGET_ARCHITECTURE}"
"--target=${LIBC_GPU_TARGET_TRIPLE}"
"--cuda-path=${LIBC_CUDA_ROOT}"
)