Make version_tagging the full-functional feature

This feature allows to explicitly disable the version tagging for Qt
libraries and have the precise feature-based guarding in C++ code.

Task-number: QTBUG-124346
Change-Id: If109adb2f6a998c58825a2449cfb936ea278b2ad
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
Alexey Edelev 2024-04-25 20:13:10 +02:00
parent 31de589906
commit e820ff8301
4 changed files with 13 additions and 2 deletions

View File

@ -203,8 +203,16 @@ if(NOT QT_CONFIGURE_RUNNING)
qt_evaluate_feature(use_gold_linker)
qt_evaluate_feature(use_lld_linker)
qt_evaluate_feature(use_mold_linker)
qt_run_linker_version_script_support()
endif()
qt_feature("version_tagging"
PUBLIC
AUTODETECT TRUE
CONDITION TEST_ld_version_script OR APPLE OR WIN32
)
qt_feature_definition("version_tagging" "QT_NO_VERSION_TAGGING" NEGATE)
#### Tests

View File

@ -456,7 +456,7 @@ endif()
set(core_version_tagging_files
global/qversiontagging.cpp)
qt_internal_extend_target(Core
CONDITION TEST_ld_version_script OR APPLE OR WIN32
CONDITION QT_FEATURE_version_tagging
SOURCES ${core_version_tagging_files}
)

View File

@ -67,8 +67,9 @@
#include <QtCore/qtresource.h>
#include <QtCore/qttranslation.h>
#include <QtCore/qttypetraits.h>
#if QT_CONFIG(version_tagging)
#include <QtCore/qversiontagging.h>
#endif
#endif /* __cplusplus */
#endif /* QGLOBAL_H */

View File

@ -13,6 +13,8 @@
#include <QtCore/qtversionchecks.h>
#include <QtCore/qtypes.h>
QT_REQUIRE_CONFIG(version_tagging);
QT_BEGIN_NAMESPACE
/*