xref: /llvm-project/libc/src/stdbit/CMakeLists.txt (revision 0ebf511ad011a83022edb171e044c98d9d16b1fa)
1function(declare_dependencies prefixes dependencies)
2  set(suffixes c s i l ll)
3  foreach(prefix ${prefixes})
4    foreach(suffix IN LISTS suffixes)
5      add_entrypoint_object(
6        stdc_${prefix}_u${suffix}
7        SRCS
8          stdc_${prefix}_u${suffix}.cpp
9        HDRS
10          stdc_${prefix}_u${suffix}.h
11        DEPENDS
12          ${dependencies}
13      )
14    endforeach()
15  endforeach()
16endfunction()
17
18
19set(prefixes
20  leading_zeros
21  leading_ones
22  trailing_zeros
23  trailing_ones
24  count_ones
25  has_single_bit
26  bit_width
27  bit_floor
28  bit_ceil
29)
30declare_dependencies("${prefixes}" libc.src.__support.CPP.bit)
31set(prefixes
32  first_leading_zero
33  first_leading_one
34  first_trailing_zero
35  first_trailing_one
36  count_zeros
37)
38declare_dependencies("${prefixes}" libc.src.__support.math_extras)
39