MACRO( ADD_MOBILE_TEST _testName ) 

	if(COMMAND cmake_policy)
		cmake_policy(SET CMP0003 NEW)
		## The macro ADD_CHECK_TEST creates false warning.
		cmake_policy(SET CMP0002 OLD)
	endif(COMMAND cmake_policy)

	ADD_EXECUTABLE( ${_testName} mobiles/${_testName}/test.c )
	TARGET_LINK_LIBRARIES( ${_testName} ${ARGN} )
	ADD_TEST( ${_testName} ${CMAKE_CURRENT_BINARY_DIR}/${_testName} ${CMAKE_CURRENT_SOURCE_DIR}/mobiles/${_testName} )
ENDMACRO( ADD_MOBILE_TEST )

## start test
MACRO( SML_START_TEST _testLabel _testName _testSource )

	if(COMMAND cmake_policy)
		cmake_policy(SET CMP0003 NEW)
		## The macro ADD_CHECK_TEST creates false warning.
		cmake_policy(SET CMP0002 OLD)
	endif(COMMAND cmake_policy)

	BUILD_CHECK_TEST( ${_testName} ${CMAKE_CURRENT_BINARY_DIR}/${_testSource} ${ARGN} )

	SET( SML_TESTCASE_CODE "SML_TESTCASE_START(\"${_testLabel}\")\n" )
	SET( SML_TESTCASE_NAME ${_testName} )
	SET( SML_TESTCASE_SOURCE ${_testSource} )

ENDMACRO( SML_START_TEST )

## add testcase to test
MACRO( SML_ADD_TESTCASE _testcase )
	SET( SML_TESTCASE_CODE "${SML_TESTCASE_CODE}SML_TESTCASE_ADD(${_testcase})\n" )
	ADD_TEST( ${_testcase} ${CMAKE_CURRENT_BINARY_DIR}/${SML_TESTCASE_NAME} ${_testcase} )
ENDMACRO( SML_ADD_TESTCASE )

## flush test to source file and build it
MACRO( SML_END_TEST )
	SET( SML_TESTCASE_CODE "${SML_TESTCASE_CODE}SML_TESTCASE_END\n\n" )
	CONFIGURE_FILE( ${SML_TESTCASE_SOURCE} ${CMAKE_CURRENT_BINARY_DIR}/${SML_TESTCASE_SOURCE} @ONLY )
ENDMACRO( SML_END_TEST )

IF( ENABLE_UNIT_TEST )
	LINK_DIRECTORIES( ${GLIB2_LIBRARY_DIRS} ${LIBXML2_LIBRARY_DIRS} ${OPENOBEX_LIBRARY_DIRS} ${LIBWBXML2_LIBRARY_DIRS} ${LIBSOUP2_LIBRARY_DIRS} ${BLUEZ_LIBRARY_DIRS} ${CHECK_LIBRARY_DIRS} )
	if(COMMAND cmake_policy)
		cmake_policy(SET CMP0003 NEW)
	endif(COMMAND cmake_policy)
	# create support library
	ADD_LIBRARY( support STATIC support.c )
	TARGET_LINK_LIBRARIES( support syncml ${CHECK_LIBRARIES} )
	# include Testing Macro
	INCLUDE( Testing )
	# include necessary headers
	INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${GLIB2_INCLUDE_DIRS} ${LIBXML2_INCLUDE_DIRS} ${LIBWBXML2_INCLUDE_DIRS} ${LIBSOUP2_INCLUDE_DIRS} )
	# add tests
	SET( TEST_TARGET_LIBRARIES support )
	
	## error tests
	SML_START_TEST( "error" error check_error.c ${TEST_TARGET_LIBRARIES} )
	SML_ADD_TESTCASE( error_create )
	SML_ADD_TESTCASE( error_create_null )
	SML_ADD_TESTCASE( error_free_null )
	SML_ADD_TESTCASE( error_free_null2 )
	SML_ADD_TESTCASE( error_free )
	SML_ADD_TESTCASE( error_check_null )
	SML_ADD_TESTCASE( error_check_null2 )
	SML_ADD_TESTCASE( error_check )
	SML_ADD_TESTCASE( error_check2 )
	SML_ADD_TESTCASE( error_update_null )
	SML_ADD_TESTCASE( error_update_null2 )
	SML_ADD_TESTCASE( error_update )
	SML_ADD_TESTCASE( error_update2 )
	SML_ADD_TESTCASE( error_set_null )
	SML_ADD_TESTCASE( error_set_null2 )
	SML_ADD_TESTCASE( error_duplicate_null )
	SML_ADD_TESTCASE( error_class )
	SML_END_TEST()

	SML_START_TEST( "Elements" elements check_elements.c ${TEST_TARGET_LIBRARIES} )
	SML_ADD_TESTCASE( location_new  )
	SML_ADD_TESTCASE( location_new2 )
	SML_ADD_TESTCASE( location_new3 )
	SML_ADD_TESTCASE( location_compare_rel )
	SML_ADD_TESTCASE( location_compare_rel1 )
	SML_ADD_TESTCASE( location_compare_rel2 )
	SML_ADD_TESTCASE( location_compare_abs )
	SML_ADD_TESTCASE( location_compare_abs2 )
	SML_ADD_TESTCASE( location_compare_combined )
	SML_ADD_TESTCASE( location_compare_combined2 )
	SML_ADD_TESTCASE( location_compare_combined3 )
	SML_ADD_TESTCASE( location_compare_combined4 )
	SML_ADD_TESTCASE( location_compare_combined5 )
	SML_ADD_TESTCASE( location_compare_combined6 )
	SML_END_TEST()

	SML_START_TEST( "XML fix broken Item Data" xml-fix-broken-item-data check_xml_fix_broken_item_data.c ${TEST_TARGET_LIBRARIES} )
	SML_ADD_TESTCASE( xml_fix_broken_item_data_no_item )
	SML_ADD_TESTCASE( xml_fix_broken_item_data_no_item_data )
	SML_ADD_TESTCASE( xml_fix_broken_item_data_no_broken_item_data )
	SML_ADD_TESTCASE( xml_fix_broken_item_data_one_broken_item_data )
	SML_ADD_TESTCASE( xml_fix_broken_item_data_multi_broken_item_data )
	SML_ADD_TESTCASE( xml_fix_broken_item_data_mixed_broken_item_data )
	SML_ADD_TESTCASE( xml_fix_broken_item_data_utf16_conversion )
	SML_END_TEST()

	SML_START_TEST( "XML Parser" xmlparser check_xml_parser.c ${TEST_TARGET_LIBRARIES} )
	SML_ADD_TESTCASE( xml_parser_empty )
	SML_ADD_TESTCASE( xml_parser_syncml_empty )
	SML_ADD_TESTCASE( xml_parser_syncml_wrong_case )
	SML_ADD_TESTCASE( xml_parser_syncml_additional )
	SML_ADD_TESTCASE( xml_parser_no_syncbody )
	SML_ADD_TESTCASE( xml_parser_no_synchdr )
	SML_ADD_TESTCASE( xml_parser_synchdr_empty )
	SML_ADD_TESTCASE( xml_parser_synchdr_verproto )
	SML_ADD_TESTCASE( xml_parser_synchdr_verdtd )
	SML_ADD_TESTCASE( xml_parser_synchdr_msgid )
	SML_ADD_TESTCASE( xml_parser_synchdr_sessionid )
	SML_ADD_TESTCASE( xml_parser_synchdr_additional )
	SML_ADD_TESTCASE( xml_parser_synchdr_target )
	SML_ADD_TESTCASE( xml_parser_synchdr_source )
	SML_ADD_TESTCASE( xml_parser_synchdr_source2 )
	SML_ADD_TESTCASE( xml_parser_status_empty )
	SML_ADD_TESTCASE( xml_parser_status_cmdid )
	SML_ADD_TESTCASE( xml_parser_status_msgref )
	SML_ADD_TESTCASE( xml_parser_status_cmdref )
	SML_ADD_TESTCASE( xml_parser_status )
	SML_ADD_TESTCASE( xml_parser_status2 )
	SML_ADD_TESTCASE( xml_parser_status3 )
	SML_ADD_TESTCASE( xml_parser_status_google )
	SML_ADD_TESTCASE( xml_parser_final )
	SML_ADD_TESTCASE( xml_parser_final2 )
	SML_ADD_TESTCASE( xml_parser_cmd )
	SML_ADD_TESTCASE( xml_parser_cmd_final )
	SML_ADD_TESTCASE( xml_parser_sync_subcommand )
	SML_ADD_TESTCASE( xml_parser_doctype )
	SML_ADD_TESTCASE( xml_parser_emi )
	SML_ADD_TESTCASE( xml_parser_large_obj )
	SML_ADD_TESTCASE( xml_parser_large_obj2 )
	SML_ADD_TESTCASE( xml_parser_large_obj_error )
	SML_ADD_TESTCASE( xml_parser_large_obj_mangled )
	SML_ADD_TESTCASE( xml_parser_devinf )
	SML_ADD_TESTCASE( xml_parser_devinf_ctcap )
	SML_ADD_TESTCASE( xml_parser_devinf12 )
	SML_ADD_TESTCASE( xml_parser_devinf_ext )
	SML_ADD_TESTCASE( xml_parser_empty_data_element )
	SML_ADD_TESTCASE( xml_parser_msgref_zero )
	SML_ADD_TESTCASE( xml_parser_ctcap_property_size )
	SML_ADD_TESTCASE( xml_parser_ctcap11_size )
	SML_ADD_TESTCASE( xml_parser_item_with_meta_in_status )
	SML_ADD_TESTCASE( xml_parser_item_with_meta_and_long_empty_data_in_status )
	SML_ADD_TESTCASE( xml_parser_item_with_meta_and_short_empty_data_in_status )
	SML_END_TEST()

	SML_START_TEST( "XML Assembler" xmlassembler check_xml_assembler.c ${TEST_TARGET_LIBRARIES} )
	SML_ADD_TESTCASE( xml_assembler_message_empty )
	SML_ADD_TESTCASE( xml_assembler_message_only_header )
	SML_ADD_TESTCASE( xml_assembler_message_status )
	SML_ADD_TESTCASE( xml_assembler_message_cmd )
	SML_ADD_TESTCASE( xml_assembler_message_subcmd )
	SML_ADD_TESTCASE( xml_assembler_message_several_subcmd )
	SML_ADD_TESTCASE( xml_assembler_message_flush_open )
	SML_ADD_TESTCASE( xml_assembler_out_of_order )
	SML_ADD_TESTCASE( xml_assembler_limit1 )
	SML_ADD_TESTCASE( xml_assembler_limit2 )
	SML_ADD_TESTCASE( xml_assembler_limit3 )
	SML_ADD_TESTCASE( xml_assembler_limit4 )
	SML_ADD_TESTCASE( xml_assembler_limit5 )
	SML_ADD_TESTCASE( xml_assembler_devinf )
	SML_ADD_TESTCASE( xml_assembler_devinf12 )
	SML_ADD_TESTCASE( xml_assembler_order )
	SML_ADD_TESTCASE( xml_assembler_reuse )
	SML_ADD_TESTCASE( xml_assembler_leak )
	SML_ADD_TESTCASE( xml_assembler_stress )
	SML_ADD_TESTCASE( xml_assembler_stress_limit )
	SML_ADD_TESTCASE( xml_assembler_stress_large_limit )
	SML_ADD_TESTCASE( xml_assembler_large_obj )
	SML_END_TEST()

	SML_START_TEST( "Session" session check_session.c ${TEST_TARGET_LIBRARIES} )
	SML_ADD_TESTCASE( session_new )
	SML_ADD_TESTCASE( session_send )
	SML_ADD_TESTCASE( session_flush )
	SML_ADD_TESTCASE( session_flush_final )
	SML_ADD_TESTCASE( session_recv )
	SML_ADD_TESTCASE( session_transmit )
	SML_ADD_TESTCASE( session_reply )
	SML_ADD_TESTCASE( session_talk )
	SML_ADD_TESTCASE( session_talk_alot )
	SML_ADD_TESTCASE( session_talk_alot_limit )
	SML_ADD_TESTCASE( session_limit_remote )
	SML_ADD_TESTCASE( session_split_child )
	SML_ADD_TESTCASE( session_recv_large_obj )
	SML_ADD_TESTCASE( session_recv_large_obj2 )
	SML_ADD_TESTCASE( session_recv_wrong_order )
	SML_ADD_TESTCASE( session_large_obj_10 )
	SML_ADD_TESTCASE( session_large_obj_open )
	SML_ADD_TESTCASE( session_large_obj_no_size )
	SML_ADD_TESTCASE( session_large_obj_several_size )
	SML_ADD_TESTCASE( session_recv_large_wrong_size )
	SML_ADD_TESTCASE( session_recv_large_wrong_size2 )
	SML_ADD_TESTCASE( session_send_large_obj )
	SML_ADD_TESTCASE( session_send_large_obj2 )
	SML_ADD_TESTCASE( session_send_multi_large_obj )
	SML_ADD_TESTCASE( session_send_multi_large_obj_alter )
	IF ( ENABLE_HTTP )
		SML_ADD_TESTCASE( session_san )
	ENDIF ( ENABLE_HTTP )
	SML_END_TEST()

	SML_START_TEST( "MD5" md5 check_md5.c ${TEST_TARGET_LIBRARIES} )
	SML_ADD_TESTCASE( md5_1 )
	SML_ADD_TESTCASE( md5_2 )
	SML_ADD_TESTCASE( md5_3 )
	SML_ADD_TESTCASE( md5_4 )
	SML_ADD_TESTCASE( md5_5 )
	SML_ADD_TESTCASE( md5_6 )
	SML_ADD_TESTCASE( md5_7 )
	SML_END_TEST()

	SML_START_TEST( "DataStore" datastore check_ds.c ${TEST_TARGET_LIBRARIES} )
	SML_ADD_TESTCASE( datastore_server_new )
	SML_ADD_TESTCASE( datastore_client_new )
	SML_ADD_TESTCASE( datastore_send_alert )
	SML_ADD_TESTCASE( datastore_send_alert2 )
	SML_ADD_TESTCASE( datastore_send_empty_sync )
	SML_ADD_TESTCASE( datastore_reply_empty_sync )
	SML_ADD_TESTCASE( datastore_add )
	SML_ADD_TESTCASE( datastore_add2 )
	SML_ADD_TESTCASE( datastore_delete )
	SML_ADD_TESTCASE( datastore_map_full )
	SML_ADD_TESTCASE( datastore_add_large )
	SML_ADD_TESTCASE( datastore_limit )
	SML_END_TEST()

	SML_START_TEST( "SAN" san check_san.c ${TEST_TARGET_LIBRARIES} )
	SML_ADD_TESTCASE( san_new )
	SML_ADD_TESTCASE( san_empty )
	SML_ADD_TESTCASE( san_empty2 )
	SML_ADD_TESTCASE( san_alert )
	SML_ADD_TESTCASE( san_alert2 )
	SML_ADD_TESTCASE( san_alert_auth )
	SML_ADD_TESTCASE( san_parse )
	SML_ADD_TESTCASE( san_parse2 )
	IF ( ENABLE_HTTP )
		SML_ADD_TESTCASE( san_11_assemble_parse )
	ENDIF ( ENABLE_HTTP )
	SML_ADD_TESTCASE( san_parse_error )
	SML_ADD_TESTCASE( san_parse_error2 )
	SML_ADD_TESTCASE( san_parse_error3 )
	SML_ADD_TESTCASE( san_parse_error4 )
	SML_ADD_TESTCASE( san_parse_error5 )
	SML_ADD_TESTCASE( san_parse_error6 )
	SML_ADD_TESTCASE( san_parse_error7 )
	SML_END_TEST()

	SML_START_TEST( "DevInf" devinf check_devinf.c ${TEST_TARGET_LIBRARIES} )
	IF( ENABLE_HTTP )
		SML_ADD_TESTCASE( devinf_crash )
		SML_ADD_TESTCASE( devinf_result )
	ENDIF( ENABLE_HTTP )
	SML_ADD_TESTCASE( devinf_max_size_element )
	SML_END_TEST()

	SML_START_TEST( "Sync" sync check_sync.c ${TEST_TARGET_LIBRARIES} )
	IF ( ENABLE_HTTP )
		SML_ADD_TESTCASE( sync_multi_start )
		SML_ADD_TESTCASE( sync_multi_stress )
		SML_ADD_TESTCASE( sync_multi_stress2 )
		SML_ADD_TESTCASE( sync_multi_conf_from_devinf )
	ENDIF ( ENABLE_HTTP )
	IF ( ENABLE_OBEX AND ENABLE_OPENOBEX_TCP )
		SML_ADD_TESTCASE( sync_send_san )
		SML_ADD_TESTCASE( sync_send_san12 )
	ENDIF ( ENABLE_OBEX AND ENABLE_OPENOBEX_TCP )
	SML_END_TEST()

	# dependent tests

	IF( ENABLE_OBEX AND ENABLE_OPENOBEX_TCP )
		SML_START_TEST( "OBEX" obex check_obex.c ${TEST_TARGET_LIBRARIES} )
		SML_ADD_TESTCASE( obex_get_result_macro )
		SML_ADD_TESTCASE( obex_client_new )
		SML_ADD_TESTCASE( obex_client_init )
		SML_ADD_TESTCASE( obex_server_new )
		SML_ADD_TESTCASE( obex_server_init )
		SML_ADD_TESTCASE( obex_connect )
		SML_ADD_TESTCASE( obex_send )
		SML_ADD_TESTCASE( obex_reply )
		SML_ADD_TESTCASE( obex_talk )
		SML_ADD_TESTCASE( obex_multi_connect )
		SML_ADD_TESTCASE( obex_multi_stress )
		SML_ADD_TESTCASE( obex_connect_error )
		SML_ADD_TESTCASE( obex_reject )
		SML_ADD_TESTCASE( obex_multi_partial_error )
		SML_END_TEST()
	ENDIF( ENABLE_OBEX AND ENABLE_OPENOBEX_TCP )

	IF ( ENABLE_HTTP )
		SML_START_TEST( "libsoup" libsoup check_libsoup.c ${TEST_TARGET_LIBRARIES} )
		SML_ADD_TESTCASE( libsoup_async )
		SML_ADD_TESTCASE( libsoup_http_client )
		SML_ADD_TESTCASE( libsoup_http_server )
		SML_END_TEST()

		SML_START_TEST( "HTTP" http check_http.c ${TEST_TARGET_LIBRARIES} )
		SML_ADD_TESTCASE( http_client_new )
		SML_ADD_TESTCASE( http_client_init )
		# TODO: Review testcase. Obsolate?
		# SML_ADD_TESTCASE( http_client_wrong_port )
		SML_ADD_TESTCASE( http_client_init_no_url )
		SML_ADD_TESTCASE( http_server_new )
		SML_ADD_TESTCASE( http_server_init )
		SML_ADD_TESTCASE( http_server_wrong_port )
		SML_ADD_TESTCASE( http_connect )
		SML_ADD_TESTCASE( http_send )
		SML_ADD_TESTCASE( http_receive )
		SML_ADD_TESTCASE( http_reply )
		SML_ADD_TESTCASE( http_talk )
		SML_ADD_TESTCASE( http_connect_error )
		SML_ADD_TESTCASE( http_reject )
		SML_ADD_TESTCASE( http_multi_connect )
		SML_ADD_TESTCASE( http_multi_partial_error )
		SML_ADD_TESTCASE( http_multi_stress )
		SML_END_TEST()

		SML_START_TEST( "Manager" manager check_manager.c ${TEST_TARGET_LIBRARIES} )
		SML_ADD_TESTCASE( manager_new )
		SML_ADD_TESTCASE( manager_run )
		SML_ADD_TESTCASE( manager_receive )
		SML_ADD_TESTCASE( manager_receive_session )
		SML_ADD_TESTCASE( manager_end_session )
		SML_ADD_TESTCASE( manager_register )
		SML_ADD_TESTCASE( manager_start_session )
		SML_END_TEST()
	ENDIF ( ENABLE_HTTP )

	IF ( ENABLE_WBXML )
		SML_START_TEST( "WBXML Parser" wbxmlparser check_wbxml_parser.c ${TEST_TARGET_LIBRARIES} )
		SML_ADD_TESTCASE( wbxml_parser_syncml_empty )
		SML_ADD_TESTCASE( wbxml_parser_no_syncbody )
		SML_ADD_TESTCASE( wbxml_parser_no_synchdr )
		SML_ADD_TESTCASE( wbxml_parser_synchdr_empty )
		SML_ADD_TESTCASE( wbxml_parser_synchdr_verproto )
		SML_ADD_TESTCASE( wbxml_parser_synchdr_verdtd )
		SML_ADD_TESTCASE( wbxml_parser_synchdr_msgid )
		SML_ADD_TESTCASE( wbxml_parser_synchdr_sessionid )
		SML_ADD_TESTCASE( wbxml_parser_synchdr_additional )
		SML_ADD_TESTCASE( wbxml_parser_synchdr_target )
		SML_ADD_TESTCASE( wbxml_parser_synchdr_source )
		SML_ADD_TESTCASE( wbxml_parser_synchdr_source2 )
		SML_ADD_TESTCASE( wbxml_parser_status_empty )
		SML_ADD_TESTCASE( wbxml_parser_status_cmdid )
		SML_ADD_TESTCASE( wbxml_parser_status_msgref )
		SML_ADD_TESTCASE( wbxml_parser_status_cmdref )
		SML_ADD_TESTCASE( wbxml_parser_status )
		SML_ADD_TESTCASE( wbxml_parser_status2 )
		SML_ADD_TESTCASE( wbxml_parser_final )
		SML_ADD_TESTCASE( wbxml_parser_final2 )
		SML_ADD_TESTCASE( wbxml_parser_cmd )
		SML_ADD_TESTCASE( wbxml_parser_cmd_final )
		SML_END_TEST()

		SML_START_TEST( "WBXML Assembler" wbxmlassembler check_wbxml_assembler.c ${TEST_TARGET_LIBRARIES} )
		SML_ADD_TESTCASE( wbxml_assembler_message_empty )
		SML_ADD_TESTCASE( wbxml_assembler_message_only_header )
		SML_ADD_TESTCASE( wbxml_assembler_message_status )
		SML_ADD_TESTCASE( wbxml_assembler_message_cmd )
		SML_ADD_TESTCASE( wbxml_assembler_message_subcmd )
		SML_ADD_TESTCASE( wbxml_assembler_message_several_subcmd )
		SML_ADD_TESTCASE( wbxml_assembler_message_flush_open )
		SML_ADD_TESTCASE( wbxml_assembler_out_of_order )
		SML_ADD_TESTCASE( wbxml_assembler_limit1 )
		SML_ADD_TESTCASE( wbxml_assembler_limit2 )
		SML_ADD_TESTCASE( wbxml_assembler_limit3 )
		SML_ADD_TESTCASE( wbxml_assembler_limit4 )
		SML_ADD_TESTCASE( wbxml_assembler_limit5 )
		SML_ADD_TESTCASE( wbxml_assembler_complex1 )
		SML_END_TEST()
	ENDIF( ENABLE_WBXML )

	IF ( ENABLE_OBEX AND ENABLE_OPENOBEX_TCP AND ENABLE_WBXML AND ENABLE_GLIB2_GREGEX )
		# mobile tests
		ADD_MOBILE_TEST( nokia_e65_vcard ${TEST_TARGET_LIBRARIES} )
		ADD_MOBILE_TEST( nokia_e65_vcard_vcal ${TEST_TARGET_LIBRARIES} )
		ADD_MOBILE_TEST( nokia_6230_vcard ${TEST_TARGET_LIBRARIES} )
		ADD_MOBILE_TEST( nokia_6230_vcal ${TEST_TARGET_LIBRARIES} )
		ADD_MOBILE_TEST( nokia_9500_vcard ${TEST_TARGET_LIBRARIES} )
		ADD_MOBILE_TEST( nokia_9500_vcal ${TEST_TARGET_LIBRARIES} )
		ADD_MOBILE_TEST( nokia_9500_vcard_vcal ${TEST_TARGET_LIBRARIES} )
	ENDIF ( ENABLE_OBEX AND ENABLE_OPENOBEX_TCP AND ENABLE_WBXML AND ENABLE_GLIB2_GREGEX )

	IF ( ENABLE_OPENOBEX_TCP OR ENABLE_HTTP )
		SML_START_TEST( "OMA DS API" ds_api check_data_sync_api.c ${TEST_TARGET_LIBRARIES} )
		SML_ADD_TESTCASE( ds_api_text_vcard_21 )
		SML_ADD_TESTCASE( ds_api_image_jpeg )
		SML_ADD_TESTCASE( ds_api_unknown_ct )
		SML_ADD_TESTCASE( ds_api_multi_text_vcard_21 )
		SML_END_TEST()
	ENDIF ( ENABLE_OPENOBEX_TCP OR ENABLE_HTTP )

	# tests of deprecated stuff
	# such tests produce compiler warnings

	IF ( ENABLE_BASE64_TEST )
		SML_START_TEST( "base64" base64 check_base64.c ${TEST_TARGET_LIBRARIES} )
		SML_ADD_TESTCASE( base64_decode_null )
		SML_ADD_TESTCASE( base64_decode_null2 )
		SML_ADD_TESTCASE( base64_decode_test )
		SML_ADD_TESTCASE( base64_decode_size )
		SML_ADD_TESTCASE( base64_decode2 )
		SML_ADD_TESTCASE( base64_decode3 )
		SML_ADD_TESTCASE( base64_decode4 )
		SML_ADD_TESTCASE( base64_invalid1 )
		SML_ADD_TESTCASE( base64_empty )
		# SML_ADD_TESTCASE( base64_invalid2 )
		SML_ADD_TESTCASE( base64_encode_null )
		SML_ADD_TESTCASE( base64_encode_null2 )
		SML_ADD_TESTCASE( base64_encode_test )
		SML_ADD_TESTCASE( base64_encode_test2 )
		SML_ADD_TESTCASE( base64_encode_test3 )
		SML_END_TEST()
	ENDIF ( ENABLE_BASE64_TEST )

ENDIF( ENABLE_UNIT_TEST )

CONFIGURE_FILE( "coverage.sh.cmake" "${CMAKE_BINARY_DIR}/coverage.sh")
