summaryrefslogtreecommitdiff
path: root/indra/cmake/FMODSTUDIO.cmake
AgeCommit message (Collapse)Author
2025-05-13Empty CMake elses & endifs parenthesesErik Kundiman
to make it more flexible the next time a value in the if's parentheses gets changed again, and also to reduce duplicate pattern matches when grepping those CMake files with certain keywords.
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-27Replace {.._DIR}/lib/release with ARCH_PREBUILT_DIRS_RELEASEErik Kundiman
Shorter.
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-07FMOD has been upgraded from 2.02.27 to 2.02.28Erik Kundiman
2025-02-15FMOD has been upgraded from 2.02.26 to 2.02.27Erik Kundiman
2024-12-23FMOD has been upgraded from 2.02.25 to 2.02.26Erik Kundiman
2024-11-13Fix FMOD 2.02.25 Linux installationErik Kundiman
2024-11-13Update FMOD to 2.02.25Erik Kundiman
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-13Remove already implied file(MAKE_DIRECTORY)Erik Kundiman
file(COPY) seems to already include making the necessary directories.
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-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-12Download & install aren't redone when installedErik Kundiman
by making sure we *write* the _installed files (containing the value 0).
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-08Install FMOD 2.03.02 automatically on GNU/LinuxErik Kundiman
2024-08-07Install FMOD automatically on macOSErik Kundiman
It's assumed that fmodstudioapi20223mac-installer.dmg has been downloaded to ~/Downloads/.
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".
2023-05-03DRTVWR-559: Replace debugLoggingEnabled() function with LL_DEBUGS().Nat Goodspeed
The trouble with debugLoggingEnabled() is that it locked mutexes and searched maps every time that call was reached. LL_DEBUGS() has the same functionality (albeit with idiosyncratic syntax) but performs expensive lookups only once per session, caching the result in a local static variable.
2022-04-17Remove function create_target and instead directly use add_libraryNicky
2022-04-17Switch to target_include_directoriesNicky
All 3Ps include dirs are treated as SYSTEM, this will stop compilers stop emitting warnings from those files and greatly helps having high warning levels and not being swamped by warnings that come from external libraries.
2022-04-17Switch over to standard target_link_libraries (cmake requirements are high ↵Nicky
enough now).
2022-04-16Streamline fmodstudio/openal targets:Nicky
- Targets now define the appropriate c++ defines, no more hand magic needed for llstartup.cpp - Switch cmakeflage to USE_xxx rather than xxx as it was before. I personally find the USE_X notion more intuitive and it follows how KDU is used. - To be backward compatible OPENAL/FMODSTUDIO flag will be mapped to USE_OPENAL/USE_FMODSTUDIO
2022-04-16Initialize variables so that calling cmake with "--warn-unused-vars ↵Nicky
--warn-uninitialized" does not make it go all crazy.
2022-04-13Rework cmake, the original plan was to maybe be able to use conan targets ↵Nicky
with the same name (that's why 3ps had names like apr::apr), but it's safer and saner to put the LL 3ps under the ll:: prefix. This also allows means it is possible to get rid of that bad "if( TRAGET ...) return() endif()" pattern and rather use include_guard().
2022-04-06Remove erroneous lines.Nicky
2022-04-06Move CMake files to modernized cmake syntax, step 1.Nicky
Change projects to cmake targetsto get rid of havig to hardcore include directories and link libraries in consumer projects.
2020-02-04SL-11445 Couple small fixesAndrey Kleshchev
2020-01-31Merged in SL-11445 Upgrade Fmodex to Fmod StudioAndrey Kleshchev