summaryrefslogtreecommitdiff
path: root/indra/cmake/CEFPlugin.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'indra/cmake/CEFPlugin.cmake')
-rw-r--r--indra/cmake/CEFPlugin.cmake103
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