From ddd1c87d43781533c3ec10279857e3870d12437e Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Sun, 30 Oct 2016 19:46:56 +0100 Subject: cmake: avoid leading space in linker options This causes problems with cmake 2.8.9, which ships with Debian Wheezy. Reorder the linker options to avoid a leading space. According to GNU ld's manual, the order of linker options on the command line does not matter. This should be the same for Visual Studio's cl.exe and for clang's linker. See https://www.wireshark.org/lists/wireshark-dev/201604/msg00141.html for more details about the problem. Change-Id: Ieaf7425600d394f365b01747747665233693fea2 Reviewed-on: https://code.wireshark.org/review/18581 Petri-Dish: Martin Kaiser Tested-by: Petri Dish Buildbot Reviewed-by: Martin Kaiser --- cmake/modules/CheckCLinkerFlag.cmake | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'cmake') diff --git a/cmake/modules/CheckCLinkerFlag.cmake b/cmake/modules/CheckCLinkerFlag.cmake index 120471f182..d1723bae3b 100644 --- a/cmake/modules/CheckCLinkerFlag.cmake +++ b/cmake/modules/CheckCLinkerFlag.cmake @@ -33,6 +33,7 @@ MACRO (CHECK_C_LINKER_FLAG _FLAG _RESULT) # set CMAKE_EXE_LINKER_FLAGS. # set(save_CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES}") + set(CMAKE_REQUIRED_LIBRARIES "${_FLAG}") if(CMAKE_C_COMPILER_ID MATCHES "MSVC") # # This means the linker is presumably the Microsoft linker; @@ -40,16 +41,16 @@ MACRO (CHECK_C_LINKER_FLAG _FLAG _RESULT) # rather than just complaining and driving on, if it's # passed a flag it doesn't handle. # - set(CMAKE_REQUIRED_LIBRARIES "/WX") + set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES} /WX") elseif(CMAKE_C_COMPILER_ID MATCHES "Clang") # # We'll be running the linker through the compiler driver, so # we may need to pass -Werror=unused-command-line-argument to have it # fail, rather than just complaining and driving on, if it's # passed a flag it doesn't handle. - set(CMAKE_REQUIRED_LIBRARIES "-Werror=unused-command-line-argument") + set(CMAKE_REQUIRED_LIBRARIES + "${CMAKE_REQUIRED_LIBRARIES} -Werror=unused-command-line-argument") endif() - set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES} ${_FLAG}") message(status "check linker flag - test linker flags: ${_FLAG}") check_c_source_compiles("int main() { return 0;}" ${_RESULT}) set(CMAKE_REQUIRED_LIBRARIES "${save_CMAKE_REQUIRED_LIBRARIES}") -- cgit v1.2.1