Home | History | Annotate | Download | only in Headers
      1 set(files
      2   adxintrin.h
      3   altivec.h
      4   ammintrin.h
      5   arm_acle.h
      6   avx2intrin.h
      7   avx512bwintrin.h
      8   avx512cdintrin.h
      9   avx512dqintrin.h
     10   avx512erintrin.h
     11   avx512fintrin.h
     12   avx512ifmaintrin.h
     13   avx512ifmavlintrin.h
     14   avx512pfintrin.h
     15   avx512vbmiintrin.h
     16   avx512vbmivlintrin.h
     17   avx512vlbwintrin.h
     18   avx512vlcdintrin.h
     19   avx512vldqintrin.h
     20   avx512vlintrin.h
     21   avxintrin.h
     22   bmi2intrin.h
     23   bmiintrin.h
     24   __clang_cuda_cmath.h
     25   __clang_cuda_intrinsics.h
     26   __clang_cuda_math_forward_declares.h
     27   __clang_cuda_runtime_wrapper.h
     28   cpuid.h
     29   cuda_builtin_vars.h
     30   clflushoptintrin.h
     31   emmintrin.h
     32   f16cintrin.h
     33   float.h
     34   fma4intrin.h
     35   fmaintrin.h
     36   fxsrintrin.h
     37   htmintrin.h
     38   htmxlintrin.h
     39   ia32intrin.h
     40   immintrin.h
     41   intrin.h
     42   inttypes.h
     43   iso646.h
     44   limits.h
     45   lzcntintrin.h
     46   mm3dnow.h
     47   mmintrin.h
     48   mm_malloc.h
     49   module.modulemap
     50   mwaitxintrin.h
     51   nmmintrin.h
     52   opencl-c.h
     53   pkuintrin.h
     54   pmmintrin.h
     55   popcntintrin.h
     56   prfchwintrin.h
     57   rdseedintrin.h
     58   rtmintrin.h
     59   s390intrin.h
     60   shaintrin.h
     61   smmintrin.h
     62   stdalign.h
     63   stdarg.h
     64   stdatomic.h
     65   stdbool.h
     66   stddef.h
     67   __stddef_max_align_t.h
     68   stdint.h
     69   stdnoreturn.h
     70   tbmintrin.h
     71   tgmath.h
     72   tmmintrin.h
     73   unwind.h
     74   vadefs.h
     75   varargs.h
     76   vecintrin.h
     77   wmmintrin.h
     78   __wmmintrin_aes.h
     79   __wmmintrin_pclmul.h
     80   x86intrin.h
     81   xmmintrin.h
     82   xopintrin.h
     83   xsavecintrin.h
     84   xsaveintrin.h
     85   xsaveoptintrin.h
     86   xsavesintrin.h
     87   xtestintrin.h
     88   )
     89 
     90 set(output_dir ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION}/include)
     91 
     92 # Generate arm_neon.h
     93 clang_tablegen(arm_neon.h -gen-arm-neon
     94   SOURCE ${CLANG_SOURCE_DIR}/include/clang/Basic/arm_neon.td)
     95 
     96 set(out_files)
     97 foreach( f ${files} )
     98   set( src ${CMAKE_CURRENT_SOURCE_DIR}/${f} )
     99   set( dst ${output_dir}/${f} )
    100   add_custom_command(OUTPUT ${dst}
    101     DEPENDS ${src}
    102     COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
    103     COMMENT "Copying clang's ${f}...")
    104   list(APPEND out_files ${dst})
    105 endforeach( f )
    106 
    107 add_custom_command(OUTPUT ${output_dir}/arm_neon.h 
    108   DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h
    109   COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h ${output_dir}/arm_neon.h
    110   COMMENT "Copying clang's arm_neon.h...")
    111 list(APPEND out_files ${output_dir}/arm_neon.h)
    112 
    113 add_custom_target(clang-headers ALL DEPENDS ${out_files})
    114 set_target_properties(clang-headers PROPERTIES FOLDER "Misc")
    115 
    116 install(
    117   FILES ${files} ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h
    118   COMPONENT clang-headers
    119   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
    120   DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
    121 
    122 if (NOT CMAKE_CONFIGURATION_TYPES) # don't add this for IDE's.
    123   add_custom_target(install-clang-headers
    124     DEPENDS clang-headers
    125     COMMAND "${CMAKE_COMMAND}"
    126             -DCMAKE_INSTALL_COMPONENT=clang-headers
    127             -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
    128 endif()
    129