File indexing completed on 2024-05-12 04:17:32
0001 #!/bin/bash 0002 0003 # SPDX-FileCopyrightText: 2008-2024 by Gilles Caulier, <caulier dot gilles at gmail dot com> 0004 # 0005 # SPDX-License-Identifier: BSD-3-Clause 0006 # 0007 # Arguments : $1 : MXE build root path to MXE bundle dir (default ./project/mxe/build.win32). 0008 # $2 : build type : 'debugfull' to hack (default), 'release' for production, relwithdebinfo for packaging. 0009 0010 # Halt and catch errors 0011 set -eE 0012 trap 'PREVIOUS_COMMAND=$THIS_COMMAND; THIS_COMMAND=$BASH_COMMAND' DEBUG 0013 trap 'echo "FAILED COMMAND: $PREVIOUS_COMMAND"' ERR 0014 0015 ORIG_WD="`pwd`" 0016 0017 MXE_BUILDROOT=$1 0018 0019 if [[ $MXE_BUILDROOT == "" ]]; then 0020 0021 echo "MXE target build directory is missing!" 0022 exit -1 0023 0024 fi 0025 0026 if [[ $MXE_BUILDROOT == *.win32 ]]; then 0027 0028 echo "MXE target : 32 bits shared" 0029 MXE_BUILD_TARGETS="i686-w64-mingw32.shared" 0030 0031 elif [[ $MXE_BUILDROOT == *.win64 ]]; then 0032 0033 echo "MXE target : 64 bits shared" 0034 MXE_BUILD_TARGETS="x86_64-w64-mingw32.shared" 0035 0036 else 0037 0038 echo "Invalid MXE target!" 0039 exit -1 0040 0041 fi 0042 0043 BUILD_TYPE=$2 0044 0045 if [ "$BUILD_TYPE" = "" ]; then 0046 BUILD_TYPE=RelWithDebInfo 0047 fi 0048 0049 MXE_INSTALL_PREFIX=${MXE_BUILDROOT}/usr/${MXE_BUILD_TARGETS}/ 0050 MXE_TOOLCHAIN=${MXE_INSTALL_PREFIX}/share/cmake/mxe-conf.cmake 0051 0052 # Exiv2 configuration options for cmake. 0053 OPTIONS='-DBUILD_SHARED_LIBS=ON \ 0054 -DEXIV2_ENABLE_XMP=ON \ 0055 -DEXIV2_ENABLE_EXTERNAL_XMP=OFF \ 0056 -DEXIV2_ENABLE_PNG=ON \ 0057 -DEXIV2_ENABLE_NLS=ON \ 0058 -DEXIV2_ENABLE_BMFF=ON \ 0059 -DEXIV2_ENABLE_PRINTUCS2=ON \ 0060 -DEXIV2_ENABLE_LENSDATA=ON \ 0061 -DEXIV2_ENABLE_VIDEO=OFF \ 0062 -DEXIV2_ENABLE_WEBREADY=OFF \ 0063 -DEXIV2_ENABLE_DYNAMIC_RUNTIME=OFF \ 0064 -DEXIV2_ENABLE_CURL=OFF \ 0065 -DEXIV2_ENABLE_SSH=OFF \ 0066 -DEXIV2_BUILD_SAMPLES=OFF \ 0067 -DEXIV2_BUILD_PO=OFF \ 0068 -DEXIV2_BUILD_EXIV2_COMMAND=ON \ 0069 -DEXIV2_BUILD_UNIT_TESTS=OFF \ 0070 -DEXIV2_BUILD_DOC=OFF \ 0071 -DEXIV2_TEAM_EXTRA_WARNINGS=OFF \ 0072 -DEXIV2_TEAM_WARNINGS_AS_ERRORS=OFF \ 0073 -DEXIV2_TEAM_USE_SANITIZERS=OFF \ 0074 -DEXIV2_ENABLE_WIN_UNICODE=OFF' 0075 0076 echo "Installing to $MXE_BUILDROOT for target $MXE_BUILD_TARGETS with build mode $BUILD_TYPE and configure options $OPTIONS" 0077 0078 # Paths rules 0079 ORIG_PATH="$PATH" 0080 export PATH=$MXE_BUILDROOT/usr/bin:$PATH 0081 0082 if [ ! -d "build" ]; then 0083 mkdir $ORIG_WD/build 0084 fi 0085 0086 cd $ORIG_WD/build 0087 0088 ${MXE_BUILD_TARGETS}-cmake -G "Unix Makefiles" . \ 0089 -DMXE_TOOLCHAIN=${MXE_TOOLCHAIN} \ 0090 -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ 0091 -DCMAKE_COLOR_MAKEFILE=ON \ 0092 -DCMAKE_INSTALL_PREFIX=${MXE_INSTALL_PREFIX} \ 0093 -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \ 0094 -DCMAKE_TOOLCHAIN_FILE=${MXE_TOOLCHAIN} \ 0095 -DCMAKE_FIND_PREFIX_PATH=${CMAKE_PREFIX_PATH} \ 0096 -DCMAKE_SYSTEM_INCLUDE_PATH=${CMAKE_PREFIX_PATH}/include \ 0097 -DCMAKE_INCLUDE_PATH=${CMAKE_PREFIX_PATH}/include \ 0098 -DCMAKE_LIBRARY_PATH=${CMAKE_PREFIX_PATH}/lib \ 0099 -DZLIB_ROOT=${CMAKE_PREFIX_PATH} \ 0100 ${OPTIONS} \ 0101 -Wno-dev \ 0102 .. 0103 0104 CMAKE_VAL_RET=$? 0105 0106 export PATH=$ORIG_PATH 0107 0108 exit $CMAKE_VAL_RET