aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHolger Schroeder <holger.schroeder.ext@basyskom.de>2010-03-03 10:02:44 +0100
committerHolger Schroeder <holger.schroeder.ext@basyskom.de>2010-03-03 11:47:47 +0100
commitfff25fe7de5d681fdcd414e6f5da45ba6c6d2c6f (patch)
tree6431b47cbe4f133aff5959eaff14cec8ce32e2c6
parent870d206b07c7c88744a38160ad7e301e3ecc61b6 (diff)
Changes: add qmake variable for duigen executable, add configure-win32.pl
RevBy: Armin Berres Details: On windows the duigen executable will be in duigen/debug/duigen.exe instead of duigen/duigen. So we need a variable in the qmake .pro files to refer to the executable. And for that to work we need the DUI_BUILD_TREE variable in the build directory in the .qmake.cache file. For that i added the configure-win32.pl file. we do have a dependency on perl anyway, so i chose to code it in perl.
-rw-r--r--configure-win32.pl38
-rw-r--r--src/mashup/mashup/mashup.pri4
-rw-r--r--src/predeps.pri19
-rw-r--r--src/settingslanguage/settingslanguage.pri8
-rw-r--r--src/src.pro6
-rw-r--r--src/style/style.pri4
-rw-r--r--src/widgets/widgets.pri4
7 files changed, 63 insertions, 20 deletions
diff --git a/configure-win32.pl b/configure-win32.pl
new file mode 100644
index 00000000..be98852c
--- /dev/null
+++ b/configure-win32.pl
@@ -0,0 +1,38 @@
+#!/bin/env perl
+
+use Cwd;
+use File::Basename;
+use File::Path;
+
+$inpath = Cwd::abs_path(dirname($0));
+$outpath = Cwd::getcwd;
+
+print "inpath : $inpath\n";
+print "outpath: $outpath\n";
+
+open( CACHE, ">$outpath/.qmake.cache" );
+print CACHE "DUI_BUILD_TREE = \$\$quote($outpath)\n";
+close( CACHE );
+
+$specpath = "$outpath/mkspecs/features";
+
+if ( ! -d "$specpath" )
+{
+ mkpath( "$specpath" )
+}
+
+open( INF, "<$inpath/mkspecs/features/dui_defines.prf.in" );
+open( OUTF, ">$specpath/dui_defines.prf" );
+
+while ( <INF> )
+{
+ chomp;
+ my $line = $_;
+
+ # do variable substitution here if needed
+
+ print OUTF "$line\n";
+}
+
+close( INF );
+close( OUTF );
diff --git a/src/mashup/mashup/mashup.pri b/src/mashup/mashup/mashup.pri
index af6cd13f..b111075f 100644
--- a/src/mashup/mashup/mashup.pri
+++ b/src/mashup/mashup/mashup.pri
@@ -7,8 +7,8 @@ duigen_model_mashup.name = duigenerator \
model
duigen_model_mashup.input = MASHUP_WIDGET_MODEL_HEADERS
duigen_model_mashup.output = $$GEN_DIR/gen_${QMAKE_FILE_BASE}data.cpp
-duigen_model_mashup.depends = ../duigen/duigen
-duigen_model_mashup.commands += ../duigen/duigen --model ${QMAKE_FILE_NAME} $$GEN_DIR
+duigen_model_mashup.depends = $$DUIGEN_EXECUTABLE
+duigen_model_mashup.commands += $$DUIGEN_EXECUTABLE --model ${QMAKE_FILE_NAME} $$GEN_DIR
duigen_model_mashup.clean += $$GEN_DIR/gen_*
duigen_model_mashup.CONFIG = target_predeps no_link
duigen_model_mashup.variable_out = GENERATED_SOURCES
diff --git a/src/predeps.pri b/src/predeps.pri
index a79c7d9c..499575fe 100644
--- a/src/predeps.pri
+++ b/src/predeps.pri
@@ -1,9 +1,16 @@
-QMAKE_EXTRA_TARGETS += build_moc \
- build_gen \
-
-build_moc.target = ../duimoc/duimoc
-build_moc.commands = cd ../duimoc && qmake && make
+QMAKE_EXTRA_TARGETS += build_gen
build_gen.target = ../duigen/duigen
-build_gen.commands = cd ../duigen && qmake && make
+win32 {
+ build_gen.commands = \
+ cd $$DUI_BUILD_TREE/duigen && \
+ mingw32-make && \
+ copy debug/duigen.exe .
+
+ DUIGEN_EXECUTABLE = $$DUI_BUILD_TREE/duigen/duigen.exe
+} else {
+ build_gen.commands = cd ../duigen && qmake && make
+
+ DUIGEN_EXECUTABLE = $$DUI_BUILD_TREE/duigen/duigen
+}
diff --git a/src/settingslanguage/settingslanguage.pri b/src/settingslanguage/settingslanguage.pri
index b22a9b5a..d20e11e1 100644
--- a/src/settingslanguage/settingslanguage.pri
+++ b/src/settingslanguage/settingslanguage.pri
@@ -7,8 +7,8 @@ duigen_model_settingslanguage.name = duigenerator \
model
duigen_model_settingslanguage.input = SETTINGSLANGUAGE_MODEL_HEADERS
duigen_model_settingslanguage.output = $$GEN_DIR/gen_${QMAKE_FILE_BASE}data.cpp
-duigen_model_settingslanguage.depends = ../duigen/duigen
-duigen_model_settingslanguage.commands += ../duigen/duigen --model \
+duigen_model_settingslanguage.depends = $$DUIGEN_EXECUTABLE
+duigen_model_settingslanguage.commands += $$DUIGEN_EXECUTABLE --model \
${QMAKE_FILE_NAME} \
$$GEN_DIR/
duigen_model_settingslanguage.clean += $$GEN_DIR/gen_*
@@ -18,9 +18,9 @@ QMAKE_EXTRA_COMPILERS += duigen_model_settingslanguage
duigen_style_settingslanguage.name = duigenerator style
duigen_style_settingslanguage.input = SETTINGSLANGUAGE_STYLE_HEADERS
-duigen_style_settingslanguage.depends = ../duigen/duigen
+duigen_style_settingslanguage.depends = $$DUIGEN_EXECUTABLE
duigen_style_settingslanguage.output = $$GEN_DIR/gen_${QMAKE_FILE_BASE}data.cpp
-duigen_style_settingslanguage.commands += ../duigen/duigen --style ${QMAKE_FILE_NAME} $$GEN_DIR
+duigen_style_settingslanguage.commands += $$DUIGEN_EXECUTABLE --style ${QMAKE_FILE_NAME} $$GEN_DIR
duigen_style_settingslanguage.clean += $$GEN_DIR/gen_*
duigen_style_settingslanguage.CONFIG = target_predeps no_link
duigen_style_settingslanguage.variable_out = GENERATED_SOURCES
diff --git a/src/src.pro b/src/src.pro
index 4b74c9b7..2eedaf12 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -44,9 +44,7 @@ INCLUDEPATH += $${OUT_PWD}/.gen
QMAKE_STRIP = echo
-!win32 {
- PRE_TARGETDEPS += ../duigen/duigen
-}
+PRE_TARGETDEPS += $$DUIGEN_EXECUTABLE
CONFIG += qt warn_on depend_includepath qmake_cache target_qt dll create_prl
!win32:CONFIG += link_pkgconfig
@@ -56,7 +54,7 @@ win32 {
QMAKE_MOC = perl $${IN_PWD}\..\duimoc\duimoc
INCLUDEPATH += .
} else {
- QMAKE_MOC = PATH=../duigen:$$(PATH) $${IN_PWD}/../duimoc/duimoc
+ QMAKE_MOC = $${IN_PWD}/../duimoc/duimoc
}
QMAKE_CFLAGS += -Werror
diff --git a/src/style/style.pri b/src/style/style.pri
index a8fa56c5..cacc3099 100644
--- a/src/style/style.pri
+++ b/src/style/style.pri
@@ -7,9 +7,9 @@ INCLUDEPATH+=./style
duigen_style.name = duigenerator style
duigen_style.input = WIDGET_STYLE_HEADERS
-duigen_style.depends = ../duigen/duigen
+duigen_style.depends = $$DUIGEN_EXECUTABLE
duigen_style.output = $$GEN_DIR/gen_${QMAKE_FILE_BASE}data.cpp
-duigen_style.commands += ../duigen/duigen --style ${QMAKE_FILE_NAME} $$GEN_DIR
+duigen_style.commands += $$DUIGEN_EXECUTABLE --style ${QMAKE_FILE_NAME} $$GEN_DIR
duigen_style.clean += $$GEN_DIR/gen_*
duigen_style.CONFIG = target_predeps no_link
duigen_style.variable_out = GENERATED_SOURCES
diff --git a/src/widgets/widgets.pri b/src/widgets/widgets.pri
index d07fc60d..d4231251 100644
--- a/src/widgets/widgets.pri
+++ b/src/widgets/widgets.pri
@@ -8,9 +8,9 @@ INCLUDEPATH+=./widgets
duigen_model.name = duigenerator model
duigen_model.input = WIDGET_MODEL_HEADERS
-duigen_model.depends = ../duigen/duigen
+duigen_model.depends = $$DUIGEN_EXECUTABLE
duigen_model.output = $$GEN_DIR/gen_${QMAKE_FILE_BASE}data.cpp
-duigen_model.commands += ../duigen/duigen --model ${QMAKE_FILE_NAME} $$GEN_DIR/
+duigen_model.commands += $$DUIGEN_EXECUTABLE --model ${QMAKE_FILE_NAME} $$GEN_DIR/
duigen_model.clean += $$GEN_DIR/gen_*
duigen_model.CONFIG = target_predeps no_link
duigen_model.variable_out = GENERATED_SOURCES