summaryrefslogtreecommitdiff
path: root/indra
AgeCommit message (Collapse)Author
2024-08-13CMake file & try_compile replacing execute_processErik Kundiman
file(DOWNLOAD) replacing execute_process(COMMAND curl), file(ARCHIVE_EXTRACT) replacing execute_process(COMMAND tar xf), file(MAKE_DIRECTORY) replacing execute_process(COMMAND mkdir -p), file(COPY) replacing execute_process(COMMAND cp), file(RENAME) replacing execute_process(COMMAND mv), try_compile replacing execute_process(COMMAND cmake/make), LIBS_PREBUILT_DIR replacing AUTOBUILD_INSTALL_DIR, 0 replacing ${${_binary}_installed} where appropriate, no FMOD reinstallation when it's already installed, and archives & unarchived source/build directories are in CMake root binary directory, instead of /tmp. SHOW_PROGRESS is on for downloading Dullahan from the Megapahit website cause it can be slow.
2024-08-13Automatic NanoSVG download/install on macOS/DebianErik Kundiman
2024-08-12Automatic XMLRPC-EPI Mac download, build & installErik Kundiman
When linking to the static archive on arm64, it would fail with an error of undefined iconv symbols. When linking to the dynamic library, the path was to the dynamic library was still assumed to still be in /usr/local/lib, so specifically for the executable target, this needs to be changed (temporarily) to the one in the prebuilt directory first, to later be changed again by fixup_bundle to the bundled one in Frameworks.
2024-08-12Automatically lipo -thin libfmod.dylibErik Kundiman
2024-08-12Right WORKING_DIRECTORY values to shorten pathsErik Kundiman
2024-08-12Remove unarchived dependencies after config/buildErik Kundiman
also fix ${_binary} to its intended fmodstudio name.
2024-08-12Remove unnecessary LINUX condition in Fedora testErik Kundiman
2024-08-12Don't redownload sse2neon if already installedErik Kundiman
2024-08-12Download & install aren't redone when installedErik Kundiman
by making sure we *write* the _installed files (containing the value 0).
2024-08-12Download VLC dmg automaticallyErik Kundiman
and building only for one architecture at a time is the one supported now.
2024-08-12Automatic OpenJPEG download, configure & installErik Kundiman
2024-08-11Dullahan x86-64 built with minimum macOS 10.15Erik Kundiman
LL's build seems to have a minimum macOS of 13.3.
2024-08-11Minimise UnixInstall.cmake difference from SLv'sErik Kundiman
The variables set in this file are used only in llfilesystem/CMakeLists.txt, and only used within a Linux (& FreeBSD) section, which then later used in llfilesystem/lldir_linux.cpp, so Darwin doesn't need these variables set specifically for it.
2024-08-11CPACK_DEBIAN_PACKAGE_DEPENDS are in CMakeLists nowErik Kundiman
and can be differentiated across different distros, even though there are only stable/LTS Debian and Ubuntu for now.
2024-08-11Rearrange CPack settings & contributors generationErik Kundiman
where they belong in newview/CMakeLists.txt.
2024-08-11Linux distro & logical cores queries are sharedErik Kundiman
by moving them to Variables.cmake so they can be reused throughout all CMake files.
2024-08-10Bring back Meshoptimizer linking to FBSD & DebianErik Kundiman
and Ubuntu. find_package(meshoptimizer) didn't imply its target_link_libraries.
2024-08-10Fix Meshoptimizer CMAKE_OSX_ARCHITECTURES valueErik Kundiman
It is decided that on x86-64, it's compiled too instead of using LL's (old) prebuilt libmeshoptimizer.a.
2024-08-10Make sure APP_SHARE_DIR is valued in llfilesystemErik Kundiman
otherwise the app would crash on GNU/Linux or BSD for missing the share directory prefix, unless cmake is run twice like before just so APP_SHARE_DIR is picked up but we don't want to have to run it twice.
2024-08-10Automatic dullahan_host runpath removal on FedoraErik Kundiman
2024-08-10No Meshoptimizer macOS install name change or linkErik Kundiman
since the app links to Meshoptimizer statically now on macOS.
2024-08-10Automatic Meshoptimizer download, build & installErik Kundiman
on macOS and Fedora.
2024-08-10Fix 7c716d6d516f99628655352a0e679455263924e2 logicsErik Kundiman
2024-08-09Set most CPACK variables before including CPackErik Kundiman
so that we don't have to run cmake twice just to pick up those variables.
2024-08-09Download sse2neon.h automaticallyErik Kundiman
2024-08-09Download Dullahan macOS arm64 only if it hasn'tErik Kundiman
2024-08-09Automatically download and install DullahanErik Kundiman
For now it still downloads even though the builder has downloaded the files before. You could temporarily comment out the relevant use_prebuilt_binary calls to skip all the re-downloads and re-installs.
2024-08-08Install GLH, Mikktspace, TinyEXR, TinyGLTF & LLCAErik Kundiman
automatically. Fix tab to spaces too.
2024-08-08Long parameters go into new lines in FMOD CMakeErik Kundiman
2024-08-08Make sure lib/release exists before copying FMODErik Kundiman
Since llaudio is configured before any other LL library, FMOD gets to be checked first that has a binary library.
2024-08-08FreeBSD uses linux64 package when it's commonErik Kundiman
For example, emoji_shortcodes, it's actually common, not a platform specific binary, so it can be used by FBSD as well.
2024-08-08Automate viewer fonts & emoji shortcodes installErik Kundiman
Also minimise ViewerMiscLibs.cmake diff from upstream.
2024-08-08Alternative to Autobuild-based use_prebuilt_binaryErik Kundiman
It still parses autobuild.xml, but using `xmllint --xpath`. It searches for the "common" version of the package first, if not found then it searches for the platform specific version. The URL parsed is then fed to cURL, determining our own output file name (since I couldn't find a way to extract remote file name easily using cURL) assuming the ones we need all have tar.zst extension now. It downloads to /tmp and finally extracts to packages.
2024-08-08Fix glext header inclusion on macOSErik Kundiman
Somehow it hasn't led to an error on my and observeur's systems. It should have had, really.
2024-08-08Install FMOD 2.03.02 automatically on GNU/LinuxErik Kundiman
2024-08-07megapahit tuning : return of the smoothiemobserveur
This commit reintroduces the meapahit specic optimisations while maintaining an option for the LL vertex buffer optimisation mode.
2024-08-07Open VLC dmg automaticallyErik Kundiman
It's assumed any relevant VLC dmg has been downloaded to ~/Downloads/.
2024-08-07Install FMOD automatically on macOSErik Kundiman
It's assumed that fmodstudioapi20223mac-installer.dmg has been downloaded to ~/Downloads/.
2024-08-07No need for custom target to generate contributorsErik Kundiman
The code is also moved to where it's relevant.
2024-08-07Generate InfoPlist.stringsErik Kundiman
It didn't work before because the destination folder wouldn't exist yet by the time it's configured, but CMake has been silent about it.
2024-08-07Install macOS executable without `make install`Erik Kundiman
Somehow the MACOSX_BUNDLE in add_executable isn't taking effect.
2024-08-06Attempt to fix the teleport issue from legacy searchmobserveur
This commit attempts to fix an a crash occuring when using the teleport button in the legacy search floater.
2024-08-05Simplify, reindent and minimise difference from LLErik Kundiman
This also contains removal of commented out lines that had previously been used to get macOS using SDL2 instead of Cocoa, and removal of dependency on SLPlugin when no media plugins are enabled (at all).
2024-08-03Adjust release notes URL (ending up like SLv's)Erik Kundiman
since I haven't been able to build the WebAssembly website again caused by its FreeType port's failure to link.
2024-08-03Revert "Build process' set up to link to Boost statically"Erik Kundiman
This reverts commit 9268fdd5b99bb8e426e7c1232916dfd909039f96.
2024-08-02Fix crash when opening map on higher-end Mx CPUsErik Kundiman
There's this comment in indra/llimage/llimagejpeg.cpp: //try/catch will crash on Mac and Linux if LLImageJPEG::errorExit throws an error //so as instead, we use setjmp/longjmp to avoid this crash, which is the best we can get. --bao but setjmp longjmp that aren't properly paired should be avoided on Apple Silicon (there are multiple setjmps but only 1 longjmp) so if it still crashes, then that might be because of the try and catch but if it doesn't crash any more, then the cause might just be improperly paired setjmp and longjmp https://megapahit.com/show_bug.cgi?id=34
2024-07-29Get VLC streaming to work again on macOSErik Kundiman
Somehow it wouldn't work when the libvlc dylibs linked by media_plugin_libvlc were far in Frameworks, even with all the linkages and VLC_PLUGIN_PATH set correctly. Because of this, I had to make the libvlc files redundantly copied (they're under 1 MB so we'll live with it) in llplugin just like upstream for media_plugin_libvlc to link to instead, though it seems the directory name can be anything, so I just let it be "plugins" for installation convenience using CMake. Also now the builder is assumed to not necessarily want VLC.app to be installed in /Applications, though they would need to keep the downloaded VLC disc image open.
2024-07-28Adjust viewer name for when logging the skin usedErik Kundiman
2024-07-28Install plugins somewhere close to libvlc on macOSErik Kundiman
and without having to rename the containing folder. VLC streaming still hasn't worked (it used to) since using fixup_bundle, since switching to FMOD, since switching from SDL to Cocoa, since merging Maintenance B, so still no idea which of these is causing it.
2024-07-28Build process' set up to link to Boost staticallyErik Kundiman
on macOS and at least the one directly. Collada DOM's Boost dependency is still 1.76 in MacPorts' case, and that's why we still have Boost filesystem and system dylibs in Frameworks. On the other hand, the viewer codebase now really depends on newer Boost, in my case I can use MacPorts' 1.81. I had to switch to static because Boost 1.81 filesystem crashed for not finding the implementation of something declared using BOOST_FORCEINLINE in boost/filesystem/path.hpp. I think I know why, now. Cause the filesystem dylib that eventually got installed was the 1.76 one depended on by Collada DOM, so there was a conflict, there. For now the temporary MacPorts solution for this is to install boost181 with -no_static variant (notice the "-" there, so the static libraries are built and installed too). The rest is so hack-ish, I had to manually recreate Boost links pointing to 1.81 ones, only the ones needed, and for the libraries, only the static ones.