aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/craftinginterpreters/lox/CMakeLists.txt
blob: b437b7a47410ece3915cbadfa3462c685fb0b976 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
get_target_property(GENERATE_AST_JAR GenerateAst JAR_FILE)

set(GENERATED_JAVA_FILENAMES
  ${CMAKE_CURRENT_BINARY_DIR}/Expr.java
  ${CMAKE_CURRENT_BINARY_DIR}/Stmt.java
  CACHE INTERNAL "")

add_custom_command(OUTPUT ${GENERATED_JAVA_FILENAMES}
  COMMAND java -jar ${GENERATE_AST_JAR} ${CMAKE_CURRENT_BINARY_DIR}
  DEPENDS GenerateAst ${GENERATE_AST_JAR})

add_jar(Lox
  Lox.java
  TokenType.java
  Token.java
  Scanner.java
  ${GENERATED_JAVA_FILENAMES}
  AstPrinter.java
  Parser.java
  Interpreter.java
  RuntimeError.java
  Environment.java
  LoxCallable.java
  ENTRY_POINT com/craftinginterpreters/lox/Lox)