
# This file is automatically generated by the Dyninst testing system.
# For more information, see core/testsuite/src/specification/cmake_mutators.py

######################################################################
# A list of all the mutators to be compiled
######################################################################


include_directories ("..src/proccontrol")
set (proccontrol_MUTATORS
	pc_launch
	pc_thread_cont
	pc_breakpoint
	pc_library
	pc_addlibrary
	pc_singlestep
	pc_thread
	pc_groups
	pc_stat
	pc_irpc
	pc_detach
	pc_temp_detach
	pc_terminate
	pc_terminate_stopped
	pc_tls
)

set (proccontrol_OBJS_ALL_MUTATORS
	pc_launch.o
	pc_thread_cont.o
	pc_breakpoint.o
	pc_library.o
	pc_addlibrary.o
	pc_singlestep.o
	pc_thread.o
	pc_groups.o
	pc_stat.o
	pc_irpc.o
	pc_detach.o
	pc_temp_detach.o
	pc_terminate.o
	pc_terminate_stopped.o
	pc_tls.o
)


include_directories ("..src/dyninst")
set (dyninst_MUTATORS
	test1_1
	test1_2
	test1_3
	test1_4
	test1_5
	test1_6
	test1_7
	test1_8
	test1_9
	test1_10
	test1_11
	test1_12
	test1_13
	test1_14
	test1_15
	test1_16
	test1_17
	test1_18
	test1_19
	test1_20
	test1_21
	test1_22
	test_reloc
	snip_ref_shlib_var
	snip_change_shlib_var
	test_snip_remove
	amd64_7_arg_call
	init_fini_callback
	test1_23
	test1_24
	test1_25
	test1_26
	test1_27
	test1_28
	test1_29
	test1_30
	test1_31
	test1_32
	test1_33
	test1_34
	test1_36
	test1_37
	test1_38
	test1_39
	test1_40
	test1_41
	test_write_param
	test_pt_ls
	test2_1
	test2_2
	test2_3
	test2_4
	test2_5
	test2_6
	test2_7
	test2_8
	test2_12
	test2_13
	test2_14
	test3_1
	test3_2
	test3_3
	test3_4
	test3_5
	test3_6
	test3_7
	test4_1
	test4_2
	test4_3
	test4_4
	test5_1
	test5_2
	test5_3
	test5_4
	test5_5
	test5_7
	test5_8
	test5_9
	test_fork_5
	test_fork_6
	test_fork_7
	test_fork_8
	test_fork_9
	test_fork_10
	test_fork_11
	test_fork_12
	test_fork_13
	test_fork_14
	test_stack_1
	test_stack_2
	test_stack_3
	test_stack_4
	test_callback_1
	test_callback_2
	test_thread_1
	test_thread_2
	test_thread_3
	test_thread_5
	test_thread_6
	test_thread_7
	test_thread_8
)

set (dyninst_OBJS_ALL_MUTATORS
	test1_1.o
	test1_2.o
	test1_3.o
	test1_4.o
	test1_5.o
	test1_6.o
	test1_7.o
	test1_8.o
	test1_9.o
	test1_10.o
	test1_11.o
	test1_12.o
	test1_13.o
	test1_14.o
	test1_15.o
	test1_16.o
	test1_17.o
	test1_18.o
	test1_19.o
	test1_20.o
	test1_21.o
	test1_22.o
	test_reloc.o
	snip_ref_shlib_var.o
	snip_change_shlib_var.o
	test_snip_remove.o
	amd64_7_arg_call.o
	init_fini_callback.o
	test1_23.o
	test1_24.o
	test1_25.o
	test1_26.o
	test1_27.o
	test1_28.o
	test1_29.o
	test1_30.o
	test1_31.o
	test1_32.o
	test1_33.o
	test1_34.o
	test1_36.o
	test1_37.o
	test1_38.o
	test1_39.o
	test1_40.o
	test1_41.o
	test_write_param.o
	test_pt_ls.o
	test2_1.o
	test2_2.o
	test2_3.o
	test2_4.o
	test2_5.o
	test2_6.o
	test2_7.o
	test2_8.o
	test2_12.o
	test2_13.o
	test2_14.o
	test3_1.o
	test3_2.o
	test3_3.o
	test3_4.o
	test3_5.o
	test3_6.o
	test3_7.o
	test4_1.o
	test4_2.o
	test4_3.o
	test4_4.o
	test5_1.o
	test5_2.o
	test5_3.o
	test5_4.o
	test5_5.o
	test5_7.o
	test5_8.o
	test5_9.o
	test_fork_5.o
	test_fork_6.o
	test_fork_7.o
	test_fork_8.o
	test_fork_9.o
	test_fork_10.o
	test_fork_11.o
	test_fork_12.o
	test_fork_13.o
	test_fork_14.o
	test_stack_1.o
	test_stack_2.o
	test_stack_3.o
	test_stack_4.o
	test_callback_1.o
	test_callback_2.o
	test_thread_1.o
	test_thread_2.o
	test_thread_3.o
	test_thread_5.o
	test_thread_6.o
	test_thread_7.o
	test_thread_8.o
)


include_directories ("..src/instruction")
set (instruction_MUTATORS
	test_instruction_read_write
	test_instruction_farcall
	test_instruction_bind_eval
	test_instruction_profile
	power_decode
	aarch64_decode
	aarch64_cft
	aarch64_decode_ldst
	aarch64_simd
	power_cft
	fucompp
	mov_size_details
)

set (instruction_OBJS_ALL_MUTATORS
	test_instruction_read_write.o
	test_instruction_farcall.o
	test_instruction_bind_eval.o
	test_instruction_profile.o
	power_decode.o
	aarch64_decode.o
	aarch64_cft.o
	aarch64_decode_ldst.o
	aarch64_simd.o
	power_cft.o
	fucompp.o
	mov_size_details.o
)


include_directories ("..src/symtab")
set (symtab_MUTATORS
	test_lookup_func
	test_lookup_var
	test_local_var_lookup
	test_local_var_locations
	test_add_symbols
	test_line_info
	test_module
	test_relocations
	test_type_info
)

set (symtab_OBJS_ALL_MUTATORS
	test_lookup_func.o
	test_lookup_var.o
	test_local_var_lookup.o
	test_local_var_locations.o
	test_add_symbols.o
	test_line_info.o
	test_module.o
	test_relocations.o
	test_type_info.o
)

set (MUTATOR_NAME_LIST
	aarch64_cft
	aarch64_decode
	aarch64_decode_ldst
	aarch64_simd
	amd64_7_arg_call
	fucompp
	init_fini_callback
	mov_size_details
	pc_addlibrary
	pc_breakpoint
	pc_detach
	pc_groups
	pc_irpc
	pc_launch
	pc_library
	pc_singlestep
	pc_stat
	pc_temp_detach
	pc_terminate
	pc_terminate_stopped
	pc_thread
	pc_thread_cont
	pc_tls
	power_cft
	power_decode
	snip_change_shlib_var
	snip_ref_shlib_var
	test1_1
	test1_10
	test1_11
	test1_12
	test1_13
	test1_14
	test1_15
	test1_16
	test1_17
	test1_18
	test1_19
	test1_2
	test1_20
	test1_21
	test1_22
	test1_23
	test1_24
	test1_25
	test1_26
	test1_27
	test1_28
	test1_29
	test1_3
	test1_30
	test1_31
	test1_32
	test1_33
	test1_34
	test1_36
	test1_37
	test1_38
	test1_39
	test1_4
	test1_40
	test1_41
	test1_5
	test1_6
	test1_7
	test1_8
	test1_9
	test2_1
	test2_12
	test2_13
	test2_14
	test2_2
	test2_3
	test2_4
	test2_5
	test2_6
	test2_7
	test2_8
	test3_1
	test3_2
	test3_3
	test3_4
	test3_5
	test3_6
	test3_7
	test4_1
	test4_2
	test4_3
	test4_4
	test5_1
	test5_2
	test5_3
	test5_4
	test5_5
	test5_7
	test5_8
	test5_9
	test_add_symbols
	test_callback_1
	test_callback_2
	test_fork_10
	test_fork_11
	test_fork_12
	test_fork_13
	test_fork_14
	test_fork_5
	test_fork_6
	test_fork_7
	test_fork_8
	test_fork_9
	test_instruction_bind_eval
	test_instruction_farcall
	test_instruction_profile
	test_instruction_read_write
	test_line_info
	test_local_var_locations
	test_local_var_lookup
	test_lookup_func
	test_lookup_var
	test_module
	test_pt_ls
	test_reloc
	test_relocations
	test_snip_remove
	test_stack_1
	test_stack_2
	test_stack_3
	test_stack_4
	test_thread_1
	test_thread_2
	test_thread_3
	test_thread_5
	test_thread_6
	test_thread_7
	test_thread_8
	test_type_info
	test_write_param
	)

set (MUTATOR_MODULE_LIB_LIST
	testinstruction
	testinstruction
	testinstruction
	testinstruction
	testdyninst
	testinstruction
	testdyninst
	testinstruction
	testproccontrol
	testproccontrol
	testproccontrol
	testproccontrol
	testproccontrol
	testproccontrol
	testproccontrol
	testproccontrol
	testproccontrol
	testproccontrol
	testproccontrol
	testproccontrol
	testproccontrol
	testproccontrol
	testproccontrol
	testinstruction
	testinstruction
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testsymtab
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testinstruction
	testinstruction
	testinstruction
	testinstruction
	testsymtab
	testsymtab
	testsymtab
	testsymtab
	testsymtab
	testsymtab
	testdyninst
	testdyninst
	testsymtab
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testdyninst
	testsymtab
	testdyninst
	)

set (SRC src)
set (MUTATOR_SOURCE_LIST
	${SRC}/instruction/aarch64_cft.C
	${SRC}/instruction/aarch64_decode.C
	${SRC}/instruction/aarch64_decode_ldst.C
	${SRC}/instruction/aarch64_simd.C
	${SRC}/dyninst/amd64_7_arg_call.C
	${SRC}/instruction/fucompp.C
	${SRC}/dyninst/init_fini_callback.C
	${SRC}/instruction/mov_size_details.C
	${SRC}/proccontrol/pc_addlibrary.C
	${SRC}/proccontrol/pc_breakpoint.C
	${SRC}/proccontrol/pc_detach.C
	${SRC}/proccontrol/pc_groups.C
	${SRC}/proccontrol/pc_irpc.C
	${SRC}/proccontrol/pc_launch.C
	${SRC}/proccontrol/pc_library.C
	${SRC}/proccontrol/pc_singlestep.C
	${SRC}/proccontrol/pc_stat.C
	${SRC}/proccontrol/pc_temp_detach.C
	${SRC}/proccontrol/pc_terminate.C
	${SRC}/proccontrol/pc_terminate_stopped.C
	${SRC}/proccontrol/pc_thread.C
	${SRC}/proccontrol/pc_thread_cont.C
	${SRC}/proccontrol/pc_tls.C
	${SRC}/instruction/power_cft.C
	${SRC}/instruction/power_decode.C
	${SRC}/dyninst/snip_change_shlib_var.C
	${SRC}/dyninst/snip_ref_shlib_var.C
	${SRC}/dyninst/test1_1.C
	${SRC}/dyninst/test1_10.C
	${SRC}/dyninst/test1_11.C
	${SRC}/dyninst/test1_12.C
	${SRC}/dyninst/test1_13.C
	${SRC}/dyninst/test1_14.C
	${SRC}/dyninst/test1_15.C
	${SRC}/dyninst/test1_16.C
	${SRC}/dyninst/test1_17.C
	${SRC}/dyninst/test1_18.C
	${SRC}/dyninst/test1_19.C
	${SRC}/dyninst/test1_2.C
	${SRC}/dyninst/test1_20.C
	${SRC}/dyninst/test1_21.C
	${SRC}/dyninst/test1_22.C
	${SRC}/dyninst/test1_23.C
	${SRC}/dyninst/test1_24.C
	${SRC}/dyninst/test1_25.C
	${SRC}/dyninst/test1_26.C
	${SRC}/dyninst/test1_27.C
	${SRC}/dyninst/test1_28.C
	${SRC}/dyninst/test1_29.C
	${SRC}/dyninst/test1_3.C
	${SRC}/dyninst/test1_30.C
	${SRC}/dyninst/test1_31.C
	${SRC}/dyninst/test1_32.C
	${SRC}/dyninst/test1_33.C
	${SRC}/dyninst/test1_34.C
	${SRC}/dyninst/test1_36.C
	${SRC}/dyninst/test1_37.C
	${SRC}/dyninst/test1_38.C
	${SRC}/dyninst/test1_39.C
	${SRC}/dyninst/test1_4.C
	${SRC}/dyninst/test1_40.C
	${SRC}/dyninst/test1_41.C
	${SRC}/dyninst/test1_5.C
	${SRC}/dyninst/test1_6.C
	${SRC}/dyninst/test1_7.C
	${SRC}/dyninst/test1_8.C
	${SRC}/dyninst/test1_9.C
	${SRC}/dyninst/test2_1.C
	${SRC}/dyninst/test2_12.C
	${SRC}/dyninst/test2_13.C
	${SRC}/dyninst/test2_14.C
	${SRC}/dyninst/test2_2.C
	${SRC}/dyninst/test2_3.C
	${SRC}/dyninst/test2_4.C
	${SRC}/dyninst/test2_5.C
	${SRC}/dyninst/test2_6.C
	${SRC}/dyninst/test2_7.C
	${SRC}/dyninst/test2_8.C
	${SRC}/dyninst/test3_1.C
	${SRC}/dyninst/test3_2.C
	${SRC}/dyninst/test3_3.C
	${SRC}/dyninst/test3_4.C
	${SRC}/dyninst/test3_5.C
	${SRC}/dyninst/test3_6.C
	${SRC}/dyninst/test3_7.C
	${SRC}/dyninst/test4_1.C
	${SRC}/dyninst/test4_2.C
	${SRC}/dyninst/test4_3.C
	${SRC}/dyninst/test4_4.C
	${SRC}/dyninst/test5_1.C
	${SRC}/dyninst/test5_2.C
	${SRC}/dyninst/test5_3.C
	${SRC}/dyninst/test5_4.C
	${SRC}/dyninst/test5_5.C
	${SRC}/dyninst/test5_7.C
	${SRC}/dyninst/test5_8.C
	${SRC}/dyninst/test5_9.C
	${SRC}/symtab/test_add_symbols.C
	${SRC}/dyninst/test_callback_1.C
	${SRC}/dyninst/test_callback_2.C
	${SRC}/dyninst/test_fork_10.C
	${SRC}/dyninst/test_fork_11.C
	${SRC}/dyninst/test_fork_12.C
	${SRC}/dyninst/test_fork_13.C
	${SRC}/dyninst/test_fork_14.C
	${SRC}/dyninst/test_fork_5.C
	${SRC}/dyninst/test_fork_6.C
	${SRC}/dyninst/test_fork_7.C
	${SRC}/dyninst/test_fork_8.C
	${SRC}/dyninst/test_fork_9.C
	${SRC}/instruction/test_instruction_bind_eval.C
	${SRC}/instruction/test_instruction_farcall.C
	${SRC}/instruction/test_instruction_profile.C
	${SRC}/instruction/test_instruction_read_write.C
	${SRC}/symtab/test_line_info.C
	${SRC}/symtab/test_local_var_locations.C
	${SRC}/symtab/test_local_var_lookup.C
	${SRC}/symtab/test_lookup_func.C
	${SRC}/symtab/test_lookup_var.C
	${SRC}/symtab/test_module.C
	${SRC}/dyninst/test_pt_ls.C
	${SRC}/dyninst/test_reloc.C
	${SRC}/symtab/test_relocations.C
	${SRC}/dyninst/test_snip_remove.C
	${SRC}/dyninst/test_stack_1.C
	${SRC}/dyninst/test_stack_2.C
	${SRC}/dyninst/test_stack_3.C
	${SRC}/dyninst/test_stack_4.C
	${SRC}/dyninst/test_thread_1.C
	${SRC}/dyninst/test_thread_2.C
	${SRC}/dyninst/test_thread_3.C
	${SRC}/dyninst/test_thread_5.C
	${SRC}/dyninst/test_thread_6.C
	${SRC}/dyninst/test_thread_7.C
	${SRC}/dyninst/test_thread_8.C
	${SRC}/symtab/test_type_info.C
	${SRC}/dyninst/test_write_param.C
	)

foreach (val RANGE 136)
	list (GET MUTATOR_NAME_LIST ${val} lib)
	list (GET MUTATOR_SOURCE_LIST ${val} source)
	list (GET MUTATOR_MODULE_LIB_LIST ${val} comp_dep)
	set(SKIP FALSE)
	foreach (dep ${comp_dep})
		if(NOT TARGET ${dep})
			set(SKIP TRUE)
		endif()
	endforeach()
	if(NOT SKIP)
		add_library (${lib} ${source})
		target_link_libraries (${lib} ${comp_dep} ${LIBTESTSUITE})
		install (TARGETS ${lib} 
		         RUNTIME DESTINATION ${INSTALL_DIR}
		         LIBRARY DESTINATION ${INSTALL_DIR})
	endif()
endforeach()

