How to set up CMake to build an app for the iPhone

前端 未结 3 660
栀梦
栀梦 2020-12-02 07:55

This is closely related to my previous question, which was about using CMake to build a static library on the iPhone. I got that to work setting the CMAKE_OSX_SYSROOT<

3条回答
  •  感情败类
    2020-12-02 08:19

    For frameworks, I found this message http://www.mail-archive.com/cmake@cmake.org/msg24659.html I grabbed enough information for this:

    SET(TARGETSDK iPhoneOS3.1.2.sdk)
    SET(CMAKE_OSX_SYSROOT /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/${TARGETSDK})
    macro(ADD_FRAMEWORK fwname appname)
        find_library(FRAMEWORK_${fwname}
            NAMES ${fwname}
            PATHS ${CMAKE_OSX_SYSROOT}/System/Library
            PATH_SUFFIXES Frameworks
            NO_DEFAULT_PATH)
        if( ${FRAMEWORK_${fwname}} STREQUAL FRAMEWORK_${fwname}-NOTFOUND)
            MESSAGE(ERROR ": Framework ${fwname} not found")
        else()
            TARGET_LINK_LIBRARIES(${appname} ${FRAMEWORK_${fwname}})
            MESSAGE(STATUS "Framework ${fwname} found at ${FRAMEWORK_${fwname}}")
        endif()
    endmacro(ADD_FRAMEWORK)
    

    Instead of setting CMAKE_EXE_LINKER_FLAGS, now I do:

    ADD_FRAMEWORK(AudioToolbox MyApp)
    ADD_FRAMEWORK(CoreGraphics MyApp)
    ADD_FRAMEWORK(QuartzCore MyApp)
    ADD_FRAMEWORK(UIKit MyApp)
    

    This does work for OpenGLES as well.

提交回复
热议问题