[CMake] Linking against OS X Frameworks

ML mailinglists at MailNewsRSS.com
Fri Aug 7 18:33:05 EDT 2009


Hi All,

Continuing this conversation

>> Folks, CMake is framework aware.   You don't need to add the -F  
>> stuff. You can either use a full path to a framework in  
>> include_directories or
>> in target_link_libraries.   Find_library will also find frameworks.
>>
>> The following will work:
>>
>> 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
/Volumes/Data/jtsm/Checkout/Universal GUI/source/thirdparty/OSX/ 
MoreFilesX/MoreFilesX.c: In function ‘FSGetVolParms’:
/Volumes/Data/jtsm/Checkout/Universal GUI/source/thirdparty/OSX/ 
MoreFilesX/MoreFilesX.c:231: error: ‘HParamBlockRec’ undeclared (first  
use in this function)
/Volumes/Data/jtsm/Checkout/Universal GUI/source/thirdparty/OSX/ 
MoreFilesX/MoreFilesX.c:231: error: (Each undeclared identifier is  
reported only once

There is definitely something key that I am missing here...what is it?

-Jason



More information about the CMake mailing list