def write_selected_sln_setting(cmake_file, settings,
    sln_setting_2_project_setting, sln_setting, has_property_value,
    command_indent, sln_conf, config_expressions,
    max_config_condition_width, **kwargs):
    """ Routine that writes main info of setting block """
    begin_text = kwargs['begin_text']
    property_name = kwargs['property_name']
    indent = kwargs['indent']
    write_setting_property_func = kwargs['write_setting_property_func']
    mapped_setting = settings[sln_setting_2_project_setting[sln_setting]]
    if property_name in mapped_setting:
        if mapped_setting[property_name]:
            if not has_property_value:
                begin_text = begin_text.replace('\n', '\n' + indent +
                    command_indent)
                if begin_text:
                    cmake_file.write('{}{}\n'.format(indent +
                        command_indent, begin_text))
                has_property_value = True
            config_condition_expr = None
            if sln_conf is not None:
                config_condition_expr = '$<CONFIG:{}>'.format(sln_conf)
                config_expressions.append(config_condition_expr)
            write_setting_property_func(cmake_file, indent + command_indent,
                config_condition_expr, mapped_setting[property_name],
                max_config_condition_width, **kwargs)
    return has_property_value
