summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2025-04-27 19:24:47 +0800
committerErik Kundiman <erik@megapahit.org>2025-04-27 19:24:47 +0800
commitd1e29e39b1f61a5f0b3fd46c935009135f906542 (patch)
tree5900c12c075104bdcfc00664f774d0a55955d12c
parent6e5ce1ddeded20eec4141a01e8994d4c608f7ebd (diff)
One OpenJPEG try_compile for all OSes
Same as previous commits, plus reminding CMAKE_BUILD_WITH_INSTALL_RPATH needs to be set ON otherwise there would be configure error on FreeBSD, plus the codec executables aren't needed (they would encounter linking errors on FreeBSD, because /usr/local/lib isn't automatically added as a header search directory). By default OpenJPEG installation header directory is "openjpeg-2.5", hence the renaming. The 3 non-API headers are copied, still.
-rw-r--r--indra/cmake/OpenJPEG.cmake51
1 files changed, 22 insertions, 29 deletions
diff --git a/indra/cmake/OpenJPEG.cmake b/indra/cmake/OpenJPEG.cmake
index d4304f93b3..cf008faebf 100644
--- a/indra/cmake/OpenJPEG.cmake
+++ b/indra/cmake/OpenJPEG.cmake
@@ -20,45 +20,38 @@ elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRA
INPUT ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248.tar.gz
DESTINATION ${CMAKE_BINARY_DIR}
)
- if (DARWIN)
- 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
- -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
- -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON
- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${CMAKE_OSX_DEPLOYMENT_TARGET}
+ 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})
+ execute_process(
+ COMMAND ${CMAKE_MAKE_PROGRAM} install
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg
OUTPUT_VARIABLE openjpeg_installed
)
- else ()
- 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
- -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
- -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON
- OUTPUT_VARIABLE openjpeg_installed
+ file(RENAME
+ ${LIBS_PREBUILT_DIR}/include/openjpeg-2.5
+ ${LIBS_PREBUILT_DIR}/include/openjpeg
)
- endif (DARWIN)
- if (${OPENJPEG_RESULT})
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/openjpeg.h
- ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg/src/lib/openjp2/opj_config.h
${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg/src/lib/openjp2/opj_config_private.h
- ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg/src/lib/openjp2/opj_stdint.h
DESTINATION ${LIBS_PREBUILT_DIR}/include/openjpeg
)
- file(
- COPY ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg/bin/libopenjp2.a
- DESTINATION ${LIBS_PREBUILT_DIR}/lib/release
- )
file(WRITE ${PREBUILD_TRACKING_DIR}/openjpeg_installed "${openjpeg_installed}")
endif (${OPENJPEG_RESULT})
endif (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR NOT USESYSTEMLIBS)