add_definitions( -DCOUMPONENT_NAME="Cauchy" )
add_definitions( -D_CAUCHY_INCLUDE_DIR_="${INCLUDE_INSTALL_DIR}" )


set(Cauchy_SRCS
  CompilationMessage.cpp
  CompilationMessages.cpp
  Options.cpp
  String.cpp
  Source.cpp
  Version.cpp
# Internal
  Atomic.cpp
  Debug.cpp
  DeclarationsGenerator.cpp
  DeclarationsRegistry.cpp
  FunctionDeclaration.cpp
  Lexer.cpp
  Parser.cpp
  SharedPointer.cpp
  Token_p.cpp
  Type.cpp
  Variable.cpp
  VariablesManager.cpp
  VariableDeclaration.cpp
# AST
  AST/Annotation.cpp
  AST/BinaryExpression.cpp
  AST/Expression.cpp
  AST/ExpressionResult.cpp
  AST/FunctionDefinition.cpp
  AST/GenerationVisitor.cpp
  AST/Node.cpp
  AST/Statement.cpp
  AST/Tree.cpp
  AST/UnaryExpression.cpp
# CFD
  cfd/Token.cpp
  cfd/Parser.cpp
  cfd/Lexer.cpp
# EigenBackend
  EigenBackend/DeclarationsGenerator.cpp
  EigenBackend/ExpressionResult.cpp
  EigenBackend/GenerationVisitor.cpp
  EigenBackend/GeneratorPrivateBase.cpp
# MathMLBackend
  MathMLBackend/ExpressionResult.cpp
  MathMLBackend/GenerationVisitor.cpp
)

add_library(Cauchy SHARED ${Cauchy_SRCS} )
set_target_properties(Cauchy PROPERTIES VERSION ${CAUCHY_LIB_VERSION} SOVERSION ${CAUCHY_LIB_SOVERSION} )

install(TARGETS Cauchy ${INSTALL_TARGETS_DEFAULT_ARGS} )
