get_target_property(GENERATE_AST_JAR GenerateAst JAR_FILE) set(EXPR_JAVA_FILENAME ${CMAKE_CURRENT_BINARY_DIR}/Expr.java CACHE INTERNAL "") add_custom_command(OUTPUT ${EXPR_JAVA_FILENAME} COMMAND java -jar ${GENERATE_AST_JAR} ${CMAKE_CURRENT_BINARY_DIR} DEPENDS GenerateAst) add_jar(Lox Lox.java TokenType.java Token.java Scanner.java ${EXPR_JAVA_FILENAME} AstPrinter.java ENTRY_POINT com/craftinginterpreters/lox/Lox)