Spaces:
Runtime error
Runtime error
| # For every public header, build a translation unit containing `#include <header>` | |
| # to let the compiler try to figure out warnings in that header if it is not otherwise | |
| # included in tests, and also to verify if the headers are modular enough. | |
| # .inl files are not globbed for, because they are not supposed to be used as public | |
| # entrypoints. | |
| file(GLOB_RECURSE headers | |
| RELATIVE "${CUB_SOURCE_DIR}/cub" | |
| CONFIGURE_DEPENDS | |
| cub/*.cuh | |
| ) | |
| set(headertest_srcs) | |
| foreach (header IN LISTS headers) | |
| set(headertest_src "headers/${header}.cu") | |
| configure_file("${CUB_SOURCE_DIR}/cmake/header_test.in" "${headertest_src}") | |
| list(APPEND headertest_srcs "${headertest_src}") | |
| endforeach() | |
| foreach(cub_target IN LISTS CUB_TARGETS) | |
| cub_get_target_property(config_prefix ${cub_target} PREFIX) | |
| set(headertest_target ${config_prefix}.headers) | |
| add_library(${headertest_target} OBJECT ${headertest_srcs}) | |
| target_link_libraries(${headertest_target} PUBLIC ${cub_target}) | |
| cub_clone_target_properties(${headertest_target} ${cub_target}) | |
| add_dependencies(${config_prefix}.all ${headertest_target}) | |
| endforeach() | |