set (TEST_FILES $<TARGET_OBJECTS:cframework>)
add_testheaders (TEST_FILES)

macro (do_glib_test file)
	get_filename_component (name ${file} NAME_WE)
	set (SOURCES ${file} ${GELEKTRA_HDR_FILES} ${TEST_FILES})

	add_executable (${name} ${SOURCES})

	set_target_properties (${name} PROPERTIES COMPILE_DEFINITIONS HAVE_KDBCONFIG_H)

	target_link_libraries (${name} PRIVATE ${GELEKTRA_LIBRARY})

	add_test (NAME ${name} COMMAND "${CMAKE_BINARY_DIR}/bin/${name}" "${CMAKE_CURRENT_SOURCE_DIR}")

	set_property (TEST ${name} PROPERTY ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib")

	set_property (TEST ${name} PROPERTY LABELS memleak bindings)

	if (${name} MATCHES ".*_kdb")
		set_property (
			TEST ${name}
			APPEND
			PROPERTY LABELS kdbtests)
		set_property (TEST ${name} PROPERTY RUN_SERIAL TRUE)
	endif ()
endmacro (do_glib_test)

file (GLOB TESTS testglib_*.c)
foreach (file ${TESTS})
	do_glib_test (${file})
endforeach (file ${TESTS})
