2013-05-31 19:04:25 +02:00
|
|
|
# The scully programming language
|
|
|
|
|
#
|
|
|
|
|
# Copyright (c) Peter Dahlberg, Markus Hauschild and Florian Sattler, 2013.
|
|
|
|
|
# Licensed under the GNU GPL v2.
|
|
|
|
|
|
|
|
|
|
CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
|
|
|
|
|
PROJECT (scully)
|
|
|
|
|
|
|
|
|
|
SET (SCULLY_VERSION_MAJOR 0)
|
|
|
|
|
SET (SCULLY_VERSION_MINOR 1)
|
|
|
|
|
SET (SCULLY_VERSION_RELEASE 0)
|
|
|
|
|
SET (SCULLY_VERSION_EXTRA "WoC Friday Night")
|
|
|
|
|
|
|
|
|
|
INCLUDE_DIRECTORIES (${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
|
|
|
|
|
|
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/inc)
|
|
|
|
|
|
2013-05-31 22:20:31 +02:00
|
|
|
ADD_DEFINITIONS("-std=c++0x")
|
|
|
|
|
|
2013-05-31 19:04:25 +02:00
|
|
|
ADD_EXECUTABLE (lemon grammar/lemon.c)
|
2013-05-31 23:51:44 +02:00
|
|
|
ADD_EXECUTABLE (makeheaders grammar/makeheaders.c)
|
2013-05-31 19:04:25 +02:00
|
|
|
|
|
|
|
|
ADD_CUSTOM_COMMAND(
|
2013-06-01 02:27:01 +02:00
|
|
|
COMMAND cp
|
|
|
|
|
ARGS ${CMAKE_CURRENT_SOURCE_DIR}/grammar/grammar.y ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
|
COMMAND cp
|
|
|
|
|
ARGS ${CMAKE_CURRENT_SOURCE_DIR}/grammar/lempar.c ${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
|
COMMAND ${CMAKE_CURRENT_BINARY_DIR}/lemon
|
|
|
|
|
ARGS -q -m ${CMAKE_CURRENT_BINARY_DIR}/grammar.y
|
|
|
|
|
# ARGS -q ${CMAKE_CURRENT_BINARY_DIR}/grammar.y
|
|
|
|
|
COMMAND rm
|
|
|
|
|
ARGS ${CMAKE_CURRENT_BINARY_DIR}/lempar.c
|
|
|
|
|
COMMAND rm
|
|
|
|
|
ARGS ${CMAKE_CURRENT_BINARY_DIR}/grammar.y
|
|
|
|
|
COMMAND ${CMAKE_CURRENT_BINARY_DIR}/makeheaders
|
|
|
|
|
ARGS ${CMAKE_CURRENT_BINARY_DIR}/grammar.c
|
|
|
|
|
COMMAND mv
|
|
|
|
|
ARGS ${CMAKE_CURRENT_BINARY_DIR}/grammar.c ${CMAKE_CURRENT_BINARY_DIR}/grammar.cpp
|
|
|
|
|
DEPENDS lemon
|
|
|
|
|
DEPENDS makeheaders
|
|
|
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/grammar/grammar.y
|
|
|
|
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/grammar.cpp
|
|
|
|
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/grammar.h
|
2013-05-31 19:04:25 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
SET_SOURCE_FILES_PROPERTIES(
|
2013-06-01 02:27:01 +02:00
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/grammar.cpp GENERATED
|
2013-05-31 19:04:25 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
OPTION (SCULLY_DEBUG "Create a debug build")
|
|
|
|
|
IF (SCULLY_DEBUG)
|
2013-06-01 02:27:01 +02:00
|
|
|
ADD_DEFINITIONS ("-g")
|
2013-05-31 19:04:25 +02:00
|
|
|
ENDIF (SCULLY_DEBUG)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SET(SCULLY_SOURCE
|
2013-06-01 02:27:01 +02:00
|
|
|
src/test.cpp
|
2013-05-31 19:04:25 +02:00
|
|
|
|
2013-06-01 02:27:01 +02:00
|
|
|
src/Token.cpp
|
2013-05-31 23:51:44 +02:00
|
|
|
|
2013-06-01 02:27:01 +02:00
|
|
|
src/AST/ASTElement.cpp
|
|
|
|
|
src/AST/ASTVisitor.cpp
|
|
|
|
|
src/AST/AssignmentExpression.cpp
|
|
|
|
|
src/AST/BinOp.cpp
|
|
|
|
|
src/AST/ConstantExpression.cpp
|
|
|
|
|
src/AST/Expression.cpp
|
|
|
|
|
src/AST/ParameterList.cpp
|
|
|
|
|
src/AST/Scope.cpp
|
|
|
|
|
src/AST/Statement.cpp
|
|
|
|
|
src/AST/Type.cpp
|
|
|
|
|
src/AST/VariableDefinition.cpp
|
|
|
|
|
src/AST/StatementList.cpp
|
|
|
|
|
src/AST/ValueList.cpp
|
|
|
|
|
src/AST/IfStatement.cpp
|
2013-05-31 23:51:44 +02:00
|
|
|
|
2013-06-01 02:27:01 +02:00
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/grammar.cpp
|
2013-05-31 19:04:25 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
ADD_EXECUTABLE (scully ${SCULLY_SOURCE})
|