<feed xmlns='http://www.w3.org/2005/Atom'>
<title>viewer.git/indra/cmake/GLM.cmake, branch cef_147</title>
<subtitle>Megapahit's fork of the Second Life viewer.
</subtitle>
<id>https://megapahit.org/viewer.git/atom?h=cef_147</id>
<link rel='self' href='https://megapahit.org/viewer.git/atom?h=cef_147'/>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/'/>
<updated>2026-05-19T11:08:57Z</updated>
<entry>
<title>Ubuntu &amp; openSUSE Tumbleweed can use system GLM now</title>
<updated>2026-05-19T11:08:57Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2026-05-19T11:08:57Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=9fb839403f7b6665a26018e5987aecfc7f0921bc'/>
<id>urn:sha1:9fb839403f7b6665a26018e5987aecfc7f0921bc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Pass configuration phase with vcpkg replacing MSYS2</title>
<updated>2025-05-27T02:01:21Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2025-05-27T02:01:21Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=7ecde89008f9ed39c357b606d3bc231ba4360ee2'/>
<id>urn:sha1:7ecde89008f9ed39c357b606d3bc231ba4360ee2</id>
<content type='text'>
I happen to be using just Git Bash for convenience for running the
commands on the Windows build instructions, hence the build folder
pattern to be ignored from the result of running `uname -s` there.
The instructions omit the part where you install vcpkg and set the
VCPKG_ROOT environment variable, cause it depends on where you install
vcpkg to your liking, but the next commands will rely on that variable
being set correctly.
The CMake used here is MS VS 2022 Community Edition's one, since it will
know where the C++ compiler is.
$VCPKG_ROOT/downloads/tools/msys2/21caed2f81ec917b/mingw64/bin is where
pkg-config.exe can be found.
$VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/tools/libxml2 is
where xmllint.exe can be found (from libxml2[tools]).
PKG_CONFIG_LIBDIR and PYTHON environment settings are pretty
self-explanatory.
The flags set on LL_BUILD are now for Visual C++ and not MinGW(64)'s GCC
or Clang any more, and copied from most of the flags in the variables
file from LL's build-variables repo.
vcpkg's apr &amp; apr-util packages don't seem to install their .pc files,
hence the manual target_include/link_directories/libraries settings,
relying on some automatically generated INTERNAL CMake variable called
prefix_result. vcpkg's Boost needs the same treatment, plus some suffix.
We still use LL's prebuilt libs for OpenSSL, libcurl and WebRTC.
Actually too for ColladaDOM for now, but we prepare Windows ColladaDOM
self-building for later.
For GLM and Meshoptimizer too, it's just the checking that's skipped
otherwise it would fail (but the vcpkg packages can be used).
Visual C++ doesn't recognise the no-deprecated-declarations compile
option.
On Visual C++, the macro to denote x86-64 seems to be _M_X64 (if not
added there, it would try to find sse2neon :))
We still aren't using Autobuild here for Windows either, hence the
FALSE-d viewer_manifest.py based file bundling.
</content>
</entry>
<entry>
<title>Not rely on (LL_)USESYSTEMLIBS macro &amp; CMake setting</title>
<updated>2025-05-13T02:22:54Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2025-05-13T02:22:54Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=f5ab6e11f13699c03a696611f67f8384434130a1'/>
<id>urn:sha1:f5ab6e11f13699c03a696611f67f8384434130a1</id>
<content type='text'>
but the fact that we keep on using as many system libraries as we
can (and only resort to other sources in certain cases), hasn't
changed, of course.
Also stop having to set USE_AUTOBUILD_3P to OFF.
Lines are reindented, and when a system library can be found for
a dependency, then that should be the way. If later we find out
that using some other way is better, than stick to that. So, one
option at a time, whichever is best for the situation.
GLEXT hasn't been used, and in order to be not having to hack its
.cmake file, we bypass it and refer to GLH (which is still used)
right away in LLWindow.
CMake commands that need to be bypassed, if it's a one-liner then
it's just commented out, but if it's multiple lines, then scope
them with if (FALSE) to minimise difference.
</content>
</entry>
<entry>
<title>Fix logics for using prebuilt or system GLM</title>
<updated>2025-04-07T04:09:57Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2025-04-07T03:52:31Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=415bfb74fd52b200f21031e78a4ca9fd5e595978'/>
<id>urn:sha1:415bfb74fd52b200f21031e78a4ca9fd5e595978</id>
<content type='text'>
Since the last merge, the prebuilt version has been used for all
Megapahit platforms, when some should've used the system version instead,
as instructed.
And then, not all Linux distros don't have sufficient version of GLM on
their repos, some do have and have already been instructed to install
system GLM anyway.
So the distros that still have insufficient version of GLM (0.9.9.8
instead of the necessary 1.0.1) are Debian, Ubuntu and openSUSE
Tumbleweed, while other distros and OSes have GLM 1.0.1.
</content>
</entry>
<entry>
<title>Merge branch 'webrtc-voice' into 2024.06-atlasaurus</title>
<updated>2024-08-19T14:35:01Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2024-08-19T12:36:17Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=b7afbe59c42a3e6e92f712153172364f4ebaa5e2'/>
<id>urn:sha1:b7afbe59c42a3e6e92f712153172364f4ebaa5e2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>GLM on GNU/Linux distros aren't updated enough</title>
<updated>2024-07-29T07:29:20Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2024-07-29T07:29:20Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=29526f5307c0035c6b2b9e07266808b91796dc2b'/>
<id>urn:sha1:29526f5307c0035c6b2b9e07266808b91796dc2b</id>
<content type='text'>
The viewer codebase requires GLM 1.0.x, not 0.9.x.
</content>
</entry>
<entry>
<title>Make system GLM found</title>
<updated>2024-07-28T00:26:38Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2024-07-28T00:26:38Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=630a1197d219e57098236913bbd464d6b03f2a6d'/>
<id>urn:sha1:630a1197d219e57098236913bbd464d6b03f2a6d</id>
<content type='text'>
I had to use find_package here directly because somehow our
"different" use_system_binary wouldn't set glm_FOUND to true, even
though CMake found the package.
</content>
</entry>
<entry>
<title>#1392 GLTF Upload (#1394)</title>
<updated>2024-05-20T18:22:55Z</updated>
<author>
<name>Dave Parks</name>
<email>davep@lindenlab.com</email>
</author>
<published>2024-05-20T18:22:55Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=03c4458bdcc6821a3047f93b729d412e274ab9af'/>
<id>urn:sha1:03c4458bdcc6821a3047f93b729d412e274ab9af</id>
<content type='text'>
* #1392 WIP -- Functional texture upload, stubbed out .bin upload.

* #1392 GLTF Upload WIP -- Emulates successful upload

Successfully uploads texture
Emulates successful .gltf and .bin upload by injecting into local asset cache.
Emulates rez from inventory by setting sculpt ID of selected object
Currently fails in tinygltf parsing due to missing .bin

* Add missing notification

* Build fix

* #1392 Add boost::json .gltf reading support.

* #1392 boost::json GLTF writing prototype

* Create gltf/README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* #1392 Add ability to render directly from LL::GLTF::Material

* Fix for mac build

* Mac build fix

* #1392 AssetType and Inventory Type plumbing

* #1392 More sane error handling and scheduling of uploads.

* #1392 Actually attempt to upload glbin

* Mac build fix, upload nudge

* Mac build fix

* Fix glTF asset uploads to server

* Mac build fix (inline not static)

* More consistent inline

* Add glm, mac nudge.

* #1392 For consistency with spec, start using glm over glh:: and LLFoo

* Another attempt at placating Mac builds

* Another Mac nudge

* Mac build take 23

* #1392 Prune LLMatrix4a from GLTF namespace.

* #1392 Fix for orientation being off (glm::quat is wxyz, not xyzw)

* #1392 WIP -- Actually send the sculpt type and id, nudge readme and alpha rendering

* #1392 Working download!

* #1394 Add support for GLTFEnabled SimulatorFeature

* #1392 Review feedback

---------

Co-authored-by: Pepper Linden &lt;3782201+rohvani@users.noreply.github.com&gt;</content>
</entry>
</feed>
