find_antlr4.lua 683 B

12345678910111213141516171819
  1. -- https://github.com/antlr/antlr4/blob/master/runtime/Cpp/cmake/antlr4-generator.cmake.in
  2. rule("find_antlr4")
  3. on_config(function(target)
  4. import("lib.detect.find_tool")
  5. assert(target:pkg("antlr4"), "Please configure add_packages(\"antlr4\") for target(" .. target:name() .. ")")
  6. local envs = target:pkgenvs()
  7. local java = assert(find_tool("java", {envs = envs}), "java not found!")
  8. local argv = {
  9. "-classpath",
  10. envs.CLASSPATH,
  11. "org.antlr.v4.Tool",
  12. "-Dlanguage=Cpp",
  13. }
  14. target:data_set("antlr4.tool", java)
  15. target:data_set("antlr4.tool.argv", argv)
  16. end)