Enable building with MSVC
authorScott D Phillips <scott.d.phillips@intel.com>
Thu, 17 Nov 2016 18:31:50 +0000 (10:31 -0800)
committerThibault Saunier <thibault.saunier@osg.samsung.com>
Fri, 18 Nov 2016 12:13:53 +0000 (09:13 -0300)
https://bugzilla.gnome.org/show_bug.cgi?id=774641

ges/meson.build
meson.build
win32/common/libges.def [new file with mode: 0644]

index 7aa1543..37a19c5 100644 (file)
@@ -160,7 +160,8 @@ libges = shared_library('ges-1.0', ges_sources, parser,
     c_args : [ges_c_args],
     include_directories : [configinc],
     install : true,
-    dependencies : libges_deps
+    dependencies : libges_deps,
+    vs_module_defs: vs_module_defs_dir + 'libges.def',
 )
 
 ges_gen_sources = []
index 507edaf..86550bb 100644 (file)
@@ -1,6 +1,6 @@
 project('gst-editing-services', 'c',
   version : '1.11.0.1',
-  meson_version : '>= 0.35.0',
+  meson_version : '>= 0.36.0',
   default_options : [ 'warning_level=1',
                       'buildtype=debugoptimized' ])
 
@@ -30,7 +30,12 @@ cc = meson.get_compiler('c')
 # If a warning is harmless but hard to fix, use '/woXXXX' so it's shown once
 # NOTE: Only add warnings here if you are sure they're spurious
 if cc.get_id() == 'msvc'
-  add_global_arguments('/wd4018', '/wd4244', '/wd4996', language : 'c')
+  add_project_arguments(
+      '/wd4018', # implicit signed/unsigned conversion
+      '/wd4146', # unary minus on unsigned (beware INT_MIN)
+      '/wd4244', # lossy type conversion (e.g. double -> int)
+      '/wd4305', # truncating type conversion (e.g. double -> float)
+      language : 'c')
 endif
 
 cdata = configuration_data()
@@ -99,6 +104,8 @@ gir_init_section = [ '--add-init-section=' + \
 ges_c_args = ['-DHAVE_CONFIG_H']
 plugins_install_dir = '@0@/gstreamer-1.0'.format(get_option('libdir'))
 
+vs_module_defs_dir = meson.current_source_dir() + '/win32/common/'
+
 configinc = include_directories('.')
 subdir('ges')
 subdir('plugins')
diff --git a/win32/common/libges.def b/win32/common/libges.def
new file mode 100644 (file)
index 0000000..2ae515f
--- /dev/null
@@ -0,0 +1,419 @@
+EXPORTS
+       _ges_container_get_priority_offset
+       _ges_container_set_height
+       _ges_container_set_priority_offset
+       _ges_debug
+       ges_add_missing_uri_relocation_uri
+       ges_asset_cache_lookup
+       ges_asset_extract
+       ges_asset_get_error
+       ges_asset_get_extractable_type
+       ges_asset_get_id
+       ges_asset_get_proxy
+       ges_asset_get_proxy_target
+       ges_asset_get_type
+       ges_asset_list_proxies
+       ges_asset_needs_reload
+       ges_asset_request
+       ges_asset_request_async
+       ges_asset_request_finish
+       ges_asset_set_proxy
+       ges_asset_try_proxy
+       ges_audio_source_get_type
+       ges_audio_test_source_get_freq
+       ges_audio_test_source_get_type
+       ges_audio_test_source_get_volume
+       ges_audio_test_source_set_freq
+       ges_audio_test_source_set_volume
+       ges_audio_track_get_type
+       ges_audio_track_new
+       ges_audio_transition_get_type
+       ges_audio_transition_new
+       ges_audio_uri_source_get_type
+       ges_base_effect_clip_get_type
+       ges_base_effect_get_type
+       ges_base_transition_clip_get_type
+       ges_base_xml_formatter_get_type
+       ges_clip_add_asset
+       ges_clip_asset_get_supported_formats
+       ges_clip_asset_get_type
+       ges_clip_asset_set_supported_formats
+       ges_clip_create_track_elements_func
+       ges_clip_find_track_element
+       ges_clip_find_track_elements
+       ges_clip_get_layer
+       ges_clip_get_supported_formats
+       ges_clip_get_top_effect_index
+       ges_clip_get_top_effect_position
+       ges_clip_get_top_effects
+       ges_clip_get_type
+       ges_clip_move_to_layer
+       ges_clip_set_supported_formats
+       ges_clip_set_top_effect_index
+       ges_clip_set_top_effect_priority
+       ges_clip_split
+       ges_command_line_formatter_get_help
+       ges_command_line_formatter_get_type
+       ges_container_add
+       ges_container_edit
+       ges_container_get_children
+       ges_container_get_type
+       ges_container_group
+       ges_container_remove
+       ges_container_ungroup
+       ges_edge_get_type
+       ges_edit_mode_get_type
+       ges_effect_asset_get_type
+       ges_effect_class_register_rate_property
+       ges_effect_clip_get_type
+       ges_effect_clip_new
+       ges_effect_get_type
+       ges_effect_new
+       ges_extractable_get_asset
+       ges_extractable_get_id
+       ges_extractable_get_type
+       ges_extractable_set_asset
+       ges_formatter_can_load_uri
+       ges_formatter_can_save_uri
+       ges_formatter_class_register_metas
+       ges_formatter_get_default
+       ges_formatter_get_type
+       ges_formatter_load_from_uri
+       ges_formatter_save_to_uri
+       ges_group_get_type
+       ges_group_new
+       ges_image_source_get_type
+       ges_init
+       ges_init_check
+       ges_init_get_option_group
+       ges_layer_add_asset
+       ges_layer_add_clip
+       ges_layer_get_auto_transition
+       ges_layer_get_clips
+       ges_layer_get_duration
+       ges_layer_get_priority
+       ges_layer_get_timeline
+       ges_layer_get_type
+       ges_layer_is_empty
+       ges_layer_new
+       ges_layer_remove_clip
+       ges_layer_set_auto_transition
+       ges_layer_set_priority
+       ges_layer_set_timeline
+       ges_list_assets
+       ges_meta_container_add_metas_from_string
+       ges_meta_container_check_meta_registered
+       ges_meta_container_foreach
+       ges_meta_container_get_boolean
+       ges_meta_container_get_date
+       ges_meta_container_get_date_time
+       ges_meta_container_get_double
+       ges_meta_container_get_float
+       ges_meta_container_get_int
+       ges_meta_container_get_int64
+       ges_meta_container_get_meta
+       ges_meta_container_get_string
+       ges_meta_container_get_type
+       ges_meta_container_get_uint
+       ges_meta_container_get_uint64
+       ges_meta_container_metas_to_string
+       ges_meta_container_register_meta
+       ges_meta_container_register_meta_boolean
+       ges_meta_container_register_meta_date
+       ges_meta_container_register_meta_date_time
+       ges_meta_container_register_meta_double
+       ges_meta_container_register_meta_float
+       ges_meta_container_register_meta_int
+       ges_meta_container_register_meta_int64
+       ges_meta_container_register_meta_string
+       ges_meta_container_register_meta_uint
+       ges_meta_container_register_meta_uint64
+       ges_meta_container_set_boolean
+       ges_meta_container_set_date
+       ges_meta_container_set_date_time
+       ges_meta_container_set_double
+       ges_meta_container_set_float
+       ges_meta_container_set_int
+       ges_meta_container_set_int64
+       ges_meta_container_set_meta
+       ges_meta_container_set_string
+       ges_meta_container_set_uint
+       ges_meta_container_set_uint64
+       ges_meta_flag_get_type
+       ges_multi_file_source_get_type
+       ges_multi_file_source_new
+       ges_operation_clip_get_type
+       ges_operation_get_type
+       ges_overlay_clip_get_type
+       ges_pipeline_flags_get_type
+       ges_pipeline_get_mode
+       ges_pipeline_get_thumbnail
+       ges_pipeline_get_thumbnail_rgb24
+       ges_pipeline_get_type
+       ges_pipeline_new
+       ges_pipeline_preview_get_audio_sink
+       ges_pipeline_preview_get_video_sink
+       ges_pipeline_preview_set_audio_sink
+       ges_pipeline_preview_set_video_sink
+       ges_pipeline_save_thumbnail
+       ges_pipeline_set_mode
+       ges_pipeline_set_render_settings
+       ges_pipeline_set_timeline
+       ges_pitivi_formatter_get_type
+       ges_pitivi_formatter_new
+       ges_play_sink_convert_frame
+       ges_project_add_asset
+       ges_project_add_encoding_profile
+       ges_project_create_asset
+       ges_project_create_asset_sync
+       ges_project_get_asset
+       ges_project_get_loading_assets
+       ges_project_get_type
+       ges_project_get_uri
+       ges_project_list_assets
+       ges_project_list_encoding_profiles
+       ges_project_load
+       ges_project_new
+       ges_project_remove_asset
+       ges_project_save
+       ges_pspec_equal
+       ges_pspec_hash
+       ges_smart_adder_get_type
+       ges_smart_adder_new
+       ges_smart_mixer_get_mixer_pad
+       ges_smart_mixer_get_type
+       ges_smart_mixer_new
+       ges_source_clip_get_type
+       ges_source_get_type
+       ges_test_clip_get_frequency
+       ges_test_clip_get_type
+       ges_test_clip_get_volume
+       ges_test_clip_get_vpattern
+       ges_test_clip_is_muted
+       ges_test_clip_new
+       ges_test_clip_new_for_nick
+       ges_test_clip_set_frequency
+       ges_test_clip_set_mute
+       ges_test_clip_set_volume
+       ges_test_clip_set_vpattern
+       ges_text_halign_get_type
+       ges_text_overlay_clip_get_color
+       ges_text_overlay_clip_get_font_desc
+       ges_text_overlay_clip_get_halignment
+       ges_text_overlay_clip_get_text
+       ges_text_overlay_clip_get_type
+       ges_text_overlay_clip_get_valignment
+       ges_text_overlay_clip_get_xpos
+       ges_text_overlay_clip_get_ypos
+       ges_text_overlay_clip_new
+       ges_text_overlay_clip_set_color
+       ges_text_overlay_clip_set_font_desc
+       ges_text_overlay_clip_set_halign
+       ges_text_overlay_clip_set_text
+       ges_text_overlay_clip_set_valign
+       ges_text_overlay_clip_set_xpos
+       ges_text_overlay_clip_set_ypos
+       ges_text_overlay_get_color
+       ges_text_overlay_get_font_desc
+       ges_text_overlay_get_halignment
+       ges_text_overlay_get_text
+       ges_text_overlay_get_type
+       ges_text_overlay_get_valignment
+       ges_text_overlay_get_xpos
+       ges_text_overlay_get_ypos
+       ges_text_overlay_new
+       ges_text_overlay_set_color
+       ges_text_overlay_set_font_desc
+       ges_text_overlay_set_halignment
+       ges_text_overlay_set_text
+       ges_text_overlay_set_valignment
+       ges_text_overlay_set_xpos
+       ges_text_overlay_set_ypos
+       ges_text_valign_get_type
+       ges_timeline_add_layer
+       ges_timeline_add_track
+       ges_timeline_append_layer
+       ges_timeline_commit
+       ges_timeline_commit_sync
+       ges_timeline_element_add_child_property
+       ges_timeline_element_copy
+       ges_timeline_element_get_child_properties
+       ges_timeline_element_get_child_property
+       ges_timeline_element_get_child_property_by_pspec
+       ges_timeline_element_get_child_property_valist
+       ges_timeline_element_get_duration
+       ges_timeline_element_get_inpoint
+       ges_timeline_element_get_max_duration
+       ges_timeline_element_get_name
+       ges_timeline_element_get_parent
+       ges_timeline_element_get_priority
+       ges_timeline_element_get_start
+       ges_timeline_element_get_timeline
+       ges_timeline_element_get_toplevel_parent
+       ges_timeline_element_get_track_types
+       ges_timeline_element_get_type
+       ges_timeline_element_list_children_properties
+       ges_timeline_element_lookup_child
+       ges_timeline_element_paste
+       ges_timeline_element_remove_child_property
+       ges_timeline_element_ripple
+       ges_timeline_element_ripple_end
+       ges_timeline_element_roll_end
+       ges_timeline_element_roll_start
+       ges_timeline_element_set_child_properties
+       ges_timeline_element_set_child_property
+       ges_timeline_element_set_child_property_by_pspec
+       ges_timeline_element_set_child_property_valist
+       ges_timeline_element_set_duration
+       ges_timeline_element_set_inpoint
+       ges_timeline_element_set_max_duration
+       ges_timeline_element_set_name
+       ges_timeline_element_set_parent
+       ges_timeline_element_set_priority
+       ges_timeline_element_set_start
+       ges_timeline_element_set_timeline
+       ges_timeline_element_trim
+       ges_timeline_get_auto_transition
+       ges_timeline_get_duration
+       ges_timeline_get_element
+       ges_timeline_get_groups
+       ges_timeline_get_layer
+       ges_timeline_get_layers
+       ges_timeline_get_pad_for_track
+       ges_timeline_get_snapping_distance
+       ges_timeline_get_track_for_pad
+       ges_timeline_get_tracks
+       ges_timeline_get_type
+       ges_timeline_is_empty
+       ges_timeline_load_from_uri
+       ges_timeline_new
+       ges_timeline_new_audio_video
+       ges_timeline_new_from_uri
+       ges_timeline_remove_layer
+       ges_timeline_remove_track
+       ges_timeline_save_to_uri
+       ges_timeline_set_auto_transition
+       ges_timeline_set_snapping_distance
+       ges_title_clip_get_background_color
+       ges_title_clip_get_font_desc
+       ges_title_clip_get_halignment
+       ges_title_clip_get_text
+       ges_title_clip_get_text_color
+       ges_title_clip_get_type
+       ges_title_clip_get_valignment
+       ges_title_clip_get_xpos
+       ges_title_clip_get_ypos
+       ges_title_clip_new
+       ges_title_clip_set_background
+       ges_title_clip_set_color
+       ges_title_clip_set_font_desc
+       ges_title_clip_set_halignment
+       ges_title_clip_set_text
+       ges_title_clip_set_valignment
+       ges_title_clip_set_xpos
+       ges_title_clip_set_ypos
+       ges_title_source_get_background_color
+       ges_title_source_get_font_desc
+       ges_title_source_get_halignment
+       ges_title_source_get_text
+       ges_title_source_get_text_color
+       ges_title_source_get_type
+       ges_title_source_get_valignment
+       ges_title_source_get_xpos
+       ges_title_source_get_ypos
+       ges_title_source_set_background_color
+       ges_title_source_set_font_desc
+       ges_title_source_set_halignment
+       ges_title_source_set_text
+       ges_title_source_set_text_color
+       ges_title_source_set_valignment
+       ges_title_source_set_xpos
+       ges_title_source_set_ypos
+       ges_track_add_element
+       ges_track_commit
+       ges_track_element_add_children_props
+       ges_track_element_asset_get_track_type
+       ges_track_element_asset_get_type
+       ges_track_element_asset_set_track_type
+       ges_track_element_edit
+       ges_track_element_get_all_control_bindings
+       ges_track_element_get_child_properties
+       ges_track_element_get_child_property
+       ges_track_element_get_child_property_by_pspec
+       ges_track_element_get_child_property_valist
+       ges_track_element_get_control_binding
+       ges_track_element_get_element
+       ges_track_element_get_gnlobject
+       ges_track_element_get_nleobject
+       ges_track_element_get_track
+       ges_track_element_get_track_type
+       ges_track_element_get_type
+       ges_track_element_is_active
+       ges_track_element_list_children_properties
+       ges_track_element_lookup_child
+       ges_track_element_remove_control_binding
+       ges_track_element_set_active
+       ges_track_element_set_child_properties
+       ges_track_element_set_child_property
+       ges_track_element_set_child_property_by_pspec
+       ges_track_element_set_child_property_valist
+       ges_track_element_set_control_source
+       ges_track_element_set_track_type
+       ges_track_get_caps
+       ges_track_get_elements
+       ges_track_get_mixing
+       ges_track_get_timeline
+       ges_track_get_type
+       ges_track_new
+       ges_track_remove_element
+       ges_track_set_create_element_for_gap_func
+       ges_track_set_mixing
+       ges_track_set_restriction_caps
+       ges_track_set_timeline
+       ges_track_type_get_type
+       ges_track_type_name
+       ges_track_update_restriction_caps
+       ges_transition_clip_get_type
+       ges_transition_clip_new
+       ges_transition_clip_new_for_nick
+       ges_transition_get_type
+       ges_uri_clip_asset_class_set_timeout
+       ges_uri_clip_asset_get_duration
+       ges_uri_clip_asset_get_info
+       ges_uri_clip_asset_get_stream_assets
+       ges_uri_clip_asset_get_type
+       ges_uri_clip_asset_is_image
+       ges_uri_clip_asset_new
+       ges_uri_clip_asset_request_sync
+       ges_uri_clip_get_type
+       ges_uri_clip_get_uri
+       ges_uri_clip_is_image
+       ges_uri_clip_is_muted
+       ges_uri_clip_new
+       ges_uri_clip_set_is_image
+       ges_uri_clip_set_mute
+       ges_uri_clip_set_uri
+       ges_uri_source_asset_get_filesource_asset
+       ges_uri_source_asset_get_stream_info
+       ges_uri_source_asset_get_stream_uri
+       ges_uri_source_asset_get_type
+       ges_validate_register_action_types
+       ges_version
+       ges_video_source_get_type
+       ges_video_standard_transition_type_get_type
+       ges_video_test_pattern_get_type
+       ges_video_test_source_get_pattern
+       ges_video_test_source_get_type
+       ges_video_test_source_set_pattern
+       ges_video_track_get_type
+       ges_video_track_new
+       ges_video_transition_get_border
+       ges_video_transition_get_transition_type
+       ges_video_transition_get_type
+       ges_video_transition_is_inverted
+       ges_video_transition_new
+       ges_video_transition_set_border
+       ges_video_transition_set_inverted
+       ges_video_transition_set_transition_type
+       ges_video_uri_source_get_type
+       ges_xml_formatter_get_type