Как мне использовать 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 ответа
Как мне заставить cmake скомпилировать kernel.ispc с помощью компилятора 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)
Я знаю, что это старый вопрос, но CMAKE 3.19 теперь имеет встроенную поддержку ISPC.