24 lines
612 B
CMake
24 lines
612 B
CMake
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)
|