> 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