diff options
author | Michal Klocek <michal.klocek@qt.io> | 2023-06-05 10:20:39 +0200 |
---|---|---|
committer | Michal Klocek <michal.klocek@qt.io> | 2023-07-13 15:42:10 +0000 |
commit | 14568476ff83e03a57b3a02deaa4ebe14b28cd04 (patch) | |
tree | 7449829c7f9c524d083612e46a36f8816440ab4e /cmake | |
parent | 605b0b3dcce24ff82c1e7a1ab3db7dace9668b81 (diff) |
Use 'ldir' coming from gn
Use 'ldir' response files directly and drop cmake workaround.
This also drops cmake FILE_PERMISSIONS which requires cmake 3.21
This change amends 75ae9b61967dc484e91f3dbee435045e63258c84
Task-number: QTBUG-105053
Task-number: QTBUG-111225
Fixes: QTBUG-115033
Pick-to: 6.6
Change-Id: I8d59dca3eaa842939d71727f419f66e3589d6e0a
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/Functions.cmake | 26 |
1 files changed, 3 insertions, 23 deletions
diff --git a/cmake/Functions.cmake b/cmake/Functions.cmake index eaa5a0f3d..7145c6192 100644 --- a/cmake/Functions.cmake +++ b/cmake/Functions.cmake @@ -445,6 +445,7 @@ function(add_linker_options target buildDir completeStatic) set(objects_rsp "${buildDir}/${ninjaTarget}_objects.rsp") set(archives_rsp "${buildDir}/${ninjaTarget}_archives.rsp") set(libs_rsp "${buildDir}/${ninjaTarget}_libs.rsp") + set(ldir_rsp "${buildDir}/${ninjaTarget}_ldir.rsp") set_target_properties(${cmakeTarget} PROPERTIES STATIC_LIBRARY_OPTIONS "@${objects_rsp}") if(LINUX OR ANDROID) get_gn_arch(cpu ${TEST_architecture_arch}) @@ -460,30 +461,9 @@ function(add_linker_options target buildDir completeStatic) ) endif() - # we need only the '-L' flags from lflags.rsp, filter them - set(lflags_rsp "${buildDir}/${ninjaTarget}_lflags.rsp") - set(lflags_filtered_rsp "${buildDir}/${ninjaTarget}_lflags_filtered.rsp") - set(lflags_filter_script "${buildDir}/${ninjaTarget}_lflags_filter.cmake") - file(GENERATE OUTPUT ${lflags_filter_script} - CONTENT "file(STRINGS ${lflags_rsp} lflags) - string(REGEX MATCHALL \"-L.*\" lflags_filtered \${lflags}) - file(WRITE ${lflags_filtered_rsp} \${lflags_filtered})" - FILE_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ - ) - add_custom_command( - OUTPUT ${lflags_filtered_rsp} - COMMAND ${CMAKE_COMMAND} -P ${lflags_filter_script} - DEPENDS ${lflags_filter_script} ${lflags_rsp} - ) - add_custom_target( - run_${cmakeTarget}_${config}_lflags_filter - DEPENDS ${lflags_filtered_rsp} - ) - add_dependencies(${cmakeTarget} run_${cmakeTarget}_${config}_lflags_filter) - # linker here options are just to prevent processing it by cmake target_link_libraries(${cmakeTarget} PRIVATE - "$<1:-Wl,--no-fatal-warnings $<$<CONFIG:${config}>:@${lflags_filtered_rsp}> $<$<CONFIG:${config}>:@${libs_rsp}> -Wl,--no-fatal-warnings>" + "$<1:-Wl,--no-fatal-warnings $<$<CONFIG:${config}>:@${ldir_rsp}> $<$<CONFIG:${config}>:@${libs_rsp}> -Wl,--no-fatal-warnings>" ) endif() if(MACOS) @@ -1245,7 +1225,7 @@ function(add_gn_command) file(WRITE ${gnArgArgFile} ${arg_GN_ARGS}) foreach(ninjaTarget ${arg_NINJA_TARGETS}) - list(APPEND output ${ninjaTarget}_objects.rsp ${ninjaTarget}_archives.rsp ${ninjaTarget}_libs.rsp ${ninjaTarget}_lflags.rsp) + list(APPEND output ${ninjaTarget}_objects.rsp ${ninjaTarget}_archives.rsp ${ninjaTarget}_libs.rsp ${ninjaTarget}_ldir.rsp) endforeach() list(TRANSFORM output PREPEND "${arg_BUILDDIR}/") |