]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/Headers/CMakeLists.txt
Vendor import of clang trunk r321530:
[FreeBSD/FreeBSD.git] / lib / Headers / CMakeLists.txt
1 set(files
2   adxintrin.h
3   altivec.h
4   ammintrin.h
5   arm_acle.h
6   armintr.h
7   arm64intr.h
8   avx2intrin.h
9   avx512bwintrin.h
10   avx512bitalgintrin.h
11   avx512vlbitalgintrin.h
12   avx512cdintrin.h
13   avx512vpopcntdqintrin.h
14   avx512dqintrin.h
15   avx512erintrin.h
16   avx512fintrin.h
17   avx512ifmaintrin.h
18   avx512ifmavlintrin.h
19   avx512pfintrin.h
20   avx512vbmiintrin.h
21   avx512vbmivlintrin.h
22   avx512vbmi2intrin.h
23   avx512vlvbmi2intrin.h
24   avx512vlbwintrin.h
25   avx512vlcdintrin.h
26   avx512vldqintrin.h
27   avx512vlintrin.h
28   avx512vpopcntdqvlintrin.h
29   avx512vnniintrin.h
30   avx512vlvnniintrin.h
31   avxintrin.h
32   bmi2intrin.h
33   bmiintrin.h
34   __clang_cuda_builtin_vars.h
35   __clang_cuda_cmath.h
36   __clang_cuda_complex_builtins.h
37   __clang_cuda_intrinsics.h
38   __clang_cuda_math_forward_declares.h
39   __clang_cuda_runtime_wrapper.h
40   cetintrin.h
41   clzerointrin.h
42   cpuid.h
43   clflushoptintrin.h
44   clwbintrin.h
45   emmintrin.h
46   f16cintrin.h
47   float.h
48   fma4intrin.h
49   fmaintrin.h
50   fxsrintrin.h
51   gfniintrin.h
52   htmintrin.h
53   htmxlintrin.h
54   ia32intrin.h
55   immintrin.h
56   intrin.h
57   inttypes.h
58   iso646.h
59   limits.h
60   lwpintrin.h
61   lzcntintrin.h
62   mm3dnow.h
63   mmintrin.h
64   mm_malloc.h
65   module.modulemap
66   msa.h
67   mwaitxintrin.h
68   nmmintrin.h
69   opencl-c.h
70   pkuintrin.h
71   pmmintrin.h
72   popcntintrin.h
73   prfchwintrin.h
74   rdseedintrin.h
75   rtmintrin.h
76   s390intrin.h
77   shaintrin.h
78   smmintrin.h
79   stdalign.h
80   stdarg.h
81   stdatomic.h
82   stdbool.h
83   stddef.h
84   __stddef_max_align_t.h
85   stdint.h
86   stdnoreturn.h
87   tbmintrin.h
88   tgmath.h
89   tmmintrin.h
90   unwind.h
91   vadefs.h
92   vaesintrin.h
93   varargs.h
94   vecintrin.h
95   vpclmulqdqintrin.h
96   wmmintrin.h
97   __wmmintrin_aes.h
98   __wmmintrin_pclmul.h
99   x86intrin.h
100   xmmintrin.h
101   xopintrin.h
102   xsavecintrin.h
103   xsaveintrin.h
104   xsaveoptintrin.h
105   xsavesintrin.h
106   xtestintrin.h
107   )
108
109 set(cuda_wrapper_files
110   cuda_wrappers/algorithm
111   cuda_wrappers/complex
112   cuda_wrappers/new
113 )
114
115 set(output_dir ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION}/include)
116
117 # Generate arm_neon.h
118 clang_tablegen(arm_neon.h -gen-arm-neon
119   SOURCE ${CLANG_SOURCE_DIR}/include/clang/Basic/arm_neon.td)
120
121 set(out_files)
122 foreach( f ${files} ${cuda_wrapper_files} )
123   set( src ${CMAKE_CURRENT_SOURCE_DIR}/${f} )
124   set( dst ${output_dir}/${f} )
125   add_custom_command(OUTPUT ${dst}
126     DEPENDS ${src}
127     COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
128     COMMENT "Copying clang's ${f}...")
129   list(APPEND out_files ${dst})
130 endforeach( f )
131
132 add_custom_command(OUTPUT ${output_dir}/arm_neon.h 
133   DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h
134   COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h ${output_dir}/arm_neon.h
135   COMMENT "Copying clang's arm_neon.h...")
136 list(APPEND out_files ${output_dir}/arm_neon.h)
137
138 add_custom_target(clang-headers ALL DEPENDS ${out_files})
139 set_target_properties(clang-headers PROPERTIES FOLDER "Misc")
140
141 install(
142   FILES ${files} ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h
143   COMPONENT clang-headers
144   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
145   DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
146
147 install(
148   FILES ${cuda_wrapper_files}
149   COMPONENT clang-headers
150   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
151   DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include/cuda_wrappers)
152
153 if (NOT CMAKE_CONFIGURATION_TYPES) # don't add this for IDE's.
154   add_llvm_install_targets(install-clang-headers
155                            DEPENDS clang-headers
156                            COMPONENT clang-headers)
157 endif()