[cmake-developers] [CMake 0013397]: frameworks are not transitive like libraries in the project dependency graph

Mantis Bug Tracker mantis at public.kitware.com
Thu Jul 12 17:05:11 EDT 2012


The following issue has been SUBMITTED. 
====================================================================== 
http://public.kitware.com/Bug/view.php?id=13397 
====================================================================== 
Reported By:                carsten schiemann
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   13397
Category:                   CMake
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2012-07-12 22:05 WAT
Last Modified:              2012-07-12 22:05 WAT
====================================================================== 
Summary:                    frameworks are not transitive like libraries in the
project dependency graph
Description: 
while normal target_link_libraries setups with static libraries forward the
dependency to targets adding the static library, this is broken for frameworks.
the library dependency is kept but the related Framework Search Path is
forgotten. 

there was no problem as long as the static library was the only one adding a
framework. adding a framework in "/System/Library/Frameworks" to the the final
application seems ok too (i did add cocoa). adding a framework in a custom
location (like /Library/Frameworks) breaks the forwarding.  

Steps to Reproduce: 
a rough description of my setup:
static library A 
find_library(LIBONE libOne /some)
target_link_libraries(A ${LIBONE}) #/some/libOne.framework

application B
target_link_libraries(B A)
find_library(LIBTWO libTwo /somemore)
target_link_libraries(B LIBTWO) #/somemore/libTwo.framework 

generating the Xcode project file shows the Framework Search Path to "/somemore"
but it forgot "/some"

Additional Information: 
i added a patch which seems to fix the issue. but as my understanding of this
code is slim at best i might have missed something.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2012-07-12 22:05 carsten schiemannNew Issue                                    
2012-07-12 22:05 carsten schiemannFile Added:
AnalyseLibDependencies-Framework-forward.patch                    
======================================================================




More information about the cmake-developers mailing list