diff options
author | Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> | 2015-04-09 13:21:46 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> | 2015-04-21 12:05:50 +0000 |
commit | 3444e23652f69a0d61512b2d50874b125fdd4c8a (patch) | |
tree | a18b0f8edd47d2f7a35f52a585c654a758943f98 /mkspecs/features/spec_pre.prf | |
parent | a989e5c54fd2f97bd3fd9b9da9d2b677c64c7ea8 (diff) | |
download | qtbase-3444e23652f69a0d61512b2d50874b125fdd4c8a.tar.gz |
make QMAKE_CXX/CROSS_COMPILE verification work under windows
automatically append the .exe extension. this is done unconditionally,
which means that providing it in the spec is wrong by definition.
don't use system("which") (which won't do what we want in a windows
shell), but scan PATH ourselves. as a bonus, this is also faster.
to avoid fetching and splitting the path multiple times, factor out a
function in spec_pre.prf.
Change-Id: I95f0fa285c158b347d45422111f91540e3a595fd
Reviewed-by: Jochen Seemann <seemann.jochen@gmail.com>
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Diffstat (limited to 'mkspecs/features/spec_pre.prf')
-rw-r--r-- | mkspecs/features/spec_pre.prf | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/mkspecs/features/spec_pre.prf b/mkspecs/features/spec_pre.prf index 844fa35579..cdc1d7ee1e 100644 --- a/mkspecs/features/spec_pre.prf +++ b/mkspecs/features/spec_pre.prf @@ -23,19 +23,25 @@ QMAKE_H_MOD_MOC = moc_ QMAKE_MOD_LEX = _lex QMAKE_MOD_YACC = _yacc +defineTest(ensurePathEnv) { + isEmpty(QMAKE_PATH_ENV) { + QMAKE_PATH_ENV = $$(PATH) + QMAKE_PATH_ENV = $$split(QMAKE_PATH_ENV, $$QMAKE_DIRLIST_SEP) + export(QMAKE_PATH_ENV) + } +} + equals(QMAKE_HOST.os, Windows) { QMAKE_EXT_OBJ = .obj QMAKE_EXT_RES = .res QMAKE_SH = - PATH = $$(PATH) - PATH = $$split(PATH, ;) - for(dir, PATH) { + ensurePathEnv() + for(dir, QMAKE_PATH_ENV) { exists($$dir/sh.exe) { QMAKE_SH = $$dir/sh.exe break() } } - unset(PATH) } else { QMAKE_EXT_CPP += .C QMAKE_EXT_H += .H |