File: port_to_autogenerate_export_header.sh

package info (click to toggle)
kde-dev-scripts 4%3A18.08.0-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 3,496 kB
  • sloc: perl: 15,466; lisp: 5,627; sh: 4,157; python: 3,892; ruby: 2,158; makefile: 16; sed: 9
file content (40 lines) | stat: -rwxr-xr-x 1,023 bytes parent folder | download | duplicates (5)
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
#!/bin/sh

# Laurent Montel <montel@kde.org> (2014)
# Remove local file to export macro and use autogenerated file
# kde-dev-scripts/kf5/port_to_autogenerate_export_header.sh <file_export.h>

if test $# != 1; then
  echo "Usage : $0 <file_export.h>"
  exit 1
fi

path=$1;
echo "$1";
directoryName=$(dirname $path);
echo "directoryname : $directoryName";

fileName=$(basename $path);
echo "basename : $fileName";

cmakelists="$directoryName/CMakeLists.txt"

if test -f $cmakelists ; then
   echo " there is a cmakelists.txt";
else
   echo "can't determinate CMakeLists.txt path, can't continue.";
   exit 1;
fi

exportname=`echo "$fileName" |perl -pe 's/\_export.h//'`
echo "$exportname";

generateHeader="generate_export_header($exportname BASE_NAME $exportname)";
echo "$generateHeader";

perl -pi -e 'if ( /add_library\s*\($exportname/ ) { $_ = $_ . "REPLACE_TO_GENERATE_HEADER\n" }' $cmakelists

perl -pi -e "s/REPLACE_TO_GENERATE_HEADER/$generateHeader/" $cmakelists

echo "remove export for from source";
git rm $path