-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathBUILD.bazel
88 lines (78 loc) · 2.42 KB
/
BUILD.bazel
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
78
79
80
81
82
83
84
85
86
87
88
load("@rules_cc//cc:defs.bzl", "cc_library")
load("@rules_python//python:defs.bzl", "py_binary")
load("@python_requirements//:requirements.bzl", "requirement")
load("//bazel:psim_build.bzl", "psim_autocoded_cc_library", "psim_cc_library", "psim_py_extension")
# Register the autocoder as an executable. This is later consumed by the
# autocoder command. See psim.bzl for more information.
py_binary(
name = "autocoder",
srcs = ["//:tools/autocoder.py"],
deps = [requirement("pyyaml")],
)
# Builds the GNC flight software implementations to be linked in as a dependancy
# of PSim.
cc_library(
name = "gnc",
srcs = glob([
"src/gnc/**/*.hpp", "src/gnc/*.cpp", "src/gnc/**/*.inl",
"include/gnc/**/*.inl"
]),
hdrs = glob([
"include/gnc/**/*.hpp", "include/orb/**/*.h", "include/orb/**/*.hpp"
]),
includes = ["include"],
copts = ["-Isrc", "-fvisibility=hidden"],
linkstatic = True,
visibility = ["//visibility:public"],
deps = ["@geograv//:geograv", "@lin//:lin"],
)
# Builds the core PSim infrastructure.
psim_cc_library(
name = "core",
deps = ["@lin//:lin"],
visibility = ["//visibility:public"],
)
# Builds the PSim utilities models
psim_autocoded_cc_library(
name = "utilities",
deps = ["@lin//:lin", "//:gnc", "//:psim_core"],
visibility = ["//visibility:public"],
)
# Builds the PSim truth models
psim_autocoded_cc_library(
name = "truth",
deps = ["@lin//:lin", "//:gnc", "//:psim_core", "//:psim_utilities"],
visibility = ["//visibility:public"],
)
# Builds the PSim sensor models
psim_autocoded_cc_library(
name = "sensors",
deps = ["@lin//:lin", "//:gnc", "//:psim_core", "//:psim_utilities"],
visibility = ["//visibility:public"],
)
# Builds the PSim flight computer models
psim_autocoded_cc_library(
name = "fc",
deps = ["@lin//:lin", "//:gnc", "//:psim_core", "//:psim_utilities"],
visibility = ["//visibility:public"],
)
# Builds all PSim models deemed "simulation" worthy.
psim_cc_library(
name = "simulations",
deps = [
"//:psim_core", "//:psim_utilities", "//:psim_truth", "//:psim_sensors",
"//:psim_fc"
],
visibility = ["//visibility:public"],
)
# PSim Python extension
psim_py_extension(
name = "_psim",
srcs = [
"python/psim/_psim.cpp"
],
deps = [
"@variant//:variant", "//:psim_core", "//:psim_simulations"
],
visibility = ["//visibility:public"],
)