MantisBT - CMake
View Issue Details
0009117CMakeCMakepublic2009-06-08 01:462016-06-10 14:30
David Rogers 
Bill Hoffman 
normalmajoralways
closedmoved 
CMake-2-6 
 
0009117: Xcode Generator: Platform name is not included in linker paths
When building for iPhone there are multiple platforms, simulator and device. This isn't an issue with OS X. The iPhone SDK defines EFFECTIVE_PLATFORM_NAME to either -iphonesimulator or -iphoneos depending upon the platform being built for.

The problem is that if you have set some targets as dependencies that are static or dynamic libraries, the OTHER_LDFLAGS that are generated are incorrect and errors will be generated because the dependent libraries cannot be found.
No tags attached.
txt patch.txt (336) 2009-07-21 20:29
https://public.kitware.com/Bug/file/2374/patch.txt
Issue History
2009-06-08 01:46David RogersNew Issue
2009-07-21 20:29David RogersFile Added: patch.txt
2009-09-14 13:55Bill HoffmanNote Added: 0017452
2009-09-14 13:55Bill HoffmanStatusnew => assigned
2009-09-14 13:55Bill HoffmanAssigned To => Bill Hoffman
2009-09-14 14:12David RogersNote Added: 0017459
2011-08-27 12:31Johan BjörkNote Added: 0027273
2012-12-16 11:07jujjylNote Added: 0031903
2012-12-16 11:07jujjylNote Edited: 0031903bug_revision_view_page.php?bugnote_id=31903#r980
2013-01-23 16:55BabaBooeyNote Added: 0032142
2016-06-10 14:27Kitware RobotNote Added: 0041566
2016-06-10 14:27Kitware RobotStatusassigned => resolved
2016-06-10 14:27Kitware RobotResolutionopen => moved
2016-06-10 14:30Kitware RobotStatusresolved => closed

Notes
(0017452)
Bill Hoffman   
2009-09-14 13:55   
Does this affect regular projects?
(0017459)
David Rogers   
2009-09-14 14:12   
Just iPhone projects. But EFFECTIVE_PLATFORM_NAME is not defined for regular OS X builds so using it to reference the build configuration directory doesn't negatively affect the paths.
(0027273)
Johan Björk   
2011-08-27 12:31   
David Cole has been working on this and has a partial fix for this in 2.8.6
(0031903)
jujjyl   
2012-12-16 11:07   
I am currently being bit by this issue when building a project for iOS. The project has one bundle target, and multiple static libraries that get linked to it.

All the static libraries are looked up from MyLib/Debug/libMyLib.a, whereas in reality they all exist in MyLib/Debug-iphoneos/libMyLib.a.

I am using the newest 2.8.10.2. Also occurred on the old version I had, 2.8.8.

Are there known workarounds for this problem?

(0032142)
BabaBooey   
2013-01-23 16:55   
I'm also being affected by this issue using CMake 2.8.10.2 to build on Xcode 4.5 iOS project.


Compiling FreeRDP source with BUILD_SHARED_LIBS=off results in 30 or so static targets/libraries.

There are 3 main static targets that link to all of the other smaller targets.

The small libraries output properly to 'Per-configuration Build Products Path' CONFIGURATION_BUILD_DIR.
Note: The CONFIGURATION_BUILD_DIR in these cases are hardcoded. (Perhaps the partial fix in 2.8.6?).

Two of the large libraries have $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) as the CONFIGURATION_BUILD_DIR.

These two libraries do not output the static lib .a files.

I've tried manually overriding these paths to something like /Users/Temp but to no avail.

These two large targets do not contain any LLVM compiler 4.1 settings in the targets' Build Settings page.
In fact it looks like these settings have all been moved to the User-Defined build settings section.

I too am searching for a workaround.
(0041566)
Kitware Robot   
2016-06-10 14:27   
Resolving issue as `moved`.

This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page.