> On Jan 20, 2016, at 12:02 PM, Stig Bjørlykke <s...@bjorlykke.org> wrote:
> 
> On Wed, Jan 20, 2016 at 3:48 PM, David Morsberger <d...@morsberger.com 
> <mailto:d...@morsberger.com>> wrote:
> My current workaround is the following change to CMakeLists.txt :
> -if(NOT CMAKE_C_COMPILER_ID MATCHES "MSVC")
> +if(NOT (CMAKE_C_COMPILER_ID MATCHES "MSVC" OR XCODE))
>       set(WIRESHARK_LD_FLAGS
>               -Wl,--as-needed
> 
> This is more like fixing the symptom, right?
> The real issue here is that CMake finds support for the flags while building 
> with Xcode does not.
> 

After a detailed analysis of cmake, I believe this is the solution and not just 
fixing the symptom. 

cmake uses /usr/bin/xcodebuild when using -G Xcode. The internal behavior of 
cmake is significantly different when using xcodebuild in contrast to 
generating Unix makefiles. Specifically, try_run used by CHECK_C_SOURCE_RUNS 
and try_compile used by CHECK_C_SOURCE_COMPILES do not use the environment 
variables in the same way when using the Xcode Generator.

Guy, the normal behavior of CHECK_C_SOURCE_RUNS for Unix makefiles will check 
linker flags because it does attempt to link and run the resulting executable. 
This is why ‘—-as-needed' fails when using basic cmake. 

I hope I never have to reverse engineer cmake in the future.

David
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe

Reply via email to