
# 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_mem_perm )

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


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 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 test_write_param test2_1 test2_2 test2_3 test2_4 test2_5 test2_7 test2_8 test2_11 test2_12 test2_13 test2_14 test3_1 test3_2 test3_3 test3_4 test3_7 test4_1 test5_1 test5_2 test5_3 test5_4 test5_5 test5_7 test5_8 test5_9 test_stack_1 test_stack_3 test_thread_6 test_thread_7 test_thread_8 )

set (dyninst_OBJS_ALL_MUTATORS test1_1.obj test1_2.obj test1_3.obj test1_4.obj test1_5.obj test1_6.obj test1_7.obj test1_8.obj test1_9.obj test1_10.obj test1_11.obj test1_12.obj test1_13.obj test1_14.obj test1_15.obj test1_16.obj test1_17.obj test1_18.obj test1_19.obj test1_20.obj test1_21.obj test1_22.obj test_reloc.obj snip_ref_shlib_var.obj snip_change_shlib_var.obj test_snip_remove.obj test1_23.obj test1_24.obj test1_25.obj test1_26.obj test1_27.obj test1_28.obj test1_29.obj test1_30.obj test1_31.obj test1_32.obj test1_33.obj test1_34.obj test1_36.obj test1_37.obj test1_38.obj test_write_param.obj test2_1.obj test2_2.obj test2_3.obj test2_4.obj test2_5.obj test2_7.obj test2_8.obj test2_11.obj test2_12.obj test2_13.obj test2_14.obj test3_1.obj test3_2.obj test3_3.obj test3_4.obj test3_7.obj test4_1.obj test5_1.obj test5_2.obj test5_3.obj test5_4.obj test5_5.obj test5_7.obj test5_8.obj test5_9.obj test_stack_1.obj test_stack_3.obj test_thread_6.obj test_thread_7.obj test_thread_8.obj )


include_directories ("..src/instruction")
set (instruction_MUTATORS test_instruction_read_write test_instruction_farcall test_instruction_bind_eval 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.obj test_instruction_farcall.obj test_instruction_bind_eval.obj power_decode.obj aarch64_decode.obj aarch64_cft.obj aarch64_decode_ldst.obj aarch64_simd.obj power_cft.obj fucompp.obj mov_size_details.obj )


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

set (symtab_OBJS_ALL_MUTATORS test_lookup_func.obj test_lookup_var.obj test_local_var_lookup.obj test_local_var_locations.obj test_line_info.obj test_module.obj test_type_info.obj test_symtab_ser_funcs.obj test_ser_anno.obj )

set (MUTATOR_NAME_LIST
	aarch64_cft
	aarch64_decode
	aarch64_decode_ldst
	aarch64_simd
	fucompp
	mov_size_details
	pc_addlibrary
	pc_breakpoint
	pc_detach
	pc_groups
	pc_irpc
	pc_launch
	pc_library
	pc_mem_perm
	pc_singlestep
	pc_stat
	pc_temp_detach
	pc_terminate
	pc_terminate_stopped
	pc_thread
	pc_thread_cont
	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_4
	test1_5
	test1_6
	test1_7
	test1_8
	test1_9
	test2_1
	test2_11
	test2_12
	test2_13
	test2_14
	test2_2
	test2_3
	test2_4
	test2_5
	test2_7
	test2_8
	test3_1
	test3_2
	test3_3
	test3_4
	test3_7
	test4_1
	test5_1
	test5_2
	test5_3
	test5_4
	test5_5
	test5_7
	test5_8
	test5_9
	test_instruction_bind_eval
	test_instruction_farcall
	test_instruction_read_write
	test_line_info
	test_local_var_locations
	test_local_var_lookup
	test_lookup_func
	test_lookup_var
	test_module
	test_reloc
	test_ser_anno
	test_snip_remove
	test_stack_1
	test_stack_3
	test_symtab_ser_funcs
	test_thread_6
	test_thread_7
	test_thread_8
	test_type_info
	test_write_param
	)

set (MUTATOR_MODULE_LIB_LIST
	testinstruction
	testinstruction
	testinstruction
	testinstruction
	testinstruction
	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
	testinstruction
	testinstruction
	testinstruction
	testsymtab
	testsymtab
	testsymtab
	testsymtab
	testsymtab
	testsymtab
	testdyninst
	testsymtab
	testdyninst
	testdyninst
	testdyninst
	testsymtab
	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}/instruction/fucompp.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_mem_perm.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}/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_4.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_11.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_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_7.C
	${SRC}/dyninst/test4_1.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}/instruction/test_instruction_bind_eval.C
	${SRC}/instruction/test_instruction_farcall.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_reloc.C
	${SRC}/symtab/test_ser_anno.C
	${SRC}/dyninst/test_snip_remove.C
	${SRC}/dyninst/test_stack_1.C
	${SRC}/dyninst/test_stack_3.C
	${SRC}/symtab/test_symtab_ser_funcs.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 106)
	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()

