[Tizen] Revert "svg_loader: preserveAspectRatio attrib handled according to the svg...
[platform/core/graphics/tizenvg.git] / meson.build
index 294dbf3..8ba4306 100644 (file)
@@ -1,12 +1,17 @@
 project('thorvg',
         'cpp',
-        default_options : ['buildtype=debugoptimized', 'b_sanitize=none', 'werror=false', 'optimization=s'],
-        version : '0.3.99',
+        default_options : ['buildtype=debugoptimized', 'b_sanitize=none', 'werror=false', 'optimization=s', 'cpp_std=c++14'],
+        version : '0.8.99',
         license : 'MIT')
 
 config_h = configuration_data()
 
-add_project_arguments('-DEXAMPLE_DIR="@0@/src/examples/images"'.format(meson.current_source_dir()), language : 'cpp')
+src_dir = '/'.join(meson.current_source_dir().split('\\'))
+add_project_arguments('-DEXAMPLE_DIR="@0@/src/examples/images"'.format(src_dir),
+                      '-DTEST_DIR="@0@/test/images"'.format(src_dir),
+                      language : 'cpp')
+
+config_h.set_quoted('THORVG_VERSION_STRING', meson.project_version())
 
 if get_option('engines').contains('sw') == true
     config_h.set10('THORVG_SW_RASTER_SUPPORT', true)
@@ -16,20 +21,42 @@ if get_option('engines').contains('gl') == true
     config_h.set10('THORVG_GL_RASTER_SUPPORT', true)
 endif
 
-if get_option('loaders').contains('svg') == true
+all_loaders = false
+
+if get_option('loaders').contains('all') == true
+    all_loaders = true
+endif
+
+if all_loaders or get_option('loaders').contains('svg') == true
     config_h.set10('THORVG_SVG_LOADER_SUPPORT', true)
 endif
 
-if get_option('loaders').contains('tvg') == true
+if all_loaders or get_option('loaders').contains('tvg') == true
     config_h.set10('THORVG_TVG_LOADER_SUPPORT', true)
 endif
 
-if get_option('loaders').contains('png') == true
-    config_h.set10('THORVG_PNG_LOADER_SUPPORT', true)
+if all_loaders or get_option('loaders').contains('png') == true
+   config_h.set10('THORVG_PNG_LOADER_SUPPORT', true)
+endif
+
+if all_loaders or get_option('loaders').contains('jpg') == true
+    config_h.set10('THORVG_JPG_LOADER_SUPPORT', true)
+endif
+
+if get_option('savers').contains('tvg') == true
+    config_h.set10('THORVG_TVG_SAVER_SUPPORT', true)
 endif
 
-if get_option('vectors').contains('avx') == true
+simd_type = 'none'
+
+if get_option('vector') == true
+  if host_machine.cpu_family() == 'x86' or host_machine.cpu_family() == 'x86_64'
     config_h.set10('THORVG_AVX_VECTOR_SUPPORT', true)
+    simd_type = 'avx'
+  elif host_machine.cpu_family() == 'arm'
+    config_h.set10('THORVG_NEON_VECTOR_SUPPORT', true)
+    simd_type = 'neon'
+  endif
 endif
 
 if get_option('bindings').contains('capi') == true
@@ -40,6 +67,14 @@ if get_option('log') == true
     config_h.set10('THORVG_LOG_ENABLED', true)
 endif
 
+
+all_tools = false
+
+if get_option('tools').contains('all') == true
+    all_tools = true
+endif
+
+
 configure_file(
     output: 'config.h',
     configuration: config_h
@@ -60,33 +95,39 @@ Summary:
     ThorVG version:        @0@
     Build Type:            @1@
     Prefix:                @2@
-    Raster Engine (SW):    @3@
-    Raster Engine (GL):    @4@
-    AVX SIMD Instruction:  @5@
+    SIMD Instruction:      @3@
+    Raster Engine (SW):    @4@
+    Raster Engine (GL):    @5@
     Loader (TVG):          @6@
     Loader (SVG):          @7@
     Loader (PNG):          @8@
-    CAPI Binding:          @9@
-    Log Message:           @10@
-    Tests:                 @11@
-    Examples:              @12@
-    Tool (Svg2Png):        @13@
+    Loader (JPG):          @9@
+    Saver (TVG):           @10@
+    CAPI Binding:          @11@
+    Log Message:           @12@
+    Tests:                 @13@
+    Examples:              @14@
+    Tool (Svg2Tvg):        @15@
+    Tool (Svg2Png):        @16@
 
 '''.format(
         meson.project_version(),
         get_option('buildtype'),
         get_option('prefix'),
+        simd_type,
         get_option('engines').contains('sw'),
         get_option('engines').contains('gl'),
-        get_option('vectors').contains('avx'),
-        get_option('loaders').contains('tvg'),
-        get_option('loaders').contains('svg'),
-        get_option('loaders').contains('png'),
+        all_loaders or get_option('loaders').contains('tvg'),
+        all_loaders or get_option('loaders').contains('svg'),
+        all_loaders or get_option('loaders').contains('png'),
+        all_loaders or get_option('loaders').contains('jpg'),
+        get_option('savers').contains('tvg'),
         get_option('bindings').contains('capi'),
         get_option('log'),
         get_option('tests'),
         get_option('examples'),
-        get_option('tools').contains('svg2png'),
+        all_tools or get_option('tools').contains('svg2tvg'),
+        all_tools or get_option('tools').contains('svg2png'),
     )
 
 message(summary)