[CMake] Linking against OS X Frameworks
ML
mailinglists at MailNewsRSS.com
Sat Aug 8 10:05:54 EDT 2009
Michael,
>>>> find_library(CARBON NAMES Carbon)
>>>> add_executable(foo foo.cxx)
>>>> target_link_libraries(foo ${CARBON})
>>
>> If I do this, I get my compile errors referencing lack of Carbon
>> Framework like:
>>
>> In file included from /Volumes/Data/jtsm/Checkout/Universal GUI/
>> source/thirdparty/OSX/MoreFilesX/MoreFilesX.c:82:
>> /Volumes/Data/jtsm/Checkout/Universal GUI/source/thirdparty/OSX/
>> MoreFilesX/MoreFilesX.h:1494: error: conflicting types for
>> ‘FSVolumeMount’
>> /System/Library/Frameworks/CoreServices.framework/Frameworks/
>> CarbonCore.framework/Headers/Files.h:7323: error: previous
>> declaration of ‘FSVolumeMount’ was here
>
> This is a compile error, and has nothing to do with linking.
>
> Problem is, you have FSVolumeMount declared in thirdparty/OSX/
> MoreFilesX/MoreFilesX.c, which, however, is also a function in
> Carbon. So you have simple name clash. The issue you are facing
> might be that FSVolumeMount was introduced in Mac OSX 10.5, and the
> clash didn't happen on 10.4.
But It works in XCode just fine, same code, nothing changed. I will
send you the example I am trying to move to CMake so that you an see
it. Maybe I am missing something being set in CMake to make it work.
-Jason
More information about the CMake
mailing list