Add docs for qt_allow_non_utf8_sources()

Task-number: QTBUG-95712
Change-Id: Ie09785ced5b2bf8098ccff3467f32244f32f9195
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 30e2f51dab3dbf86f81b299eea515872e10286ef)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Craig Scott 2021-09-20 15:01:48 +10:00 committed by Qt Cherry-pick Bot
parent 660b0ef93b
commit 2c9a2db08d
3 changed files with 55 additions and 3 deletions

View File

@ -2187,9 +2187,6 @@ if(NOT QT_NO_CREATE_VERSIONLESS_FUNCTIONS)
endfunction()
endif()
# By default Qt6 forces usage of utf8 sources for consumers of Qt.
# Users can opt out of utf8 sources by calling this function with the target name of their
# application or library.
function(qt6_allow_non_utf8_sources target)
set_target_properties("${target}" PROPERTIES QT_NO_UTF8_SOURCE TRUE)
endfunction()

View File

@ -0,0 +1,54 @@
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/
/*!
\page qt_allow_non_utf8_sources.html
\ingroup cmake-macros-qtcore
\title qt_allow_non_utf8_sources
\target qt6_allow_non_utf8_sources
\brief Prevent forcing source files to be treated as UTF-8 for Windows.
\section1 Synopsis
\badcode
qt_allow_non_utf8_sources(target)
\endcode
\versionlessCMakeCommandsNote qt6_allow_non_utf8_sources()
\section1 Description
When building with some compilers for Windows, targets that link to a Qt library
will use flags that force the compiler to treat its source files as UTF-8. This
is currently implemented for Visual Studio and Intel compilers. You can disable
this behavior on a per-target basis by calling \c{qt_allow_non_utf8_sources()}
and passing the target as the argument.
\sa {qt6_disable_unicode_defines}{qt_disable_unicode_defines()}
*/

View File

@ -50,4 +50,5 @@ qmake behavior, but it is a change compared to the CMake API behavior in Qt 5.
Calling \c{qt_disable_unicode_defines()} on a \c target prevents these compiler
definitions from being automatically set.
\sa {qt6_allow_non_utf8_sources}{qt_allow_non_utf8_sources()}
*/