z3_add_component(ast
  SOURCES
    act_cache.cpp
    arith_decl_plugin.cpp
    array_decl_plugin.cpp
    array_peq.cpp
    ast.cpp
    ast_ll_pp.cpp
    ast_lt.cpp
    ast_pp_util.cpp
    ast_printer.cpp
    ast_smt2_pp.cpp
    ast_smt_pp.cpp
    ast_pp_dot.cpp
    ast_translation.cpp
    ast_util.cpp
    bv_decl_plugin.cpp
    char_decl_plugin.cpp
    cost_evaluator.cpp
    datatype_decl_plugin.cpp
    decl_collector.cpp
    display_dimacs.cpp
    dl_decl_plugin.cpp
    expr2polynomial.cpp
    expr2var.cpp
    expr_abstract.cpp
    expr_functors.cpp
    expr_map.cpp
    expr_stat.cpp
    expr_substitution.cpp
    for_each_ast.cpp
    for_each_expr.cpp
    format.cpp
    fpa_decl_plugin.cpp
    func_decl_dependencies.cpp
    has_free_vars.cpp
    macro_substitution.cpp
    num_occurs.cpp
    occurs.cpp
    pb_decl_plugin.cpp
    polymorphism_inst.cpp
    polymorphism_util.cpp
    pp.cpp
    quantifier_stat.cpp
    recfun_decl_plugin.cpp
    reg_decl_plugins.cpp
    seq_decl_plugin.cpp
    shared_occs.cpp
    special_relations_decl_plugin.cpp
    static_features.cpp
    used_vars.cpp
    value_generator.cpp
    well_sorted.cpp
  COMPONENT_DEPENDENCIES
    polynomial
    util # Unnecessary? polynomial already depends on util
  PYG_FILES
    pp_params.pyg
)
