summaryrefslogtreecommitdiff
path: root/indra/cmake
AgeCommit message (Collapse)Author
2024-08-25Darwin prebuilt OpenSSL binaryErik Kundiman
2024-08-25Fix macOS architecture comparison operatorErik Kundiman
cause they're not like 0 valued ${_binary}_installed that it would run lipo -thin on already thinned binaries.
2024-08-25Darwin prebuilt libcurl binaryErik Kundiman
2024-08-25Darwin & Tumbleweed use prebuilt XMLRPC-EPIErik Kundiman
Refer to this commit if you need to recover the steps in compiling XMLRPC-EPI. The prebuilt binary for Darwin is distributed as universal, and will be thinned accordingly. It also makes use of autobuild.xml, but only partially (the sha1sum isn't used yet in the Prebuilt.cmake reimplementation).
2024-08-25use_prebuilt_binary(nanosvg) uses reimplementationErik Kundiman
also to minimise ViewerMisc.cmake diff from upstream.
2024-08-25Make Prebuilt.cmake reimplementation more genericErik Kundiman
Anticipate the possibility that an archive isn't suffixed with a 64. Parentheses need to be escaped by quotes (backslashing would work too), otherwise they would be parsed as part of CMake commands syntax. Regex subexpressions shouldn't contain regex themselves (only verbatim or preprocessed strings are used within the parentheses).
2024-08-19Make sure curl doesn't get configured with libssh2Erik Kundiman
Turns out it was on by default, probably that's why it would fail on everyone else's systems, building libcurl, cause in the log I saw libssh2 was requiring the very openssl3 we have to deactivate until libcurl compilation is done.
2024-08-18openSUSE Tumbleweed supportErik Kundiman
Its own CPACK_RPM_PACKAGE_REQUIRES will catch up soon.
2024-08-16Fix meshoptimizer & NDOF tracking contains garbageErik Kundiman
instead of 0.
2024-08-16LL's prebuilt files are saved in build directoryErik Kundiman
in their original names.
2024-08-15Make sure OpenSSL is built before CURLErik Kundiman
LLCoreHttp.cmake is included earlier (by llappearance/CMakeLists.txt), before llcorehttp/CMakeLists.txt (even though it includes LLCoreHttp.cmake in return).
2024-08-15Make packages/lib/release directory automaticallyErik Kundiman
cause it's needed at least on macOS, where the command to install the FMOD (which is the one done earliest) library is execute_process(COMMAND lipo), and not file(COPY) that would imply a mkdir.
2024-08-14Rename openjpeg to openjpeg-2.5 if no openjpeg-2.5Erik Kundiman
instead of if there's openjpeg.
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