Module: MTBuild::DSL

Included in:
ToolchainGcc
Defined in:
lib/mtbuild/dsl.rb

Instance Method Summary collapse

Instance Method Details

#application_project(application_name, project_folder, &configuration_block) ⇒ Object

Defines an ApplicationProject



11
12
13
# File 'lib/mtbuild/dsl.rb', line 11

def application_project(application_name, project_folder, &configuration_block)
  MTBuild::ApplicationProject.new(application_name, project_folder, &configuration_block)
end

#framework_project(framework_name, project_folder, &configuration_block) ⇒ Object

Defines a FrameworkProject



16
17
18
# File 'lib/mtbuild/dsl.rb', line 16

def framework_project(framework_name, project_folder, &configuration_block)
  MTBuild::FrameworkProject.new(framework_name, project_folder, &configuration_block)
end

#mtfile(*args, &block) ⇒ Object

Declare an MT file task.

Example:

 mtfile "config.cfg" => ["config.template"] do
   open("config.cfg", "w") do |outfile|
     open("config.template") do |infile|
       while line = infile.gets
         outfile.puts line
       end
     end
   end
end


50
51
52
# File 'lib/mtbuild/dsl.rb', line 50

def mtfile(*args, &block)
  MTBuild::MTFileTask.define_task(*args, &block)
end

#static_library_project(library_name, project_folder, &configuration_block) ⇒ Object

Defines a StaticLibraryProject



21
22
23
# File 'lib/mtbuild/dsl.rb', line 21

def static_library_project(library_name, project_folder, &configuration_block)
  MTBuild::StaticLibraryProject.new(library_name, project_folder, &configuration_block)
end

#test_application_project(application_name, project_folder, &configuration_block) ⇒ Object

Defines a TestApplicationProject



26
27
28
# File 'lib/mtbuild/dsl.rb', line 26

def test_application_project(application_name, project_folder, &configuration_block)
  MTBuild::TestApplicationProject.new(application_name, project_folder, &configuration_block)
end

#toolchain(toolchain_name, toolchain_configuration = {}) ⇒ Object

Defines a Toolchain



31
32
33
34
35
# File 'lib/mtbuild/dsl.rb', line 31

def toolchain(toolchain_name, toolchain_configuration={})
  fail "error: the toolchain configuration is expected to be a hash." unless toolchain_configuration.is_a? Hash
  toolchain_configuration[:name] = toolchain_name
  return toolchain_configuration
end

#workspace(workspace_name, workspace_folder, &configuration_block) ⇒ Object

Defines a Workspace



6
7
8
# File 'lib/mtbuild/dsl.rb', line 6

def workspace(workspace_name, workspace_folder, &configuration_block)
  MTBuild::Workspace.new(workspace_name, workspace_folder, &configuration_block)
end