summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2023-06-05 10:20:39 +0200
committerMichal Klocek <michal.klocek@qt.io>2023-07-13 15:42:10 +0000
commit14568476ff83e03a57b3a02deaa4ebe14b28cd04 (patch)
tree7449829c7f9c524d083612e46a36f8816440ab4e /cmake
parent605b0b3dcce24ff82c1e7a1ab3db7dace9668b81 (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.cmake26
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}/")