glm/cci.20230113

OpenGL Mathematics (GLM)
Recipe info
2023-11-20

Available packages
Header Only

Install
Add the following line to your conanfile.txt:
[requires]
glm/cci.20230113

Using glm

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
glm/cci.20230113
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("glm/cci.20230113")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): glm
  • CMake target name(s): glm::glm
  • pkg-config file name(s): glm.pc

A simple use case using the CMake file name and the global target:

# ...
find_package(glm REQUIRED)
# ...
target_link_libraries(YOUR_TARGET glm::glm)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the glm homepage listed above:

#include "glm/common.hpp"
#include "glm/detail/_features.hpp"
#include "glm/detail/_fixes.hpp"
#include "glm/detail/_noise.hpp"
#include "glm/detail/_swizzle.hpp"
#include "glm/detail/_swizzle_func.hpp"
#include "glm/detail/_vectorize.hpp"
#include "glm/detail/compute_common.hpp"
#include "glm/detail/compute_vector_relational.hpp"
#include "glm/detail/func_common.inl"
#include "glm/detail/func_common_simd.inl"
#include "glm/detail/func_exponential.inl"
#include "glm/detail/func_exponential_simd.inl"
#include "glm/detail/func_geometric.inl"
#include "glm/detail/func_geometric_simd.inl"
#include "glm/detail/func_integer.inl"
#include "glm/detail/func_integer_simd.inl"
#include "glm/detail/func_matrix.inl"
#include "glm/detail/func_matrix_simd.inl"
#include "glm/detail/func_packing.inl"
#include "glm/detail/func_packing_simd.inl"
#include "glm/detail/func_trigonometric.inl"
#include "glm/detail/func_trigonometric_simd.inl"
#include "glm/detail/func_vector_relational.inl"
#include "glm/detail/func_vector_relational_simd.inl"
#include "glm/detail/qualifier.hpp"
#include "glm/detail/setup.hpp"
#include "glm/detail/type_float.hpp"
#include "glm/detail/type_half.hpp"
#include "glm/detail/type_half.inl"
#include "glm/detail/type_mat2x2.hpp"
#include "glm/detail/type_mat2x2.inl"
#include "glm/detail/type_mat2x3.hpp"
#include "glm/detail/type_mat2x3.inl"
#include "glm/detail/type_mat2x4.hpp"
#include "glm/detail/type_mat2x4.inl"
#include "glm/detail/type_mat3x2.hpp"
#include "glm/detail/type_mat3x2.inl"
#include "glm/detail/type_mat3x3.hpp"
#include "glm/detail/type_mat3x3.inl"
#include "glm/detail/type_mat3x4.hpp"
#include "glm/detail/type_mat3x4.inl"
#include "glm/detail/type_mat4x2.hpp"
#include "glm/detail/type_mat4x2.inl"
#include "glm/detail/type_mat4x3.hpp"
#include "glm/detail/type_mat4x3.inl"
#include "glm/detail/type_mat4x4.hpp"
#include "glm/detail/type_mat4x4.inl"
#include "glm/detail/type_mat4x4_simd.inl"
#include "glm/detail/type_quat.hpp"
#include "glm/detail/type_quat.inl"
#include "glm/detail/type_quat_simd.inl"
#include "glm/detail/type_vec1.hpp"
#include "glm/detail/type_vec1.inl"
#include "glm/detail/type_vec2.hpp"
#include "glm/detail/type_vec2.inl"
#include "glm/detail/type_vec3.hpp"
#include "glm/detail/type_vec3.inl"
#include "glm/detail/type_vec4.hpp"
#include "glm/detail/type_vec4.inl"
#include "glm/detail/type_vec4_simd.inl"
#include "glm/exponential.hpp"
#include "glm/ext.hpp"
#include "glm/ext/_matrix_vectorize.hpp"
#include "glm/ext/matrix_clip_space.hpp"
#include "glm/ext/matrix_clip_space.inl"
#include "glm/ext/matrix_common.hpp"
#include "glm/ext/matrix_common.inl"
#include "glm/ext/matrix_double2x2.hpp"
#include "glm/ext/matrix_double2x2_precision.hpp"
#include "glm/ext/matrix_double2x3.hpp"
#include "glm/ext/matrix_double2x3_precision.hpp"
#include "glm/ext/matrix_double2x4.hpp"
#include "glm/ext/matrix_double2x4_precision.hpp"
#include "glm/ext/matrix_double3x2.hpp"
#include "glm/ext/matrix_double3x2_precision.hpp"
#include "glm/ext/matrix_double3x3.hpp"
#include "glm/ext/matrix_double3x3_precision.hpp"
#include "glm/ext/matrix_double3x4.hpp"
#include "glm/ext/matrix_double3x4_precision.hpp"
#include "glm/ext/matrix_double4x2.hpp"
#include "glm/ext/matrix_double4x2_precision.hpp"
#include "glm/ext/matrix_double4x3.hpp"
#include "glm/ext/matrix_double4x3_precision.hpp"
#include "glm/ext/matrix_double4x4.hpp"
#include "glm/ext/matrix_double4x4_precision.hpp"
#include "glm/ext/matrix_float2x2.hpp"
#include "glm/ext/matrix_float2x2_precision.hpp"
#include "glm/ext/matrix_float2x3.hpp"
#include "glm/ext/matrix_float2x3_precision.hpp"
#include "glm/ext/matrix_float2x4.hpp"
#include "glm/ext/matrix_float2x4_precision.hpp"
#include "glm/ext/matrix_float3x2.hpp"
#include "glm/ext/matrix_float3x2_precision.hpp"
#include "glm/ext/matrix_float3x3.hpp"
#include "glm/ext/matrix_float3x3_precision.hpp"
#include "glm/ext/matrix_float3x4.hpp"
#include "glm/ext/matrix_float3x4_precision.hpp"
#include "glm/ext/matrix_float4x2.hpp"
#include "glm/ext/matrix_float4x2_precision.hpp"
#include "glm/ext/matrix_float4x3.hpp"
#include "glm/ext/matrix_float4x3_precision.hpp"
#include "glm/ext/matrix_float4x4.hpp"
#include "glm/ext/matrix_float4x4_precision.hpp"
#include "glm/ext/matrix_int2x2.hpp"
#include "glm/ext/matrix_int2x2_sized.hpp"
#include "glm/ext/matrix_int2x3.hpp"
#include "glm/ext/matrix_int2x3_sized.hpp"
#include "glm/ext/matrix_int2x4.hpp"
#include "glm/ext/matrix_int2x4_sized.hpp"
#include "glm/ext/matrix_int3x2.hpp"
#include "glm/ext/matrix_int3x2_sized.hpp"
#include "glm/ext/matrix_int3x3.hpp"
#include "glm/ext/matrix_int3x3_sized.hpp"
#include "glm/ext/matrix_int3x4.hpp"
#include "glm/ext/matrix_int3x4_sized.hpp"
#include "glm/ext/matrix_int4x2.hpp"
#include "glm/ext/matrix_int4x2_sized.hpp"
#include "glm/ext/matrix_int4x3.hpp"
#include "glm/ext/matrix_int4x3_sized.hpp"
#include "glm/ext/matrix_int4x4.hpp"
#include "glm/ext/matrix_int4x4_sized.hpp"
#include "glm/ext/matrix_integer.hpp"
#include "glm/ext/matrix_integer.inl"
#include "glm/ext/matrix_projection.hpp"
#include "glm/ext/matrix_projection.inl"
#include "glm/ext/matrix_relational.hpp"
#include "glm/ext/matrix_relational.inl"
#include "glm/ext/matrix_transform.hpp"
#include "glm/ext/matrix_transform.inl"
#include "glm/ext/matrix_uint2x2.hpp"
#include "glm/ext/matrix_uint2x2_sized.hpp"
#include "glm/ext/matrix_uint2x3.hpp"
#include "glm/ext/matrix_uint2x3_sized.hpp"
#include "glm/ext/matrix_uint2x4.hpp"
#include "glm/ext/matrix_uint2x4_sized.hpp"
#include "glm/ext/matrix_uint3x2.hpp"
#include "glm/ext/matrix_uint3x2_sized.hpp"
#include "glm/ext/matrix_uint3x3.hpp"
#include "glm/ext/matrix_uint3x3_sized.hpp"
#include "glm/ext/matrix_uint3x4.hpp"
#include "glm/ext/matrix_uint3x4_sized.hpp"
#include "glm/ext/matrix_uint4x2.hpp"
#include "glm/ext/matrix_uint4x2_sized.hpp"
#include "glm/ext/matrix_uint4x3.hpp"
#include "glm/ext/matrix_uint4x3_sized.hpp"
#include "glm/ext/matrix_uint4x4.hpp"
#include "glm/ext/matrix_uint4x4_sized.hpp"
#include "glm/ext/quaternion_common.hpp"
#include "glm/ext/quaternion_common.inl"
#include "glm/ext/quaternion_common_simd.inl"
#include "glm/ext/quaternion_double.hpp"
#include "glm/ext/quaternion_double_precision.hpp"
#include "glm/ext/quaternion_exponential.hpp"
#include "glm/ext/quaternion_exponential.inl"
#include "glm/ext/quaternion_float.hpp"
#include "glm/ext/quaternion_float_precision.hpp"
#include "glm/ext/quaternion_geometric.hpp"
#include "glm/ext/quaternion_geometric.inl"
#include "glm/ext/quaternion_relational.hpp"
#include "glm/ext/quaternion_relational.inl"
#include "glm/ext/quaternion_transform.hpp"
#include "glm/ext/quaternion_transform.inl"
#include "glm/ext/quaternion_trigonometric.hpp"
#include "glm/ext/quaternion_trigonometric.inl"
#include "glm/ext/scalar_common.hpp"
#include "glm/ext/scalar_common.inl"
#include "glm/ext/scalar_constants.hpp"
#include "glm/ext/scalar_constants.inl"
#include "glm/ext/scalar_int_sized.hpp"
#include "glm/ext/scalar_integer.hpp"
#include "glm/ext/scalar_integer.inl"
#include "glm/ext/scalar_packing.hpp"
#include "glm/ext/scalar_packing.inl"
#include "glm/ext/scalar_reciprocal.hpp"
#include "glm/ext/scalar_reciprocal.inl"
#include "glm/ext/scalar_relational.hpp"
#include "glm/ext/scalar_relational.inl"
#include "glm/ext/scalar_uint_sized.hpp"
#include "glm/ext/scalar_ulp.hpp"
#include "glm/ext/scalar_ulp.inl"
#include "glm/ext/vector_bool1.hpp"
#include "glm/ext/vector_bool1_precision.hpp"
#include "glm/ext/vector_bool2.hpp"
#include "glm/ext/vector_bool2_precision.hpp"
#include "glm/ext/vector_bool3.hpp"
#include "glm/ext/vector_bool3_precision.hpp"
#include "glm/ext/vector_bool4.hpp"
#include "glm/ext/vector_bool4_precision.hpp"
#include "glm/ext/vector_common.hpp"
#include "glm/ext/vector_common.inl"
#include "glm/ext/vector_double1.hpp"
#include "glm/ext/vector_double1_precision.hpp"
#include "glm/ext/vector_double2.hpp"
#include "glm/ext/vector_double2_precision.hpp"
#include "glm/ext/vector_double3.hpp"
#include "glm/ext/vector_double3_precision.hpp"
#include "glm/ext/vector_double4.hpp"
#include "glm/ext/vector_double4_precision.hpp"
#include "glm/ext/vector_float1.hpp"
#include "glm/ext/vector_float1_precision.hpp"
#include "glm/ext/vector_float2.hpp"
#include "glm/ext/vector_float2_precision.hpp"
#include "glm/ext/vector_float3.hpp"
#include "glm/ext/vector_float3_precision.hpp"
#include "glm/ext/vector_float4.hpp"
#include "glm/ext/vector_float4_precision.hpp"
#include "glm/ext/vector_int1.hpp"
#include "glm/ext/vector_int1_sized.hpp"
#include "glm/ext/vector_int2.hpp"
#include "glm/ext/vector_int2_sized.hpp"
#include "glm/ext/vector_int3.hpp"
#include "glm/ext/vector_int3_sized.hpp"
#include "glm/ext/vector_int4.hpp"
#include "glm/ext/vector_int4_sized.hpp"
#include "glm/ext/vector_integer.hpp"
#include "glm/ext/vector_integer.inl"
#include "glm/ext/vector_packing.hpp"
#include "glm/ext/vector_packing.inl"
#include "glm/ext/vector_reciprocal.hpp"
#include "glm/ext/vector_reciprocal.inl"
#include "glm/ext/vector_relational.hpp"
#include "glm/ext/vector_relational.inl"
#include "glm/ext/vector_uint1.hpp"
#include "glm/ext/vector_uint1_sized.hpp"
#include "glm/ext/vector_uint2.hpp"
#include "glm/ext/vector_uint2_sized.hpp"
#include "glm/ext/vector_uint3.hpp"
#include "glm/ext/vector_uint3_sized.hpp"
#include "glm/ext/vector_uint4.hpp"
#include "glm/ext/vector_uint4_sized.hpp"
#include "glm/ext/vector_ulp.hpp"
#include "glm/ext/vector_ulp.inl"
#include "glm/fwd.hpp"
#include "glm/geometric.hpp"
#include "glm/glm.hpp"
#include "glm/gtc/bitfield.hpp"
#include "glm/gtc/bitfield.inl"
#include "glm/gtc/color_space.hpp"
#include "glm/gtc/color_space.inl"
#include "glm/gtc/constants.hpp"
#include "glm/gtc/constants.inl"
#include "glm/gtc/epsilon.hpp"
#include "glm/gtc/epsilon.inl"
#include "glm/gtc/integer.hpp"
#include "glm/gtc/integer.inl"
#include "glm/gtc/matrix_access.hpp"
#include "glm/gtc/matrix_access.inl"
#include "glm/gtc/matrix_integer.hpp"
#include "glm/gtc/matrix_inverse.hpp"
#include "glm/gtc/matrix_inverse.inl"
#include "glm/gtc/matrix_transform.hpp"
#include "glm/gtc/matrix_transform.inl"
#include "glm/gtc/noise.hpp"
#include "glm/gtc/noise.inl"
#include "glm/gtc/packing.hpp"
#include "glm/gtc/packing.inl"
#include "glm/gtc/quaternion.hpp"
#include "glm/gtc/quaternion.inl"
#include "glm/gtc/quaternion_simd.inl"
#include "glm/gtc/random.hpp"
#include "glm/gtc/random.inl"
#include "glm/gtc/reciprocal.hpp"
#include "glm/gtc/round.hpp"
#include "glm/gtc/round.inl"
#include "glm/gtc/type_aligned.hpp"
#include "glm/gtc/type_precision.hpp"
#include "glm/gtc/type_precision.inl"
#include "glm/gtc/type_ptr.hpp"
#include "glm/gtc/type_ptr.inl"
#include "glm/gtc/ulp.hpp"
#include "glm/gtc/ulp.inl"
#include "glm/gtc/vec1.hpp"
#include "glm/gtx/associated_min_max.hpp"
#include "glm/gtx/associated_min_max.inl"
#include "glm/gtx/bit.hpp"
#include "glm/gtx/bit.inl"
#include "glm/gtx/closest_point.hpp"
#include "glm/gtx/closest_point.inl"
#include "glm/gtx/color_encoding.hpp"
#include "glm/gtx/color_encoding.inl"
#include "glm/gtx/color_space.hpp"
#include "glm/gtx/color_space.inl"
#include "glm/gtx/color_space_YCoCg.hpp"
#include "glm/gtx/color_space_YCoCg.inl"
#include "glm/gtx/common.hpp"
#include "glm/gtx/common.inl"
#include "glm/gtx/compatibility.hpp"
#include "glm/gtx/compatibility.inl"
#include "glm/gtx/component_wise.hpp"
#include "glm/gtx/component_wise.inl"
#include "glm/gtx/dual_quaternion.hpp"
#include "glm/gtx/dual_quaternion.inl"
#include "glm/gtx/easing.hpp"
#include "glm/gtx/easing.inl"
#include "glm/gtx/euler_angles.hpp"
#include "glm/gtx/euler_angles.inl"
#include "glm/gtx/extend.hpp"
#include "glm/gtx/extend.inl"
#include "glm/gtx/extended_min_max.hpp"
#include "glm/gtx/extended_min_max.inl"
#include "glm/gtx/exterior_product.hpp"
#include "glm/gtx/exterior_product.inl"
#include "glm/gtx/fast_exponential.hpp"
#include "glm/gtx/fast_exponential.inl"
#include "glm/gtx/fast_square_root.hpp"
#include "glm/gtx/fast_square_root.inl"
#include "glm/gtx/fast_trigonometry.hpp"
#include "glm/gtx/fast_trigonometry.inl"
#include "glm/gtx/float_notmalize.inl"
#include "glm/gtx/functions.hpp"
#include "glm/gtx/functions.inl"
#include "glm/gtx/gradient_paint.hpp"
#include "glm/gtx/gradient_paint.inl"
#include "glm/gtx/handed_coordinate_space.hpp"
#include "glm/gtx/handed_coordinate_space.inl"
#include "glm/gtx/hash.hpp"
#include "glm/gtx/hash.inl"
#include "glm/gtx/integer.hpp"
#include "glm/gtx/integer.inl"
#include "glm/gtx/intersect.hpp"
#include "glm/gtx/intersect.inl"
#include "glm/gtx/io.hpp"
#include "glm/gtx/io.inl"
#include "glm/gtx/log_base.hpp"
#include "glm/gtx/log_base.inl"
#include "glm/gtx/matrix_cross_product.hpp"
#include "glm/gtx/matrix_cross_product.inl"
#include "glm/gtx/matrix_decompose.hpp"
#include "glm/gtx/matrix_decompose.inl"
#include "glm/gtx/matrix_factorisation.hpp"
#include "glm/gtx/matrix_factorisation.inl"
#include "glm/gtx/matrix_interpolation.hpp"
#include "glm/gtx/matrix_interpolation.inl"
#include "glm/gtx/matrix_major_storage.hpp"
#include "glm/gtx/matrix_major_storage.inl"
#include "glm/gtx/matrix_operation.hpp"
#include "glm/gtx/matrix_operation.inl"
#include "glm/gtx/matrix_query.hpp"
#include "glm/gtx/matrix_query.inl"
#include "glm/gtx/matrix_transform_2d.hpp"
#include "glm/gtx/matrix_transform_2d.inl"
#include "glm/gtx/mixed_product.hpp"
#include "glm/gtx/mixed_product.inl"
#include "glm/gtx/norm.hpp"
#include "glm/gtx/norm.inl"
#include "glm/gtx/normal.hpp"
#include "glm/gtx/normal.inl"
#include "glm/gtx/normalize_dot.hpp"
#include "glm/gtx/normalize_dot.inl"
#include "glm/gtx/number_precision.hpp"
#include "glm/gtx/number_precision.inl"
#include "glm/gtx/optimum_pow.hpp"
#include "glm/gtx/optimum_pow.inl"
#include "glm/gtx/orthonormalize.hpp"
#include "glm/gtx/orthonormalize.inl"
#include "glm/gtx/pca.hpp"
#include "glm/gtx/pca.inl"
#include "glm/gtx/perpendicular.hpp"
#include "glm/gtx/perpendicular.inl"
#include "glm/gtx/polar_coordinates.hpp"
#include "glm/gtx/polar_coordinates.inl"
#include "glm/gtx/projection.hpp"
#include "glm/gtx/projection.inl"
#include "glm/gtx/quaternion.hpp"
#include "glm/gtx/quaternion.inl"
#include "glm/gtx/range.hpp"
#include "glm/gtx/raw_data.hpp"
#include "glm/gtx/raw_data.inl"
#include "glm/gtx/rotate_normalized_axis.hpp"
#include "glm/gtx/rotate_normalized_axis.inl"
#include "glm/gtx/rotate_vector.hpp"
#include "glm/gtx/rotate_vector.inl"
#include "glm/gtx/scalar_multiplication.hpp"
#include "glm/gtx/scalar_relational.hpp"
#include "glm/gtx/scalar_relational.inl"
#include "glm/gtx/spline.hpp"
#include "glm/gtx/spline.inl"
#include "glm/gtx/std_based_type.hpp"
#include "glm/gtx/std_based_type.inl"
#include "glm/gtx/string_cast.hpp"
#include "glm/gtx/string_cast.inl"
#include "glm/gtx/texture.hpp"
#include "glm/gtx/texture.inl"
#include "glm/gtx/transform.hpp"
#include "glm/gtx/transform.inl"
#include "glm/gtx/transform2.hpp"
#include "glm/gtx/transform2.inl"
#include "glm/gtx/type_aligned.hpp"
#include "glm/gtx/type_aligned.inl"
#include "glm/gtx/type_trait.hpp"
#include "glm/gtx/type_trait.inl"
#include "glm/gtx/vec_swizzle.hpp"
#include "glm/gtx/vector_angle.hpp"
#include "glm/gtx/vector_angle.inl"
#include "glm/gtx/vector_query.hpp"
#include "glm/gtx/vector_query.inl"
#include "glm/gtx/wrap.hpp"
#include "glm/gtx/wrap.inl"
#include "glm/integer.hpp"
#include "glm/mat2x2.hpp"
#include "glm/mat2x3.hpp"
#include "glm/mat2x4.hpp"
#include "glm/mat3x2.hpp"
#include "glm/mat3x3.hpp"
#include "glm/mat3x4.hpp"
#include "glm/mat4x2.hpp"
#include "glm/mat4x3.hpp"
#include "glm/mat4x4.hpp"
#include "glm/matrix.hpp"
#include "glm/packing.hpp"
#include "glm/simd/common.h"
#include "glm/simd/exponential.h"
#include "glm/simd/geometric.h"
#include "glm/simd/integer.h"
#include "glm/simd/matrix.h"
#include "glm/simd/neon.h"
#include "glm/simd/packing.h"
#include "glm/simd/platform.h"
#include "glm/simd/trigonometric.h"
#include "glm/simd/vector_relational.h"
#include "glm/trigonometric.hpp"
#include "glm/vec2.hpp"
#include "glm/vec3.hpp"
#include "glm/vec4.hpp"
#include "glm/vector_relational.hpp"