summaryrefslogtreecommitdiff
path: root/indra/cmake/OpenJPEG.cmake
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 /indra/cmake/OpenJPEG.cmake
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.
Diffstat (limited to 'indra/cmake/OpenJPEG.cmake')
-rw-r--r--indra/cmake/OpenJPEG.cmake44
1 files changed, 18 insertions, 26 deletions
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 )