#!/bin/bash
-[[ $OMK_RULES != linux ]] && exit 0
+[ "$OMK_RULES" -a "$OMK_RULES" != linux ] && exit 0
+
. ./functions.sh
export QTDIR
[ -d $QTDIR ] || canttest "Can't find QT4 instalation"
-cat > 'Makefile.omk' <<'EOF'
-SUBDIRS = somelib
-QT_SUBDIRS = qtapp
-EOF
-mkdir 'somelib'
-cat > 'somelib/somelib.c' <<'EOF'
+# Function to create a QT app using an OMK-built library
+function create_qt_app() {
+ mkdir 'somelib'
+ cat > 'somelib/somelib.c' <<'EOF'
#include <header.h>
int some_function(int num)
return SOME_CONST - num;
}
EOF
-cat > 'somelib/Makefile.omk' <<'EOF'
+ cat > 'somelib/Makefile.omk' <<'EOF'
include_HEADERS = header.h
shared_LIBRARIES = somelib
somelib_SOURCES = somelib.c
EOF
-cat > 'somelib/header.h' <<'EOF'
+ cat > 'somelib/header.h' <<'EOF'
#ifndef HEADER_H
#define HEADER_H
#endif
EOF
-mkdir 'qtapp'
-cat > 'qtapp/qtapp.cxx' <<'EOF'
+ mkdir 'qtapp'
+ cat > 'qtapp/qtapp.cxx' <<'EOF'
#include <QApplication>
#include <QPushButton>
#include <header.h>
return app.exec();
}
EOF
-echo 'QT_PROJECTS=qtapp.pro' > 'qtapp/Makefile.omk'
-cat > 'qtapp/qtapp.pro' <<'EOF'
+ cat > 'qtapp/qtapp.pro' <<'EOF'
######################################################################
# Automatically generated by qmake (2.01a) po ?rc 16 18:49:31 2007
######################################################################
SOURCES += qtapp.cxx
LIBS+=-lsomelib
EOF
-omkize
-WVPASS make
-WVPASS test -x _compiled/bin/qtapp
-make clean
+}
############################
-# QT Compilation in subdir #
+# The actual tests
############################
-cat > Makefile.omk <<'EOF'
-SUBDIRS = somelib dir
+WVSTART "QT_SUBDIRS in top-level Makefile.omk"
+create_qt_app
+cat > 'Makefile.omk' <<'EOF'
+SUBDIRS = somelib
+QT_SUBDIRS = qtapp
EOF
+omkize
+WVPASS make V=1
+WVPASS test -x _compiled/bin/qtapp
+
+WVSTART "QT_SUBDIRS in a subdir"
+create_qt_app
+echo "SUBDIRS = somelib dir" > Makefile.omk
mkdir 'dir'
-echo 'QT_SUBDIRS = ../qtapp' > 'dir/Makefile.omk'
+mv qtapp dir
+echo 'QT_SUBDIRS = qtapp' > 'dir/Makefile.omk'
omkize
WVPASS make
WVPASS test -x _compiled/bin/qtapp
-make clean
-cat <<EOF > Makefile.omk
-SUBDIRS = somelib qtapp
-EOF
+WVSTART "QT_PROJECTS variable"
+create_qt_app
+echo 'QT_PROJECTS=qtapp.pro' > 'qtapp/Makefile.omk'
+echo "SUBDIRS = somelib qtapp" > Makefile.omk
+omkize
WVPASS make
WVPASS test -x _compiled/bin/qtapp