如何使用CMake构建ispc文件?

时间:2017-02-14 20:17:01

标签: c cmake ispc

我有一个简单的项目。它包含两个文件:

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)

但当然它不会链接,因为它在kernel.o

中缺少符号

所以问题是: 如何让cmake使用kernel.ispc编译器编译ispc,如何让cmake将其链接到my_program

2 个答案:

答案 0 :(得分:2)

  

如何使用ispc编译器让cmake编译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)

答案 1 :(得分:0)

我知道这是一个老问题,但 CMAKE 3.19 现在内置了对 ISPC 的支持。