]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/Headers/CMakeLists.txt
Vendor import of clang trunk r238337:
[FreeBSD/FreeBSD.git] / lib / Headers / CMakeLists.txt
1 set(files
2   adxintrin.h
3   altivec.h
4   ammintrin.h
5   arm_acle.h
6   avx2intrin.h
7   avx512bwintrin.h
8   avx512erintrin.h
9   avx512fintrin.h
10   avx512vlbwintrin.h
11   avx512vlintrin.h
12   avx512dqintrin.h
13   avx512vldqintrin.h
14   avxintrin.h
15   bmi2intrin.h
16   bmiintrin.h
17   cpuid.h
18   cuda_builtin_vars.h
19   emmintrin.h
20   f16cintrin.h
21   float.h
22   fma4intrin.h
23   fmaintrin.h
24   htmintrin.h
25   htmxlintrin.h
26   ia32intrin.h
27   immintrin.h
28   Intrin.h
29   iso646.h
30   limits.h
31   lzcntintrin.h
32   mm3dnow.h
33   mmintrin.h
34   mm_malloc.h
35   module.modulemap
36   nmmintrin.h
37   pmmintrin.h
38   popcntintrin.h
39   prfchwintrin.h
40   rdseedintrin.h
41   rtmintrin.h
42   s390intrin.h
43   shaintrin.h
44   smmintrin.h
45   stdalign.h
46   stdarg.h
47   stdatomic.h
48   stdbool.h
49   stddef.h
50   __stddef_max_align_t.h
51   stdint.h
52   stdnoreturn.h
53   tbmintrin.h
54   tgmath.h
55   tmmintrin.h
56   unwind.h
57   vadefs.h
58   varargs.h
59   __wmmintrin_aes.h
60   wmmintrin.h
61   __wmmintrin_pclmul.h
62   x86intrin.h
63   xmmintrin.h
64   xopintrin.h
65   )
66
67 set(output_dir ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION}/include)
68
69 # Generate arm_neon.h
70 clang_tablegen(arm_neon.h -gen-arm-neon
71   SOURCE ${CLANG_SOURCE_DIR}/include/clang/Basic/arm_neon.td)
72
73 set(out_files)
74 foreach( f ${files} )
75   set( src ${CMAKE_CURRENT_SOURCE_DIR}/${f} )
76   set( dst ${output_dir}/${f} )
77   add_custom_command(OUTPUT ${dst}
78     DEPENDS ${src}
79     COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
80     COMMENT "Copying clang's ${f}...")
81   list(APPEND out_files ${dst})
82 endforeach( f )
83
84 add_custom_command(OUTPUT ${output_dir}/arm_neon.h 
85   DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h
86   COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h ${output_dir}/arm_neon.h
87   COMMENT "Copying clang's arm_neon.h...")
88 list(APPEND out_files ${output_dir}/arm_neon.h)
89
90 add_custom_target(clang-headers ALL DEPENDS ${out_files})
91 set_target_properties(clang-headers PROPERTIES FOLDER "Misc")
92
93 install(
94   FILES ${files} ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h
95   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
96   DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)