Hi Michael,

Thank you for your reply.

What is the best way to do that exactly? I am in cluding Carbon/ Carbon.h in my source files. but I guess CMAKE needs to know where to fine them too. moving form XCode is harder than I thought it would be.

include_directories (${CMAKE_OSX_SYSROOT}/Developer/Headers/ FlatCarbon)

Then in your code you can do #include <Carbon.h>

Although I am not really sure this is the "correct" way to do this.

I think you should be really looking for the "Carbon.framework" and then using that..

I am getting more confused! This works in XCode for me, it is just two files.

Does anyone have an example CMake file that includes Crbon headers, links agains the carbon framework, etc? What I am doing is obviously wrong


I just tried it with CMake 2.6.3 and as you reported, find_library finds Carbon.framework just fine, but the target_link_libraries command just drops it again. IMHO, what it actually should do (expressed in CMake-code) the following


get_filename_component( FRAMEWORK_DIR ${CARBON_LIBRARY} PATH )
get_filename_component( FRAMEWORK_NAME ${CARBON_LIBRARY} NAME_WE )

set_target_properties( someTarget PROPERTIES
COMPILE_FLAGS "-F ${FRAMEWORK_DIR}"
LINK_FLAGS "-F ${FRAMEWORK_DIR} -framework ${FRAMEWORK_NAME}"
)


I.e. it should add the directory containing the framework to the framework search path (such that things like #include <Carbon/ Carbon.h> work) and then add "-framework Carbon" to the link command.


Of course, if everything is installed in standard locations, this is unnecessary...

I am running: cmake version 2.6-patch 4

I am confused still. you say if everything is installed in standard locations this is unnecessary. Yes, everything is a standard plain vanilla OS X install.

So everything you just did above is unnecessary then?

Here is what I have now:

        if (APPLE)
                SET(MOREFILESX_HEADERS 
source/thirdparty/OSX/MoreFilesX/MoreFilesX.h)
        
                SET(MOREFILESX_SOURCES 
source/thirdparty/OSX/MoreFilesX/MoreFilesX.c)
                
                FIND_LIBRARY (CARBON_LIBRARY Carbon.framework)
                MARK_AS_ADVANCED (CARBON_LIBRARY)
                
                get_filename_component( FRAMEWORK_DIR ${CARBON_LIBRARY} PATH )
                get_filename_component( FRAMEWORK_NAME ${CARBON_LIBRARY} 
NAME_WE )
                
                ADD_LIBRARY (MoreFilesX ${MOREFILESX_SOURCES} 
${MOREFILESX_HEADERS})
                set_target_properties( MoreFilesX PROPERTIES
                 COMPILE_FLAGS "-F ${FRAMEWORK_DIR}"
                 LINK_FLAGS "-F ${FRAMEWORK_DIR} -framework ${FRAMEWORK_NAME}"
                )
                
        ENDIF (APPLE)

I still get the same compile errors as before. But works using Xcode for me.

Is there another resource as I can't find an example of these basic things on the wiki. Even Google searching is not really turning up much. I did find:http://www.vtk.org/Wiki/ CMake:HowToUseExistingOSXFrameworks which is how I structured my first example but alas nothing. Even for this list I few people replied with ideas none that seem to work.

I would appreciate pointers!

-Jason
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to