Fix ufho issues (#3551)
[cvc5.git] / src / options / CMakeLists.txt
1 libcvc4_add_sources(
2 argument_extender.h
3 argument_extender_implementation.cpp
4 argument_extender_implementation.h
5 arith_heuristic_pivot_rule.cpp
6 arith_heuristic_pivot_rule.h
7 arith_propagation_mode.cpp
8 arith_propagation_mode.h
9 arith_unate_lemma_mode.cpp
10 arith_unate_lemma_mode.h
11 base_handlers.h
12 bool_to_bv_mode.cpp
13 bool_to_bv_mode.h
14 bv_bitblast_mode.cpp
15 bv_bitblast_mode.h
16 datatypes_modes.h
17 decision_mode.cpp
18 decision_mode.h
19 decision_weight.h
20 didyoumean.cpp
21 didyoumean.h
22 language.cpp
23 language.h
24 open_ostream.cpp
25 open_ostream.h
26 option_exception.cpp
27 option_exception.h
28 options.h
29 options_handler.cpp
30 options_handler.h
31 options_public_functions.cpp
32 printer_modes.cpp
33 printer_modes.h
34 quantifiers_modes.cpp
35 quantifiers_modes.h
36 set_language.cpp
37 set_language.h
38 smt_modes.cpp
39 smt_modes.h
40 strings_modes.cpp
41 strings_modes.h
42 sygus_out_mode.h
43 theoryof_mode.cpp
44 theoryof_mode.h
45 ufss_mode.h
46 )
47
48 set(options_toml_files
49 arith_options.toml
50 arrays_options.toml
51 base_options.toml
52 booleans_options.toml
53 builtin_options.toml
54 bv_options.toml
55 datatypes_options.toml
56 decision_options.toml
57 expr_options.toml
58 fp_options.toml
59 idl_options.toml
60 main_options.toml
61 parser_options.toml
62 printer_options.toml
63 proof_options.toml
64 prop_options.toml
65 quantifiers_options.toml
66 sep_options.toml
67 sets_options.toml
68 smt_options.toml
69 strings_options.toml
70 theory_options.toml
71 uf_options.toml
72 )
73
74 string(REPLACE "toml" "cpp;" options_gen_cpp_files ${options_toml_files})
75 string(REPLACE "toml" "h;" options_gen_h_files ${options_toml_files})
76
77 libcvc4_add_sources(GENERATED options.cpp ${options_gen_cpp_files})
78
79 list_prepend(options_toml_files "${CMAKE_CURRENT_LIST_DIR}/" abs_toml_files)
80
81 add_custom_command(
82 OUTPUT
83 options.cpp options_holder.h
84 ${options_gen_cpp_files} ${options_gen_h_files}
85 COMMAND
86 ${PYTHON_EXECUTABLE}
87 ${CMAKE_CURRENT_LIST_DIR}/mkoptions.py
88 ${CMAKE_CURRENT_LIST_DIR}
89 ${CMAKE_CURRENT_BINARY_DIR}/../../doc
90 ${CMAKE_CURRENT_BINARY_DIR}
91 ${abs_toml_files}
92 DEPENDS
93 mkoptions.py
94 ${options_toml_files}
95 module_template.h
96 module_template.cpp
97 options_holder_template.h
98 options_template.cpp
99 ${CMAKE_CURRENT_BINARY_DIR}/../../doc/cvc4.1_template
100 ${CMAKE_CURRENT_BINARY_DIR}/../../doc/SmtEngine.3cvc_template
101 ${CMAKE_CURRENT_BINARY_DIR}/../../doc/options.3cvc_template
102 )
103
104 add_custom_target(gen-options
105 DEPENDS
106 options.cpp
107 options_holder.h
108 ${options_gen_cpp_files}
109 ${options_gen_h_files}
110 )