mirror of
https://github.com/zoriya/Bomberman.git
synced 2026-05-31 09:32:02 +00:00
117 lines
3.5 KiB
CMake
117 lines
3.5 KiB
CMake
#Definition of CMake version to use
|
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.11)
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(LIB_NAME "ray")
|
|
|
|
project("${LIB_NAME}")
|
|
include_directories(${LIB_NAME} ./sources)
|
|
|
|
if (CMAKE_COMPILER_IS_GNUCXX)
|
|
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wextra -Wshadow -W -Wno-unused-parameter -g")
|
|
endif()
|
|
set(CMAKE_CXX_FLAGS_RELEASE "-O2")
|
|
|
|
set(HEADERS
|
|
sources/Color.hpp
|
|
sources/Font.hpp
|
|
sources/Matrix.hpp
|
|
sources/Mesh.hpp
|
|
sources/TraceLog.hpp
|
|
sources/Window.hpp
|
|
sources/Audio/IAudio.hpp
|
|
sources/Audio/Music.hpp
|
|
sources/Audio/Sound.hpp
|
|
sources/Camera/Camera2D.hpp
|
|
sources/Camera/Camera3D.hpp
|
|
sources/Camera/CameraMode.hpp
|
|
sources/Camera/CameraProjection.hpp
|
|
sources/Camera/ICamera.hpp
|
|
sources/Controllers/Gamepad.hpp
|
|
sources/Controllers/Keyboard.hpp
|
|
sources/Controllers/Mouse.hpp
|
|
sources/Drawables/ADrawable2D.hpp
|
|
sources/Drawables/ADrawable3D.hpp
|
|
sources/Drawables/IDrawable.hpp
|
|
sources/Drawables/Image.hpp
|
|
sources/Drawables/Texture.hpp
|
|
sources/Drawables/2D/Circle.hpp
|
|
sources/Drawables/2D/Line.hpp
|
|
sources/Drawables/2D/Point.hpp
|
|
sources/Drawables/2D/Rectangle.hpp
|
|
sources/Drawables/2D/Text.hpp
|
|
sources/Drawables/2D/Triangle.hpp
|
|
sources/Drawables/3D/Circle.hpp
|
|
sources/Drawables/3D/Cube.hpp
|
|
sources/Drawables/3D/Cylinder.hpp
|
|
sources/Drawables/3D/Grid.hpp
|
|
sources/Drawables/3D/Line.hpp
|
|
sources/Drawables/3D/Plane.hpp
|
|
sources/Drawables/3D/Point.hpp
|
|
sources/Drawables/3D/Ray.hpp
|
|
sources/Drawables/3D/Sphere.hpp
|
|
sources/Drawables/3D/Triangle.hpp
|
|
sources/Exceptions/RayError.hpp
|
|
sources/Model/Model.hpp
|
|
sources/Model/ModelAnimation.hpp
|
|
sources/Model/ModelAnimations.hpp
|
|
sources/Vector/Vector2.hpp
|
|
sources/Vector/Vector3.hpp
|
|
sources/Utils/Cache.hpp
|
|
sources/Meshes/AMesh.hpp
|
|
sources/Meshes/MeshSphere.hpp
|
|
sources/Shaders/Shaders.hpp
|
|
)
|
|
|
|
set(SRC
|
|
sources/Color.cpp
|
|
sources/Font.cpp
|
|
sources/TraceLog.cpp
|
|
sources/Window.cpp
|
|
sources/Audio/Music.cpp
|
|
sources/Audio/Sound.cpp
|
|
sources/Camera/Camera2D.cpp
|
|
sources/Camera/Camera3D.cpp
|
|
sources/Controllers/Gamepad.cpp
|
|
sources/Controllers/Keyboard.cpp
|
|
sources/Controllers/Mouse.cpp
|
|
sources/Drawables/2D/Circle.cpp
|
|
sources/Drawables/2D/Line.cpp
|
|
sources/Drawables/2D/Point.cpp
|
|
sources/Drawables/2D/Rectangle.cpp
|
|
sources/Drawables/2D/Text.cpp
|
|
sources/Drawables/2D/Triangle.cpp
|
|
sources/Drawables/3D/Circle.cpp
|
|
sources/Drawables/3D/Cube.cpp
|
|
sources/Drawables/3D/Cylinder.cpp
|
|
sources/Drawables/3D/Grid.cpp
|
|
sources/Drawables/3D/Line.cpp
|
|
sources/Drawables/3D/Plane.cpp
|
|
sources/Drawables/3D/Point.cpp
|
|
sources/Drawables/3D/Ray.cpp
|
|
sources/Drawables/3D/Sphere.cpp
|
|
sources/Drawables/3D/Triangle.cpp
|
|
sources/Drawables/ADrawable2D.cpp
|
|
sources/Drawables/ADrawable3D.cpp
|
|
sources/Drawables/Image.cpp
|
|
sources/Drawables/Texture.cpp
|
|
sources/Exceptions/RayError.cpp
|
|
sources/Model/Model.cpp
|
|
sources/Model/ModelAnimation.cpp
|
|
sources/Model/ModelAnimations.cpp
|
|
sources/Vector/Vector2.cpp
|
|
sources/Vector/Vector3.cpp
|
|
sources/Shaders/Shaders.cpp
|
|
sources/Meshes/MeshSphere.cpp
|
|
sources/Meshes/AMesh.cpp
|
|
)
|
|
|
|
find_package(raylib QUIET)
|
|
if (NOT raylib_FOUND)
|
|
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../raylib)
|
|
find_package(raylib REQUIRED)
|
|
endif()
|
|
|
|
add_library(${LIB_NAME} STATIC ${SRC} ${HEADERS})
|
|
target_compile_definitions(${LIB_NAME} INTERFACE INTERNAL=private PRIVATE INTERNAL=public)
|
|
target_link_libraries(${LIB_NAME} raylib)
|