Skip to content

Commit

Permalink
coalesce all global package setup code into a single place
Browse files Browse the repository at this point in the history
  • Loading branch information
doudou committed Aug 11, 2016
1 parent 1469586 commit 0cd06cc
Showing 1 changed file with 40 additions and 57 deletions.
97 changes: 40 additions & 57 deletions overrides.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,76 +28,59 @@

require File.join(File.dirname(__FILE__), 'rock/git_hook')
require File.join(File.dirname(__FILE__), 'rock/cmake_build_type')
Autoproj.post_import do |pkg|
if pkg.kind_of?(Autobuild::CMake)
Rock.update_cmake_build_type_from_tags(pkg)
end
if pkg.importer.kind_of?(Autobuild::Git)
if pkg.importer.branch == "next" || pkg.importer.branch == "stable"
Rock.install_git_hook pkg, 'git_do_not_commit_hook', 'pre-commit'
else
Rock.remove_git_hook pkg, 'pre-commit'
end
end
end

Autoproj.env_add_path 'ROCK_BUNDLE_PATH', File.join(Autobuild.prefix, 'share', 'rock')
Autoproj.env_add_path 'ROCK_BUNDLE_PATH', File.join(Autoproj.root_dir, 'bundles')

# Finally, verify that when pkg A from flavor X depends on pkg B, then B needs
# to be available in flavor X as well
if ENV['ROCK_DISABLE_CROSS_FLAVOR_CHECKS'] != '1'
Autoproj.post_import do |pkg|
next if !pkg.importer.kind_of?(Autobuild::Git)
Rock.flavors.verify_cross_flavor_dependencies(pkg)
end
end

Autoproj.manifest.each_autobuild_package do |pkg|
next if !pkg.kind_of?(Autobuild::Orogen)
if pkg.name != "tools/logger" && pkg.name != "base/orogen/types" && pkg.name != 'base/orogen/std'
pkg.optional_dependency 'tools/logger'
end
#ugly but we hav eno other way if we build a RC
if Rock.flavors.current_flavor.name == 'master' && package('base/orogen/std').importer.branch != 'rock-rc'
pkg.orogen_options << '--extensions=metadata_support'
pkg.depends_on 'tools/orogen_metadata'
end
if pkg.name != 'base/orogen/std'
pkg.optional_dependency 'base/orogen/std'
pkg.orogen_options << '--import=std'
case pkg.importer
when Autobuild::Git
if ENV['ROCK_DISABLE_CROSS_FLAVOR_CHECKS'] != '1'
# Finally, verify that when pkg A from flavor X depends on pkg B,
# then B needs to be available in flavor X as well
Rock.flavors.verify_cross_flavor_dependencies(pkg)
end

# Do the git hook setup in a separate setup block since we must do it
# post-import
setup_package(pkg.name) do
if pkg.importer.branch == "next" || pkg.importer.branch == "stable"
Rock.install_git_hook pkg, 'git_do_not_commit_hook', 'pre-commit'
else
Rock.remove_git_hook pkg, 'pre-commit'
end
end
end

pkg.optional_dependency 'tools/service_discovery'
if !Autoproj.config.get('USE_OCL')
pkg.optional_dependencies.delete 'ocl'
case pkg
when Autobuild::Orogen
if !%w{tools/logger base/orogen/types base/orogen/std}.include?(pkg.name)
pkg.optional_dependency 'tools/logger'
end
if Rock.flavors.current_flavor.name == 'master'
pkg.orogen_options << '--extensions=metadata_support'
pkg.depends_on 'tools/orogen_metadata'
end
if pkg.name != 'base/orogen/std'
pkg.optional_dependency 'base/orogen/std'
pkg.orogen_options << '--import=std'
end
pkg.optional_dependency 'tools/service_discovery'
if !Autoproj.config.get('USE_OCL')
pkg.optional_dependencies.delete 'ocl'
end
when Autobuild::CMake
pkg.define "ROCK_TEST_ENABLED", pkg.test_utility.enabled?
pkg.define "CMAKE_EXPORT_COMPILE_COMMANDS", "ON"
end
end

# 2014-03-12:
# temporary fix for boost bug: https://svn.boost.org/trac/boost/ticket/7979
# on debian testing
only_on 'debian' do
setup_package 'typelib' do |pkg|
pkg.define "GLIBC_HAVE_LONG_LONG", 1
end
setup_package 'typelib' do |pkg|
pkg.define "GLIBC_HAVE_LONG_LONG", 1
end
end

# Manage the Rock standard flag for tests
Autoproj.post_import do |pkg|
if pkg.kind_of?(Autobuild::CMake)
pkg.define "ROCK_TEST_ENABLED", pkg.test_utility.enabled?
end
end

# enabling the compile_commands feature for cmake based projects. allows for
# example usage of semantic c/c++ completion tools.
#
# see https://rock.opendfki.de/ticket/384
Autoproj.post_import do |pkg|
if pkg.kind_of?(Autobuild::CMake)
pkg.define "CMAKE_EXPORT_COMPILE_COMMANDS", "ON"
end
end


0 comments on commit 0cd06cc

Please sign in to comment.