From 690545276f452055742a34e61d6e2a6222baecb1 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 27 Apr 2025 19:06:11 +0800 Subject: Suppress repetitive SSE2NEON warnings on macOS --- indra/cmake/00-Common.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 8fd5e4020c..0e3b89e98e 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -253,6 +253,10 @@ if (DARWIN) list(APPEND GCC_WARNINGS -Wno-unused-but-set-variable -Wno-unused-variable ) endif() + if (CMAKE_OSX_ARCHITECTURES MATCHES arm64) + list(APPEND GCC_WARNINGS "-Wno-#warnings" ) + endif() + add_compile_options(${GCC_WARNINGS}) add_compile_options(-m${ADDRESS_SIZE}) endif () -- cgit v1.2.3 From dbf9fcedb1caaa34dee5ec4a24aafbffb326b9cc Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 27 Apr 2025 19:15:05 +0800 Subject: Back to one Meshoptimizer try_compile for all OSes CMAKE_OSX_ARCHITECTURES & CMAKE_OSX_DEPLOYMENT_TARGET won't affect non-macOS. Settings such as those 2, and CMAKE_BUILD_TYPE, aren't inherited, so the significant ones should be set explicitly. Meshoptimizer default installation header directory is without the encapsulating "meshoptimizer" directory. --- indra/cmake/Meshoptimizer.cmake | 43 ++++++++++++++++------------------------- 1 file changed, 17 insertions(+), 26 deletions(-) diff --git a/indra/cmake/Meshoptimizer.cmake b/indra/cmake/Meshoptimizer.cmake index 20eef33d7c..d5c6598d94 100644 --- a/indra/cmake/Meshoptimizer.cmake +++ b/indra/cmake/Meshoptimizer.cmake @@ -27,33 +27,24 @@ elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRA INPUT ${CMAKE_BINARY_DIR}/meshoptimizer-0.21.tar.gz DESTINATION ${CMAKE_BINARY_DIR} ) - if (DARWIN) - try_compile(MESHOPTIMIZER_RESULT - PROJECT meshoptimizer - SOURCE_DIR ${CMAKE_BINARY_DIR}/meshoptimizer-0.21 - BINARY_DIR ${CMAKE_BINARY_DIR}/meshoptimizer-0.21 - TARGET meshoptimizer - CMAKE_FLAGS - -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${CMAKE_OSX_DEPLOYMENT_TARGET} - OUTPUT_VARIABLE meshoptimizer_installed - ) - else () - try_compile(MESHOPTIMIZER_RESULT - PROJECT meshoptimizer - SOURCE_DIR ${CMAKE_BINARY_DIR}/meshoptimizer-0.21 - BINARY_DIR ${CMAKE_BINARY_DIR}/meshoptimizer-0.21 - TARGET meshoptimizer - OUTPUT_VARIABLE meshoptimizer_installed - ) - endif (DARWIN) + try_compile(MESHOPTIMIZER_RESULT + PROJECT meshoptimizer + SOURCE_DIR ${CMAKE_BINARY_DIR}/meshoptimizer-0.21 + BINARY_DIR ${CMAKE_BINARY_DIR}/meshoptimizer-0.21 + TARGET meshoptimizer + CMAKE_FLAGS + -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} + -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES} + -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${CMAKE_OSX_DEPLOYMENT_TARGET} + -DCMAKE_INSTALL_PREFIX:PATH=${LIBS_PREBUILT_DIR} + -DCMAKE_INSTALL_LIBDIR:PATH=${ARCH_PREBUILT_DIRS_RELEASE} + -DCMAKE_INSTALL_INCLUDEDIR:PATH=${LIBS_PREBUILT_DIR}/include/meshoptimizer + ) if (${MESHOPTIMIZER_RESULT}) - file( - COPY ${CMAKE_BINARY_DIR}/meshoptimizer-0.21/src/meshoptimizer.h - DESTINATION ${LIBS_PREBUILT_DIR}/include/meshoptimizer - ) - file( - COPY ${CMAKE_BINARY_DIR}/meshoptimizer-0.21/libmeshoptimizer.a - DESTINATION ${LIBS_PREBUILT_DIR}/lib/release + execute_process( + COMMAND ${CMAKE_MAKE_PROGRAM} install + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/meshoptimizer-0.21 + OUTPUT_VARIABLE meshoptimizer_installed ) file(WRITE ${PREBUILD_TRACKING_DIR}/meshoptimizer_installed "${meshoptimizer_installed}") endif (${MESHOPTIMIZER_RESULT}) -- cgit v1.2.3 From 6e5ce1ddeded20eec4141a01e8994d4c608f7ebd Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 27 Apr 2025 19:21:41 +0800 Subject: Explicit significant NDOF try_compile settings and use ARCH_PREBUILT_DIRS_RELEASE for shortening paths. --- indra/cmake/NDOF.cmake | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/indra/cmake/NDOF.cmake b/indra/cmake/NDOF.cmake index 0b0a2b6ca9..24fb23a0e3 100644 --- a/indra/cmake/NDOF.cmake +++ b/indra/cmake/NDOF.cmake @@ -25,8 +25,10 @@ if (NDOF) BINARY_DIR ${CMAKE_BINARY_DIR}/3p-libndofdev-0.1.8e9edc7/libndofdev TARGET ndofdev CMAKE_FLAGS - -DCMAKE_C_FLAGS:STRING=-DTARGET_OS_MAC\ -Wno-int-conversion + -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} + -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES} -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${CMAKE_OSX_DEPLOYMENT_TARGET} + -DCMAKE_C_FLAGS:STRING=-DTARGET_OS_MAC\ -Wno-int-conversion OUTPUT_VARIABLE libndofdev_installed ) if (${LIBNDOFDEV_RESULT}) @@ -36,7 +38,7 @@ if (NDOF) ) file( COPY ${CMAKE_BINARY_DIR}/3p-libndofdev-0.1.8e9edc7/libndofdev/src/libndofdev.dylib - DESTINATION ${LIBS_PREBUILT_DIR}/lib/release + DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE} ) file(WRITE ${PREBUILD_TRACKING_DIR}/libndofdev_installed "${libndofdev_installed}") endif (${LIBNDOFDEV_RESULT}) -- cgit v1.2.3 From d1e29e39b1f61a5f0b3fd46c935009135f906542 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 27 Apr 2025 19:24:47 +0800 Subject: One OpenJPEG try_compile for all OSes Same as previous commits, plus reminding CMAKE_BUILD_WITH_INSTALL_RPATH needs to be set ON otherwise there would be configure error on FreeBSD, plus the codec executables aren't needed (they would encounter linking errors on FreeBSD, because /usr/local/lib isn't automatically added as a header search directory). By default OpenJPEG installation header directory is "openjpeg-2.5", hence the renaming. The 3 non-API headers are copied, still. --- indra/cmake/OpenJPEG.cmake | 51 ++++++++++++++++++++-------------------------- 1 file changed, 22 insertions(+), 29 deletions(-) diff --git a/indra/cmake/OpenJPEG.cmake b/indra/cmake/OpenJPEG.cmake index d4304f93b3..cf008faebf 100644 --- a/indra/cmake/OpenJPEG.cmake +++ b/indra/cmake/OpenJPEG.cmake @@ -20,45 +20,38 @@ elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRA INPUT ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248.tar.gz DESTINATION ${CMAKE_BINARY_DIR} ) - if (DARWIN) - try_compile(OPENJPEG_RESULT - PROJECT OPENJPEG - SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg - BINARY_DIR ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg - TARGET openjp2 - CMAKE_FLAGS - -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS} - -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON - -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${CMAKE_OSX_DEPLOYMENT_TARGET} + try_compile(OPENJPEG_RESULT + PROJECT OPENJPEG + SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg + BINARY_DIR ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg + TARGET openjp2 + CMAKE_FLAGS + -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} + -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES} + -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${CMAKE_OSX_DEPLOYMENT_TARGET} + -DCMAKE_INSTALL_PREFIX:PATH=${LIBS_PREBUILT_DIR} + -DCMAKE_INSTALL_LIBDIR:PATH=${ARCH_PREBUILT_DIRS_RELEASE} + -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON + -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS} + -DBUILD_CODEC:BOOL=OFF + ) + if (${OPENJPEG_RESULT}) + execute_process( + COMMAND ${CMAKE_MAKE_PROGRAM} install + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg OUTPUT_VARIABLE openjpeg_installed ) - else () - try_compile(OPENJPEG_RESULT - PROJECT OPENJPEG - SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg - BINARY_DIR ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg - TARGET openjp2 - CMAKE_FLAGS - -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS} - -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON - OUTPUT_VARIABLE openjpeg_installed + file(RENAME + ${LIBS_PREBUILT_DIR}/include/openjpeg-2.5 + ${LIBS_PREBUILT_DIR}/include/openjpeg ) - endif (DARWIN) - if (${OPENJPEG_RESULT}) file( COPY ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg/src/lib/openjp2/cio.h ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg/src/lib/openjp2/event.h - ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg/src/lib/openjp2/openjpeg.h - ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg/src/lib/openjp2/opj_config.h ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg/src/lib/openjp2/opj_config_private.h - ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg/src/lib/openjp2/opj_stdint.h DESTINATION ${LIBS_PREBUILT_DIR}/include/openjpeg ) - file( - COPY ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg/bin/libopenjp2.a - DESTINATION ${LIBS_PREBUILT_DIR}/lib/release - ) file(WRITE ${PREBUILD_TRACKING_DIR}/openjpeg_installed "${openjpeg_installed}") endif (${OPENJPEG_RESULT}) endif (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR NOT USESYSTEMLIBS) -- cgit v1.2.3 From 4d7fb2fb417a3ea27028acc27fcb93e22d0b3919 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 27 Apr 2025 19:30:33 +0800 Subject: One Collada DOM try_compile for all platforms On macOS, it's static library too, now, hence the stream editing is done out of any platform scope (which it's still needed because BUILD_SHARED_LIBS is ignored), and the (so)versions don't need to be set any more. CMAKE_INSTALL_LIBDIR is also ignored, hence the libcollada14dom.a moving. --- indra/cmake/LLPrimitive.cmake | 107 +++++++++++++------------------------- indra/newview/FixBundle.cmake.in | 4 -- indra/newview/FixPackage.cmake.in | 4 -- 3 files changed, 35 insertions(+), 80 deletions(-) diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake index d94def5808..335c2a9258 100644 --- a/indra/cmake/LLPrimitive.cmake +++ b/indra/cmake/LLPrimitive.cmake @@ -48,82 +48,45 @@ if( USESYSTEMLIBS ) INPUT ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8.tar.gz DESTINATION ${CMAKE_BINARY_DIR} ) - file(MAKE_DIRECTORY ${LIBS_PREBUILT_DIR}/include/collada/1.4) + execute_process( + COMMAND sed -i "" -e "s/SHARED/STATIC/g" CMakeLists.txt + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src/1.4 + ) if( DARWIN ) - try_compile(COLLADADOM_RESULT - PROJECT colladadom - SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8 - BINARY_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8 - TARGET collada14dom - CMAKE_FLAGS - -DCMAKE_CXX_STANDARD:STRING=17 - -DCMAKE_CXX_FLAGS:STRING=-I${Minizip_INCLUDE_DIRS} - "-DCMAKE_SHARED_LINKER_FLAGS:STRING=-L${Minizip_LIBRARY_DIRS} -L${Minizip_LIBRARY_DIRS}exec/boost/1.87/lib" - -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES} - -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${CMAKE_OSX_DEPLOYMENT_TARGET} - -DZLIB_LIBRARIES:STRING=${Libxml2_LIBRARIES} - -DBoost_FILESYSTEM_LIBRARY:STRING=boost_filesystem-mt - -DBoost_SYSTEM_LIBRARY:STRING=boost_system-mt - -DEXTRA_COMPILE_FLAGS:STRING=-I${Libxml2_INCLUDE_DIRS} - -DBoost_CFLAGS:STRING=-I${Libxml2_LIBRARY_DIRS}exec/boost/1.87/include - -DOPT_COLLADA14:BOOL=ON - -DCOLLADA_DOM_INCLUDE_INSTALL_DIR:FILEPATH=${LIBS_PREBUILT_DIR}/include/collada - -DCOLLADA_DOM_SOVERSION:STRING=0 - -DCOLLADA_DOM_VERSION:STRING=2.3-r8 - OUTPUT_VARIABLE colladadom_installed - ) - if( ${COLLADADOM_RESULT} ) - file( - COPY - ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src/1.4/libcollada14dom.2.3-r8.dylib - ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src/1.4/libcollada14dom.0.dylib - ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src/1.4/libcollada14dom.dylib - DESTINATION ${LIBS_PREBUILT_DIR}/lib/release - FOLLOW_SYMLINK_CHAIN - ) - endif( ${COLLADADOM_RESULT} ) - else( DARWIN ) + set(BOOST_CFLAGS -I${Libxml2_LIBRARY_DIRS}exec/boost/1.87/include) + set(BOOST_LIBS -L${Minizip_LIBRARY_DIRS}exec/boost/1.87/lib) + set(BOOST_LIBRARY_SUFFIX -mt) + endif() + try_compile(COLLADADOM_RESULT + PROJECT colladadom + SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8 + BINARY_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8 + TARGET collada14dom + CMAKE_FLAGS + -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} + -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES} + -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${CMAKE_OSX_DEPLOYMENT_TARGET} + -DCMAKE_INSTALL_PREFIX:PATH=${LIBS_PREBUILT_DIR} + -DCMAKE_CXX_STANDARD:STRING=17 + -DCMAKE_CXX_FLAGS:STRING=-I${Minizip_INCLUDE_DIRS} + -DBoost_CFLAGS:STRING=${BOOST_CFLAGS} + -DEXTRA_COMPILE_FLAGS:STRING=-I${Libxml2_INCLUDE_DIRS} + "-DCMAKE_SHARED_LINKER_FLAGS:STRING=-L${Minizip_LIBRARY_DIRS} ${BOOST_LIBS}" + -DBoost_FILESYSTEM_LIBRARY:STRING=boost_filesystem${BOOST_LIBRARY_SUFFIX} + -DBoost_SYSTEM_LIBRARY:STRING=boost_system${BOOST_LIBRARY_SUFFIX} + -DZLIB_LIBRARIES:STRING=${Libxml2_LIBRARIES} + -DOPT_COLLADA14:BOOL=ON + -DCOLLADA_DOM_INCLUDE_INSTALL_DIR:PATH=${LIBS_PREBUILT_DIR}/include/collada + ) + if( ${COLLADADOM_RESULT} ) execute_process( - COMMAND sed -i "" -e "s/SHARED/STATIC/g" 1.4/CMakeLists.txt - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src - ) - try_compile(COLLADADOM_RESULT - PROJECT colladadom - SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8 - BINARY_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8 - TARGET collada14dom - CMAKE_FLAGS - -DCMAKE_CXX_STANDARD:STRING=17 - -DCMAKE_CXX_FLAGS:STRING=-I${Minizip_INCLUDE_DIRS} - -DCMAKE_SHARED_LINKER_FLAGS:STRING=-L${Minizip_LIBRARY_DIRS} - -DZLIB_LIBRARIES:STRING=${Libxml2_LIBRARIES} - -DBoost_FILESYSTEM_LIBRARY:STRING=boost_filesystem - -DBoost_SYSTEM_LIBRARY:STRING=boost_system - -DEXTRA_COMPILE_FLAGS:STRING=-I${Libxml2_INCLUDE_DIRS} - -DOPT_COLLADA14:BOOL=ON - -DCOLLADA_DOM_INCLUDE_INSTALL_DIR:FILEPATH=${LIBS_PREBUILT_DIR}/include/collada - -DCOLLADA_DOM_SOVERSION:STRING=0 - -DCOLLADA_DOM_VERSION:STRING=2.3-r8 + COMMAND ${CMAKE_MAKE_PROGRAM} install + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8 OUTPUT_VARIABLE colladadom_installed ) - if( ${COLLADADOM_RESULT} ) - file( - COPY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src/1.4/libcollada14dom.a - DESTINATION ${LIBS_PREBUILT_DIR}/lib/release - ) - endif( ${COLLADADOM_RESULT} ) - endif( DARWIN ) - if( ${COLLADADOM_RESULT} ) - file(REMOVE_RECURSE ${LIBS_PREBUILT_DIR}/include/collada/1.4) - file( - COPY - ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/include/1.4 - ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/include/1.5 - ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/include/dae - ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/include/dae.h - ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/include/dom.h - ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/include/modules - DESTINATION ${LIBS_PREBUILT_DIR}/include/collada + file(RENAME + ${ARCH_PREBUILT_DIRS}/libcollada14dom.a + ${ARCH_PREBUILT_DIRS_RELEASE}/libcollada14dom.a ) file(WRITE ${PREBUILD_TRACKING_DIR}/colladadom_installed "${colladadom_installed}") endif( ${COLLADADOM_RESULT} ) diff --git a/indra/newview/FixBundle.cmake.in b/indra/newview/FixBundle.cmake.in index 7f06249224..e2fa244577 100644 --- a/indra/newview/FixBundle.cmake.in +++ b/indra/newview/FixBundle.cmake.in @@ -187,9 +187,6 @@ execute_process( COMMAND lipo libbz2.1.0.8.dylib -thin ${CMAKE_OSX_ARCHITECTURES} -output libbz2.1.0.8.dylib - COMMAND lipo libcollada14dom.2.3-r8.dylib - -thin ${CMAKE_OSX_ARCHITECTURES} - -output libcollada14dom.2.3-r8.dylib COMMAND lipo libexpat.1.10.0.dylib -thin ${CMAKE_OSX_ARCHITECTURES} -output libexpat.1.10.0.dylib @@ -288,7 +285,6 @@ execute_process( Frameworks/libbrotlicommon.1.1.0.dylib Frameworks/libbrotlidec.1.1.0.dylib Frameworks/libbz2.1.0.8.dylib - Frameworks/libcollada14dom.2.3-r8.dylib Frameworks/libexpat.1.10.0.dylib Frameworks/libfreetype.6.dylib Frameworks/libhunspell-1.7.0.dylib diff --git a/indra/newview/FixPackage.cmake.in b/indra/newview/FixPackage.cmake.in index 074a6e5815..909e07885d 100644 --- a/indra/newview/FixPackage.cmake.in +++ b/indra/newview/FixPackage.cmake.in @@ -187,9 +187,6 @@ execute_process( COMMAND lipo libbz2.1.0.8.dylib -thin ${CMAKE_OSX_ARCHITECTURES} -output libbz2.1.0.8.dylib - COMMAND lipo libcollada14dom.2.3-r8.dylib - -thin ${CMAKE_OSX_ARCHITECTURES} - -output libcollada14dom.2.3-r8.dylib COMMAND lipo libexpat.1.10.0.dylib -thin ${CMAKE_OSX_ARCHITECTURES} -output libexpat.1.10.0.dylib @@ -288,7 +285,6 @@ execute_process( Frameworks/libbrotlicommon.1.1.0.dylib Frameworks/libbrotlidec.1.1.0.dylib Frameworks/libbz2.1.0.8.dylib - Frameworks/libcollada14dom.2.3-r8.dylib Frameworks/libexpat.1.10.0.dylib Frameworks/libfreetype.6.dylib Frameworks/libhunspell-1.7.0.dylib -- cgit v1.2.3 From 3a43831be63cd4b5d50c847270aff16ead6d96b1 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 27 Apr 2025 19:40:40 +0800 Subject: Config OpenSSL install dirs so it can make install so there's no need to have the long list of installed files. openssldir is set to isolate the files so they won't pollute the packages directory (which could lead to confusion). --- indra/cmake/OpenSSL.cmake | 130 ++++------------------------------------------ 1 file changed, 10 insertions(+), 120 deletions(-) diff --git a/indra/cmake/OpenSSL.cmake b/indra/cmake/OpenSSL.cmake index 43470032a9..8b9c737325 100644 --- a/indra/cmake/OpenSSL.cmake +++ b/indra/cmake/OpenSSL.cmake @@ -13,7 +13,7 @@ use_prebuilt_binary(openssl) if (DARWIN) execute_process( COMMAND lipo -archs libcrypto.a - WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/lib/release + WORKING_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE} OUTPUT_VARIABLE crypto_archs OUTPUT_STRIP_TRAILING_WHITESPACE ) @@ -23,12 +23,12 @@ use_prebuilt_binary(openssl) libcrypto.a -thin ${CMAKE_OSX_ARCHITECTURES} -output libcrypto.a - WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/lib/release + WORKING_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE} ) endif (NOT ${crypto_archs} STREQUAL ${CMAKE_OSX_ARCHITECTURES}) execute_process( COMMAND lipo -archs libssl.a - WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/lib/release + WORKING_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE} OUTPUT_VARIABLE ssl_archs OUTPUT_STRIP_TRAILING_WHITESPACE ) @@ -38,7 +38,7 @@ use_prebuilt_binary(openssl) libssl.a -thin ${CMAKE_OSX_ARCHITECTURES} -output libssl.a - WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/lib/release + WORKING_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE} ) endif (NOT ${ssl_archs} STREQUAL ${CMAKE_OSX_ARCHITECTURES}) endif (DARWIN) @@ -48,133 +48,23 @@ elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRA https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_1_1_1w.tar.gz ${CMAKE_BINARY_DIR}/OpenSSL_1_1_1w.tar.gz ) - endif (NOT EXISTS ${CMAKE_BINARY_DIR}/OpenSSL_1_1_1w.tar.gz) + endif () file(ARCHIVE_EXTRACT INPUT ${CMAKE_BINARY_DIR}/OpenSSL_1_1_1w.tar.gz DESTINATION ${CMAKE_BINARY_DIR} ) execute_process( - COMMAND ./config no-shared + COMMAND ./config no-shared --openssldir=${LIBS_PREBUILT_DIR}/ssl --prefix=${LIBS_PREBUILT_DIR} --libdir=${ARCH_PREBUILT_DIRS_RELEASE} WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w ) execute_process( COMMAND make -j${MAKE_JOBS} WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w - RESULT_VARIABLE openssl_installed - ) - file( - COPY - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/aes.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/asn1.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/asn1_mac.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/asn1err.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/asn1t.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/async.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/asyncerr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/bio.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/bioerr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/blowfish.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/bn.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/bnerr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/buffer.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/buffererr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/camellia.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/cast.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/cmac.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/cms.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/cmserr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/comp.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/comperr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/conf.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/conf_api.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/conferr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/crypto.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/cryptoerr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/ct.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/cterr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/des.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/dh.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/dherr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/dsa.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/dsaerr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/dtls1.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/e_os2.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/ebcdic.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/ec.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/ecdh.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/ecdsa.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/ecerr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/engine.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/engineerr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/err.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/evp.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/evperr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/hmac.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/idea.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/kdf.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/kdferr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/lhash.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/md2.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/md4.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/md5.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/mdc2.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/modes.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/obj_mac.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/objects.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/objectserr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/ocsp.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/ocsperr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/opensslconf.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/opensslv.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/ossl_typ.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/pem.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/pem2.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/pemerr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/pkcs12.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/pkcs12err.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/pkcs7.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/pkcs7err.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/rand.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/rand_drbg.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/randerr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/rc2.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/rc4.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/rc5.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/ripemd.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/rsa.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/rsaerr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/safestack.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/seed.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/sha.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/srp.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/srtp.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/ssl.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/ssl2.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/ssl3.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/sslerr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/stack.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/store.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/storeerr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/symhacks.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/tls1.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/ts.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/tserr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/txt_db.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/ui.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/uierr.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/whrlpool.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/x509.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/x509_vfy.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/x509err.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/x509v3.h - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/include/openssl/x509v3err.h - DESTINATION ${LIBS_PREBUILT_DIR}/include/openssl ) - file( - COPY - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/libcrypto.a - ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w/libssl.a - DESTINATION ${LIBS_PREBUILT_DIR}/lib/release + execute_process( + COMMAND make install + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/openssl-OpenSSL_1_1_1w + RESULT_VARIABLE openssl_installed ) file(WRITE ${PREBUILD_TRACKING_DIR}/openssl_installed "${openssl_installed}") endif (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR DARWIN OR NOT USESYSTEMLIBS) -- cgit v1.2.3 From 211f9a7ff5ea50a60d4b57a75d956ed419f426d3 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 27 Apr 2025 19:44:29 +0800 Subject: Config libcurl install dirs so it can make install Same as reason as previous commit, plus the moving of OpenSSL libs up 1 directory is still needed. --- indra/cmake/CURL.cmake | 38 ++++++++++++-------------------------- 1 file changed, 12 insertions(+), 26 deletions(-) diff --git a/indra/cmake/CURL.cmake b/indra/cmake/CURL.cmake index 7f50975ea8..9e9bbce47b 100644 --- a/indra/cmake/CURL.cmake +++ b/indra/cmake/CURL.cmake @@ -13,7 +13,7 @@ use_prebuilt_binary(curl) if (DARWIN) execute_process( COMMAND lipo -archs libcurl.a - WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/lib/release + WORKING_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE} OUTPUT_VARIABLE curl_archs OUTPUT_STRIP_TRAILING_WHITESPACE ) @@ -23,7 +23,7 @@ use_prebuilt_binary(curl) libcurl.a -thin ${CMAKE_OSX_ARCHITECTURES} -output libcurl.a - WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/lib/release + WORKING_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE} ) endif (NOT ${curl_archs} STREQUAL ${CMAKE_OSX_ARCHITECTURES}) endif (DARWIN) @@ -46,23 +46,9 @@ elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRA endif () file( COPY - ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1/curl/include/curl/curl.h - ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1/curl/include/curl/curlbuild.h - ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1/curl/include/curl/curlrules.h - ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1/curl/include/curl/curlver.h - ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1/curl/include/curl/easy.h - ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1/curl/include/curl/mprintf.h - ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1/curl/include/curl/multi.h - ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1/curl/include/curl/stdcheaders.h - ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1/curl/include/curl/system.h - ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1/curl/include/curl/typecheck-gcc.h - DESTINATION ${LIBS_PREBUILT_DIR}/include/curl - ) - file( - COPY - ${LIBS_PREBUILT_DIR}/lib/release/libcrypto.a - ${LIBS_PREBUILT_DIR}/lib/release/libssl.a - DESTINATION ${LIBS_PREBUILT_DIR}/lib + ${ARCH_PREBUILT_DIRS_RELEASE}/libcrypto.a + ${ARCH_PREBUILT_DIRS_RELEASE}/libssl.a + DESTINATION ${ARCH_PREBUILT_DIRS} ) if (CMAKE_SYSTEM_NAME MATCHES FreeBSD) message("We need to temporarily have OpenSSL3 header directory and libraries renamed just until the libcurl building process with OpenSSL1.1 now is finished.") @@ -74,18 +60,18 @@ elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRA endif (CMAKE_SYSTEM_NAME MATCHES FreeBSD) set(ENV{CFLAGS} "-std=c90") execute_process( - COMMAND ./configure --disable-alt-svc --disable-dict --disable-doh --disable-file --disable-gopher --disable-headers-api --disable-hsts --disable-imap --disable-ldap --disable-ldaps --disable-libcurl-option --disable-manual --disable-mqtt --disable-ntlm --disable-ntlm-wb --disable-pop3 --disable-rtsp --disable-shared --disable-smb --disable-smtp --disable-sspi --disable-telnet --disable-tftp --disable-tls-srp --disable-unix-sockets --disable-verbose --disable-versioned-symbols --enable-threaded-resolver --with-ssl=${LIBS_PREBUILT_DIR} --without-libidn2 --without-libpsl --without-libssh2 + COMMAND ./configure --disable-alt-svc --disable-dict --disable-doh --disable-file --disable-gopher --disable-headers-api --disable-hsts --disable-imap --disable-ldap --disable-ldaps --disable-libcurl-option --disable-manual --disable-mqtt --disable-ntlm --disable-ntlm-wb --disable-pop3 --disable-rtsp --disable-shared --disable-smb --disable-smtp --disable-sspi --disable-telnet --disable-tftp --disable-tls-srp --disable-unix-sockets --disable-verbose --disable-versioned-symbols --enable-threaded-resolver --with-ssl=${LIBS_PREBUILT_DIR} --without-libidn2 --without-libpsl --without-libssh2 --prefix=${LIBS_PREBUILT_DIR} --libdir=${ARCH_PREBUILT_DIRS_RELEASE} WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1/curl ) execute_process( COMMAND make -j${MAKE_JOBS} WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1/curl - RESULT_VARIABLE curl_installed ) unset(ENV{CFLAGS}) - file( - COPY ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1/curl/lib/.libs/libcurl.a - DESTINATION ${LIBS_PREBUILT_DIR}/lib/release + execute_process( + COMMAND make install + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1/curl + RESULT_VARIABLE curl_installed ) if (CMAKE_SYSTEM_NAME MATCHES FreeBSD) execute_process(COMMAND sudo mv /usr/include/openssl3 /usr/include/openssl) @@ -96,8 +82,8 @@ elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRA message("OpenSSL3 header directory and library names have been restored.") endif (CMAKE_SYSTEM_NAME MATCHES FreeBSD) file(REMOVE - ${LIBS_PREBUILT_DIR}/lib/libcrypto.a - ${LIBS_PREBUILT_DIR}/lib/libssl.a + ${ARCH_PREBUILT_DIRS}/libcrypto.a + ${ARCH_PREBUILT_DIRS}/libssl.a ) file(WRITE ${PREBUILD_TRACKING_DIR}/curl_installed "${curl_installed}") endif (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR DARWIN OR NOT USESYSTEMLIBS) -- cgit v1.2.3 From bdb253731ed4ae3276e2da5a5d72ae8866f99eed Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 27 Apr 2025 19:45:59 +0800 Subject: Reseparate target_include_directories condition check The two conditions might not be exclusive for some platforms (in another branch). --- indra/llcommon/CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt index 7c49eb8904..a76a134ec6 100644 --- a/indra/llcommon/CMakeLists.txt +++ b/indra/llcommon/CMakeLists.txt @@ -300,10 +300,12 @@ if (CMAKE_OSX_ARCHITECTURES MATCHES arm64 OR CMAKE_SYSTEM_PROCESSOR MATCHES aarc file(WRITE ${PREBUILD_TRACKING_DIR}/sse2neon_installed "0") endif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/sse2neon_installed OR NOT ${sse2neon_installed} EQUAL 0) target_include_directories(llcommon PUBLIC ${LIBS_PREBUILT_DIR}/include/sse2neon) -elseif (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu) OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed)) - target_include_directories(llcommon PUBLIC ${LIBS_PREBUILT_DIR}/include) endif (CMAKE_OSX_ARCHITECTURES MATCHES arm64 OR CMAKE_SYSTEM_PROCESSOR MATCHES aarch64) +if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu) OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed)) + target_include_directories(llcommon PUBLIC ${LIBS_PREBUILT_DIR}/include) +endif () + if (USE_AUTOBUILD_3P OR USE_CONAN) add_dependencies(llcommon stage_third_party_libs) else () -- cgit v1.2.3 From 7cd7110c3b29ce74b1abe0cf307015e49199d766 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 27 Apr 2025 19:52:04 +0800 Subject: Replace USE_AUTOBUILD_3P OR USE_CONAN with USESYSTEMLIBS Simpler. --- indra/cmake/APR.cmake | 2 +- indra/cmake/Audio.cmake | 2 +- indra/cmake/OPENAL.cmake | 2 +- indra/cmake/xxHash.cmake | 2 +- indra/llcommon/CMakeLists.txt | 4 ++-- indra/llimage/CMakeLists.txt | 2 +- indra/llmessage/CMakeLists.txt | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/indra/cmake/APR.cmake b/indra/cmake/APR.cmake index 506f792570..78c536e9d4 100644 --- a/indra/cmake/APR.cmake +++ b/indra/cmake/APR.cmake @@ -5,7 +5,7 @@ include_guard() add_library( ll::apr INTERFACE IMPORTED ) -if (NOT (USE_AUTOBUILD_3P OR USE_CONAN)) +if (USESYSTEMLIBS) include(FindPkgConfig) pkg_check_modules(Apr REQUIRED apr-1 apr-util-1) target_include_directories(ll::apr SYSTEM INTERFACE ${Apr_INCLUDE_DIRS}) diff --git a/indra/cmake/Audio.cmake b/indra/cmake/Audio.cmake index 3c4c0ef1a7..514d283e76 100644 --- a/indra/cmake/Audio.cmake +++ b/indra/cmake/Audio.cmake @@ -5,7 +5,7 @@ include(Prebuilt) include_guard() add_library( ll::vorbis INTERFACE IMPORTED ) -if (NOT (USE_AUTOBUILD_3P OR USE_CONAN)) +if (USESYSTEMLIBS) include(FindPkgConfig) pkg_check_modules(Vorbis REQUIRED ogg vorbis vorbisenc vorbisfile) target_include_directories(ll::vorbis SYSTEM INTERFACE ${Vorbis_INCLUDE_DIRS}) diff --git a/indra/cmake/OPENAL.cmake b/indra/cmake/OPENAL.cmake index 6555027dc1..f2eb956e2e 100644 --- a/indra/cmake/OPENAL.cmake +++ b/indra/cmake/OPENAL.cmake @@ -19,7 +19,7 @@ endif() if (USE_OPENAL) add_library( ll::openal INTERFACE IMPORTED ) - if (NOT (USE_AUTOBUILD_3P OR USE_CONAN)) + if (USESYSTEMLIBS) target_compile_definitions( ll::openal INTERFACE LL_OPENAL=1) include(FindPkgConfig) pkg_check_modules(Openal REQUIRED freealut) diff --git a/indra/cmake/xxHash.cmake b/indra/cmake/xxHash.cmake index 2dcab005ba..7e113feda2 100644 --- a/indra/cmake/xxHash.cmake +++ b/indra/cmake/xxHash.cmake @@ -6,7 +6,7 @@ set (XXHASH_CMAKE_INCLUDED TRUE) include(Prebuilt) -if (NOT (USE_AUTOBUILD_3P OR USE_CONAN)) +if (USESYSTEMLIBS) include(FindPkgConfig) pkg_check_modules(Xxhash REQUIRED libxxhash) return () diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt index a76a134ec6..6aec3aada7 100644 --- a/indra/llcommon/CMakeLists.txt +++ b/indra/llcommon/CMakeLists.txt @@ -8,7 +8,7 @@ include(bugsplat) include(Linking) include(Boost) include(LLSharedLibs) -if (USE_AUTOBUILD_3P OR USE_CONAN) +if (NOT USESYSTEMLIBS) include(Copy3rdPartyLibs) endif () include(ZLIBNG) @@ -306,7 +306,7 @@ if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu) OR (${LIN target_include_directories(llcommon PUBLIC ${LIBS_PREBUILT_DIR}/include) endif () -if (USE_AUTOBUILD_3P OR USE_CONAN) +if (NOT USESYSTEMLIBS) add_dependencies(llcommon stage_third_party_libs) else () target_compile_options(${PROJECT_NAME} PUBLIC -Wno-deprecated-declarations) diff --git a/indra/llimage/CMakeLists.txt b/indra/llimage/CMakeLists.txt index f55d9fdf5e..30a79076ab 100644 --- a/indra/llimage/CMakeLists.txt +++ b/indra/llimage/CMakeLists.txt @@ -67,7 +67,7 @@ target_link_libraries(llimage ll::libjpeg ) -if (NOT (USE_AUTOBUILD_3P OR USE_CONAN)) +if (USESYSTEMLIBS) if (CMAKE_CXX_COMPILER_ID MATCHES "GNU") set_source_files_properties(llimageworker.cpp PROPERTIES COMPILE_FLAGS -Wno-int-in-bool-context) set_source_files_properties( diff --git a/indra/llmessage/CMakeLists.txt b/indra/llmessage/CMakeLists.txt index 5ca62352a3..43e9c580dc 100644 --- a/indra/llmessage/CMakeLists.txt +++ b/indra/llmessage/CMakeLists.txt @@ -197,7 +197,7 @@ target_link_libraries( ) target_include_directories( llmessage INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) -if (NOT (USE_AUTOBUILD_3P OR USE_CONAN)) +if (USESYSTEMLIBS) if (CMAKE_CXX_COMPILER_ID MATCHES "GNU") set_source_files_properties(llnamevalue.cpp PROPERTIES COMPILE_FLAGS -Wno-stringop-truncation) -- cgit v1.2.3 From b5c230ab68f6c3e10acb53f4e186c44812696957 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 27 Apr 2025 20:03:09 +0800 Subject: Replace {.._DIR}/lib/release with ARCH_PREBUILT_DIRS_RELEASE Shorter. --- indra/cmake/FMODSTUDIO.cmake | 8 ++++---- indra/cmake/WebRTC.cmake | 6 +++--- indra/media_plugins/cef/CMakeLists.txt | 12 ++++++------ indra/newview/ViewerInstall.cmake | 8 ++++---- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/indra/cmake/FMODSTUDIO.cmake b/indra/cmake/FMODSTUDIO.cmake index d97251885f..35ce932c1a 100644 --- a/indra/cmake/FMODSTUDIO.cmake +++ b/indra/cmake/FMODSTUDIO.cmake @@ -31,7 +31,7 @@ if (USE_FMODSTUDIO) # as accessing the private LL location will fail if you don't have the credential include(Prebuilt) if (USESYSTEMLIBS AND (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/fmodstudio_installed OR NOT ${fmodstudio_installed} EQUAL 0)) - file(MAKE_DIRECTORY ${LIBS_PREBUILT_DIR}/lib/release) + file(MAKE_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE}) if (DARWIN) execute_process( COMMAND hdiutil attach -noverify fmodstudioapi20228mac-installer.dmg @@ -53,7 +53,7 @@ if (USE_FMODSTUDIO) COMMAND lipo lib/libfmod.dylib -thin ${CMAKE_OSX_ARCHITECTURES} - -output ${LIBS_PREBUILT_DIR}/lib/release/libfmod.dylib + -output ${ARCH_PREBUILT_DIRS_RELEASE}/libfmod.dylib WORKING_DIRECTORY /Volumes/FMOD\ Programmers\ API\ Mac/FMOD\ Programmers\ API/api/core ) execute_process( @@ -85,7 +85,7 @@ if (USE_FMODSTUDIO) ${CMAKE_BINARY_DIR}/fmodstudioapi20228linux/api/core/lib/arm64/libfmod.so ${CMAKE_BINARY_DIR}/fmodstudioapi20228linux/api/core/lib/arm64/libfmod.so.13 ${CMAKE_BINARY_DIR}/fmodstudioapi20228linux/api/core/lib/arm64/libfmod.so.13.28 - DESTINATION ${LIBS_PREBUILT_DIR}/lib/release + DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE} FOLLOW_SYMLINK_CHAIN ) else () @@ -94,7 +94,7 @@ if (USE_FMODSTUDIO) ${CMAKE_BINARY_DIR}/fmodstudioapi20228linux/api/core/lib/${CMAKE_SYSTEM_PROCESSOR}/libfmod.so ${CMAKE_BINARY_DIR}/fmodstudioapi20228linux/api/core/lib/${CMAKE_SYSTEM_PROCESSOR}/libfmod.so.13 ${CMAKE_BINARY_DIR}/fmodstudioapi20228linux/api/core/lib/${CMAKE_SYSTEM_PROCESSOR}/libfmod.so.13.28 - DESTINATION ${LIBS_PREBUILT_DIR}/lib/release + DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE} FOLLOW_SYMLINK_CHAIN ) endif (CMAKE_SYSTEM_PROCESSOR MATCHES aarch64) diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake index a5c821f32a..19457924d8 100644 --- a/indra/cmake/WebRTC.cmake +++ b/indra/cmake/WebRTC.cmake @@ -65,13 +65,13 @@ elseif (NOT (WINDOWS OR CMAKE_SYSTEM_NAME MATCHES FreeBSD)) endforeach() file(RENAME ${LIBS_PREBUILT_DIR}/lib/libwebrtc.a - ${LIBS_PREBUILT_DIR}/lib/release/libwebrtc.a + ${ARCH_PREBUILT_DIRS_RELEASE}/libwebrtc.a ) if (CMAKE_OSX_ARCHITECTURES MATCHES arm64) - file(REMOVE_RECURSE ${LIBS_PREBUILT_DIR}/lib/release/WebRTC.framework) + file(REMOVE_RECURSE ${ARCH_PREBUILT_DIRS_RELEASE}/WebRTC.framework) file(RENAME ${LIBS_PREBUILT_DIR}/Frameworks/WebRTC.xcframework/${WEBRTC_PLATFORM}/WebRTC.framework - ${LIBS_PREBUILT_DIR}/lib/release/WebRTC.framework + ${ARCH_PREBUILT_DIRS_RELEASE}/WebRTC.framework ) file(REMOVE_RECURSE ${LIBS_PREBUILT_DIR}/Frameworks) endif (CMAKE_OSX_ARCHITECTURES MATCHES arm64) diff --git a/indra/media_plugins/cef/CMakeLists.txt b/indra/media_plugins/cef/CMakeLists.txt index bf1e990450..99810d77d8 100644 --- a/indra/media_plugins/cef/CMakeLists.txt +++ b/indra/media_plugins/cef/CMakeLists.txt @@ -140,15 +140,15 @@ if (INSTALL) if (DARWIN) set(_LIB llplugin) install( - DIRECTORY "${AUTOBUILD_INSTALL_DIR}/lib/release/Chromium Embedded Framework.framework" + DIRECTORY "${ARCH_PREBUILT_DIRS_RELEASE}/Chromium Embedded Framework.framework" DESTINATION ../Frameworks ) install( DIRECTORY - "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper.app" - "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (GPU).app" - "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (Plugin).app" - "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (Renderer).app" + "${ARCH_PREBUILT_DIRS_RELEASE}/DullahanHelper.app" + "${ARCH_PREBUILT_DIRS_RELEASE}/DullahanHelper (GPU).app" + "${ARCH_PREBUILT_DIRS_RELEASE}/DullahanHelper (Plugin).app" + "${ARCH_PREBUILT_DIRS_RELEASE}/DullahanHelper (Renderer).app" DESTINATION SLPlugin.app/Contents/Frameworks ) elseif (LINUX) @@ -178,7 +178,7 @@ if (INSTALL) endif (${LINUX_DISTRO} MATCHES arch) install( FILES - ${AUTOBUILD_INSTALL_DIR}/lib/release/libcef.so + ${ARCH_PREBUILT_DIRS_RELEASE}/libcef.so ${AUTOBUILD_INSTALL_DIR}/bin/release/snapshot_blob.bin ${AUTOBUILD_INSTALL_DIR}/bin/release/v8_context_snapshot.bin ${AUTOBUILD_INSTALL_DIR}/resources/chrome_100_percent.pak diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake index 4716cdde36..1281136cef 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -66,7 +66,7 @@ if (DARWIN) if (NDOF) install(FILES - "${AUTOBUILD_INSTALL_DIR}/lib/release/libndofdev.dylib" + "${ARCH_PREBUILT_DIRS_RELEASE}/libndofdev.dylib" DESTINATION . ) endif () @@ -110,9 +110,9 @@ if (LINUX) endif () if (USE_FMODSTUDIO) install(FILES - ${AUTOBUILD_INSTALL_DIR}/lib/release/libfmod.so - ${AUTOBUILD_INSTALL_DIR}/lib/release/libfmod.so.13 - ${AUTOBUILD_INSTALL_DIR}/lib/release/libfmod.so.13.28 + ${ARCH_PREBUILT_DIRS_RELEASE}/libfmod.so + ${ARCH_PREBUILT_DIRS_RELEASE}/libfmod.so.13 + ${ARCH_PREBUILT_DIRS_RELEASE}/libfmod.so.13.28 DESTINATION ${_LIB}) endif (USE_FMODSTUDIO) endif (LINUX) -- cgit v1.2.3 From b04cc0b90ab93141d3ffc77bceb241da41c37ace Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 27 Apr 2025 20:21:11 +0800 Subject: Add dependency on libgles-dev on Debian/Ubuntu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thanks to Jenni Windrider for the bug report and solution. On startup, the log gets flooded with: [0426/150813.911339:ERROR:viz_main_impl.cc(196)] Exiting GPU process due to errors during initialization [0426/150813.918965:ERROR:egl_util.cc(44)] Failed to load GLES library: /usr/lib/x86_64-linux-gnu/libGLESv2.so: /usr/lib/x86_64-linux-gnu/libGLESv2.so: cannot open shared object file: No such file or directory doing a ls shows there's indeed no libGLESv2.so: ll /usr/lib/x86_64-linux-gnu/libGLESv2* - rw-r--r-- root root 110.39K 18.Mar'25 15:10  libGLESv2_nvidia.so.2 - rw-r--r-- root root 110.39K 18.Mar'25 15:10  libGLESv2_nvidia.so.570.133.07 - rw-r--r-- root root 70.30K 08.Apr'24 10:04  libGLESv2.so.2 - rw-r--r-- root root 70.30K 08.Apr'24 10:04  libGLESv2.so.2.1.0 The package that provides this isn't installed by default: apt-file search libGLESv2.so libgles-dev: /usr/lib/x86_64-linux-gnu/libGLESv2.so So installing libgles-dev fixes that. --- indra/newview/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 8d7f37142f..b6100c05bc 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -2167,11 +2167,11 @@ if (LINUX) CACHE STRING "Debian package section.") if (${LINUX_DISTRO} MATCHES debian) set(CPACK_DEBIAN_PACKAGE_DEPENDS - "libalut0, libaprutil1, libboost-fiber1.81.0, libboost-filesystem1.81.0, libboost-program-options1.81.0, libboost-regex1.81.0, libboost-thread1.81.0, libboost-url1.81.0, libexpat1, libfltk1.3, libglu1-mesa, libhunspell-1.7-0, libmeshoptimizer2d, libminizip1, libnghttp2-14, libsdl2-2.0-0, libvlc5, libvorbisenc2, libvorbisfile3, vlc-plugin-base" + "libalut0, libaprutil1, libboost-fiber1.81.0, libboost-filesystem1.81.0, libboost-program-options1.81.0, libboost-regex1.81.0, libboost-thread1.81.0, libboost-url1.81.0, libexpat1, libfltk1.3, libgles-dev, libglu1-mesa, libhunspell-1.7-0, libmeshoptimizer2d, libminizip1, libnghttp2-14, libsdl2-2.0-0, libvlc5, libvorbisenc2, libvorbisfile3, vlc-plugin-base" CACHE STRING "Debian package dependencies.") elseif (${LINUX_DISTRO} MATCHES ubuntu) set(CPACK_DEBIAN_PACKAGE_DEPENDS - "libaprutil1t64, libboost-fiber1.83.0, libboost-filesystem1.83.0, libboost-program-options1.83.0, libboost-regex1.83.0, libboost-thread1.83.0, libboost-url1.83.0, libexpat1, libfltk1.3t64, libglu1-mesa, libhunspell-1.7-0, libmeshoptimizer2d, libminizip1, libnghttp2-14, libsdl2-2.0-0, libvlc5, libvorbisenc2, libvorbisfile3, vlc-plugin-base" + "libaprutil1t64, libboost-fiber1.83.0, libboost-filesystem1.83.0, libboost-program-options1.83.0, libboost-regex1.83.0, libboost-thread1.83.0, libboost-url1.83.0, libexpat1, libfltk1.3t64, libgles-dev, libglu1-mesa, libhunspell-1.7-0, libmeshoptimizer2d, libminizip1, libnghttp2-14, libsdl2-2.0-0, libvlc5, libvorbisenc2, libvorbisfile3, vlc-plugin-base" CACHE STRING "Debian package dependencies.") endif (${LINUX_DISTRO} MATCHES debian) elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed)) -- cgit v1.2.3