qt5base-lts/mkspecs/features
Stephen Kelly 8266de089c CMake: Create a Qt5::<ModuleName>Private target for each module
Make it depend on the corresponding Private target of each
dependency.  This way, user code can write

 find_package(Qt5Gui REQUIRED)

 add_executable(hello hello.cpp)

 target_link_libraries(hello Qt5::GuiPrivate)

and get the private include directories for both Qt5Core and Qt5Gui.

Don't create the Private target if any of the private include
directories do not exist.  This way, if user code uses one of the
targets, CMake will issue an error if the private include directories do
not exist.  Unfortunately the error is somewhat cryptic (eg, 'the
"Qt5::CorePrivate" was not found'), but this is still an improvement
over an error at compile time.

This is an improvement on the situation described in QTBUG-37417 using
Modern CMake features.

Change-Id: I034f8216c3ec64d1a3309682456a713cac9bf854
Reviewed-by: Kai Pastor <dg0yt@darc.de>
Reviewed-by: Stephen Kelly <steveire@gmail.com>
2016-12-23 19:24:35 +00:00
..
android make use of silent error() emission 2016-08-08 09:48:41 +00:00
data CMake: Create a Qt5::<ModuleName>Private target for each module 2016-12-23 19:24:35 +00:00
mac qmake: add support for launch images in asset catalogs 2016-12-22 22:27:46 +00:00
uikit Merge remote-tracking branch 'origin/5.8' into dev 2016-11-17 14:43:26 +01:00
unix Enable support for OpenVG 2016-11-17 15:00:00 +00:00
win32 Enable support for OpenVG 2016-11-17 15:00:00 +00:00
winrt winrt: Enable usage of static manifest files 2016-10-11 11:14:57 +00:00
benchmark.prf mkspecs: Add a benchmark "feature". 2016-03-02 21:24:54 +00:00
build_pass.prf
cmake_functions.prf
configure_base.prf make handling of built-in configure options data-driven 2016-12-13 18:55:28 +00:00
configure.prf make handling of built-in configure options data-driven 2016-12-13 18:55:28 +00:00
create_cmake.prf Get rid of the qt_no_framework setting in the CONFIG variable 2016-07-05 15:48:58 +00:00
ctest_testcase_common.prf Introduce QMAKE_CD to enable us to cd from one Windows drive to another 2016-11-14 16:03:39 +00:00
ctest_testcase_installed.prf
ctest_testcase.prf
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
default_post.prf factor out QMAKE_USE* processing to a separate prf file 2016-10-04 20:20:06 +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
exclusive_builds.prf fix xcodebuilds without -sdk iphonesimulator 2016-10-14 14:54:46 +00:00
file_copies.prf generalize references to exclusive builds 2016-07-13 14:27:07 +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
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 MinGW: reuse gcc-base.conf and g++-base.conf 2016-11-29 16:23:58 +00:00
link_pkgconfig.prf
ltcg.prf
moc.prf Merge remote-tracking branch 'origin/5.8' into dev 2016-12-16 16:38:33 +01:00
no_debug_info.prf qmake: Remove Windows CE support. 2016-03-10 13:33:44 +00:00
plugin_bundle.prf
precompile_header.prf
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 make QMAKE_USE obey QMAKE_LIBDIR_* 2016-11-16 12:05:26 +00:00
qml1_module.prf
qml1_plugin.prf
qml_debug.prf
qml_module.prf Fix missing plugins.qmltypes in static builds 2016-08-17 15:45:51 +00:00
qml_plugin.prf Get rid of simulator_and_device CONFIG option (mostly) 2016-10-16 00:11:59 +00:00
qmltestcase.prf
qt_android_deps.prf make use of silent error() emission 2016-08-08 09:48:41 +00:00
qt_app.prf make handling of qml module search path saner 2016-11-25 17:31:02 +00:00
qt_build_config.prf Merge remote-tracking branch 'origin/5.8' into dev 2016-12-13 09:39:20 +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 Enable QT_NO_NARROWING_CONVERSIONS_IN_CONNECT in Qt's own build 2016-10-21 21:52:31 +00:00
qt_config.prf
qt_configure.prf Merge remote-tracking branch 'origin/5.8' into dev 2016-12-16 16:38:33 +01: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 make handling of qml module search path saner 2016-11-25 17:31:02 +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 debug-only builds on debug-and-release platforms 2016-11-07 13:02:44 +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 Add -Wdouble-promotion to headersclean 2016-11-30 17:04:17 +00:00
qt_module_pris.prf Merge remote-tracking branch 'origin/5.7' into 5.8 2016-11-01 06:02:55 +01:00
qt_module.prf Allow checking for the existence of modules in configure.json 2016-11-14 19:22:03 +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 Get rid of simulator_and_device CONFIG option (mostly) 2016-10-16 00:11:59 +00:00
qt_targets.prf
qt_tool.prf write HOST_QT_TOOLS to qmodule.pri instead of qhost.pri 2016-12-13 18:55:48 +00:00
qt.prf Merge remote-tracking branch 'origin/5.8' into dev 2016-12-13 09:39:20 +01:00
resolve_config.prf Use qtConfig throughout in qtbase 2016-08-19 04:28:05 +00:00
resolve_target.prf qmake: handle QMAKE_PLUGIN_BUNDLE_NAME in resolve_target.prf 2016-08-25 11:02:47 +00:00
resources.prf make use of silent error() emission 2016-08-08 09:48:41 +00:00
sanitizer.prf
silent.prf
simd.prf configure: Add support for detecting AVX512 instructions 2015-09-25 20:29:22 +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
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
toolchain.prf move qdevice.pri creation to qmake-based configure system 2016-12-13 18:56:28 +00:00
uic.prf don't override user-provided dependencies for our extra compilers 2016-06-23 13:25:22 +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 don't override user-provided dependencies for our extra compilers 2016-06-23 13:25:22 +00:00
xctest.prf
yacc.prf Merge remote-tracking branch 'origin/5.6' into 5.7 2016-11-04 11:39:15 +01:00