summaryrefslogtreecommitdiff
path: root/indra/cmake/APR.cmake
AgeCommit message (Collapse)Author
2025-06-03Fix vcpkg APR library names to link withErik Kundiman
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-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 USE_AUTOBUILD_3P OR USE_CONAN with USESYSTEMLIBSErik Kundiman
Simpler.
2024-09-01Merge remote-tracking branch 'secondlife/release/2024.08-DeltaFPS' into ↵Erik Kundiman
2024.08-DeltaFPS
2024-08-08Update libexpat to 2.6.2 and libapr 1.7.4 (#2214)Rye Mutt
2023-10-26Merge remote-tracking branch 'secondlife/DRTVWR-559' into DRTVWR-559Erik Kundiman
2023-07-19Obtain APR required flags when using system libsErik Kundiman
On some platforms such as FreeBSD or MacPorts, pkg-config --libs apr-util-1 already includes -lapr-1. But on APT, the apr-1 module needs to be checked too.
2023-06-05SL-18837: We no longer build Windows apr-iconv -- don't reference.Nat Goodspeed
With VS 2022 on Windows GitHub Actions runners, we can't build apr_suite at all with the upstream .sln / .vcxproj files, so we had to switch to "experimental" CMake support. However there's no CMakeLists.txt file for apr-iconv, so the Windows package omits that library.
2022-07-17Be more explicit: Rename use_conan_binary to use_system_binary, this will ↵Nicky
allow us to reuse the macro for more than just conan.
2022-04-18Round one to support conan for 3P packages, this allows to build the viewer ↵Nicky
on Linux again.
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-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-13Remove obsolete and unmaintained USE_SYSTEMLIBSNicky
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.
2022-02-11Spring cleaning, remove all traces of old 32 bit darwin/linux packages.Nicky
2015-11-10remove execute permission from many files that should not have itOz Linden
2014-03-19OPEN-199: replace the confusing STANDALONE switch with USESYSTEMLIBSOz Linden
2013-05-01Merge vwr-dev-matGraham Madarasz
2013-04-30Merge 3.5.1 into MaterialsGraham Madarasz
2013-04-19merge changes for DRTVWR-294Oz Linden
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2012-10-04Removing server-related cmake cruft. Fixing libGLU warnings on linux.Don Kjer
2011-03-04ares, boost, expat, freetype archives updated to latest builds.Andrew A. de Laix
2011-01-13mac buiding with autobuild and autobuild style packages (just say no to ↵Andrew A. de Laix
install.py)
2010-02-17follow-up to previous fix - don't link to librt twice.Tofu Linden
2010-02-17Hack librt inclusion into llcommon for all Linux builds. The dep is needed ↵Tofu Linden
for llcommon, but it was being satisfied elsewhere for viewer builds and got to dodge the problem. This should quieten the server builds somewhat.
2009-07-30DEV-34837: Improve Mac support for LLCOMMON_LINK_SHARED.Nat Goodspeed
Update Mac apr_suite package, introducing libapr-1.0.3.7.dylib and libaprutil-1.0.3.8.dylib. We want to use dynamic APR libraries, but libllcommon.dylib isn't allowed to depend on .so libraries: must be .dylibs themselves. Tweak APR.cmake to reference the aforementioned .dylibs when on Mac with LLCOMMON_LINK_SHARED set. Eliminate some redundancy in Windows section. For .dylibs, RunBuildTest.cmake must set DYLD_LIBRARY_PATH: LD_LIBRARY_PATH only affects search for .so files. PENDING: CMake dependencies broken? With LLCOMMON_LINK_SHARED on, it seems we need to build libllcommon.dylib explicitly before full build can succeed. This snapshot does NOT yet copy the llcommon, apr or aprutil dylibs into the app bundle.
2009-07-02Windows now links to shared apr when LLCOMMON_LINK_SHARED is on.brad kittenbrink
2009-04-30svn merge -r118008:118374 ↵Christian Goetze
svn+ssh://svn.lindenlab.com/svn/linden/branches/cg/viewer-etch-1 QAR-1459 etch builds enabled
2009-02-18Merge of QAR-1267 to trunk. This was a combo merge of QAR-1175 ↵Brad Kittenbrink
(maint-render-9) and QAR-1236 (dll-msvcrt-2) svn merge -r 109838:112264 svn+ssh://svn.lindenlab.com/svn/linden/branches/maint-render/maint-render-9-merge-r109833
2008-12-05Don't link the simulator with iconv.dll on Windows.Kyle Ambroff
2008-12-05indra/cmake/APR.cmake: Fix windows simulator build so it still dymanically ↵Kyle Ambroff
links with iconv.
2008-11-07Merged into release with command:Kartic Krishnamurthy
================================= svn merge -r100865:101402 svn+ssh://svn/svn/linden/branches/purge-dpo-code-for-merge . QAR-951 : Sandbox QA for DEV 20842 - Ensure DPO is not enabled accidentally QAR-967 : Merge Build for DEV 20842 - Ensure DPOis not enabled accidentally QA tested: Beast, Oskar DEV's fulfilled as part of this branch: ====================================== DEV-20842 Prevent accidental activation of DPO procs DEV-23028 Mac build fails - link error dual inclusion DEV-20824 VWR-9255: Build fails on mac_updater and mac_crash_logger targets due to info.plist problems DEV-22997 Xcode project: 'server' target has no dependencies DEV-23353 Friend request custom messages come through as an asset tag. DEV-23309 Voice Chat Indicator does not show active voice status DEV-23187 Can't teleport to home location
2008-09-02QAR-842 / Port Mac build borkage fix to releaseBryan O'Sullivan
2008-07-26Remainder of CMake 2.6.0 compatibility fixes. CMake 2.4.7/2.4.8 or 2.6.0 ↵Kyle McKay
can now be used for Mac builds.
2008-06-12svn merge -r89258:89534 ↵Jennifer Leech
svn+ssh://svn/svn/linden/branches/install-dev-binaries/idb2-merge-buildme
2008-06-06QAR-650 - Viewer RC 9 merge -> release (post cmake)Steven Bennetts
merge release@88802 Branch_1-20-Viewer-2-merge-1@89178 -> release
2008-06-02svn merge -r88066:88786 ↵Bryan O'Sullivan
svn+ssh://svn.lindenlab.com/svn/linden/branches/cmake-9-merge dataserver-is-deprecated for-fucks-sake-whats-with-these-commit-markers