summaryrefslogtreecommitdiff
path: root/indra/cmake
AgeCommit message (Collapse)Author
2024-08-14Use LL's NanoSVG for Ubuntu tooErik Kundiman
so we can have 1 set of instructions that applies to both Debian and Ubuntu.
2024-08-14Automatic libcurl download, build & installErik Kundiman
The MacPorts openssl11 port is not needed any more for building our libcurl.
2024-08-13Only download when there aren't the files yetErik Kundiman
2024-08-13libtool for building xmlrpc-epi & tidy up its cmakeErik Kundiman
Also CMakeCache.txt removal and Debian dependencies that might not be relevant on non-debootstraps are not part of the instructions.
2024-08-13Automatic OpenSSL download, build and installationErik Kundiman
2024-08-13Remove already implied file(MAKE_DIRECTORY)Erik Kundiman
file(COPY) seems to already include making the necessary directories.
2024-08-13Rename openjpeg to openjpeg-2.5 only if not doneErik Kundiman
yet, i.e. OpenJPEG not installed yet.
2024-08-13Automatic libndofdev download, build & installErik Kundiman
I couldn't get try_compile to succeed using COMPILE_DEFINITIONS, I couldn't either using quotes for the CMAKE_C_FLAGS.
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-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-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-10Automatic dullahan_host runpath removal on FedoraErik Kundiman
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 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-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.