# SPDX-License-Identifier: GPL-3.0-or-later
#
# MaNGOS is a full featured server for World of Warcraft, supporting
# the following clients: 1.12.x, 2.4.3, 3.3.5a, 4.3.4a and 5.4.8
#
# Copyright (C) 2005-2026 MaNGOS <https://www.getmangos.eu>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.

# =============================================================================
# geometry -- vectors, matrices, quaternions and the collision primitives.
#
# Header-only and at the bottom of the dependency graph: it knows nothing about
# WoW, about any client version, or about the server. Everything may depend on
# it; it depends on nothing but the standard library.
# =============================================================================

add_library(geometry INTERFACE)

target_sources(geometry
    INTERFACE
        ${CMAKE_CURRENT_SOURCE_DIR}/Frame.h
        ${CMAKE_CURRENT_SOURCE_DIR}/GeometryMath.h
        ${CMAKE_CURRENT_SOURCE_DIR}/Matrix4.h
        ${CMAKE_CURRENT_SOURCE_DIR}/Placement.h
        ${CMAKE_CURRENT_SOURCE_DIR}/Quat.h
        ${CMAKE_CURRENT_SOURCE_DIR}/Shapes.h
        ${CMAKE_CURRENT_SOURCE_DIR}/Vector2.h
        ${CMAKE_CURRENT_SOURCE_DIR}/Vector3.h
        ${CMAKE_CURRENT_SOURCE_DIR}/Vector4.h
)

# Consumers spell it #include "Geometry/Vector3.h", so the root is src/shared.
target_include_directories(geometry
    INTERFACE
        ${CMAKE_CURRENT_SOURCE_DIR}/..
)
