Mercurial
comparison third_party/raylib/raylib.bzl @ 26:a58a663dae68
[Sori] Making a simple game.
| author | June Park <parkjune1995@gmail.com> |
|---|---|
| date | Thu, 09 Oct 2025 06:41:49 -0700 |
| parents | |
| children | ccb42d5bf8fd |
comparison
equal
deleted
inserted
replaced
| 25:342726584be2 | 26:a58a663dae68 |
|---|---|
| 1 def raylib_binary( | |
| 2 name, | |
| 3 srcs, | |
| 4 deps = [], | |
| 5 deps_macos = [], | |
| 6 deps_linux = [], | |
| 7 linkopts_macos = [ | |
| 8 "-framework CoreVideo", | |
| 9 "-framework IOKit", | |
| 10 "-framework Cocoa", | |
| 11 "-framework GLUT", | |
| 12 "-framework OpenGL", | |
| 13 ], | |
| 14 linkopts_linux = [ | |
| 15 "-lGL", | |
| 16 "-lm", | |
| 17 "-lpthread", | |
| 18 "-ldl", | |
| 19 "-lrt", | |
| 20 "-lX11", | |
| 21 ]): | |
| 22 """ | |
| 23 Raylib specific cross platform rules. | |
| 24 | |
| 25 Args: | |
| 26 name: The logical name of the binary (alias). | |
| 27 srcs: List of source files (common). | |
| 28 deps: Mutual dependency. | |
| 29 deps_macos: Extra deps for macOS. | |
| 30 deps_linux: Extra deps for Linux. | |
| 31 linkopts_macos: Extra linkopts for macOS. | |
| 32 linkopts_linux: Extra linkopts for Linux. | |
| 33 """ | |
| 34 | |
| 35 macos_bin = name + "_macos" | |
| 36 linux_bin = name + "_linux" | |
| 37 | |
| 38 native.cc_binary( | |
| 39 name = macos_bin, | |
| 40 srcs = srcs, | |
| 41 deps = deps + deps_macos, | |
| 42 linkopts = linkopts_macos, | |
| 43 ) | |
| 44 | |
| 45 native.cc_binary( | |
| 46 name = linux_bin, | |
| 47 srcs = srcs, | |
| 48 deps = deps + deps_linux, | |
| 49 linkopts = linkopts_linux, | |
| 50 ) | |
| 51 | |
| 52 native.alias( | |
| 53 name = name, | |
| 54 actual = select({ | |
| 55 "//config:macos": ":" + macos_bin, | |
| 56 "//config:linux": ":" + linux_bin, | |
| 57 "//conditions:default": ":" + linux_bin, # fallback | |
| 58 }), | |
| 59 ) |