https://github.com/halide/Halide
Raw File
Tip revision: a3442547d4cdec0c40bc48772658c8f8f4d7de4d authored by Volodymyr Kysenko on 14 February 2023, 23:35:03 UTC
Remove __restrict from print_assignment
Tip revision: a344254
CMakeLists.txt
cmake_minimum_required(VERSION 3.22)
project(c_backend)

enable_testing()

# Set up language settings
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED YES)
set(CMAKE_CXX_EXTENSIONS NO)

# Find Halide
find_package(Halide REQUIRED)

# Generator(s)
add_halide_generator(pipeline.generator SOURCES pipeline_generator.cpp)

add_halide_library(pipeline_c FROM pipeline.generator
                   C_BACKEND
                   GENERATOR pipeline)
add_halide_library(pipeline_native FROM pipeline.generator
                   GENERATOR pipeline)

add_halide_generator(pipeline_cpp.generator SOURCES pipeline_cpp_generator.cpp)

add_halide_library(pipeline_cpp_cpp FROM pipeline_cpp.generator
                   C_BACKEND
                   GENERATOR pipeline_cpp
                   FEATURES c_plus_plus_name_mangling)
add_halide_library(pipeline_cpp_native FROM pipeline_cpp.generator
                   GENERATOR pipeline_cpp
                   FEATURES c_plus_plus_name_mangling)

# Final executable(s)
add_executable(run_c_backend_and_native run.cpp)
target_link_libraries(run_c_backend_and_native
                      PRIVATE
                      pipeline_native
                      pipeline_c)

add_executable(run_c_backend_and_native_cpp run_cpp.cpp)
target_link_libraries(run_c_backend_and_native_cpp
                      PRIVATE
                      pipeline_cpp_native
                      pipeline_cpp_cpp)

# Test that the app actually works!
add_test(NAME c_backend COMMAND run_c_backend_and_native)
add_test(NAME c_backend_cpp COMMAND run_c_backend_and_native_cpp)

set_tests_properties(c_backend c_backend_cpp PROPERTIES
                     LABELS c_backend
                     PASS_REGULAR_EXPRESSION "Success!"
                     SKIP_REGULAR_EXPRESSION "\\[SKIP\\]")
back to top