diff options
Diffstat (limited to 'indra/cmake/CEFPlugin.cmake')
| -rw-r--r-- | indra/cmake/CEFPlugin.cmake | 103 |
1 files changed, 71 insertions, 32 deletions
diff --git a/indra/cmake/CEFPlugin.cmake b/indra/cmake/CEFPlugin.cmake index 117c83353e..269afcc456 100644 --- a/indra/cmake/CEFPlugin.cmake +++ b/indra/cmake/CEFPlugin.cmake @@ -1,12 +1,11 @@ # -*- cmake -*- include(Linking) include(Prebuilt) -include(UnixInstall) include_guard() add_library( ll::cef INTERFACE IMPORTED ) -if (${LINUX_DISTRO} MATCHES arch) +if (${LINUX_DISTRO} MATCHES arch AND (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64)) if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/dullahan_installed OR NOT ${dullahan_installed} EQUAL 0) file( COPY /usr/src/cef/libcef_dll @@ -30,45 +29,51 @@ if (${LINUX_DISTRO} MATCHES arch) DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE} ) endif () - if (NOT EXISTS ${CMAKE_BINARY_DIR}/dullahan-1.30.0-CEF_147.0.10.tar.gz) + if (NOT EXISTS ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.19.embed_scheme.tar.gz) file(DOWNLOAD - https://github.com/secondlife/dullahan/archive/refs/tags/v1.30.0-CEF_147.0.10.tar.gz - ${CMAKE_BINARY_DIR}/dullahan-1.30.0-CEF_147.0.10.tar.gz + https://github.com/secondlife/dullahan/archive/refs/tags/v1.40.0-CEF_150.0.19.embed_scheme.tar.gz + ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.19.embed_scheme.tar.gz ) endif () file(ARCHIVE_EXTRACT - INPUT ${CMAKE_BINARY_DIR}/dullahan-1.30.0-CEF_147.0.10.tar.gz + INPUT ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.19.embed_scheme.tar.gz DESTINATION ${CMAKE_BINARY_DIR} ) try_compile(DULLAHAN_RESULT PROJECT dullahan - SOURCE_DIR ${CMAKE_BINARY_DIR}/dullahan-1.30.0-CEF_147.0.10 - BINARY_DIR ${CMAKE_BINARY_DIR}/dullahan-1.30.0-CEF_147.0.10 + SOURCE_DIR ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.19.embed_scheme + BINARY_DIR ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.19.embed_scheme CMAKE_FLAGS -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX:PATH=${LIBS_PREBUILT_DIR} -DCMAKE_INSTALL_LIBDIR:PATH=${ARCH_PREBUILT_DIRS_RELEASE} -DCEF_WRAPPER_DIR:PATH=/usr/include/cef - -DCEF_WRAPPER_BUILD_DIR:PATH=${CMAKE_BINARY_DIR}/dullahan-1.30.0-CEF_147.0.10 - -DCEF_LIBRARY_RELEASE:FILEPATH=${INSTALL_PREFIX}/${_LIB}/cef/libcef.so + -DCEF_WRAPPER_BUILD_DIR:PATH=${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.19.embed_scheme + -DCEF_LIBRARY_RELEASE:FILEPATH=${INSTALL_PREFIX}/lib/cef/libcef.so -DCEF_DLL_LIBRARY_RELEASE:FILEPATH=${ARCH_PREBUILT_DIRS_RELEASE}/libcef_dll_wrapper.a "-DCMAKE_CXX_FLAGS:STRING=-I/usr/include/cef -I/usr/src/cef -DWRAPPING_CEF_SHARED" ) if (${DULLAHAN_RESULT}) file(MAKE_DIRECTORY ${LIBS_PREBUILT_DIR}/bin/release) file( - COPY ${CMAKE_BINARY_DIR}/dullahan-1.30.0-CEF_147.0.10/dullahan_host + COPY ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.19.embed_scheme/dullahan_host DESTINATION ${LIBS_PREBUILT_DIR}/bin/release ) + if (CMAKE_BUILD_TYPE MATCHES Release) + execute_process( + COMMAND ${CMAKE_STRIP} dullahan_host + WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/bin/release + ) + endif () file( - COPY ${CMAKE_BINARY_DIR}/dullahan-1.30.0-CEF_147.0.10/libdullahan.a + COPY ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.19.embed_scheme/libdullahan.a DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE} ) file(MAKE_DIRECTORY ${LIBS_PREBUILT_DIR}/include/cef) file( COPY - ${CMAKE_BINARY_DIR}/dullahan-1.30.0-CEF_147.0.10/src/dullahan.h - ${CMAKE_BINARY_DIR}/dullahan-1.30.0-CEF_147.0.10/src/dullahan_version.h + ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.19.embed_scheme/src/dullahan.h + ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.19.embed_scheme/src/dullahan_version.h DESTINATION ${LIBS_PREBUILT_DIR}/include/cef ) file(WRITE ${PREBUILD_TRACKING_DIR}/dullahan_installed "0") @@ -118,7 +123,7 @@ elseif (${LINUX_DISTRO} MATCHES fedora) -DCMAKE_INSTALL_LIBDIR:PATH=${ARCH_PREBUILT_DIRS_RELEASE} -DCEF_WRAPPER_DIR:PATH=/usr/include/cef -DCEF_WRAPPER_BUILD_DIR:PATH=${CMAKE_BINARY_DIR}/dullahan-1.29.0-CEF_146.0.12 - -DCEF_LIBRARY_RELEASE:FILEPATH=${INSTALL_PREFIX}/${_LIB}/cef/libcef.so + -DCEF_LIBRARY_RELEASE:FILEPATH=${INSTALL_PREFIX}/lib${ADDRESS_SIZE}/cef/libcef.so -DCEF_DLL_LIBRARY_RELEASE:FILEPATH=${ARCH_PREBUILT_DIRS_RELEASE}/libcef_dll_wrapper.a "-DCMAKE_CXX_FLAGS:STRING=-I/usr/include/cef -I/usr/src/cef-146.0.11 -DWRAPPING_CEF_SHARED" ) @@ -128,6 +133,12 @@ elseif (${LINUX_DISTRO} MATCHES fedora) COPY ${CMAKE_BINARY_DIR}/dullahan-1.29.0-CEF_146.0.12/dullahan_host DESTINATION ${LIBS_PREBUILT_DIR}/bin/release ) + if (CMAKE_BUILD_TYPE MATCHES Release) + execute_process( + COMMAND ${CMAKE_STRIP} dullahan_host + WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/bin/release + ) + endif () file( COPY ${CMAKE_BINARY_DIR}/dullahan-1.29.0-CEF_146.0.12/libdullahan.a DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE} @@ -173,11 +184,29 @@ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES aarch64) -DPROJECT_ARCH:STRING=${CMAKE_SYSTEM_PROCESSOR} ) if (${DULLAHAN_RESULT}) + if (CMAKE_BUILD_TYPE MATCHES Release) + execute_process( + COMMAND ${CMAKE_STRIP} + chrome-sandbox + libEGL.so + libGLESv2.so + libcef.so + libvk_swiftshader.so + libvulkan.so.1 + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/dullahan-1.24.0-CEF_139.0.40/_deps/cef_prebuild-src/${CMAKE_BUILD_TYPE} + ) + endif () execute_process( COMMAND ${CMAKE_MAKE_PROGRAM} install WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/dullahan-1.24.0-CEF_139.0.40 OUTPUT_VARIABLE dullahan_installed ) + if (CMAKE_BUILD_TYPE MATCHES Release) + execute_process( + COMMAND ${CMAKE_STRIP} dullahan_host + WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/bin/release + ) + endif () file( COPY ${CMAKE_BINARY_DIR}/dullahan-1.24.0-CEF_139.0.40/src/dullahan.h @@ -190,20 +219,6 @@ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES aarch64) else () use_prebuilt_binary(dullahan) endif () - -execute_process( - COMMAND patchelf --set-rpath ${INSTALL_LIBRARY_DIR} bin/release/dullahan_host - WORKING_DIRECTORY ${LIBS_PREBUILT_DIR} -) - -if (${LINUX_DISTRO} MATCHES arch OR (${LINUX_DISTRO} MATCHES fedora)) - target_include_directories( ll::cef SYSTEM INTERFACE /usr/include/cef/include) - execute_process( - COMMAND patchelf --add-rpath ${INSTALL_PREFIX}/${_LIB}/cef bin/release/dullahan_host - WORKING_DIRECTORY ${LIBS_PREBUILT_DIR} - ) -endif () - target_include_directories( ll::cef SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/cef) if (WINDOWS) @@ -268,10 +283,34 @@ elseif (DARWIN) -output libdullahan.a WORKING_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE} ) - elseif (LINUX) - if (${LINUX_DISTRO} MATCHES arch OR (${LINUX_DISTRO} MATCHES fedora)) - target_link_directories( ll::cef INTERFACE ${INSTALL_PREFIX}/${_LIB}/cef ) + if (NOT (${LINUX_DISTRO} MATCHES freedesktop)) + execute_process( + COMMAND patchelf --set-rpath ${INSTALL_LIBRARY_DIR} dullahan_host + WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/bin/release + ) + endif () + if (${LINUX_DISTRO} MATCHES arch AND (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64) OR (${LINUX_DISTRO} MATCHES fedora)) + target_include_directories( ll::cef SYSTEM INTERFACE /usr/include/cef/include) + if (${LINUX_DISTRO} MATCHES fedora) + set(LIB_SUFFIX ${ADDRESS_SIZE}) + endif () + target_link_directories( ll::cef INTERFACE ${INSTALL_PREFIX}/lib${LIB_SUFFIX}/cef ) + execute_process( + COMMAND patchelf --add-rpath ${INSTALL_PREFIX}/lib${LIB_SUFFIX}/cef dullahan_host + WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/bin/release + ) + elseif (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 AND (CMAKE_BUILD_TYPE MATCHES Release)) + execute_process( + COMMAND ${CMAKE_STRIP} + bin/release/chrome-sandbox + bin/release/dullahan_host + lib/release/libEGL.so + lib/release/libGLESv2.so + lib/release/libvk_swiftshader.so + lib/release/libvulkan.so.1 + WORKING_DIRECTORY ${LIBS_PREBUILT_DIR} + ) endif () target_link_libraries( ll::cef INTERFACE libdullahan.a |
