Files
Bomberman/lib/Ray/CMakeLists.txt
2021-06-17 21:54:54 +02:00

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)