Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Changes: unify usage of mmoc and mgen in the different .pro files
RevBy: Max Waterman
Details: there was quite some code duplication in the usage
of mmoc and mgen in the project. this is now all simplified
and unified. all unit tests still pass.
  • Loading branch information
Holger Schroeder authored and Daniel d'Andrada committed Jun 30, 2010
1 parent f11dee1 commit 1e1b956
Show file tree
Hide file tree
Showing 27 changed files with 149 additions and 309 deletions.
7 changes: 1 addition & 6 deletions configure
Expand Up @@ -608,11 +608,6 @@ else
mv -f "$M_QMAKE_CACHE.tmp" "$M_QMAKE_CACHE"
fi

M_MMOC_EXECUTABLE="mmoc"
if [ "$IS_ARMEL" = "yes" ]; then
M_MMOC_EXECUTABLE="mmoc.pl"
fi

MEEGOTOUCH_DEFINES_PRF="$outpath/mkspecs/features/meegotouch_defines.prf"

# and now we generate a meegotouch_defines.prf that will contain the right
Expand All @@ -621,7 +616,7 @@ cat "$relpath/mkspecs/features/meegotouch_defines.prf.in" \
| sed -e "s,@@M_UNIX_INSTALL_PREFIX@@,$M_INSTALL_PREFIX,g" \
| sed -e "s,@@M_UNIX_INSTALL_SYSCONFDIR@@,$M_INSTALL_SYSCONFDIR,g" \
| sed -e "s,@@M_UNIX_INSTALL_LIBDIR@@,$M_INSTALL_LIBDIR,g" \
| sed -e "s,@@M_MMOC_EXECUTABLE@@,$M_MMOC_EXECUTABLE,g" > "$MEEGOTOUCH_DEFINES_PRF.tmp"
> "$MEEGOTOUCH_DEFINES_PRF.tmp"

# replace meegotouch_defines.prf if it differs from the newly created temp file
if cmp -s "$MEEGOTOUCH_DEFINES_PRF.tmp" "$MEEGOTOUCH_DEFINES_PRF"; then
Expand Down
68 changes: 24 additions & 44 deletions mkspecs/features/meegotouch_common.prf
@@ -1,52 +1,32 @@
include(meegotouch_defines.prf)
include(meegotouch_mgen.prf)

macx {
INCLUDEPATH += /Library/Frameworks/m.framework/Headers
} else {
}

contains(TEMPLATE, app) {
DEFINES += M_APPLICATION_NAME=\\\"${QMAKE_TARGET}\\\"
contains(TEMPLATE, app) {
DEFINES += M_APPLICATION_NAME=\\\"${QMAKE_TARGET}\\\"
} else {
contains(TEMPLATE, lib) {
DEFINES += M_LIBRARY_NAME=\\\"lib${QMAKE_TARGET}\\\"
} else {
contains(TEMPLATE, lib) {
DEFINES += M_LIBRARY_NAME=\\\"lib${QMAKE_TARGET}\\\"
} else {
# error(Unknown template)
}
# error(Unknown template)
}
}

!contains(DEFINES, BUILD_M) {
M_INC_DIR = $$M_PREFIX/include/meegotouch
M_LIB_DIR = $$M_LIBDIR

GSTREAMER_INC = /usr/include/gstreamer-0.10 /usr/include/glib-2.0 /usr/lib/glib-2.0/include /usr/include/libxml2

INCLUDEPATH += $${M_INC_DIR} $${GSTREAMER_INC}
DEPENDPATH += $${M_INC_DIR}

unix: QMAKE_LFLAGS += $${QMAKE_LFLAGS_RPATH}$${M_LIB_DIR}
LIBS += -L$${M_LIB_DIR}

QMAKE_MOC = $${M_MMOC_EXECUTABLE}

isEmpty(MGEN_OUTDIR) {
MGEN_OUTDIR = .
}

mgenerator_model.name = mgenerator model
mgenerator_model.input = MODEL_HEADERS
mgenerator_model.output = $$MGEN_OUTDIR/gen_${QMAKE_FILE_BASE}data.cpp
mgenerator_model.commands += mgen --model ${QMAKE_FILE_NAME} $$MGEN_OUTDIR
mgenerator_model.clean += $$MGEN_OUTDIR/gen_*
mgenerator_model.CONFIG = target_predeps no_link
mgenerator_model.variable_out = GENERATED_SOURCES
QMAKE_EXTRA_COMPILERS += mgenerator_model

mgenerator_style.name = mgenerator style
mgenerator_style.input = STYLE_HEADERS
mgenerator_style.output = $$MGEN_OUTDIR/gen_${QMAKE_FILE_BASE}data.cpp
mgenerator_style.commands += mgen --style ${QMAKE_FILE_NAME} $$MGEN_OUTDIR
mgenerator_style.clean += $$MGEN_OUTDIR/gen_*
mgenerator_style.CONFIG = target_predeps no_link
mgenerator_style.variable_out = GENERATED_SOURCES
QMAKE_EXTRA_COMPILERS += mgenerator_style
}
!contains(DEFINES, BUILD_M) {
M_INC_DIR = $$M_PREFIX/include/meegotouch
M_LIB_DIR = $$M_LIBDIR

GSTREAMER_INC = /usr/include/gstreamer-0.10 /usr/include/glib-2.0 /usr/lib/glib-2.0/include /usr/include/libxml2

INCLUDEPATH += $${M_INC_DIR} $${GSTREAMER_INC}
DEPENDPATH += $${M_INC_DIR}

unix: QMAKE_LFLAGS += $${QMAKE_LFLAGS_RPATH}$${M_LIB_DIR}

LIBS += -L$${M_LIB_DIR}

QMAKE_MOC = $${M_MMOC_EXECUTABLE}
}
9 changes: 0 additions & 9 deletions mkspecs/features/meegotouch_defines.prf.in
Expand Up @@ -27,8 +27,6 @@ win32 {
M_PREFIX = /
}

M_MMOC_EXECUTABLE = @@M_MMOC_EXECUTABLE@@

# Directories
unix|win32 {
M_INSTALL_BIN = $$M_PREFIX/bin
Expand Down Expand Up @@ -102,10 +100,3 @@ win32 {
M_DBUS_INTERFACES_DIR = /usr/share/dbus-1/interfaces
M_DBUS_SERVICES_DIR = $$M_INSTALL_DATA/dbus-1/services
}

#mmoc execatable
contains (M_MMOC_EXECUTABLE, mmoc.pl) {
M_MMOC_EXECUTABLE = perl $$M_INSTALL_BIN/$$M_MMOC_EXECUTABLE
} else {
M_MMOC_EXECUTABLE = $$M_INSTALL_BIN/$$M_MMOC_EXECUTABLE
}
25 changes: 25 additions & 0 deletions mkspecs/features/meegotouch_mgen.prf
@@ -0,0 +1,25 @@
isEmpty(M_MGEN_OUTDIR) {
M_MGEN_OUTDIR = .
}

isEmpty(M_MGEN_EXECUTABLE) {
M_MGEN_EXECUTABLE = mgen
}

mgenerator_model.name = mgenerator model
mgenerator_model.input = MODEL_HEADERS
mgenerator_model.output = $$M_MGEN_OUTDIR/gen_${QMAKE_FILE_BASE}data.cpp
mgenerator_model.commands += $$M_MGEN_EXECUTABLE --model ${QMAKE_FILE_NAME} $$M_MGEN_OUTDIR
mgenerator_model.clean += $$M_MGEN_OUTDIR/gen_*
mgenerator_model.CONFIG = target_predeps no_link
mgenerator_model.variable_out = GENERATED_SOURCES
QMAKE_EXTRA_COMPILERS += mgenerator_model

mgenerator_style.name = mgenerator style
mgenerator_style.input = STYLE_HEADERS
mgenerator_style.output = $$M_MGEN_OUTDIR/gen_${QMAKE_FILE_BASE}data.cpp
mgenerator_style.commands += $$M_MGEN_EXECUTABLE --style ${QMAKE_FILE_NAME} $$M_MGEN_OUTDIR
mgenerator_style.clean += $$M_MGEN_OUTDIR/gen_*
mgenerator_style.CONFIG = target_predeps no_link
mgenerator_style.variable_out = GENERATED_SOURCES
QMAKE_EXTRA_COMPILERS += mgenerator_style
21 changes: 21 additions & 0 deletions mkspecs/features/meegotouch_mmoc.prf
@@ -0,0 +1,21 @@
# settings for meegotouch mmoc

win32 {
contains(DEFINES, IS_ARMEL) {
M_MMOC_EXECUTABLE = perl.exe $$M_SOURCE_TREE/mmoc/mmoc.pl
} else {
debug {
M_MMOC_EXECUTABLE = $$M_BUILD_TREE/mmoc/debug/mmoc.exe
} else {
M_MMOC_EXECUTABLE = $$M_BUILD_TREE/mmoc/release/mmoc.exe
}
}
} else {
contains(DEFINES, IS_ARMEL) {
M_MMOC_EXECUTABLE = perl $$M_SOURCE_TREE/mmoc/mmoc.pl
} else {
M_MMOC_EXECUTABLE = $$M_BUILD_TREE/mmoc/mmoc
}
}

QMAKE_MOC = $$M_MMOC_EXECUTABLE
13 changes: 3 additions & 10 deletions src/common_top.pri
@@ -1,14 +1,15 @@
# this file contains the parts that are common to all libs

MOC_DIR = .moc
GEN_DIR = .gen
M_MGEN_OUTDIR = .gen
OBJECTS_DIR = .obj
DESTDIR = $$M_BUILD_TREE/lib
TEMPLATE = lib

include(../mkspecs/common.pri)
include(predeps.pri)
include(mgen.pri)
include(../mkspecs/features/meegotouch_mmoc.prf)
include(../mkspecs/features/meegotouch_mgen.prf)

VERSION = $${M_VERSION}
DEFINES += M_VERSION=\\\"$${M_VERSION}\\\"
Expand All @@ -19,17 +20,10 @@ INCLUDEPATH += $${OUT_PWD}/.gen

QMAKE_STRIP = echo

PRE_TARGETDEPS += $$MGEN_EXECUTABLE $$MMOC_EXECUTABLE

CONFIG += qt warn_on depend_includepath qmake_cache target_qt dll create_prl
!win32:CONFIG += link_pkgconfig
macx:CONFIG += lib_bundle

QMAKE_MOC = $$MMOC_EXECUTABLE
contains(DEFINES, IS_ARMEL) {
QMAKE_MOC = $$MMOC_PERL
}

QMAKE_CFLAGS += -Werror

QMAKE_CXXFLAGS += -DM_EXPORTS
Expand Down Expand Up @@ -144,4 +138,3 @@ QMAKE_CLEAN += \
./.obj/*.gcda \

target.path = $$M_INSTALL_LIBS

4 changes: 2 additions & 2 deletions src/corelib/style/style.pri
Expand Up @@ -17,7 +17,7 @@ PRIVATE_HEADERS += \
$$STYLE_SRC_DIR/mstylesheet_p.h \
$$STYLE_SRC_DIR/mstylesheetselector_p.h

MGEN_STYLE_HEADERS += \
STYLE_HEADERS += \
$$STYLE_SRC_DIR/mstyle.h \
$$STYLE_SRC_DIR/mwidgetstyle.h \
$$STYLE_SRC_DIR/mabstractlayoutpolicystyle.h \
Expand All @@ -37,7 +37,7 @@ MGEN_STYLE_HEADERS += \


PUBLIC_HEADERS += \
$$MGEN_STYLE_HEADERS \
$$STYLE_HEADERS \

SOURCES += \
$$STYLE_SRC_DIR/mstyle.cpp \
Expand Down
7 changes: 4 additions & 3 deletions src/corelib/video/video.pri
Expand Up @@ -5,15 +5,16 @@ VIDEO_SRC_DIR = ./video
INCLUDEPATH +=./video

contains( DEFINES, HAVE_GSTREAMER) {
MODEL_HEADERS += \
$$VIDEO_SRC_DIR/mvideowidgetmodel.h

PUBLIC_HEADERS += \
$$VIDEO_SRC_DIR/mvideowidget.h \
$$VIDEO_SRC_DIR/mvideo.h \
$$VIDEO_SRC_DIR/mvideowidgetmodel.h \
$$MODEL_HEADERS \

SOURCES += \
$$VIDEO_SRC_DIR/mvideowidget.cpp \

MGEN_MODEL_HEADERS += \
$$VIDEO_SRC_DIR/mvideowidgetmodel.h
}

4 changes: 2 additions & 2 deletions src/corelib/widgets/widgets.pri
Expand Up @@ -65,7 +65,7 @@ PUBLIC_HEADERS += \
$$WIDGETS_SRC_DIR/mdetailedlistitem.h \
$$WIDGETS_SRC_DIR/madvancedlistitem.h \

MGEN_MODEL_HEADERS += \
MODEL_HEADERS += \
$$WIDGETS_SRC_DIR/mwidgetmodel.h \
$$WIDGETS_SRC_DIR/mbuttonmodel.h \
$$WIDGETS_SRC_DIR/mcomboboxmodel.h \
Expand Down Expand Up @@ -102,7 +102,7 @@ MGEN_MODEL_HEADERS += \
$$WIDGETS_SRC_DIR/mbubbleitemmodel.h \

PUBLIC_HEADERS += \
$$MGEN_MODEL_HEADERS \
$$MODEL_HEADERS \

PRIVATE_HEADERS += \
$$WIDGETS_SRC_DIR/mpannableviewportlayout.h \
Expand Down
4 changes: 2 additions & 2 deletions src/extensions/applicationextension/applicationextension.pri
Expand Up @@ -42,9 +42,9 @@ SOURCES += $$EXTENSION_DIR/mextensionarea.cpp \
$$EXTENSION_DIR/mapplicationextensionhandleview.cpp


MGEN_MODEL_HEADERS += $$EXTENSION_DIR/mextensionareamodel.h \
MODEL_HEADERS += $$EXTENSION_DIR/mextensionareamodel.h \
$$EXTENSION_DIR/mapplicationextensionareamodel.h \
$$EXTENSION_DIR/mextensionhandlemodel.h


PUBLIC_HEADERS += $$MGEN_MODEL_HEADERS
PUBLIC_HEADERS += $$MODEL_HEADERS
4 changes: 2 additions & 2 deletions src/extensions/mashup/mashup/mashup.pri
Expand Up @@ -54,8 +54,8 @@ SOURCES += $$MASHUP_MASHUP_SRC_DIR/mappletbutton.cpp \
$$MASHUP_MASHUP_SRC_DIR/mgconfdatastore.cpp \
$$MASHUP_MASHUP_SRC_DIR/mappletinstancemanagerdbusadaptor.cpp

MGEN_MODEL_HEADERS += $$MASHUP_MASHUP_SRC_DIR/mapplethandlemodel.h \
MODEL_HEADERS += $$MASHUP_MASHUP_SRC_DIR/mapplethandlemodel.h \
$$MASHUP_MASHUP_SRC_DIR/mmashupcanvasmodel.h \
$$MASHUP_MASHUP_SRC_DIR/mappletinventorymodel.h

PUBLIC_HEADERS += $$MGEN_MODEL_HEADERS
PUBLIC_HEADERS += $$MODEL_HEADERS
4 changes: 2 additions & 2 deletions src/extensions/style/style.pri
@@ -1,4 +1,4 @@
MGEN_STYLE_HEADERS += \
STYLE_HEADERS += \
style/mapplethandlestyle.h \
style/mappletinventorystyle.h \
style/mapplicationextensionareastyle.h \
Expand All @@ -7,4 +7,4 @@ MGEN_STYLE_HEADERS += \
style/mmashupcanvasstyle.h \

PUBLIC_HEADERS += \
$$MGEN_STYLE_HEADERS
$$STYLE_HEADERS
23 changes: 0 additions & 23 deletions src/mgen.pri

This file was deleted.

43 changes: 25 additions & 18 deletions src/predeps.pri
@@ -1,36 +1,43 @@
QMAKE_EXTRA_TARGETS += build_mgen build_mmoc

build_moc.target = ../mmoc/mmoc
build_gen.target = ../mgen/mgen
win32 {
build_mmoc.commands = \
cd $$M_BUILD_TREE/mmmoc && mingw32-make

build_mgen.commands = \
cd $$M_BUILD_TREE/mgen && mingw32-make

# FIXME make it work for release build too
MGEN_EXECUTABLE = $$M_BUILD_TREE/mgen/debug/mgen.exe
} else {
build_mmoc.commands = \
cd $$M_BUILD_TREE/mmoc && qmake && make

build_mgen.commands = \
cd $$M_BUILD_TREE/mgen && qmake && make

MGEN_EXECUTABLE = $$M_BUILD_TREE/mgen/mgen
}

build_moc.target = ../mmoc/mmoc
win32 {
build_mmmoc.commands = \
cd $$M_BUILD_TREE/mmmoc && mingw32-make

# FIXME make it work for release build too
MMOC_EXECUTABLE = $$M_BUILD_TREE/mgen/debug/mmoc.exe
# make sure mmoc executable is found
win32 {
M_MMOC_EXECUTABLE = perl.exe $$M_SOURCE_TREE/mmoc/mmoc.pl
} else {
build_mmoc.commands = \
cd $$M_BUILD_TREE/mmoc && qmake && make

MMOC_EXECUTABLE = $$M_BUILD_TREE/mmoc/mmoc
contains(DEFINES, IS_ARMEL) {
M_MMOC_EXECUTABLE = perl $$M_SOURCE_TREE/mmoc/mmoc.pl
} else {
M_MMOC_EXECUTABLE = $$M_BUILD_TREE/mmoc/mmoc
}
}

MMOC_PERL_SCRIPT = $$M_BUILD_TREE/mmoc/mmoc.pl

MMOC_PERL = perl $$MMOC_PERL_SCRIPT
# make sure mgen executable is found
win32 {
MMOC_PERL = perl.exe $$MMOC_PERL_SCRIPT
debug {
M_MGEN_EXECUTABLE = $$M_BUILD_TREE/mgen/debug/mgen.exe
} else {
M_MGEN_EXECUTABLE = $$M_BUILD_TREE/mgen/release/mgen.exe
}
} else {
M_MGEN_EXECUTABLE = $$M_BUILD_TREE/mgen/mgen
}

PRE_TARGETDEPS += $$M_MGEN_EXECUTABLE $$M_MMOC_EXECUTABLE
4 changes: 2 additions & 2 deletions src/settings/settingslanguage/settingslanguage.pri
@@ -1,8 +1,8 @@
MGEN_STYLE_HEADERS += \
STYLE_HEADERS += \
settingslanguage/msettingslanguagesettingsfactorystyle.h

PUBLIC_HEADERS += \
$$MGEN_STYLE_HEADERS \
$$STYLE_HEADERS \
settingslanguage/msettingslanguageparser.h \
settingslanguage/msettingslanguagebinary.h \
settingslanguage/msettingslanguagewidget.h \
Expand Down

0 comments on commit 1e1b956

Please sign in to comment.