-
Notifications
You must be signed in to change notification settings - Fork 75
/
Copy pathignition-physics2.rb
77 lines (70 loc) · 2.62 KB
/
ignition-physics2.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
class IgnitionPhysics2 < Formula
desc "Physics library for robotics applications"
homepage "https://github.com/gazebosim/gz-physics"
url "https://osrf-distributions.s3.amazonaws.com/ign-physics/releases/ignition-physics2-2.6.2.tar.bz2"
sha256 "4aa0dcd1a254da63f55a93d2cc928a5ff517f19ac1603c0fb5f810dd29c70e1d"
license "Apache-2.0"
revision 8
head "https://github.com/gazebosim/gz-physics.git", branch: "gz-physics2"
deprecate! date: "2024-12-31", because: "is past end-of-life date"
depends_on "cmake" => :build
depends_on "bullet"
depends_on "[email protected]"
depends_on "google-benchmark"
depends_on "ignition-cmake2"
depends_on "ignition-common3"
depends_on "ignition-math6"
depends_on "ignition-plugin1"
depends_on macos: :mojave # c++17
depends_on "pkgconf"
depends_on "sdformat9"
depends_on "tinyxml2"
depends_on "urdfdom"
def install
cmake_args = std_cmake_args
cmake_args << "-DBUILD_TESTING=OFF"
cmake_args << "-DCMAKE_INSTALL_RPATH=#{rpath}"
# Use a build folder
mkdir "build" do
system "cmake", "..", *cmake_args
system "make", "install"
end
end
test do
(testpath/"test.cpp").write <<-EOS
#include "ignition/plugin/Loader.hh"
#include "ignition/physics/ConstructEmpty.hh"
#include "ignition/physics/RequestEngine.hh"
int main()
{
ignition::plugin::Loader loader;
loader.LoadLib("#{opt_lib}/libignition-physics2-dartsim-plugin.dylib");
ignition::plugin::PluginPtr dartsim =
loader.Instantiate("ignition::physics::dartsim::Plugin");
using featureList = ignition::physics::FeatureList<
ignition::physics::ConstructEmptyWorldFeature>;
auto engine =
ignition::physics::RequestEngine3d<featureList>::From(dartsim);
return engine == nullptr;
}
EOS
system "pkg-config", "ignition-physics2"
cflags = `pkg-config --cflags ignition-physics2`.split
ldflags = `pkg-config --libs ignition-physics2`.split
system "pkg-config", "ignition-plugin1-loader"
loader_cflags = `pkg-config --cflags ignition-plugin1-loader`.split
loader_ldflags = `pkg-config --libs ignition-plugin1-loader`.split
system ENV.cc, "test.cpp",
*cflags,
*ldflags,
*loader_cflags,
*loader_ldflags,
"-lc++",
"-o", "test"
# Disable test due to gazebosim/gz-physics#442
# system "./test"
# check for Xcode frameworks in bottle
cmd_not_grep_xcode = "! grep -rnI 'Applications[/]Xcode' #{prefix}"
system cmd_not_grep_xcode
end
end