diff options
Diffstat (limited to 'meta-oe/recipes-graphics/glm/glm')
6 files changed, 342 insertions, 0 deletions
diff --git a/meta-oe/recipes-graphics/glm/glm/0001-Do-not-use-Werror-with-clang.patch b/meta-oe/recipes-graphics/glm/glm/0001-Do-not-use-Werror-with-clang.patch new file mode 100644 index 0000000000..dee2749898 --- /dev/null +++ b/meta-oe/recipes-graphics/glm/glm/0001-Do-not-use-Werror-with-clang.patch @@ -0,0 +1,32 @@ +From ee405855bca7d6399ff1a1aef952010056c84ff6 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 1 Mar 2023 21:08:09 -0800 +Subject: [PATCH] Do not use -Werror with clang + +Too many warnings to handle for a distro build + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + test/CMakeLists.txt | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index e7f85f19..0b6fd980 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -197,10 +197,6 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + message("GLM: Clang - ${CMAKE_CXX_COMPILER_ID} compiler") + endif() + +- add_compile_options(-Werror -Weverything) +- add_compile_options(-Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-c++11-long-long -Wno-padded -Wno-gnu-anonymous-struct -Wno-nested-anon-types) +- add_compile_options(-Wno-undefined-reinterpret-cast -Wno-sign-conversion -Wno-unused-variable -Wno-missing-prototypes -Wno-unreachable-code -Wno-missing-variable-declarations -Wno-sign-compare -Wno-global-constructors -Wno-unused-macros -Wno-format-nonliteral) +- + elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") + if(NOT GLM_QUIET) + message("GLM: GCC - ${CMAKE_CXX_COMPILER_ID} compiler") +-- +2.39.2 + diff --git a/meta-oe/recipes-graphics/glm/glm/0001-Silence-clang-warnings.patch b/meta-oe/recipes-graphics/glm/glm/0001-Silence-clang-warnings.patch new file mode 100644 index 0000000000..10692dd423 --- /dev/null +++ b/meta-oe/recipes-graphics/glm/glm/0001-Silence-clang-warnings.patch @@ -0,0 +1,145 @@ +From bd9b5060bc3b9581090d44f15b4e236566ea86a6 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 4 Jun 2021 12:57:57 -0700 +Subject: [PATCH] Silence clang warnings + +Fixes +glm/gtc/random.inl:25:17: error: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Werror,-Wimplicit-int-conversion] +| std::rand() % std::numeric_limits<uint8>::max()); +| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +glm/gtc/../ext/quaternion_common.inl:76:87: error: unused parameter 'k' [-Werror,-Wunused-parameter] + GLM_FUNC_QUALIFIER qua<T, Q> slerp(qua<T, Q> const& x, qua<T, Q> const& y, T a, S k) + ^ + +and + +test/gtx/gtx_fast_trigonometry.cpp:135:9: error: variable 'result' set but not used [-Werror,-Wunused-but-set-variable] +| float result = 0.f; +| ^ + +Upstream-Status: Submitted [https://github.com/g-truc/glm/pull/1055] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + glm/ext/quaternion_common.inl | 2 +- + glm/gtc/random.inl | 2 +- + test/gtx/gtx_fast_trigonometry.cpp | 30 ++++++++++++------------------ + 3 files changed, 14 insertions(+), 20 deletions(-) + +--- a/glm/ext/quaternion_common.inl ++++ b/glm/ext/quaternion_common.inl +@@ -104,7 +104,7 @@ namespace glm + { + // Graphics Gems III, page 96 + T angle = acos(cosTheta); +- T phi = angle + k * glm::pi<T>(); ++ T phi = angle + static_cast<T>(k) * glm::pi<T>(); + return (sin(angle - a * phi)* x + sin(a * phi) * z) / sin(angle); + } + } +--- a/test/gtx/gtx_fast_trigonometry.cpp ++++ b/test/gtx/gtx_fast_trigonometry.cpp +@@ -19,15 +19,14 @@ namespace fastCos + { + const float begin = -glm::pi<float>(); + const float end = glm::pi<float>(); +- float result = 0.f; + + const std::clock_t timestamp1 = std::clock(); + for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f) +- result = glm::fastCos(i); ++ glm::fastCos(i); + + const std::clock_t timestamp2 = std::clock(); + for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f) +- result = glm::cos(i); ++ glm::cos(i); + + const std::clock_t timestamp3 = std::clock(); + const std::clock_t time_fast = timestamp2 - timestamp1; +@@ -53,15 +52,14 @@ namespace fastSin + { + const float begin = -glm::pi<float>(); + const float end = glm::pi<float>(); +- float result = 0.f; + + const std::clock_t timestamp1 = std::clock(); + for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f) +- result = glm::fastSin(i); ++ glm::fastSin(i); + + const std::clock_t timestamp2 = std::clock(); + for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f) +- result = glm::sin(i); ++ glm::sin(i); + + const std::clock_t timestamp3 = std::clock(); + const std::clock_t time_fast = timestamp2 - timestamp1; +@@ -79,15 +77,14 @@ namespace fastTan + { + const float begin = -glm::pi<float>(); + const float end = glm::pi<float>(); +- float result = 0.f; + + const std::clock_t timestamp1 = std::clock(); + for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f) +- result = glm::fastTan(i); ++ glm::fastTan(i); + + const std::clock_t timestamp2 = std::clock(); + for (float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f) +- result = glm::tan(i); ++ glm::tan(i); + + const std::clock_t timestamp3 = std::clock(); + const std::clock_t time_fast = timestamp2 - timestamp1; +@@ -105,15 +102,14 @@ namespace fastAcos + { + const float begin = -glm::pi<float>(); + const float end = glm::pi<float>(); +- float result = 0.f; + + const std::clock_t timestamp1 = std::clock(); + for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f) +- result = glm::fastAcos(i); ++ glm::fastAcos(i); + + const std::clock_t timestamp2 = std::clock(); + for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f) +- result = glm::acos(i); ++ glm::acos(i); + + const std::clock_t timestamp3 = std::clock(); + const std::clock_t time_fast = timestamp2 - timestamp1; +@@ -132,13 +128,12 @@ namespace fastAsin + { + const float begin = -glm::pi<float>(); + const float end = glm::pi<float>(); +- float result = 0.f; + const std::clock_t timestamp1 = std::clock(); + for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f) +- result = glm::fastAsin(i); ++ glm::fastAsin(i); + const std::clock_t timestamp2 = std::clock(); + for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f) +- result = glm::asin(i); ++ glm::asin(i); + const std::clock_t timestamp3 = std::clock(); + const std::clock_t time_fast = timestamp2 - timestamp1; + const std::clock_t time_default = timestamp3 - timestamp2; +@@ -155,13 +150,12 @@ namespace fastAtan + { + const float begin = -glm::pi<float>(); + const float end = glm::pi<float>(); +- float result = 0.f; + const std::clock_t timestamp1 = std::clock(); + for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f) +- result = glm::fastAtan(i); ++ glm::fastAtan(i); + const std::clock_t timestamp2 = std::clock(); + for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f) +- result = glm::atan(i); ++ glm::atan(i); + const std::clock_t timestamp3 = std::clock(); + const std::clock_t time_fast = timestamp2 - timestamp1; + const std::clock_t time_default = timestamp3 - timestamp2; diff --git a/meta-oe/recipes-graphics/glm/glm/glm.pc.in b/meta-oe/recipes-graphics/glm/glm/glm.pc.in new file mode 100644 index 0000000000..54052e287d --- /dev/null +++ b/meta-oe/recipes-graphics/glm/glm/glm.pc.in @@ -0,0 +1,7 @@ +prefix=/usr +includedir=${prefix}/include + +Name: GLM +Description: OpenGL Mathematics +Version: @VERSION@ +Cflags: -I${includedir} diff --git a/meta-oe/recipes-graphics/glm/glm/glmConfig.cmake.in b/meta-oe/recipes-graphics/glm/glm/glmConfig.cmake.in new file mode 100644 index 0000000000..8ab23a18d7 --- /dev/null +++ b/meta-oe/recipes-graphics/glm/glm/glmConfig.cmake.in @@ -0,0 +1,20 @@ +set(GLM_VERSION "@VERSION@") + + +####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() ####### +get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE) + +macro(set_and_check _var _file) + set(${_var} "${_file}") + if(NOT EXISTS "${_file}") + message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !") + endif() +endmacro() + +#################################################################################### + +set_and_check(GLM_INCLUDE_DIRS "${PACKAGE_PREFIX_DIR}/include") + +if (NOT CMAKE_VERSION VERSION_LESS "3.0") + include("${CMAKE_CURRENT_LIST_DIR}/glmTargets.cmake") +endif() diff --git a/meta-oe/recipes-graphics/glm/glm/glmConfigVersion.cmake.in b/meta-oe/recipes-graphics/glm/glm/glmConfigVersion.cmake.in new file mode 100644 index 0000000000..561a0db61f --- /dev/null +++ b/meta-oe/recipes-graphics/glm/glm/glmConfigVersion.cmake.in @@ -0,0 +1,31 @@ +# This is a basic version file for the Config-mode of find_package(). +# It is used by write_basic_package_version_file() as input file for configure_file() +# to create a version-file which can be installed along a config.cmake file. +# +# The created file sets PACKAGE_VERSION_EXACT if the current version string and +# the requested version string are exactly the same and it sets +# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. +# The variable CVF_VERSION must be set before calling configure_file(). + +set(PACKAGE_VERSION "@VERSION@") + +if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) + set(PACKAGE_VERSION_COMPATIBLE FALSE) +else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) + set(PACKAGE_VERSION_EXACT TRUE) + endif() +endif() + +# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: +if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") + return() +endif() + +# check that the installed version has the same 32/64bit-ness as the one which is currently searching: +if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8") + math(EXPR installedBits "8 * 8") + set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") + set(PACKAGE_VERSION_UNSUITABLE FALSE) +endif() diff --git a/meta-oe/recipes-graphics/glm/glm/glmTargets.cmake b/meta-oe/recipes-graphics/glm/glm/glmTargets.cmake new file mode 100644 index 0000000000..905b67731b --- /dev/null +++ b/meta-oe/recipes-graphics/glm/glm/glmTargets.cmake @@ -0,0 +1,107 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget glm) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +# Use original install prefix when loaded through a +# cross-prefix symbolic link such as /lib -> /usr/lib. +get_filename_component(_realCurr "${_IMPORT_PREFIX}" REALPATH) +get_filename_component(_realOrig "/usr/lib/cmake/glm" REALPATH) +if(_realCurr STREQUAL _realOrig) + set(_IMPORT_PREFIX "/usr/lib/cmake/glm") +endif() +unset(_realOrig) +unset(_realCurr) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target glm +add_library(glm INTERFACE IMPORTED) + +set_target_properties(glm PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" +) + +if(CMAKE_VERSION VERSION_LESS 3.0.0) + message(FATAL_ERROR "This file relies on consumers using CMake 3.0.0 or greater.") +endif() + +# Load information for each installed configuration. +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +file(GLOB CONFIG_FILES "${_DIR}/glmTargets-*.cmake") +foreach(f ${CONFIG_FILES}) + include(${f}) +endforeach() + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# This file does not depend on other imported targets which have +# been exported from the same project but in a separate export set. + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) |