*: initial bazel pass

master
q3k 2021-04-28 15:19:05 +02:00
parent f31d65a334
commit de954a5b76
3 changed files with 512 additions and 0 deletions

1
.bazelrc Normal file
View File

@ -0,0 +1 @@
build --cxxopt='-std=c++17'

351
WORKSPACE Normal file
View File

@ -0,0 +1,351 @@
workspace(
name = "extremetuxracer",
)
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "sfml",
urls = [
"https://github.com/SFML/SFML/archive/refs/tags/2.5.1.tar.gz",
],
strip_prefix = "SFML-2.5.1",
sha256 = "438c91a917cc8aa19e82c6f59f8714da353c488584a007d401efac8368e1c785",
build_file_content = """
cc_library(
name = "stb_image",
hdrs = [
"extlibs/headers/stb_image/stb_image.h",
"extlibs/headers/stb_image/stb_image_write.h",
],
strip_include_prefix = "extlibs/headers/stb_image",
)
cc_library(
name = "config",
hdrs = [
"include/SFML/Config.hpp",
],
strip_include_prefix = "include/",
includes = [ "src" ],
)
cc_library(
name = "audio",
hdrs = [
"include/SFML/Audio.hpp",
"include/SFML/Audio/AlResource.hpp",
"include/SFML/Audio/InputSoundFile.hpp",
"include/SFML/Audio/Export.hpp",
"include/SFML/Audio/Listener.hpp",
"include/SFML/Audio/Music.hpp",
"include/SFML/Audio/OutputSoundFile.hpp",
"include/SFML/Audio/Sound.hpp",
"include/SFML/Audio/SoundBuffer.hpp",
"include/SFML/Audio/SoundBufferRecorder.hpp",
"include/SFML/Audio/SoundFileFactory.hpp",
"include/SFML/Audio/SoundFileFactory.inl",
"include/SFML/Audio/SoundFileReader.hpp",
"include/SFML/Audio/SoundFileWriter.hpp",
"include/SFML/Audio/SoundRecorder.hpp",
"include/SFML/Audio/SoundStream.hpp",
"include/SFML/Audio/SoundSource.hpp",
],
srcs = [
"src/SFML/Audio/ALCheck.hpp",
"src/SFML/Audio/AudioDevice.hpp",
"src/SFML/Audio/SoundFileReaderFlac.hpp",
"src/SFML/Audio/SoundFileReaderOgg.hpp",
"src/SFML/Audio/SoundFileReaderWav.hpp",
"src/SFML/Audio/SoundFileWriterFlac.hpp",
"src/SFML/Audio/SoundFileWriterOgg.hpp",
"src/SFML/Audio/SoundFileWriterWav.hpp",
"src/SFML/Audio/ALCheck.cpp",
"src/SFML/Audio/AlResource.cpp",
"src/SFML/Audio/AudioDevice.cpp",
"src/SFML/Audio/InputSoundFile.cpp",
"src/SFML/Audio/Music.cpp",
"src/SFML/Audio/OutputSoundFile.cpp",
"src/SFML/Audio/Sound.cpp",
"src/SFML/Audio/SoundBuffer.cpp",
"src/SFML/Audio/SoundFileFactory.cpp",
"src/SFML/Audio/SoundFileReaderFlac.cpp",
"src/SFML/Audio/SoundFileReaderOgg.cpp",
"src/SFML/Audio/SoundFileReaderWav.cpp",
"src/SFML/Audio/SoundFileWriterFlac.cpp",
"src/SFML/Audio/SoundFileWriterOgg.cpp",
"src/SFML/Audio/SoundFileWriterWav.cpp",
"src/SFML/Audio/SoundSource.cpp",
"src/SFML/Audio/SoundStream.cpp",
],
strip_include_prefix = "include/",
includes = [ "src" ],
deps = [
":config",
":system",
],
copts = [
"-I/usr/include/AL",
],
linkopts = [
"-lFLAC",
"-logg",
"-lopenal",
"-lvorbis",
"-lvorbisenc",
"-lvorbisfile",
],
visibility = [
"//visibility:public",
],
)
cc_library(
name = "system",
hdrs = [
"include/SFML/System.hpp",
"include/SFML/System/Clock.hpp",
"include/SFML/System/Err.hpp",
"include/SFML/System/Export.hpp",
"include/SFML/System/FileInputStream.hpp",
"include/SFML/System/InputStream.hpp",
"include/SFML/System/Lock.hpp",
"include/SFML/System/MemoryInputStream.hpp",
"include/SFML/System/Mutex.hpp",
"include/SFML/System/NonCopyable.hpp",
"include/SFML/System/Sleep.hpp",
"include/SFML/System/String.hpp",
"include/SFML/System/String.inl",
"include/SFML/System/Time.hpp",
"include/SFML/System/Thread.hpp",
"include/SFML/System/Thread.inl",
"include/SFML/System/ThreadLocal.hpp",
"include/SFML/System/ThreadLocalPtr.hpp",
"include/SFML/System/ThreadLocalPtr.inl",
"include/SFML/System/Utf.hpp",
"include/SFML/System/Utf.inl",
"include/SFML/System/Vector2.hpp",
"include/SFML/System/Vector2.inl",
"include/SFML/System/Vector3.hpp",
"include/SFML/System/Vector3.inl",
],
srcs = [
"src/SFML/System/Clock.cpp",
"src/SFML/System/Err.cpp",
"src/SFML/System/FileInputStream.cpp",
"src/SFML/System/Lock.cpp",
"src/SFML/System/MemoryInputStream.cpp",
"src/SFML/System/Mutex.cpp",
"src/SFML/System/Sleep.cpp",
"src/SFML/System/String.cpp",
"src/SFML/System/Time.cpp",
"src/SFML/System/Thread.cpp",
"src/SFML/System/ThreadLocal.cpp",
"src/SFML/System/Unix/ClockImpl.hpp",
"src/SFML/System/Unix/MutexImpl.hpp",
"src/SFML/System/Unix/SleepImpl.hpp",
"src/SFML/System/Unix/ThreadImpl.hpp",
"src/SFML/System/Unix/ThreadLocalImpl.hpp",
"src/SFML/System/Unix/ClockImpl.cpp",
"src/SFML/System/Unix/MutexImpl.cpp",
"src/SFML/System/Unix/SleepImpl.cpp",
"src/SFML/System/Unix/ThreadImpl.cpp",
"src/SFML/System/Unix/ThreadLocalImpl.cpp",
],
strip_include_prefix = "include/",
includes = [ "src" ],
deps = [
":config",
],
linkopts = [
"-lpthread",
],
visibility = [
"//visibility:public",
],
)
cc_library(
name = "window",
hdrs = [
"include/SFML/OpenGL.hpp",
"include/SFML/Window.hpp",
"include/SFML/Window/Clipboard.hpp",
"include/SFML/Window/Context.hpp",
"include/SFML/Window/ContextSettings.hpp",
"include/SFML/Window/Cursor.hpp",
"include/SFML/Window/Event.hpp",
"include/SFML/Window/Export.hpp",
"include/SFML/Window/GlResource.hpp",
"include/SFML/Window/Joystick.hpp",
"include/SFML/Window/Keyboard.hpp",
"include/SFML/Window/Mouse.hpp",
"include/SFML/Window/Sensor.hpp",
"include/SFML/Window/Touch.hpp",
"include/SFML/Window/VideoMode.hpp",
"include/SFML/Window/Window.hpp",
"include/SFML/Window/WindowHandle.hpp",
"include/SFML/Window/WindowStyle.hpp",
],
srcs = [
"src/SFML/Window/CursorImpl.hpp",
"src/SFML/Window/GlContext.hpp",
"src/SFML/Window/InputImpl.hpp",
"src/SFML/Window/JoystickImpl.hpp",
"src/SFML/Window/JoystickManager.hpp",
"src/SFML/Window/SensorImpl.hpp",
"src/SFML/Window/SensorManager.hpp",
"src/SFML/Window/VideoModeImpl.hpp",
"src/SFML/Window/WindowImpl.hpp",
"src/SFML/Window/Context.cpp",
"src/SFML/Window/Cursor.cpp",
"src/SFML/Window/GlContext.cpp",
"src/SFML/Window/GlResource.cpp",
"src/SFML/Window/Joystick.cpp",
"src/SFML/Window/JoystickManager.cpp",
"src/SFML/Window/Keyboard.cpp",
"src/SFML/Window/Mouse.cpp",
"src/SFML/Window/SensorManager.cpp",
"src/SFML/Window/VideoMode.cpp",
"src/SFML/Window/Window.cpp",
"src/SFML/Window/WindowImpl.cpp",
"src/SFML/Window/Unix/ClipboardImpl.hpp",
"src/SFML/Window/Unix/CursorImpl.hpp",
"src/SFML/Window/Unix/Display.hpp",
"src/SFML/Window/Unix/GlxContext.hpp",
"src/SFML/Window/Unix/GlxExtensions.hpp",
"src/SFML/Window/Unix/InputImpl.hpp",
"src/SFML/Window/Unix/JoystickImpl.hpp",
"src/SFML/Window/Unix/SensorImpl.hpp",
"src/SFML/Window/Unix/WindowImplX11.hpp",
"src/SFML/Window/Unix/ClipboardImpl.cpp",
"src/SFML/Window/Unix/CursorImpl.cpp",
"src/SFML/Window/Unix/Display.cpp",
"src/SFML/Window/Unix/GlxContext.cpp",
"src/SFML/Window/Unix/GlxExtensions.cpp",
"src/SFML/Window/Unix/InputImpl.cpp",
"src/SFML/Window/Unix/JoystickImpl.cpp",
"src/SFML/Window/Unix/SensorImpl.cpp",
"src/SFML/Window/Unix/VideoModeImpl.cpp",
"src/SFML/Window/Unix/WindowImplX11.cpp",
],
strip_include_prefix = "include/",
includes = [ "src" ],
deps = [
":config",
":system",
],
linkopts = [
"-ludev",
"-lGL",
"-lGLU",
"-lX11",
"-lXrandr",
],
visibility = [
"//visibility:public",
],
)
cc_library(
name = "graphics",
hdrs = [
"include/SFML/Graphics.hpp",
"include/SFML/Graphics/BlendMode.hpp",
"include/SFML/Graphics/CircleShape.hpp",
"include/SFML/Graphics/Color.hpp",
"include/SFML/Graphics/ConvexShape.hpp",
"include/SFML/Graphics/Drawable.hpp",
"include/SFML/Graphics/Export.hpp",
"include/SFML/Graphics/Font.hpp",
"include/SFML/Graphics/Glyph.hpp",
"include/SFML/Graphics/Glsl.hpp",
"include/SFML/Graphics/Glsl.inl",
"include/SFML/Graphics/Image.hpp",
"include/SFML/Graphics/PrimitiveType.hpp",
"include/SFML/Graphics/Rect.hpp",
"include/SFML/Graphics/Rect.inl",
"include/SFML/Graphics/RectangleShape.hpp",
"include/SFML/Graphics/RenderStates.hpp",
"include/SFML/Graphics/RenderTarget.hpp",
"include/SFML/Graphics/RenderTexture.hpp",
"include/SFML/Graphics/RenderWindow.hpp",
"include/SFML/Graphics/Shader.hpp",
"include/SFML/Graphics/Shape.hpp",
"include/SFML/Graphics/Sprite.hpp",
"include/SFML/Graphics/Text.hpp",
"include/SFML/Graphics/Texture.hpp",
"include/SFML/Graphics/Transform.hpp",
"include/SFML/Graphics/Transformable.hpp",
"include/SFML/Graphics/Vertex.hpp",
"include/SFML/Graphics/VertexArray.hpp",
"include/SFML/Graphics/VertexBuffer.hpp",
"include/SFML/Graphics/View.hpp",
],
srcs = [
"src/SFML/Graphics/GLCheck.hpp",
"src/SFML/Graphics/ImageLoader.hpp",
"src/SFML/Graphics/TextureSaver.hpp",
"src/SFML/Graphics/GLExtensions.hpp",
"src/SFML/Graphics/GLLoader.hpp",
"src/SFML/Graphics/RenderTextureImpl.hpp",
"src/SFML/Graphics/RenderTextureImplDefault.hpp",
"src/SFML/Graphics/RenderTextureImplFBO.hpp",
"src/SFML/Graphics/BlendMode.cpp",
"src/SFML/Graphics/Color.cpp",
"src/SFML/Graphics/Font.cpp",
"src/SFML/Graphics/Glsl.cpp",
"src/SFML/Graphics/GLCheck.cpp",
"src/SFML/Graphics/GLExtensions.cpp",
"src/SFML/Graphics/GLLoader.cpp",
"src/SFML/Graphics/Image.cpp",
"src/SFML/Graphics/ImageLoader.cpp",
"src/SFML/Graphics/RectangleShape.cpp",
"src/SFML/Graphics/RenderStates.cpp",
"src/SFML/Graphics/RenderTarget.cpp",
"src/SFML/Graphics/RenderTexture.cpp",
"src/SFML/Graphics/RenderTextureImpl.cpp",
"src/SFML/Graphics/RenderTextureImplDefault.cpp",
"src/SFML/Graphics/RenderTextureImplFBO.cpp",
"src/SFML/Graphics/RenderWindow.cpp",
"src/SFML/Graphics/Shader.cpp",
"src/SFML/Graphics/Shape.cpp",
"src/SFML/Graphics/Sprite.cpp",
"src/SFML/Graphics/Text.cpp",
"src/SFML/Graphics/Texture.cpp",
"src/SFML/Graphics/TextureSaver.cpp",
"src/SFML/Graphics/Transform.cpp",
"src/SFML/Graphics/Transformable.cpp",
"src/SFML/Graphics/Vertex.cpp",
"src/SFML/Graphics/VertexArray.cpp",
"src/SFML/Graphics/VertexBuffer.cpp",
"src/SFML/Graphics/View.cpp",
],
strip_include_prefix = "include/",
includes = [ "src" ],
copts = [
"-I/usr/include/freetype2",
],
linkopts = [
"-lfreetype",
],
deps = [
":system",
":window",
":stb_image",
],
visibility = [
"//visibility:public",
],
)
""",
)

160
src/BUILD.bazel Normal file
View File

@ -0,0 +1,160 @@
cc_binary(
name = "main",
srcs = [
"audio.h",
"audio.cpp",
"bh.h",
"common.h",
"common.cpp",
"config_screen.h",
"config_screen.cpp",
"course.h",
"course.cpp",
"course_render.h",
"course_render.cpp",
"credits.h",
"credits.cpp",
"env.h",
"env.cpp",
"etr_types.h",
"event.h",
"event.cpp",
"event_select.h",
"event_select.cpp",
"font.h",
"font.cpp",
"gui.h",
"gui.cpp",
"game_config.h",
"game_config.cpp",
"game_ctrl.h",
"game_ctrl.cpp",
"game_over.h",
"game_over.cpp",
"game_type_select.h",
"game_type_select.cpp",
"help.h",
"help.cpp",
"hud.h",
"hud.cpp",
"intro.h",
"intro.cpp",
"keyframe.h",
"keyframe.cpp",
"loading.h",
"loading.cpp",
"mathlib.h",
"mathlib.cpp",
"matrices.h",
"matrices.cpp",
"newplayer.h",
"newplayer.cpp",
"ogl.h",
"ogl.cpp",
"ogl_test.h",
"ogl_test.cpp",
"particles.h",
"particles.cpp",
"paused.h",
"paused.cpp",
"physics.h",
"physics.cpp",
"quadtree.h",
"quadtree.cpp",
"race_select.h",
"race_select.cpp",
"racing.h",
"racing.cpp",
"regist.h",
"regist.cpp",
"reset.h",
"reset.cpp",
"score.h",
"score.cpp",
"splash_screen.h",
"splash_screen.cpp",
"spx.h",
"spx.cpp",
"states.h",
"states.cpp",
"textures.h",
"textures.cpp",
"tool_char.h",
"tool_char.cpp",
"tool_frame.h",
"tool_frame.cpp",
"tools.h",
"tools.cpp",
"track_marks.h",
"track_marks.cpp",
"translation.h",
"translation.cpp",
"tux.h",
"tux.cpp",
"vectors.h",
"vectors.cpp",
"version.h",
"view.h",
"view.cpp",
"winsys.h",
"winsys.cpp",
"main.cpp",
],
local_defines = [
'ETR_DATA_DIR=\\"/home/less_shelter\\"',
],
deps = [
"@sfml//:audio",
"@sfml//:graphics",
],
)