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