Reimplement support for relational triggers (#7063)
[cvc5.git] / src / theory / CMakeLists.txt
1 ###############################################################################
2 # Top contributors (to current version):
3 # Aina Niemetz, Mathias Preiner
4 #
5 # This file is part of the cvc5 project.
6 #
7 # Copyright (c) 2009-2021 by the authors listed in the file AUTHORS
8 # in the top-level source directory and their institutional affiliations.
9 # All rights reserved. See the file COPYING in the top-level source
10 # directory for licensing information.
11 # #############################################################################
12 #
13 # The build system configuration.
14 ##
15
16 libcvc5_add_sources(GENERATED
17 rewriter_tables.h
18 theory_traits.h
19 type_enumerator.cpp
20 )
21
22 set(mktheorytraits_script ${CMAKE_CURRENT_LIST_DIR}/mktheorytraits)
23 set(mkrewriter_script ${CMAKE_CURRENT_LIST_DIR}/mkrewriter)
24
25 add_custom_command(
26 OUTPUT rewriter_tables.h
27 COMMAND
28 ${mkrewriter_script}
29 ${CMAKE_CURRENT_LIST_DIR}/rewriter_tables_template.h
30 ${KINDS_FILES}
31 > ${CMAKE_CURRENT_BINARY_DIR}/rewriter_tables.h
32 DEPENDS mkrewriter rewriter_tables_template.h ${KINDS_FILES}
33 )
34
35 add_custom_command(
36 OUTPUT theory_traits.h
37 COMMAND
38 ${mktheorytraits_script}
39 ${CMAKE_CURRENT_LIST_DIR}/theory_traits_template.h
40 ${KINDS_FILES}
41 > ${CMAKE_CURRENT_BINARY_DIR}/theory_traits.h
42 DEPENDS mktheorytraits theory_traits_template.h ${KINDS_FILES}
43 )
44
45 add_custom_command(
46 OUTPUT type_enumerator.cpp
47 COMMAND
48 ${mktheorytraits_script}
49 ${CMAKE_CURRENT_LIST_DIR}/type_enumerator_template.cpp
50 ${KINDS_FILES}
51 > ${CMAKE_CURRENT_BINARY_DIR}/type_enumerator.cpp
52 DEPENDS mktheorytraits type_enumerator_template.cpp ${KINDS_FILES}
53 )
54
55 add_custom_target(gen-theory
56 DEPENDS
57 type_enumerator.cpp
58 theory_traits.h
59 rewriter_tables.h
60 )