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

Reply via email to