|
|
|
@ -19,6 +19,7 @@ PROJECT_PATH=$(pwd) |
|
|
|
|
DEFAULT_PROJECT_NAME=${PROJECT_PATH##*/} |
|
|
|
|
configure=0 |
|
|
|
|
build=0 |
|
|
|
|
docker=0 |
|
|
|
|
buildtarget="distcheck" |
|
|
|
|
overwrite=0 |
|
|
|
|
rebuild=0 |
|
|
|
@ -26,6 +27,7 @@ rebuildfiles=() |
|
|
|
|
while test $# -gt 0; do |
|
|
|
|
case "$1" in |
|
|
|
|
(--configure|-c) configure=1;; |
|
|
|
|
(--docker|-d) docker=1;; |
|
|
|
|
(--build|-b) configure=1; build=1;; |
|
|
|
|
(--target|-t) shift; configure=1; build=1; buildtarget="$1";; |
|
|
|
|
(--overwrite|-o) overwrite=1;; |
|
|
|
@ -42,6 +44,7 @@ SYNOPSIS |
|
|
|
|
OPTIONS |
|
|
|
|
|
|
|
|
|
--configure, -c call ./configure after initialization |
|
|
|
|
--docker, -d build and run tests in a docker instance |
|
|
|
|
--build, -b build, also call ./configure && make distcheck |
|
|
|
|
--target, -t <target> same as -b, but specify target instead of distcheck |
|
|
|
|
--overwrite, -o overwrite all basic files (bootstrap.sh, m4-macros) |
|
|
|
@ -105,6 +108,7 @@ GENERATED FILES |
|
|
|
|
* ax_check_qt.m4 - auxiliary macro definition file |
|
|
|
|
* resolve-debbuilddeps.sh - script to install debian package dependencies |
|
|
|
|
* resolve-rpmbuilddeps.sh - script to install RPM package dependencies |
|
|
|
|
* build-in-docker.sh - script to build the project encapsulated in a docker container |
|
|
|
|
* build-resource-file.sh - build resource.qrc file from a resource directory |
|
|
|
|
* mac-create-app-bundle.sh - script to create apple mac os-x app-bundle |
|
|
|
|
* AUTHORS - replace your name in AUTHORS before first run |
|
|
|
@ -119,7 +123,7 @@ GENERATED FILES |
|
|
|
|
* scripts/makefile.in - if you enabled AX_USE_SCRIPTS |
|
|
|
|
* doc/makefile.am - if you enabled AX_USE_DOXYGEN |
|
|
|
|
* doc/doxyfile.in - if you enabled AX_USE_DOXYGEN |
|
|
|
|
* test/makefile.am - if you enabled AX_USE_CPPUNIT |
|
|
|
|
* test/makefile.am - if you enabled AX_BUILD_TEST or AX_USE_CPPUNIT |
|
|
|
|
* examples/makefile.am - if you enabled AX_BUILD_EXAMPLES |
|
|
|
|
* debian/changelog.in - if you enabled AX_USE_DEBIAN_PACKAGING |
|
|
|
|
* debian/control.in - if you enabled AX_USE_DEBIAN_PACKAGING |
|
|
|
@ -170,7 +174,7 @@ FILE DEPENDENCIES |
|
|
|
|
* test/makefile.am depends on AX_USE_LIBTOOL |
|
|
|
|
* html/makefile.am depends on AX_BUILD_HTML |
|
|
|
|
* doc/doxyfile.in depends on AX_BUILD_EXAMPLES |
|
|
|
|
* debian/control.in depends on AX_USE_DOXYGEN, AX_USE_CPPUNIT, |
|
|
|
|
* debian/control.in depends on AX_USE_DOXYGEN, AX_USE_CPPUNIT |
|
|
|
|
AX_CXX_QT, AX_CHECK_QT, AX_REQUIRE_QT, AX_USE_LIBTOOL |
|
|
|
|
* debian/${DEFAULT_PROJECT_NAME}.install depends on AX_USE_LIBTOOL |
|
|
|
|
* debian/${DEFAULT_PROJECT_NAME}.dirs depends on AX_USE_LIBTOOL |
|
|
|
@ -207,6 +211,7 @@ FILES |
|
|
|
|
* Enable Debian packaging by calling "make deb": AX_USE_DEBIAN_PACKAGING |
|
|
|
|
* Enable RPM packaging by calling "make rpm": AX_USE_RPM_PACKAGING |
|
|
|
|
* Enable C++ testing using CppUnit: AX_USE_CPPUNIT |
|
|
|
|
* Enable other tests: AX_BUILD_TEST |
|
|
|
|
* Enable C++ examples, i.e. for libraries: AX_BUILD_EXAMPLES |
|
|
|
|
* Check for C++11 support: AX_CXX_COMPILE_STDCXX_11 (see ax_cxx_compile_stdcxx_11.m4) |
|
|
|
|
* Require a QT module: AX_REQUIRE_QT (see ax_check_qt.m4) |
|
|
|
@ -404,6 +409,7 @@ copy ax_cxx_compile_stdcxx_11.m4 |
|
|
|
|
copy ax_check_qt.m4 |
|
|
|
|
copy resolve-debbuilddeps.sh |
|
|
|
|
copy resolve-rpmbuilddeps.sh |
|
|
|
|
copy build-in-docker.sh |
|
|
|
|
copy build-resource-file.sh |
|
|
|
|
copy mac-create-app-bundle.sh |
|
|
|
|
AUTHOR=$(gpg -K | sed -n 's,uid *,,p' | sort | head -1) |
|
|
|
@ -439,6 +445,7 @@ AX_INIT_STANDARD_PROJECT |
|
|
|
|
#AX_USE_DEBIAN_PACKAGING |
|
|
|
|
#AX_USE_RPM_PACKAGING |
|
|
|
|
#AX_USE_CPPUNIT |
|
|
|
|
#AX_BUILD_TEST |
|
|
|
|
#AX_BUILD_EXAMPLES |
|
|
|
|
#AX_BUILD_HTML |
|
|
|
|
|
|
|
|
@ -458,8 +465,8 @@ IFS="$SAVEIFS" |
|
|
|
|
PackageName=${PackageName[*]^} |
|
|
|
|
PackageName=${PackageName// /} |
|
|
|
|
|
|
|
|
|
if ! testtag "AX_CHECK_QT" configure.ac && \ |
|
|
|
|
! testtag "AX_REQUIRE_QT" configure.ac; then |
|
|
|
|
if ! testtag AX_CHECK_QT && \ |
|
|
|
|
! testtag AX_REQUIRE_QT; then |
|
|
|
|
echo "${HEADER}MAINTAINERCLEANFILES = makefile.in" | \ |
|
|
|
|
to --condition AX_USE_CXX src/makefile.am |
|
|
|
|
elif ! test -e src/makefile.am; then |
|
|
|
@ -695,10 +702,20 @@ namespace NAMESPACE { |
|
|
|
|
EOF |
|
|
|
|
echo "${HEADER}MAINTAINERCLEANFILES = makefile.in" | to --condition AX_USE_SCRIPTS scripts/makefile.am |
|
|
|
|
echo "${HEADER}MAINTAINERCLEANFILES = makefile.in" | to --condition AX_USE_DOXYGEN doc/makefile.am |
|
|
|
|
to --condition AX_USE_CPPUNIT test/makefile.am <<EOF |
|
|
|
|
${HEADER}AM_CPPFLAGS = -I\${top_srcdir}/src -I\${top_builddir}/src |
|
|
|
|
to --condition 'AX_BUILD_TEST|AX_USE_CPPUNIT' test/makefile.am <<EOF |
|
|
|
|
${HEADER}$(if testtag AX_USE_CXX; then |
|
|
|
|
cat <<EOF2 |
|
|
|
|
AM_CPPFLAGS = -I\${top_srcdir}/src -I\${top_builddir}/src |
|
|
|
|
AM_LDFLAGS = -L\${abs_top_builddir}/src/.libs |
|
|
|
|
$(if testtag AX_USE_LIBTOOL; then |
|
|
|
|
cat <<EOF3 |
|
|
|
|
LDADD = -l${PACKAGE_NAME#lib} |
|
|
|
|
EOF3 |
|
|
|
|
fi) |
|
|
|
|
EOF2 |
|
|
|
|
fi) |
|
|
|
|
|
|
|
|
|
TESTS = |
|
|
|
|
|
|
|
|
|
MAINTAINERCLEANFILES = makefile.in |
|
|
|
|
EOF |
|
|
|
@ -761,7 +778,7 @@ if testtag AX_USE_DOXYGEN; then |
|
|
|
|
if testtag AX_BUILD_HTML; then |
|
|
|
|
doxyadd INPUT "@top_srcdir@/html" |
|
|
|
|
fi |
|
|
|
|
if testtag AX_USE_CPPUNIT; then |
|
|
|
|
if testtag AX_BUILD_TEST AX_USE_CPPUNIT; then |
|
|
|
|
doxyadd INPUT "@top_srcdir@/test" |
|
|
|
|
fi |
|
|
|
|
doxyreplace FILE_PATTERNS '*.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.idl *.ddl *.odl *.h *.hh *.hxx *.hpp *.h++ *.cs *.d *.php *.php4 *.php5 *.phtml *.inc *.m *.markdown *.md *.mm *.dox *.py *.f90 *.f *.for *.tcl *.vhd *.vhdl *.ucf *.qsf *.as *.js *.wt' |
|
|
|
@ -802,11 +819,12 @@ if testtag AX_USE_DEBIAN_PACKAGING; then |
|
|
|
|
|
|
|
|
|
-- @AUTHOR@ @BUILD_DATE@ |
|
|
|
|
EOF |
|
|
|
|
BUILD_DEPENDS="debhelper, subversion, svn2cl, pkg-config, automake, libtool, autotools-dev, lsb-release $(if testtag AX_USE_DOXYGEN; then echo -n ", doxygen, graphviz, mscgen"; fi; if testtag AX_USE_CPPUNIT; then echo -n ", libcppunit-dev"; fi; if testtag AX_CXX_QT || testtag AX_CHECK_QT AX_REQUIRE_QT; then echo -n ", qt5-default | qt4-default | qt5-qmake | qt4-qmake, qtbase5-dev | libqt4-dev, qtbase5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools"; fi)" |
|
|
|
|
to debian/control.in <<EOF |
|
|
|
|
Source: @PACKAGE_NAME@ |
|
|
|
|
Priority: extra |
|
|
|
|
Maintainer: @AUTHOR@ |
|
|
|
|
Build-Depends: debhelper, subversion, pkg-config, autotools-dev, lsb-release $(if testtag AX_USE_DOXYGEN; then echo -n ", doxygen, graphviz, mscgen"; fi; if testtag AX_USE_CPPUNIT; then echo -n ", libcppunit-dev"; fi; if testtag AX_CXX_QT || testtag AX_CHECK_QT AX_REQUIRE_QT; then echo -n ", qt5-default | qt4-default | qt5-qmake | qt4-qmake, qtbase5-dev | libqt4-dev, qtbase5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools, qttools5-dev-tools | qt4-dev-tools"; fi) |
|
|
|
|
Build-Depends: ${BUILD-DEPENDS} |
|
|
|
|
|
|
|
|
|
Package: @PACKAGE_NAME@ |
|
|
|
|
Section: $(if testtag AX_USE_LIBTOOL; then echo "libs"; fi) |
|
|
|
@ -820,7 +838,7 @@ $( if testtag AX_USE_LIBTOOL; then |
|
|
|
|
Package: @PACKAGE_NAME@-dev |
|
|
|
|
Section: libdevel |
|
|
|
|
Architecture: any |
|
|
|
|
Depends: @PACKAGE_NAME@ (= \${binary:Version}) |
|
|
|
|
Depends: @PACKAGE_NAME@ (= \${binary:Version}), ${BUILD-DEPENDS} |
|
|
|
|
Description: @DESCRIPTION@ - Development Package |
|
|
|
|
@README_DEB@ |
|
|
|
|
EOF2 |
|
|
|
@ -1011,3 +1029,8 @@ fi |
|
|
|
|
if test "$build" -eq 1; then |
|
|
|
|
make $buildtarget |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
#### Build In Docker If User Requires #### |
|
|
|
|
if test "$docker" -eq 1; then |
|
|
|
|
./build-in-docker.sh |
|
|
|
|
fi |
|
|
|
|