diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2021-12-16 13:25:43 +0100 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2022-01-18 14:28:57 +0100 |
commit | 9198a9b8cc8df04ad130410a9c9f32de2b7b2335 (patch) | |
tree | 8244409b0547ce2c02ce2fe2dc7472786984fc57 /cmake/QtBaseConfigureTests.cmake | |
parent | d6066d53fa70e1736ca64d468605a4a430644400 (diff) |
CMake: Fix qt_run_linker_version_script_support to use active linker
The version script compile test did not use the linker that the build
system determined to use to link Qt, but rather the system linker.
Run qt_run_linker_version_script_support only after the global qtbase
features have been evaluated and make sure to include the active
linker flags.
Pick-to: 6.2 6.3
Change-Id: I0ff82406828daaf0dc5ec25a55f53ac7d98e3347
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Diffstat (limited to 'cmake/QtBaseConfigureTests.cmake')
-rw-r--r-- | cmake/QtBaseConfigureTests.cmake | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/cmake/QtBaseConfigureTests.cmake b/cmake/QtBaseConfigureTests.cmake index ae16e8e53b..618554e16c 100644 --- a/cmake/QtBaseConfigureTests.cmake +++ b/cmake/QtBaseConfigureTests.cmake @@ -118,6 +118,13 @@ VERS_1; set(CMAKE_REQUIRED_FLAGS "") endif() set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} "-Wl,--version-script=\"${CMAKE_CURRENT_BINARY_DIR}/version_flag.map\"") + + # Pass the linker that the main project uses to the version script compile test. + qt_internal_get_active_linker_flags(linker_flags) + if(linker_flags) + set(CMAKE_REQUIRED_LINK_OPTIONS ${linker_flags}) + endif() + check_cxx_source_compiles("int main(void){return 0;}" HAVE_LD_VERSION_SCRIPT) if(DEFINED CMAKE_REQUIRED_FLAGS_SAVE) set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS_SAVE}) @@ -164,7 +171,6 @@ endfunction() function(qt_run_qtbase_config_tests) qt_run_config_test_architecture() - qt_run_linker_version_script_support() qt_internal_ensure_latest_win_nt_api() endfunction() |