summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2024-08-13 11:29:14 +0800
committerErik Kundiman <erik@megapahit.org>2024-08-13 12:18:37 +0800
commit3d2c32c80562106169b78305315e2bd5945fdf09 (patch)
tree71dbac8c55b78f0daa361109f3c064d9d92a000d
parent07420ece4ae38c446ad58c3c3959cce5e00a6cf1 (diff)
CMake file & try_compile replacing execute_process
file(DOWNLOAD) replacing execute_process(COMMAND curl), file(ARCHIVE_EXTRACT) replacing execute_process(COMMAND tar xf), file(MAKE_DIRECTORY) replacing execute_process(COMMAND mkdir -p), file(COPY) replacing execute_process(COMMAND cp), file(RENAME) replacing execute_process(COMMAND mv), try_compile replacing execute_process(COMMAND cmake/make), LIBS_PREBUILT_DIR replacing AUTOBUILD_INSTALL_DIR, 0 replacing ${${_binary}_installed} where appropriate, no FMOD reinstallation when it's already installed, and archives & unarchived source/build directories are in CMake root binary directory, instead of /tmp. SHOW_PROGRESS is on for downloading Dullahan from the Megapahit website cause it can be slow.
-rw-r--r--indra/cmake/CEFPlugin.cmake34
-rw-r--r--indra/cmake/FMODSTUDIO.cmake90
-rw-r--r--indra/cmake/LibVLCPlugin.cmake28
-rw-r--r--indra/cmake/Meshoptimizer.cmake70
-rw-r--r--indra/cmake/OpenJPEG.cmake44
-rw-r--r--indra/cmake/ViewerMiscLibs.cmake2
-rw-r--r--indra/cmake/XmlRpcEpi.cmake2
-rw-r--r--indra/llcommon/CMakeLists.txt16
8 files changed, 140 insertions, 146 deletions
diff --git a/indra/cmake/CEFPlugin.cmake b/indra/cmake/CEFPlugin.cmake
index 886d77e040..919328a42a 100644
--- a/indra/cmake/CEFPlugin.cmake
+++ b/indra/cmake/CEFPlugin.cmake
@@ -7,36 +7,36 @@ add_library( ll::cef INTERFACE IMPORTED )
if (CMAKE_OSX_ARCHITECTURES MATCHES arm64)
if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/dullahan_installed OR NOT ${dullahan_installed} EQUAL 0)
- execute_process(
- COMMAND curl -O https://megapahit.net/downloads/dullahan-1.14.0.202312131437_118.7.1_g99817d2_chromium-118.0.5993.119-darwin64-242070244.tar.bz2
- WORKING_DIRECTORY $ENV{HOME}/Downloads
+ file(DOWNLOAD
+ https://megapahit.net/downloads/dullahan-1.14.0.202312131437_118.7.1_g99817d2_chromium-118.0.5993.119-darwin64-242070244.tar.bz2
+ ${CMAKE_BINARY_DIR}/dullahan-1.14.0.202312131437_118.7.1_g99817d2_chromium-118.0.5993.119-darwin64-242070244.tar.bz2
+ SHOW_PROGRESS
)
- execute_process(
- COMMAND tar xf $ENV{HOME}/Downloads/dullahan-1.14.0.202312131437_118.7.1_g99817d2_chromium-118.0.5993.119-darwin64-242070244.tar.bz2
- WORKING_DIRECTORY ${AUTOBUILD_INSTALL_DIR}
- RESULT_VARIABLE dullahan_installed
+ file(ARCHIVE_EXTRACT
+ INPUT ${CMAKE_BINARY_DIR}/dullahan-1.14.0.202312131437_118.7.1_g99817d2_chromium-118.0.5993.119-darwin64-242070244.tar.bz2
+ DESTINATION ${LIBS_PREBUILT_DIR}
)
- file(WRITE ${PREBUILD_TRACKING_DIR}/dullahan_installed "${dullahan_installed}")
+ file(WRITE ${PREBUILD_TRACKING_DIR}/dullahan_installed "0")
endif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/dullahan_installed OR NOT ${dullahan_installed} EQUAL 0)
elseif (CMAKE_OSX_ARCHITECTURES MATCHES x86_64)
if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/dullahan_installed OR NOT ${dullahan_installed} EQUAL 0)
- execute_process(
- COMMAND curl -O https://megapahit.net/downloads/dullahan-1.14.0.202312131437_118.7.1_g99817d2_chromium-118.0.5993.119-darwin64-242070158.tar.bz2
- WORKING_DIRECTORY $ENV{HOME}/Downloads
+ file(DOWNLOAD
+ https://megapahit.net/downloads/dullahan-1.14.0.202312131437_118.7.1_g99817d2_chromium-118.0.5993.119-darwin64-242070158.tar.bz2
+ ${CMAKE_BINARY_DIR}/dullahan-1.14.0.202312131437_118.7.1_g99817d2_chromium-118.0.5993.119-darwin64-242070158.tar.bz2
+ SHOW_PROGRESS
)
- execute_process(
- COMMAND tar xf $ENV{HOME}/Downloads/dullahan-1.14.0.202312131437_118.7.1_g99817d2_chromium-118.0.5993.119-darwin64-242070158.tar.bz2
- WORKING_DIRECTORY ${AUTOBUILD_INSTALL_DIR}
- RESULT_VARIABLE dullahan_installed
+ file(ARCHIVE_EXTRACT
+ INPUT ${CMAKE_BINARY_DIR}/dullahan-1.14.0.202312131437_118.7.1_g99817d2_chromium-118.0.5993.119-darwin64-242070158.tar.bz2
+ DESTINATION ${LIBS_PREBUILT_DIR}
)
- file(WRITE ${PREBUILD_TRACKING_DIR}/dullahan_installed "${dullahan_installed}")
+ file(WRITE ${PREBUILD_TRACKING_DIR}/dullahan_installed "0")
endif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/dullahan_installed OR NOT ${dullahan_installed} EQUAL 0)
else (CMAKE_OSX_ARCHITECTURES MATCHES arm64)
use_prebuilt_binary(dullahan)
if (${LINUX_DISTRO} MATCHES fedora)
execute_process(
COMMAND patchelf --remove-rpath bin/release/dullahan_host
- WORKING_DIRECTORY ${AUTOBUILD_INSTALL_DIR}
+ WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}
)
endif (${LINUX_DISTRO} MATCHES fedora)
endif (CMAKE_OSX_ARCHITECTURES MATCHES arm64)
diff --git a/indra/cmake/FMODSTUDIO.cmake b/indra/cmake/FMODSTUDIO.cmake
index 92bef238d7..e449adaf67 100644
--- a/indra/cmake/FMODSTUDIO.cmake
+++ b/indra/cmake/FMODSTUDIO.cmake
@@ -30,30 +30,33 @@ if (USE_FMODSTUDIO)
# Note: if you're not using INSTALL_PROPRIETARY, the package URL should be local (file:/// URL)
# as accessing the private LL location will fail if you don't have the credential
include(Prebuilt)
- if (USESYSTEMLIBS)
+ 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}/include/fmodstudio
+ ${LIBS_PREBUILT_DIR}/lib/release
+ )
if (DARWIN)
execute_process(
- COMMAND hdiutil attach -noverify $ENV{HOME}/Downloads/fmodstudioapi20223mac-installer.dmg
- COMMAND mkdir -p
- include/fmodstudio
- lib/release
- WORKING_DIRECTORY ${AUTOBUILD_INSTALL_DIR}
+ COMMAND hdiutil attach -noverify fmodstudioapi20223mac-installer.dmg
+ WORKING_DIRECTORY $ENV{HOME}/Downloads
+ )
+ file(
+ COPY
+ /Volumes/FMOD\ Programmers\ API\ Mac/FMOD\ Programmers\ API/api/core/inc/fmod.h
+ /Volumes/FMOD\ Programmers\ API\ Mac/FMOD\ Programmers\ API/api/core/inc/fmod.hpp
+ /Volumes/FMOD\ Programmers\ API\ Mac/FMOD\ Programmers\ API/api/core/inc/fmod_codec.h
+ /Volumes/FMOD\ Programmers\ API\ Mac/FMOD\ Programmers\ API/api/core/inc/fmod_common.h
+ /Volumes/FMOD\ Programmers\ API\ Mac/FMOD\ Programmers\ API/api/core/inc/fmod_dsp.h
+ /Volumes/FMOD\ Programmers\ API\ Mac/FMOD\ Programmers\ API/api/core/inc/fmod_dsp_effects.h
+ /Volumes/FMOD\ Programmers\ API\ Mac/FMOD\ Programmers\ API/api/core/inc/fmod_errors.h
+ /Volumes/FMOD\ Programmers\ API\ Mac/FMOD\ Programmers\ API/api/core/inc/fmod_output.h
+ DESTINATION ${LIBS_PREBUILT_DIR}/include/fmodstudio
)
execute_process(
- COMMAND cp
- inc/fmod.h
- inc/fmod.hpp
- inc/fmod_codec.h
- inc/fmod_common.h
- inc/fmod_dsp.h
- inc/fmod_dsp_effects.h
- inc/fmod_errors.h
- inc/fmod_output.h
- ${AUTOBUILD_INSTALL_DIR}/include/fmodstudio/
COMMAND lipo
lib/libfmod.dylib
-thin ${CMAKE_OSX_ARCHITECTURES}
- -output ${AUTOBUILD_INSTALL_DIR}/lib/release/libfmod.dylib
+ -output ${LIBS_PREBUILT_DIR}/lib/release/libfmod.dylib
WORKING_DIRECTORY /Volumes/FMOD\ Programmers\ API\ Mac/FMOD\ Programmers\ API/api/core
)
execute_process(
@@ -61,40 +64,37 @@ if (USE_FMODSTUDIO)
WORKING_DIRECTORY /Volumes
RESULT_VARIABLE fmodstudio_installed
)
+ file(WRITE ${PREBUILD_TRACKING_DIR}/fmodstudio_installed "${fmodstudio_installed}")
else (DARWIN)
- execute_process(
- COMMAND mkdir -p ${AUTOBUILD_INSTALL_DIR}/include/fmodstudio
- COMMAND tar -xf $ENV{HOME}/Downloads/fmodstudioapi20223linux.tar.gz
- WORKING_DIRECTORY /tmp
+ file(ARCHIVE_EXTRACT
+ INPUT $ENV{HOME}/Downloads/fmodstudioapi20223linux.tar.gz
+ DESTINATION ${CMAKE_BINARY_DIR}
)
- execute_process(
- COMMAND cp
- inc/fmod.h
- inc/fmod.hpp
- inc/fmod_codec.h
- inc/fmod_common.h
- inc/fmod_dsp.h
- inc/fmod_dsp_effects.h
- inc/fmod_errors.h
- inc/fmod_output.h
- ${AUTOBUILD_INSTALL_DIR}/include/fmodstudio/
- COMMAND cp -P
- lib/${CMAKE_SYSTEM_PROCESSOR}/libfmod.so
- lib/${CMAKE_SYSTEM_PROCESSOR}/libfmod.so.13
- lib/${CMAKE_SYSTEM_PROCESSOR}/libfmod.so.13.23
- ${AUTOBUILD_INSTALL_DIR}/lib/release/
- WORKING_DIRECTORY /tmp/fmodstudioapi20223linux/api/core
+ file(
+ COPY
+ ${CMAKE_BINARY_DIR}/fmodstudioapi20223linux/api/core/inc/fmod.h
+ ${CMAKE_BINARY_DIR}/fmodstudioapi20223linux/api/core/inc/fmod.hpp
+ ${CMAKE_BINARY_DIR}/fmodstudioapi20223linux/api/core/inc/fmod_codec.h
+ ${CMAKE_BINARY_DIR}/fmodstudioapi20223linux/api/core/inc/fmod_common.h
+ ${CMAKE_BINARY_DIR}/fmodstudioapi20223linux/api/core/inc/fmod_dsp.h
+ ${CMAKE_BINARY_DIR}/fmodstudioapi20223linux/api/core/inc/fmod_dsp_effects.h
+ ${CMAKE_BINARY_DIR}/fmodstudioapi20223linux/api/core/inc/fmod_errors.h
+ ${CMAKE_BINARY_DIR}/fmodstudioapi20223linux/api/core/inc/fmod_output.h
+ DESTINATION ${LIBS_PREBUILT_DIR}/include/fmodstudio
)
- execute_process(
- COMMAND rm -rf fmodstudioapi20223linux
- WORKING_DIRECTORY /tmp
- RESULT_VARIABLE fmodstudio_installed
+ file(
+ COPY
+ ${CMAKE_BINARY_DIR}/fmodstudioapi20223linux/api/core/lib/${CMAKE_SYSTEM_PROCESSOR}/libfmod.so
+ ${CMAKE_BINARY_DIR}/fmodstudioapi20223linux/api/core/lib/${CMAKE_SYSTEM_PROCESSOR}/libfmod.so.13
+ ${CMAKE_BINARY_DIR}/fmodstudioapi20223linux/api/core/lib/${CMAKE_SYSTEM_PROCESSOR}/libfmod.so.13.23
+ DESTINATION ${LIBS_PREBUILT_DIR}/lib/release
+ FOLLOW_SYMLINK_CHAIN
)
+ file(WRITE ${PREBUILD_TRACKING_DIR}/fmodstudio_installed "0")
endif (DARWIN)
- file(WRITE ${PREBUILD_TRACKING_DIR}/fmodstudio_installed "${fmodstudio_installed}")
- else (USESYSTEMLIBS)
+ else (USESYSTEMLIBS AND (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/fmodstudio_installed OR NOT ${fmodstudio_installed} EQUAL 0))
use_prebuilt_binary(fmodstudio)
- endif (USESYSTEMLIBS)
+ endif (USESYSTEMLIBS AND (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/fmodstudio_installed OR NOT ${fmodstudio_installed} EQUAL 0))
if (WINDOWS)
target_link_libraries( ll::fmodstudio INTERFACE fmod_vc)
elseif (DARWIN)
diff --git a/indra/cmake/LibVLCPlugin.cmake b/indra/cmake/LibVLCPlugin.cmake
index b59c5b3a38..29d71d7dba 100644
--- a/indra/cmake/LibVLCPlugin.cmake
+++ b/indra/cmake/LibVLCPlugin.cmake
@@ -9,24 +9,28 @@ if (USESYSTEMLIBS)
if (DARWIN)
if (CMAKE_OSX_ARCHITECTURES MATCHES arm64)
if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/vlc_installed OR NOT ${vlc_installed} EQUAL 0)
- execute_process(
- COMMAND curl -OL https://get.videolan.org/vlc/3.0.21/macosx/vlc-3.0.21-arm64.dmg
- WORKING_DIRECTORY $ENV{HOME}/Downloads
- RESULT_VARIABLE vlc_installed
+ file(DOWNLOAD
+ https://get.videolan.org/vlc/3.0.21/macosx/vlc-3.0.21-arm64.dmg
+ ${CMAKE_BINARY_DIR}/vlc-3.0.21-arm64.dmg
)
- file(WRITE ${PREBUILD_TRACKING_DIR}/vlc_installed "${vlc_installed}")
+ file(WRITE ${PREBUILD_TRACKING_DIR}/vlc_installed "0")
endif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/vlc_installed OR NOT ${vlc_installed} EQUAL 0)
- execute_process(COMMAND hdiutil attach -noverify $ENV{HOME}/Downloads/vlc-3.0.21-arm64.dmg)
+ execute_process(
+ COMMAND hdiutil attach -noverify vlc-3.0.21-arm64.dmg
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+ )
else (CMAKE_OSX_ARCHITECTURES MATCHES arm64)
if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/vlc_installed OR NOT ${vlc_installed} EQUAL 0)
- execute_process(
- COMMAND curl -OL https://get.videolan.org/vlc/3.0.21/macosx/vlc-3.0.21-intel64.dmg
- WORKING_DIRECTORY $ENV{HOME}/Downloads
- RESULT_VARIABLE vlc_installed
+ file(DOWNLOAD
+ https://get.videolan.org/vlc/3.0.21/macosx/vlc-3.0.21-intel64.dmg
+ ${CMAKE_BINARY_DIR}/vlc-3.0.21-intel64.dmg
)
- file(WRITE ${PREBUILD_TRACKING_DIR}/vlc_installed "${vlc_installed}")
+ file(WRITE ${PREBUILD_TRACKING_DIR}/vlc_installed "0")
endif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/vlc_installed OR NOT ${vlc_installed} EQUAL 0)
- execute_process(COMMAND hdiutil attach -noverify $ENV{HOME}/Downloads/vlc-3.0.21-intel64.dmg)
+ execute_process(
+ COMMAND hdiutil attach -noverify vlc-3.0.21-intel64.dmg
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+ )
endif (CMAKE_OSX_ARCHITECTURES MATCHES arm64)
target_include_directories( ll::libvlc SYSTEM INTERFACE /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/include)
target_link_directories( ll::libvlc INTERFACE /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/lib)
diff --git a/indra/cmake/Meshoptimizer.cmake b/indra/cmake/Meshoptimizer.cmake
index 1e95dfdc01..9098dc38e1 100644
--- a/indra/cmake/Meshoptimizer.cmake
+++ b/indra/cmake/Meshoptimizer.cmake
@@ -18,47 +18,49 @@ endif (NOT USESYSTEMLIBS)
if (${LINUX_DISTRO} MATCHES fedora OR DARWIN OR NOT USESYSTEMLIBS)
if (USESYSTEMLIBS)
if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/meshoptimizer_installed OR NOT ${meshoptimizer_installed} EQUAL 0)
- execute_process(
- COMMAND mkdir -p ${AUTOBUILD_INSTALL_DIR}/include/meshoptimizer
- COMMAND curl
- -L https://github.com/zeux/meshoptimizer/archive/refs/tags/v0.21.tar.gz
- -o meshoptimizer-0.21.tar.gz
- WORKING_DIRECTORY $ENV{HOME}/Downloads
+ file(MAKE_DIRECTORY ${LIBS_PREBUILT_DIR}/include/meshoptimizer)
+ file(DOWNLOAD
+ https://github.com/zeux/meshoptimizer/archive/refs/tags/v0.21.tar.gz
+ ${CMAKE_BINARY_DIR}/meshoptimizer-0.21.tar.gz
)
- execute_process(
- COMMAND tar xf $ENV{HOME}/Downloads/meshoptimizer-0.21.tar.gz
- WORKING_DIRECTORY /tmp
- )
- execute_process(
- COMMAND cmake
- -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
- .
- WORKING_DIRECTORY /tmp/meshoptimizer-0.21
+ file(ARCHIVE_EXTRACT
+ INPUT ${CMAKE_BINARY_DIR}/meshoptimizer-0.21.tar.gz
+ DESTINATION ${CMAKE_BINARY_DIR}
)
if (DARWIN)
- execute_process(
- COMMAND cmake
+ 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=10.15
- .
- WORKING_DIRECTORY /tmp/meshoptimizer-0.21
+ OUTPUT_VARIABLE meshoptimizer_installed
+ )
+ else (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}
+ OUTPUT_VARIABLE meshoptimizer_installed
)
endif (DARWIN)
- execute_process(
- COMMAND make -j${MAKE_JOBS}
- WORKING_DIRECTORY /tmp/meshoptimizer-0.21
- )
- execute_process(
- COMMAND cp src/meshoptimizer.h ${AUTOBUILD_INSTALL_DIR}/include/meshoptimizer/
- COMMAND cp libmeshoptimizer.a ${AUTOBUILD_INSTALL_DIR}/lib/release/
- WORKING_DIRECTORY /tmp/meshoptimizer-0.21
- )
- execute_process(
- COMMAND rm -rf meshoptimizer-0.21
- WORKING_DIRECTORY /tmp
- RESULT_VARIABLE meshoptimizer_installed
- )
- file(WRITE ${PREBUILD_TRACKING_DIR}/meshoptimizer_installed "${meshoptimizer_installed}")
+ 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
+ )
+ file(WRITE ${PREBUILD_TRACKING_DIR}/meshoptimizer_installed "${meshoptimizer_installed}")
+ endif (${MESHOPTIMIZER_RESULT})
endif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/meshoptimizer_installed OR NOT ${meshoptimizer_installed} EQUAL 0)
else (USESYSTEMLIBS)
use_prebuilt_binary(meshoptimizer)
diff --git a/indra/cmake/OpenJPEG.cmake b/indra/cmake/OpenJPEG.cmake
index 33323cac28..0c145981c2 100644
--- a/indra/cmake/OpenJPEG.cmake
+++ b/indra/cmake/OpenJPEG.cmake
@@ -15,44 +15,36 @@ elseif (${LINUX_DISTRO} MATCHES fedora OR DARWIN OR CMAKE_SYSTEM_NAME MATCHES Fr
endif (NOT USESYSTEMLIBS)
if (USESYSTEMLIBS AND (${LINUX_DISTRO} MATCHES fedora OR DARWIN OR CMAKE_SYSTEM_NAME MATCHES FreeBSD))
if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/openjpeg_installed OR NOT ${openjpeg_installed} EQUAL 0)
- execute_process(
- COMMAND mkdir -p ${AUTOBUILD_INSTALL_DIR}/include/openjpeg-2.5
- COMMAND curl
- -L https://github.com/uclouvain/openjpeg/archive/refs/tags/v2.5.2.tar.gz
- -o openjpeg-2.5.2.tar.gz
- WORKING_DIRECTORY $ENV{HOME}/Downloads
+ file(DOWNLOAD
+ https://github.com/uclouvain/openjpeg/archive/refs/tags/v2.5.2.tar.gz
+ ${CMAKE_BINARY_DIR}/openjpeg-2.5.2.tar.gz
)
- execute_process(
- COMMAND tar xf $ENV{HOME}/Downloads/openjpeg-2.5.2.tar.gz
- WORKING_DIRECTORY /tmp
+ file(ARCHIVE_EXTRACT
+ INPUT ${CMAKE_BINARY_DIR}/openjpeg-2.5.2.tar.gz
+ DESTINATION ${CMAKE_BINARY_DIR}
)
+ file(MAKE_DIRECTORY ${LIBS_PREBUILT_DIR}/include/openjpeg-2.5)
execute_process(
COMMAND cmake
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
.
- WORKING_DIRECTORY /tmp/openjpeg-2.5.2
- )
- execute_process(
- COMMAND cp
- cio.h
- event.h
- opj_config_private.h
- ${AUTOBUILD_INSTALL_DIR}/include/openjpeg-2.5/
- WORKING_DIRECTORY /tmp/openjpeg-2.5.2/src/lib/openjp2
- )
- execute_process(
- COMMAND rm -rf openjpeg-2.5.2
- WORKING_DIRECTORY /tmp
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/openjpeg-2.5.2
RESULT_VARIABLE openjpeg_installed
)
+ file(
+ COPY
+ ${CMAKE_BINARY_DIR}/openjpeg-2.5.2/src/lib/openjp2/cio.h
+ ${CMAKE_BINARY_DIR}/openjpeg-2.5.2/src/lib/openjp2/event.h
+ ${CMAKE_BINARY_DIR}/openjpeg-2.5.2/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 (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/openjpeg_installed OR NOT ${openjpeg_installed} EQUAL 0)
else (USESYSTEMLIBS AND (${LINUX_DISTRO} MATCHES fedora OR DARWIN OR CMAKE_SYSTEM_NAME MATCHES FreeBSD))
use_prebuilt_binary(openjpeg)
- execute_process(COMMAND mv
- openjpeg
- openjpeg-2.5
- WORKING_DIRECTORY ${AUTOBUILD_INSTALL_DIR}/include
+ file(RENAME
+ ${LIBS_PREBUILT_DIR}/include/openjpeg
+ ${LIBS_PREBUILT_DIR}/include/openjpeg-2.5
)
target_link_libraries(ll::openjpeg INTERFACE openjp2 )
diff --git a/indra/cmake/ViewerMiscLibs.cmake b/indra/cmake/ViewerMiscLibs.cmake
index 3e1d80ab7e..cb26a7b1b8 100644
--- a/indra/cmake/ViewerMiscLibs.cmake
+++ b/indra/cmake/ViewerMiscLibs.cmake
@@ -37,7 +37,7 @@ elseif (${LINUX_DISTRO} MATCHES debian OR DARWIN)
DESTINATION ${LIBS_PREBUILT_DIR}
)
endif (DARWIN)
- file(WRITE ${PREBUILD_TRACKING_DIR}/nanosvg_installed "${nanosvg_installed}")
+ file(WRITE ${PREBUILD_TRACKING_DIR}/nanosvg_installed "0")
endif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/nanosvg_installed OR NOT ${nanosvg_installed} EQUAL 0)
endif (NOT USESYSTEMLIBS)
use_prebuilt_binary(viewer-fonts)
diff --git a/indra/cmake/XmlRpcEpi.cmake b/indra/cmake/XmlRpcEpi.cmake
index 91cc30537f..a585da758d 100644
--- a/indra/cmake/XmlRpcEpi.cmake
+++ b/indra/cmake/XmlRpcEpi.cmake
@@ -17,7 +17,7 @@ elseif (DARWIN AND (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${
INPUT ${CMAKE_BINARY_DIR}/xmlrpc-epi-0.54.2.tar.bz2
DESTINATION ${CMAKE_BINARY_DIR}
)
- file(MAKE_DIRECTORY ${AUTOBUILD_INSTALL_DIR}/include/xmlrpc-epi)
+ file(MAKE_DIRECTORY ${LIBS_PREBUILT_DIR}/include/xmlrpc-epi)
file(COPY
${CMAKE_BINARY_DIR}/xmlrpc-epi-0.54.2/src/base64.h
${CMAKE_BINARY_DIR}/xmlrpc-epi-0.54.2/src/encodings.h
diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt
index a62a72c79c..41e2a6ebf3 100644
--- a/indra/llcommon/CMakeLists.txt
+++ b/indra/llcommon/CMakeLists.txt
@@ -296,18 +296,14 @@ target_include_directories(llcommon PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
if (CMAKE_OSX_ARCHITECTURES MATCHES arm64)
if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/sse2neon_installed OR NOT ${sse2neon_installed} EQUAL 0)
- execute_process(
- COMMAND mkdir -p include/sse2neon
- WORKING_DIRECTORY ${AUTOBUILD_INSTALL_DIR}
+ file(MAKE_DIRECTORY ${LIBS_PREBUILT_DIR}/include/sse2neon)
+ file(DOWNLOAD
+ https://raw.githubusercontent.com/DLTcollab/sse2neon/master/sse2neon.h
+ ${LIBS_PREBUILT_DIR}/include/sse2neon
)
- execute_process(
- COMMAND curl -OL https://raw.githubusercontent.com/DLTcollab/sse2neon/master/sse2neon.h
- WORKING_DIRECTORY ${AUTOBUILD_INSTALL_DIR}/include/sse2neon
- RESULT_VARIABLE sse2neon_installed
- )
- file(WRITE ${PREBUILD_TRACKING_DIR}/sse2neon_installed "${sse2neon_installed}")
+ 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 ${AUTOBUILD_INSTALL_DIR}/include/sse2neon)
+ target_include_directories(llcommon PUBLIC ${LIBS_PREBUILT_DIR}/include/sse2neon)
endif ()
if (USE_AUTOBUILD_3P OR USE_CONAN)