class EasySwig::Config

Generation Settings

Attributes

csv_file[RW]
String

CSV configuration file input. Defaults to: path/to/working/dir/api.csv

custom_file[RW]
String

Custom .i file to be appended at the beginning of the generated .i target. Used for advanced configuration

Defaults to path/to/working/dir/custom_config.i
default_dir[RW]
String

Working directory. Defaults to current working directory

doxy_dir[RW]
String

Directory generated by Doxygen (which include a /xml subdirectory for all XML files. Defaults to: path/to/working/dir/easy-swig/doxygen

generate_dir[RW]
String

Output directory for Easy-Swig generated .i file(s) aka. ‘target’. Defaults to path/to/working/dir/easy-swig/generate

headers_dir[RW]
String

Directory for your project’s header files. Defaults to: path/to/working/dir/include

html[RW]
String

Instructs Doxygen to also generate HTML documentation for the header files. Defaults to nil (false)

includes_dir[RW]
Array<String>

System include directories. Defaults to Linux include directory: [“/usr/include”]

lang[RW]
String

Target language for SWIG. Defaults to ‘csharp’ (C#)

module_name[RW]
String

Name of the module. Used to name generated resources. Defaults to the name of the default (working) directory

output_dir[RW]
String

Output directory for SWIG generated files. Defaults to : path/to/working/dir/easy-swig/swig

stl_support[RW]
String

Special support for the Standard Template Library. Values ‘YES’/‘NO’ (defaults to ‘YES’)

target_file[RW]
String

Target .i file as input for SWIG. If a directory SWIG will be invoked once for every found .i file

Defaults to path/to/working/dir/easy-swig/generate/<MODULE_NAME>.i

Public Class Methods

new(default_dir = nil) click to toggle source

Creates a new Configutation using the default values for a given directory @param [String] default_dir Working directory

# File lib/config.rb, line 36
def initialize(default_dir = nil)
    @default_dir = default_dir
    set_defaults
end

Public Instance Methods

set_defaults() click to toggle source
# File lib/config.rb, line 41
def set_defaults
  @default_dir ||= Dir.getwd
  @module_name ||= File.basename(@default_dir)
  @output_dir ||= "#{@default_dir}/easy-swig/swig"
  @doxy_dir ||= "#{@default_dir}/easy-swig/doxygen"
  @generate_dir ||= "#{@default_dir}/easy-swig/generate"
  @headers_dir ||= "#{@default_dir}/include"
  @csv_file ||= "#{@default_dir}/api.csv"
  @custom_file ||= "#{@default_dir}/custom_config.i"
  @lang ||= "csharp"
  @stl_support ||= 'YES'
  @target_file ||= "#{@default_dir}/easy-swig/generate/#{@lang}/#{@module_name}.i"
  @includes_dir ||= ["/usr/include"]
end