iOS CMAKE_INSTALL_COMBINED breaks RPath settings

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

iOS CMAKE_INSTALL_COMBINED breaks RPath settings

Curtis Mahieu
I'm using CMake 3.12.2  and having an issue with cmake messing up the RPaths for the final outputted shard Frameworks after doing a cmake --build . --target install 

The output of my build is three shared Frameworks A, B and C 

A is the common library that B and C link against. 

     A
     /\
   B  C


When ONLY building for iphoneos or iphonesimulator then the RPaths seem to come out correct  
with the following settings : 

set(CMAKE_OSX_SYSROOT "iphoneos") 
set(CMAKE_OSX_ARCHITECTURES "arm64;armv7;i386;x86_64" CACHE STRING "iOS supported archs" FORCE)

set(CMAKE_SKIP_BUILD_RPATH FALSE) 
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) 
set(CMAKE_INSTALL_RPATH "@executable_path/Frameworks;@loader_path/Framework") 
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE) 
set(CMAKE_INSTALL_NAME_DIR "@rpath")
set(CMAKE_IOS_INSTALL_COMBINED FALSE)  

running "otool -L framework/B.framework/B" gives : 
out/framework/B.framework/B (architecture armv7):
@rpath/B.framework/B
@rpath/A.framework/A
out/framework/B.framework/B (architecture arm64):
@rpath/B.framework/B
@rpath/A.framework/A

However when running the same build with: 
set(CMAKE_IOS_INSTALL_COMBINED TRUE)

running "otool -L framework/B.framework/B" gives : 
{FULL_PATH_TO_BUILD_DIR}/Release-iphonesimulator/B.framework/B
{FULL_PATH_TO_BUILD_DIR}/Release-iphonesimulator/A.framework/A

What happened to my RPath settings? 
And why are the links to the simulator versions only?

Thanks,
Curtis Mahieu





--

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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