Warning, /graphics/digikam/project/bundles/3rdparty/ext_exiv2/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # Script to build Exiv2 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 set(PREFIX_ext_exiv2 "${EXTPREFIX}") 0009 0010 set(Exiv2_Conf -DBUILD_SHARED_LIBS=ON 0011 -DEXIV2_ENABLE_XMP=ON 0012 -DEXIV2_ENABLE_EXTERNAL_XMP=OFF 0013 -DEXIV2_ENABLE_PNG=ON 0014 -DEXIV2_ENABLE_NLS=ON 0015 -DEXIV2_ENABLE_BMFF=ON 0016 -DEXIV2_ENABLE_BROTLI=ON 0017 -DEXIV2_ENABLE_PRINTUCS2=ON 0018 -DEXIV2_ENABLE_LENSDATA=ON 0019 -DEXIV2_ENABLE_VIDEO=OFF 0020 -DEXIV2_ENABLE_WEBREADY=OFF 0021 -DEXIV2_ENABLE_DYNAMIC_RUNTIME=OFF 0022 -DEXIV2_ENABLE_CURL=OFF 0023 -DEXIV2_ENABLE_SSH=OFF 0024 -DEXIV2_ENABLE_INIH=OFF 0025 -DEXIV2_BUILD_SAMPLES=OFF 0026 -DEXIV2_BUILD_PO=OFF 0027 -DEXIV2_BUILD_EXIV2_COMMAND=OFF 0028 -DEXIV2_BUILD_UNIT_TESTS=OFF 0029 -DEXIV2_BUILD_FUZZ_TESTS=OFF 0030 -DEXIV2_BUILD_DOC=OFF 0031 -DEXIV2_TEAM_EXTRA_WARNINGS=OFF 0032 -DEXIV2_TEAM_WARNINGS_AS_ERRORS=OFF 0033 -DEXIV2_TEAM_USE_SANITIZERS=OFF 0034 -D EXIV2_TEAM_OSS_FUZZ=OFF 0035 -DEXIV2_TEAM_PACKAGING=OFF 0036 ) 0037 0038 if(MINGW) 0039 0040 set(Exiv2_Conf ${Exiv2_Conf} 0041 -DEXIV2_ENABLE_WIN_UNICODE=ON 0042 ) 0043 0044 endif() 0045 0046 JoinListAsString("${Exiv2_Conf}" " " BASH_OPTIONS) 0047 0048 if(MINGW) 0049 0050 ExternalProject_Add(ext_exiv2 0051 DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} 0052 0053 GIT_REPOSITORY https://github.com/Exiv2/exiv2.git 0054 0055 # To use official release tag 0056 # GIT_TAG v0.28.0 0057 # See the bug https://github.com/Exiv2/exiv2/issues/2637 0058 GIT_TAG 0.27-maintenance 0059 0060 # PATCH_COMMAND git reset --hard && 0061 # ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/exiv2-mxe-mmap.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} exiv2 && 0066 cp -f ${CMAKE_CURRENT_SOURCE_DIR}/../../../../bootstrap.mxe <SOURCE_DIR>/. && 0067 <SOURCE_DIR>/bootstrap.mxe ${MXE_BUILDROOT} RelWithDebInfo ${BASH_OPTIONS} 0068 0069 BUILD_COMMAND cd <SOURCE_DIR>/build.mxe && $(MAKE) -j 0070 0071 INSTALL_COMMAND cd <SOURCE_DIR>/build.mxe && $(MAKE) install/fast 0072 0073 BUILD_IN_SOURCE 1 0074 0075 UPDATE_COMMAND "" 0076 ALWAYS 0 0077 ) 0078 0079 elseif(APPLE) 0080 0081 ExternalProject_Add(ext_exiv2 0082 DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} 0083 0084 GIT_REPOSITORY https://github.com/Exiv2/exiv2.git 0085 GIT_TAG v0.28.1 0086 0087 CONFIGURE_COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/../../../scripts/create_manifest.sh <SOURCE_DIR>/. && 0088 cd <SOURCE_DIR> && 0089 <SOURCE_DIR>/create_manifest.sh ${EXTERNALS_DOWNLOAD_DIR} exiv2 && 0090 cp -f ${CMAKE_CURRENT_SOURCE_DIR}/../../../../bootstrap.macports <SOURCE_DIR>/. && 0091 <SOURCE_DIR>/bootstrap.macports ${PREFIX_ext_exiv2} RelWithDebInfo ${CMAKE_HOST_SYSTEM_PROCESSOR} ${BASH_OPTIONS} 0092 0093 BUILD_COMMAND cd <SOURCE_DIR>/build && $(MAKE) 0094 0095 INSTALL_COMMAND cd <SOURCE_DIR>/build && $(MAKE) install/fast 0096 0097 BUILD_IN_SOURCE 1 0098 0099 UPDATE_COMMAND "" 0100 ALWAYS 0 0101 ) 0102 0103 elseif(MSVC) 0104 0105 ExternalProject_Add(ext_exiv2 0106 DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} 0107 0108 GIT_REPOSITORY https://github.com/Exiv2/exiv2.git 0109 GIT_TAG v0.28.1 0110 0111 PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/exiv2-brotli-vcpkg.patch && 0112 cp -f ${CMAKE_CURRENT_SOURCE_DIR}/../../../scripts/create_manifest.sh <SOURCE_DIR>/. && 0113 cd <SOURCE_DIR> && 0114 bash --noprofile <SOURCE_DIR>/create_manifest.sh ${EXTERNALS_DOWNLOAD_DIR} exiv2 0115 0116 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_exiv2} 0117 -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} 0118 ${Exiv2_Conf} 0119 ${GLOBAL_PROFILE} 0120 0121 UPDATE_COMMAND "" 0122 ALWAYS 0 0123 ) 0124 0125 else() # Linux 0126 0127 ExternalProject_Add(ext_exiv2 0128 DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} 0129 0130 GIT_REPOSITORY https://github.com/Exiv2/exiv2.git 0131 GIT_TAG v0.28.1 0132 0133 CONFIGURE_COMMAND cp -f ${CMAKE_CURRENT_SOURCE_DIR}/../../../scripts/create_manifest.sh <SOURCE_DIR>/. && 0134 cd <SOURCE_DIR> && 0135 <SOURCE_DIR>/create_manifest.sh ${EXTERNALS_DOWNLOAD_DIR} exiv2 && 0136 $(CMAKE_COMMAND) . -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_exiv2} 0137 -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} 0138 -DICONV_INCLUDE_DIR=${PREFIX_ext_exiv2}/include 0139 ${Exiv2_Conf} 0140 ${GLOBAL_PROFILE} 0141 0142 BUILD_COMMAND cd <SOURCE_DIR> && $(MAKE) 0143 0144 INSTALL_COMMAND cd <SOURCE_DIR> && $(MAKE) install/fast 0145 0146 UPDATE_COMMAND "" 0147 ALWAYS 0 0148 ) 0149 0150 endif()