CMakeLists.txt 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  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. cpuid.h
  19. cuda_builtin_vars.h
  20. emmintrin.h
  21. f16cintrin.h
  22. float.h
  23. fma4intrin.h
  24. fmaintrin.h
  25. fxsrintrin.h
  26. htmintrin.h
  27. htmxlintrin.h
  28. ia32intrin.h
  29. immintrin.h
  30. Intrin.h
  31. inttypes.h
  32. iso646.h
  33. limits.h
  34. lzcntintrin.h
  35. mm3dnow.h
  36. mmintrin.h
  37. mm_malloc.h
  38. module.modulemap
  39. nmmintrin.h
  40. pmmintrin.h
  41. popcntintrin.h
  42. prfchwintrin.h
  43. rdseedintrin.h
  44. rtmintrin.h
  45. s390intrin.h
  46. shaintrin.h
  47. smmintrin.h
  48. stdalign.h
  49. stdarg.h
  50. stdatomic.h
  51. stdbool.h
  52. stddef.h
  53. __stddef_max_align_t.h
  54. stdint.h
  55. stdnoreturn.h
  56. tbmintrin.h
  57. tgmath.h
  58. tmmintrin.h
  59. unwind.h
  60. vadefs.h
  61. varargs.h
  62. vecintrin.h
  63. __wmmintrin_aes.h
  64. wmmintrin.h
  65. __wmmintrin_pclmul.h
  66. x86intrin.h
  67. xmmintrin.h
  68. xopintrin.h
  69. xtestintrin.h
  70. )
  71. set(output_dir ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION}/include)
  72. # Generate arm_neon.h
  73. clang_tablegen(arm_neon.h -gen-arm-neon
  74. SOURCE ${CLANG_SOURCE_DIR}/include/clang/Basic/arm_neon.td)
  75. set(out_files)
  76. foreach( f ${files} )
  77. set( src ${CMAKE_CURRENT_SOURCE_DIR}/${f} )
  78. set( dst ${output_dir}/${f} )
  79. add_custom_command(OUTPUT ${dst}
  80. DEPENDS ${src}
  81. COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
  82. COMMENT "Copying clang's ${f}...")
  83. list(APPEND out_files ${dst})
  84. endforeach( f )
  85. add_custom_command(OUTPUT ${output_dir}/arm_neon.h
  86. DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h
  87. COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h ${output_dir}/arm_neon.h
  88. COMMENT "Copying clang's arm_neon.h...")
  89. list(APPEND out_files ${output_dir}/arm_neon.h)
  90. add_custom_target(clang-headers ALL DEPENDS ${out_files})
  91. set_target_properties(clang-headers PROPERTIES FOLDER "Misc")
  92. install(
  93. FILES ${files} ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h
  94. PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
  95. DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)