| cmake_minimum_required (VERSION 2.8.11) |
| |
| project(OpenCL_Headers_Tests) |
| |
| enable_testing() |
| |
| include_directories(${PROJECT_SOURCE_DIR}/..) |
| |
| # Make sure headers do not produce warnings |
| add_compile_options(-Wall -Wextra -Werror -pedantic -Wno-format) |
| |
| # Add a test for a given source file for each version of OpenCL |
| function(add_header_test NAME SOURCE) |
| foreach(VERSION 100 110 120 200 210 220) |
| set(TEST_EXE ${NAME}_${VERSION}) |
| add_executable(${TEST_EXE} ${SOURCE}) |
| target_compile_definitions(${TEST_EXE} |
| PUBLIC -DCL_TARGET_OPENCL_VERSION=${VERSION} |
| ) |
| add_test(NAME ${TEST_EXE} COMMAND ${TEST_EXE}) |
| if(${VERSION} EQUAL 220) |
| set(TEST_EXE ${NAME}_${VERSION}_EXPERIMENTAL) |
| add_executable(${TEST_EXE} ${SOURCE}) |
| target_compile_definitions(${TEST_EXE} |
| PUBLIC -DCL_TARGET_OPENCL_VERSION=${VERSION} -DCL_EXPERIMENTAL |
| ) |
| add_test(NAME ${TEST_EXE} COMMAND ${TEST_EXE}) |
| endif() |
| endforeach(VERSION) |
| endfunction(add_header_test) |
| |
| # Tests |
| add_header_test(cl_h test_cl.h.c) |
| add_header_test(cl_egl_h test_cl_egl.h.c) |
| add_header_test(cl_ext_h test_cl_ext.h.c) |
| add_header_test(cl_ext_intel_h test_cl_ext_intel.h.c) |
| add_header_test(cl_gl_h test_cl_gl.h.c) |
| add_header_test(cl_gl_ext_h test_cl_gl_ext.h.c) |
| add_header_test(cl_icd_h test_cl_icd.h.c) |
| add_header_test(cl_platform_h test_cl_platform.h.c) |
| add_header_test(cl_opencl_h test_opencl.h.c) |
| add_header_test(cl_version_h test_cl_version.h.c) |
| add_header_test(headers test_headers.c) |