Sha256: 99827c7da19fb20f7642e3143187952023f9737896d3eebc730c92649d19ef7e

Contents?: true

Size: 1.1 KB

Versions: 7

Compression:

Stored size: 1.1 KB

Contents

module Autobuild
    def self.orogen(opts, &proc)
        Orogen.new(opts, &proc)
    end

    class Orogen < CMake
        class << self
            attr_accessor :corba
        end

        attr_accessor :corba

        attr_accessor :orogen_file
        def initialize(*args, &config)
            @corba       = Orogen.corba
            super

            @orogen_file ||= "#{File.basename(name)}.orogen"

            file configurestamp => genstamp
            file genstamp => File.join(srcdir, orogen_file) do
                regen
            end
        end

        def depends_on(*packages)
            super

            packages.each do |p|
                file genstamp => Package[p].installstamp
            end
        end

        def genstamp; File.join(srcdir, '.orogen', 'orogen-stamp') end

        def regen
            cmdline = [Autobuild.tool('orogen')]
            cmdline << '--corba' if corba
            cmdline << orogen_file

            Dir.chdir(srcdir) do
                Subprocess.run name, 'orogen', *cmdline
                touch_stamp genstamp
            end
        end
    end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
autobuild-1.2.10 lib/autobuild/packages/orogen.rb
autobuild-1.2.11 lib/autobuild/packages/orogen.rb
autobuild-1.2.7 lib/autobuild/packages/orogen.rb
autobuild-1.2.6 lib/autobuild/packages/orogen.rb
autobuild-1.2.5 lib/autobuild/packages/orogen.rb
autobuild-1.2.9 lib/autobuild/packages/orogen.rb
autobuild-1.2.8 lib/autobuild/packages/orogen.rb