diff --git a/configure.cmake b/configure.cmake index d062bce8b86..b91260015f2 100644 --- a/configure.cmake +++ b/configure.cmake @@ -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 diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt index e1fb0d7e393..ce3def3cd64 100644 --- a/src/corelib/CMakeLists.txt +++ b/src/corelib/CMakeLists.txt @@ -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} ) diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h index 1009057badf..2d70e82370d 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -67,8 +67,9 @@ #include #include #include +#if QT_CONFIG(version_tagging) #include - +#endif #endif /* __cplusplus */ #endif /* QGLOBAL_H */ diff --git a/src/corelib/global/qversiontagging.h b/src/corelib/global/qversiontagging.h index 965d53e88fb..fa2dd237286 100644 --- a/src/corelib/global/qversiontagging.h +++ b/src/corelib/global/qversiontagging.h @@ -13,6 +13,8 @@ #include #include +QT_REQUIRE_CONFIG(version_tagging); + QT_BEGIN_NAMESPACE /*