File: bootstrap.api

package info (click to toggle)
digikam 4%3A8.8.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 345,724 kB
  • sloc: cpp: 916,833; xml: 145,398; ansic: 46,748; sh: 7,211; python: 2,681; javascript: 1,818; yacc: 958; perl: 685; objc: 340; lex: 315; java: 54; makefile: 39; ruby: 14
file content (130 lines) | stat: -rwxr-xr-x 3,281 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#!/bin/bash

# SPDX-FileCopyrightText: 2008-2025 by Gilles Caulier, <caulier dot gilles at gmail dot com>
#
# SPDX-License-Identifier: BSD-3-Clause
#
# Configure compile and upload the API doc (html tarball + PDF).

# Halt and catch errors
set -eE
trap 'PREVIOUS_COMMAND=$THIS_COMMAND; THIS_COMMAND=$BASH_COMMAND' DEBUG
trap 'echo "FAILED COMMAND: $PREVIOUS_COMMAND"' ERR

SOURCEDIR=$PWD
export BUILD_WITH_QT6=1

if [[ $BUILD_WITH_QT6 == 1 ]] ; then
    QTPATHS="qtpaths6"
else
    QTPATHS="qtpaths"
fi

# Prior Qt6 first. if failed try Qt5
# Customized install Qt path compiled with https://github.com/cgilles/digikam-install-deps.git

if   [[ -d /opt/qt6 && $BUILD_WITH_QT6 == 1 ]] ; then

    export Qt6_DIR=/opt/qt6

    QTPATHS="/opt/qt6/bin/qtpaths6"

    export CMAKE_BINARY=/opt/qt6/bin/cmake

elif [ -d /opt/qt5 ] ; then

    export Qt5_DIR=/opt/qt5

    QTPATHS="/opt/qt5/bin/qtpaths"

    export CMAKE_BINARY=/opt/qt5/bin/cmake

    export BUILD_WITH_QT6=0

fi

command -v $QTPATHS >/dev/null 2>&1 || { echo >&2 "This script require $QTPATHS CLI tool from Qt project but it's not installed. Aborting."; exit 1; }

MAKEFILES_TYPE='Unix Makefiles'
CURRENT_DIR=$PWD
BUILDDIR=$CURRENT_DIR"/build.api"
LIBPATH="lib64"
CMAKE_BINARY="cmake"
CURRENT_DATE=`date +"%Y-%m-%d"`
TARBALL_FILE="digiKam-apidoc-html-$CURRENT_DATE.tar.xz"
TARBALL_PATH="$CURRENT_DIR/$TARBALL_FILE"
PDF_FILE="digiKam-apidoc-$CURRENT_DATE.pdf"
PDF_PATH="$CURRENT_DIR/latex/$PDF_FILE"

QT_INSTALL_PREFIX=`$QTPATHS --install-prefix`
QT_PLUGIN_INSTALL_DIR=`$QTPATHS --plugin-dir`
export PATH=$QT_INSTALL_PREFIX/bin:$PATH
DIGIKAM_INSTALL_PREFIX="/usr"

export LD_LIBRARY_PATH=$DIGIKAM_INSTALL_PREFIX/$LIBPATH:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=$DIGIKAM_INSTALL_PREFIX/$LIBPATH/pkgconfig:$PKG_CONFIG_PATH

echo "QtInstall Path  : $QT_INSTALL_PREFIX"
echo "CMake binary    : $CMAKE_BINARY"
echo "Build Directory : $BUILDDIR"
echo "ECM min version : $ECM_MIN_VERSION"

mkdir -p $BUILDDIR
cd $BUILDDIR

# Build API HTML section with Doxygen

$CMAKE_BINARY -G "$MAKEFILES_TYPE" . \
      -DBUILD_TESTING=OFF \
      -DBUILD_WITH_CCACHE=OFF \
      -DBUILD_WITH_QT6=$BUILD_WITH_QT6 \
      -DDIGIKAMSC_COMPILE_PO=OFF \
      -DDIGIKAMSC_COMPILE_DIGIKAM=OFF \
      $SOURCEDIR && echo "$MESSAGE"

make -j4 doc

XZ_OPT=-9 tar cJf $TARBALL_PATH -C $CURRENT_DIR ./html

rm -fr $BUILDDIR
rm -fr $CURRENT_DIR/html

# Upload API HTML tarball section

cd $CURRENT_DIR

API_UPLOADURL="digikam@tinami.kde.org:/srv/archives/files/digikam/api/"

echo -e "---------- Cleanup older API DOC tarball files from files.kde.org repository \n"

sftp -q $API_UPLOADURL <<< "rm digiKam-apidoc-*.tar.xz"

echo -e "---------- Upload $TARBALL_PATH tarball files"
echo -e "---------- to $API_UPLOADURL \n"

rsync -r -v --progress -e ssh $TARBALL_PATH $API_UPLOADURL


# Build API PDF section with PDFLatex

cd $CURRENT_DIR/latex

make
make pdf
mv refman.pdf $PDF_PATH

# Upload API PDF section

echo -e "---------- Cleanup older API PDF files from files.kde.org repository \n"

sftp -q $API_UPLOADURL <<< "rm digiKam-apidoc-*.pdf"

echo -e "---------- Upload $PDF_PATH PDF files"
echo -e "---------- to $API_UPLOADURL \n"

rsync -r -v --progress -e ssh $PDF_PATH $API_UPLOADURL

# Cleanup

rm -fr $TARBALL_PATH
rm -fr $CURRENT_DIR/latex