17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-10-19 08:29:18 +02:00

fix the clang CI build

Every module unit now includes the standard headers it uses. Declarations
reaching a unit only through an imported module's global module fragment
are reachable but not visible, so ADL misses the free operators older
libstdc++ declares beside a type - reproduced on ubuntu 24.04 (libstdc++
13), where gl/vao.cpp could not compare vector iterators.

Also drops a stale editor/editorSettings.hpp from the MSVC source list,
which broke the Windows configure step, silences the deliberate
include-in-purview warning in the glm wrapper, and removes GCC support:
clang or MSVC only.
This commit is contained in:
maj00r
2026-09-09 22:52:28 +02:00
parent f16b5deefb
commit ce5ee288ff
159 changed files with 456 additions and 20 deletions

View File

@@ -40,6 +40,12 @@ export module eu07.glm;
// merge when the same glm declarations arrive from several different modules
// ("conflicting imported declaration" on glm::detail::storage), so glm has to be
// compiled into exactly one module.
// Clang warns that including inside the purview attaches the declarations to
// this module. That is exactly the point here, so silence it for this block.
#ifdef __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Winclude-angled-in-module-purview"
#endif
export {
#include <glm/glm.hpp>
#include <glm/fwd.hpp>
@@ -62,6 +68,9 @@ export {
// call sites of glm::to_string include it in their own module fragment.
#include <glm/gtx/transform.hpp>
}
#ifdef __clang__
#pragma clang diagnostic pop
#endif
export {
// 12-byte vec3 that stays packed regardless of GLM_FORCE_DEFAULT_ALIGNED_GENTYPES.