90eee08b3e
Command line arguments, configure tests and features are now defined in a json file and a configure.pri containing some custom functions. qmake uses the json file to determine command line arguments, tests and features to be executed at configuration time. A new qt_configure.prf contains all the infrastructure to parse the command line, run the configure tests, determine the set of available features and create a report about it. Change-Id: If30ac089dd3e9f8c67ebd642bde10cfa960893bb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
45 lines
1.4 KiB
Plaintext
45 lines
1.4 KiB
Plaintext
QMAKE_MAKE = $$(MAKE)
|
|
!isEmpty(QMAKE_MAKE) {
|
|
# We were called recursively. Use the right make, as MAKEFLAGS may be set as well.
|
|
} else: if(equals(MAKEFILE_GENERATOR, UNIX)|equals(MAKEFILE_GENERATOR, MINGW)) {
|
|
!equals(QMAKE_HOST.os, Windows): \
|
|
QMAKE_MAKE = make
|
|
else: \
|
|
QMAKE_MAKE = mingw32-make
|
|
} else: if(equals(MAKEFILE_GENERATOR, MSVC.NET)|equals(MAKEFILE_GENERATOR, MSBUILD)) {
|
|
QMAKE_MAKE = nmake
|
|
} else {
|
|
error("Configure tests are not supported with the $$MAKEFILE_GENERATOR Makefile generator.")
|
|
}
|
|
|
|
isEmpty(QMAKE_CONFIG_VERBOSE): QMAKE_CONFIG_VERBOSE = false
|
|
|
|
defineTest(qtLog) {
|
|
msg = "+ $$1"
|
|
write_file($$QMAKE_CONFIG_LOG, msg, append)
|
|
$$QMAKE_CONFIG_VERBOSE: log("$$msg$$escape_expand(\\n)")
|
|
}
|
|
|
|
defineTest(qtRunLoggedCommand) {
|
|
qtLog($$1)
|
|
write_file($${QMAKE_CONFIG_LOG}.part, "")
|
|
result = false
|
|
system("$$1 > \"$${QMAKE_CONFIG_LOG}.part\" 2>&1"): result = true
|
|
|
|
output = $$cat($${QMAKE_CONFIG_LOG}.part, blob)
|
|
|
|
write_file($${QMAKE_CONFIG_LOG}, output, append)
|
|
$$QMAKE_CONFIG_VERBOSE: log($$output)
|
|
|
|
return($$result)
|
|
}
|
|
|
|
isEmpty(QMAKE_CONFIG_TESTS_DIR): QMAKE_CONFIG_TESTS_DIR = $$_PRO_FILE_PWD_/config.tests
|
|
|
|
# Ensure that a cache is present. If none was found on startup, this will create
|
|
# one in the build directory of the project which loads this feature.
|
|
cache()
|
|
|
|
QMAKE_CONFIG_LOG = $$dirname(_QMAKE_CACHE_)/config.log
|
|
write_file($$QMAKE_CONFIG_LOG, "")
|