478f5fcde6
Platform definition directory is defined when building qtbase. Depending on the build type (prefixed/non-prefixed) it should point: - To the source directory when building prefixed qtbase. - To the installation directory of the prefixed qtbase when building consumer projects. - To the build directory of non-prefixed qtbase when building non-prefixed qtbase or consumer projects. TODO: It is desirable to move the logic asssociated with Qt platform definition to the qt_internal_setup_public_platform_target function. Pick-to: 6.1 6.2 Fixes: QTBUG-94973 Change-Id: I8530613f9b2029834c66206bbdf02475528a4640 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
36 lines
1.5 KiB
CMake
36 lines
1.5 KiB
CMake
# Defines the public Qt::Platform target, which serves as a dependency for all internal Qt target
|
|
# as well as user projects consuming Qt.
|
|
function(qt_internal_setup_public_platform_target)
|
|
## QtPlatform Target:
|
|
add_library(Platform INTERFACE)
|
|
add_library(Qt::Platform ALIAS Platform)
|
|
add_library(${INSTALL_CMAKE_NAMESPACE}::Platform ALIAS Platform)
|
|
target_include_directories(Platform
|
|
INTERFACE
|
|
$<BUILD_INTERFACE:${QT_PLATFORM_DEFINITION_BUILD_INTERFACE_DIR}>
|
|
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include>
|
|
$<INSTALL_INTERFACE:${QT_PLATFORM_DEFINITION_DIR}>
|
|
$<INSTALL_INTERFACE:${INSTALL_INCLUDEDIR}>
|
|
)
|
|
target_compile_definitions(Platform INTERFACE ${QT_PLATFORM_DEFINITIONS})
|
|
|
|
# When building on android we need to link against the logging library
|
|
# in order to satisfy linker dependencies. Both of these libraries are part of
|
|
# the NDK.
|
|
if (ANDROID)
|
|
target_link_libraries(Platform INTERFACE log)
|
|
endif()
|
|
|
|
qt_set_msvc_cplusplus_options(Platform INTERFACE)
|
|
|
|
# Propagate minimum C++ 17 via Platform to Qt consumers (apps), after the global features
|
|
# are computed.
|
|
qt_set_language_standards_interface_compile_features(Platform)
|
|
|
|
# By default enable utf8 sources for both Qt and Qt consumers. Can be opted out.
|
|
qt_enable_utf8_sources(Platform)
|
|
|
|
# By default enable unicode on WIN32 platforms for both Qt and Qt consumers. Can be opted out.
|
|
qt_internal_enable_unicode_defines(Platform)
|
|
endfunction()
|