Sha256: c8094f44450257f88439b6cd18e3a01b2d06164a2a5f848f6a26c1adb1fd66d5

Contents?: true

Size: 1.33 KB

Versions: 1

Compression:

Stored size: 1.33 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"

            # Find out where orogen is, and make sure the configurestamp depend
            # on it
            orogen_root = File.join(`orogen --base-dir`.chomp, 'orogen')
            file genstamp => Autobuild.source_tree(orogen_root)
            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

1 entries across 1 versions & 1 rubygems

Version Path
autobuild-1.2.12 lib/autobuild/packages/orogen.rb