Hi All,

I am running into some issues with some Carbon stuff that is not avail under 64-bit, but is for 32-but.

Items like:

framework/CP_Types.h(304): error: identifier "CIconHandle" is undefined
        typedef CIconHandle                             OSColorIcon;            
        // Mac CIcon

But I am doing in CP_Types.h:

#if TARGET_OS_MAC || (__APPLE__)
        #include <Carbon/Carbon.h>
#endif

#if TARGET_OS_MAC || (__APPLE__)
        typedef Handle                                  OSMenuBar;              
                // Handle to Mac Menu Bar
        typedef MenuRef                                 OSMenu;                 
                // Opaque reference to Mac Menu
        typedef WindowRef                               OSWindow;               
                // Opaque reference to Mac Window
        typedef Handle                                  OSHandle;               
                // Mac Handle
        typedef ControlRef                              OSControl;              
                // Opaque reference to Mac Control
        typedef Ptr                                             OSPtr;          
                        // Mac memory Ptr
        typedef SInt16                                  OSFileRef;              
                // Mac file reference number
        typedef IconRef                                 OSIconRef;              
                // Mac IconRef
        typedef FSVolumeRefNum                  OSVolume;                       
        // Mac volume ref num
        typedef WindowClass                     OSWindowClass;                  
// Mac WindowClass
        
        typedef CGContextRef                    OSCGContextRef;                 
// Mac Quartz context ref

        typedef DataBrowserItemID               OSDataBrowserItemID;            
// DataBrowser item id
typedef DataBrowserPropertyID OSDataBrowserPropertyID; // DataBrowser property id typedef DataBrowserItemDataRef OSDataBrowserItemDataRef; // DataBrowserItemDataRef

        #pragma warning "TODO -- No QuickDraw for what OS 10.5???"
        typedef GrafPtr                                 OSGraphicsPort;         
        // Mac GrafPtr
        typedef GWorldPtr                               OSImageList;            
        // Mac GWorld containing images
        typedef CIconHandle                             OSColorIcon;            
        // Mac CIcon
        typedef Handle                                  OSIconSuite;            
        // Mac Icon Suite Handle
        typedef PicHandle                               OSPicture;              
                // Mac Picture Handle
        typedef RgnHandle                               OSRegion;               
                // Mac Region
#endif

I must be missing something fundamental here.

CIconHandle is avail, but not under 64-bit. Which leads me to believe that I am doing something wrong in my CMakeLists.

I have an initial cache of:

# Apple Specific
set (CMAKE_OSX_SYSROOT=/Developer/SDKs/MacOSX10.4u.sdk)
set (CMAKE_OSX_DEPLOYMENT_TARGET=10.4)
set (CMAKE_OSX_ARCHITECTURES="i386;ppc")

Then in my CMakeLists.txt I have enclosed in an iF(APPLE):

set (CMAKE_OSX_SYSROOT=/Developer/SDKs/MacOSX10.4u.sdk)
set (CMAKE_OSX_DEPLOYMENT_TARGET=10.4)
set (CMAKE_OSX_ARCHITECTURES="i386;ppc")

# solution to issue #6195 will hopefully make it into new versions of CMake
if( ${CMAKE_VERSION} VERSION_LESS 2.6.5 )
        #default CMAKE_OSX_DEPLOYMENT_TARGET to the SDK version
        #set( CMAKE_OSX_DEPLOYMENT_TARGET ${SDK_VER} CACHE STRING
#"Minimum OS X version to target for deployment (at runtime) newer APIs weak linked. Set to empty string for default value.")

        foreach( var CMAKE_C_FLAGS CMAKE_CXX_FLAGS CMAKE_EXE_LINKER_FLAGS
        CMAKE_SHARED_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS )
set( ${var} "${${var}} -mmacosx-version-min=$ {CMAKE_OSX_DEPLOYMENT_TARGET}" )
        endforeach( var )
endif( ${CMAKE_VERSION} VERSION_LESS 2.6.5 )

# only want to find frameworks
set(CMAKE_FIND_FRAMEWORK ONLY)
find_library(CARBON_FRAMEWORK Carbon)

I obviously run CMake as: cmake -Cinitialcache.cmake .

Everything works as expected in XCode.

If anyone has any thoughts I would appreciate them.

-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