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 Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
cmake_functions.prf Remove leading '/' from target paths. 2013-11-27 08:24:50 +01:00
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 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 de-duplicate dbusadaptors.prf vs. dbusinterfaces.prf 2012-08-04 00:52:38 +02:00
dbuscommon.pri don't override user-provided dependencies for our extra compilers 2016-06-23 13:25:22 +00:00
dbusinterfaces.prf de-duplicate dbusadaptors.prf vs. dbusinterfaces.prf 2012-08-04 00:52:38 +02:00
declarative_debug.prf Rename quick1_debug back to declarative_debug 2012-10-04 03:03:00 +02:00
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 dispose of library-bound feature files 2012-06-19 16:39:52 +02:00
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 turn off exceptions by default where they aren't required 2012-05-17 05:14:26 +02:00
exceptions.prf turn off exceptions by default where they aren't required 2012-05-17 05:14:26 +02:00
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 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 Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
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 MinGW: reuse gcc-base.conf and g++-base.conf 2016-11-29 16:23:58 +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 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 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 make QMAKE_USE obey QMAKE_LIBDIR_* 2016-11-16 12:05:26 +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 Rename the 'declarative debug support' to 'qml debug support' 2012-03-31 16:33:04 +02:00
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 Distinguish between 'mac' and 'macx' qmake scopes 2013-03-05 20:59:45 +01:00
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 support spaces in build and install dirs 2015-02-17 18:28:00 +00:00
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 Update copyright headers 2015-02-11 06:49:51 +00:00
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 Add support for gcc/clang's sanitize features 2014-10-02 19:45:00 +02:00
silent.prf Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
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 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 fix host vs. makefile directory separator mess 2012-07-28 00:09:45 +02:00
testlib_defines.prf Fixed compilation of auto tests using vc(x)proj files 2015-05-22 14:13:00 +00:00
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 Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
vxworks.prf Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
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 testlib: Don't limit linking to XCTest to Xcode projects 2015-03-30 13:26:58 +00:00
yacc.prf Merge remote-tracking branch 'origin/5.6' into 5.7 2016-11-04 11:39:15 +01:00