Warning, /graphics/digikam/project/bundles/3rdparty/ext_heif/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # Script to build libheif for digiKam bundle.
0002 #
0003 # SPDX-FileCopyrightText: 2015-2024 by Gilles Caulier  <caulier dot gilles at gmail dot com>
0004 #
0005 # SPDX-License-Identifier: BSD-3-Clause
0006 #
0007 #
0008 
0009 set(PREFIX_ext_heif "${EXTPREFIX}")
0010 
0011 set(Heif_Conf -DBUILD_SHARED_LIBS=ON
0012               -DENABLE_PLUGIN_LOADING=OFF
0013               -DWITH_LIBDE265=ON
0014               -DWITH_X265=ON
0015               -DWITH_AOM_DECODER=OFF
0016               -DWITH_AOM_ENCODER=OFF
0017               -DWITH_RAV1E=OFF
0018               -DWITH_RAV1E_PLUGIN=OFF
0019               -DWITH_SvtEnc=OFF
0020               -DWITH_SvtEnc_PLUGIN=OFF
0021               -DWITH_DAV1D=OFF
0022               -DWITH_EXAMPLES=OFF
0023 )
0024 
0025 JoinListAsString("${Heif_Conf}" " " BASH_OPTIONS)
0026 
0027 if(MINGW)
0028 
0029     ExternalProject_Add(ext_heif
0030 
0031         DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
0032         GIT_REPOSITORY https://github.com/strukturag/libheif.git
0033         GIT_TAG v1.15.2
0034 
0035         PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/heif-lib-only.patch
0036 
0037         CONFIGURE_COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/../../../scripts/create_manifest.sh <SOURCE_DIR>/. &&
0038                           cd <SOURCE_DIR> &&
0039                           <SOURCE_DIR>/create_manifest.sh ${EXTERNALS_DOWNLOAD_DIR} heif &&
0040                           cp -f ${CMAKE_CURRENT_SOURCE_DIR}/../../../../bootstrap.mxe <SOURCE_DIR>/. &&
0041                           <SOURCE_DIR>/bootstrap.mxe ${MXE_BUILDROOT} RelWithDebInfo ${BASH_OPTIONS}
0042 
0043         BUILD_COMMAND cd <SOURCE_DIR>/build.mxe && $(MAKE)
0044 
0045         BUILD_IN_SOURCE 1
0046 
0047         INSTALL_COMMAND cd <SOURCE_DIR>/build.mxe && $(MAKE) install/fast
0048 
0049         UPDATE_COMMAND ""
0050         ALWAYS 0
0051     )
0052 
0053 elseif(APPLE)
0054 
0055     ExternalProject_Add(ext_heif
0056 
0057         DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
0058         GIT_REPOSITORY https://github.com/strukturag/libheif.git
0059         GIT_TAG v1.15.2
0060 
0061         PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/heif-lib-only.patch
0062 
0063         CONFIGURE_COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/../../../scripts/create_manifest.sh <SOURCE_DIR>/. &&
0064                           cd <SOURCE_DIR> &&
0065                           <SOURCE_DIR>/create_manifest.sh ${EXTERNALS_DOWNLOAD_DIR} heif &&
0066                           cp -f ${CMAKE_CURRENT_SOURCE_DIR}/../../../../bootstrap.macports <SOURCE_DIR>/. &&
0067                           <SOURCE_DIR>/bootstrap.macports ${PREFIX_ext_heif} RelWithDebInfo x86_64 ${Heif_conf}
0068 
0069         BUILD_COMMAND cd <SOURCE_DIR>/build && $(MAKE)
0070 
0071         BUILD_IN_SOURCE 1
0072 
0073         INSTALL_COMMAND cd <SOURCE_DIR>/build && $(MAKE) install/fast
0074 
0075         UPDATE_COMMAND ""
0076         ALWAYS 0
0077     )
0078 
0079 else() # Linux
0080 
0081     ExternalProject_Add(ext_heif
0082 
0083         DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
0084         GIT_REPOSITORY https://github.com/strukturag/libheif.git
0085         GIT_TAG v1.15.2
0086 
0087         PATCH_COMMAND git reset --hard && ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/heif-lib-only.patch
0088 
0089         CONFIGURE_COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/../../../scripts/create_manifest.sh <SOURCE_DIR>/. &&
0090                           cd <SOURCE_DIR> &&
0091                           <SOURCE_DIR>/create_manifest.sh ${EXTERNALS_DOWNLOAD_DIR} heif &&
0092                           $(CMAKE_COMMAND) . -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_heif}
0093                           -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE}
0094                           ${GLOBAL_PROFILE}
0095                           ${Heif_Conf}
0096 
0097         BUILD_IN_SOURCE 1
0098 
0099         UPDATE_COMMAND ""
0100         ALWAYS 0
0101     )
0102 
0103 endif()