我有一个简单的计划。它包含两个文件:

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/

10-12 14:58