[cmake-developers] [CMake 0012506]: install( TARGET ) does not work for iOS targets
Mantis Bug Tracker
mantis at public.kitware.com
Sun Oct 9 18:01:36 EDT 2011
The following issue has been SUBMITTED.
======================================================================
http://www.cmake.org/Bug/view.php?id=12506
======================================================================
Reported By: Geoff Beier
Assigned To:
======================================================================
Project: CMake
Issue ID: 12506
Category: CMake
Reproducibility: always
Severity: minor
Priority: normal
Status: new
======================================================================
Date Submitted: 2011-10-09 18:01 EDT
Last Modified: 2011-10-09 18:01 EDT
======================================================================
Summary: install( TARGET ) does not work for iOS targets
Description:
As of CMake 2.8.6, build products are generated into Release-iphoneos,
Debug-iphoneos, etc. When using install(TARGET ...) cmake_install.cmake contains
blocks that test for
"${CMAKE_INSTALL_CONFIG_NAME}" MATCHES "^([Rr][Ee][Ll][Ee][Aa][Ss][Ee])$"
and the like, then attempt to find the files in
cmake-build/Release$(EFFECTIVE_PLATFORM_NAME)...
There is no way (with 2.8.6) to have the test for CMAKE_INSTALL_CONFIG_NAME
match and have the source path be correct. Whether or not
CMAKE_XCODE_EFFECTIVE_PLATFORMS is set, build products land in directories
containing the platform name. If CMAKE_XCODE_EFFECTIVE_PLATFORMS is set, the
CMAKE_INSTALL_CONFIG_NAME test never matches, and the file copy is never
attempted.
This is mostly a problem when building iOS libraries, but can be easily
reproduced using the iOSNavApp from the Tests shipped with cmake 2.8.6.
Steps to Reproduce:
1. Append the line
INSTALL( TARGETS NavApp3 BUNDLE DESTINATION ${CMAKE_INSTALL_PREFIX} COMPONENT
Runtime )
to Tests/iOSNavApp/CMakeLists.txt
2. Generate xcode build files using
cmake -G Xcode -DCMAKE_INSTALL_PREFIX=/Users/Shared/ios-staging ..
3. xcodebuild -target install -configuration Release
Expected Result: NavApp3.app copied to ${CMAKE_INSTALL_PREFIX}
Actual Result: No copy occurs
Additional Information:
The main reason we want to get the install feature working is so that we can
install development libraries. This was working in 2.8.4, but I think that was
just luck because we weren't setting CMAKE_XCODE_EFFECTIVE_PLATFORMS and cmake
wasn't automatically putting the build products into a "-iphoneos" location.
I've attached the modified CMakeLists.txt for iOSNavApp that demonstrates this
issue.
======================================================================
Issue History
Date Modified Username Field Change
======================================================================
2011-10-09 18:01 Geoff Beier New Issue
2011-10-09 18:01 Geoff Beier File Added: CMakeLists.txt
======================================================================
More information about the cmake-developers
mailing list