diff options
author | Li Xinwei <1326710505@qq.com> | 2020-12-03 23:24:18 +0800 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2020-12-04 09:19:06 +0000 |
commit | 0a23cab457ac3a43afb048844fb586eb60a3f88a (patch) | |
tree | 721ae3f80f1b6f69d966db0e4bd813c07b0a7744 | |
parent | 56d41d9b8b693eba38cf41aa5292843089f2361f (diff) |
CMake: Avoid MSVC C4996 warnings
The qmake build system defines _CRT_SECURE_NO_WARNINGS in
mkspecs/features/qt_module.prf, the cmake build system should do the
same thing in qt_internal_add_module().
Adding this definition can avoid warnings like:
warning C4996: 'strncpy': This function or variable may be unsafe.
As a special case, Bootstrap uses add_library() instead of
qt_internal_add_module(), so _CRT_SECURE_NO_WARNINGS should also be
defined in src/tools/bootstrap/CMakeLists.txt.
Change-Id: Ic82193d177f82785fd84948efa78c49ca8d8db46
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 013abe320680b3dcd3f6d7e4fb4880e590ba10e6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | cmake/QtModuleHelpers.cmake | 4 | ||||
-rw-r--r-- | src/tools/bootstrap/CMakeLists.txt | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/cmake/QtModuleHelpers.cmake b/cmake/QtModuleHelpers.cmake index 1a482ff81b..2c03917f32 100644 --- a/cmake/QtModuleHelpers.cmake +++ b/cmake/QtModuleHelpers.cmake @@ -341,6 +341,10 @@ function(qt_internal_add_module target) ) endif() + if(MSVC) + list(APPEND defines_for_extend_target _CRT_SECURE_NO_WARNINGS) + endif() + qt_internal_extend_target("${target}" ${header_module} SOURCES ${arg_SOURCES} diff --git a/src/tools/bootstrap/CMakeLists.txt b/src/tools/bootstrap/CMakeLists.txt index 3cbeae6dc1..218d634683 100644 --- a/src/tools/bootstrap/CMakeLists.txt +++ b/src/tools/bootstrap/CMakeLists.txt @@ -268,4 +268,9 @@ set_target_properties(Bootstrap PROPERTIES AUTOMOC OFF AUTOUIC OFF AUTORCC OFF) qt_internal_add_target_aliases(Bootstrap) qt_set_msvc_cplusplus_options(Bootstrap PUBLIC) qt_internal_apply_intel_cet(Bootstrap PUBLIC) + +qt_internal_extend_target(Bootstrap CONDITION MSVC + DEFINES + _CRT_SECURE_NO_WARNINGS +) # special case end |