diff options
Diffstat (limited to 'mkspecs/features')
-rw-r--r-- | mkspecs/features/default_post.prf | 4 | ||||
-rw-r--r-- | mkspecs/features/gcov.prf | 1 | ||||
-rw-r--r-- | mkspecs/features/mac/objective_c.prf | 27 | ||||
-rw-r--r-- | mkspecs/features/mac/sdk.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/moc.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/qt.prf | 19 | ||||
-rw-r--r-- | mkspecs/features/resolve_target.prf | 6 | ||||
-rw-r--r-- | mkspecs/features/spec_pre.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/unix/hide_symbols.prf | 1 | ||||
-rw-r--r-- | mkspecs/features/warn_off.prf | 1 | ||||
-rw-r--r-- | mkspecs/features/warn_on.prf | 1 | ||||
-rw-r--r-- | mkspecs/features/winrt/font_deployment.prf | 62 |
12 files changed, 23 insertions, 105 deletions
diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf index ebe83af25e..cd8d8859aa 100644 --- a/mkspecs/features/default_post.prf +++ b/mkspecs/features/default_post.prf @@ -35,7 +35,6 @@ force_debug_info|debug: \ force_debug_info { QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO - QMAKE_OBJECTIVE_CFLAGS_RELEASE = $$QMAKE_OBJECTIVE_CFLAGS_RELEASE_WITH_DEBUGINFO QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO } @@ -51,13 +50,11 @@ optimize_full { debug { QMAKE_CFLAGS += $$QMAKE_CFLAGS_DEBUG QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_DEBUG - QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_DEBUG QMAKE_LFLAGS += $$QMAKE_LFLAGS_DEBUG QMAKE_LIBFLAGS += $$QMAKE_LIBFLAGS_DEBUG } else { QMAKE_CFLAGS += $$QMAKE_CFLAGS_RELEASE QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_RELEASE - QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_RELEASE QMAKE_LFLAGS += $$QMAKE_LFLAGS_RELEASE QMAKE_LIBFLAGS += $$QMAKE_LIBFLAGS_RELEASE } @@ -107,7 +104,6 @@ c++11|c++14|c++1z { !strict_c++:!isEmpty(QMAKE_CXXFLAGS_GNU$$cxxstd): cxxstd = GNU$$cxxstd QMAKE_CXXFLAGS += $$eval(QMAKE_CXXFLAGS_$$cxxstd) - QMAKE_OBJECTIVE_CFLAGS += $$eval(QMAKE_CXXFLAGS_$$cxxstd) QMAKE_LFLAGS += $$eval(QMAKE_LFLAGS_$$cxxstd) unset(cxxstd) diff --git a/mkspecs/features/gcov.prf b/mkspecs/features/gcov.prf index 330831fc0e..f45ba4c520 100644 --- a/mkspecs/features/gcov.prf +++ b/mkspecs/features/gcov.prf @@ -25,7 +25,6 @@ QMAKE_CFLAGS += -fprofile-arcs -ftest-coverage QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage -QMAKE_OBJECTIVE_CFLAGS += -fprofile-arcs -ftest-coverage QMAKE_LFLAGS += -fprofile-arcs -ftest-coverage QMAKE_CLEAN += $(OBJECTS_DIR)*.gcno and $(OBJECTS_DIR)*.gcda diff --git a/mkspecs/features/mac/objective_c.prf b/mkspecs/features/mac/objective_c.prf index 0f25f41eec..b3b1d4be99 100644 --- a/mkspecs/features/mac/objective_c.prf +++ b/mkspecs/features/mac/objective_c.prf @@ -1,23 +1,10 @@ -for(source, SOURCES) { - contains(source,.*\\.mm?$) { - warning(Objective-C source \'$$source\' found in SOURCES but should be in OBJECTIVE_SOURCES) - SOURCES -= $$source - OBJECTIVE_SOURCES += $$source - } -} +# Objective-C/C++ sources go in SOURCES, like all other sources +SOURCES += $$OBJECTIVE_SOURCES -isEmpty(QMAKE_OBJECTIVE_CC):QMAKE_OBJECTIVE_CC = $$QMAKE_CC +# Strip C/C++ flags from QMAKE_OBJECTIVE_CFLAGS just in case +QMAKE_OBJECTIVE_CFLAGS -= $$QMAKE_CFLAGS $$QMAKE_CXXFLAGS -OBJECTIVE_C_OBJECTS_DIR = $$OBJECTS_DIR -isEmpty(OBJECTIVE_C_OBJECTS_DIR):OBJECTIVE_C_OBJECTS_DIR = . -isEmpty(QMAKE_EXT_OBJECTIVE_C):QMAKE_EXT_OBJECTIVE_C = .mm .m - -objective_c.dependency_type = TYPE_C -objective_c.variables = QMAKE_OBJECTIVE_CFLAGS -objective_c.commands = $$QMAKE_OBJECTIVE_CC -c $(QMAKE_COMP_QMAKE_OBJECTIVE_CFLAGS) $(DEFINES) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} -objective_c.output = $$OBJECTIVE_C_OBJECTS_DIR/${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} -objective_c.input = OBJECTIVE_SOURCES -objective_c.name = Compile ${QMAKE_FILE_IN} -silent:objective_c.commands = @echo objective-c ${QMAKE_FILE_IN} && $$objective_c.commands -QMAKE_EXTRA_COMPILERS += objective_c +# Add Objective-C/C++ flags to C/C++ flags, the compiler can handle it +QMAKE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS +QMAKE_CXXFLAGS += $$QMAKE_OBJECTIVE_CFLAGS diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf index a5643e311d..210843bd94 100644 --- a/mkspecs/features/mac/sdk.prf +++ b/mkspecs/features/mac/sdk.prf @@ -32,7 +32,6 @@ isEmpty(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.version) { !equals(MAKEFILE_GENERATOR, XCODE) { QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH - QMAKE_OBJECTIVE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK_PATH } @@ -80,6 +79,5 @@ isEmpty(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.platform_name) { version_min_flag = -m$${version_identifier}-version-min=$$deployment_target QMAKE_CFLAGS += $$version_min_flag QMAKE_CXXFLAGS += $$version_min_flag - QMAKE_OBJECTIVE_CFLAGS += $$version_min_flag QMAKE_LFLAGS += $$version_min_flag } diff --git a/mkspecs/features/moc.prf b/mkspecs/features/moc.prf index c0b5682446..8e8deec63c 100644 --- a/mkspecs/features/moc.prf +++ b/mkspecs/features/moc.prf @@ -16,7 +16,7 @@ MOC_INCLUDEPATH = $$QMAKESPEC $$_PRO_FILE_PWD_ $$MOC_INCLUDEPATH $$QMAKE_DEFAULT # has too many includes. We do this to overcome a command-line limit on Win < XP WIN_INCLUDETEMP= win32:count(MOC_INCLUDEPATH, 40, >) { - WIN_INCLUDETEMP = $$MOC_DIR/mocinclude.tmp + WIN_INCLUDETEMP = $$MOC_DIR/mocinclude.opt WIN_INCLUDETEMP_CONT = for (inc, MOC_INCLUDEPATH): \ diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf index 2e466ec9be..d416a8955a 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf @@ -119,12 +119,6 @@ for(ever) { !mac|!contains(MODULE_CONFIG, lib_bundle): \ MODULE_NAME ~= s,^Qt,Qt$$QT_MAJOR_VERSION, - win32 { - # Make sure the version number isn't appended again to the lib name - QMAKE_$${upper($$MODULE_NAME$$QT_LIBINFIX)}_VERSION_OVERRIDE = 0 - QMAKE_$${upper($$MODULE_NAME$$QT_LIBINFIX)}D_VERSION_OVERRIDE = 0 - } - isEmpty(LINKAGE) { !isEmpty(MODULE_LIBS_ADD): \ LINKAGE = -L$$MODULE_LIBS_ADD @@ -161,7 +155,8 @@ qt_module_deps = $$resolve_depends(qt_module_deps, "QT.") !no_qt_rpath:!static:contains(QT_CONFIG, rpath):!contains(QT_CONFIG, static):\ contains(qt_module_deps, core) { - relative_qt_rpath:defined(target.path, var) { + relative_qt_rpath:contains(INSTALLS, target):\ + isEmpty(target.files):isEmpty(target.commands):isEmpty(target.extra) { mac { if(equals(TEMPLATE, app):app_bundle)|\ if(equals(TEMPLATE, lib):plugin:plugin_bundle) { @@ -172,11 +167,17 @@ qt_module_deps = $$resolve_depends(qt_module_deps, "QT.") } else { binpath = $$target.path } - QMAKE_RPATHDIR += @loader_path/$$relative_path($$[QT_INSTALL_LIBS], $$binpath) + rpath = @loader_path } else { QMAKE_LFLAGS += -Wl,-z,origin - QMAKE_RPATHDIR += $ORIGIN/$$relative_path($$[QT_INSTALL_LIBS], $$target.path) + binpath = $$target.path + rpath = $ORIGIN } + # NOT the /dev property, as INSTALLS use host paths + relpath = $$relative_path($$[QT_INSTALL_LIBS], $$binpath) + !equals(relpath, .): \ + rpath = $$rpath/$$relpath + QMAKE_RPATHDIR += $$rpath } else { QMAKE_RPATHDIR += $$[QT_INSTALL_LIBS/dev] } diff --git a/mkspecs/features/resolve_target.prf b/mkspecs/features/resolve_target.prf index aa52e9d67e..d6460c1d9d 100644 --- a/mkspecs/features/resolve_target.prf +++ b/mkspecs/features/resolve_target.prf @@ -54,13 +54,13 @@ win32 { } else { equals(TEMPLATE, lib) { static { - QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${LIBPREFIX}$${TARGET}.a + QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${LIBPREFIX}$${TARGET}.$${QMAKE_EXTENSION_STATICLIB} } else: plugin|unversioned_libname { - QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${LIBPREFIX}$${TARGET}.so + QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${LIBPREFIX}$${TARGET}.$${QMAKE_EXTENSION_SHLIB} } else { TEMP_VERSION = $$VERSION isEmpty(TEMP_VERSION):TEMP_VERSION = 1.0.0 - QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${LIBPREFIX}$${TARGET}.so.$${TEMP_VERSION} + QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${LIBPREFIX}$${TARGET}.$${QMAKE_EXTENSION_SHLIB}.$${TEMP_VERSION} } } else { QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${TARGET} diff --git a/mkspecs/features/spec_pre.prf b/mkspecs/features/spec_pre.prf index cdc1d7ee1e..ff310d9793 100644 --- a/mkspecs/features/spec_pre.prf +++ b/mkspecs/features/spec_pre.prf @@ -7,6 +7,8 @@ QMAKE_DIRLIST_SEP = $$DIRLIST_SEPARATOR QMAKE_EXT_C = .c QMAKE_EXT_CPP = .cpp .cc .cxx +QMAKE_EXT_OBJC = .m +QMAKE_EXT_OBJCXX = .mm QMAKE_EXT_CPP_MOC = .moc QMAKE_EXT_H = .h .hpp .hh .hxx QMAKE_EXT_H_MOC = .cpp diff --git a/mkspecs/features/unix/hide_symbols.prf b/mkspecs/features/unix/hide_symbols.prf index 4af99c2eac..f4d3921cb1 100644 --- a/mkspecs/features/unix/hide_symbols.prf +++ b/mkspecs/features/unix/hide_symbols.prf @@ -1,4 +1,3 @@ QMAKE_CFLAGS += $$QMAKE_CFLAGS_HIDESYMS QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_HIDESYMS -QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_HIDESYMS QMAKE_LFLAGS += $$QMAKE_LFLAGS_HIDESYMS diff --git a/mkspecs/features/warn_off.prf b/mkspecs/features/warn_off.prf index e37979c035..072a7aca15 100644 --- a/mkspecs/features/warn_off.prf +++ b/mkspecs/features/warn_off.prf @@ -1,4 +1,3 @@ CONFIG -= warn_on QMAKE_CFLAGS += $$QMAKE_CFLAGS_WARN_OFF QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_WARN_OFF -QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_WARN_OFF
\ No newline at end of file diff --git a/mkspecs/features/warn_on.prf b/mkspecs/features/warn_on.prf index 7e78a8e0d3..03a4a24a61 100644 --- a/mkspecs/features/warn_on.prf +++ b/mkspecs/features/warn_on.prf @@ -1,5 +1,4 @@ CONFIG -= warn_off QMAKE_CFLAGS += $$QMAKE_CFLAGS_WARN_ON QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_WARN_ON -QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_WARN_ON diff --git a/mkspecs/features/winrt/font_deployment.prf b/mkspecs/features/winrt/font_deployment.prf deleted file mode 100644 index c767d5bc1a..0000000000 --- a/mkspecs/features/winrt/font_deployment.prf +++ /dev/null @@ -1,62 +0,0 @@ -# Provide default fonts for windows phone -# The DEFAULTFONTS variable indicates, whether the default set of fonts is -# used for deployment. The check below won't work after the fonts are added -# so this helper variable is added and used for the user warning check later. -!defined(FONTS, var):winphone { - FONTS = \ - $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSans.ttf \ - $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSans-Bold.ttf \ - $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSans-BoldOblique.ttf \ - $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSansMono.ttf \ - $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSansMono-Bold.ttf \ - $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSansMono-BoldOblique.ttf \ - $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSansMono-Oblique.ttf \ - $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSans-Oblique.ttf \ - $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSerif.ttf \ - $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSerif-Bold.ttf \ - $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSerif-BoldOblique.ttf \ - $$[QT_HOST_PREFIX/src]/lib/fonts/DejaVuSerif-Oblique.ttf - DEFAULTFONTS = -} - -if(build_pass:equals(TEMPLATE, "app"))| \ -if(!build_pass:equals(TEMPLATE, "vcapp")) { - defined(DEFAULTFONTS, var) { - message(Default fonts will automatically be deployed with your application. \ - To avoid automatic deployment unset the \"FONTS\" variable (\"FONTS =\") in your .pro file. \ - You can also customize which fonts are deployed by setting the \"FONTS\" variable.) - } - - contains(TEMPLATE, "vc.*") { - BUILD_DIR = $$OUT_PWD - } else { - load(resolve_target) - BUILD_DIR = $$dirname(QMAKE_RESOLVED_TARGET) - } - - for (FONT, FONTS) { - font_$${FONT}.input = $$FONT - font_$${FONT}.output = $$BUILD_DIR/fonts/$$basename(FONT) - font_$${FONT}.CONFIG = verbatim - QMAKE_SUBSTITUTES += font_$${FONT} - } - - !isEmpty(FONTS):equals(TEMPLATE, "app") { - fonts.files = $$BUILD_DIR/fonts/* - isEmpty(target.path) { - fonts.path = $$OUT_PWD/fonts - } else { - fonts.path = $$target.path/fonts - } - - INSTALLS += fonts - } -} - -!isEmpty(FONTS):winphone:equals(TEMPLATE, "vcapp"):build_pass { - for (FONT, FONTS) { - fonts.files += $$OUT_PWD/fonts/$$basename(FONT) - } - fonts.path = fonts - DEPLOYMENT += fonts -} |