CMakeLists.txt 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. set(LLVM_LINK_COMPONENTS
  2. Core
  3. # MC # HLSL Change
  4. Support
  5. )
  6. # Figure out if we can track VC revisions.
  7. function(find_first_existing_file out_var)
  8. foreach(file ${ARGN})
  9. if(EXISTS "${file}")
  10. set(${out_var} "${file}" PARENT_SCOPE)
  11. return()
  12. endif()
  13. endforeach()
  14. endfunction()
  15. macro(find_first_existing_vc_file out_var path)
  16. find_first_existing_file(${out_var}
  17. "${path}/.git/logs/HEAD" # Git
  18. "${path}/.svn/wc.db" # SVN 1.7
  19. "${path}/.svn/entries" # SVN 1.6
  20. )
  21. endmacro()
  22. find_first_existing_vc_file(llvm_vc "${LLVM_MAIN_SRC_DIR}")
  23. find_first_existing_vc_file(clang_vc "${CLANG_SOURCE_DIR}")
  24. # The VC revision include that we want to generate.
  25. set(version_inc "${CMAKE_CURRENT_BINARY_DIR}/SVNVersion.inc")
  26. set(get_svn_script "${LLVM_MAIN_SRC_DIR}/cmake/modules/GetSVN.cmake")
  27. # HLSL Change Starts
  28. if (HLSL_ENABLE_FIXED_VER)
  29. add_definitions(/DHLSL_FIXED_VER="dxcoob 2017.11")
  30. endif (HLSL_ENABLE_FIXED_VER)
  31. # HLSL Change Ends
  32. if(DEFINED llvm_vc AND DEFINED clang_vc)
  33. # Create custom target to generate the VC revision include.
  34. add_custom_command(OUTPUT "${version_inc}"
  35. DEPENDS "${llvm_vc}" "${clang_vc}" "${get_svn_script}"
  36. COMMAND
  37. ${CMAKE_COMMAND} "-DFIRST_SOURCE_DIR=${LLVM_MAIN_SRC_DIR}"
  38. "-DFIRST_NAME=LLVM"
  39. "-DSECOND_SOURCE_DIR=${CLANG_SOURCE_DIR}"
  40. "-DSECOND_NAME=SVN"
  41. "-DHEADER_FILE=${version_inc}"
  42. -P "${get_svn_script}")
  43. # Mark the generated header as being generated.
  44. set_source_files_properties("${version_inc}"
  45. PROPERTIES GENERATED TRUE
  46. HEADER_FILE_ONLY TRUE)
  47. # Tell Version.cpp that it needs to build with -DHAVE_SVN_VERSION_INC.
  48. set_source_files_properties(Version.cpp
  49. PROPERTIES COMPILE_DEFINITIONS "HAVE_SVN_VERSION_INC")
  50. else()
  51. # Not producing a VC revision include.
  52. set(version_inc)
  53. endif()
  54. add_clang_library(clangBasic
  55. Attributes.cpp
  56. Builtins.cpp
  57. CharInfo.cpp
  58. Diagnostic.cpp
  59. DiagnosticIDs.cpp
  60. DiagnosticOptions.cpp
  61. FileManager.cpp
  62. FileSystemStatCache.cpp
  63. IdentifierTable.cpp
  64. LangOptions.cpp
  65. Module.cpp
  66. ObjCRuntime.cpp
  67. OpenMPKinds.cpp
  68. OperatorPrecedence.cpp
  69. SanitizerBlacklist.cpp
  70. Sanitizers.cpp
  71. SourceLocation.cpp
  72. SourceManager.cpp
  73. TargetInfo.cpp
  74. Targets.cpp
  75. TokenKinds.cpp
  76. Version.cpp
  77. VersionTuple.cpp
  78. VirtualFileSystem.cpp
  79. Warnings.cpp
  80. ${version_inc}
  81. )