Enable UNICODE for all Qt targets and Qt consumers by default
After discussion we decided to opt-out the UNICODE definintion behavior. To disable UNICODE in user projects the qt6_disable_unicode_defines function could be used. Amends 5b64e5950cf984abb7d47e0802bcb4b5a21e06fa [ChangeLog][CMake] Enables the UNICODE and _UNICODE definitions on WIN32 platforms by default for all cmake projects to reflect the qmake behavior. Use qt6_disable_unicode_defines function to disable the default unicode definitions. Fixes: QTBUG-93895 Change-Id: Id70ff7dcf8c74f660ec851f8b950e1e3b94d9fb4 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 715041b663ababa8b36f90978d20bdcdd80e3117) Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
parent
28431c02c2
commit
9e908fc57a
@ -260,6 +260,15 @@ function(qt_enable_utf8_sources target)
|
|||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
function(qt_internal_enable_unicode_defines)
|
||||||
|
if(WIN32)
|
||||||
|
set(no_unicode_condition
|
||||||
|
"$<NOT:$<BOOL:$<TARGET_PROPERTY:QT_NO_UNICODE_DEFINES>>>")
|
||||||
|
target_compile_definitions(Platform
|
||||||
|
INTERFACE "$<${no_unicode_condition}:UNICODE;_UNICODE>")
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
# Saves the list of known optimization flags for the current compiler in out_var.
|
# Saves the list of known optimization flags for the current compiler in out_var.
|
||||||
#
|
#
|
||||||
# Mostly used for removing them before adding new ones.
|
# Mostly used for removing them before adding new ones.
|
||||||
|
@ -147,14 +147,11 @@ elseif(UIKIT)
|
|||||||
target_compile_definitions(PlatformCommonInternal INTERFACE GLES_SILENCE_DEPRECATION)
|
target_compile_definitions(PlatformCommonInternal INTERFACE GLES_SILENCE_DEPRECATION)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WIN32)
|
if(MSVC)
|
||||||
target_compile_definitions(PlatformCommonInternal INTERFACE "UNICODE;_UNICODE")
|
target_compile_definitions(PlatformCommonInternal INTERFACE
|
||||||
if(MSVC)
|
"_CRT_SECURE_NO_WARNINGS"
|
||||||
target_compile_definitions(PlatformCommonInternal INTERFACE
|
"$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,SHARED_LIBRARY>:_WINDLL>"
|
||||||
"_CRT_SECURE_NO_WARNINGS"
|
)
|
||||||
"$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,SHARED_LIBRARY>:_WINDLL>"
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(UIKIT)
|
if(UIKIT)
|
||||||
|
@ -30,4 +30,6 @@ function(qt_internal_setup_public_platform_target)
|
|||||||
# By default enable utf8 sources for both Qt and Qt consumers. Can be opted out.
|
# By default enable utf8 sources for both Qt and Qt consumers. Can be opted out.
|
||||||
qt_enable_utf8_sources(Platform)
|
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()
|
endfunction()
|
||||||
|
@ -1785,3 +1785,14 @@ properties of both types."
|
|||||||
)
|
)
|
||||||
endforeach()
|
endforeach()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
# Disables the default unicode definitions for the target
|
||||||
|
function(qt6_disable_unicode_defines target)
|
||||||
|
set_target_properties(${target} PROPERTIES QT_NO_UNICODE_DEFINES TRUE)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
if(NOT QT_NO_CREATE_VERSIONLESS_FUNCTIONS)
|
||||||
|
function(qt_disable_unicode_defines)
|
||||||
|
qt6_disable_unicode_defines(${ARGV})
|
||||||
|
endfunction()
|
||||||
|
endif()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user