From 644c63c87c1bbea11d279dc3ff04404bd1defbd3 Mon Sep 17 00:00:00 2001
From: Mike Buland <eichlan@xagasoft.com>
Date: Sun, 10 Feb 2013 04:28:18 +0000
Subject: Added a qt5 build include.  It's pretty much the same as 4, except
 you have an extra package to track and everything has a 5 in it :-P

---
 share/include/qt5.bld | 165 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 165 insertions(+)
 create mode 100644 share/include/qt5.bld

diff --git a/share/include/qt5.bld b/share/include/qt5.bld
new file mode 100644
index 0000000..d75fbdd
--- /dev/null
+++ b/share/include/qt5.bld
@@ -0,0 +1,165 @@
+
+function qt_getCXXFLAGS()
+{
+    if QTDIR == null then
+    {
+        error "QTDIR is not set, cannot find QT tools.";
+    }
+
+    ret = "-D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LI "
+        "-DQT_SHARED -I${QTDIR}/mkspecs/linux-g++ "
+        "$(PKG_CONFIG_PATH=PKG_CONFIG_PATH:${QTDIR}/lib/pkgconfig "
+        "pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets ice glu x11 xext libpng freetype2 "
+        "gobject-2.0 sm xrender fontconfig gthread-2.0 glib-2.0)";
+    if UI_DIR != null then
+    {
+        ret += "-I${UI_DIR}";
+    }
+    if RCC_DIR != null then
+    {
+        ret += "-I${RCC_DIR}";
+    }
+    if MOC_DIR != null then
+    {
+        ret += "-I${MOC_DIR}";
+    }
+    return ret;
+}
+
+function qt_getLDFLAGS()
+{
+    if QTDIR == null then
+    {
+        error "QTDIR is not set, cannot find QT tools.";
+    }
+
+    return "-Wl,-rpath,${QTDIR}/lib $(PKG_CONFIG_PATH="
+        "PKG_CONFIG_PATH:${QTDIR}/lib/pkgconfig "
+        "pkg-config --libs Qt5Core Qt5Gui Qt5Widgets ice glu x11 xext libpng freetype2 "
+        "gobject-2.0 sm xrender fontconfig gthread-2.0 glib-2.0) -lz "
+        "-lm -ldl";
+}
+
+function qt_getToolPath( TOOL, DEFAULT )
+{
+    if QTDIR == null then
+    {
+        error "QTDIR is not set, cannot find QT tools.";
+    }
+    if TOOL == null then
+    {
+        return "${QTDIR}/bin/${DEFAULT}";
+    }
+    return TOOL;
+}
+
+function qt_uiToH()
+{
+    if "${UI_DIR}" == "" then
+    {
+        DIR = INPUT.dirName();
+    }
+    else
+    {
+        DIR = UI_DIR;
+    }
+    FILE = INPUT.fileName();
+    OUTFILE = FILE.replace(".ui",".h");
+    return "${DIR}/ui_${OUTFILE}";
+}
+
+rule "qt_ui"
+{
+    display "ui";
+    input "*.ui";
+    output INPUT.qt_uiToH();
+    tag "headers";
+    profile "build"
+    {
+        UIC = qt_getToolPath( UIC, "uic" );
+        execute("${UIC} -o ${OUTPUT} ${INPUT}");
+    }
+}
+
+function qt_qrcToCpp()
+{
+    if "${RCC_DIR}" == "" then
+    {
+        DIR = INPUT.dirName();
+    }
+    else
+    {
+        DIR = RCC_DIR;
+    }
+    FILE = INPUT.fileName();
+    OUTFILE = FILE.replace(".qrc",".cpp");
+    return "${DIR}/qrc_${OUTFILE}";
+}
+
+rule "qt_rcc"
+{
+    display "rcc";
+    input "*.qrc";
+    output INPUT.qt_qrcToCpp();
+    profile "build"
+    {
+        RCC = qt_getToolPath( RCC, "rcc" );
+        NAME = INPUT.fileName().replace(".qrc","");
+        execute("${RCC} -name ${NAME} -o ${OUTPUT} ${INPUT}");
+    }
+}
+
+function qt_isMocable()
+{
+    if INPUT.matches("*.h") then
+    {
+        if exists( INPUT ) then
+        {
+            if "$(grep Q_OBJECT ${INPUT})" != "" then
+            {
+                return true;
+            }
+        }
+    }
+    return false;
+}
+
+function qt_hToMocCpp()
+{
+    if "${MOC_DIR}" == "" then
+    {
+        DIR = INPUT.dirName();
+    }
+    else
+    {
+        DIR = MOC_DIR;
+    }
+    FILE = INPUT.fileName();
+    OUTFILE = FILE.replace(".h",".cpp");
+    return "${DIR}/moc_${OUTFILE}";
+}
+
+rule "qt_moc"
+{
+    display "moc";
+    input qt_isMocable();
+    output INPUT.qt_hToMocCpp();
+    profile "build"
+    {
+        MOC = qt_getToolPath( MOC, "moc" );
+        execute("${MOC} -o${OUTPUT} ${INPUT}");
+    }
+}
+
+rule "exe"
+{
+    input regex(".*\\.(h|o)");
+    profile "build"
+    {
+        INPUT = [INPUT].matches("*.o");
+//      execute("echo ${INPUT}");
+//      execute("echo ${MYIN}");
+        execute("${CXX} -o ${OUTPUT} ${INPUT} ${LDFLAGS}");
+    }
+}
+
-- 
cgit v1.2.3