我有一个简单的计划。它包含两个文件:
main.c
kernel.ispc
(ispc文件是https://ispc.github.io/的源)
要手动编译文件,我只需要使用:
ispc --target=sse2 kernel.ispc -o kernel.o
gcc -c main.c -o main.o
gcc main.o kernel.o -o my_program
所以对于我的cmake文件来说
project(my_program)
add_executable(my_program main.c)
但它当然不会链接,因为它缺少内核中的符号
所以问题是:
如何让cmake使用
kernel.ispc
编译器编译ispc
,以及如何让cmake将其链接到my_program
? 最佳答案
如何让cmake使用ispc编译器编译kernel.ispc?
只需使用add_custom_command:
add_custom_command(OUTPUT kernel.o
COMMAND ispc --target=sse2 ${CMAKE_SOURCE_DIR}/kernel.ispc -o kernel.o
DEPENDS kernel.ispc)
如何让cmake将其链接到
my_program
?从CMake视图来看,
.o
文件只是可执行文件的另一个来源:add_executable(my_program main.c kernel.o)
关于c - 如何使用CMake生成ispc文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42235410/