Advertisement
Guest User

Untitled

a guest
Sep 18th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1. #r "paket:
  2. nuget FSharp.Core ~> 4.6 prerelease
  3. nuget Fake.Core.Target ~> 5 prerelease
  4. nuget Fake.IO.FileSystem ~> 5 prerelease
  5. nuget Fake.DotNet.MSBuild ~> 5 prerelease
  6. nuget BlackFox.CommandLine ~> 1 prerelease //"
  7.  
  8. #load ".fake/build.fsx/intellisense.fsx"
  9.  
  10. open BlackFox.CommandLine
  11. open Fake.Core
  12. open Fake.Core.TargetOperators
  13. open Fake.IO
  14. open Fake.IO.FileSystemOperators
  15.  
  16. Target.initEnvironment()
  17.  
  18. let srcDir = __SOURCE_DIRECTORY__ </> "llvm"
  19. let buildDir = __SOURCE_DIRECTORY__ </> "B"
  20.  
  21. let ensureBuildDirectory() =
  22. Directory.ensure buildDir
  23. use o = new System.IO.StreamWriter(buildDir </> ".BUILDDIR.TAG")
  24. o.WriteLine "build-dir: 19BBC6F7-3FBF-49BD-BAA4-EA60CE5A0735"
  25. o.WriteLine "# Excluded from backups"
  26.  
  27. Target.create "Clean" <| fun _ -> Directory.delete buildDir
  28.  
  29. Target.create "CleanConfigure" <| fun _ ->
  30. let cmakeCache = buildDir </> "CMakeCache.txt"
  31. File.delete cmakeCache
  32.  
  33. Target.create "Configure" <| fun _ ->
  34. ensureBuildDirectory()
  35. CmdLine.empty
  36. |> CmdLine.appendPrefix "-G" "Ninja"
  37. |> CmdLine.appendPrefix "-S" srcDir
  38. |> CmdLine.appendPrefix "-B" buildDir
  39. |> CmdLine.appendPrefixSeq "-D"
  40. [| "CMAKE_BUILD_TYPE=Release"
  41. "CMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang"
  42. "CMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++"
  43. "CMKAE_EXPORT_COMPILE_COMMANDS=YES"
  44. "LLVM_TARGETS_TO_BUILD=X86"
  45. "LLVM_INCLUDE_EXAMPLES=OFF"
  46. "LLVM_INCLUDE_TESTS=OFF"
  47. "LLVM_INCLUDE_BENCHMARKS=OFF"
  48. "LLVM_OPTIMIZED_TABLEGEN=ON"
  49. "LLVM_ENABLE_PROJECTS=clang;lld" |]
  50. |> CmdLine.toArray
  51. |> CreateProcess.fromRawCommand "cmake"
  52. |> CreateProcess.ensureExitCode
  53. |> Proc.run
  54. |> ignore
  55.  
  56. Target.create "Reconfigure" ignore
  57.  
  58. "CleanConfigure" ?=> "Configure"
  59. "CleanConfigure"
  60.  
  61. "CleanConfigure" ==> "Reconfigure"
  62. "Configure"
  63. "Configure" ==> "Reconfigure"
  64.  
  65. Target.create "Build" <| fun _ ->
  66. CmdLine.empty
  67. |> CmdLine.appendPrefix "--build" buildDir
  68. |> CmdLine.toArray
  69. |> CreateProcess.fromRawCommand "cmake"
  70. |> CreateProcess.ensureExitCode
  71. |> Proc.run
  72. |> ignore
  73.  
  74. "Clean" ?=> "Configure"
  75. "Configure"
  76. "Configure" ?=> "Build"
  77.  
  78. Target.create "All" ignore
  79.  
  80. "Configure" ==> "All"
  81. "Build"
  82. "Build" ==> "All"
  83.  
  84. Target.create "Rebuild" ignore
  85.  
  86. "Clean" ==> "Rebuild"
  87. "Configure"
  88. "Configure" ==> "Rebuild"
  89. "Build"
  90. "Build" ==> "Rebuild"
  91.  
  92. Target.runOrDefault "All"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement