qt5base-lts/mkspecs/features
Francois Ferrand fabedd399e Introduce OBJECTIVE_HEADERS
When a ObjC++ QObject subclass is listed in the regular HEADERS, qmake
creates a .cpp file. The moc file will then fail to compile, as it
requries ObjC++ headers. Using Q_FORWARD_DECLARE_OBJC_CLASS() can be
used to let the class be parsed by The compiler, but link will still
fail, as the generated methods (e.g. signals) must be built with ObjC++
compiler, in case they have ObjC parameters:

 Q_FORWARD_DECLARE_OBJC_CLASS(NSString);

 class MyClass: public QObject {
     Q_OBJECT
 signals:
     void objcSignal(NSString * myObj);
 };

The canonical workaround for that is including the .cpp file into the
corresponding .mm file. This also offers a compilation speed advantage,
but is somewhat counter-intuitive.

Therefore, we introduce a separate variable which instructs moc to create
.mm files directly.

Task-number: QTBUG-1581
Change-Id: Ia98af58006efd168ea37f3a63c396979e7e81baa
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-08-25 12:15:36 +00:00
..
android Revert "don't overwrite pre-existing INSTALL for target" 2017-06-27 10:38:40 +00:00
data make qconfig.pri export QT_<compiler>_VERSION variables again 2017-06-12 09:55:26 +00:00
mac Allow using Xcode Command Line Tools to build Qt 2017-06-29 02:00:12 +00:00
uikit Compare versions in qmake files with versionAtLeast 2017-08-02 21:08:07 +00:00
unix macOS: Add LLDB debug script when building with separate debug info (dSYM) 2017-07-07 18:09:45 +00:00
win32 Fix VS project generation for ActiveQt server projects 2017-05-23 06:56:47 +00:00
winrt winrt: remove legacy checks 2017-07-03 05:32:54 +00:00
benchmark.prf mkspecs: Add a benchmark "feature". 2016-03-02 21:24:54 +00:00
build_pass.prf
cmake_functions.prf Remove leading '/' from target paths. 2013-11-27 08:24:50 +01:00
configure_base.prf don't redirect licheck's stderr 2017-05-31 12:57:43 +00:00
configure.prf make handling of built-in configure options data-driven 2016-12-13 18:55:28 +00:00
create_cmake.prf stop exporting QT.*.{MAJOR,MINOR,PATCH}_VERSION in module pris 2017-02-06 16:33:18 +00:00
ctest_testcase_common.prf Fix CMake version resolving 2017-08-16 15:35:40 +00:00
ctest_testcase_installed.prf Only run the cmake test in the install location if not already done. 2013-07-15 21:56:51 +02:00
ctest_testcase.prf Always use forward slashes in paths passed to cmake. 2013-07-10 13:05:01 +02:00
dbusadaptors.prf
dbuscommon.pri don't override user-provided dependencies for our extra compilers 2016-06-23 13:25:22 +00:00
dbusinterfaces.prf
declarative_debug.prf Rename quick1_debug back to declarative_debug 2012-10-04 03:03:00 +02:00
default_post.prf Enable stack-protector-strong for QNX 7.0.0 2017-06-13 14:01:24 +00:00
default_pre.prf fix QMAKE_DEFAULT_*DIRS resolution with apple SDK, take 2 2016-10-16 00:12:11 +00:00
designer_defines.prf
device_config.prf nuke configure -host-option 2016-12-13 18:55:59 +00:00
egl.prf Adjust egl config.test to pass sysrooted libs 2016-04-08 23:37:07 +00:00
exceptions_off.prf
exceptions.prf
exclusive_builds_post.prf Rewrite qmake's exclusive-build feature 2013-10-25 20:50:51 +02:00
exclusive_builds.prf fix xcodebuilds without -sdk iphonesimulator 2016-10-14 14:54:46 +00:00
file_copies.prf Simplify built-in qmake install command 2017-05-04 09:40:48 +00:00
gcov.prf Distinguish between Objective-C and Objective-C++ sources 2015-10-09 15:15:17 +00:00
include_source_dir.prf
incredibuild_xge.prf untangle use of system vs. shell path(-list) semantics 2014-04-30 16:56:54 +02:00
java.prf make use of silent error() emission 2016-08-08 09:48:41 +00:00
lex.prf Fix building when lex source refers to a file generated by yacc 2016-11-01 04:41:21 +00:00
link_ltcg.prf Support different job counts also for ICC LTO 2017-04-07 17:45:04 +00:00
link_pkgconfig.prf make the pkg-config error message more precise 2014-01-07 19:45:15 +01:00
ltcg.prf Clean up ltcg.prf with variables, including a new static mode 2015-01-11 03:41:48 +01:00
moc.prf Introduce OBJECTIVE_HEADERS 2017-08-25 12:15:36 +00:00
no_debug_info.prf qmake: Remove Windows CE support. 2016-03-10 13:33:44 +00:00
plugin_bundle.prf Ensure that CONFIG += plugin_bundle will create Mach-O bundles on OSX/iOS 2015-05-24 11:46:14 +00:00
precompile_header.prf Fix build with precompile headers 2014-01-14 10:38:29 +01:00
qgltf.prf don't override user-provided dependencies for our extra compilers 2016-06-23 13:25:22 +00:00
qlalr.prf fix qlalr invocation in silent builds 2016-12-07 06:54:33 +00:00
qmake_use.prf fix usage of "empty" libraries 2017-02-22 07:45:52 +00:00
qml1_module.prf mark a bunch of features as internal 2012-12-12 21:48:02 +01:00
qml1_plugin.prf mark a bunch of features as internal 2012-12-12 21:48:02 +01:00
qml_debug.prf
qml_module.prf Fix missing plugins.qmltypes in static builds 2016-08-17 15:45:51 +00:00
qml_plugin.prf stop exporting QT.*.{MAJOR,MINOR,PATCH}_VERSION in module pris 2017-02-06 16:33:18 +00:00
qmltestcase.prf qmltestcase: Allow a QML-only testcase to not require a C++ harness 2017-04-06 08:40:17 +00:00
qt_android_deps.prf make use of silent error() emission 2016-08-08 09:48:41 +00:00
qt_app.prf Windows: Automatically set metadata for all Qt apps 2017-07-31 06:19:06 +00:00
qt_build_config.prf Merge remote-tracking branch 'origin/5.8' into 5.9 2017-02-08 15:49:18 +01:00
qt_build_extra.prf Merge remote-tracking branch 'origin/5.7' into 5.8 2016-08-29 15:30:17 +02:00
qt_build_paths.prf make force_independent live up to its name 2015-11-30 14:26:23 +00:00
qt_clear_installs.prf disable install targets for non-prefix builds 2016-01-12 15:16:37 +00:00
qt_common.prf Compare versions in qmake files with versionAtLeast 2017-08-02 21:08:07 +00:00
qt_config.prf stop exporting QT.*.{libexecs,plugins,imports,qml} in module pris 2017-02-06 16:33:25 +00:00
qt_configure.prf configure: fix detection of icu in static build 2017-08-15 10:55:35 +00:00
qt_docs_targets.prf generalize references to exclusive builds 2016-07-13 14:27:07 +00:00
qt_docs.prf Automatically generate code attribution documentation 2016-08-10 06:11:18 +00:00
qt_example_installs.prf refuse to build examples inside the qt source tree stand-alone 2017-08-15 10:55:48 +00:00
qt_functions.prf Merge remote-tracking branch 'gerrit/5.8' into dev 2016-11-05 01:53:17 +01:00
qt_helper_lib.prf fix usage of "empty" libraries 2017-02-22 07:45:52 +00:00
qt_installs.prf don't include injected headers into linker version script 2016-10-14 09:00:29 +00:00
qt_module_headers.prf Compare versions in qmake files with versionAtLeast 2017-08-02 21:08:07 +00:00
qt_module_pris.prf Merge remote-tracking branch 'origin/5.8' into 5.9 2017-03-27 10:42:08 +02:00
qt_module.prf Compare versions in qmake files with versionAtLeast 2017-08-02 21:08:07 +00:00
qt_parts.prf Introduce QMAKE_CD to enable us to cd from one Windows drive to another 2016-11-14 16:03:39 +00:00
qt_plugin.prf Merge remote-tracking branch 'gerrit/dev' into HEAD 2017-02-01 21:00:55 +01:00
qt_targets.prf Make Qt's VersionInformation resource strings consistent 2017-07-03 06:02:03 +00:00
qt_tool.prf Windows: Automatically set metadata for all Qt apps 2017-07-31 06:19:06 +00:00
qt.prf fix up static linking of plugins somewhat 2017-01-19 21:48:10 +00:00
resolve_config.prf Use qtConfig throughout in qtbase 2016-08-19 04:28:05 +00:00
resolve_target.prf Merge remote-tracking branch 'origin/5.8' into dev 2017-01-25 20:06:06 +01:00
resources.prf features/resources.prf: fix use of unescaped backslash 2017-01-23 10:27:07 +00:00
sanitizer.prf Add support for gcc/clang's sanitize features 2014-10-02 19:45:00 +02:00
silent.prf Fix CONFIG+=silent for MSVC non-inference rules 2017-07-14 18:49:56 +00:00
simd.prf Add proper detection of x86 RDRAND instruction 2017-06-12 06:14:48 +00:00
spec_post.prf Introduce QMAKE_CD to enable us to cd from one Windows drive to another 2016-11-14 16:03:39 +00:00
spec_pre.prf factor out QMAKE_USE* processing to a separate prf file 2016-10-04 20:20:06 +00:00
static_runtime.prf Windows: Add -static-runtime configure option 2015-03-11 09:26:37 +00:00
testcase_targets.prf mkspecs: Add a benchmark "feature". 2016-03-02 21:24:54 +00:00
testcase.prf Merge remote-tracking branch 'origin/5.8' into dev 2016-11-17 14:43:26 +01:00
testcocoon.prf
testlib_defines.prf Fixed compilation of auto tests using vc(x)proj files 2015-05-22 14:13:00 +00:00
toolchain.prf make compiler invocation error messages mention host/target 2017-08-11 06:38:56 +00:00
uic.prf uic: Add -no-stringliteral option 2017-08-03 09:59:15 +00:00
use_c_linker.prf
vxworks.prf
warn_off.prf Distinguish between Objective-C and Objective-C++ sources 2015-10-09 15:15:17 +00:00
warn_on.prf Distinguish between Objective-C and Objective-C++ sources 2015-10-09 15:15:17 +00:00
wayland-scanner.prf System library fix for wayland-scanner 2017-03-20 14:19:59 +00:00
xctest.prf Allow using Xcode Command Line Tools to build Qt 2017-06-29 02:00:12 +00:00
yacc.prf Merge remote-tracking branch 'origin/5.6' into 5.7 2016-11-04 11:39:15 +01:00