cmake: drop CMAKE_STATIC_LINKER_FLAGS (#40423)

Because those end up being passed to ar which does not understand linker
arguments. This was making ldflags largely unusuable for statically
linked cmake packages.
This commit is contained in:
Victor Brunini 2023-10-11 14:30:44 -07:00 committed by GitHub
parent 89e34d56a1
commit 7a4b479724
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 4 deletions

View File

@ -142,10 +142,10 @@ def flags_to_build_system_args(self, flags):
# We specify for each of them.
if flags["ldflags"]:
ldflags = " ".join(flags["ldflags"])
ld_string = "-DCMAKE_{0}_LINKER_FLAGS={1}"
# cmake has separate linker arguments for types of builds.
for type in ["EXE", "MODULE", "SHARED", "STATIC"]:
self.cmake_flag_args.append(ld_string.format(type, ldflags))
self.cmake_flag_args.append(f"-DCMAKE_EXE_LINKER_FLAGS={ldflags}")
self.cmake_flag_args.append(f"-DCMAKE_MODULE_LINKER_FLAGS={ldflags}")
self.cmake_flag_args.append(f"-DCMAKE_SHARED_LINKER_FLAGS={ldflags}")
# CMake has libs options separated by language. Apply ours to each.
if flags["ldlibs"]:

View File

@ -121,7 +121,6 @@ def test_ld_flags_cmake(self, temp_env):
"-DCMAKE_EXE_LINKER_FLAGS=-mthreads",
"-DCMAKE_MODULE_LINKER_FLAGS=-mthreads",
"-DCMAKE_SHARED_LINKER_FLAGS=-mthreads",
"-DCMAKE_STATIC_LINKER_FLAGS=-mthreads",
}
def test_ld_libs_cmake(self, temp_env):