summaryrefslogtreecommitdiff
path: root/indra/cmake
AgeCommit message (Collapse)Author
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-08Install FMOD 2.03.02 automatically on GNU/LinuxErik Kundiman
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-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-09Merge branch 'main' into maint-bErik Kundiman
2024-07-09NDOF can be enabled for Space Navigator supportErik Kundiman
2024-07-08GLH and Mikktspace can be untarred in packages nowErik Kundiman
They're custom anyway so very unlikely to be reused in other projects. TinyGLTF.cmake changes here just to minimise diff, the include directory setting does not have any effect (just like in TinyEXR.cmake).
2024-07-07Not override CMAKE_OSX_ARCHITECTURES to one archErik Kundiman
Now you can pass -DCMAKE_OSX_ARCHITECTURES:STRING=`uname -m` or -DCMAKE_OSX_ARCHITECTURES:STRING="arm64;x86_64" and it will build as intended.
2024-07-06Merge branch 'main' into maint-bErik Kundiman
2024-07-05`make install` on macOS copies resources to bundleErik Kundiman
Except for SLPlugin since there's already a custom command for it.
2024-07-01Merge branch 'main' into maint-bErik Kundiman
2024-07-01Make it build for FBSD on SLv's Linux resurrectionErik Kundiman
2024-07-01ConfigurePkgConfig is not needed anymore after allErik Kundiman
FindPkgConfig does the work.
2024-06-27Revert to using Cocoa instead of SDL2 for macOSErik Kundiman
Our SDL2-based code is kept Darwin-ready. This move was triggered by the merge with SLv's release/maint-b branch causing the viewer to show only a black screen, even though everything else seemed to be working (logging in, streaming, quitting the app). This decision also has caused numerous MPv specific window-related macOS bugs to be fixed. I wanted to commit this on the main branch, but somehow it failed to build. This move was bound to happen at the arrival of Maintenance B after all.
2024-06-20Merge remote-tracking branch 'secondlife/release/maint-b' into maint-bErik Kundiman
2024-06-14Merge branch 'release/maint-b' into marchcat/b-mergeAndrey Lihatskiy
# Conflicts: # .github/workflows/build.yaml # indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl # indra/newview/app_settings/shaders/class3/deferred/reflectionProbeF.glsl # indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl # indra/newview/llfilepicker.cpp
2024-06-14Revert "Replace LL_X11 and LL_FLTK to LL_LINUX"AiraYumi
2024-06-14Make it build if USE_FMODSTUDIO is set to trueErik Kundiman
Just put the FMOD api/core files to their corresponding places somewhere like /usr/local, and enclose the headers in a folder named "fmodstudio".
2024-06-12Replace LL_X11 and LL_FLTK to LL_LINUXAiraYumi
2024-06-11Merge tag '7.1.8-release'Erik Kundiman
source for viewer 7.1.8.9375512768
2024-06-10Attempted workaround for actions/runner-images#10004 build failures.Brad Linden
2024-06-07Revert to using isolated old cURL and old OpenSSLErik Kundiman
2024-05-28Merge remote-tracking branch 'origin/main' into release/materials_featuretteBrad Linden
2024-05-28BSDs use system OpenJPEG, Linuxes link staticallyErik Kundiman
Cause 2.5.2 on MacPorts and FBSD ports are safe, while 2.5.0 on Debian/Ubuntu would cause a crash that we stick to LL's 2.5.0.
2024-05-28Revert "Use prebuilt OpenJPEG for now"Erik Kundiman
This reverts commit 0797257992ee7f88456d3083ebf214485b75c139.
2024-05-22Adjust Copy3rdPartyLibs.cmake for Visual Studio 2022 17.10.0 and greaterAnsariel
2024-05-18Turn off C++ 20 compatibilityErik Kundiman
Compiling would fail otherwise at least on Fedora 40 and Ubuntu 24.04 with their GCC 13 or newer.
2024-05-16Merge tag '7.1.7-release'Erik Kundiman
source for viewer 7.1.7.8974243247
2024-05-15Merge branch 'release/maint-b' into pipewire-linux-volume-catcherMaki
2024-05-15Remove dead googlemock dependency and related setup codeRye Mutt
2024-05-15Merge branch 'main' into marchcat/x-mf-mergeAndrey Lihatskiy
# Conflicts: # doc/contributions.txt # indra/newview/llfloaterimagepreview.cpp
2024-05-15Merge branch 'marchcat/w-whitespace' into marchcat/x-mf-mergeAndrey Lihatskiy
2024-05-15Merge branch 'main' into marchcat/x-b-mergeAndrey Lihatskiy
# Conflicts: # autobuild.xml # indra/cmake/ConfigurePkgConfig.cmake # indra/cmake/ICU4C.cmake # indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.cpp # indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.h # indra/media_plugins/gstreamer010/llmediaimplgstreamertriviallogging.h # indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.cpp # indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.h # indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp # indra/newview/llappviewerlinux_api.h # indra/newview/llappviewerlinux_api_dbus.cpp # indra/newview/llappviewerlinux_api_dbus.h # indra/newview/llfloateremojipicker.cpp # indra/newview/lloutfitslist.cpp
2024-05-01Merge branch 'marchcat/w-whitespace' into marchcat/x-ws-mergeAndrey Lihatskiy
2024-04-29#824 Process source files in bulk: replace tabs with spaces, convert CRLF to ↵Andrey Lihatskiy
LF, and trim trailing whitespaces as needed
2024-04-19Port from OpenEXR to TinyEXR for reduced installer and library size (#1287)Rye Mutt
2024-04-18Update open_libndofdev and openal to latest versions.Nicky
- With the updated openal the dependency on sndio can be dropped - The updated libndofdev is compiled against the correct version of SDL2 and thus NDOF can be enabled again
2024-04-17Use PipeWire for Linux volume catcherMaki
2024-04-15Chore/pragma gcc cleansweep (#1226)Nicky Dasmijn
* Remove all GCC warning suppression pragmas. * For Linux just just raise(SIGSEGV) as the crash driver. This has a much higher chance of the compiler understanding out intent and figuring out we end the program here. * Remove -Wno-stringop-overflow and -Wno-stringop-truncation from GCC_WARNINGS. After calling raise(SIGSEGV) as the crash driver I saw no issue with those warnings anymore After removing thoses GCC pragmas there is also no need for clang -Wno-unknown-warning-option anymore. * Remove CMakePresets from this PR. * Remove Lindens from comments :)
2024-04-14Feature/linux gtk removal (#1225)Nicky Dasmijn
* GTK remnants removal Remove old GTK code and wire up some missing fltk logic in llfilepicker This will leave linux_crash_logger as an empy stub which could be used as a skeleton in case crash logging gets implemented. Otherwise linux_crash_logger and what is left of it in some cmake files can be deleted. * Update SDL2 to latest version. This revealed openal has also a dependebcy on sndio. Consequently the dependency was moved to OPENMAL.cmake and canot be dropped. * Handle missing filetypes: FFSAVE_GLTF,FFLOAD_GLTF, FFLOAD_MATERIAL, FFLOAD_MATERIAL_TEXTURE
2024-04-12Chore/cmake pretty up (#1205)Nicky Dasmijn
* - Add an option to with ASAN - Fix GCC -Werror option. * - find_program should not set REQUIRED if per logic a fallback to ld.bfd is fine - cmake idiomatic is to test Variables without dereferencing them * Add -Wno-unknown-warning-option for clang or it will complain about some GCC only options ``` /home/runner/work/viewer/viewer/indra/llcommon/llsdutil.cpp:39:32: error: unknown warning group '-Wstringop-truncation', ignored [-Werror,-Wunknown-warning-option] #pragma GCC diagnostic ignored "-Wstringop-truncation" // It's actually okay what happens here ```
2024-04-10Linux: build with clang, link with moldBennett Goble
2024-04-09Update Linux media handling (#1146)Nicky Dasmijn
* Enable CEF browser for Linux * Disable the update for Linux, we don't have that one right now * Update build_linux.yaml We need libpulse-dev for volume_catcher Linux * Add linux_volum_catcher* files * Enable OpenAL for Linux-ReleaseOS * Linux: Update OpenAL * Update SDL2 * Add libsndio-dev to the dependencies. * Update CEF to an official LL version * Remove dupe of emoji_shortcodes * Reording autobuild does because it can and wants to * Linux: Disable NDOF for the time being. After updating the ndof 3P needs to be rebuilt and we do not have a fresh one from LL yet. Forcefully undefine LIB_NDOF, it gets defined in the build variables no matter if it is safe to define. * Remove wrestling with mutliarch and LIBGL_DRIVERS_PATH * Remove tcmalloc snippet, tcmalloc is a very faint bad dream of the past * Putting out a warning this viewer ran on a x64 arch and then suggesting to install 32 bit compat packages makes no sense at all * CEF resources need to be in lib * It;'s okay to warn about missing plugins * Linux: CEF keyboard handling * Remove old gstreamer 0.10 implementation * Linux DSO loading always had been very peculiar due to macro magic. At least now it is peculiar shared magic with only one implementation. * Remove -fPIC. We get that one from LL_BUILD * /proc/cpuinfo is not reliable to detrmine the max CPU clock. Try to determine this by reading "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq". Only if this fails go back to /proc/cpuinfo * Cleanup * Cleanup common linker and compiler flags, make it more obvious which flags are for which OS/compiler * Switch to correct plugin file * Install libpulse-dev for volume catcher. * And the runner needs libsndio-dev as well. * check for runner.os=='linux'. matrix.os is the full name of the image (limux-large).
2024-04-08Some fixes to linux builds (#1144)AiraYumi
* compile flag cleanup for linux * rollback indra/llcommon/llprofiler.h * use 3p fltk package * fix build gcc 13 (dangling-pointer)