diff options
Diffstat (limited to 'mkspecs')
27 files changed, 335 insertions, 225 deletions
diff --git a/mkspecs/android-clang/qmake.conf b/mkspecs/android-clang/qmake.conf index 9758546fd4..b25a4399f3 100644 --- a/mkspecs/android-clang/qmake.conf +++ b/mkspecs/android-clang/qmake.conf @@ -3,7 +3,7 @@ MAKEFILE_GENERATOR = UNIX QMAKE_PLATFORM = android QMAKE_COMPILER = gcc clang llvm -CONFIG += android_install unversioned_soname unversioned_libname android_deployment_settings +CONFIG += android_install unversioned_soname unversioned_libname plugin_with_soname android_deployment_settings include(../common/linux.conf) include(../common/clang.conf) diff --git a/mkspecs/android-clang/qplatformdefs.h b/mkspecs/android-clang/qplatformdefs.h index 9d3820fa27..9a8d176285 100644 --- a/mkspecs/android-clang/qplatformdefs.h +++ b/mkspecs/android-clang/qplatformdefs.h @@ -34,8 +34,6 @@ #ifndef QPLATFORMDEFS_H #define QPLATFORMDEFS_H -#define QT_QPA_DEFAULT_PLATFORM_NAME "android" - // Get Qt defines/settings #include "qglobal.h" diff --git a/mkspecs/android-g++/qmake.conf b/mkspecs/android-g++/qmake.conf index 50d1fd6cf2..2b81ac58f0 100644 --- a/mkspecs/android-g++/qmake.conf +++ b/mkspecs/android-g++/qmake.conf @@ -3,7 +3,7 @@ MAKEFILE_GENERATOR = UNIX QMAKE_PLATFORM = android QMAKE_COMPILER = gcc -CONFIG += android_install unversioned_soname unversioned_libname android_deployment_settings +CONFIG += android_install unversioned_soname unversioned_libname plugin_with_soname android_deployment_settings include(../common/linux.conf) include(../common/gcc-base-unix.conf) diff --git a/mkspecs/android-g++/qplatformdefs.h b/mkspecs/android-g++/qplatformdefs.h index 1d4fa2ba5b..068f437c11 100644 --- a/mkspecs/android-g++/qplatformdefs.h +++ b/mkspecs/android-g++/qplatformdefs.h @@ -40,8 +40,6 @@ #ifndef QPLATFORMDEFS_H #define QPLATFORMDEFS_H -#define QT_QPA_DEFAULT_PLATFORM_NAME "android" - // Get Qt defines/settings #include "qglobal.h" diff --git a/mkspecs/common/linux.conf b/mkspecs/common/linux.conf index 1a39c88425..13916a5646 100644 --- a/mkspecs/common/linux.conf +++ b/mkspecs/common/linux.conf @@ -36,7 +36,6 @@ QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 QMAKE_LIBS_OPENVG = -lOpenVG QMAKE_LIBS_THREAD = -lpthread -QMAKE_CFLAGS_WAYLAND = QMAKE_INCDIR_WAYLAND = QMAKE_LIBS_WAYLAND_CLIENT = -lwayland-client QMAKE_LIBS_WAYLAND_SERVER = -lwayland-server diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf index 56b9574e19..5208379f9a 100644 --- a/mkspecs/common/mac.conf +++ b/mkspecs/common/mac.conf @@ -33,6 +33,8 @@ QMAKE_LIBS_DYNLOAD = QMAKE_LIBS_OPENGL = -framework OpenGL -framework AGL QMAKE_LIBS_THREAD = +QMAKE_ACTOOL = actool + QMAKE_DSYMUTIL = dsymutil QMAKE_STRIP = strip QMAKE_STRIPFLAGS_LIB += -S -x diff --git a/mkspecs/common/qcc-base-qnx.conf b/mkspecs/common/qcc-base-qnx.conf index 7101435cb5..624bdd3656 100644 --- a/mkspecs/common/qcc-base-qnx.conf +++ b/mkspecs/common/qcc-base-qnx.conf @@ -6,9 +6,6 @@ include(qcc-base.conf) QMAKE_PLATFORM = qnx $$QMAKE_PLATFORM -#Choose qnx QPA Plugin as default -QT_QPA_DEFAULT_PLATFORM = qnx - QMAKE_LFLAGS_SHLIB += -shared QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB QMAKE_LFLAGS_SONAME += -Wl,-soname, diff --git a/mkspecs/common/uikit/qmake.conf b/mkspecs/common/uikit/qmake.conf index e2e166cdad..45a4f0c806 100644 --- a/mkspecs/common/uikit/qmake.conf +++ b/mkspecs/common/uikit/qmake.conf @@ -2,8 +2,6 @@ # Common build settings for all iOS/tvOS/watchOS configurations # -QT_QPA_DEFAULT_PLATFORM = ios - QMAKE_XCODE_CODE_SIGN_IDENTITY = "iPhone Developer" # iOS build tools diff --git a/mkspecs/common/winrt_winphone/manifests/8.1_wp/AppxManifest.xml.in b/mkspecs/common/winrt_winphone/manifests/8.1_wp/AppxManifest.xml.in index 235fe96794..b989f41efe 100644 --- a/mkspecs/common/winrt_winphone/manifests/8.1_wp/AppxManifest.xml.in +++ b/mkspecs/common/winrt_winphone/manifests/8.1_wp/AppxManifest.xml.in @@ -1,5 +1,5 @@ <?xml version=\"1.0\" encoding=\"utf-8\"?> -<Package xmlns=\"http://schemas.microsoft.com/appx/2010/manifest\" xmlns:m3=\"http://schemas.microsoft.com/appx/2014/manifest\" xmlns:mp=\"http://schemas.microsoft.com/appx/2014/phone/manifest\"> +<Package xmlns=\"http://schemas.microsoft.com/appx/2010/manifest\" xmlns:m2=\"http://schemas.microsoft.com/appx/2013/manifest\" xmlns:m3=\"http://schemas.microsoft.com/appx/2014/manifest\" xmlns:mp=\"http://schemas.microsoft.com/appx/2014/phone/manifest\"> <Identity Name=\"$${WINRT_MANIFEST.identity}\" ProcessorArchitecture=\"$${WINRT_MANIFEST.architecture}\" diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf index edc3cac7ba..e7e9a5bd87 100644 --- a/mkspecs/features/default_post.prf +++ b/mkspecs/features/default_post.prf @@ -116,29 +116,6 @@ c++11|c++14|c++1z { unset(cxxstd) } -suffix = -for(ever) { - QMAKE_USE$${suffix} = $$unique(QMAKE_USE$${suffix}) - for(name, QMAKE_USE$${suffix}) { - nu = $$upper($$name) - CONFIG(debug, debug|release): \ - libs = $$eval(QMAKE_LIBS_$${nu}_DEBUG) - else: \ - libs = $$eval(QMAKE_LIBS_$${nu}_RELEASE) - libs += $$eval(QMAKE_LIBS_$$nu) - cflags = $$eval(QMAKE_CFLAGS_$${nu}) - - isEmpty(libs):isEmpty(cflags): \ - error("Library '$$name' is not defined.") - - LIBS$${suffix} += $$libs - QMAKE_CFLAGS += $$cflags - QMAKE_CXXFLAGS += $$cflags - } - !isEmpty(suffix): break() - suffix = "_PRIVATE" -} - !precompile_header: SOURCES += $$NO_PCH_SOURCES QMAKE_INCDIR += $$QMAKE_INCDIR_POST diff --git a/mkspecs/features/mac/asset_catalogs.prf b/mkspecs/features/mac/asset_catalogs.prf new file mode 100644 index 0000000000..57d93d56d5 --- /dev/null +++ b/mkspecs/features/mac/asset_catalogs.prf @@ -0,0 +1,109 @@ +# QMAKE_ASSET_CATALOGS +# Paths to xcassets directories to be compiled +# +# QMAKE_ASSET_CATALOGS_BUILD_PATH +# Location which asset catalogs will be compiled to. +# If the current target is an app bundle, defaults to its Resources directory. +# Otherwise, this value must be set manually. +# +# QMAKE_ASSET_CATALOGS_APP_ICON +# Name of the icon resource in the asset catalogs that will be used as the app icon. +# Defaults to AppIcon. +# +# QMAKE_ASSET_CATALOGS_INSTALL_PATH +# Base path to install files to. Falls back to a path relative to the target install path, +# based on QMAKE_ASSET_CATALOGS_BUILD_PATH. + +!have_target|if(!build_pass:!isEmpty(BUILDS)): \ + return() + +!isEmpty(QMAKE_ASSET_CATALOGS) { + load(resolve_target) + + isEmpty(QMAKE_ASSET_CATALOGS_BUILD_PATH) { + !isEmpty(QMAKE_RESOLVED_BUNDLE):equals(TEMPLATE, app):app_bundle { + macos: \ + QMAKE_ASSET_CATALOGS_BUILD_PATH = $$QMAKE_RESOLVED_BUNDLE/Contents/Resources + else: \ + QMAKE_ASSET_CATALOGS_BUILD_PATH = $$QMAKE_RESOLVED_BUNDLE + } else { + error("QMAKE_ASSET_CATALOGS_BUILD_PATH must be set when using QMAKE_ASSET_CATALOGS.") + } + } + + QMAKE_ASSET_CATALOGS_BUILD_PATH = $$clean_path($$QMAKE_ASSET_CATALOGS_BUILD_PATH) + + macx-xcode { + !isEmpty(QMAKE_ASSET_CATALOGS_APP_ICON) { + asset_catalog_appicon.name = "ASSETCATALOG_COMPILER_APPICON_NAME" + asset_catalog_appicon.value = $$QMAKE_ASSET_CATALOGS_APP_ICON + QMAKE_MAC_XCODE_SETTINGS += asset_catalog_appicon + } + + asset_catalog_compiler.files = $$QMAKE_ASSET_CATALOGS + macos: asset_catalog_compiler.path = Contents/Resources + QMAKE_BUNDLE_DATA += asset_catalog_compiler + } else { + !isEmpty(QMAKE_ASSET_CATALOGS_APP_ICON) { + asset_catalog_app_icon_arg = \ + --app-icon $$shell_quote($$QMAKE_ASSET_CATALOGS_APP_ICON) + } + + asset_catalog_compiler.target = $$OUT_PWD/asset_catalog_compiler.Info.plist + asset_catalog_compiler.commands = $$shell_quote($$QMAKE_ACTOOL) \ + $$asset_catalog_app_icon_arg \ + --output-partial-info-plist $$shell_quote($$asset_catalog_compiler.target) \ + --platform $${version_identifier} \ + --minimum-deployment-target $${deployment_target} \ + --compile $$shell_quote($$QMAKE_ASSET_CATALOGS_BUILD_PATH) + + for (catalog, QMAKE_ASSET_CATALOGS) { + asset_catalog_compiler.commands += $${catalog} + asset_catalog_compiler.depends += $$files($$catalog/*, true) + } + + actool_output_files = $$system(\ + mkdir -p $$system_quote($$QMAKE_ASSET_CATALOGS_BUILD_PATH) && \ + /usr/libexec/PlistBuddy -c \'Print :com.apple.actool.compilation-results:output-files\' \ + /dev/stdin <<< $($${asset_catalog_compiler.commands} 2>/dev/null) | grep \'^ .*$\', lines) + + for (output_file, actool_output_files) { + !equals(output_file, $$asset_catalog_compiler.target): \ + actool_output_files_rel += $$relative_path($$output_file, $$QMAKE_ASSET_CATALOGS_BUILD_PATH) + } + + QMAKE_EXTRA_TARGETS += asset_catalog_compiler + PRE_TARGETDEPS += $$asset_catalog_compiler.target + + isEmpty(QMAKE_ASSET_CATALOGS_INSTALL_PATH) { + !isEmpty(target.path): \ + QMAKE_ASSET_CATALOGS_INSTALL_PATH = $${target.path}/ + QMAKE_ASSET_CATALOGS_INSTALL_PATH = $${QMAKE_ASSET_CATALOGS_INSTALL_PATH}$$relative_path(\ + $$QMAKE_ASSET_CATALOGS_BUILD_PATH, $$absolute_path($$DESTDIR, $$OUT_PWD)) + } + + for (ac_install_file, actool_output_files_rel) { + asset_catalogs_files.files += \ + $$QMAKE_ASSET_CATALOGS_BUILD_PATH/$$ac_install_file + } + contains(INSTALLS, target): asset_catalogs_files.depends += install_target + asset_catalogs_files.path = $$QMAKE_ASSET_CATALOGS_INSTALL_PATH + asset_catalogs_files.CONFIG += no_check_exist + INSTALLS += asset_catalogs_files + } +} else: macx-xcode { + # Backwards compatibility + for (bundle_data, QMAKE_BUNDLE_DATA) { + for (bundle_file, $${bundle_data}.files) { + !contains(bundle_file, .*\.xcassets$): next() + warning("*.xcassets in QMAKE_BUNDLE_DATA is deprecated. Use QMAKE_ASSET_CATALOGS instead.") + !exists($$absolute_path($$bundle_file/AppIcon.appiconset, $$_PRO_FILE_PWD_)): next() + + asset_catalog_appicon.name = "ASSETCATALOG_COMPILER_APPICON_NAME" + asset_catalog_appicon.value = "AppIcon" + QMAKE_MAC_XCODE_SETTINGS += asset_catalog_appicon + break() + } + !isEmpty(asset_catalog_appicon.name): break() + } +} diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf index 4c8c80d101..2064d976d7 100644 --- a/mkspecs/features/mac/default_pre.prf +++ b/mkspecs/features/mac/default_pre.prf @@ -1,4 +1,4 @@ -CONFIG = sdk rez $$CONFIG +CONFIG = asset_catalogs sdk rez $$CONFIG load(default_pre) isEmpty(QMAKE_XCODE_DEVELOPER_PATH) { @@ -33,6 +33,8 @@ isEmpty(QMAKE_TARGET_BUNDLE_PREFIX) { cache(QMAKE_TARGET_BUNDLE_PREFIX) } +QMAKE_ASSET_CATALOGS_APP_ICON = AppIcon + # Make the default debug info format for static debug builds # DWARF instead of DWARF with dSYM. This cuts down build times # for application debug builds significantly, as Xcode doesn't diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf index 087212f45b..bea46fa8cb 100644 --- a/mkspecs/features/mac/sdk.prf +++ b/mkspecs/features/mac/sdk.prf @@ -31,7 +31,7 @@ QMAKE_INCDIR_OPENGL = $$sysrootified QMAKESPEC_NAME = $$basename(QMAKESPEC) # Resolve SDK version of various tools -for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB)) { +for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB QMAKE_ACTOOL)) { tool_variable = QMAKE_MAC_SDK.$${QMAKESPEC_NAME}.$${QMAKE_MAC_SDK}.$${tool} !isEmpty($$tool_variable) { $$tool = $$eval($$tool_variable) diff --git a/mkspecs/features/moc.prf b/mkspecs/features/moc.prf index c9ea4e9de5..20916f9035 100644 --- a/mkspecs/features/moc.prf +++ b/mkspecs/features/moc.prf @@ -32,7 +32,7 @@ if(gcc|intel_icl|msvc):!rim_qcc:!uikit:if(!macos|count(QMAKE_APPLE_DEVICE_ARCHS, gcc: moc_predefs.commands = $$QMAKE_CXX $$QMAKE_CXXFLAGS -dM -E -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN} else:intel_icl: moc_predefs.commands = $$QMAKE_CXX $$QMAKE_CXXFLAGS -QdM -P -Fi${QMAKE_FILE_OUT} ${QMAKE_FILE_IN} else:msvc { - moc_predefs.commands += $$QMAKE_CXX -Bx$$shell_path($$[QT_INSTALL_BINS/get]/qmake) $$QMAKE_CXXFLAGS -E ${QMAKE_FILE_IN} 2>NUL >${QMAKE_FILE_OUT} + moc_predefs.commands += $$QMAKE_CXX -Bx$$shell_quote($$shell_path($$[QT_INSTALL_BINS/get]/qmake)) $$QMAKE_CXXFLAGS -E ${QMAKE_FILE_IN} 2>NUL >${QMAKE_FILE_OUT} } else: error("Oops, I messed up") moc_predefs.output = $$MOC_DIR/moc_predefs.h moc_predefs.input = MOC_PREDEF_FILE diff --git a/mkspecs/features/qmake_use.prf b/mkspecs/features/qmake_use.prf new file mode 100644 index 0000000000..81b841d457 --- /dev/null +++ b/mkspecs/features/qmake_use.prf @@ -0,0 +1,28 @@ +suffix = +for(ever) { + QMAKE_USE$${suffix} = $$unique(QMAKE_USE$${suffix}) + for (use, QMAKE_USE$${suffix}) { + use = $$split(use, /) + name = $$take_first(use) + nu = $$upper($$name) + debug: \ + libs = $$eval(QMAKE_LIBS_$${nu}_DEBUG) + else: \ + libs = $$eval(QMAKE_LIBS_$${nu}_RELEASE) + libs += $$eval(QMAKE_LIBS_$$nu) + defines = $$eval(QMAKE_DEFINES_$${nu}) + includes = $$eval(QMAKE_INCDIR_$${nu}) + + isEmpty(libs):isEmpty(defines):isEmpty(includes): \ + error("Library '$$name' is not defined.") + + !contains(use, nolink): \ + LIBS$${suffix} += $$libs + !contains(use, linkonly) { + DEFINES += $$defines + INCLUDEPATH += $$includes + } + } + !isEmpty(suffix): break() + suffix = "_PRIVATE" +} diff --git a/mkspecs/features/qpa/basicunixfontdatabase.prf b/mkspecs/features/qpa/basicunixfontdatabase.prf index 80382da214..72449c8f6b 100644 --- a/mkspecs/features/qpa/basicunixfontdatabase.prf +++ b/mkspecs/features/qpa/basicunixfontdatabase.prf @@ -1,3 +1,3 @@ qtConfig(system-freetype) { - LIBS_PRIVATE += -lfreetype + QMAKE_USE_PRIVATE += freetype/linkonly } diff --git a/mkspecs/features/qpa/genericunixfontdatabase.prf b/mkspecs/features/qpa/genericunixfontdatabase.prf index 3680d5ad79..ef8384a245 100644 --- a/mkspecs/features/qpa/genericunixfontdatabase.prf +++ b/mkspecs/features/qpa/genericunixfontdatabase.prf @@ -1,10 +1,6 @@ CONFIG += qpa/basicunixfontdatabase qtConfig(fontconfig) { DEFINES += Q_FONTCONFIGDATABASE - LIBS_PRIVATE += -lfontconfig -} else:!android { - fonts.path = $$[QT_INSTALL_LIBS]/fonts - fonts.files = $$QT_SOURCE_TREE/lib/fonts/* - INSTALLS += fonts + QMAKE_USE_PRIVATE += fontconfig/linkonly } diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf index b0b1eb2968..9d870faeac 100644 --- a/mkspecs/features/qt_configure.prf +++ b/mkspecs/features/qt_configure.prf @@ -245,18 +245,25 @@ defineTest(qtConfParseCommandLine) { } else: contains(c, "^--?(disable|no)-(.*)") { opt = $$replace(c, "^--?(disable|no)-(.*)", "\\2") val = no - } else: contains(c, "^--?qt-(.*)") { - opt = $$replace(c, "^--?qt-(.*)", "\\1") - val = qt - } else: contains(c, "^--?system-(.*)") { - opt = $$replace(c, "^--?system-(.*)", "\\1") - val = system - } else: contains(c, "^--?([^-].*)=(.*)") { - opt = $$replace(c, "^--?([^-].*)=(.*)", "\\1") - val = $$replace(c, "^--?([^-].*)=(.*)", "\\2") - } else: contains(c, "^--?([^-].*)") { - opt = $$replace(c, "^--?([^-].*)", "\\1") + } else: contains(c, "^--([^=]+)=(.*)") { + opt = $$replace(c, "^--?([^=]+)=(.*)", "\\1") + val = $$replace(c, "^--?([^=]+)=(.*)", "\\2") + } else: contains(c, "^--(.*)") { + opt = $$replace(c, "^--(.*)", "\\1") + val = yes + } else: contains(c, "^-(.*)") { + opt = $$replace(c, "^-(.*)", "\\1") val = + for (cc, allConfigs) { + type = $$eval($${cc}.commandline.options.$${opt}) + !isEmpty(type): break() + type = $$eval($${cc}.commandline.options.$${opt}.type) + !isEmpty(type): break() + } + isEmpty(type):contains(opt, "(qt|system)-.*") { + val = $$replace(opt, "(qt|system)-(.*)", "\\1") + opt = $$replace(opt, "(qt|system)-(.*)", "\\2") + } } else { qtConfAddError("Invalid command line parameter '$$c'.") return() @@ -468,8 +475,6 @@ defineTest(qtConfLibrary_inline) { !isEmpty(prefix) { $${1}.includedir = $$prefix/include export($${1}.includedir) - $${1}.cflags = -I$$prefix/include - export($${1}.cflags) $${1}.libs = "-L$$prefix/lib $$eval($${1}.libs)" export($${1}.libs) } @@ -486,8 +491,6 @@ defineTest(qtConfLibrary_makeSpec) { $${1}.includedir = "$$val_escape(QMAKE_INCDIR_$$spec)" export($${1}.includedir) - $${1}.cflags = "$$val_escape(QMAKE_CFLAGS_$$spec)" - export($${1}.cflags) libs = for (l, QMAKE_LIBDIR_$$spec): \ libs += -L$$l @@ -515,15 +518,8 @@ defineTest(qtConfLibrary_pkgConfig) { qtRunLoggedCommand("$$pkg_config --modversion $$args", version)|return(false) qtRunLoggedCommand("$$pkg_config --libs-only-L --libs-only-l $$args", $${1}.libs)|return(false) qtRunLoggedCommand("$$pkg_config --cflags $$args", $${1}.cflags)|return(false) - qtRunLoggedCommand("$$pkg_config --cflags-only-I $$args", includes)|return(false) - eval(includes = $$includes) - includes ~= s/^-I//g - $${1}.includedir = "$$val_escape(includes)" version ~= s/[^0-9.].*$// $${1}.version = $$first(version) - export($${1}.libs) - export($${1}.cflags) - export($${1}.includedir) export($${1}.version) return(true) } @@ -555,6 +551,9 @@ defineReplace(qtConfLibraryArgs) { includedir = $$eval($${1}.includedir) !isEmpty(includedir): \ qmake_args += $$system_quote(INCLUDEPATH *= $$includedir) + cflags = $$eval($${1}.cflags) + !isEmpty(cflags): \ + qmake_args += $$system_quote(QMAKE_CFLAGS += $$cflags) $$system_quote(QMAKE_CXXFLAGS += $$cflags) return($$qmake_args) } @@ -581,12 +580,31 @@ defineTest(qtConfExportLibrary) { eval(includes = $$eval($${1}.includedir)) version = $$eval($${1}.version) + # Split $$cflags into stuff that goes into DEFINES, INCLUDEPATH, and other stuff. + defines = + ignored = + for (i, cflags) { + contains(i, "-I.*") { + i ~= s/^-I// + includes += $$i + } else: contains(i, "-D.*") { + i ~= s/^-D// + defines += $$i + } else { + # Sometimes, pkg-config files or *-config scripts include other flags + # we really don't need and shouldn't add (pg_config is really bad). + ignored += $$i + } + } + !isEmpty(ignored): \ + qtConfAddNote("Dropped compiler flags '$$ignored' when detecting library '$$2'.") + NAME = $$upper($$2) !isEmpty(libs): qtConfOutputVar(assign, $$output, QMAKE_LIBS_$$NAME, $$libs) for (b, $${1}.builds._KEYS_): \ qtConfOutputVar(assign, $$output, QMAKE_LIBS_$${NAME}_$$upper($$b), \ $$eval($${1}.builds.$${b})) - !isEmpty(cflags): qtConfOutputVar(assign, $$output, QMAKE_CFLAGS_$$NAME, $$cflags) + !isEmpty(defines): qtConfOutputVar(assign, $$output, QMAKE_DEFINES_$$NAME, $$defines) !isEmpty(includes): qtConfOutputVar(assign, $$output, QMAKE_INCDIR_$$NAME, $$includes) !isEmpty(version) { qtConfOutputVar(assign, $$output, QMAKE_$${NAME}_VERSION, $$version) @@ -992,7 +1010,7 @@ defineReplace(qtConfEvaluateSingleExpression) { error("Unknown library object $${lib} in expression '$${1}'.") qtConfHandleLibrary($$lib) !defined($${currentConfig}.libraries.$${lib}.$${var}, var): \ - var = sources.$$eval($${currentConfig}.libraries.$${lib}.$${source}).$$var + var = sources.$$eval($${currentConfig}.libraries.$${lib}.source).$$var result = $$eval($${currentConfig}.libraries.$${lib}.$${var}) } else: contains(e, "^features\..*") { feature = $$section(e, ".", 1, 1) diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index 168cc47f93..46ec6bc4bf 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -9,16 +9,6 @@ # We mean it. # -!no_qt_module_warning:!contains(QMAKE_INTERNAL_INCLUDED_FILES, .*qmodule\\.pri) { - QMAKE_ACTUAL_PRO_FILE = $$basename(_PRO_FILE_) - isEmpty(QMAKE_ACTUAL_PRO_FILE): QMAKE_ACTUAL_PRO_FILE=.pro - warning("You should probably load(qt_build_config) first in $$QMAKE_ACTUAL_PRO_FILE for $$TARGET, as the latter also load()s qt_module.") - message("Not doing so may lead to qt_module.prf overriding compiler/linker options in your .pro file.") - message("Ignore this warning with CONFIG+=no_qt_module_warning if you know what you are doing.") - unset(QMAKE_ACTUAL_PRO_FILE) -} -load(qt_build_config) # loads qmodule.pri if hasn't been loaded already - isEmpty(MODULE):MODULE = $$section($$list($$basename(_PRO_FILE_)), ., 0, 0) isEmpty(VERSION): VERSION = $$MODULE_VERSION isEmpty(VERSION): error("Module does not define version.") diff --git a/mkspecs/features/spec_pre.prf b/mkspecs/features/spec_pre.prf index 090f348ebf..51ea3a8321 100644 --- a/mkspecs/features/spec_pre.prf +++ b/mkspecs/features/spec_pre.prf @@ -51,5 +51,5 @@ equals(QMAKE_HOST.os, Windows) { QMAKE_SH = sh } -CONFIG = file_copies qt warn_on release link_prl +CONFIG = file_copies qmake_use qt warn_on release link_prl QT = core gui diff --git a/mkspecs/features/uikit/default_post.prf b/mkspecs/features/uikit/default_post.prf index cfd5388d33..49b2c3a2ee 100644 --- a/mkspecs/features/uikit/default_post.prf +++ b/mkspecs/features/uikit/default_post.prf @@ -29,21 +29,6 @@ macx-xcode { QMAKE_MAC_XCODE_SETTINGS += device_family ios { - # If QMAKE_BUNDLE_DATA contains an asset catalog that includes an - # AppIcon.appiconset, we configure Xcode to use it for app icons. - for(bundle_data, QMAKE_BUNDLE_DATA) { - for(bundle_file, $${bundle_data}.files) { - !contains(bundle_file, .*\.xcassets$): next() - !exists($$absolute_path($$bundle_file/AppIcon.appiconset, $$_PRO_FILE_PWD_)): next() - - asset_catalog_appicon.name = "ASSETCATALOG_COMPILER_APPICON_NAME" - asset_catalog_appicon.value = "AppIcon" - QMAKE_MAC_XCODE_SETTINGS += asset_catalog_appicon - break() - } - !isEmpty(asset_catalog_appicon.name): break() - } - # Set up default 4-inch iPhone/iPod launch image so that our apps # support the full screen resolution of those devices. qmake_launch_image = Default-568h@2x.png diff --git a/mkspecs/features/uikit/resolve_config.prf b/mkspecs/features/uikit/resolve_config.prf index 70ddd8be52..868813dcbd 100644 --- a/mkspecs/features/uikit/resolve_config.prf +++ b/mkspecs/features/uikit/resolve_config.prf @@ -8,4 +8,10 @@ xcodebuild { load(resolve_config) -!macx-xcode:xcodebuild: addExclusiveBuilds(simulator, device) +!macx-xcode:xcodebuild { + # Switch the order to make sure that the first Makefile target is the right one + !qtConfig(simulator_and_device):contains(QMAKE_MAC_SDK, ^$${simulator.sdk}.*): \ + addExclusiveBuilds(simulator, device) + else: \ + addExclusiveBuilds(device, simulator) +} diff --git a/mkspecs/features/uikit/xcodebuild.prf b/mkspecs/features/uikit/xcodebuild.prf index 82bcd9a315..df015b583a 100644 --- a/mkspecs/features/uikit/xcodebuild.prf +++ b/mkspecs/features/uikit/xcodebuild.prf @@ -18,10 +18,14 @@ QMAKE_EXTRA_COMPILERS = error("Failed to create $$OUT_PWD") args = -for(arg, QMAKE_ARGS): \ - args += $$system_quote($$arg) +prev_arg = +for(arg, QMAKE_ARGS) { + !equals(arg, "-spec"):!equals(prev_arg, "-spec"): \ + args += $$system_quote($$arg) + prev_arg = $$arg +} -cmd = "$$QMAKE_QMAKE $$args $$system_quote($$_PRO_FILE_) -spec macx-xcode" +cmd = "$$QMAKE_QMAKE $$system_quote($$_PRO_FILE_) -spec macx-xcode $$args" debug(1, "Generating Xcode project in $$OUT_PWD using '$$cmd'") system("cd $$system_quote($$OUT_PWD) && $$cmd") diff --git a/mkspecs/features/unix/separate_debug_info.prf b/mkspecs/features/unix/separate_debug_info.prf index 272cc8ef79..ebb37bdfc7 100644 --- a/mkspecs/features/unix/separate_debug_info.prf +++ b/mkspecs/features/unix/separate_debug_info.prf @@ -87,8 +87,9 @@ have_target:!static:if(darwin|!isEmpty(QMAKE_OBJCOPY)) { QMAKE_POST_LINK = $$mkdir_debug_info && $$copy_debug_info && $$strip_debug_info $$QMAKE_POST_LINK } else { link_debug_info = $$QMAKE_OBJCOPY --add-gnu-debuglink=$$shell_target_debug_info $$shell_target - chmod_debug_info = chmod -x $$shell_target_debug_info - QMAKE_POST_LINK = $$copy_debug_info && $$strip_debug_info && $$link_debug_info && $$chmod_debug_info $$QMAKE_POST_LINK + !contains(QMAKE_HOST.os, Windows): \ + QMAKE_POST_LINK = && chmod -x $$shell_target_debug_info $$QMAKE_POST_LINK + QMAKE_POST_LINK = $$copy_debug_info && $$strip_debug_info && $$link_debug_info $$QMAKE_POST_LINK } silent:QMAKE_POST_LINK = @echo creating $@.$$debug_info_suffix && $$QMAKE_POST_LINK diff --git a/mkspecs/features/winrt/package_manifest.prf b/mkspecs/features/winrt/package_manifest.prf index e17bda3c8e..e7859a7cae 100644 --- a/mkspecs/features/winrt/package_manifest.prf +++ b/mkspecs/features/winrt/package_manifest.prf @@ -55,141 +55,145 @@ else: \ manifest_file.output = $$BUILD_DIR/AppxManifest.xml - # Provide the C-runtime dependency - equals(TEMPLATE, "app") { - VCLIBS = Microsoft.VCLibs.$$replace(MSVC_VER, \\., ).00 - winphone: VCLIBS = $${VCLIBS}.Phone - CONFIG(debug, debug|release): \ - VCLIBS = $${VCLIBS}.Debug - else: \ - VCLIBS = $${VCLIBS} - contains(MSVC_VER, "14.0"): VCLIBS = "$${VCLIBS}\" MinVersion=\"14.0.0.0\" Publisher=\"CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" - WINRT_MANIFEST.dependencies += $$VCLIBS - } + !contains(WINRT_MANIFEST.CONFIG, "verbatim") { + # Provide the C-runtime dependency + equals(TEMPLATE, "app") { + VCLIBS = Microsoft.VCLibs.$$replace(MSVC_VER, \\., ).00 + winphone: VCLIBS = $${VCLIBS}.Phone + CONFIG(debug, debug|release): \ + VCLIBS = $${VCLIBS}.Debug + else: \ + VCLIBS = $${VCLIBS} + contains(MSVC_VER, "14.0"): VCLIBS = "$${VCLIBS}\" MinVersion=\"14.0.0.0\" Publisher=\"CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" + WINRT_MANIFEST.dependencies += $$VCLIBS + } - # Provide default values for required variables - isEmpty(WINRT_MANIFEST.target): WINRT_MANIFEST.target = $$TARGET - isEmpty(WINRT_MANIFEST.identity) { - # Reuse the existing UUID if possible - UUID_CACHE = $$OUT_PWD/.qmake.winrt_uuid_$$TARGET - exists($$UUID_CACHE) { - include($$UUID_CACHE) - } else { - WINRT_UUID = $$system(uuidgen) - isEmpty(WINRT_UUID): error("Unable to generate a UUID. Make sure uuidgen is in your PATH.") - WINRT_UUID = "WINRT_MANIFEST.identity = $$WINRT_UUID" - write_file($$UUID_CACHE, WINRT_UUID)|error("Unable to write the UUID cache; aborting.") - eval($$WINRT_UUID) + # Provide default values for required variables + isEmpty(WINRT_MANIFEST.target): WINRT_MANIFEST.target = $$TARGET + isEmpty(WINRT_MANIFEST.identity) { + # Reuse the existing UUID if possible + UUID_CACHE = $$OUT_PWD/.qmake.winrt_uuid_$$TARGET + exists($$UUID_CACHE) { + include($$UUID_CACHE) + } else { + WINRT_UUID = $$system(uuidgen) + isEmpty(WINRT_UUID): error("Unable to generate a UUID. Make sure uuidgen is in your PATH.") + WINRT_UUID = "WINRT_MANIFEST.identity = $$WINRT_UUID" + write_file($$UUID_CACHE, WINRT_UUID)|error("Unable to write the UUID cache; aborting.") + eval($$WINRT_UUID) + } + } + isEmpty(WINRT_MANIFEST.name): WINRT_MANIFEST.name = $$TARGET + isEmpty(WINRT_MANIFEST.architecture): WINRT_MANIFEST.architecture = $$VCPROJ_ARCH + isEmpty(WINRT_MANIFEST.version): WINRT_MANIFEST.version = 1.0.0.0 + isEmpty(WINRT_MANIFEST.publisher): WINRT_MANIFEST.publisher = Default publisher display name + isEmpty(WINRT_MANIFEST.publisherid): WINRT_MANIFEST.publisherid = CN=$$(USERNAME) + isEmpty(WINRT_MANIFEST.phone_product_id): WINRT_MANIFEST.phone_product_id = $$WINRT_MANIFEST.identity + isEmpty(WINRT_MANIFEST.phone_publisher_id): WINRT_MANIFEST.phone_publisher_id = 00000000-0000-0000-0000-000000000000 + isEmpty(WINRT_MANIFEST.description): WINRT_MANIFEST.description = Default package description + isEmpty(WINRT_MANIFEST.background): WINRT_MANIFEST.background = green + isEmpty(WINRT_MANIFEST.foreground): WINRT_MANIFEST.foreground = light + isEmpty(WINRT_MANIFEST.default_language): WINRT_MANIFEST.default_language = en + *-msvc2015 { + isEmpty(WINRT_MANIFEST.minVersion): WINRT_MANIFEST.minVersion = $$(UCRTVersion) + isEmpty(WINRT_MANIFEST.minVersion): error("No UCRTVersion found in environment.")) + isEmpty(WINRT_MANIFEST.maxVersionTested): WINRT_MANIFEST.maxVersionTested = $$WINRT_MANIFEST.minVersion } - } - isEmpty(WINRT_MANIFEST.name): WINRT_MANIFEST.name = $$TARGET - isEmpty(WINRT_MANIFEST.architecture): WINRT_MANIFEST.architecture = $$VCPROJ_ARCH - isEmpty(WINRT_MANIFEST.version): WINRT_MANIFEST.version = 1.0.0.0 - isEmpty(WINRT_MANIFEST.publisher): WINRT_MANIFEST.publisher = Default publisher display name - isEmpty(WINRT_MANIFEST.publisherid): WINRT_MANIFEST.publisherid = CN=$$(USERNAME) - isEmpty(WINRT_MANIFEST.phone_product_id): WINRT_MANIFEST.phone_product_id = $$WINRT_MANIFEST.identity - isEmpty(WINRT_MANIFEST.phone_publisher_id): WINRT_MANIFEST.phone_publisher_id = 00000000-0000-0000-0000-000000000000 - isEmpty(WINRT_MANIFEST.description): WINRT_MANIFEST.description = Default package description - isEmpty(WINRT_MANIFEST.background): WINRT_MANIFEST.background = green - isEmpty(WINRT_MANIFEST.foreground): WINRT_MANIFEST.foreground = light - isEmpty(WINRT_MANIFEST.default_language): WINRT_MANIFEST.default_language = en - *-msvc2015 { - isEmpty(WINRT_MANIFEST.minVersion): WINRT_MANIFEST.minVersion = $$(UCRTVersion) - isEmpty(WINRT_MANIFEST.minVersion): error("No UCRTVersion found in environment.")) - isEmpty(WINRT_MANIFEST.maxVersionTested): WINRT_MANIFEST.maxVersionTested = $$WINRT_MANIFEST.minVersion - } - INDENT = "$$escape_expand(\\r\\n) " + INDENT = "$$escape_expand(\\r\\n) " - VS_XML_NAMESPACE = "m2" - winphone: VS_XML_NAMESPACE = "m3" - WINRT_MANIFEST.rotation_preference = $$unique(WINRT_MANIFEST.rotation_preference) - !isEmpty(WINRT_MANIFEST.rotation_preference) { - MANIFEST_ROTATION += "<$${VS_XML_NAMESPACE}:InitialRotationPreference>" - for(ROTATION, WINRT_MANIFEST.rotation_preference): \ - MANIFEST_ROTATION += " <$${VS_XML_NAMESPACE}:Rotation Preference=\"$$ROTATION\" />" - MANIFEST_ROTATION += "</$${VS_XML_NAMESPACE}:InitialRotationPreference>" + VS_XML_NAMESPACE = "m2" + winphone: VS_XML_NAMESPACE = "m3" + WINRT_MANIFEST.rotation_preference = $$unique(WINRT_MANIFEST.rotation_preference) + !isEmpty(WINRT_MANIFEST.rotation_preference) { + MANIFEST_ROTATION += "<$${VS_XML_NAMESPACE}:InitialRotationPreference>" + for(ROTATION, WINRT_MANIFEST.rotation_preference): \ + MANIFEST_ROTATION += " <$${VS_XML_NAMESPACE}:Rotation Preference=\"$$ROTATION\" />" + MANIFEST_ROTATION += "</$${VS_XML_NAMESPACE}:InitialRotationPreference>" - WINRT_MANIFEST.rotation_preference = $$join(MANIFEST_ROTATION, $$INDENT, $$INDENT) - } + WINRT_MANIFEST.rotation_preference = $$join(MANIFEST_ROTATION, $$INDENT, $$INDENT) + } - INDENT = "$$escape_expand(\\r\\n) " + INDENT = "$$escape_expand(\\r\\n) " - # All Windows 10 applications need to have internetClient. It is also not marked as additional - # capability anymore and is assumed to be standard. - *-msvc2015: WINRT_MANIFEST.capabilities += internetClient + # All Windows 10 applications need to have internetClient. It is also not marked as additional + # capability anymore and is assumed to be standard. + *-msvc2015: WINRT_MANIFEST.capabilities += internetClient - contains(WINRT_MANIFEST.capabilities, defaults) { - WINRT_MANIFEST.capabilities -= defaults - WINRT_MANIFEST.capabilities += $$WINRT_MANIFEST.capabilities_default - } + contains(WINRT_MANIFEST.capabilities, defaults) { + WINRT_MANIFEST.capabilities -= defaults + WINRT_MANIFEST.capabilities += $$WINRT_MANIFEST.capabilities_default + } - contains(WINRT_MANIFEST.capabilities_device, defaults) { - WINRT_MANIFEST.capabilities_device -= defaults - WINRT_MANIFEST.capabilities_device += $$WINRT_MANIFEST.capabilities_device_default - } + contains(WINRT_MANIFEST.capabilities_device, defaults) { + WINRT_MANIFEST.capabilities_device -= defaults + WINRT_MANIFEST.capabilities_device += $$WINRT_MANIFEST.capabilities_device_default + } - # Capabilities are given as a string list and may change with the configuration (network, sensors, etc.) - WINRT_MANIFEST.capabilities = $$unique(WINRT_MANIFEST.capabilities) - WINRT_MANIFEST.capabilities_device = $$unique(WINRT_MANIFEST.capabilities_device) - !isEmpty(WINRT_MANIFEST.capabilities)|!isEmpty(WINRT_MANIFEST.capabilities_device) { - MANIFEST_CAPABILITIES += "<Capabilities>" - for(CAPABILITY, WINRT_MANIFEST.capabilities): \ - MANIFEST_CAPABILITIES += " <Capability Name=\"$$CAPABILITY\" />" - for(CAPABILITY, WINRT_MANIFEST.capabilities_device): \ - MANIFEST_CAPABILITIES += " <DeviceCapability Name=\"$$CAPABILITY\" />" - MANIFEST_CAPABILITIES += "</Capabilities>" - - WINRT_MANIFEST.capabilities = $$join(MANIFEST_CAPABILITIES, $$INDENT, $$INDENT) - } + # Capabilities are given as a string list and may change with the configuration (network, sensors, etc.) + WINRT_MANIFEST.capabilities = $$unique(WINRT_MANIFEST.capabilities) + WINRT_MANIFEST.capabilities_device = $$unique(WINRT_MANIFEST.capabilities_device) + !isEmpty(WINRT_MANIFEST.capabilities)|!isEmpty(WINRT_MANIFEST.capabilities_device) { + MANIFEST_CAPABILITIES += "<Capabilities>" + for(CAPABILITY, WINRT_MANIFEST.capabilities): \ + MANIFEST_CAPABILITIES += " <Capability Name=\"$$CAPABILITY\" />" + for(CAPABILITY, WINRT_MANIFEST.capabilities_device): \ + MANIFEST_CAPABILITIES += " <DeviceCapability Name=\"$$CAPABILITY\" />" + MANIFEST_CAPABILITIES += "</Capabilities>" + + WINRT_MANIFEST.capabilities = $$join(MANIFEST_CAPABILITIES, $$INDENT, $$INDENT) + } - # Dependencies are given as a string list. The CRT dependency is added automatically above. - # For MSVC2015 the dependencies are added in conjunction with TargetDeviceFamily - # Due to the hard coded dependency on "Windows.Universal" the <Dependencies> tag - # is already inside the MSVC2015 manifest. - WINRT_MANIFEST.dependencies = $$unique(WINRT_MANIFEST.dependencies) - !isEmpty(WINRT_MANIFEST.dependencies) { - *-msvc2013: MANIFEST_DEPENDENCIES += "<Dependencies>" - for(DEPENDENCY, WINRT_MANIFEST.dependencies): \ - MANIFEST_DEPENDENCIES += " <PackageDependency Name=\"$$DEPENDENCY\" />" - *-msvc2013: MANIFEST_DEPENDENCIES += "</Dependencies>" - - WINRT_MANIFEST.dependencies = $$join(MANIFEST_DEPENDENCIES, $$INDENT, $$INDENT) - } + # Dependencies are given as a string list. The CRT dependency is added automatically above. + # For MSVC2015 the dependencies are added in conjunction with TargetDeviceFamily + # Due to the hard coded dependency on "Windows.Universal" the <Dependencies> tag + # is already inside the MSVC2015 manifest. + WINRT_MANIFEST.dependencies = $$unique(WINRT_MANIFEST.dependencies) + !isEmpty(WINRT_MANIFEST.dependencies) { + *-msvc2013: MANIFEST_DEPENDENCIES += "<Dependencies>" + for(DEPENDENCY, WINRT_MANIFEST.dependencies): \ + MANIFEST_DEPENDENCIES += " <PackageDependency Name=\"$$DEPENDENCY\" />" + *-msvc2013: MANIFEST_DEPENDENCIES += "</Dependencies>" + + WINRT_MANIFEST.dependencies = $$join(MANIFEST_DEPENDENCIES, $$INDENT, $$INDENT) + } - # Provide default icons where needed - isEmpty(WINRT_ASSETS_PATH): WINRT_ASSETS_PATH = $$[QT_HOST_DATA/get]/mkspecs/common/winrt_winphone/assets - TEMPLATE_CONTENTS = $$cat($$WINRT_MANIFEST, lines) - ICONS_FOUND = $$find(TEMPLATE_CONTENTS, \\\$\\\$\\{WINRT_MANIFEST\\.(logo|tile)_) - ICONS_FOUND ~= s/.*\\\$\\\$\\{WINRT_MANIFEST\\.((logo|tile)_[^\}]+)\\}.*/\\1/g - for (ICON_NAME, ICONS_FOUND) { - ICON_FILE = $$eval(WINRT_MANIFEST.$$ICON_NAME) - isEmpty(ICON_FILE) { - equals(ICON_NAME, "logo_310x150"): ICON_FILE = $$eval(WINRT_MANIFEST.logo_wide) - else: equals(ICON_NAME, "logo_150x150"): ICON_FILE = $$eval(WINRT_MANIFEST.logo_large) - # Windows Phone specifics - else: equals(ICON_NAME, "logo_480x800"): ICON_FILE = $$eval(WINRT_MANIFEST.logo_splash) - else: equals(ICON_NAME, "logo_71x71"): ICON_FILE = $$eval(WINRT_MANIFEST.logo_medium) - else: equals(ICON_NAME, "logo_44x44"): ICON_FILE = $$eval(WINRT_MANIFEST.logo_small) - # Windows RT specifics - else: equals(ICON_NAME, "logo_620x300"): ICON_FILE = $$eval(WINRT_MANIFEST.logo_splash) - else: equals(ICON_NAME, "logo_70x70"): ICON_FILE = $$eval(WINRT_MANIFEST.logo_medium) - else: equals(ICON_NAME, "logo_30x30"): ICON_FILE = $$eval(WINRT_MANIFEST.logo_small) + # Provide default icons where needed + isEmpty(WINRT_ASSETS_PATH): WINRT_ASSETS_PATH = $$[QT_HOST_DATA/get]/mkspecs/common/winrt_winphone/assets + TEMPLATE_CONTENTS = $$cat($$WINRT_MANIFEST, lines) + ICONS_FOUND = $$find(TEMPLATE_CONTENTS, \\\$\\\$\\{WINRT_MANIFEST\\.(logo|tile)_) + ICONS_FOUND ~= s/.*\\\$\\\$\\{WINRT_MANIFEST\\.((logo|tile)_[^\}]+)\\}.*/\\1/g + for (ICON_NAME, ICONS_FOUND) { + ICON_FILE = $$eval(WINRT_MANIFEST.$$ICON_NAME) + isEmpty(ICON_FILE) { + equals(ICON_NAME, "logo_310x150"): ICON_FILE = $$eval(WINRT_MANIFEST.logo_wide) + else: equals(ICON_NAME, "logo_150x150"): ICON_FILE = $$eval(WINRT_MANIFEST.logo_large) + # Windows Phone specifics + else: equals(ICON_NAME, "logo_480x800"): ICON_FILE = $$eval(WINRT_MANIFEST.logo_splash) + else: equals(ICON_NAME, "logo_71x71"): ICON_FILE = $$eval(WINRT_MANIFEST.logo_medium) + else: equals(ICON_NAME, "logo_44x44"): ICON_FILE = $$eval(WINRT_MANIFEST.logo_small) + # Windows RT specifics + else: equals(ICON_NAME, "logo_620x300"): ICON_FILE = $$eval(WINRT_MANIFEST.logo_splash) + else: equals(ICON_NAME, "logo_70x70"): ICON_FILE = $$eval(WINRT_MANIFEST.logo_medium) + else: equals(ICON_NAME, "logo_30x30"): ICON_FILE = $$eval(WINRT_MANIFEST.logo_small) + } + isEmpty(ICON_FILE): ICON_FILE = $$WINRT_ASSETS_PATH/$${ICON_NAME}.png + icon_$${ICON_NAME}.input = $$ICON_FILE + icon_$${ICON_NAME}.output = $$BUILD_DIR/assets/$$basename(ICON_FILE) + icon_$${ICON_NAME}.CONFIG = verbatim + QMAKE_SUBSTITUTES += icon_$${ICON_NAME} + WINRT_MANIFEST.$${ICON_NAME} = assets/$$basename(ICON_FILE) } - isEmpty(ICON_FILE): ICON_FILE = $$WINRT_ASSETS_PATH/$${ICON_NAME}.png - icon_$${ICON_NAME}.input = $$ICON_FILE - icon_$${ICON_NAME}.output = $$BUILD_DIR/assets/$$basename(ICON_FILE) - icon_$${ICON_NAME}.CONFIG = verbatim - QMAKE_SUBSTITUTES += icon_$${ICON_NAME} - WINRT_MANIFEST.$${ICON_NAME} = assets/$$basename(ICON_FILE) - } - !contains(TEMPLATE, "vc.*") { - winrt_manifest_install.files = $$manifest_file.output - winrt_manifest_install.path = $$target.path - winrt_assets_install.files = $$BUILD_DIR/assets/* - winrt_assets_install.path = $$target.path/assets - INSTALLS += winrt_manifest_install winrt_assets_install + !contains(TEMPLATE, "vc.*") { + winrt_manifest_install.files = $$manifest_file.output + winrt_manifest_install.path = $$target.path + winrt_assets_install.files = $$BUILD_DIR/assets/* + winrt_assets_install.path = $$target.path/assets + INSTALLS += winrt_manifest_install winrt_assets_install + } + } else { + manifest_file.CONFIG += verbatim } QMAKE_SUBSTITUTES += manifest_file diff --git a/mkspecs/haiku-g++/qmake.conf b/mkspecs/haiku-g++/qmake.conf index ac28069864..6a7d080ec3 100644 --- a/mkspecs/haiku-g++/qmake.conf +++ b/mkspecs/haiku-g++/qmake.conf @@ -7,9 +7,6 @@ QMAKE_PLATFORM = haiku include(../common/unix.conf) -# Choose haiku QPA Plugin as default -QT_QPA_DEFAULT_PLATFORM = haiku - QMAKE_LIBS = QMAKE_INCDIR = QMAKE_LIBDIR = diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf index c5f6353d39..6ed39745ae 100644 --- a/mkspecs/win32-g++/qmake.conf +++ b/mkspecs/win32-g++/qmake.conf @@ -50,6 +50,7 @@ QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE +QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD |