Não é possível vincular estruturas do MacOS ao CMake
Estou tentando construir um subprojeto com cmake (énão um projeto xcode ou até mesmo um aplicativo para iphone, o resultado é o executável do console multiplataforma, que #inclui algumas classes abstratas herdadas de C ++, escritas em object-c ++)
Eu estou usando este guia para vincular estruturas do Mac OS:http://www.vtk.org/Wiki/CMake:HowToUseExistingOSXFrameworks
e esta macro:
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)
Esta é a parte importante no CMakeLists.txt
project(myprojectname)
........
add_executable(mytarget src/mytarget.cpp)
add_framework(CoreMedia mytarget)
add_framework(CoreVideo mytarget)
add_framework(AVFoundation mytarget)
add_framework(Foundation mytarget)
........
E é isso que tenho ao tentar construir:
WARNING: Target "mytarget" requests linking to directory "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/CoreMedia.framework". Targets may link only to libraries. CMake is dropping the item.
WARNING: Target "mytarget" requests linking to directory "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/CoreVideo.framework". Targets may link only to libraries. CMake is dropping the item.
WARNING: Target "mytarget" requests linking to directory "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/AVFoundation.framework". Targets may link only to libraries. CMake is dropping the item.
WARNING: Target "mytarget" requests linking to directory "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/Foundation.framework". Targets may link only to libraries. CMake is dropping the item.
Na verdade, ele encontra todas essas estruturas, mas não pode vincular, o que produz muitos erros de vinculação. Tenho certeza que essa é a razão porque eu fiz um testproj usando o XCode e ele tem os mesmos erros até que eu liguei todas as estruturas necessárias.
Quando eu apenas uso
FIND_LIBRARY(COREMEDIA_LIB CoreMedia)
...
entãoCOREMEDIA_LIB
está configurado paraNOTFOUND
- o que está acontecendo? : /
Eu pesquisei muito, mas nada :( Sentindo-me praticamente perdido lá.