summaryrefslogtreecommitdiff
path: root/README.md
AgeCommit message (Collapse)Author
2025-06-06Enable media plugins on WindowsErik Kundiman
Put the necessary files into place. But, none of them is working just yet.
2025-06-06Make the viewer installable & runnable on WindowsErik Kundiman
Turns out the CMAKE_BUILD_TYPE setting is necessary, otherwise it would be built in RelWithDebInfo configuration. Reorganise the contributors generation and general CPack settings in indra/newview/CMakeLists.txt. Running sed when cross-comping for Linux, on FreeBSD, doesn't need to use Linux's sed, so no need for ${CMAKE_SYSROOT}/usr/bin prefix, this way that section can be reused for Windows. I still couldn't get CPack to make NSIS not use the version numbers as part of the default installation destination. Using TARGETS for installing llwebrtc would cause the .lib to be installed too, which isn't necessary, that's why we use PROGRAMS. contributors.txt still gets generated wrongly. The executable icon is still SL's test icon. ColladaDOM's failure to link to Boost throw_exception, from its use of Boost Regex, is not fixed yet. I got to this stage by temporarily removing the offending lines in daeURI.cpp (which are the lines where Boost Regex is used).
2025-06-04Revert "Use LL's prebuilt Windows Boost for now"Erik Kundiman
This reverts commit 2bf9d234aac30ed4a85282730da0ffc83acf9adf.
2025-06-03Use LL's prebuilt Windows Boost for nowErik Kundiman
I got "definition of dllimport function not allowed" errors when using vcpkg's Boost. Someone else got this problem too: https://github.com/boostorg/serialization/issues/278 Hopefully later we can get back to using vcpkg's Boost.
2025-06-03Instruction for disabling VS fatal warningsErik Kundiman
otherwise we'd have to deal with every warning. Instruction for building from the command line too. Add MSBuild binary directory to PATH, and MSBuild needs its .exe extension typed too for it to be found, unlike other commands such as cmake, vcpkg, pkg-config, and so on. By default, MSBuild builds using the RelWithDebInfo configuration, hence the -p:Configuration parameter to have Release instead. I guess that's why CMake would consider CMAKE_BUILD_TYPE as not being used by the project.
2025-06-01Update openSUSE Tumbleweed readme & cmakelistssecretfoxtail
Update libboost package names.
2025-06-01Add install eselect-repository to Gentoo stepsErik Kundiman
and remove the necessity of using sudo to su on FreeBSD, just like on Gentoo.
2025-05-27Pass configuration phase with vcpkg replacing MSYS2Erik Kundiman
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 & 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.
2025-05-27Add missing FBSD building steps & fix its depsErik Kundiman
Even though the windlight file names containing %20 & %21 isn't liked by either CPack or FBSD packaging problem will eventually have to be solved, the hack steps are small that they should just be documented, in case (more) others would like to build the FBSD package. Use custom PYTHON environment setting instead of relying on creating links named python and/or python 3 to the system Python executable. Reorder build requirements, add missing dependencies that can be set to automatically installed. The absences of some were leftovers from dependency on system ColladaDOM and GTK2 (or my failure to add some package names to the CPack dependencies, caused by the gtk2 vs. gtk20, apr vs. apr1, sdl2 vs. sdl20, etc. FBSD package/port naming confusion).
2025-05-14Revert "Revert to LL's OpenJPEG fork"Erik Kundiman
This reverts commit 3a36cdf6ebd9d2795bdcd14162f38df568d51796.
2025-05-13Not rely on (LL_)USESYSTEMLIBS macro & CMake settingErik Kundiman
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.
2025-04-22Adjust Arch build instruction to have NDOF onErik Kundiman
Our Arch builds have been having NDOF enabled all this time.
2025-04-19Get the viewer launching on Fedora Asahi RemixErik Kundiman
Media plugins enabling not yet. OpenXR is disabled for now (it hasn't been used anyway). perl-FindBin is needed to be able to build OpenSSL on Fedora aarch64. Setting the C standard to 90 when building cURL is needed, otherwise it would fail at configure time with a misleading error of not finding link/run time requirements for dependencies (such as nghttp2 and zlib), at least on Fedora (and macOS too back then, I remember). GCC treated SSE2NEON warnings as errors on so many files, so -Wno-cpp is added globally. The same Linux CPU frequency calculation needs to be out of the x86 scope, otherwise the viewer would complain about not meeting the requirements at launch time.
2025-04-17Remove dependency on uriparserErik Kundiman
Turns out it hasn't been needed, might be leftover from system Collada DOM, and LL has their own URI parser.
2025-04-17Have libjpeg-turbo as requested in macOS build instructionErik Kundiman
It's installation is not implied by any other package for the project, at this moment.
2025-04-16Had missed sorting openSUSE & Ubuntu alphabeticallyErik Kundiman
2025-04-07Reorder the build instructions alphabeticallyErik Kundiman
by the platform/OS/distro name. Add -a to emerge since it's very likely the user hasn't set some necessary USE flags on before they try to install the viewer. Decapitalise openSUSE's initial letter.
2025-04-07Make it build & install, USING Portage, on GentooErik Kundiman
Gentoo uses lib64, just like Fedora, and has libexec too. The necessary step to install dependencies is part of the ebuild script now (tracked in another repo, ebuild.git). One thing I forgot to mention on the commit in that ebuild repo is, unzip.h is provided on Gentoo only by minizip, and not minizip-ng cause somehow the (minizip) "compat" USE flag couldn't be turned on somehow, and there was no "minizip" (without -ng) package on Gentoo, but it was achievable by setting the "minizip" USE flag on the zlib (again, without -ng) package. The queue header inclusion is needed cause its absence would cause the compiling to fail on Portage (though it compiled when building the viewer manually without Portage). Also, using the prebuilt Meshoptimizer caused some linking errors when using Portage (though, again, it linked when building the viewer manually without Portage), hence Meshoptimizer is built from source as part of the CMake configuration on Gentoo, differing from fellow Linux distros. Now Collada DOM, firstly the unpack destination directory is moved to inside the build directory now, to make it uniform with other 3rd-party files, just for less confusion. Secondly, since the patching that takes effect is the one done by Portage, it would kill the process when there are offending failed patchings (ones that generate .rej, reject files), and they are the vcxproj patchings which aren't used anyway. Thirdly, the hash checking on the downloaded file, that would fail anyway since Portage doesn't allow any downloading that isn't part of the ebuild, unfortunately has to be skipped so the emerge process wouldn't be killed just because of it. Ebuild has its own sum checking (though this means this particular file is not checked on other platforms, but other files aren't checked either anyway yet). Last but not least, the XDG Application category is removed because it's considered deprecated by Portage, though not fatal, but the viewer is already shown well in the Internet (Network) submenu anyway on unix desktops.
2025-04-07Fix logics for using prebuilt or system GLMErik Kundiman
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.
2025-03-16readme.md -> update tumbleweed build instructionssecretfoxtail
SLD2-devel no longer exists in tumbleweed repositories, replace with libSDL2_gfx-1_0-0, libSDL2_gfx-devel, & sdl2-compat-devel
2025-03-11PCRE hasn't been depended on after allErik Kundiman
since we started using more recent patch versions of LL's Collada DOM fork.
2025-03-11Remove PCRE dependency on FreeBSDErik Kundiman
The Collada DOM upstream patch version is one that doesn't depend on PCRE anymore anyway.
2025-03-11Replace MacPorts' Boost 1.81 with 1.87Erik Kundiman
and therefore LL's Collada DOM can be upgraded to something newer than r4, and therefore PCRE can be no longer depended on. Have to set the C++ standard so it doesn't use anything old, but also it wasn't ready for something as new as C++20 yet, that's why it's explicitly set to C++17. Have to set the architecture too when you're cross-compiling, it would use the native architecture.
2025-03-06update openSUSE Tumbleweed readme & cmakelistssecretfoxtail
update & include new libboost packages
2025-02-27Update instructions to use C++20 instead of C++17Erik Kundiman
Upstream is shifting towards C++20.
2025-02-17Talk about the project right away in READMEErik Kundiman
instead of talking about SL & showing its trademarks first.
2025-02-15No need to install freealut (& openal) on ArchErik Kundiman
for now. Same reason, using FMOD is the method that doesn't break CEF on Arch.
2024-12-10Update Tumbleweed package requires & build instructionsSecret
2024-12-06CEF works now on Arch, but needs FMODErik Kundiman
2024-11-26Instruction fixes for getting it build on FedoraErik Kundiman
2024-11-06Use Arch PKGBUILD pkgrel for VIEWER_VERSION_REVISIONErik Kundiman
2024-10-22Dynamic Arch PKGBUILD valuesErik Kundiman
Set PACKAGE to ON.
2024-10-20Working Arch port but CEF & WebRTC are still brokenErik Kundiman
I've tried using FMOD instead, but CEF didn't work either. At first I used crow-misia's WebRTC build but it would cause a segmentation fault, but LL's build seems to break CEF. Gotta find a way so CM's build doesn't crash the viewer. PKGBUILD should be moved to indra/newview as an .in to be configured by CMake for dynamic version numbers, and adjust the instruction too to run makepkg -R from the folder where the generated PKGBUILD will be.
2024-10-15Draft build instructions for Gentoo, Arch & WindowsErik Kundiman
Plus: Explicit on ENABLE_MEDIA_PLUGINS Sort Tumbleweed dependencies Sort FreeBSD setenv line FreeBSD dependencies that need to be explicitly installed now
2024-09-29Replace INTERNAL with just STRINGErik Kundiman
just like how ADDRESS_SIZE is set with Autobuild.
2024-09-21ColladaDOM depends on dynamic Boost 1.81 on macOSErik Kundiman
so we don't need the boost package or the -no_static variant of boost181 any more.
2024-09-21Remove remaining XMLRPC-EPI dependenciesErik Kundiman
2024-09-17Merge branch 'main' into 2024.08-DeltaFPSErik Kundiman
2024-09-17Revert to LL's OpenJPEG forkErik Kundiman
System 2.5.2 caused too much rainbow in DeltaFPS. For now, the OpenJPEG listed in autobuild.xml is 2.5.0. However, LL has recently got 2.5.2 too in their OpenJPEG fork repo, but we switch to that once it's the one listed in autobuild.xml. Reverting to the now maintained LL 3p-openjpeg should fix the texture thrashing problem https://megapahit.com/show_bug.cgi?id=1 starting from DeltaFPS.
2024-09-16OpenSUSE Tumbleweed instructions adjustmentsecretfoxtail
Change libboost_url version
2024-09-16Merge branch 'main' into 2024.08-DeltaFPSErik Kundiman
2024-09-16OpenSUSE Tumbleweed instructions adjustmentsecretfoxtail
add libboost_program_options-devel
2024-09-08opensuse instruction tweaksecretfoxtail
add pcre-devel
2024-09-08Merge branch 'main' into 2024.08-DeltaFPSErik Kundiman
# Conflicts: # README.md # indra/newview/CMakeLists.txt
2024-09-07OpenSUSE Tumbleweed instructionssecretfoxtail
Add OpenSUSE Tumbleweed build instructions to readme.md
2024-09-07Merge branch 'main' into 2024.08-DeltaFPSErik Kundiman
2024-09-07BSD/Linux can use the same dae loader constructionErik Kundiman
Also add explicit minizip, pcre, and xml2 development packages in Debian/Ubuntu instructions.
2024-09-05Get colladadom 2.3 build method to work on FedoraErik Kundiman
2024-09-02Merge branch 'main' into 2024.08-DeltaFPSErik Kundiman
2024-09-02boost & pcre must be manually installed on macOSErik Kundiman
now that they don't have collada dom to pull them in automatically.