diff options
author | Holger Schroeder <holger.schroeder.ext@basyskom.de> | 2010-03-03 10:02:44 +0100 |
---|---|---|
committer | Holger Schroeder <holger.schroeder.ext@basyskom.de> | 2010-03-03 11:47:47 +0100 |
commit | fff25fe7de5d681fdcd414e6f5da45ba6c6d2c6f (patch) | |
tree | 6431b47cbe4f133aff5959eaff14cec8ce32e2c6 | |
parent | 870d206b07c7c88744a38160ad7e301e3ecc61b6 (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.pl | 38 | ||||
-rw-r--r-- | src/mashup/mashup/mashup.pri | 4 | ||||
-rw-r--r-- | src/predeps.pri | 19 | ||||
-rw-r--r-- | src/settingslanguage/settingslanguage.pri | 8 | ||||
-rw-r--r-- | src/src.pro | 6 | ||||
-rw-r--r-- | src/style/style.pri | 4 | ||||
-rw-r--r-- | src/widgets/widgets.pri | 4 |
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 |