diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/cmake/OpenJPEG.cmake | 89 | ||||
| -rw-r--r-- | indra/llimagej2coj/llimagej2coj.cpp | 7 | ||||
| -rw-r--r-- | indra/media_plugins/cef/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | indra/media_plugins/libvlc/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | indra/newview/CMakeLists.txt | 6 | ||||
| -rw-r--r-- | indra/newview/FixBundle.cmake.in | 9 | ||||
| -rw-r--r-- | indra/newview/FixPackage.cmake.in | 9 | ||||
| -rw-r--r-- | indra/newview/PKGBUILD.in | 2 | 
8 files changed, 80 insertions, 44 deletions
| diff --git a/indra/cmake/OpenJPEG.cmake b/indra/cmake/OpenJPEG.cmake index 781298afbd..5729f6a10e 100644 --- a/indra/cmake/OpenJPEG.cmake +++ b/indra/cmake/OpenJPEG.cmake @@ -5,54 +5,69 @@ include_guard()  add_library( ll::openjpeg INTERFACE IMPORTED )  #use_system_binary(openjpeg) -if (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64) -use_prebuilt_binary(openjpeg) -elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/openjpeg_installed OR NOT ${openjpeg_installed} EQUAL 0) -  if (NOT EXISTS ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248.tar.gz) +#use_prebuilt_binary(openjpeg) + +if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/openjpeg_installed OR NOT ${openjpeg_installed} EQUAL 0) +  if (NOT EXISTS ${CMAKE_BINARY_DIR}/openjpeg-2.5.3.tar.gz)      file(DOWNLOAD -      https://github.com/secondlife/3p-openjpeg/archive/refs/tags/v2.5.0.ea12248.tar.gz -      ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248.tar.gz +      https://github.com/uclouvain/openjpeg/archive/refs/tags/v2.5.3.tar.gz +      ${CMAKE_BINARY_DIR}/openjpeg-2.5.3.tar.gz        )    endif ()    file(ARCHIVE_EXTRACT -    INPUT ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248.tar.gz +    INPUT ${CMAKE_BINARY_DIR}/openjpeg-2.5.3.tar.gz      DESTINATION ${CMAKE_BINARY_DIR}      ) -  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}) + +  if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu)) +    try_compile(OPENJPEG_RESULT +      PROJECT OPENJPEG +      SOURCE_DIR ${CMAKE_BINARY_DIR}/openjpeg-2.5.3 +      BINARY_DIR ${CMAKE_BINARY_DIR}/openjpeg-2.5.3 +      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}/openjpeg-2.5.3 +        OUTPUT_VARIABLE openjpeg_installed +        ) +    endif () + +  else ()      execute_process( -      COMMAND ${CMAKE_MAKE_PROGRAM} install -      WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg +      COMMAND ${CMAKE_COMMAND} -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 +      WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/openjpeg-2.5.3        OUTPUT_VARIABLE openjpeg_installed        ) -    file(RENAME -      ${LIBS_PREBUILT_DIR}/include/openjpeg-2.5 -      ${LIBS_PREBUILT_DIR}/include/openjpeg -      ) -    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/opj_config_private.h -      DESTINATION ${LIBS_PREBUILT_DIR}/include/openjpeg -      ) -    file(WRITE ${PREBUILD_TRACKING_DIR}/openjpeg_installed "${openjpeg_installed}")    endif () + +  file( +    COPY +      ${CMAKE_BINARY_DIR}/openjpeg-2.5.3/src/lib/openjp2/cio.h +      ${CMAKE_BINARY_DIR}/openjpeg-2.5.3/src/lib/openjp2/event.h +      ${CMAKE_BINARY_DIR}/openjpeg-2.5.3/src/lib/openjp2/opj_config_private.h +    DESTINATION ${LIBS_PREBUILT_DIR}/include/openjpeg-2.5 +    ) +  file(WRITE ${PREBUILD_TRACKING_DIR}/openjpeg_installed "${openjpeg_installed}")  endif () +if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu))  target_link_libraries(ll::openjpeg INTERFACE openjp2 ) +else () +    include(FindPkgConfig) +    pkg_check_modules(Openjpeg REQUIRED libopenjp2) +    target_include_directories(ll::openjpeg SYSTEM INTERFACE ${Openjpeg_INCLUDE_DIRS}) +    target_link_directories(ll::openjpeg INTERFACE ${Openjpeg_LIBRARY_DIRS}) +    target_link_libraries(ll::openjpeg INTERFACE ${Openjpeg_LIBRARIES}) +endif ()  target_include_directories( ll::openjpeg SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include) diff --git a/indra/llimagej2coj/llimagej2coj.cpp b/indra/llimagej2coj/llimagej2coj.cpp index 1c6b9e423c..04b527d783 100644 --- a/indra/llimagej2coj/llimagej2coj.cpp +++ b/indra/llimagej2coj/llimagej2coj.cpp @@ -28,9 +28,9 @@  #include "llimagej2coj.h"  // this is defined so that we get static linking. -#include <openjpeg/openjpeg.h> -#include <openjpeg/event.h> -#include <openjpeg/cio.h> +#include <openjpeg-2.5/openjpeg.h> +#include <openjpeg-2.5/event.h> +#include <openjpeg-2.5/cio.h>  #define MAX_ENCODED_DISCARD_LEVELS 5 @@ -617,6 +617,7 @@ public:          for (S32 c = 0; c < numcomps; c++)          {              cmptparm[c].prec = 8; +            cmptparm[c].bpp = 8;              cmptparm[c].sgnd = 0;              cmptparm[c].dx = parameters.subsampling_dx;              cmptparm[c].dy = parameters.subsampling_dy; diff --git a/indra/media_plugins/cef/CMakeLists.txt b/indra/media_plugins/cef/CMakeLists.txt index 99810d77d8..be016eadc4 100644 --- a/indra/media_plugins/cef/CMakeLists.txt +++ b/indra/media_plugins/cef/CMakeLists.txt @@ -112,6 +112,7 @@ if (DARWIN)    add_custom_command(TARGET media_plugin_cef      POST_BUILD COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change "@executable_path/Chromium Embedded Framework"          "@executable_path/../../../../Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework" +        -change "/opt/local/lib/libopenjp2.7.dylib" "@loader_path/../../Frameworks/libopenjp2.7.dylib"          -change "/opt/local/lib/libpng16.16.dylib" "@loader_path/../../Frameworks/libpng16.16.dylib"          -change "/opt/local/lib/libjpeg.8.dylib" "@loader_path/../../Frameworks/libjpeg.8.dylib"          -change "/opt/local/lib/libfreetype.6.dylib" "@loader_path/../../Frameworks/libfreetype.6.dylib" diff --git a/indra/media_plugins/libvlc/CMakeLists.txt b/indra/media_plugins/libvlc/CMakeLists.txt index 547733496f..e99f25a1df 100644 --- a/indra/media_plugins/libvlc/CMakeLists.txt +++ b/indra/media_plugins/libvlc/CMakeLists.txt @@ -49,6 +49,7 @@ if (DARWIN)    add_custom_command(TARGET ${PROJECT_NAME}      POST_BUILD COMMAND ${CMAKE_INSTALL_NAME_TOOL} +        -change "/opt/local/lib/libopenjp2.7.dylib" "@loader_path/../../Frameworks/libopenjp2.7.dylib"          -change "/opt/local/lib/libpng16.16.dylib" "@loader_path/../../Frameworks/libpng16.16.dylib"          -change "/opt/local/lib/libjpeg.8.dylib" "@loader_path/../../Frameworks/libjpeg.8.dylib"          -change "/opt/local/lib/libfreetype.6.dylib" "@loader_path/../../Frameworks/libfreetype.6.dylib" diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 718579078a..25c4926835 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -2185,10 +2185,10 @@ if (LINUX)        set(CPACK_RPM_PACKAGE_DESCRIPTION ${VIEWER_PACKAGE_DESCRIPTION}          CACHE STRING "RPM package description.")        if (${LINUX_DISTRO} MATCHES fedora) -        set(CPACK_RPM_PACKAGE_REQUIRES "apr-util, boost-fiber, boost-program-options, boost-regex, boost-thread, boost-url, expat, fltk, mesa-libGLU, hunspell, libnghttp2, SDL2, vlc-libs, vlc-plugins-base, libvorbis" +        set(CPACK_RPM_PACKAGE_REQUIRES "apr-util, boost-fiber, boost-program-options, boost-regex, boost-thread, boost-url, expat, fltk, mesa-libGLU, hunspell, libnghttp2, openjpeg2, SDL2, vlc-libs, vlc-plugins-base, libvorbis"            CACHE STRING "RPM package requirements.")        else () -        set(CPACK_RPM_PACKAGE_REQUIRES "libapr-util1-0, libboost_fiber1_87_0, libboost_program_options1_87_0, libboost_regex1_87_0, libboost_thread1_87_0, libboost_url1_87_0, libboost_url1_87_0-x86-64-v3, expat, libfltk1_3, libGLU1, libhunspell-1_7-0, libnghttp2-14, libSDL2-2_0-0, libvlc5, vlc-codecs, libvorbis0" +        set(CPACK_RPM_PACKAGE_REQUIRES "libapr-util1-0, libboost_fiber1_87_0, libboost_program_options1_87_0, libboost_regex1_87_0, libboost_thread1_87_0, libboost_url1_87_0, libboost_url1_87_0-x86-64-v3, expat, libfltk1_3, libGLU1, libhunspell-1_7-0, libnghttp2-14, openjpeg2, libSDL2-2_0-0, libvlc5, vlc-codecs, libvorbis0"            CACHE STRING "RPM package requirements.")        endif ()      endif () @@ -2307,7 +2307,7 @@ else (LINUX)        CACHE STRING "FreeBSD package maintainer.")      set(CPACK_FREEBSD_PACKAGE_ORIGIN net/${VIEWER_BINARY_NAME}        CACHE STRING "FreeBSD package origin.") -    set(CPACK_FREEBSD_PACKAGE_DEPS "audio/freealut;graphics/libGLU;textproc/hunspell;misc/meshoptimizer;archivers/minizip;www/libnghttp2;multimedia/vlc;audio/libvorbis" +    set(CPACK_FREEBSD_PACKAGE_DEPS "audio/freealut;graphics/libGLU;textproc/hunspell;misc/meshoptimizer;archivers/minizip;www/libnghttp2;graphics/openjpeg;multimedia/vlc;audio/libvorbis"        CACHE STRING "FreeBSD package dependencies.")    endif () diff --git a/indra/newview/FixBundle.cmake.in b/indra/newview/FixBundle.cmake.in index e2fa244577..829c19e5e4 100644 --- a/indra/newview/FixBundle.cmake.in +++ b/indra/newview/FixBundle.cmake.in @@ -10,6 +10,11 @@ file(CREATE_LINK      SYMBOLIC      )  file(CREATE_LINK +    "../../../../Frameworks/libopenjp2.7.dylib" +    "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libopenjp2.7.dylib" +    SYMBOLIC +    ) +file(CREATE_LINK      "../../../../Frameworks/libpng16.16.dylib"      "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libpng16.16.dylib"      SYMBOLIC @@ -235,6 +240,9 @@ execute_process(      COMMAND lipo libopenal.1.24.2.dylib          -thin ${CMAKE_OSX_ARCHITECTURES}          -output libopenal.1.24.2.dylib +    COMMAND lipo libopenjp2.2.5.3.dylib +        -thin ${CMAKE_OSX_ARCHITECTURES} +        -output libopenjp2.2.5.3.dylib      COMMAND lipo libpng16.16.dylib          -thin ${CMAKE_OSX_ARCHITECTURES}          -output libpng16.16.dylib @@ -301,6 +309,7 @@ execute_process(          Frameworks/libnghttp2.14.dylib          Frameworks/libogg.0.dylib          Frameworks/libopenal.1.24.2.dylib +        Frameworks/libopenjp2.2.5.3.dylib          Frameworks/libpng16.16.dylib          Frameworks/libvlc.5.dylib          Frameworks/libvlccore.9.dylib diff --git a/indra/newview/FixPackage.cmake.in b/indra/newview/FixPackage.cmake.in index 909e07885d..49f7b75b4d 100644 --- a/indra/newview/FixPackage.cmake.in +++ b/indra/newview/FixPackage.cmake.in @@ -10,6 +10,11 @@ file(CREATE_LINK      SYMBOLIC      )  file(CREATE_LINK +    "../../../../Frameworks/libopenjp2.7.dylib" +    "${CMAKE_CACHEFILE_DIR}/_CPack_Packages/${CMAKE_SYSTEM_NAME}/Bundle/${CPACK_BUNDLE_NAME}-${CPACK_PACKAGE_VERSION}-${CMAKE_SYSTEM_NAME}/${CPACK_BUNDLE_NAME}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libopenjp2.7.dylib" +    SYMBOLIC +    ) +file(CREATE_LINK      "../../../../Frameworks/libpng16.16.dylib"      "${CMAKE_CACHEFILE_DIR}/_CPack_Packages/${CMAKE_SYSTEM_NAME}/Bundle/${CPACK_BUNDLE_NAME}-${CPACK_PACKAGE_VERSION}-${CMAKE_SYSTEM_NAME}/${CPACK_BUNDLE_NAME}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libpng16.16.dylib"      SYMBOLIC @@ -235,6 +240,9 @@ execute_process(      COMMAND lipo libopenal.1.24.2.dylib          -thin ${CMAKE_OSX_ARCHITECTURES}          -output libopenal.1.24.2.dylib +    COMMAND lipo libopenjp2.2.5.3.dylib +        -thin ${CMAKE_OSX_ARCHITECTURES} +        -output libopenjp2.2.5.3.dylib      COMMAND lipo libpng16.16.dylib          -thin ${CMAKE_OSX_ARCHITECTURES}          -output libpng16.16.dylib @@ -301,6 +309,7 @@ execute_process(          Frameworks/libnghttp2.14.dylib          Frameworks/libogg.0.dylib          Frameworks/libopenal.1.24.2.dylib +        Frameworks/libopenjp2.2.5.3.dylib          Frameworks/libpng16.16.dylib          Frameworks/libvlc.5.dylib          Frameworks/libvlccore.9.dylib diff --git a/indra/newview/PKGBUILD.in b/indra/newview/PKGBUILD.in index 4d617c132c..1f0c83cc41 100644 --- a/indra/newview/PKGBUILD.in +++ b/indra/newview/PKGBUILD.in @@ -6,7 +6,7 @@ pkgdesc="${VIEWER_PACKAGE_COMMENT}"  arch=('${CMAKE_SYSTEM_PROCESSOR}')  url="https://${VIEWER_PACKAGE_DOMAIN_NAME}"  license=('LGPL-2.1') -depends=(apr-util boost-libs fltk glu hunspell libnghttp2 sdl2 vlc libvorbis) +depends=(apr-util boost-libs fltk glu hunspell libnghttp2 openjpeg2 sdl2 vlc libvorbis)  package() {  	cd "$startdir" | 
